IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ カラクリ株式会社の特許一覧

特許7486863プログラム、方法、情報処理装置、システム
<>
  • 特許-プログラム、方法、情報処理装置、システム 図1
  • 特許-プログラム、方法、情報処理装置、システム 図2
  • 特許-プログラム、方法、情報処理装置、システム 図3
  • 特許-プログラム、方法、情報処理装置、システム 図4
  • 特許-プログラム、方法、情報処理装置、システム 図5
  • 特許-プログラム、方法、情報処理装置、システム 図6
  • 特許-プログラム、方法、情報処理装置、システム 図7
  • 特許-プログラム、方法、情報処理装置、システム 図8
  • 特許-プログラム、方法、情報処理装置、システム 図9
  • 特許-プログラム、方法、情報処理装置、システム 図10
  • 特許-プログラム、方法、情報処理装置、システム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-05-10
(45)【発行日】2024-05-20
(54)【発明の名称】プログラム、方法、情報処理装置、システム
(51)【国際特許分類】
   G06F 16/90 20190101AFI20240513BHJP
【FI】
G06F16/90 100
【請求項の数】 16
(21)【出願番号】P 2023178447
(22)【出願日】2023-10-16
【審査請求日】2023-10-16
【早期審査対象出願】
(73)【特許権者】
【識別番号】518127510
【氏名又は名称】カラクリ株式会社
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】小田 志門
(72)【発明者】
【氏名】中山 智文
(72)【発明者】
【氏名】佐伯 俊明
(72)【発明者】
【氏名】中嶋 恭久
(72)【発明者】
【氏名】吉田 雄紀
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】特開2006-195756(JP,A)
【文献】中国特許出願公開第116483962(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、
前記プロセッサが、
ユーザ端末から質問文を受け付ける質問受付ステップと、
前記質問受付ステップにおいて受け付けた前記質問文を、質問文の入力に応じて回答文を出力可能な質問回答システムに対して入力する質問入力ステップと、
前記質問入力ステップにおいて入力した前記質問文に応じた1または複数の回答文と、当該1または複数の回答文のそれぞれに関連付けられた関連度と、を取得する回答取得ステップと、
前記回答取得ステップにおいて取得した前記1または複数の回答文に関連付けられた関連度が、所定の条件を満たす場合に前記所定の条件を満たす前記1または複数の回答文を前記ユーザ端末へ送信する回答送信ステップと、
前記回答取得ステップにおいて取得した前記1または複数の回答文に関連付けられた関連度が、所定の条件を満たさない場合に、前記質問受付ステップにおいて受け付けた前記質問文を入力データとして大規模言語モデルへ入力することにより出力される返答文を前記ユーザ端末へ送信する返答送信ステップと、
を実行するプログラム。
【請求項2】
前記質問回答システムは、前記大規模言語モデルとは異なるシステムである、
請求項1記載のプログラム。
【請求項3】
前記返答送信ステップは、前記回答取得ステップにおいて取得した前記1または複数の回答文のうち少なくとも一部を、前記入力データとして前記大規模言語モデルへ入力するステップを含む、
請求項1記載のプログラム。
【請求項4】
前記返答送信ステップは、前記回答取得ステップにおいて取得した前記1または複数の回答文のうち前記関連度が高い順番に所定個数の前記回答文を、前記入力データとして前記大規模言語モデルへ入力するステップを含む、
請求項1記載のプログラム。
【請求項5】
前記プロセッサが、
前記回答取得ステップにおいて取得した前記1または複数の回答文を前記質問文と関連付けて記憶する回答記憶ステップと、
前記回答記憶ステップにおいて記憶した前記1または複数の回答文を、管理者が閲覧可能な前記質問回答システムに記憶されている質問とその回答のペアに関する質問回答情報を編集可能な管理画面に提示する、回答提示ステップと、
を実行し、
前記管理者は、前記質問回答システムを管理する権限を有するユーザである、
請求項1記載のプログラム。
【請求項6】
前記回答提示ステップは、前記回答取得ステップにおいて取得した前記1または複数の回答文のうち、前記関連度が低い順番に所定個数の前記回答文を提示するステップである、
請求項5記載のプログラム。
【請求項7】
前記回答提示ステップは、前記回答取得ステップにおいて取得した前記1または複数の回答文に関連付けられた関連度が、所定の条件を満たさない場合に、前記1または複数の回答文を提示するステップである、
請求項5記載のプログラム。
【請求項8】
前記プロセッサが、
前記回答取得ステップにおいて取得した前記1または複数の回答文に関連付けられた関連度が、所定の条件を満たさない場合に、前記質問受付ステップにおいて受け付けた前記質問文を記憶する質問記憶ステップと、
前記質問記憶ステップにおいて記憶した1または複数の質問文を管理者に提示する質問提示ステップと、
を実行する、
請求項1記載のプログラム。
【請求項9】
前記プロセッサが、
前記管理者から、前記質問提示ステップにおいて提示した前記1または複数の質問文の選択を受け付ける質問選択ステップと、
前記質問選択ステップにおいて受け付けた前記質問文に応じた所定の回答文の入力を受け付ける回答入力ステップと、
前記質問回答システムにおいて、前記質問選択ステップにおいて選択した質問文に対する回答文として、前記回答入力ステップにおいて入力した前記回答文を記憶する関連付けステップと、
を実行する、
請求項8記載のプログラム。
【請求項10】
前記プロセッサが、
前記質問回答システムに記憶した1または複数の回答文を前記管理者に提示する回答一覧ステップと、
を実行し、
前記回答入力ステップは、前記回答一覧ステップにおいて提示した前記1または複数の回答文のうち、前記管理者から選択を受け付けた前記所定の回答文の入力を受け付けるステップである、
請求項9記載のプログラム。
【請求項11】
前記プロセッサが、
前記大規模言語モデル出力した前記返答文を、管理者が閲覧可能な前記質問回答システムに記憶されている質問とその回答のペアに関する質問回答情報を編集可能な管理画面に提示する、返答提示ステップと、
を実行し、
前記管理者は、前記質問回答システムを管理する権限を有するユーザである、
請求項1記載のプログラム。
【請求項12】
前記プロセッサが、
前記管理者から、前記返答提示ステップにおいて提示した前記返答文の選択を受け付ける返答選択ステップと、
前記管理者から、第二質問文の入力を受け付け、当該第二質問文を前記返答選択ステップにおいて選択を受け付けた前記返答文に関連付けて前記質問回答システムに記憶する関連付けステップと、
を実行する、
請求項11記載のプログラム。
【請求項13】
前記プロセッサが、
前記質問受付ステップにおいて受け付けた1または複数の質問文を管理者に提示する質問提示ステップと、
前記管理者から、前記質問提示ステップにおいて提示した前記1または複数の第二質問文の選択を受け付ける質問選択ステップと、
を実行し、
前記関連付けステップは、前記質問選択ステップにおいて選択された前記第二質問文を前記返答選択ステップにおいて選択を受け付けた前記返答文に関連付けて前記質問回答システムに記憶するステップである、
請求項12記載のプログラム。
【請求項14】
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、前記プロセッサが、請求項1から請求項13のいずれかに係る発明において実行される全てのステップを実行する方法。
【請求項15】
プロセッサと、メモリとを備える情報処理装置であって、前記プロセッサが、請求項1から請求項13のいずれかに係る発明において実行される全てのステップを実行する情報処理装置。
【請求項16】
請求項1から請求項13のいずれかに係る発明において実行される全てのステップを実行するプロセッサを含む手段を備える情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、方法、情報処理装置、システムに関する。
【背景技術】
【0002】
ユーザからのオンラインでの質問等の問い合わせに対して、質問に応じた回答内容を出力するシステム(チャットボットシステム)が知られている。
特許文献1には、ユーザからの問合せに対してチャットボットが自動的に対応しつつ、有人対応に引き継ぐ際に、回答者にシームレスに引き継ぐことを可能とする技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2022-189237号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
質問文に対して適した回答を出力できていないという課題がある。
そこで、本開示は、上記課題を解決すべくなされたものであって、その目的は、質問に対して適した回答(返答)を出力する技術を提供することである。
【課題を解決するための手段】
【0005】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プロセッサが、ユーザ端末から質問文を受け付ける質問受付ステップと、質問受付ステップにおいて受け付けた質問文を、質問文の入力に応じて回答文を出力可能な質問回答システムに対して入力する質問入力ステップと、質問入力ステップにおいて入力した質問文に応じた1または複数の回答文と、当該1または複数の回答文のそれぞれに関連付けられた関連度と、を取得する回答取得ステップと、回答取得ステップにおいて取得した1または複数の回答文に関連付けられた関連度が、所定の条件を満たす場合に所定の条件を満たす1または複数の回答文をユーザ端末へ送信する回答送信ステップと、回答取得ステップにおいて取得した1または複数の回答文に関連付けられた関連度が、所定の条件を満たさない場合に、質問受付ステップにおいて受け付けた質問文を入力データとして大規模言語モデルへ入力することにより出力される返答文をユーザ端末へ送信する返答送信ステップと、を実行するプログラム。
【発明の効果】
【0006】
本開示によれば、質問に対して適した回答(返答)を出力できる。
【図面の簡単な説明】
【0007】
図1】システム1の機能構成を示すブロック図である。
図2】サーバ10の機能構成を示すブロック図である。
図3】ユーザ端末20の機能構成を示すブロック図である。
図4】管理者端末30の機能構成を示すブロック図である。
図5】ユーザテーブル1012のデータ構造を示す図である。
図6】質問回答テーブル1013のデータ構造を示す図である。
図7】質問処理の動作を示すフローチャートである。
図8】管理処理の動作を示すフローチャートである。
図9】質問処理の動作を示す画面例である。
図10】管理処理の動作を示す画面例である。
図11】コンピュータ90の基本的なハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0008】
以下、本開示の実施形態について図面を参照して説明する。実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。なお、以下の実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。また、各図は模式図であり、必ずしも厳密に図示されたものではない。
【0009】
<システム1の構成>
本開示におけるシステム1は、ユーザから入力を受け付けた質問文に対して好適な回答文を出力する情報処理サービス(FAQサービス)を提供する情報処理システムである。例えば、銀行等においては口座開設、国内外送金、ローンの申し込み、ATM、キャッシュカードの利用方法、モバイルバンキングの利用方法などに関するユーザからの質問文を受け付け、当該質問文にかかるユーザの疑問や問題を解決するための回答文をユーザに対して提供する情報処理サービスを提供する。
本開示にかかる情報処理サービスの適用は、銀行に限られず、鉄道、航空機、タクシー等の公共交通機関、ホテル、民宿等の宿泊施設、その他、ソフトウェアサービス、病院等、任意の事業体に対して適用することが可能である。
システム1は、ネットワークNを介して接続された、サーバ10、ユーザ端末20、管理者端末30、生成AI50、質問回答システム60の情報処理装置を備える。
図1は、システム1の機能構成を示すブロック図である。
図2は、サーバ10の機能構成を示すブロック図である。
図3は、ユーザ端末20の機能構成を示すブロック図である。
図4は、管理者端末30の機能構成を示すブロック図である。
【0010】
各情報処理装置は演算装置と記憶装置とを備えたコンピュータにより構成されている。コンピュータの基本ハードウェア構成および、当該ハードウェア構成により実現されるコンピュータの基本機能構成は後述する。サーバ10、ユーザ端末20、管理者端末30、生成AI50、質問回答システム60のそれぞれについて、後述するコンピュータの基本ハードウェア構成およびコンピュータの基本機能構成と重複する説明は省略する。
【0011】
<サーバ10の構成>
サーバ10は、後述する生成AI50、質問回答システム60などと通信することにより、ユーザから入力を受け付けた質問文に対して好適な回答文を出力する情報処理サービス(FAQサービス)を提供する情報処理装置である。
サーバ10は、記憶部101、制御部104を備える。
【0012】
<サーバ10の記憶部101の構成>
サーバ10の記憶部101は、アプリケーションプログラム1011、ユーザテーブル1012、質問回答テーブル1013を備える。
【0013】
アプリケーションプログラム1011は、サーバ10の制御部104を各機能ユニットとして機能させるためのプログラムである。
アプリケーションプログラム1011は、ウェブブラウザアプリケーションなどのアプリケーションを含む。
【0014】
ユーザテーブル1012は、サービスを利用する会員ユーザ(以下、ユーザ)の情報を記憶し管理するテーブルである。ユーザは、サービスの利用登録を行うことで、当該ユーザの情報がユーザテーブル1012の新しいレコードに記憶される。これにより、ユーザは本開示にかかるサービスを利用できるようになる。
ユーザテーブル1012は、ユーザIDを主キーとして、ユーザID、ユーザ名のカラムを有するテーブルである。
図5は、ユーザテーブル1012のデータ構造を示す図である。
【0015】
ユーザIDは、ユーザを識別するためのユーザ識別情報を記憶する項目である。ユーザ識別情報は、ユーザごとにユニークな値が設定されている項目である。
ユーザ名は、ユーザの氏名を記憶する項目である。ユーザ名は、氏名ではなく、ニックネームなど任意の文字列を設定しても良い。
【0016】
質問回答テーブル1013は、質問に関する情報(質問情報)を記憶し管理するためのテーブルである。
質問回答テーブル1013は、質問IDを主キーとして、質問ID、親質問ID、ユーザID、質問文、回答データ、返答文、日時のカラムを有するテーブルである。
図6は、質問回答テーブル1013のデータ構造を示す図である。
【0017】
質問IDは、質問を識別するための質問識別情報を記憶する項目である。質問識別情報は、質問情報ごとにユニークな値が設定されている項目である。
親質問IDは、親質問を識別するための親質問識別情報を記憶する項目である。
ユーザIDは、ユーザを識別するためのユーザ識別情報を記憶する項目である。
質問文は、質問文にかかる文字列情報(テキスト情報)を記憶する項目である。
回答データは、質問回答システム60から出力される出力文(回答文)にかかる文字列情報(テキスト情報)を記憶する項目である。回答データは、1または複数の回答文と、当該1または複数の回答文のそれぞれに関連付けられた質問文との関連度を示す指標を関連付けて記憶することができる。
返答文は、生成AI50から出力される出力文(返答文)にかかる文字列情報(テキスト情報)を記憶する項目である。
日時は、質問回答テーブル1013に新たにレコードが記憶されたり更新された際の記憶日時を記憶する項目である。
【0018】
<サーバ10の制御部104の構成>
サーバ10の制御部104は、ユーザ登録制御部1041を備える。制御部104は、記憶部101に記憶されたアプリケーションプログラム1011を実行することにより、各機能ユニットが実現される。
【0019】
ユーザ登録制御部1041は、本開示に係るサービスの利用を希望するユーザの情報をユーザテーブル1012に記憶する処理を行う。
ユーザテーブル1012に記憶される情報は、ユーザが任意の情報処理端末からサービス提供者が運営するウェブページなどを開き、所定の入力フォームに情報を入力しサーバ10へ送信する。ユーザ登録制御部1041は、受信した情報をユーザテーブル1012の新しいレコードに記憶し、ユーザ登録が完了する。これにより、ユーザテーブル1012に記憶されたユーザはサービスを利用することができるようになる。
ユーザ登録制御部1041によるユーザ情報のユーザテーブル1012への登録に先立ち、サービス提供者は所定の審査を行いユーザによるサービス利用可否を制限しても良い。
ユーザIDは、ユーザを識別できる任意の文字列または数字で良く、ユーザが希望する任意の文字列または数字、もしくはユーザ登録制御部1041が自動的に任意の文字列または数字を設定しても良い。
【0020】
<ユーザ端末20の構成>
ユーザ端末20は、サービスを利用するユーザが操作する情報処理装置である。ユーザ端末20は、例えば、スマートフォン、タブレット等の携帯端末でもよいし、据え置き型のPC(Personal Computer)、ラップトップPCであってもよい。また、HMD(Head Mount Display)、腕時計型端末等のウェアラブル端末であってもよい。
ユーザ端末20は、記憶部201、制御部204、入力装置206、出力装置208を備える。
【0021】
<ユーザ端末20の記憶部201の構成>
ユーザ端末20の記憶部201は、ユーザID2011、アプリケーションプログラム2012を備える。
【0022】
ユーザID2011はユーザのアカウントIDである。ユーザは、ユーザ端末20からユーザID2011を、サーバ10へ送信する。サーバ10は、ユーザID2011に基づきユーザを識別し、本開示にかかるサービスをユーザに対して提供する。なお、ユーザID2011には、ユーザ端末20を利用しているユーザを識別するにあたりサーバ10から一時的に付与されるセッションIDなどの情報を含む。
【0023】
アプリケーションプログラム2012は、記憶部201に予め記憶されていても良いし、通信IFを介してサービス提供者が運営するウェブサーバ等からダウンロードする構成としても良い。
アプリケーションプログラム2012は、ウェブブラウザアプリケーションなどのアプリケーションを含む。
アプリケーションプログラム2012は、ユーザ端末20に記憶されているウェブブラウザアプリケーション上で実行されるJavaScript(登録商標)などのインタープリター型プログラミング言語を含む。
【0024】
<ユーザ端末20の制御部204の構成>
ユーザ端末20の制御部204は、入力制御部2041、出力制御部2042を備える。制御部204は、記憶部201に記憶されたアプリケーションプログラム2012を実行することにより、各機能ユニットが実現される。
【0025】
<ユーザ端末20の入力装置206の構成>
ユーザ端末20の入力装置206は、カメラ2061、マイク2062、位置情報センサ2063、モーションセンサ2064、タッチデバイス2065を備える。
【0026】
<ユーザ端末20の出力装置208の構成>
ユーザ端末20の出力装置208は、ディスプレイ2081、スピーカ2082を備える。
【0027】
<管理者端末30の構成>
管理者端末30は、サービスを利用するユーザが操作する情報処理装置である。管理者は、質問回答システム60に記憶されている質問回答情報を編集する権限を有するユーザである。管理者端末30は、例えば、スマートフォン、タブレット等の携帯端末でもよいし、据え置き型のPC(Personal Computer)、ラップトップPCであってもよい。また、HMD(Head Mount Display)、腕時計型端末等のウェアラブル端末であってもよい。
管理者端末30は、記憶部301、制御部304、入力装置306、出力装置308を備える。
【0028】
<管理者端末30の記憶部301の構成>
管理者端末30の記憶部301は、管理者ID3011、アプリケーションプログラム3012を備える。
【0029】
管理者ID3011は管理者のアカウントIDである。管理者は、管理者端末30から管理者ID3011を、サーバ10へ送信する。サーバ10は、管理者ID3011に基づき管理者を識別し、本開示にかかるサービスを管理者に対して提供する。なお、管理者ID3011には、管理者端末30を利用している管理者を識別するにあたりサーバ10から一時的に付与されるセッションIDなどの情報を含む。
【0030】
アプリケーションプログラム3012は、記憶部201に予め記憶されていても良いし、通信IFを介してサービス提供者が運営するウェブサーバ等からダウンロードする構成としても良い。
アプリケーションプログラム3012は、ウェブブラウザアプリケーションなどのアプリケーションを含む。
アプリケーションプログラム3012は、ユーザ端末20に記憶されているウェブブラウザアプリケーション上で実行されるJavaScript(登録商標)などのインタープリター型プログラミング言語を含む。
【0031】
<管理者端末30の制御部304の構成>
管理者端末30の制御部304は、入力制御部3041、出力制御部3042を備える。制御部304は、記憶部301に記憶されたアプリケーションプログラム3012を実行することにより、各機能ユニットが実現される。
【0032】
<管理者端末30の入力装置306の構成>
管理者端末30の入力装置306は、カメラ3061、マイク3062、位置情報センサ3063、モーションセンサ3064、タッチデバイス3065を備える。
【0033】
<管理者端末30の出力装置308の構成>
管理者端末30の出力装置308は、ディスプレイ3081、スピーカ3082を備える。
【0034】
<生成AI50の構成>
生成AI50とは、自然言語処理(NLP)の分野で使用される大規模な人工知能モデルを指す。これらのモデルは、大量のテキストデータ(ウェブページ、書籍、記事等)を学習することで、人間が使用する言語のパターンを理解し、自然言語生成(NLG)タスクを効果的に行うことができる。
生成AI50は、特定の問いへの応答生成、文章の自動生成、テキストの要約、翻訳、感情分析など、多くのNLPタスクで使用される。また、教育、エンターテイメント、カスタマーサービス、製品開発など、様々な用途に活用できる。生成AI50には、以下のようなものが存在する。本開示においては、主に出力情報としてテキスト情報を出力する大規模言語モデルを生成AI50の一種として説明する。
・OpenAI ChatGPT
・Google Bard
・Stable Diffusion
・midjourney
なお、生成AI50は、サーバ10の一部の機能として実現する構成としても構わない。
【0035】
<質問回答システム60の構成>
質問回答システム60は、質問文にかかる文字列の入力に応じて、回答文にかかる文字列を出力する情報処理システムである。例えば、質問回答システム60は、FAQシステムを含む。
具体的に、質問回答システム60は、ユーザからのよくある質問とその回答のペア(質問回答情報)を記憶する情報処理システムである。質問回答システム60は、入力文字列の入力を受け付けると、当該文字列に基づき質問回答情報に含まれる質問または回答の少なくともいずれかを全文検索等により検索し、検索結果にかかる質問回答情報を入力文字列との関連度(スコア)と関連付けて出力することができる。
質問回答システム60へ、検索キーワード、質問文などの文字列を入力することにより、当該文字列と関連する質問回答情報の出力を取得することができる。質問回答システム60は、1つである必要はなく、例えば、銀行Aにおける質問回答情報が記憶された質問回答システムA、銀行B、銀行C、宿泊施設A、宿泊施設B等の質問にかかるサービスを提供する事業者ごとに複数の質問回答システム60を用意する構成としても良い。
質問回答システム60は、全文検索AI、全文検索システム、AIチャットボット(分類モデル)等の情報処理装置を含む。
なお、質問回答システム60は、サーバ10の一部の機能として実現する構成としても構わない。
【0036】
<システム1の動作>
以下、システム1の各処理について説明する。
図7は、質問処理の動作を示すフローチャートである。
図8は、管理処理の動作を示すフローチャートである。
図9は、質問処理の動作を示す画面例である。
図10は、管理処理の動作を示す画面例である。
【0037】
<質問処理>
質問処理は、ユーザから受け付けた質問文に応じた検索キーワードに基づく質問回答システム60からの出力文、または、生成AI50からの出力文をユーザに提示する処理である。
【0038】
<質問処理の概要>
質問処理は、ユーザから質問文の入力を受け付け、入力した質問文を質問回答システム60へ入力し、質問回答システム60から出力された回答文と関連度に応じて、関連度が所定の条件を満たす場合は回答文をユーザへ提示し、関連度が所定の条件を満たさない場合は質問文および回答文を入力データとして生成AIへ入力し、生成AI50から出力された返答文をユーザへ提示する一連の処理である。
【0039】
<質問処理の詳細>
以下に、質問処理の詳細を説明する。
ユーザは、ユーザ端末20の入力装置206を操作し、ブラウザアプリケーション等を実行し、質問処理を実行するためのウェブページ(質問ページ)のURL等を入力することにより質問ページD1を開く。ユーザ端末20の制御部204は、質問ページを開くためのユーザID2011を含むリクエストをサーバ10へ送信する。
【0040】
サーバ10は、リクエストを受信すると質問ページを生成しユーザ端末20へ送信する。ユーザ端末20の制御部204は、質問ページをユーザ端末20のディスプレイ2081に表示し、提示する。
図9は、質問処理における質問画面の画面例である。ユーザ端末20のディスプレイ2081には、質問ページD1が表示される。質問ページD1は、入力欄D11、出力文D12(回答文または返答文)、質問文D13、送信ボタンD14、を含む。
【0041】
ステップS101において、サーバ10の制御部104は、ユーザ端末から質問文を受け付ける質問受付ステップを実行する。
ユーザは、ユーザ端末20の入力装置206を操作することにより、入力欄D11に質問文を入力する。ユーザ端末20の制御部204は、入力欄D11に入力された質問文を、サーバ10へ送信する。例えば、ユーザは、ユーザ端末20の入力装置206を操作することにより、送信ボタンD14を押下することにより入力欄D11に入力された質問文を、サーバ10へ送信することができる。サーバ10へ送信されるリクエストは、ユーザID2011を含む。
サーバ10の制御部104は、質問文、ユーザID2011を受信し、受け付ける。サーバ10の制御部104は、受け付けた質問文、ユーザID2011をそれぞれ、質問回答テーブル1013の新たなレコードの質問文、ユーザIDの項目に記憶する。
ユーザ端末20の制御部204は、入力欄D11に入力された質問文を、質問ページD1の質問文D13に表示し、ユーザに提示する。
【0042】
ステップS102において、サーバ10の制御部104は、質問受付ステップにおいて受け付けた質問文を、質問文の入力に応じて回答文を出力可能な質問回答システムに対して入力する質問入力ステップを実行する。
具体的に、サーバ10の制御部104は、ステップS101において受け付けた質問文を質問回答システム60へ送信する。質問回答システム60は、質問文を受信し、入力を受け付ける。
【0043】
ステップS103において、サーバ10の制御部104は、質問入力ステップにおいて入力した質問文に応じた1または複数の回答文と、1または複数の回答文のそれぞれに関連付けられた関連度と、を取得する回答取得ステップを実行する。
具体的に、サーバ10の制御部104は、ステップS102における質問文の入力に応じて質問回答システム60から出力される1または複数の回答文と、当該1または複数の回答文のそれぞれに関連付けられた関連度を取得する。
なお、関連度は入力された質問文に対する回答文の関連性を示す数値指標である。関連度は、質問文と回答文とに基づき、TF-IDF(Term Frequency-Inverse Document Frequency)スコア、コサイン類似度、ユークリッド距離、Jaccard係数、その他、任意の機械学習モデル、深層学習モデル、人工知能モデル等に基づき、算定することができる。
本開示においては、質問回答システム60は、質問文の入力に応じて、当該質問文に関連する回答文を、当該質問文との関連度とを関連付けた態様で出力可能なシステムである。特に、質問回答システム60は、関連度が高い順番に1または複数の回答文と、当該1または複数の回答文のそれぞれに関連付けられた関連度と、を出力するシステムとする。
【0044】
ステップS103において、サーバ10の制御部104は、回答取得ステップにおいて取得した1または複数の回答文を質問文と関連付けて記憶する回答記憶ステップを実行する。
具体的に、サーバ10の制御部104は、質問回答テーブル1013のステップS101において作成したレコードの回答データの項目に、1または複数の回答文と、当該1または複数の回答データの項目にそれぞれに関連付けられた関連度と、を記憶する。
【0045】
回答記憶ステップは、回答取得ステップにおいて取得した1または複数の回答文のうち、関連度が低い順番に所定個数の回答文を記憶するステップを実行する。
具体的に、サーバ10の制御部104は、質問回答システム60から出力されたすべての1または複数の回答文を記憶する必要はなく、関連度が低いまたは高い順番に所定個数の回答文と、当該回答文に関連付けられた関連度と、を質問回答テーブル1013の回答データの項目に記憶しても良い。また、サーバ10の制御部104は、関連度が所定値以下または所定値以上の回答文と、当該回答文に関連付けられた関連度と、を質問回答テーブル1013の回答データの項目に記憶しても良い。
【0046】
回答記憶ステップは、回答取得ステップにおいて取得した1または複数の回答文に関連付けられた関連度が、所定の条件を満たさない場合に、1または複数の回答文を記憶するステップを実行する。
具体的に、サーバ10の制御部104は、質問回答システム60から出力された1または複数の回答文のうち、少なくとも一部または全部の回答文が所定の条件を満たす場合、または、満たさない場合に、1または複数の回答文と、当該1または複数の回答文のそれぞれに関連付けられた関連度と、を質問回答テーブル1013の回答データの項目に記憶しても良い。
同様に、サーバ10の制御部104は、質問回答システム60から出力された1または複数の回答文のうち、少なくとも一部または全部の回答文が所定の条件を満たさない場合、または、満たす場合に、1または複数の回答文と、当該1または複数の回答文のそれぞれに関連付けられた関連度と、を質問回答テーブル1013の回答データの項目に記憶しない構成としても良い。
【0047】
例えば、サーバ10の制御部104は、質問回答システム60から出力された1または複数の関連度の最大値、最小値、平均(平均値、中央値、最頻値)などの統計値が、所定値以上または所定値以下である場合に、所定の条件を満たすと判定しても良い。
サーバ10の制御部104は、質問回答システム60から出力された1または複数の関連度の最大値、最小値、平均(平均値、中央値、最頻値)などの統計値が、所定値以下または所定値以上である場合に、所定の条件を満たしていないと判定しても良い。
【0048】
また、サーバ10の制御部104は、1または複数の回答文のうち、関連度が所定の条件を満たす一部または全部の回答文を質問回答テーブル1013の回答データの項目に記憶し、関連度が所定の条件を満たさない一部または全部の回答文を質問回答テーブル1013の回答データの項目に記憶しない構成としても良い。
サーバ10の制御部104は、1または複数の回答文のうち、関連度が所定値以上または以下の一部または全部の回答文を質問回答テーブル1013の回答データの項目に記憶し、関連度が所定値以上または以下の一部または全部の回答文を質問回答テーブル1013の回答データの項目に記憶しない構成としても良い。
同様に、サーバ10の制御部104は、1または複数の回答文のうち、関連度が所定の条件を満たさない一部または全部の回答文を質問回答テーブル1013の回答データの項目に記憶し、関連度が所定の条件を満たす一部または全部の回答文を質問回答テーブル1013の回答データの項目に記憶しない構成としても良い。
サーバ10の制御部104は、1または複数の回答文のうち、関連度が所定値以下または以上の一部または全部の回答文を質問回答テーブル1013の回答データの項目に記憶し、関連度が所定値以上または以下の一部または全部の回答文を質問回答テーブル1013の回答データの項目に記憶しない構成としても良い。
【0049】
回答取得ステップにおいて取得した1または複数の回答文に関連付けられた関連度が、所定の条件を満たさない場合に、質問受付ステップにおいて受け付けた質問文を記憶する質問記憶ステップを実行する。
具体的に、サーバ10の制御部104は、質問回答システム60から出力された1または複数の回答文のうち、少なくとも一部または全部の回答文が所定の条件を満たす場合、または、満たさない場合に、ステップS101において受け付けた質問文を、質問回答テーブル1013の質問文の項目に記憶しても良い。
同様に、サーバ10の制御部104は、質問回答システム60から出力された1または複数の回答文のうち、少なくとも一部または全部の回答文が所定の条件を満たさない場合、または、満たす場合に、ステップS101において受け付けた質問文を、質問回答テーブル1013の質問文の項目に記憶しない構成としても良い。
【0050】
ステップS103において、サーバ10の制御部104は、質問回答システム60から出力された1または複数の回答文と、当該回答文に関連付けられた関連度と、に基づき、質問回答システム60からの出力内容が所定の条件を満たしているか否かを判定する。
具体的に、サーバ10の制御部104は、質問回答システム60から出力された1または複数の関連度の最大値、最小値、平均(平均値、中央値、最頻値)などの統計値が、所定値以下または所定値以上である場合に、所定の条件を満たすと判定する。
例えば、サーバ10の制御部104は、質問回答システム60から出力された1または複数の関連度の最大値が所定値以上である場合に、所定の条件を満たすと判定する。また、質問回答システム60から出力された1の回答文の関連度が所定値以上である場合に、所定の条件を満たすと判定しても良い。
同様に、サーバ10の制御部104は、質問回答システム60から出力された1または複数の関連度の最大値が所定値未満である場合に、所定の条件を満たさないと判定する。また、質問回答システム60から出力された1の回答文の関連度が所定値未満である場合に、所定の条件を満たさないと判定しても良い。
サーバ10の制御部104は、所定の条件を満たすと判定した場合は、ステップS104へ進む。一方、サーバ10の制御部104は、所定の条件を満たしていないと判定した場合は、ステップS105へ進む。
【0051】
ステップS104において、サーバ10の制御部104は、回答取得ステップにおいて取得した1または複数の回答文に関連付けられた関連度が、所定の条件を満たす場合に所定の条件を満たす1または複数の回答文をユーザ端末へ送信する回答送信ステップを実行する。
具体的に、サーバ10の制御部104は、質問回答システム60から出力された1または複数の回答文のうち、少なくとも一部または全部の回答文が所定の条件を満たす場合に、1または複数の回答文をユーザ端末20へ送信する。
【0052】
また、サーバ10の制御部104は、1または複数の回答文のうち、関連度が所定の条件を満たす一部または全部の回答文をユーザ端末20へ送信し、関連度が所定の条件を満たさない一部または全部の回答文をユーザ端末20へ送信しない構成としても良い。
サーバ10の制御部104は、1または複数の回答文のうち、関連度が所定値以上または以下の一部または全部の回答文をユーザ端末20へ送信し、関連度が所定値以上または以下の一部または全部の回答文をユーザ端末20へ送信しない構成としても良い。
サーバ10の制御部104は、1または複数の回答文のうち、関連度が最も大きい、または、最も小さい1の回答文をユーザ端末20へ送信し、それ以外の回答文をユーザ端末20へ送信しない構成としても良い。
【0053】
ユーザ端末20の制御部204は、受信した1または複数の回答文をユーザ端末20のディスプレイ2081に出力文D12として提示する。なお、ユーザ端末20の制御部204は、複数の回答文をユーザ端末20のディスプレイ2081に一覧して提示しても良い。また、選択可能な態様で提示しても構わない。
【0054】
ステップS105において、サーバ10の制御部104は、回答取得ステップにおいて取得した1または複数の回答文に関連付けられた関連度が、所定の条件を満たさない場合に、質問受付ステップにおいて受け付けた質問文を入力データとして大規模言語モデルへ入力する。
具体的に、サーバ10の制御部104は、質問回答システム60から出力された1または複数の回答文のうち、少なくとも一部または全部の回答文が所定の条件を満たさない場合に、ステップS101において受け付けた質問文を生成AI50へ送信する。生成AI50は、質問文を受信し、入力を受け付ける。
サーバ10の制御部104は、大規模言語モデルである生成AI50に対する入力文(プロンプト)として、以下のプロンプトテンプレートの〔質問文〕の箇所を、ステップS101において受け付けた質問文を挿入したプロンプトを生成し、生成AI50へ送信する。
〔プロンプトテンプレート〕
あなたはとても親切で有能なAIアシスタントです。
FAQサイトに常駐し、ユーザのFAQ検索に対する回答を行います。
回答する際には、以下の参照回答文を参考に回答を行います。
#ユーザの質問
〔質問文〕
#参照回答文
〔回答文1〕〔関連度1〕
〔回答文2〕〔関連度2〕
〔回答文3〕〔関連度3〕
【0055】
返答送信ステップは、回答取得ステップにおいて取得した1または複数の回答文のうち少なくとも一部を、入力データとして大規模言語モデルへ入力するステップを含む。
具体的に、サーバ10の制御部104は、ステップS103において質問回答システム60から取得した回答文、関連度を生成AI50に対する入力データに含めても良い。
例えば、サーバ10の制御部104は、大規模言語モデルである生成AI50に対する入力文(プロンプト)として、プロンプトテンプレートの〔回答文1〕〔回答文2〕〔回答文3〕・・・、〔関連度1〕〔関連度2〕〔関連度3〕・・・の箇所に、1または複数の回答文、関連度を挿入したプロンプトを生成し、生成AI50へ送信する。なお、生成AI50に対する入力データには、関連度を含めなくても良い。
【0056】
返答送信ステップは、回答取得ステップにおいて取得した1または複数の回答文のうち関連度が高い順番に所定個数の回答文を、入力データとして大規模言語モデルへ入力するステップを含む。
具体的に、サーバ10の制御部104は、質問回答システム60から出力されたすべての1または複数の回答文をプロンプトに含める必要はなく、関連度が低いまたは高い順番に所定個数の回答文と、当該回答文に関連付けられた関連度と、をプロンプトに含めても良い。また、サーバ10の制御部104は、関連度が所定値以下または所定値以上の回答文と、当該回答文に関連付けられた関連度と、をプロンプトに含めても良い。
【0057】
ステップS106において、サーバ10の制御部104は、回答取得ステップにおいて取得した1または複数の回答文に関連付けられた関連度が、所定の条件を満たさない場合に、質問受付ステップにおいて受け付けた質問文を入力データとして大規模言語モデルへ入力することにより出力される返答文をユーザ端末へ送信する返答送信ステップを実行する。
具体的に、サーバ10の制御部104は、ステップS105における質問文の入力に応じて生成AI50から出力される返答文を取得する。
なお、生成AI50は、1または複数の返答文と、1または複数の返答文のそれぞれに関連付けられた関連度と、を取得しても構わない。
サーバ10の制御部104は、取得した返答文をユーザ端末20へ送信する。
【0058】
ユーザ端末20の制御部204は、受信した1または複数の返答文をユーザ端末20のディスプレイ2081に出力文D12として提示する。
【0059】
ユーザは、ユーザ端末20のディスプレイ2081を確認することにより、ステップS101において入力した質問文に対する、質問回答システム60からの回答文または生成AI50からの返答文を、出力文D12として確認することができる。
【0060】
本開示においては入力された一つの質問文に対して、一つの回答文または返答文を出力する構成としてが、一つの質問文に対して、複数の回答文または返答文を出力する構成としても良い。
【0061】
ユーザは、情報処理システムから出力された回答文または返答文に対して、さらに追加で質問文を入力可能とするチャットボットシステムとして構成しても良い。この場合、情報処理システムに入力される質問文は、追加で質問文(追加質問文)を入力した際に、既に質問回答テーブル1013に記憶された質問文、回答文、返答文の少なくともいずれか1つを追加質問文に組み合わせて(結合して)質問処理を実行しても良い。
この場合、ユーザは、回答文、返答文の確認と、追加質問とを繰り返すことにより、より正確な回答文または返答文を得ることができる。また、この場合、ステップS104にかかる回答文提示が行われたタイミングで質問処理を終了するものとしても良い。
質問回答システム60から適切な関連度が高い回答文が得られたことを判定して、質問処理を終了する構成としても良い。
【0062】
<管理処理>
管理処理は、質問処理においてユーザから受け付けた質問文、質問回答システム60からの回答文に基づき、質問回答システム60に記憶されている質問回答情報(データ)を改良する処理である。
【0063】
<管理処理の概要>
管理処理は、質問処理においてユーザから受け付けた質問文、質問回答システム60から出力された回答文を一覧提示し、ユーザから質問文の選択を受け付け、選択された当該質問文に関連付ける回答文の選択を受け付け、質問文と回答文とを関連付けて記憶する一連の処理である。
【0064】
<管理処理の詳細>
以下に、管理処理の詳細を説明する。
【0065】
ステップS301において、管理者にかかるユーザは、管理者端末30の入力装置306を操作し、ブラウザアプリケーション等を実行し、管理処理を実行するためのウェブページ(管理ページ)のURL等を入力することにより管理ページD3を開く。管理者端末30の制御部304は、管理ページを開くための管理者ID3011を含むリクエストをサーバ10へ送信する。なお、管理者は、質問回答システムを管理する権限を有するユーザである。具体的に、管理者は、質問回答システム60に記憶されている質問回答情報の内容を編集、削除等の処理を実行することができる。
【0066】
サーバ10は、リクエストを受信すると管理ページを生成し管理者端末30へ送信する。管理者端末30の制御部304は、管理ページを管理者端末30のディスプレイ3081に表示し、提示する。
【0067】
具体的に、サーバ10の制御部104は、回答記憶ステップにおいて記憶した1または複数の回答データ(回答文を含む)と、1または複数の質問文とを関連付けて管理者が閲覧可能な前記質問回答システムに記憶されている質問とその回答のペアに関する質問回答情報を編集可能な管理画面に提示する回答提示ステップを実行する。
具体的に、サーバ10の制御部104は、質問回答テーブル1013を参照して、1または複数の質問文、1または複数の回答データを取得する。
サーバ10の制御部104は、回答データに含まれる1または複数の回答文に関連付けられた関連度を参照して、関連度が低い順番に所定個数の回答文、または、関連度が高い順番に所定個数の回答文を取得または提示し、それ以外の回答文を取得または提示しない構成としても良い。
サーバ10の制御部104は、回答データに含まれる1または複数の回答文に関連付けられた関連度を参照して、関連度が所定値以下の回答文、または、関連度が所定値以上の回答文を取得または提示し、それ以外の回答文を取得または提示しない構成としても良い。
サーバ10の制御部104は、回答データに含まれる1または複数の回答文に関連付けられた関連度を参照して、関連度が所定値以下の回答文に対応する質問文、または、関連度が所定値以上の回答文に対応する質問を取得または提示し、それ以外の質問文を取得または提示しない構成としても良い。
本開示における、管理処理においては質問回答システム60の回答内容を改良するためのものであるから、関連度が所定値以下の回答文、関連度が所定値以下の回答文に対応する質問文を取得または提示する構成とすることが好適である。
サーバ10の制御部104は、質問回答テーブル1013から取得した質問文、回答文を管理者端末30へ送信する。
【0068】
図10は、管理処理における管理画面の画面例である。管理者端末30のディスプレイ3081には、管理ページD3が表示される。管理ページD3は、質問文D311、D312、D313・・・、回答文D321、D322、D323・・・、質問回答システム60に記憶されている回答文D331、D332、D333・・・の一覧、を含む。
管理者端末30の制御部304は、質問回答テーブル1013から取得した質問文、回答文に基づき、質問文D311、D311、D312・・・、回答文D321、D322、D323・・・、複数の回答文のそれぞれの関連度を示すチェックボックスD3311、D3321、D3331・・・、を生成し、描画する。
これにより、管理者は、ユーザから受け付けた質問文に基づき質問回答システムから関連度が十分に高い回答文が得られなかった場合の、質問回答システムから出力された回答文を関連度とともに確認することができる。管理者は、ユーザから受け付けた質問文に基づき質問回答システムから関連度が十分に高い回答文が得られなかった場合の、質問文を確認することができる。
【0069】
なお、管理ページD3において、質問文D311、D312、D313・・・、回答文D321、D322、D323・・・、はそれぞれ、質問処理においてユーザにより入力された所定の質問文と、当該質問文に対して質問回答システム60から出力された回答文とを、関連付けて提示しても良い。
具体的に、質問文D311、D312、D313・・・に対して、質問回答システム60から出力された回答文を回答文D321、D322、D323・・・としても良い。
【0070】
ステップS302において、管理者端末30の制御部304は、管理者から、質問提示ステップにおいて提示した1または複数の質問文の選択を受け付ける質問選択ステップを実行する。
具体的に、管理者は、管理者端末30の入力装置306を操作することにより、管理ページD3に含まれる質問文D311、D312、D313・・・のうち、所定の1または複数の質問文D311、D312、D313を選択する。管理者端末30の制御部304は、選択した1または複数の質問文の選択を受け付ける。
管理者端末30の制御部304は、選択した質問文の質問IDをサーバ10へ送信する。
【0071】
ステップS303において、サーバ10の制御部104は、質問回答システム60から質問回答システム60に予め記憶されている質問文、回答文に関する質問回答情報を取得する。
サーバ10の制御部104は、質問回答システム60に記憶されている質問回答情報のうち、ステップS302において選択された質問文に関連する質問回答情報のみを管理者端末30へ送信しても良い。
具体的に、サーバ10の制御部104は、ステップS302において受信した質問IDに基づき、質問回答テーブル1013の質問IDの項目を検索し、質問文を取得する。サーバ10の制御部104は、取得した質問文に基づき、質問文に関連する質問回答情報を取得するためのリクエストを質問回答システム60へ送信する。サーバ10の制御部104は、質問回答システム60から出力された質問文に関連する質問回答情報を取得する。
サーバ10の制御部104は、質問回答システム60から取得した質問回答情報を管理者端末30へ送信する。
【0072】
ステップS304において、サーバ10の制御部104は、質問選択ステップにおいて受け付けた質問文に応じた所定の回答文の入力を受け付ける回答入力ステップを実行する。
サーバ10の制御部104は、質問回答システムに記憶した1または複数の回答文を管理者に提示する回答一覧ステップを実行する。
管理者端末30の制御部304は、質問回答システム60から取得した質問回答情報に基づき、回答文D331、D332、D333・・・を生成し、管理者端末30のディスプレイ3081に一覧して提示する。
【0073】
回答入力ステップは、回答一覧ステップにおいて提示した1または複数の回答文のうち、管理者から選択を受け付けた所定の回答文の入力を受け付けるステップを実行する。
具体的に、管理者は、管理者端末30の入力装置306を操作することにより、回答文D331、D332、D333・・・のうち、所定の1または複数の回答文D331、D332、D333・・・を選択する。例えば、チェックボックスD3311、D3321、D3331を選択する。管理者端末30の制御部304は、選択された1または複数の回答文の選択を受け付ける。なお、管理者は、管理者端末30の入力装置306を操作することにより、回答文D321、D322、D323・・・を選択できる構成としても構わない。
管理者端末30の制御部304は、選択された回答文D331、D332、D333・・・の質問回答情報を特定するための質問回答識別情報をサーバ10へ送信する。
【0074】
ステップS305において、サーバ10の制御部104は、質問回答システムにおいて、質問選択ステップにおいて選択した質問文に対する回答文として、回答入力ステップにおいて入力した回答文を記憶する関連付けステップを実行する。
具体的に、サーバ10の制御部104は、ステップS302において選択された質問文の質問IDに基づき、質問回答テーブル1013の質問IDの項目を検索し、質問文を取得する。サーバ10の制御部104は、取得した質問文と、ステップS304において選択された質問回答識別情報と、を関連付けるためのリクエストを質問回答システム60へ送信する。
質問回答システム60は、新たな質問回答のペアである質問回答情報として、ステップS302おいて選択された質問文と、ステップS304において選択された質問回答情報とを関連付けて記憶する。
これにより、質問回答システムから関連度が十分に高い回答文が得られなかった場合の質問文に、質問回答システムに記憶された回答文を関連付けて記憶することができる。ユーザが、同様の質問を新たに行った場合には、質問回答システムから適切な回答を行わせることができる。
【0075】
また、サーバ10の制御部104は、管理者からの選択に応じて質問文D311、D312、D313・・・と、回答文D321、D322、D323とを関連付けて質問回答システム60に質問回答情報として記憶しても良い。これにより、質問処理において関連度が低いと判断された回答文に対して、同様の質問を新たに行った場合には、関連度が高い回答文として回答を行わせることができる。
【0076】
<管理処理(変形例)>
管理処理において、質問文と回答文とを管理者に対して提示し、当該質問文および回答文に基づき、質問回答システム60に記憶されている質問回答情報の追加、修正、編集等が実行される例を一例として開示したがこれに限られない。
例えば、質問文と返答文とを管理者に対して提示し、当該質問文および返答文に基づき、質問回答システム60に記憶されている質問回答情報の追加、修正、編集等が実行される構成としても良い。
【0077】
サーバ10の制御部104は、管理者から、大規模言語モデルへ入力することにより出力される返答文を、管理者が閲覧可能な質問回答システムに記憶されている質問とその回答のペアに関する質問回答情報を編集可能な管理画面に提示する、返答提示ステップを実行する。
具体的に、管理ページD3において、回答文D321、D322、D323・・・の替わりに質問回答テーブル1013に記憶されている1または複数の返答文を管理者に対して提示する構成としても良い。管理ページD3において、質問文D311、D312、D313・・・、1または複数の返答文、はそれぞれ、質問処理においてユーザにより入力された所定の質問文と、当該質問文に対して質問回答システム60から出力された1または複数の返答文とを、関連付けて提示しても良い。
【0078】
サーバ10の制御部104は、管理者から、大規模言語モデルへ入力することにより出力される返答文の選択を受け付ける返答選択ステップを実行する。サーバ10の制御部104は、管理者から、返答提示ステップにおいて提示した返答文の選択を受け付ける返答選択ステップを実行する。
具体的に、管理者は、管理者端末30の入力装置306を操作することにより、管理ページD3に含まれる1または複数の返答文を選択する。管理者端末30の制御部304は、選択された返答文をサーバ10へ送信する。
なお、管理者は、管理者端末30の入力装置306を操作することにより、管理ページD3に表示されている返答文を加筆、修正できる構成としても良い。これにより、生成AI50により出力された返答文の内容に誤りが含まれていたり、不十分な点が含まれている場合にも、管理者は適切な内容に修正することができる。また、この場合に、加筆、修正された返答文も、管理者により選択された返答文に含まれる。
【0079】
サーバ10の制御部104は、管理者から、第二質問文の入力を受け付け、当該第二質問文を返答選択ステップにおいて選択を受け付けた返答文に関連付けて質問回答システムに記憶する関連付けステップを実行する。関連付けステップは、質問選択ステップにおいて選択された第二質問文を返答選択ステップにおいて選択を受け付けた返答文に関連付けて質問回答システムに記憶するステップである。
具体的に、管理者は、管理者端末30の入力装置306を操作することにより、管理ページD3に含まれる質問文D311、D312、D313・・・のうち、所定の1または複数の質問文D311、D312、D313を選択する。管理者端末30の制御部304は、選択した1または複数の質問文の選択を受け付ける。
管理者端末30の制御部304は、選択した質問文の質問IDをサーバ10へ送信する。
なお、管理者は、管理者端末30の入力装置306を操作することにより、不図示の入力欄等に文字列等を入力することにより、新たな質問文を入力する構成としても構わない。この場合、管理者端末30の制御部304は、入力された新たな質問文をサーバ10へ送信する。
サーバ10の制御部104は、受信した質問文の質問IDに基づき、質問回答テーブル1013の質問IDの項目を検索し、質問文を取得する。また、受信した新たな質問文を管理者端末30から取得する。
【0080】
サーバ10の制御部104は、取得した質問文と、返答選択ステップにおいて選択された返答文と、を関連付けるためのリクエストを質問回答システム60へ送信する。
質問回答システム60は、新たな質問回答のペアである質問回答情報として、取得した質問文と、返答文とを関連付けて記憶する。これにより、生成AI50により出力された返答文を、質問回答システムにおける新たな回答文として記憶することができる。ユーザが、同様の質問を新たに行った場合には、質問回答システムから適切な回答を行わせることができる。これにより、生成AI50に対するリクエストの送信回数を節約することができる。
【0081】
<コンピュータの基本ハードウェア構成>
図11は、コンピュータ90の基本的なハードウェア構成を示すブロック図である。コンピュータ90は、プロセッサ901、主記憶装置902、補助記憶装置903、通信IF991(インタフェース、Interface)を少なくとも備える。これらは通信バス921により相互に電気的に接続される。
【0082】
プロセッサ901とは、プログラムに記述された命令セットを実行するためのハードウェアである。プロセッサ901は、演算装置、レジスタ、周辺回路等から構成される。
【0083】
主記憶装置902とは、プログラム、及びプログラム等で処理されるデータ等を一時的に記憶するためのものである。例えば、DRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0084】
補助記憶装置903とは、データ及びプログラムを保存するための記憶装置である。例えば、フラッシュメモリ、HDD(Hard Disc Drive)、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等である。
【0085】
通信IF991とは、有線又は無線の通信規格を用いて、他のコンピュータとネットワークを介して通信するための信号を入出力するためのインタフェースである。
ネットワークは、インターネット、LAN、無線基地局等によって構築される各種移動通信システム等で構成される。例えば、ネットワークには、3G、4G、5G移動通信システム、LTE(Long Term Evolution)、所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が含まれる。無線で接続する場合、通信プロトコルとして例えば、Z-Wave(登録商標)、ZigBee(登録商標)、Bluetooth(登録商標)等が含まれる。有線で接続する場合は、ネットワークには、USB(Universal Serial Bus)ケーブル等により直接接続するものも含む。
【0086】
なお、各ハードウェア構成の全部または一部を複数のコンピュータ90に分散して設け、ネットワークを介して相互に接続することによりコンピュータ90を仮想的に実現することができる。このように、コンピュータ90は、単一の筐体、ケースに収納されたコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0087】
<コンピュータ90の基本機能構成>
コンピュータ90の基本ハードウェア構成(図11)により実現されるコンピュータの機能構成を説明する。コンピュータは、制御部、記憶部、通信部の機能ユニットを少なくとも備える。
【0088】
なお、コンピュータ90が備える機能ユニットは、それぞれの機能ユニットの全部または一部を、ネットワークで相互に接続された複数のコンピュータ90に分散して設けても実現することができる。コンピュータ90は、単一のコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0089】
制御部は、プロセッサ901が補助記憶装置903に記憶された各種プログラムを読み出して主記憶装置902に展開し、当該プログラムに従って処理を実行することにより実現される。制御部は、プログラムの種類に応じて様々な情報処理を行う機能ユニットを実現することができる。これにより、コンピュータは情報処理を行う情報処理装置として実現される。
【0090】
記憶部は、主記憶装置902、補助記憶装置903により実現される。記憶部は、データ、各種プログラム、各種データベースを記憶する。また、プロセッサ901は、プログラムに従って記憶部に対応する記憶領域を主記憶装置902または補助記憶装置903に確保することができる。また、制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶されたデータの追加、更新、削除処理を実行させることができる。
【0091】
データベースは、リレーショナルデータベースを指し、行と列によって構造的に規定された表形式のテーブル、マスタと呼ばれるデータ集合を、互いに関連づけて管理するためのものである。データベースでは、表をテーブル、マスタ、表の列をカラム、表の行をレコードと呼ぶ。リレーショナルデータベースでは、テーブル、マスタ同士の関係を設定し、関連づけることができる。
通常、各テーブル、各マスタにはレコードを一意に特定するための主キーとなるカラムが設定されるが、カラムへの主キーの設定は必須ではない。制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶された特定のテーブル、マスタにレコードを追加、削除、更新を実行させることができる。
また、記憶部に、データ、各種プログラム、各種データベースを記憶させることにより、本開示にかかる情報処理装置、情報処理システムが製造されたものとして捉えることができる。
【0092】
なお、本開示におけるデータベース、マスタは、情報が構造的に規定された任意のデータ構造体(リスト、辞書、連想配列、オブジェクトなど)を含み得る。データ構造体には、データと、任意のプログラミング言語により記述された関数、クラス、メソッドなどを組み合わせることにより、データ構造体と見なし得るデータも含むものとする。
【0093】
通信部は、通信IF991により実現される。通信部は、ネットワークを介して他のコンピュータ90と通信を行う機能を実現する。通信部は、他のコンピュータ90から送信された情報を受信し、制御部へ入力することができる。制御部は、各種プログラムに従ってプロセッサ901に、受信した情報に対する情報処理を実行させることができる。また、通信部は、制御部から出力された情報を他のコンピュータ90へ送信することができる。
【0094】
<付記>
以上の各実施形態で説明した事項を以下に付記する。
【0095】
(付記1)
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プロセッサが、ユーザ端末から質問文を受け付ける質問受付ステップ(S101)と、質問受付ステップにおいて受け付けた質問文を、質問文の入力に応じて回答文を出力可能な質問回答システムに対して入力する質問入力ステップ(S102)と、質問入力ステップにおいて入力した質問文に応じた1または複数の回答文と、当該1または複数の回答文のそれぞれに関連付けられた関連度と、を取得する回答取得ステップ(S103)と、回答取得ステップにおいて取得した1または複数の回答文に関連付けられた関連度が、所定の条件を満たす場合に所定の条件を満たす1または複数の回答文をユーザ端末へ送信する回答送信ステップ(S104)と、回答取得ステップにおいて取得した1または複数の回答文に関連付けられた関連度が、所定の条件を満たさない場合に、質問受付ステップにおいて受け付けた質問文を入力データとして大規模言語モデルへ入力することにより出力される返答文をユーザ端末へ送信する返答送信ステップ(S106)と、を実行するプログラム。
これにより、ユーザから受け付けた質問文に基づき質問回答システムから関連度が十分に高い回答文が得られた場合には当該回答文をユーザに対して出力し、質問回答システムから関連度が十分に高い回答文が得られなかった場合には大規模言語モデルからの返答文をユーザに対して出力できる。質問に対してより適した回答(返答)を出力できる。
【0096】
(付記2)
質問回答システムは、大規模言語モデルとは異なるシステムである、付記1記載のプログラム。
これにより、ユーザから受け付けた質問文に基づき質問回答システムから関連度が十分に高い回答文が得られた場合には当該回答文をユーザに対して出力し、質問回答システムから関連度が十分に高い回答文が得られなかった場合には大規模言語モデルからの返答文をユーザに対して出力できる。
【0097】
(付記3)
返答送信ステップ(S106)は、回答取得ステップにおいて取得した1または複数の回答文のうち少なくとも一部を、入力データとして大規模言語モデルへ入力するステップを含む、付記1記載のプログラム。
これにより、ユーザから受け付けた質問文に基づき質問回答システムから関連度が十分に高い回答文が得られなかった場合においても、得られた回答文を参照情報として含めて大規模言語モデルへ質問することにより、大規模言語モデルから得られたより適切な返答文をユーザに対して出力できる。
【0098】
(付記4)
返答送信ステップ(S106)は、回答取得ステップにおいて取得した1または複数の回答文のうち関連度が高い順番に所定個数の回答文を、入力データとして大規模言語モデルへ入力するステップを含む、付記1記載のプログラム。
これにより、ユーザから受け付けた質問文に基づき質問回答システムから関連度が十分に高い回答文が得られなかった場合においても、得られた回答文をのうちより関連度が高い回答文を参照情報として含めて大規模言語モデルへ質問することにより、大規模言語モデルから得られたより適切な返答文をユーザに対して出力できる。
【0099】
(付記5)
プロセッサが、回答取得ステップにおいて取得した1または複数の回答文を質問文と関連付けて記憶する回答記憶ステップ(S103)と、回答記憶ステップにおいて記憶した1または複数の回答文を、管理者が閲覧可能な質問回答システムに記憶されている質問とその回答のペアに関する質問回答情報を編集可能な管理画面に提示する、回答提示ステップ(S301)と、を実行し、管理者は、質問回答システムを管理する権限を有するユーザである、付記1から4のいずれか記載のプログラム。
これにより、管理者は、ユーザから受け付けた質問文に応じて質問回答システムから出力された回答文を確認することができる。管理者は、回答文の内容を参考に、質問回答システムを改良することができる。
【0100】
(付記6)
回答提示ステップ(S301)は、回答取得ステップにおいて取得した1または複数の回答文のうち、関連度が低い順番に所定個数の回答文を提示するステップである、付記5記載のプログラム。
これにより、管理者は、ユーザから受け付けた質問文に応じて質問回答システムから出力された関連度が低い回答文を確認することができる。
【0101】
(付記7)
回答提示ステップ(S301)は、回答取得ステップにおいて取得した1または複数の回答文に関連付けられた関連度が、所定の条件を満たさない場合に、1または複数の回答文を提示するステップである、付記5記載のプログラム。
これにより、管理者は、ユーザから受け付けた質問文に基づき質問回答システムから関連度が十分に高い回答文が得られなかった場合の、質問回答システムから出力された回答文を確認することができる。
【0102】
(付記8)
プロセッサが、回答取得ステップにおいて取得した1または複数の回答文に関連付けられた関連度が、所定の条件を満たさない場合に、質問受付ステップにおいて受け付けた質問文を記憶する質問記憶ステップ(S103)と、質問記憶ステップにおいて記憶した1または複数の質問文を管理者に提示する質問提示ステップ(S301)と、を実行する、付記1から4のいずれか記載のプログラム。
これにより、管理者は、ユーザから受け付けた質問文に基づき質問回答システムから関連度が十分に高い回答文が得られなかった場合の、質問文を確認することができる。
【0103】
(付記9)
プロセッサが、管理者から、質問提示ステップにおいて提示した1または複数の質問文の選択を受け付ける質問選択ステップ(S302)と、質問選択ステップにおいて受け付けた質問文に応じた所定の回答文の入力を受け付ける回答入力ステップと(S304)、質問回答システムにおいて、質問選択ステップにおいて選択した質問文に対する回答文として、回答入力ステップにおいて入力した回答文を記憶する関連付けステップ(S305)と、を実行する、付記8記載のプログラム。
質問回答システムから関連度が十分に高い回答文が得られなかった場合の質問文に回答文を関連付けて記憶することができる。ユーザが、同様の質問を新たに行った場合には、質問回答システムから適切な回答を行わせることができる。
【0104】
(付記10)
プロセッサが、質問回答システムに記憶した1または複数の回答文を管理者に提示する回答一覧ステップ(S301)と、を実行し、回答入力ステップ(S304)は、回答一覧ステップにおいて提示した1または複数の回答文のうち、管理者から選択を受け付けた所定の回答文の入力を受け付けるステップである、付記9記載のプログラム。
質問回答システムから関連度が十分に高い回答文が得られなかった場合の質問文に、質問回答システムに記憶された回答文を関連付けて記憶することができる。ユーザが、同様の質問を新たに行った場合には、質問回答システムから適切な回答を行わせることができる。
【0105】
(付記11)
プロセッサが、管理者から、大規模言語モデルへ入力することにより出力される返答文を、管理者が閲覧可能な質問回答システムに記憶されている質問とその回答のペアに関する質問回答情報を編集可能な管理画面に提示する、返答提示ステップと、を実行し、管理者は、質問回答システムを管理する権限を有するユーザである、付記1から4のいずれか記載のプログラム。
これにより、ユーザから受け付けた質問文に基づき質問回答システムから関連度が十分に高い回答文が得られた場合には当該回答文をユーザに対して出力し、質問回答システムから関連度が十分に高い回答文が得られなかった場合には大規模言語モデルからの返答文をユーザに対して出力できる。
【0106】
(付記12)
プロセッサが、管理者から、返答提示ステップにおいて提示した返答文の選択を受け付ける返答選択ステップと、管理者から、第二質問文の入力を受け付け、当該第二質問文を返答選択ステップにおいて選択を受け付けた返答文に関連付けて質問回答システムに記憶する関連付けステップと、を実行する、付記11記載のプログラム。
これにより、ユーザから受け付けた質問文に基づき質問回答システムから関連度が十分に高い回答文が得られた場合には当該回答文をユーザに対して出力し、質問回答システムから関連度が十分に高い回答文が得られなかった場合には大規模言語モデルからの返答文をユーザに対して出力できる。
【0107】
(付記13)
プロセッサが、質問受付ステップにおいて受け付けた1または複数の質問文を管理者に提示する質問提示ステップ(S301)と、管理者から、質問提示ステップにおいて提示した1または複数の第二質問文の選択を受け付ける質問選択ステップ(S302)と、を実行し、関連付けステップは、質問選択ステップにおいて選択された第二質問文を返答選択ステップにおいて選択を受け付けた返答文に関連付けて質問回答システムに記憶するステップである、付記12記載のプログラム。
これにより、ユーザから受け付けた質問文に基づき質問回答システムから関連度が十分に高い回答文が得られた場合には当該回答文をユーザに対して出力し、質問回答システムから関連度が十分に高い回答文が得られなかった場合には大規模言語モデルからの返答文をユーザに対して出力できる。
【符号の説明】
【0108】
1 システム、10 サーバ、101 記憶部、104 制御部、106 入力装置、108 出力装置、20 ユーザ端末、201 記憶部、204 制御部、206 入力装置、208 出力装置、30 管理者端末、301 記憶部、304 制御部、306 入力装置、308 出力装置、50 生成AI、501 記憶部、504 制御部、506 入力装置、508 出力装置、60 質問回答システム、601 記憶部、604 制御部、606 入力装置、608 出力装置


【要約】      (修正有)
【課題】質問に対して適した回答(返答)を出力するプログラム、方法、情報処理装置、システムを提供する。
【解決手段】プログラムは、ユーザ端末から受け付けた質問文を、質問文の入力に応じて回答文を出力可能な質問回答システムに対して入力する質問入力ステップと、質問文に応じた1または複数の回答文と、当該1または複数の回答文のそれぞれに関連付けられた関連度と、を取得する回答取得ステップと、1または複数の回答文に関連付けられた関連度が、所定の条件を満たす場合に所定の条件を満たす1または複数の回答文をユーザ端末へ送信する回答送信ステップと、1または複数の回答文に関連付けられた関連度が、所定の条件を満たさない場合に、質問受付ステップにおいて受け付けた質問文を入力データとして大規模言語モデルへ入力することにより出力される返答文をユーザ端末へ送信する返答送信ステップと、を実行する。
【選択図】図7
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11