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

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

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

特許7488617プログラム、方法、情報処理装置、システム
<>
  • 特許-プログラム、方法、情報処理装置、システム 図1
  • 特許-プログラム、方法、情報処理装置、システム 図2
  • 特許-プログラム、方法、情報処理装置、システム 図3
  • 特許-プログラム、方法、情報処理装置、システム 図4
  • 特許-プログラム、方法、情報処理装置、システム 図5
  • 特許-プログラム、方法、情報処理装置、システム 図6
  • 特許-プログラム、方法、情報処理装置、システム 図7
  • 特許-プログラム、方法、情報処理装置、システム 図8
  • 特許-プログラム、方法、情報処理装置、システム 図9
  • 特許-プログラム、方法、情報処理装置、システム 図10
  • 特許-プログラム、方法、情報処理装置、システム 図11
  • 特許-プログラム、方法、情報処理装置、システム 図12
  • 特許-プログラム、方法、情報処理装置、システム 図13
  • 特許-プログラム、方法、情報処理装置、システム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-05-14
(45)【発行日】2024-05-22
(54)【発明の名称】プログラム、方法、情報処理装置、システム
(51)【国際特許分類】
   H04L 51/02 20220101AFI20240515BHJP
   G06Q 40/02 20230101ALI20240515BHJP
   G06F 16/9032 20190101ALI20240515BHJP
   G06F 16/90 20190101ALI20240515BHJP
【FI】
H04L51/02
G06Q40/02
G06F16/9032
G06F16/90 100
【請求項の数】 11
(21)【出願番号】P 2023169034
(22)【出願日】2023-09-29
【審査請求日】2023-09-29
【早期審査対象出願】
(73)【特許権者】
【識別番号】518127510
【氏名又は名称】カラクリ株式会社
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】中嶋 恭久
(72)【発明者】
【氏名】森口 椋太
(72)【発明者】
【氏名】武藤 健介
(72)【発明者】
【氏名】吉田 雄紀
【審査官】小林 義晴
(56)【参考文献】
【文献】中国特許出願公開第113918703(CN,A)
【文献】国際公開第2019/202788(WO,A1)
【文献】特開2004-295837(JP,A)
【文献】特開2022-187821(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 51/00
G06F 16/90
G06Q 40/02
G06F 16/9032
(57)【特許請求の範囲】
【請求項1】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、
前記プロセッサが、
ユーザから質問文を受け付ける質問受付ステップと、
前記質問受付ステップにおいて受け付けた前記質問文を入力データとして大規模言語モデルに入力することにより、前記質問文が質問文の入力に応じて回答文を出力可能な質問回答システムに対する入力データとして適当か否かに関する判断結果を取得する判断ステップと、
前記判断ステップにおいて前記質問文が適当である判断結果を取得した場合に、前記質問文に基づく入力データを前記質問回答システムへ入力することにより出力される前記質問文に対する回答文を前記ユーザに提示する第1回答ステップと、
前記判断ステップにおいて前記質問文が適当である判断結果を取得しなかった場合に、前記質問文を挿入したプロンプトを生成し、当該プロンプトを入力データとして前記大規模言語モデルに入力することにより出力される、前記質問文に対する回答文ではなく前記質問文を掘り下げるための返答文を前記ユーザに提示する第2回答ステップと、
を実行し、
前記質問受付ステップは、前記判断ステップにおいて前記質問文が入力データとして適当ではない判断結果を取得した場合に、追加質問文を受付可能なステップであり、
前記判断ステップは、前記質問文および前記追加質問文を挿入したプロンプトを生成し、当該プロンプトを入力データとして前記大規模言語モデルに入力することにより、前記質問文および前記追加質問文が前記質問回答システムに対する入力データとして適当か否かに関する判断結果を取得するステップを含む、
プログラム。
【請求項2】
前記質問回答システムは、前記大規模言語モデルとは異なるシステムである、
請求項1記載のプログラム。
【請求項3】
前記質問回答システムは、キーワードに基づき回答文を検索し、当該検索結果にかかる所定の回答文を出力するシステムであり、
前記判断ステップは、
前記質問受付ステップにおいて受け付けた前記質問文を入力データとして前記大規模言語モデルに入力することにより前記質問文に含まれる1または複数のキーワードを取得するステップと、
前記1または複数のキーワードを取得できた場合に、前記質問文が入力データとして適当である判断結果を取得するステップと、
前記1または複数のキーワードを取得できなかった場合に、前記質問文が入力データとして適当ではない判断結果を取得するステップと、
を含み、
前記第1回答ステップは、前記判断ステップにおいて取得した前記1または複数のキーワードを入力データとして前記質問回答システムへ入力することにより出力される前記質問文に対する回答文を前記ユーザに提示するステップである、
請求項1記載のプログラム。
【請求項4】
前記質問受付ステップは、前記判断ステップにおいて前記1または複数の検索キーワードを取得できなかった場合に、追加質問文を受付可能なステップであり、
前記判断ステップは、前記質問文および前記追加質問文を入力データとして前記大規模言語モデルに入力することにより出力される1または複数のキーワードを取得するステップを含む、
請求項3記載のプログラム。
【請求項5】
前記プロセッサが、
前記質問受付ステップにおいて受け付けた前記質問文を入力データとして前記大規模言語モデルに入力することにより出力される1または複数の質問候補を前記ユーザに対して提示する候補提示ステップと、
前記ユーザから、前記候補提示ステップにおいて提示した前記1または複数の質問候補の少なくともいずれか1つである所定の質問候補の選択を受け付ける候補選択ステップと、
前記候補選択ステップにおいて選択を受け付けた前記所定の質問候補を前記質問回答システムへ入力することにより出力される前記質問文に対する回答文を前記ユーザに提示する第3回答ステップと、
を実行する、
請求項1記載のプログラム。
【請求項6】
前記候補提示ステップは、前記判断ステップにおいて前記質問文に含まれる1または複数のキーワードを取得できなかった場合に、前記1または複数の質問候補を前記ユーザに対して提示するステップである、
請求項5記載のプログラム。
【請求項7】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、
前記プロセッサが、
ユーザから質問文を受け付ける質問受付ステップと、
前記質問受付ステップにおいて受け付けた前記質問文を入力データとして大規模言語モデルに入力することにより、前記質問文が質問文の入力に応じて回答文を出力可能な質問回答システムに対する入力データとして適当か否かに関する判断結果を取得する判断ステップと、
前記判断ステップにおいて前記質問文が適当である判断結果を取得した場合に、前記質問文に基づく入力データを前記質問回答システムへ入力することにより出力される前記質問文に対する回答文を前記ユーザに提示する第1回答ステップと、
前記判断ステップにおいて前記質問文が適当である判断結果を取得しなかった場合に、前記質問文に基づく入力データを前記大規模言語モデルに入力することにより出力される、前記質問文に対する回答文ではなく前記質問文を掘り下げるための返答文を前記ユーザに提示する第2回答ステップと、
を実行し、
前記質問回答システムは、キーワードに基づき回答文を検索し、当該検索結果にかかる所定の回答文を出力するシステムであり、
前記判断ステップは、
前記質問受付ステップにおいて受け付けた前記質問文を入力データとして前記大規模言語モデルに入力することにより前記質問文に含まれる1または複数のキーワードを取得するステップと、
前記1または複数のキーワードを取得できた場合に、前記質問文が入力データとして適当である判断結果を取得するステップと、
前記1または複数のキーワードを取得できなかった場合に、前記質問文が入力データとして適当ではない判断結果を取得するステップと、
を含み、
前記第1回答ステップは、前記判断ステップにおいて取得した前記1または複数のキーワードを入力データとして前記質問回答システムへ入力することにより出力される前記質問文に対する回答文を前記ユーザに提示するステップであり、
前記質問受付ステップは、第1質問文を受け付けるステップを含み、
前記第1質問文に基づき、前記第1回答ステップおよび前記第2回答ステップの少なくともいずれかのステップに基づく第1回答文を提示する回答ステップと、
前記質問受付ステップは、第2質問文を受け付けるステップを含み、
前記判断ステップは、前記第1質問文、前記第2質問文および前記第1回答文を入力データとして前記大規模言語モデルに入力することにより出力される第2キーワードを取得するステップを含み、
前記第1回答ステップは、前記第2キーワードを入力データとして前記質問回答システムへ入力することにより出力される前記質問文に対する回答文を前記ユーザに提示するステップを含む、
プログラム。
【請求項8】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、
前記プロセッサが、
ユーザから質問文を受け付ける質問受付ステップと、
前記質問受付ステップにおいて受け付けた前記質問文を入力データとして大規模言語モデルに入力することにより、前記質問文が質問文の入力に応じて回答文を出力可能な質問回答システムに対する入力データとして適当か否かに関する判断結果を取得する判断ステップと、
前記判断ステップにおいて前記質問文が適当である判断結果を取得した場合に、前記質問文に基づく入力データを前記質問回答システムへ入力することにより出力される前記質問文に対する回答文を前記ユーザに提示する第1回答ステップと、
前記判断ステップにおいて前記質問文が適当である判断結果を取得しなかった場合に、前記質問文に基づく入力データを前記大規模言語モデルに入力することにより出力される、前記質問文に対する回答文ではなく前記質問文を掘り下げるための返答文を前記ユーザに提示する第2回答ステップと、
前記質問受付ステップにおいて受け付けた前記質問文を入力データとして前記大規模言語モデルに入力することにより出力される1または複数の質問候補を前記ユーザに対して提示する候補提示ステップと、
前記ユーザから、前記候補提示ステップにおいて提示した前記1または複数の質問候補の少なくともいずれか1つである所定の質問候補の選択を受け付ける候補選択ステップと、
前記候補選択ステップにおいて選択を受け付けた前記所定の質問候補を前記質問回答システムへ入力することにより出力される前記質問文に対する回答文を前記ユーザに提示する第3回答ステップと、
を実行し、
前記質問受付ステップは、第1質問文を受け付けるステップを含み、
前記第1質問文に基づき、前記第1回答ステップ、前記第2回答ステップおよび前記第3回答ステップの少なくともいずれかのステップに基づく第2回答文を提示する回答ステップと、
前記質問受付ステップは、第2質問文を受け付けるステップを含み、
前記候補提示ステップは、前記第1質問文、前記第2質問文および前記第2回答文を入力データとして前記大規模言語モデルに入力することにより出力される第2質問候補を前記ユーザに提示するステップを含み、
前記候補選択ステップは、前記第2質問候補の少なくともいずれか1つである所定の第2質問候補の選択を受け付けるステップを含み、
前記第3回答ステップは、前記所定の第2質問候補を、前記質問回答システムへ入力することにより出力される前記質問文に対する回答文を前記ユーザに提示するステップを含む、
プログラム。
【請求項9】
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、前記プロセッサが、請求項1から請求項8のいずれかに係る発明において実行される全てのステップを実行する方法。
【請求項10】
制御部と、記憶部とを備える情報処理装置であって、前記制御部が、請求項1から請求項8のいずれかに係る発明において実行される全てのステップを実行する情報処理装置。
【請求項11】
請求項1から請求項8のいずれかに係る発明において実行される全てのステップを実行する手段を備えるシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、方法、情報処理装置、システムに関する。
【背景技術】
【0002】
ユーザからのオンラインでの質問等の問い合わせに対して、質問に応じた回答内容を出力するシステム(チャットボットシステム)が知られている。
特許文献1には、ユーザからの問合せに対してチャットボットが自動的に対応しつつ、有人対応に引き継ぐ際に、回答者にシームレスに引き継ぐことを可能とする技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2022-189237号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
質問文に対して適した回答文を出力できていないという課題がある。
そこで、本開示は、上記課題を解決すべくなされたものであって、その目的は、質問文に対して適した回答文を出力する技術を提供することである。
【課題を解決するための手段】
【0005】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プロセッサが、ユーザから質問文を受け付ける質問受付ステップと、質問受付ステップにおいて受け付けた質問文を入力データとして大規模言語モデルに入力することにより、質問文が質問文の入力に応じて回答文を出力可能な質問回答システムに対する入力データとして適当か否かに関する判断結果を取得する判断ステップと、判断ステップにおいて質問文が適当である判断結果を取得した場合に、質問文に基づく入力データを質問回答システムへ入力することにより出力される質問文に対する回答文をユーザに提示する第1回答ステップと、判断ステップにおいて質問文が適当である判断結果を取得しなかった場合に、質問文に基づく入力データを大規模言語モデルに入力することにより出力される、質問文に対する回答文ではなく質問文を掘り下げるための返答文をユーザに提示する第2回答ステップと、を実行するプログラム。
【発明の効果】
【0006】
本開示によれば、質問文に対して適した回答文を出力できる。
【図面の簡単な説明】
【0007】
図1】システム1の機能構成を示すブロック図である。
図2】サーバ10の機能構成を示すブロック図である。
図3】ユーザ端末20の機能構成を示すブロック図である。
図4】ユーザテーブル1012のデータ構造を示す図である。
図5】質問テーブル1013のデータ構造を示す図である。
図6】キーワードテーブル1014のデータ構造を示す図である。
図7】候補テーブル1015のデータ構造を示す図である。
図8】回答テーブル1016のデータ構造を示す図である。
図9】検索処理の動作を示すフローチャートである。
図10】対話処理の動作を示すフローチャートである。
図11】提案処理の動作を示すフローチャートである。
図12】対話画面の第一画面例である。
図13】対話画面の第二画面例である。
図14】コンピュータ90の基本的なハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0008】
以下、本開示の実施形態について図面を参照して説明する。実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。なお、以下の実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。また、各図は模式図であり、必ずしも厳密に図示されたものではない。
【0009】
<システム1の構成>
本開示におけるシステム1は、ユーザから入力を受け付けた質問文に対して好適な回答文を出力する情報処理サービス(FAQサービス)を提供する情報処理システムである。例えば、銀行等においては口座開設、国内外送金、ローンの申し込み、ATM、キャッシュカードの利用方法、モバイルバンキングの利用方法などに関するユーザからの質問文を受け付け、当該質問文にかかるユーザの疑問や問題を解決するための回答文をユーザに対して提供する情報処理サービスを提供する。
本開示にかかる情報処理サービスの適用は、銀行に限られず、鉄道、航空機、タクシー等の公共交通機関、ホテル、民宿等の宿泊施設、その他、ソフトウェアサービス、病院等、任意の事業体に対して適用することが可能である。
システム1は、ネットワークNを介して接続された、サーバ10、ユーザ端末20、生成AI50、質問回答システム60の情報処理装置を備える。
図1は、システム1の機能構成を示すブロック図である。
図2は、サーバ10の機能構成を示すブロック図である。
図3は、ユーザ端末20の機能構成を示すブロック図である。
【0010】
各情報処理装置は演算装置と記憶装置とを備えたコンピュータにより構成されている。コンピュータの基本ハードウェア構成および、当該ハードウェア構成により実現されるコンピュータの基本機能構成は後述する。サーバ10、ユーザ端末20、生成AI50、質問回答システム60のそれぞれについて、後述するコンピュータの基本ハードウェア構成およびコンピュータの基本機能構成と重複する説明は省略する。
【0011】
<サーバ10の構成>
サーバ10は、後述する生成AI50、質問回答システム60などと通信することにより、ユーザから入力を受け付けた質問文に対して好適な回答文を出力する情報処理サービス(FAQサービス)を提供する情報処理装置である。
サーバ10は、記憶部101、制御部104を備える。
【0012】
<サーバ10の記憶部101の構成>
サーバ10の記憶部101は、アプリケーションプログラム1011、ユーザテーブル1012、質問テーブル1013、キーワードテーブル1014、候補テーブル1015、回答テーブル1016を備える。
【0013】
アプリケーションプログラム1011は、サーバ10の制御部104を各機能ユニットとして機能させるためのプログラムである。
アプリケーションプログラム1011は、ウェブブラウザアプリケーションなどのアプリケーションを含む。
【0014】
ユーザテーブル1012は、サービスを利用する会員ユーザ(以下、ユーザ)の情報を記憶し管理するテーブルである。ユーザは、サービスの利用登録を行うことで、当該ユーザの情報がユーザテーブル1012の新しいレコードに記憶される。これにより、ユーザは本開示にかかるサービスを利用できるようになる。
ユーザテーブル1012は、ユーザIDを主キーとして、ユーザID、ユーザ名のカラムを有するテーブルである。
図4は、ユーザテーブル1012のデータ構造を示す図である。
【0015】
ユーザIDは、ユーザを識別するためのユーザ識別情報を記憶する項目である。ユーザ識別情報は、ユーザごとにユニークな値が設定されている項目である。
ユーザ名は、ユーザの氏名を記憶する項目である。ユーザ名は、氏名ではなく、ニックネームなど任意の文字列を設定しても良い。
【0016】
質問テーブル1013は、質問に関する情報(質問情報)を記憶し管理するためのテーブルである。
質問テーブル1013は、質問IDを主キーとして、質問ID、親質問ID、ユーザID、質問文、日時のカラムを有するテーブルである。
図5は、質問テーブル1013のデータ構造を示す図である。
【0017】
質問IDは、質問を識別するための質問識別情報を記憶する項目である。質問識別情報は、質問情報ごとにユニークな値が設定されている項目である。
親質問IDは、親質問を識別するための親質問識別情報を記憶する項目である。
ユーザIDは、ユーザを識別するためのユーザ識別情報を記憶する項目である。
質問文は、質問文にかかる文字列情報(テキスト情報)を記憶する項目である。
日時は、質問テーブル1013に新たにレコードが記憶されたり更新された際の記憶日時を記憶する項目である。
【0018】
キーワードテーブル1014は、検索キーワードに関する情報(検索キーワード情報)を記憶し管理するためのテーブルである。
キーワードテーブル1014は、質問ID、入力文、キーワード、日時のカラムを有するテーブルである。
図6は、キーワードテーブル1014のデータ構造を示す図である。
【0019】
質問IDは、質問を識別するための質問識別情報を記憶する項目である。
入力文は、生成AI50に対する入力文にかかる文字列情報(テキスト情報)を記憶する項目である。
キーワードは、検索キーワードにかかる文字列情報(テキスト情報)を記憶する項目である。キーワードは、1または複数の検索キーワードにかかる文字列情報を記憶する。
日時は、キーワードテーブル1014に新たにレコードが記憶されたり更新された際の記憶日時を記憶する項目である。
【0020】
候補テーブル1015は、候補に関する情報(候補情報)を記憶し管理するためのテーブルである。
候補テーブル1015は、質問ID、入力文、質問候補、日時のカラムを有するテーブルである。
図7は、候補テーブル1015のデータ構造を示す図である。
【0021】
質問IDは、質問を識別するための質問識別情報を記憶する項目である。
入力文は、生成AI50に対する入力文にかかる文字列情報(テキスト情報)を記憶する項目である。
質問候補は、質問候補にかかる文字列情報(テキスト情報)を記憶する項目である。質問候補は、1または複数の質問候補にかかる文字列情報を記憶する。
日時は、候補テーブル1015に新たにレコードが記憶されたり更新された際の記憶日時を記憶する項目である。
【0022】
回答テーブル1016は、回答に関する情報(回答情報)を記憶し管理するためのテーブルである。
回答テーブル1016は、質問ID、処理種別、入力文、回答文、日時のカラムを有するテーブルである。
図8は、回答テーブル1016のデータ構造を示す図である。
【0023】
質問IDは、質問を識別するための質問識別情報を記憶する項目である。
処理種別は、回答文を得るために実行した処理の種類を記憶するための項目である。
具体的に、処理種別には、対話処理、検索処理、提案処理のいずれかを示す情報が記憶される。
入力文は、生成AI50または質問回答システム60に対する入力文にかかる文字列情報(テキスト情報)を記憶する項目である。
回答文は、生成AI50または質問回答システム60から出力される出力文にかかる文字列情報(テキスト情報)を記憶する項目である。
日時は、回答テーブル1016に新たにレコードが記憶されたり更新された際の記憶日時を記憶する項目である。
【0024】
<サーバ10の制御部104の構成>
サーバ10の制御部104は、ユーザ登録制御部1041、AI制御部1042、質問回答部1043を備える。制御部104は、記憶部101に記憶されたアプリケーションプログラム1011を実行することにより、各機能ユニットが実現される。
【0025】
ユーザ登録制御部1041は、本開示に係るサービスの利用を希望するユーザの情報をユーザテーブル1012に記憶する処理を行う。
ユーザテーブル1012に記憶される情報は、ユーザが任意の情報処理端末からサービス提供者が運営するウェブページなどを開き、所定の入力フォームに情報を入力しサーバ10へ送信する。ユーザ登録制御部1041は、受信した情報をユーザテーブル1012の新しいレコードに記憶し、ユーザ登録が完了する。これにより、ユーザテーブル1012に記憶されたユーザはサービスを利用することができるようになる。
ユーザ登録制御部1041によるユーザ情報のユーザテーブル1012への登録に先立ち、サービス提供者は所定の審査を行いユーザによるサービス利用可否を制限しても良い。
ユーザIDは、ユーザを識別できる任意の文字列または数字で良く、ユーザが希望する任意の文字列または数字、もしくはユーザ登録制御部1041が自動的に任意の文字列または数字を設定しても良い。
【0026】
AI制御部1042は、生成AI50に対する入出力を制御する制御部である。詳細は、後述する。
【0027】
質問回答部1043は、質問回答システム60に対する入出力を制御する制御部である。詳細は、後述する。
【0028】
<ユーザ端末20の構成>
ユーザ端末20は、サービスを利用するユーザが操作する情報処理装置である。ユーザ端末20は、例えば、スマートフォン、タブレット等の携帯端末でもよいし、据え置き型のPC(Personal Computer)、ラップトップPCであってもよい。また、HMD(Head Mount Display)、腕時計型端末等のウェアラブル端末であってもよい。
ユーザ端末20は、記憶部201、制御部204、入力装置206、出力装置208を備える。
【0029】
<ユーザ端末20の記憶部201の構成>
ユーザ端末20の記憶部201は、ユーザID2011、アプリケーションプログラム2012を備える。
【0030】
ユーザID2011はユーザのアカウントIDである。ユーザは、ユーザ端末20からユーザID2011を、サーバ10へ送信する。サーバ10は、ユーザID2011に基づきユーザを識別し、本開示にかかるサービスをユーザに対して提供する。なお、ユーザID2011には、ユーザ端末20を利用しているユーザを識別するにあたりサーバ10から一時的に付与されるセッションIDなどの情報を含む。
【0031】
アプリケーションプログラム2012は、記憶部201に予め記憶されていても良いし、通信IFを介してサービス提供者が運営するウェブサーバ等からダウンロードする構成としても良い。
アプリケーションプログラム2012は、ウェブブラウザアプリケーションなどのアプリケーションを含む。
アプリケーションプログラム2012は、ユーザ端末20に記憶されているウェブブラウザアプリケーション上で実行されるJavaScript(登録商標)などのインタープリター型プログラミング言語を含む。
【0032】
<ユーザ端末20の制御部204の構成>
ユーザ端末20の制御部204は、入力制御部2041、出力制御部2042を備える。制御部204は、記憶部201に記憶されたアプリケーションプログラム2012を実行することにより、各機能ユニットが実現される。
【0033】
<ユーザ端末20の入力装置206の構成>
ユーザ端末20の入力装置206は、カメラ2061、マイク2062、位置情報センサ2063、モーションセンサ2064、タッチデバイス2065を備える。
【0034】
<ユーザ端末20の出力装置208の構成>
ユーザ端末20の出力装置208は、ディスプレイ2081、スピーカ2082を備える。
【0035】
<生成AI50の構成>
生成AI50とは、自然言語処理(NLP)の分野で使用される大規模な人工知能モデルを指す。これらのモデルは、大量のテキストデータ(ウェブページ、書籍、記事等)を学習することで、人間が使用する言語のパターンを理解し、自然言語生成(NLG)タスクを効果的に行うことができる。
生成AI50は、特定の問いへの応答生成、文章の自動生成、テキストの要約、翻訳、感情分析など、多くのNLPタスクで使用される。また、教育、エンターテイメント、カスタマーサービス、製品開発など、様々な用途に活用できる。生成AI50には、以下のようなものが存在する。本開示においては、主に出力情報としてテキスト情報を出力する大規模言語モデルを生成AI50の一種として説明する。
・OpenAI ChatGPT
・Google Bard
・Stable Diffusion
・midjourney
なお、生成AI50は、サーバ10の一部の機能として実現する構成としても構わない。
【0036】
<質問回答システム60の構成>
質問回答システム60は、質問文にかかる文字列の入力に応じて、回答文にかかる文字列を出力する情報処理システムである。例えば、質問回答システム60は、FAQシステムを含む。
具体的に、質問回答システム60は、ユーザからのよくある質問とその回答のペア(質問回答情報)を記憶する情報処理システムである。質問回答システム60は、入力文字列の入力を受け付けると、当該文字列に基づき質問回答情報に含まれる質問または回答の少なくともいずれかを全文検索等により検索し、検索結果にかかる質問回答情報を入力文字列との関連度(スコア)と関連付けて出力することができる。
質問回答システム60へ、検索キーワード、質問文などの文字列を入力することにより、当該文字列と関連する質問回答情報の出力を取得することができる。質問回答システム60は、1つである必要はなく、例えば、銀行Aにおける質問回答情報が記憶された質問回答システムA、銀行B、銀行C、宿泊施設A、宿泊施設B等の質問にかかるサービスを提供する事業者ごとに複数の質問回答システム60を用意する構成としても良い。
なお、質問回答システム60は、サーバ10の一部の機能として実現する構成としても構わない。
【0037】
<システム1の動作>
以下、システム1の各処理について説明する。
図9は、検索処理の動作を示すフローチャートである。
図10は、対話処理の動作を示すフローチャートである。
図11は、提案処理の動作を示すフローチャートである。
図12は、対話画面の第一画面例である。
図13は、対話画面の第二画面例である。
【0038】
本開示における検索処理、対話処理、提案処理を以下に説明する。
本開示の情報処理システムにおいては、ユーザから受け付けた1の質問文に対して検索処理、対話処理、提案処理のそれぞれが実行される。なお、ユーザから受け付けた1の質問文に対して検索処理、対話処理、提案処理のすべてが実行される必要はない。ユーザから受け付けた1の質問文に対して検索処理、対話処理、提案処理の少なくともいずれか1つが実行される構成としても良い。
また、検索処理、対話処理、提案処理は並列に実行しても良いし、順番に実行されても良い。また、順番に実行される場合には、所定の処理の実行結果に応じて、当該処理の処理より後の一部の処理を実行しない(スキップする)構成としても良い。なお、検索処理、対話処理、提案処理の開始を並列に実行し、それぞれの処理結果を取得した後に、処理結果の提示を順番に実行しても良い。この場合も、所定の処理の実行結果に応じて、当該処理の処理より後の一部の処理結果を提示しない(スキップする)構成としても良い。
例えば、検索処理、提案処理、対話処理の順番に実行される場合において、検索処理の処理結果に応じて提案処理、対話処理の実行を省略しても良い。同様に、提案処理の処理結果に応じて対話処理の実行を省略しても良い。
【0039】
本開示の情報処理システムは、検索処理または提案処理による質問回答システム60からの出力結果を最終的にユーザに提示するものである。一方、ユーザは、適切な質問を入力できるとは限らない。そのため、ユーザから入力された質問文に対して、質問回答システム60から適切な回答が得られると判断するまでは、質問文に基づき生成AI50により生成される、質問文を具体的に掘り下げるための返答文をユーザに対して提示することにより、ユーザに対して追加質問文を入力することを促す。十分な追加質問文に応じて質問回答システム60から適切な回答結果が得られると判断した場合は、質問回答システム60からの出力結果をユーザに提示する。
【0040】
本開示における情報処理システムにおいては、ユーザからの質問文に対して、質問回答システム60に予め記憶されている回答文が提示されるため、ユーザに対して不適切な回答文が提示されることはない。一方、従来の生成AI50において同様の処理を行わせようとすると、ハルシネーション(事実とは異なる内容、文脈とは無関係な内容を回答する)問題や、誤った内容を含む回答文を生成してしまう問題が生じてしまう。
また、生成AI50からはユーザから受け付けた質問文に対する回答を行わせないものの、ユーザから受け付けた質問を自然に掘り下げるための提案を含む文章(返答文)をユーザに対して提示することにより、抽象的なユーザからの質問をより具体的なものとすることができる。
本開示における情報処理システムは、生成AI50を利用することによりユーザ自身が言語化できていない質問内容を掘り下げることができるとともに、具体化された質問文に基づき質問回答システム60に予め記憶された誤った内容を含まない適切な回答文をユーザに対して提供することを実現するものである。
【0041】
<検索処理>
検索処理は、ユーザから受け付けた質問文に応じた検索キーワードに基づく質問回答システム60からの出力文をユーザに提示する処理である。
【0042】
<検索処理の概要>
検索処理は、ユーザから質問文の入力を受け付け、入力した質問文を生成AI50へ入力し、生成AI50から出力された検索キーワードを取得し、当該検索キーワードを質問回答システム60へ入力し、質問回答システム60から出力された出力内容を取得し、当該出力内容を回答文として提示する処理である。
【0043】
<検索処理の詳細>
以下に、検索処理の詳細を説明する。
【0044】
ユーザは、ユーザ端末20の入力装置206を操作し、ブラウザアプリケーション等を実行し、検索処理を実行するためのウェブページ(対話画面)のURL等を入力することにより対話画面D1を開く。ユーザ端末20の制御部204は、対話画面D1を開くためのユーザID2011を含むリクエストをサーバ10へ送信する。
【0045】
サーバ10は、リクエストを受信すると対話画面D1を生成しユーザ端末20へ送信する。ユーザ端末20の制御部204は、対話画面D1をユーザ端末20のディスプレイ2081に表示し、提示する。
【0046】
図12は、対話画面の第一画面例である。ユーザ端末20のディスプレイ2081には、対話画面D1が表示される。
対話画面D1は、質問文の入力欄D11、質問文D121、D122、回答文D131、D132、D133、D134、D135、を含む。
【0047】
図13は、対話画面の第二画面例である。ユーザ端末20のディスプレイ2081には、対話画面D2が表示される。
対話画面D2は、質問文の入力欄D21、質問文D221、D222、D223、D224、回答文D231、D232、D233、D234、D235、質問候補D251、D252、を含む。
【0048】
対話画面の第一画面例および第二画面例はいずれも検索処理、対話処理、提案処理における処理結果を回答文として提示する画面例である。具体的に、第一画面例ではユーザが質問文として最初に「海外」と入力した場合の画面例であり、第二画面例ではユーザが質問文として最初に「口座」と入力した場合の画面例である。ユーザから受け付けた質問文の内容に応じて異なる回答文が表示される。
第二画面例においては質問候補D251、D252が表示されている。質問候補については、提案処理において後述する。
【0049】
ステップS101において、サーバ10のAI制御部1042は、ユーザから質問文を受け付ける質問受付ステップを実行する。
ユーザは、ユーザ端末20の入力装置206を操作することにより、入力欄D11に質問文を入力する。ユーザ端末20の制御部204は、入力欄D11に入力された質問文を、サーバ10へ送信する。例えば、ユーザは、ユーザ端末20のエンターキー等を押下することにより入力欄D11に入力された質問文を、サーバ10へ送信することができる。サーバ10へ送信されるリクエストは、ユーザID2011を含む。
サーバ10の制御部104は、質問文、ユーザID2011を受信し、受け付ける。サーバ10の制御部104は、受け付けた質問文、ユーザID2011をそれぞれ、質問テーブル1013の新たなレコードの質問文、ユーザIDの項目に記憶する。
【0050】
ステップS101において、質問受付ステップは、第1質問文を受け付けるステップを含む。質問受付ステップは、第2質問文を受け付けるステップを含む。
具体的に、本開示における検索処理においてユーザは質問文D121(第1質問文)に対して出力された回答文D132を確認し、さらに当該回答文D132を踏まえてあらたな追加の質問文D122(第2質問文)を送信することができる。
この場合、サーバ10の制御部104は、第2質問文の最前の質問文である第1質問文の質問テーブル1013における質問ID、質問文D122、ユーザID2011をそれぞれ、質問テーブル1013の新たなレコードの親質問ID、質問文、ユーザIDの項目に記憶する。
【0051】
ステップS101において、質問受付ステップは、キーワード取得ステップにおいて1または複数の検索キーワードを取得できなかった場合に、追加質問文を受付可能なステップを実行する。
具体的に、ユーザ端末20の制御部204は、後述するステップS103において検索キーワードの取得ができなかった場合に質問文の入力欄D11は、ユーザ端末20の入力装置206からの入力操作を受付可能なものとし、検索キーワードの取得ができた場合に質問文の入力欄D11は、ユーザ端末20の入力装置206からの入力操作を入力受付可能ではないよう制御しても良い。
つまり、検索処理により質問回答システム60からの回答文が得られなかった場合には追加質問文を受付可能なものとし、検索処理により質問回答システム60からからの回答文が得られた場合には追加質問文を受け付け可能ではないように制御しても良い。
本開示にかかる検索処理により質問回答システム60からの回答文が得られた場合には、それ以降のユーザからの質問文の入力を受け付けない構成としても良い。これにより、質問回答システム60からの回答文をユーザに提示することに伴い、検索処理、対話処理、提案処理を終了することができる。つまり、検索処理に対する回答が得られた場合に、ユーザとの対話を終了する構成としても良い。
【0052】
ステップS102において、サーバ10のAI制御部1042は、質問受付ステップにおいて受け付けた質問文を生成AI50へ送信する。
具体的に、サーバ10のAI制御部50は、大規模言語モデルである生成AI50に対する入力文(プロンプト)として、以下のプロンプトテンプレートの〔質問文〕の箇所を、ステップS101において受け付けた質問文を挿入したプロンプトを生成し、生成AI50へ送信する。本開示におけるプロンプトテンプレートには、ユーザからの質問文に対して、回答を行わずに、質問を掘り下げるための回答を指示する命令文が含まれる。つまり、本開示にかかる情報処理システムにおいては、生成AI50はユーザからの質問文に対して、当該質問文に対する回答は行わない。本開示にかかる情報処理システムにおいてユーザからの質問文に対する回答は、質問回答システム60による回答結果(検索結果)に基づき行われる。
なお、検索処理において、プロンプトに、生成AI50の出力形式として回答文ではなく検索キーワードを出力するような出力データ形式を制限するための命令を含める。具体的に、OpenAI社のGPTにおいては、FunctionCallingと呼ばれる仕組みにより、質問回答システム60へ入力するための検索キーワードを抽出するための命令を含める。
〔プロンプトテンプレート〕
あなたはとても親切で有能なAIアシスタントです。
FAQサイトに常駐し、ユーザのFAQ検索をサポートします。
ユーザの質問が曖昧な場合はさらに課題を深ぼるような質問をします。
あなたはあくまでもAIアシスタントであるため、ユーザーの課題に対して具体的な解決策を与えることは絶対にしてはいけません。
課題が明確になったら、どのような検索キーワードでFAQサイトを検索すればよいか提案します。
#ユーザの質問
〔質問文〕
【0053】
ステップS102において、サーバ10のAI制御部1042は、第1質問文、第2質問文に対する回答文、第2質問文を大規模言語モデルへ入力する。
具体的に、サーバ10のAI制御部50は、質問受付ステップにおいて追加の質問文D122を受け付けた場合には、質問文D121、回答文D132、質問文122を結合した文字列を、プロンプトテンプレートの〔質問文〕の箇所に挿入したプロンプトを生成し、生成AI50へ送信する。
つまり、ステップS101において過去に1または複数の質問文を受け付けており、また,当該1または複数の質問文に対する1または複数の回答文が得られている場合には、当該1または複数の質問文および1または複数の回答文を、新たに受け付けた質問文に結合した文字列を質問文として生成AI50へ送信する。
サーバ10の制御部104は、親質問IDに基づき質問テーブル1013の質問IDの項目を検索することにより過去に受け付けた1または複数の質問情報に含まれる1または複数の質問文を取得できる。サーバ10の制御部104は、取得した1または複数の質問情報に含まれる親質問IDに基づき質問テーブル1013の質問IDの項目を検索することにより任意の親世代の質問情報および質問文を取得することができる。
サーバ10の制御部104は、過去に受け付けた1または複数の質問情報に含まれる1または複数の質問IDに基づき回答テーブル1016の項目を検索することにより1または複数の回答情報に含まれる1または複数の回答文を取得できる。なお、質問情報および回答情報はそれぞれ質問IDにより対応関係(順序関係、どの質問文に対するどの回答文か)を定めることができる。また、1または複数の回答文の順序は回答情報に含まれる日時の順序としても良い。サーバ10の制御部104は、1または複数の質問文、1または複数の回答文を順序に従って結合し、文字列を生成する。
なお、結合させる1または複数の回答文は、検索処理により得られた回答文でも良いし、対話処理、提案処理により得られた回答文を含めても構わない。
また、1または複数の質問文および1または複数の回答文のすべてを結合する必要はなく、生成AI50が受け付け可能な文字数を上限として新しい順番に所定個数の質問文および回答文を順序に従って結合する構成としても良い。
【0054】
ステップS103において、サーバ10のAI制御部1042は、質問受付ステップにおいて受け付けた質問文を入力データとして大規模言語モデルに入力することにより、質問文が質問文の入力に応じて回答文を出力可能な質問回答システムに対する入力データとして適当か否かに関する判断結果を取得する判断ステップを実行する。
具体的に、判断ステップは、質問受付ステップにおいて受け付けた質問文を入力データとして大規模言語モデルに入力することにより質問文に含まれる1または複数のキーワードを取得するステップと、1または複数のキーワードを取得できた場合に、質問文が入力データとして適当である判断結果を取得するステップと、1または複数のキーワードを取得できなかった場合に、質問文が入力データとして適当ではない判断結果を取得するステップと、を含む。
判断ステップは、キーワード取得ステップを含む。
【0055】
ステップS103において、サーバ10のAI制御部1042は、質問受付ステップにおいて受け付けた質問文を入力データとして大規模言語モデルに入力することにより出力される1または複数のキーワードを取得するキーワード取得ステップを実行する。
具体的に、サーバ10のAI制御部1042は、大規模言語モデルから出力された検索キーワードを受信し、受け付ける。
【0056】
ステップS103において、キーワード取得ステップは、質問文および追加質問文を入力データとして大規模言語モデルに入力することにより出力される1または複数のキーワードを取得するステップを実行する。
具体的に、ステップS102において、サーバ10のAI制御部50は、質問受付ステップにおいて追加の質問文D122を受け付けた場合には、質問文D121、回答文D132、質問文122を結合した文字列を、プロンプトテンプレートの〔質問文〕の箇所に挿入したプロンプトを入力データとして生成AI50に入力することに対して、大規模言語モデルから出力された検索キーワードを受信し、受け付ける。
【0057】
例えば、キーワード取得ステップは、第1質問文を入力データとして大規模言語モデルに入力することにより出力される第1キーワードを取得するステップを含む。キーワード取得ステップは、第1質問文、第2質問文および第1回答文を入力データとして大規模言語モデルに入力することにより出力される第2キーワードを取得するステップを含む。
【0058】
サーバ10の制御部104は、ステップS101において作成した質問テーブル1013の新たなレコードの質問IDと、ステップS102において生成したプロンプトと、検索キーワードと、をそれぞれキーワードテーブル1014の新たなレコードの質問ID、入力文、キーワードの項目に記憶する。
【0059】
なお、ステップS103において大規模言語モデルは検索キーワードを出力しない場合がある。例えば、プロンプトに含まれるユーザの質問に、十分な検索キーワードが含まれていない場合は、生成AI50は検索キーワードを出力しない。そのような場合は、ステップS104以降をスキップして、検索処理を終了する。
この場合、サーバ10の制御部104は、対話処理のステップS302以降を実行する構成としても良い。
この場合、サーバ10の制御部104は、提案処理のステップS502以降を実行する構成としても良い。
【0060】
ステップS104において、質問入力ステップは、キーワード取得ステップにおいて取得した1または複数のキーワードを、質問回答システムへ入力するステップを実行する。
具体的に、サーバ10の質問回答部1043は、ステップS103において生成AI50から出力された検索キーワードを、質問回答システム60へ送信する。
例えば、サーバ10の質問回答部1043は、ステップS103において生成AI50から出力された第1検索キーワード、第2検索キーワードを、質問回答システム60へ送信する。
【0061】
ステップS105において、サーバ10の質問回答部1043は、質問入力ステップにおいて質問回答システムに対する1または複数のキーワードの入力に応じて、所定の回答文を取得する回答取得ステップを実行する。
具体的に、サーバ10の質問回答部1043は、質問回答システム60から出力された出力内容を受信し、受け付ける。例えば、質問回答システム60は、検索キーワードにかかる入力文字列の入力を受けると、当該文字列に基づき質問回答システム60に記憶された質問回答情報に含まれる質問または回答の少なくともいずれかを全文検索等により検索し、検索結果にかかる質問回答情報を入力文字列との関連度(スコア)と関連付けて出力する。
サーバ10の質問回答部1043は、質問回答情報に含まれる回答文を受信し、取得する。
【0062】
例えば、回答取得ステップは、質問入力ステップにおいて質問回答システムに対する第1キーワードの入力に応じて、第1回答文を取得するステップを含む。回答取得ステップは、質問入力ステップにおいて質問回答システムに対する第2キーワードの入力に応じて、第2回答文を取得するステップを含む。
【0063】
ステップS105において、サーバ10の質問回答部1043は、質問回答システム60から出力された回答文を受信し、受け付ける。サーバ10の制御部104は、ステップS101において作成した質問テーブル1013の新たなレコードの質問IDと、ステップS102において生成したプロンプトと、回答文と、をそれぞれ回答テーブル1016の新たなレコードの質問ID、入力文、回答文の項目に記憶する。
【0064】
ステップS106において、サーバ10の制御部104は、質問回答システム60から出力された回答文を提示する。
具体的に、サーバ10の制御部104は、ステップS105において受信した回答文をユーザ端末20へ送信する。ユーザ端末20の制御部204は、受信した回答文をユーザ端末20のディスプレイ2081に表示し、提示する。
例えば、ユーザ端末20の制御部204は、ステップS101において質問文D121を受け付けた場合は、質問文D121からは検索キーワードが取得できなかったため質問文D121に対する回答文は回答テーブル1016に記憶されず、対話画面D1には表示されない。ユーザ端末20の制御部204は、ステップS101において質問文D122を受け付けた場合は、回答文D135が対話画面D1に表示される。
また、キーワードテーブル1014に記憶されたキーワードを含む文章を回答文D134として対話画面D1に表示しても良い。ユーザは、回答文D134を参照することにより質問文D122からどのような検索キーワードが取得され、当該検索キーワードに応じてどのような回答文D135が得られたのかを視覚的に確認することができる。
なお、対話画面の第二画面例における対話画面D2においては、検索キーワードが取得できなかったため質問文に対する質問回答システム60からの回答文は回答テーブル1016に記憶されず、対話画面D2には表示されない。
【0065】
ステップS106において、サーバ10の制御部104は、判断ステップにおいて質問文が適当である判断結果を取得した場合に、質問文に基づく入力データを質問回答システムへ入力することにより出力される質問文に対する回答文をユーザに提示する第1回答ステップを実行する。
第1回答ステップは、判断ステップにおいて取得した1または複数のキーワードを入力データとして質問回答システムへ入力することにより出力される質問文に対する回答文をユーザに提示するステップを含む。
第1回答ステップは、第2キーワードを入力データとして質問回答システムへ入力することにより出力される質問文に対する回答文をユーザに提示するステップを含む。
【0066】
サーバ10の制御部104は、第1質問文に基づき、第1回答ステップおよび第2回答ステップの少なくともいずれかのステップに基づく第1回答文を提示する回答ステップを実行する。
サーバ10のAI制御部1042は、第1質問文に基づき、第1回答ステップ、第2回答ステップおよび第3回答ステップの少なくともいずれかのステップに基づく第2回答文を提示する回答ステップを実行する。
具体的に、ステップS101において過去に1または複数の質問文を受け付けており、また、当該1または複数の質問文に対する1または複数の回答文が得られている場合には、当該1または複数の質問文および1または複数の回答文を、新たに受け付けた質問文に結合した文字列を質問文として生成AI50へ送信する。結合させる1または複数の回答文は、検索処理により得られた回答文でも良いし、対話処理、提案処理により得られた回答文を含めても構わない。
生成AI50から得られたキーワードを、質問回答システム60に対する入力データとして入力し、これにより得られた質問文に対する回答文をユーザに対して提示する。
【0067】
ステップS106において、サーバ10の制御部104は、質問テーブル1013に記憶された質問情報を取得する。サーバ10の制御部104は、取得した質問情報に含まれる質問IDに基づき回答テーブル1016の質問IDの項目を検索し、回答情報を取得する。サーバ10の制御部104は、取得した質問情報および回答情報をユーザ端末20へ送信する。ユーザ端末20の制御部204は、受信した質問情報および回答情報をそれぞれに含まれる日時の順序に並べてユーザ端末20のディスプレイ2081に表示し、提示する。これにより、ユーザ端末20のディスプレイ2081には、検索処理、対話処理、提案処理のすべての処理の処理結果を含む第一画面例および第二画面例が表示され、提示される。
つまり、検索処理のステップS106、対話処理のステップS304、提案処理のステップS508の回答文提示にかかるステップは、質問テーブル1013に記憶された質問情報、回答テーブル1016に記憶された回答情報を一覧表示するという共通の処理としても良い。
【0068】
<対話処理>
対話処理は、ユーザから受け付けた質問文に応じた生成AI50からの出力文をユーザに提示する処理である。
【0069】
<対話処理の概要>
対話処理は、ユーザから質問文の入力を受け付け、入力した質問文を生成AI50へ入力し、生成AI50から出力された出力内容を取得し、当該出力内容を回答文として提示する処理である。
【0070】
<対話処理の詳細>
以下に、対話処理の詳細を説明する。
【0071】
ステップS301において、サーバ10のAI制御部1042は、ユーザから質問文を受け付ける質問受付ステップを実行する。
質問受付ステップは、検索処理のステップS101と同様であるため処理を省略する。なお、本開示においては検索処理のステップS101において受け付けた質問文に応じて対話処理が実行される。つまり、対話処理のステップS301は、検索処理のステップS101と共通とする。
なお、検索処理は必ずしも実行される必要はなく、対話処理が実行される構成としても構わない。なお、本開示においては検索処理のステップS103において検索キーワードが取得できなかった場合(質問文が適当であると判断されなかった場合)に、対話処理が実行される構成としても良い。
【0072】
ステップS302において、サーバ10のAI制御部1042は、質問受付ステップにおいて受け付けた質問文を生成AI50へ送信する。
具体的に、サーバ10のAI制御部50は、大規模言語モデルである生成AI50に対する入力文(プロンプト)として、プロンプトテンプレートの〔質問文〕の箇所に、ステップS301において受け付けた質問文を挿入したプロンプトを生成し、生成AI50へ送信する。
【0073】
ステップS302において、サーバ10のAI制御部1042は、第1質問文、第2質問文に対する回答文、第2質問文を大規模言語モデルへ入力する。
具体的に、サーバ10のAI制御部50は、質問受付ステップにおいて追加の質問文D122を受け付けた場合には、質問文D121、回答文D132、質問文D122を結合した文字列を、プロンプトテンプレートの〔質問文〕の箇所に挿入したプロンプトを生成し、生成AI50へ送信する。
つまり、ステップS301において過去に1または複数の質問文を受け付けており、また、当該1または複数の質問文に対する1または複数の回答文が得られている場合には、当該1または複数の質問文および1または複数の回答文を、新たに受け付けた質問文に結合した文字列を質問文として生成AI50へ送信する。
サーバ10の制御部104は、親質問IDに基づき質問テーブル1013の質問IDの項目を検索することにより過去に受け付けた1または複数の質問情報に含まれる1または複数の質問文を取得できる。サーバ10の制御部104は、取得した1または複数の質問情報に含まれる親質問IDに基づき質問テーブル1013の質問IDの項目を検索することにより任意の親世代の質問情報および質問文を取得することができる。
サーバ10の制御部104は、過去に受け付けた1または複数の質問情報に含まれる1または複数の質問IDに基づき回答テーブル1016の項目を検索することにより1または複数の回答情報に含まれる1または複数の回答文を取得できる。なお、質問情報および回答情報はそれぞれ質問IDにより対応関係(順序関係、どの質問文に対するどの回答文か)を定めることができる。また、1または複数の回答文の順序は回答情報に含まれる日時の順序としても良い。サーバ10の制御部104は、1または複数の質問文、1または複数の回答文を順序に従って結合し、文字列を生成する。
なお、結合させる1または複数の回答文は、対話処理により得られた回答文でも良いし、後述する検索処理、提案処理により得られた回答文を含めても構わない。
また、1または複数の質問文および1または複数の回答文のすべてを結合する必要はなく、生成AI50が受け付け可能な文字数を上限として新しい順番に所定個数の質問文および回答文を結合する構成としても良い。
【0074】
このように、本開示にかかる情報処理システムにおいて、ユーザは入力した質問文に対する回答文の内容を確認し、さらに質問文を入力することができる。これにより、ユーザは情報処理システムからの回答内容を考慮して、自身が得たい情報を得るための質問文を徐々に対話形式で入力することができる。
【0075】
ステップS303において、サーバ10のAI制御部1042は、大規模言語モデルから出力された回答文(質問文に対する回答文ではなく質問文を掘り下げるための返答文)を受信し、受け付ける。生成AI50から出力される返答文は、ステップS301においてユーザ受け付けた質問文に対する回答内容を含まない文章であり、ユーザから受け付けた質問文をより具体的に掘り下げるための提案を含む文章(返答文)である。
サーバ10の制御部104は、ステップS301において作成した質問テーブル1013の新たなレコードの質問IDと、ステップS302において生成したプロンプトと、回答文と、をそれぞれ回答テーブル1016の新たなレコードの質問ID、入力文、回答文の項目に記憶する。
【0076】
ステップS304において、サーバ10の制御部104は、判断ステップにおいて質問文が適当である判断結果を取得しなかった場合に、質問文に基づく入力データを大規模言語モデルに入力することにより出力される、質問文に対する回答文ではなく質問文を掘り下げるための返答文をユーザに提示する第2回答ステップを実行する。
具体的に、サーバ10の制御部104は、ステップS303において受信した回答文をユーザ端末20へ送信する。ユーザ端末20の制御部204は、受信した回答文をユーザ端末20のディスプレイ2081に表示し、提示する。サーバ10の制御部104は、検索処理のステップS103において検索キーワードが取得できなかった場合に、ステップS303において受信した回答文をユーザ端末20へ送信する構成としても良い。
例えば、ユーザ端末20の制御部204は、ステップS301において質問文D121を受け付けた場合は、回答文D132が対話画面D1に表示される。ユーザ端末20の制御部204は、ステップS301において質問文D122を受け付けた場合は、回答文D133が対話画面D1に表示される。
例えば、ユーザ端末20の制御部204は、ステップS301において質問文D221を受け付けた場合は、回答文D232が対話画面D2に表示される。ユーザ端末20の制御部204は、ステップS301において質問文D222を受け付けた場合は、回答文D233が対話画面D2に表示される。
【0077】
<提案処理>
検索処理は、ユーザから受け付けた質問文に応じた質問候補に基づく質問回答システム60からの出力文をユーザに提示する処理である。
【0078】
<提案処理の概要>
提案処理は、ユーザから質問文の入力を受け付け、入力した質問文を生成AI50へ入力し、生成AI50から出力された質問候補を取得し、当該質問候補をユーザへ選択可能に提示し、ユーザにより選択された1または複数の質問候補を質問回答システム60へ入力し、質問回答システム60から出力された出力内容を取得し、当該出力内容を回答文として提示する処理である。
【0079】
<提案処理の詳細>
以下に、提案処理の詳細を説明する。
【0080】
ステップS501において、サーバ10のAI制御部1042は、ユーザから質問文を受け付ける質問受付ステップを実行する。
質問受付ステップは、対話処理のステップS301と同様であるため処理を省略する。なお、本開示においては対話処理のステップS301において受け付けた質問文に応じて提案処理が実行される。つまり、検索処理のステップS501は、対話処理のステップS301と共通とする。
なお、対話処理は必ずしも実行される必要はなく、提案処理が実行される構成としても構わない。
【0081】
ステップS502において、サーバ10のAI制御部1042は、質問受付ステップにおいて受け付けた質問文を生成AI50へ送信する。
具体的に、サーバ10のAI制御部50は、大規模言語モデルである生成AI50に対する入力文(プロンプト)として、プロンプトテンプレートの〔質問文〕の箇所を、ステップS501において受け付けた質問文を挿入したプロンプトを生成し、生成AI50へ送信する。
なお、検索処理において、プロンプトに、生成AI50の出力形式として回答文ではなく1または複数の検索キーワード候補を出力するような出力データ形式を制限するための命令を含める。具体的に、OpenAI社のGPTにおいては、FunctionCallingと呼ばれる仕組みにより、質問回答システム60へ入力するための1または複数の検索キーワード候補を抽出するための命令を含める。
【0082】
ステップS502において、サーバ10のAI制御部1042は、第1質問文、第2質問文に対する回答文、第2質問文を大規模言語モデルへ入力する。
具体的に、サーバ10のAI制御部50は、質問受付ステップにおいて追加の質問文D122を受け付けた場合には、質問文D121、回答文D132、質問文122を結合した文字列を、プロンプトテンプレートの〔質問文〕の箇所に挿入したプロンプトを生成し、生成AI50へ送信する。
つまり、ステップS501において過去に1または複数の質問文を受け付けており、また、当該1または複数の質問文に対する1または複数の回答文が得られている場合には、当該1または複数の質問文および1または複数の回答文を、新たに受け付けた質問文に結合した文字列を質問文として生成AI50へ送信する。
サーバ10の制御部104は、親質問IDに基づき質問テーブル1013の質問IDの項目を検索することにより過去に受け付けた1または複数の質問情報に含まれる1または複数の質問文を取得できる。サーバ10の制御部104は、取得した1または複数の質問情報に含まれる親質問IDに基づき質問テーブル1013の質問IDの項目を検索することにより任意の親世代の質問情報および質問文を取得することができる。
サーバ10の制御部104は、過去に受け付けた1または複数の質問情報に含まれる1または複数の質問IDに基づき回答テーブル1016の項目を検索することにより1または複数の回答情報に含まれる1または複数の回答文を取得できる。なお、質問情報および回答情報はそれぞれ質問IDにより対応関係(順序関係、どの質問文に対するどの回答文か)を定めることができる。また、1または複数の回答文の順序は回答情報に含まれる日時の順序としても良い。サーバ10の制御部104は、1または複数の質問文、1または複数の回答文を順序に従って結合し、文字列を生成する。
なお、結合させる1または複数の回答文は、提案処理により得られた回答文でも良いし、検索処理、対話処理により得られた回答文を含めても構わない。
また、1または複数の質問文および1または複数の回答文のすべてを結合する必要はなく、生成AI50が受け付け可能な文字数を上限として新しい順番に所定個数の質問文および回答文を結合する構成としても良い。
【0083】
ステップS503において、質問文および追加質問文を入力データとして大規模言語モデルに入力することにより出力される1または複数の質問候補を取得するステップを実行する。
具体的に、サーバ10のAI制御部1042は、大規模言語モデルから出力された検索キーワード候補を受信し、受け付ける。
【0084】
なお、ステップS103において大規模言語モデルは検索キーワード候補を出力しない場合がある。例えば、プロンプトに含まれるユーザの質問に、十分な検索キーワード候補が含まれていない場合は、生成AI50は検索キーワード候補を出力しない。そのような場合は、ステップS504以降をスキップして、提案処理を終了する。
【0085】
ステップS504において、サーバ10のAI制御部1042は、質問受付ステップにおいて受け付けた質問文を入力データとして大規模言語モデルに入力することにより出力される1または複数の質問候補をユーザに対して提示する候補提示ステップを実行する。
具体的に、サーバ10のAI制御部1042は、大規模言語モデルから出力された1または複数の検索キーワード候補を受信し、受け付ける。
サーバ10の制御部104は、ステップS501において作成した質問テーブル1013の新たなレコードの質問IDと、ステップS502において生成したプロンプトと、1または複数の検索キーワード候補と、をそれぞれ候補テーブル1015の新たなレコードの質問ID、入力文、質問候補の項目に記憶する。
サーバ10の質問回答部1043は、1または複数の検索キーワード候補を、ユーザ端末20へ送信する。ユーザ端末20の制御部204は、受信した1または複数の検索キーワード候補を、ユーザ端末20のディスプレイ2081に表示し、提示する。
例えば、ユーザ端末20の制御部204は、ステップS501において質問文D224を受け付けた場合は、対話画面D2の質問候補D251、D252に表示し、提示する。
【0086】
例えば、候補提示ステップは、第1質問文に基づき第1質問候補を提示するステップを含む。候補提示ステップは、第1質問文、第2質問文および第1回答文に基づき第2質問候補を提示するステップを含む。
【0087】
ステップS504において、候補提示ステップは、キーワード取得ステップにおいて1または複数の検索キーワードを取得できなかった場合に、1または複数の質問候補をユーザに対して提示するステップを実行する。
具体的に、検索処理の後に提案処理が実行される構成である場合において、検索処理のステップS103において検索キーワードの取得ができなかった場合に提案処理が実行され、検索処理のステップS103において検索キーワードの取得ができた場合に提案処理が実行されないよう制御しても良い。
つまり、本開示にかかる検索処理により質問回答システム60からの回答文が得られた場合には、ユーザに対して質問候補を提示する必要はないため、検索処理により質問回答システム60からの回答文が得られなかった場合には提案処理を実行し、検索処理により質問回答システム60からの回答文が得られた場合には提案処理を実行しないように制御しても良い。
これにより、質問回答システム60からの回答文をユーザに提示することに伴い、提案処理を実行しない構成とすることができる。つまり、検索処理に対する回答が得られた場合に、ユーザとの対話を終了する構成としても良い。
【0088】
ステップS505において、サーバ10のAI制御部1042は、ユーザから、候補提示ステップにおいて提示した1または複数の質問候補の少なくともいずれか1つである所定の質問候補の選択を受け付ける候補選択ステップを実行する。
具体的に、ユーザは、ユーザ端末20の入力装置206を操作することにより、対話画面D2に提示されている1または複数の質問候補D251、D252の少なくともいずれか1つを選択する。なお、複数の質問候補D251、D252を選択可能な構成としても構わない。ユーザ端末20の制御部204は、選択された所定の1または複数の質問候補D251、D252にかかる情報をサーバ10へ送信する。
【0089】
例えば、候補選択ステップは、第1質問候補の少なくともいずれか1つである所定の第1質問候補の選択を受け付けるステップを含む。候補選択ステップは、第2質問候補の少なくともいずれか1つである所定の第2質問候補の選択を受け付けるステップを含む。
【0090】
ステップS506において、サーバ10の質問回答部1043は、候補選択ステップにおいて選択を受け付けた所定の質問候補を、質問文の入力に応じて回答文を出力可能な質問回答システムへ入力する質問入力ステップを実行する。
具体的に、サーバ10の質問回答部1043は、ステップS505において選択された所定の1または複数の質問候補D251、D252を、質問回答システム60へ送信する。
例えば、質問入力ステップは、所定の第1質問候補を質問回答システムへ入力するステップを含む。質問入力ステップは、所定の第2質問候補を質問回答システムへ入力するステップを含む。
【0091】
ステップS507において、サーバ10の質問回答部1043は、質問入力ステップにおいて質問回答システムに対する所定の質問候補の入力に応じて出力される所定の回答文を取得する回答取得ステップを実行する。
具体的に、サーバ10の質問回答部1043は、質問回答システム60から出力された出力内容を受信し、受け付ける。例えば、質問回答システム60は、質問候補にかかる入力文字列の入力を受けると、当該文字列に基づき質問回答システム60に記憶された質問回答情報に含まれる質問または回答の少なくともいずれかを全文検索等により検索し、検索結果にかかる質問回答情報を入力文字列との関連度(スコア)と関連付けて出力する。
サーバ10の質問回答部1043は、質問回答情報に含まれる回答文を受信し、取得する。
【0092】
例えば、回答取得ステップは、質問回答システムに対する所定の第1質問候補の出力に応じた所定の第1回答文を取得するステップを含む。回答取得ステップは、質問回答システムに対する所定の第2質問候補の出力に応じた所定の第2回答文を取得するステップを含む。
【0093】
ステップS507において、サーバ10の質問回答部1043は、質問回答システム60から出力された回答文を受信し、受け付ける。サーバ10の制御部104は、ステップS101において作成した質問テーブル1013の新たなレコードの質問IDと、ステップS102において生成したプロンプトと、回答文と、をそれぞれ回答テーブル1016の新たなレコードの質問ID、入力文、回答文の項目に記憶する。
【0094】
ステップS508において、サーバ10の制御部104は、質問回答システム60から出力された回答文を提示する。
具体的に、サーバ10の制御部104は、ステップS507において受信した回答文をユーザ端末20へ送信する。ユーザ端末20の制御部204は、受信した回答文をユーザ端末20のディスプレイ2081に表示し、提示する。
【0095】
<コンピュータの基本ハードウェア構成>
図14は、コンピュータ90の基本的なハードウェア構成を示すブロック図である。コンピュータ90は、プロセッサ901、主記憶装置902、補助記憶装置903、通信IF991(インタフェース、Interface)を少なくとも備える。これらは通信バス921により相互に電気的に接続される。
【0096】
プロセッサ901とは、プログラムに記述された命令セットを実行するためのハードウェアである。プロセッサ901は、演算装置、レジスタ、周辺回路等から構成される。
【0097】
主記憶装置902とは、プログラム、及びプログラム等で処理されるデータ等を一時的に記憶するためのものである。例えば、DRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0098】
補助記憶装置903とは、データ及びプログラムを保存するための記憶装置である。例えば、フラッシュメモリ、HDD(Hard Disc Drive)、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等である。
【0099】
通信IF991とは、有線又は無線の通信規格を用いて、他のコンピュータとネットワークを介して通信するための信号を入出力するためのインタフェースである。
ネットワークは、インターネット、LAN、無線基地局等によって構築される各種移動通信システム等で構成される。例えば、ネットワークには、3G、4G、5G移動通信システム、LTE(Long Term Evolution)、所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が含まれる。無線で接続する場合、通信プロトコルとして例えば、Z-Wave(登録商標)、ZigBee(登録商標)、Bluetooth(登録商標)等が含まれる。有線で接続する場合は、ネットワークには、USB(Universal Serial Bus)ケーブル等により直接接続するものも含む。
【0100】
なお、各ハードウェア構成の全部または一部を複数のコンピュータ90に分散して設け、ネットワークを介して相互に接続することによりコンピュータ90を仮想的に実現することができる。このように、コンピュータ90は、単一の筐体、ケースに収納されたコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0101】
<コンピュータ90の基本機能構成>
コンピュータ90の基本ハードウェア構成(図14)により実現されるコンピュータの機能構成を説明する。コンピュータは、制御部、記憶部、通信部の機能ユニットを少なくとも備える。
【0102】
なお、コンピュータ90が備える機能ユニットは、それぞれの機能ユニットの全部または一部を、ネットワークで相互に接続された複数のコンピュータ90に分散して設けても実現することができる。コンピュータ90は、単一のコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0103】
制御部は、プロセッサ901が補助記憶装置903に記憶された各種プログラムを読み出して主記憶装置902に展開し、当該プログラムに従って処理を実行することにより実現される。制御部は、プログラムの種類に応じて様々な情報処理を行う機能ユニットを実現することができる。これにより、コンピュータは情報処理を行う情報処理装置として実現される。
【0104】
記憶部は、主記憶装置902、補助記憶装置903により実現される。記憶部は、データ、各種プログラム、各種データベースを記憶する。また、プロセッサ901は、プログラムに従って記憶部に対応する記憶領域を主記憶装置902または補助記憶装置903に確保することができる。また、制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶されたデータの追加、更新、削除処理を実行させることができる。
【0105】
データベースは、リレーショナルデータベースを指し、行と列によって構造的に規定された表形式のテーブル、マスタと呼ばれるデータ集合を、互いに関連づけて管理するためのものである。データベースでは、表をテーブル、マスタ、表の列をカラム、表の行をレコードと呼ぶ。リレーショナルデータベースでは、テーブル、マスタ同士の関係を設定し、関連づけることができる。
通常、各テーブル、各マスタにはレコードを一意に特定するための主キーとなるカラムが設定されるが、カラムへの主キーの設定は必須ではない。制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶された特定のテーブル、マスタにレコードを追加、削除、更新を実行させることができる。
また、記憶部に、データ、各種プログラム、各種データベースを記憶させることにより、本開示にかかる情報処理装置、情報処理システムが製造されたものとして捉えることができる。
【0106】
なお、本開示におけるデータベース、マスタは、情報が構造的に規定された任意のデータ構造体(リスト、辞書、連想配列、オブジェクトなど)を含み得る。データ構造体には、データと、任意のプログラミング言語により記述された関数、クラス、メソッドなどを組み合わせることにより、データ構造体と見なし得るデータも含むものとする。
【0107】
通信部は、通信IF991により実現される。通信部は、ネットワークを介して他のコンピュータ90と通信を行う機能を実現する。通信部は、他のコンピュータ90から送信された情報を受信し、制御部へ入力することができる。制御部は、各種プログラムに従ってプロセッサ901に、受信した情報に対する情報処理を実行させることができる。また、通信部は、制御部から出力された情報を他のコンピュータ90へ送信することができる。
【0108】
<付記>
以上の各実施形態で説明した事項を以下に付記する。
【0109】
(付記1)
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プロセッサが、ユーザから質問文を受け付ける質問受付ステップ(S101,S301,S501)と、質問受付ステップにおいて受け付けた質問文を入力データとして大規模言語モデルに入力することにより、質問文が質問文の入力に応じて回答文を出力可能な質問回答システムに対する入力データとして適当か否かに関する判断結果を取得する判断ステップ(S103)と、判断ステップにおいて質問文が適当である判断結果を取得した場合に、質問文に基づく入力データを質問回答システムへ入力することにより出力される質問文に対する回答文をユーザに提示する第1回答ステップ(S106)と、判断ステップにおいて質問文が適当である判断結果を取得しなかった場合に、質問文に基づく入力データを大規模言語モデルに入力することにより出力される、質問文に対する回答文ではなく質問文を掘り下げるための返答文をユーザに提示する第2回答ステップ(S304)と、を実行するプログラム。
これにより、ユーザから受け付けた質問文が質問回答システムに対する入力データとして適当である場合には質問回答システムからの回答文の提示をユーザは受けることができ、適当ではない場合には質問文を掘り下げるための返答文の提示をユーザは受けることができる。
【0110】
(付記2)
質問回答システムは、大規模言語モデルとは異なるシステムである、付記1記載のプログラム。
これにより、ユーザから受け付けた質問文が質問回答システムに対する入力データとして適当である場合には質問回答システムからの回答文の提示をユーザは受けることができ、適当ではない場合には質問文を掘り下げるための返答文の提示をユーザは受けることができる。
【0111】
(付記3)
質問回答システムは、キーワードに基づき回答文を検索し、当該検索結果にかかる所定の回答文を出力するシステムであり、判断ステップ(S103)は、質問受付ステップにおいて受け付けた質問文を入力データとして大規模言語モデルに入力することにより質問文に含まれる1または複数のキーワードを取得するステップと、1または複数のキーワードを取得できた場合に、質問文が入力データとして適当である判断結果を取得するステップと、1または複数のキーワードを取得できなかった場合に、質問文が入力データとして適当ではない判断結果を取得するステップと、を含み、第1回答ステップ(S106)は、判断ステップにおいて取得した1または複数のキーワードを入力データとして質問回答システムへ入力することにより出力される質問文に対する回答文をユーザに提示するステップである、付記1記載のプログラム。
これにより、ユーザから受け付けた質問文が質問回答システムに対する入力データとして適当なキーワードを含む場合には、当該キーワードに基づく質問回答システムからの回答文の提示をユーザは受けることができ、キーワードを含まない場合には質問文を掘り下げるための返答文の提示をユーザは受けることができる。
【0112】
(付記4)
質問受付ステップ(S101)は、判断ステップにおいて1または複数の検索キーワードを取得できなかった場合に、追加質問文を受付可能なステップであり、判断ステップ(S103)は、質問文および追加質問文を入力データとして大規模言語モデルに入力することにより出力される1または複数のキーワードを取得するステップを含む、付記3記載のプログラム。
これにより、ユーザが入力した質問文に基づき検索キーワードが取得できなかった場合に、追加質問を受け付けることができ、当該追加質問に基づき出力された検索キーワードを質問回答システムへ入力することができる。
【0113】
(付記5)
プロセッサが、質問受付ステップにおいて受け付けた質問文を入力データとして大規模言語モデルに入力することにより出力される1または複数の質問候補をユーザに対して提示する候補提示ステップ(S504)と、ユーザから、候補提示ステップにおいて提示した1または複数の質問候補の少なくともいずれか1つである所定の質問候補の選択を受け付ける候補選択ステップ(S505)と、候補選択ステップにおいて選択を受け付けた所定の質問候補を質問回答システムへ入力することにより出力される質問文に対する回答文をユーザに提示する第3回答ステップ(S508)と、を実行する、付記1記載のプログラム。
これにより、ユーザから受け付けた質問文が不十分な場合においても、大規模言語モデルから出力される質問候補に基づくより適した回答文を出力するための質問文を質問回答システムへ入力することができる。
【0114】
(付記6)
候補提示ステップ(S504)は、判断ステップにおいて質問文に含まれる1または複数のキーワードを取得できなかった場合に、1または複数の質問候補をユーザに対して提示するステップである、付記5記載のプログラム。
これにより、ユーザが入力した質問文に基づき検索キーワードが取得できなかった場合に、質問候補をユーザに対して提示することができる。質問候補に基づき、より適した回答文を出力するための質問文を質問回答システムへ入力することができる。
【0115】
(付記7)
質問受付ステップ(S101,S301,S501)は、第1質問文を受け付けるステップを含み、第1質問文に基づき、第1回答ステップおよび第2回答ステップの少なくともいずれかのステップに基づく第1回答文を提示する回答ステップ(S106,S304,S508)と、質問受付ステップ(S101)は、第2質問文を受け付けるステップを含み、判断ステップ(S103)は、第1質問文、第2質問文および第1回答文を入力データとして大規模言語モデルに入力することにより出力される第2キーワードを取得するステップを含み、第1回答ステップ(S106)は、第2キーワードを入力データとして質問回答システムへ入力することにより出力される質問文に対する回答文をユーザに提示するステップを含む、付記3記載のプログラム。
これにより、ユーザは複数の質問文を質問することができ、当該質問文に応じて得られた回答文を含めた内容に対する検索キーワードを質問回答システムへ入力することができる。当該検索キーワードに基づく第2回答文を質問回答システムから取得し提示することができる。
【0116】
(付記8)
質問受付ステップ(S101,S301,S501)は、第1質問文を受け付けるステップを含み、第1質問文に基づき、第1回答ステップ、第2回答ステップおよび第3回答ステップの少なくともいずれかのステップに基づく第2回答文を提示する回答ステップ(S106,S304,S508)と、質問受付ステップ(S501)は、第2質問文を受け付けるステップを含み、候補提示ステップ(S504)は、第1質問文、第2質問文および第2回答文を入力データとして大規模言語モデルに入力することにより出力される第2質問候補をユーザに提示するステップを含み、候補選択ステップ(S505)は、第2質問候補の少なくともいずれか1つである所定の第2質問候補の選択を受け付けるステップを含み、第3回答ステップ(S508)は、所定の第2質問候補を、質問回答システムへ入力することにより出力される質問文に対する回答文をユーザに提示するステップを含む、付記5記載のプログラム。
これにより、ユーザは複数の質問文を質問することができ、当該質問文に応じて得られた回答文を含めた内容に対する質問候補を大規模言語モデルから取得することができる。当該質問候補に基づく第2回答文を質問回答システムから取得し提示することができる。
【0117】
(付記9)
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、プロセッサが、付記1から付記8のいずれかに係る発明において実行される全てのステップを実行する方法。
これにより、ユーザから受け付けた質問文が質問回答システムに対する入力データとして適当である場合には質問回答システムからの回答文の提示をユーザは受けることができ、適当ではない場合には質問文を掘り下げるための返答文の提示をユーザは受けることができる。
【0118】
(付記10)
制御部と、記憶部とを備える情報処理装置であって、制御部が、付記1から付記8のいずれかに係る発明において実行される全てのステップを実行する情報処理装置。
これにより、ユーザから受け付けた質問文が質問回答システムに対する入力データとして適当である場合には質問回答システムからの回答文の提示をユーザは受けることができ、適当ではない場合には質問文を掘り下げるための返答文の提示をユーザは受けることができる。
【0119】
(付記11)
付記1から付記8のいずれかに係る発明において実行される全てのステップを実行する手段を備えるシステム。
これにより、ユーザから受け付けた質問文が質問回答システムに対する入力データとして適当である場合には質問回答システムからの回答文の提示をユーザは受けることができ、適当ではない場合には質問文を掘り下げるための返答文の提示をユーザは受けることができる。
【符号の説明】
【0120】
1 システム、10 サーバ、101 記憶部、104 制御部、106 入力装置、108 出力装置、20 ユーザ端末、201 記憶部、204 制御部、206 入力装置、208 出力装置、50 生成AI、501 記憶部、504 制御部、506 入力装置、508 出力装置、60 質問回答システム、601 記憶部、604 制御部、606 入力装置、608 出力装置


【要約】      (修正有)
【課題】質問文に対して適した回答文を出力するプログラム、方法、情報処理装置及びシステムを提供する。
【解決手段】方法は、ユーザから質問文を受け付け、受け付けた質問文を入力データとして大規模言語モデルに入力することにより、質問文が質問文の入力に応じて回答文を出力可能な質問回答システムに対する入力データとして適当か否かに関する判断結果を取得し、質問文が適当である判断結果を取得した場合には、質問文に基づく入力データを質問回答システムへ入力することにより出力される質問文に対する回答文をユーザに提示し、質問文が適当であるとの判断結果を取得しなかった場合には、質問文に基づく入力データを大規模言語モデルに入力することにより出力される、質問文に対する回答文ではなく質問文を掘り下げるための返答文をユーザに提示する。
【選択図】図11
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14