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

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

▶ 株式会社SVI研究所の特許一覧

<>
  • 特許-システム、コンピュータ装置及び方法 図1
  • 特許-システム、コンピュータ装置及び方法 図2
  • 特許-システム、コンピュータ装置及び方法 図3
  • 特許-システム、コンピュータ装置及び方法 図4
  • 特許-システム、コンピュータ装置及び方法 図5
  • 特許-システム、コンピュータ装置及び方法 図6
  • 特許-システム、コンピュータ装置及び方法 図7
  • 特許-システム、コンピュータ装置及び方法 図8
  • 特許-システム、コンピュータ装置及び方法 図9
  • 特許-システム、コンピュータ装置及び方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-11-28
(45)【発行日】2024-12-06
(54)【発明の名称】システム、コンピュータ装置及び方法
(51)【国際特許分類】
   G06F 16/30 20190101AFI20241129BHJP
【FI】
G06F16/30
【請求項の数】 3
(21)【出願番号】P 2024137949
(22)【出願日】2024-08-19
(62)【分割の表示】P 2024071943の分割
【原出願日】2024-04-25
【審査請求日】2024-08-20
【早期審査対象出願】
(73)【特許権者】
【識別番号】521184597
【氏名又は名称】株式会社SVI研究所
(74)【代理人】
【識別番号】110001782
【氏名又は名称】弁理士法人ライトハウス国際特許事務所
(72)【発明者】
【氏名】國分 恒彰
(72)【発明者】
【氏名】大田 健太郎
(72)【発明者】
【氏名】山本 義夫
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】米国特許第11947902(US,B1)
【文献】特許第7538364(JP,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
少なくとも1のコンピュータ装置を備えるシステムであって、
プロンプトをもとに言語モデルから回答を取得する回答取得手段と、
言語モデルから取得した回答に、利用者の行動を提案する提案情報を生成するトリガーとなるアクション情報が含まれる場合に、前記回答に対応する提案情報を生成する提案生成手段と
提案生成手段にて生成された提案情報に基づいて、言語モデルから取得した回答を編集する回答編集手段
を備える、システム。
【請求項2】
少なくとも1のコンピュータ装置において実行される方法であって、
プロンプトをもとに言語モデルから回答を取得する回答取得ステップと、
言語モデルから取得した回答に、利用者の行動を提案する提案情報を生成するトリガーとなるアクション情報が含まれる場合に、前記回答に対応する提案情報を生成する提案生成ステップと
提案生成ステップにて生成された提案情報に基づいて、言語モデルから取得した回答を編集する回答編集ステップ
を有する、方法。
【請求項3】
プロンプトをもとに言語モデルから回答を取得する回答取得手段と、
言語モデルから取得した回答に、利用者の行動を提案する提案情報を生成するトリガーとなるアクション情報が含まれる場合に、前記回答に対応する提案情報を生成する提案生成手段と
提案生成手段にて生成された提案情報に基づいて、言語モデルから取得した回答を編集する回答編集手段
を備える、コンピュータ装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システム、コンピュータ装置及び方法に関する。
【背景技術】
【0002】
近年、大規模言語モデル(LLM:Large Language Models)を用いて、質疑応答、文章要約、文章生成等の自然言語処理のタスクを行うシステムが提供されている。LLMとは、大量のテキストデータを使ってトレーニングされた自然言語処理のモデルのことである。質疑応答を行うシステムにLLMを利用する場合、LLMにテキストを入力することで、LLMから回答が出力される。LLMに入力されるテキストは、プロンプト(Prompt)と呼ばれる。LLMを利用することにより、ユーザは気軽に回答を取得することができる。しかし、プロンプトの内容によっては、LLMから適切な回答が得られないことがある。
【0003】
例えば、特許文献1には、質問に対して正確性を高めた回答を可能とする情報処理装置が開示されている。特許文献1に記載の情報処理装置は、それぞれ異なる種類のデータを格納した複数のデータベースのうち、入力された質問に対応するデータベースを前記質問の内容に基づいて選択し、選択したデータベースと、前記質問とに基づいて、言語モデルに入力するためのプロンプトを生成し、前記プロンプトと前記言語モデルとに基づいて回答を生成する処理部を備えている。
【先行技術文献】
【特許文献】
【0004】
【文献】特許第7441366号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、例えば、以下のいずれかの課題を解決することができる。
【0006】
本発明の第1の課題は、入力された質問について所定の情報が含まれていない場合に、所定の情報を追加してプロンプトを生成するシステムを提供することである。本発明の第2の課題は、適切な広告情報を特定することのできるシステムを提供することである。本発明の第3の課題は、正確性を高めた回答を提供することのできるシステムを提供することである。本発明の第4の課題は、ユーザに対して新たな提案を提供することのできるシステムを提供することである。本発明の第5の課題は、入力された質問の回答として適切な回答であるか否かを判定することのできるシステムを提供することである。
【課題を解決するための手段】
【0007】
本発明の課題は、
[1]少なくとも1のコンピュータ装置を備えるシステムであって、ユーザ端末から入力された質問に所定の情報が含まれているか否かを判定する判定手段と、入力された質問に所定の情報が含まれていないと判定された場合に、前記質問に所定の情報を追加して、前記言語モデルへ入力するためのプロンプトを生成する第1生成手段とを備える、システム;
[2]判定手段が、入力された質問と、質問の定型文との比較により、所定の情報が含まれているか否かを判定する、前記[1]に記載のシステム;
[3]入力された質問が、推薦する行動を求めるものであり、所定の情報が、推薦する行動を実行することで達成される目的若しくは得られる感情、又は、推薦する行動を実行する際の状況若しくは条件に関する情報である、前記[1]又は[2]に記載のシステム;
[4]判定手段が、入力された質問に、所定の情報として、前記目的若しくは前記感情、又は、前記状況若しくは前記条件に関する情報が含まれないと判定した場合に、ユーザ端末へ、前記目的若しくは前記感情、又は、前記状況若しくは前記条件に関する情報を入力するように要求する要求手段とを備え、第1生成手段が、ユーザ端末からの入力により、取得された前記目的若しくは前記感情、又は、前記状況若しくは前記条件に関する情報と、前記質問とに基づいて、前記言語モデルへ入力するためのプロンプトを生成する、前記[3]に記載のシステム;
[5]少なくとも1のコンピュータ装置において実行される方法であって、ユーザ端末から入力された質問について、所定の情報が含まれているか否かを判定する判定ステップと、入力された質問について所定の情報が含まれていないと判定された場合に、前記質問に所定の情報を追加して、前記言語モデルへ入力するためのプロンプトを生成する第1生成ステップとを有する、方法;
[6]ユーザ端末から入力された質問について、所定の情報が含まれているか否かを判定する判定手段と、入力された質問について所定の情報が含まれていないと判定された場合に、前記質問に所定の情報を追加して、前記言語モデルへ入力するためのプロンプトを生成する第1生成手段とを備える、コンピュータ装置;
[7]少なくとも1のコンピュータ装置を備えるシステムであって、広告に関する広告情報が記憶されたデータベースから、プロンプトを言語モデルへ入力することで取得された回答と類似する広告情報を取得する取得手段を備える、システム;
[8]取得手段が、複数の広告情報を取得するものであり、取得した複数の広告情報から、プロンプト又はプロンプトを生成するためにユーザ端末から入力された質問と類似する1以上の広告情報を選択する選択手段を備える、前記[7]に記載のシステム;
[9]プロンプトを言語モデルへ入力することで取得された回答について、ベクトル演算を実行する演算実行手段と、取得手段が、広告情報について、ベクトル演算を実行することで得られる値が、前記回答からベクトル演算により得られる値に近似する広告情報を取得する、前記[8]又は[9]に記載のシステム;
[10]少なくとも1のコンピュータ装置を備えるシステムであって、広告に関する広告情報が記憶されたデータベースから、言語モデルへ入力するためのプロンプト又はプロンプトを生成するためにユーザ端末から入力された質問と類似する広告情報を取得する取得手段を備える、システム;
[11]取得手段が、複数の広告情報を取得するものであり、取得した複数の広告情報から、前記プロンプトを言語モデルへ入力することで取得された回答と類似する1以上の広告情報を選択する選択手段とを備える、前記[10]に記載のシステム;
[12]プロンプトを生成するためにユーザ端末から入力された質問、又は該質問に関する情報について、ベクトル演算を実行する演算実行手段と、取得手段が、広告情報について、ベクトル演算を実行することで得られる値が、前記質問又は前記質問に関する情報からベクトル演算により得られる値に近似する値が得られる広告情報を取得する、前記[10]又は[11]に記載のシステム;
[13]少なくとも1のコンピュータ装置において実行される方法あって、広告に関する広告情報が記憶されたデータベースから、プロンプトを言語モデルへ入力することで取得された回答と類似する広告情報を取得する取得ステップを有する、方法;
[14]少なくとも1のコンピュータ装置において実行される方法であって、広告に関する広告情報が記憶されたデータベースから、言語モデルへ入力するためのプロンプト又はプロンプトを生成するためにユーザ端末から入力された質問と類似する広告情報を取得する取得ステップを有する、方法;
[15]広告に関する広告情報が記憶されたデータベースから、プロンプトを言語モデルへ入力することで取得された回答と類似する複数の広告情報を取得する取得手段と、を備える、コンピュータ装置;
[16]広告に関する広告情報が記憶されたデータベースから、言語モデルへ入力するためのプロンプト又はプロンプトを生成するためにユーザ端末から入力された質問と類似する複数の広告情報を取得する取得手段と、を備える、コンピュータ装置;
[17]少なくとも1のコンピュータ装置を備えるシステムであって、プロンプトをもとに言語モデルから回答を取得する回答取得手段と、言語モデルへ入力するためのプロンプトに、施設又は地域の推薦を求める施設希望情報が含まれる場合に、施設又は地域に関する情報を記憶するデータベースから、施設又は地域に関する情報を取得する又は生成する取得手段と、取得手段にて取得又は生成された情報に基づいて、言語モデルから取得した回答を編集する回答編集手段とを備える、システム;
[18]少なくとも1のコンピュータ装置を備えるシステムであって、プロンプトをもとに言語モデルから回答を取得する回答取得手段と、言語モデルから取得した回答に、施設又は地域に関する情報が含まれる場合に、施設又は地域に関する情報を記憶するデータベースから、前記回答に対応する施設又は地域に関する情報を取得する又は生成する取得手段と、取得手段にて取得又は生成された情報に基づいて、言語モデルから取得した回答を編集する回答編集手段とを備える、システム;
[19]プロンプト、又は、プロンプトを言語モデルへ入力することで取得された回答について、ベクトル演算を実行する演算実行手段と、取得手段が、施設又は地域に関する情報について、ベクトル演算を実行することで得られる値が、前記プロンプト又は前記回答からベクトル演算により得られる値に近似する施設又は地域に関する情報を取得する、前記[17]又は[18]に記載のシステム;
[20]少なくとも1のコンピュータ装置において実行される方法であって、プロンプトをもとに言語モデルから回答を取得する回答取得ステップと、言語モデルへ入力するためのプロンプトに、施設又は地域の推薦を求める施設希望情報が含まれる場合に、施設又は地域に関する情報を記憶するデータベースから、施設又は地域に関する情報を取得する又は生成する取得ステップと、取得ステップにて取得又は生成された情報に基づいて、言語モデルから取得した回答を編集する回答編集ステップとを有する、方法;
[21]少なくとも1のコンピュータ装置において実行される方法であって、プロンプトをもとに言語モデルから回答を取得する回答取得ステップと、言語モデルから取得した回答に、施設又は地域に関する情報が含まれる場合に、施設又は地域に関する情報を記憶するデータベースから、前記回答に対応する施設又は地域に関する情報を取得する又は生成する取得ステップと、取得ステップにて取得又は生成された情報に基づいて、言語モデルから取得した回答を編集する回答編集ステップとを有する、方法;
[22]プロンプトをもとに言語モデルから回答を取得する回答取得手段と、言語モデルへ入力するためのプロンプトに、施設又は地域の推薦を求める施設希望情報が含まれる場合に、施設又は地域に関する情報を記憶するデータベースから、施設又は地域に関する情報を取得する又は生成する取得手段と、取得手段にて取得又は生成された情報に基づいて、言語モデルから取得した回答を編集する回答編集手段とを備える、コンピュータ装置;
[23]プロンプトをもとに言語モデルから回答を取得する回答取得手段と、言語モデルから取得した回答に、施設又は地域に関する情報が含まれる場合に、施設又は地域に関する情報を記憶するデータベースから、前記回答に対応する施設又は地域に関する情報を取得する又は生成する取得手段と、取得手段にて取得又は生成された情報に基づいて、言語モデルから取得した回答を編集する回答編集手段とを備える、コンピュータ装置;
[24]少なくとも1のコンピュータ装置を備えるシステムであって、プロンプトをもとに言語モデルから回答を取得する回答取得手段と、言語モデルから取得した回答に、利用者の行動を提案する提案情報を生成するトリガーとなるアクション情報が含まれる場合に、前記回答に対応する提案情報を生成する提案生成手段と提案生成手段にて生成された提案情報に基づいて、言語モデルから取得した回答を編集する回答編集手段を備える、システム;
[25]少なくとも1のコンピュータ装置において実行される方法であって、プロンプトをもとに言語モデルから回答を取得する回答取得ステップと、言語モデルから取得した回答に、利用者の行動を提案する提案情報を生成するトリガーとなるアクション情報が含まれる場合に、前記回答に対応する提案情報を生成する提案生成ステップと提案生成ステップにて生成された提案情報に基づいて、言語モデルから取得した回答を編集する回答編集ステップを有する、方法;
[26]プロンプトをもとに言語モデルから回答を取得する回答取得手段と、言語モデルから取得した回答に、利用者の行動を提案する提案情報を生成するトリガーとなるアクション情報が含まれる場合に、前記回答に対応する提案情報を生成する提案生成手段と提案生成手段にて生成された提案情報に基づいて、言語モデルから取得した回答を編集する回答編集手段を備える、コンピュータ装置;
[27]少なくとも1のコンピュータ装置を備えるシステムであって、プロンプト例、及び、該プロンプト例に対応する回答例をもとに、プロンプトを言語モデルへ入力することで取得された回答を、前記プロンプトに対応する質問の回答として適切か否かを判定する判定手段を備える、システム;
[28]判定手段が、前記プロンプトに施設又は地域の推薦を求める施設希望情報が含まれる場合に、前記回答に施設又は地域に関する情報が含まれるときに、前記回答を、前記プロンプトに対応する質問の回答として適切であると判定する、前記[26]に記載のシステム;
[29]プロンプト、及び、該プロンプトを言語モデルへ入力することで取得された回答について、それぞれベクトル演算を実行する演算実行手段を備え、判定手段が、プロンプトをベクトル演算して得られる値に、ベクトル演算により近似する値が得られる、プロンプト例に対応する回答例をベクトル演算して得られる値が、回答をベクトル演算して得られる値に近似する場合に、前記回答を、前記プロンプトに対応する質問の回答として適切であると判定する、前記[27]又は[28]に記載のシステム;
[30]少なくとも1のコンピュータ装置において実行される方法であって、プロンプト例、及び、該プロンプト例に対応する回答例をもとに、プロンプトを言語モデルへ入力することで取得された回答を、前記プロンプトに対応する質問の回答として適切か否かを判定する判定ステップを有する、方法;
[31]プロンプト例、及び、該プロンプト例に対応する回答例をもとに、プロンプトを言語モデルへ入力することで取得された回答を、前記プロンプトに対応する質問の回答として適切か否かを判定する判定手段を備える、コンピュータ装置;
により解決することができる。
【発明の効果】
【0008】
本発明によれば、入力された質問について所定の情報が含まれていない場合に、所定の情報を追加してプロンプトを生成するシステムを提供することができる。本発明によれば、適切な広告情報を特定することのできるシステムを提供することができる。本発明によれば、正確性を高めた回答を提供することのできるシステムを提供することができる。本発明によれば、ユーザに対して新たな提案を提供することのできるシステムを提供することができる。本発明によれば、入力された質問の回答として適切な回答であるか否かを判定することのできるシステムを提供することができる。
【図面の簡単な説明】
【0009】
図1】本発明の実施の形態にかかるシステムの構成を示すブロック図である。
図2】本発明の実施の形態にかかるユーザ端末のハードウェア構成を示すブロック図である。
図3】本発明の実施の形態にかかるサーバ装置のハードウェア構成を示すブロック図である。
図4】本発明の実施の形態に係る出力処理のフローチャートを示す図である。
図5】本発明の実施の形態に係る質問補完処理のフローチャートを示す図である。
図6】本発明の実施の形態に係る確認情報出力処理のフローチャートを示す図である。
図7】本発明の実施の形態に係る回答取得処理のフローチャートを示す図である。
図8】本発明の実施の形態に係る回答判定処理のフローチャートを示す図である。
図9】本発明の実施の形態に係る回答補完処理のフローチャートを示す図である。
図10】本発明の実施の形態に係る広告特定処理のフローチャートを示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態について説明をするが、本発明の趣旨に反しない限り、本発明は、以下の実施の形態に限定されない。以下で説明するフローチャートを構成する各処理の順序は、処理内容に矛盾や不整合が生じない範囲で順不同であり、また、処理内容に矛盾や不整合が生じない範囲で、フローチャートを構成する各処理の一部を省略することや、フローチャートを構成する各処理に新たな処理を追加することも可能である。また、フローチャートを構成する各処理を実行する主体となる装置は、本発明の趣旨に反しない限り、他の装置へ変更することが可能である。その際、処理内容に矛盾や不整合が生じないように、処理内容を変更することが可能である。
【0011】
本発明のシステムは、利用者であるユーザの行動を支援する情報を、ユーザに対して提供するシステムである。本実施の形態において、ユーザの行動は、所定の目的のためにユーザが実行する動作であり、ユーザの行動は、移動を伴う行動であってもよく、移動を伴わない行動であってもよい。行動の目的は、特に限定されないが、例えば、旅行、出張、外出、観光、運動、散歩、買い物、休憩、避難等があげられる。また、ユーザの行動を支援する情報は、ユーザの行動の目的に対応する情報であってもよく、ユーザの行動の目的を達成するための手段に関する情報であってもよく、ユーザの行動の目的から派生する情報であってもよい。
【0012】
[システムの構成]
図1は、本発明の実施の形態にかかる情報処理システムの構成を示すブロック図である。システム10は、少なくとも1のコンピュータ装置を備える。システム10は、例えば、ユーザ端末1と、サーバ装置2とを備える。システム10は、言語モデルサーバ3と、管理者端末4とを備えていてもよい。ユーザ端末1、サーバ装置2、言語モデルサーバ3及び管理者端末4は、通信ネットワーク5を介して、互いに通信可能に接続されている。システム10では、ユーザ端末1、サーバ装置2、及び言語モデルサーバ3のいずれかが情報処理装置として機能し得る。いずれかの装置が情報処理装置として機能する際に、必要に応じて、ユーザ端末1、サーバ装置2、及び言語モデルサーバ3の間で、情報の送受信を実行する。
【0013】
なお、システム10は、複数のユーザ端末1を備えてもよく、複数のサーバ装置2を備えてもよく、複数の管理者端末4を備えていてもよい。サーバ装置2は、複数のコンピュータ装置に分散して機能するものであってもよい。例えば、サーバ装置2に代えて、ブロックチェーンなどの分散型台帳技術を利用してもよい。
【0014】
[ユーザ端末]
ユーザ端末1は、システム10の利用者(ユーザ)により操作される。ユーザは、ユーザ端末1を操作して、システム10に所定の質問を入力する。ユーザ端末1としては、特に限定されないが、例えば、従来型の携帯電話、タブレット型端末、スマートフォン、ノートパソコン、デスクトップパソコン等などが挙げられる。
【0015】
図2は、本発明の実施の形態にかかるユーザ端末のハードウェア構成を示すブロック図である。ユーザ端末1は、制御部11、RAM12、ストレージ部13、入力部14、表示部15及び通信インタフェース16を備え、それぞれバスにより接続されている。ユーザ端末1はGPS受信部を備えていてもよい。
【0016】
制御部11は、CPUやROMから構成される。制御部11は、ストレージ部13に格納されたプログラムを実行し、ユーザ端末1の制御を行う。RAM12は、制御部11のワークエリアである。ストレージ部13は、プログラムやデータを保存するための記憶領域である。つまり、ストレージ部13は、プログラムを記憶した記録媒体として機能する。制御部11は、RAM12から読み出したプログラム及びデータ、並びに、入力部14にて入力されたデータをもとに、演算処理を行う。
【0017】
表示部15は表示画面を有している。制御部11は、演算処理の結果に応じて、表示画面に画像を表示するためのビデオ信号を出力する。ここで、表示部15の表示画面はタッチセンサを備えるタッチパネルであってもよい。この場合、タッチパネルが入力部14として機能する。GPS受信部は、GPS信号を受信しユーザ端末1の位置を特定する。通信インタフェース16は無線又は有線により通信ネットワーク5に接続が可能であり、通信ネットワーク5を介して、他のコンピュータ装置とデータを送受信することが可能である。通信インタフェース16を介して受信したデータは、RAM12にロードされ、制御部11により演算処理が行われる。
【0018】
[サーバ装置]
図3は、本発明の実施の形態にかかるサーバ装置のハードウェア構成を示すブロック図である。サーバ装置2は、制御部21、RAM22、ストレージ部23及び通信インタフェース24を少なくとも備え、それぞれ内部バスにより接続されている。
【0019】
制御部21は、CPUやROMから構成され、ストレージ部23に格納されたプログラムを実行し、サーバ装置2の制御を行う。また、制御部21は時間を計時する内部タイマを備えている。RAM22は、制御部21のワークエリアである。ストレージ部23は、プログラムやデータを保存するための記憶領域である。つまり、ストレージ部23は、プログラムを記憶した記録媒体として機能する。制御部21は、プログラム及びデータをRAM22から読み出し、ユーザ端末1から受信した情報等をもとに、プログラム実行処理を行う。
【0020】
サーバ装置2は、ユーザ端末1から入力された質問を基に、言語モデルサーバ3に入力するためのプロンプトを生成する。サーバ装置2は、言語モデルサーバ3から出力された回答を基に、回答を編集する。また、サーバ装置2は、言語モデルサーバ3から出力された回答を基に、広告に関する広告情報を取得する。サーバ装置2は、これらの処理を実行するための各種データベース(DB)をストレージ部23に記憶している。各処理の内容及び各種DBについては、後述する。
【0021】
[言語モデルサーバ]
言語モデルサーバ3は、自然言語処理を処理する言語モデルが記憶されているコンピュータ装置である。言語モデルサーバ3のハードウェア構成は、サーバ装置2のハードウェア構成の記載を適宜採用できる。本実施の形態において、言語モデルはLLMを用いるが、自然言語を処理できるものであれば、LLM以外の言語モデルを用いてもよい。
【0022】
なお、サーバ装置2は、言語モデルを記憶していてもよい。サーバ装置2に言語モデルが記憶される場合、システム10は、言語モデルサーバ3を備えなくてもよい。また、サーバ装置2にLLMよりも規模の小さい小規模言語モデルが記憶され、言語モデルサーバ3にLLMが記憶されてもよい。小規模言語モデルは、LLMに比べて少ないデータに基づいてトレーニングされた自然言語処理のモデルである。
【0023】
[管理者端末]
管理者端末4は、システム10を管理する管理者によって操作される。管理者端末4としては、特に限定されないが、例えば、従来型の携帯電話、タブレット型端末、スマートフォン、ノートパソコン、デスクトップパソコン等などが挙げられる。管理者端末4のハードウェア構成は、ユーザ端末1のハードウェア構成の記載を適宜採用できる。
【0024】
なお、本実施の形態において、プログラムは、CD-ROMなどの記録媒体に記憶されていてもよい。この場合、記録媒体に記憶されたプログラムが、ユーザ端末1又はサーバ装置2にインストールされて、所定の機能を実行することとしてもよい。或いは、プログラムは、システム外部のコンピュータ装置から配信されてもよい。この場合、システム外部のコンピュータ装置から配信されたプログラムが、ユーザ端末1又はサーバ装置2にインストールされて、所定の機能を実行することとしてもよい。
【0025】
[出力処理]
本実施の形態に係るシステム10の出力処理を説明する。図4は、本発明の実施の形態に係る出力処理のフローチャートを示す図である。なお、フローチャートに含まれる各処理の詳細については後述する。
【0026】
まず、ユーザは、ユーザ端末1から、ウェブブラウザを経由してサーバ装置2にアクセスすることで、システム10にログインする。或いは、ユーザは、ユーザ端末1にダウンロードされたアプリケーションプログラム(以下、専用アプリという)を起動し、サーバ装置2にアクセスすることで、システム10にログインしてもよい。なお、システム10にログインする際には、予め登録されているユーザ識別情報(ユーザIDともいう)又はメールアドレスと、パスワードの入力が要求されてもよい。
【0027】
ユーザがシステム10にログインすると、ユーザはユーザ端末1を操作して質問を入力する。サーバ装置2は、質問に関する質問情報の入力を受け付ける(ステップS100)。
【0028】
質問は自然言語(テキスト)によって入力される。質問情報は、文章に関するテキスト情報であり、文字、記号、又は、数字を含む。ユーザは、キーボード、マウス、タッチパネル、音声入力装置等を利用して、質問を入力できる。質問の内容は特に限定されないが、質問は、例えば、推薦する行動を求めるものであってもよい。例えば、質問は、「出発までの時間を過ごせる場所が知りたい。」や「出先で地震が起きた。どうしたらいい?」といったものであってもよい。
【0029】
次に、サーバ装置2は、質問情報から1以上の部分プロンプトを生成する(ステップS120)。部分プロンプトは、質問情報を分解して生成される。部分プロンプトを生成する処理は、公知の手法を利用することができる。部分プロンプトは、例えば、1つの文章に、1つの事柄が含まれるように生成されてもよい。部分プロンプトは、質問の一部であると捉えることができる。
【0030】
部分プロンプトは、1つ1つがプロンプトとして利用され得る。ここで、本実施の形態において、プロンプトは、言語モデルへ入力するテキスト情報である。システム10は、複数の部分プロンプトをまとめて、1つのプロンプトとして言語モデルに入力してもよい。プロンプトを言語モデルへ入力することで、回答が取得される。
【0031】
例えば、質問情報として「11時に新幹線に乗るまで、東京でお勧めの場所を教えてください。」という文章が入力された場合、ステップS120では、サーバ装置2は、「11時に新幹線に乗ります。」という部分プロンプトと、「東京でお勧めの場所を教えてください。」という部分プロンプトを生成する。
【0032】
次に、サーバ装置2は、ステップS100でユーザ端末1から入力された質問に、所定の情報が含まれているか否かを判定する。質問に所定の情報が含まれておらず、不足している情報(不足要素ともいう)があれば、不足要素を補完して部分プロンプトを生成する質問補完処理が実行される(ステップS140)。ステップS140では、不足要素の有無によらず、部分プロンプトが生成されてもよい。ステップS140では、少なくとも1以上の部分プロンプトが生成される。
【0033】
例えば、ステップS140では、「東京でお勧めの場所を教えてください。」という部分プロンプトは、「観光するために、東京でお勧めの場所を教えてください。」という部分プロンプトに変化する。また、ステップS140では、「質問者は、現在、渋谷にいます。」、「質問者は男性です。」、「質問者の趣味は博物館めぐりです。」という部分プロンプトが生成される。
【0034】
ステップS140において、不足要素が補完された部分プロンプトが生成されると、サーバ装置2は、言語モデルへ入力するためのプロンプトを生成する(ステップS160)。システム10において、ステップS160の処理の前に、複数の部分プロンプトが生成される。ステップS160では、サーバ装置2は、ステップS120、S146、S148、及び/又は、S149にて生成された複数の部分プロンプトをまとめて、1つのプロンプトを生成する。つまり、システム10は、入力された質問に所定の情報が含まれていないと判定された場合に、質問に所定の情報を追加して、言語モデルへ入力するためのプロンプトを生成することができる。
【0035】
例えば、部分プロンプトとして、「11時に品川駅で新幹線に乗ります。」、「観光するために、東京でお勧めの場所を教えてください。」、「質問者は男性です。」、「質問者の趣味は博物館めぐりです。」が生成された場合、ステップS160では、以下のプロンプトが生成される。
「観光するために、東京でお勧めの場所を教えてください。回答する際に、以下の情報を参考にしてください。
11時に品川駅で新幹線に乗ります。質問者は、現在、渋谷にいます。質問者は男性です。質問者の趣味は博物館めぐりです。」
【0036】
次に、ステップS160にて生成されたプロンプトを基に回答を取得する回答取得処理が実行される(ステップS180)。
例えば、上記のプロンプトについて、ステップS180が実行されると、以下の回答が取得される。回答に含まれる施設の情報は、実際に存在する施設の情報である。
「東京での観光におすすめの場所をご紹介します。品川駅から新幹線に乗る前に、渋谷から近くて趣味に合った場所をお楽しみいただけます。

A美術館:近代美術から現代アートまで幅広い展示があります。
B博物館:上野に位置し、日本の歴史や文化に触れることができる素晴らしい博物館です。
C博物館:江戸時代から現代に至るまでの東京の歴史や文化を学ぶことができる博物館です。

これらの博物館は、趣味である博物館巡りに合わせて選びました。」
【0037】
次に、ステップS180にて取得された回答が、ステップS160にて生成されたプロンプトに対応する質問の回答として適切か否かを判定する回答判定処理が実行される(ステップS200)。回答が適切である場合、ステップS180で取得された回答を補完する回答補完処理が実行される(ステップS220)。
【0038】
例えば、「11時に新幹線に乗るまで、東京でお勧めの場所を教えてください。」という質問に対して、上記の回答は適切であると判定される。また、ステップS220にて回答が補完されると、以下の文章が取得される。
「東京での観光におすすめの場所をご紹介します。品川駅から新幹線に乗る前に、渋谷から近くて趣味に合った場所をお楽しみいただけます。

A美術館:近代美術から現代アートまで幅広い展示があります。
渋谷から、電車を利用して、約20分で到着し、品川までは約30分です。所要滞在時間は1時間です。乗り換え情報は次のサイトをご覧ください。https….
10時~11時まで、A美術館をスケジュールに登録しますか?

B博物館:日本の歴史や文化に触れることができる素晴らしい博物館です。
渋谷から、電車を利用して約25分で到着し、品川までは約45分です。所要滞在時間は45分間です。乗り換え情報は次のサイトをご覧ください。https….なお、X駅が混雑しているようです。
B博物館の予約チケットは次のサイトから取得できます。https….

これらの博物館は、趣味である博物館巡りに合わせて選びました。渋谷から品川への移動時間も考慮していますので、観光と移動の両方を楽しむことができるでしょう。」
なお、「10時~11時まで、A美術館をスケジュールに登録しますか?」と、「B博物館の予約チケットは次のサイトから取得できます。https….」は後述のアクション提案情報に対応する。
【0039】
また、ステップS100で入力された質問情報若しくはステップS160にて生成されたプロンプト、及び/又は、ステップS180にて取得された回答若しくはステップS220にて補完された回答を基に、広告情報を特定する広告特定処理が実行される(ステップS240)。
【0040】
例えば、「11時に新幹線に乗るまで、東京でお勧めの場所を教えてください。」という質問に対して、ステップS220にて補完された上記回答について、以下のような広告特定が特定される。
「D喫茶店:落ち着いた雰囲気の居心地の良い雰囲気が特徴です。詳細は次のサイトをご覧ください。https….」
「F記念公園:江戸時代の街並みを再現した建物を見ることができます。開園時間は9時~16時です。詳細は次のサイトをご覧ください。https….」
【0041】
ステップS220にて補完された回答、及び、ステップS240にて特定された広告情報が、ユーザ端末1に出力される(ステップS260)。以上のステップS100~S260の処理により、出力処理が終了する。
【0042】
ステップS260にて、ユーザ端末1にて回答及び広告情報が出力される表示態様は特に限定されない。例えば、回答はチャット形式で出力される。回答は、1つの応答として表示されてもよく、複数の応答として表示されてもよい。複数の応答が表示される場合、例えば、言語モデルから出力された回答を基に生成される回答と、施設に関する施設情報又は地域に関する地域情報と、提案に関する提案情報と、広告情報とがそれぞれ異なる吹き出しによって表示されてもよい。
【0043】
[質問補完処理]
ステップS140の質問補完処理を説明する。図5は、本発明の実施の形態に係る質問補完処理のフローチャートを示す図である。
【0044】
まず、サーバ装置2は、ユーザ端末1から入力された質問に、所定の情報が含まれているか否かを判定する(ステップS141)。質問に所定の情報を含まれていないと、該質問をプロンプトとして言語モデルに入力した場合に、所望の回答を得ることができない、又は、所望の回答を得ることができない可能性が高い。本実施の形態において、質問に含まれていない所定の情報のことを、不足要素ともいう。つまり、ステップS141では、サーバ装置2は、質問情報に不足要素が存在するか否かを判定している。
【0045】
ここで、「所定の情報」とは、ユーザ端末1から入力された質問に回答する、或いは、適切に回答するために必要となる情報である。「所定の情報」には、少なくとも命令に関する「命令情報」が含まれ、さらに文脈に関する「文脈情報」が含まれていてもよい。また、「所定の情報」には、ユーザの位置に関する位置情報等が含まれてもよい。「所定の情報」は、所定の単語であってもよく、所定のフレーズであってもよい。
【0046】
命令とは、質問が「いつ」、「どこ」、「誰」、「何」、「なぜ」、及び「どのように」のいずれの回答を要求するものであるかを特定するものである。命令情報は、質問が「いつ」、「どこ」、「誰」、「何」、「なぜ」、及び「どのように」のいずれの回答を要求するものであるかを特定する情報である。
【0047】
文脈情報は、質問から適切な回答を得るために必要な情報であり、適切な回答を得るためのユーザの目的、回答を得ることでユーザが達成したい目的、回答を得ることでユーザが得たい感情、又は、適切な回答を得るための前提となる状況若しくは条件に関する情報である。質問が、ユーザに推薦する行動についての回答を求めるものである場合は、推薦する行動を実行することで達成される目的若しくは得られる感情、又は、推薦する行動を実行する際の状況若しくは条件に関する情報である。また、文脈情報は、時間又は場所に関する情報であってもよい。
【0048】
目的とは、上記の行動の目的と同様の意味であり、例えば、観光、運動、散歩等である。感情とは、ユーザの主観的な気持ちであり、例えば、わくわく、どきどき、驚き、嬉しい等である。状況とは、何人で行動するのか、どのような属性のユーザであるか(例えば、高齢者や幼児がいるか)、天候、気温等である。条件とは、例えば、移動手段が何であるか、出発地点・到着地点がどこであるか、時間の制約、費用の制約等である。
【0049】
ステップS141では、入力された質問と、質問の定型文との比較により、所定の情報が含まれているか否かを判定する。より具体的には、サーバ装置2は、ステップS100にて受け付けた質問情報又はステップS120にて生成された部分プロンプトを、プロンプト定義DBに記憶された定型文と比較することで、所定の情報が含まれているか否かを判定する。
【0050】
プロンプト定義DBには、プロンプト又は部分プロンプトとして所定の情報が定義された定型文が記憶されている。また、定型文には、所定の情報が命令情報であるか、文脈情報であるか、又は、位置情報であるかが関連付けられている。
【0051】
例えば、ステップS100において、質問として「東大寺」とだけ入力された場合、又は、「東大寺とは」とだけ入力された場合における、ステップS141の処理を説明する。
【0052】
サーバ装置2は、プロンプト定義DBから定型文を特定する。例えば、サーバ装置2は、定型文として、「XXまでどのように行きますか」、「XXまで行くのに何分かかるのかを教えてください」、「XXはどこにありますか」、「XXとは何ですか」、「XXは誰が造りましたか」等を特定する。なお、XXは、場所や位置、施設、地域を表す語に対応する。サーバ装置2は、特定した定型文と質問情報又は部分プロンプトとを比較する。
【0053】
入力された質問が「東大寺」の場合は、サーバ装置2は、所定の情報が含まれていないと判定する。入力された質問が「東大寺とは」の場合は、サーバ装置2は、所定の情報が含まれていると判定する。
【0054】
所定の情報が含まれているか否かの判定の方法としては、特に限定されない。例えば、サーバ装置2は、質問情報又は部分プロンプトと定型文の類似度をもとに、所定の情報が含まれているか否かを判定してもよい。類似度は、例えば、後述のベクトル演算を利用して求めることができる。類似度が所定の閾値以上又は所定の閾値の範囲内である場合、サーバ装置2は、所定の情報が含まれると判定できる。また、サーバ装置2は、質問情報又は部分プロンプトから、固有名詞等の所定の単語を除外したうえでベクトル演算を行ってもよい。質問情報又は部分プロンプトのベクトル演算により得られる値と、定型文のベクトル演算により得られる値との差の絶対値が、所定の閾値の範囲内であれば、サーバ装置2は、質問情報又は部分プロンプトは、その定型文に類似すると判定することができる。質問情報又は部分プロンプトがいずれの定型文とも類似しない場合は、サーバ装置2は、所定の情報が含まれていないと判定してもよい。
【0055】
また、例えば、サーバ装置2は、質問情報又は部分プロンプトに定型文ごとに定められた所定の文言が含まれるか否かを判定することで、所定の情報が含まれているか否かを判定してもよい。例えば、定型文が「XXまでどのように行きますか」という情報である場合、サーバ装置2は、質問情報又は部分プロンプトに「どのように行」、「どうやって行」、「行き方」などの文言が含まれるか否かを判定してもよい。
【0056】
ステップS141において、所定の情報が含まれていない場合、サーバ装置2は、該所定の情報に関連付けられた内容を基に、所定の情報の内容を特定する。例えば、ステップS120にて生成された部分プロンプトのそれぞれと定型文とを比較し、命令情報に対応する所定の情報が、いずれの部分プロンプトにも含まれていない場合、サーバ装置2は、質問情報に命令情報が含まれておらず、所定の情報(不足要素)が命令情報であると判定できる。また、例えば、質問情報と定型文とを比較し、命令情報に対応する所定の情報が該質問情報に含まれていない場合、サーバ装置2は、質問情報に命令情報が含まれておらず、所定の情報(不足要素)が命令情報であると判定できる。
【0057】
例えば、質問情報に文脈情報が含まれているか否かの判定は、以下のように実行されてもよい。サーバ装置2は、プロンプト定義DBから文脈情報と関連付けられた定型文を特定する。例えば、サーバ装置2は、定型文として、「観光目的でお勧めの場所を教えてください」、「お土産を買える場所はどこですか」、「暇つぶしの場所を探しています」、「散歩するにはどこにいけばいいですか」等を特定する。入力された質問が「観光スポットは?」の場合は、サーバ装置2は、文脈情報が含まれていると判定し、さらに、目的が観光であると特定する。入力された質問が「東京のお勧めの場所は?」の場合は、サーバ装置2は、文脈情報が含まれていないと判定し、さらに、目的に関する情報が不足していると特定する。
【0058】
なお、ステップS141では、サーバ装置2は、質問情報又は部分プロンプトに場所、位置、施設、又は地域を表す語が含まれているかを判定してもよい。質問情報又は部分プロンプトにそれらの情報が含まれる場合は、ステップS141において、サーバ装置2は、質問情報又は部分プロンプトと、場所、位置、施設、又は地域を含む定型文と比較することができる。
【0059】
ステップS141において、不足要素が存在すると判定された場合(ステップS141にてYES)、サーバ装置2は、不足要素が命令情報であるか否かを判定する(ステップS142)。
【0060】
不足要素が命令情報である場合(ステップS142にてYES)、サーバ装置2はエラー情報を出力する(ステップS143)。命令情報が質問情報に含まれない場合、LLMに質問情報をプロンプトとして入力しても、回答が得られないためである。エラー情報は、質問を入力したユーザに対して、具体的な質問を入力するように指示する指示情報を含んでいてもよい。エラー情報は、ユーザ端末1の表示画面に出力される。ユーザ端末1にて質問が入力されると、ステップS100からの処理が再度実行される。
【0061】
不足要素が命令情報でない場合(ステップS142にてNO)、サーバ装置2は、不足要素が文脈情報であるか否かを判定する(ステップS144)。不足要素が文脈情報である場合(ステップS144にてYES)、サーバ装置2は、不足する文脈情報を履歴DB、属性情報DB、及び/又は行動情報DBから取得し(ステップS145)、文脈情報に関する部分プロンプトを生成する(ステップS146)。ステップS145の処理は、入力された質問について所定の情報が含まれていないと判定された場合に、所定の情報を記憶する履歴DBから、含まれていないと判定された所定の情報を取得する処理である。
【0062】
履歴DBには、システム10において取得された情報が記憶されている。システム10において取得された情報は、例えば、質問情報、部分プロンプト、プロンプト、及び/又は、回答の履歴である。履歴DBに記憶される部分プロンプトは、例えば、ステップS120、S146、S148、及び/又は、S149にて生成された部分プロンプトである。履歴DBに記憶されるプロンプトは、例えば、S160にて生成されたプロンプトである。回答は、ステップS183若しくはS185で取得された回答、ステップS193で編集された回答、S220にて補完された回答、及び/又は、S260にて出力された回答である。履歴DBの情報は、質問をしたユーザに関連付けて記憶されていてもよい。履歴DBにおいて、質問情報、部分プロンプト、プロンプト、及び/又は、回答は、それぞれ関連付けて記憶されていてもよい。
【0063】
例えば、質問情報から、部分プロンプトとして「11時の新幹線に乗ります。」及び「東京のお勧めの場所を教えてください」が生成された場合、新幹線の出発日時、新幹線に乗る駅、ユーザの現在位置、場所の推薦を希望する目的等が質問に含まれていない。そのため、これらの情報が、不足する文脈情報として、特定される。
【0064】
ステップS145では、不足要素が現在位置に関する位置情報である場合、サーバ装置2は、ユーザ端末1の位置情報を取得する。ユーザ端末1の位置情報は、ユーザ端末1のGPS機能を利用して取得されてもよい。この場合、ステップS146では、ユーザの現在位置に関する部分プロンプトが生成される。
【0065】
ステップS145における、文脈情報を取得する処理の方法としては特に限定されないが、例えば、サーバ装置2は、履歴DBに含まれる情報と、質問情報又は部分プロンプトとを比較し、類似度が高い情報に含まれる文脈情報を取得してもよい。類似度は、例えば、後述のベクトル演算を利用して求めることができる。或いは、サーバ装置2は、質問情報又は部分プロンプトに所定の文言が含まれるか否かを判定し、所定の文言に関連付けられた文脈情報を取得してもよい。
【0066】
ステップS146の処理は、ステップS145にて取得した所定の情報と、質問とに基づいて、部分プロンプトを生成する処理である。ステップS146では、文脈情報の不足要素が複数存在する場合、それぞれの不足要素に対応する文脈情報に関する部分プロンプトが生成される。
【0067】
不足要素が文脈情報である場合(ステップS144にてYES)、ユーザ端末へ、文脈情報を入力するように要求する確認情報出力処理が実行されてもよい(ステップS147)。ステップS147の処理により、サーバ装置2は、ユーザが入力した文脈情報を基に、ステップS146にて、文脈情報に関する部分プロンプトを生成してもよい。ステップS146の処理によって、ステップS160では、取得された文脈情報と、質問とに基づいて、プロンプトを生成できる。
【0068】
ステップS146の処理後、又は、ステップS141において、不足要素が存在しないと判定された場合(ステップS141にてNO)、サーバ装置2は、属性情報DBを参照して、ユーザ属性情報に関する部分プロンプトを生成する(ステップS148)。
【0069】
ユーザ属性情報は、ユーザの属性に関する情報である。システム10においては、システム10を利用するユーザのユーザ属性情報が予めサーバ装置2の属性情報DBに登録されている。ユーザの属性は、例えば、性別、年齢、職業、趣味、嗜好、健康状態、家族構成等である。ユーザ属性情報は、ユーザごとに設定される情報である。
【0070】
例えば、ステップS148では、「質問者は、30歳の男性です。」「質問者の趣味は、博物館めぐりです。」などといった部分プロンプトが生成され得る。
【0071】
ステップS148の処理後、サーバ装置2は、行動情報DBを参照して、行動情報に関する部分プロンプトを生成する(ステップS149)。
【0072】
行動情報は、システム10にて取得されたユーザの行動履歴に関する情報である。行動情報は、サーバ装置2の行動情報DBに記憶されている。例えば、行動情報には、ユーザが入力した質問情報、回答又は広告情報に対するユーザの応答情報、ユーザの行動履歴情報等の情報が含まれる。応答情報は、例えば、回答に含まれる提案情報のURLを選択したか否かに関する情報である。ユーザの行動履歴情報は、例えば、ユーザのインターネットの閲覧履歴や検索履歴に関する情報である。行動情報は、ユーザごとに記憶される情報である。
【0073】
例えば、ステップS149では、「質問者は、3日前にA美術館のホームページを閲覧していました。」「質問者に施設αと施設βと施設γを提案したところ、施設βのURLを選択していました。」などといった部分プロンプトが生成され得る。
【0074】
ステップS141~S149の処理により、質問補完処理が終了する。なお、ステップS144~S147、ステップS148及びS149の処理は、順番を入れ替えて実行されてもよい。ステップS147の処理は省略されてもよい。
【0075】
なお、ステップS148の処理の前に、質問情報又は部分プロンプトにユーザ属性情報が含まれるか否かを判定し、ユーザ属性情報が含まれない場合に、ステップS148の処理が実行されてもよい。同様に、ステップS149の処理の前に、質問情報又は部分プロンプトに行動情報が含まれるか否かを判定し、行動情報が含まれない場合に、ステップS149の処理が実行されてもよい。
【0076】
なお、ステップS141において、不足要素が存在するか否かの判定は、不足要素の内容ごとに実行されてもよい。例えば、まず、サーバ装置2は、質問情報又は部分プロンプトに命令情報に対応する不足要素が存在するかを判定し、次に、文脈情報に対応する不足要素、ユーザの位置情報に対応する不足要素と順番に判定してもよい。また、文脈情報に対応する不足要素の有無の判定は、文脈情報の重要度に応じて、実行されてもよい。例えば、目的に関する文脈情報は、感情に関する文脈情報より重要度が高く設定されてもよい。
【0077】
なお、ステップS146において、不足すると判定された全ての文脈情報について、部分プロンプトが生成されなくてもよい。例えば、文脈情報の重要度に応じて、重要度の高い文脈情報から、文脈情報に関する部分プロンプトが生成されてもよい。文脈情報の重要度は、予め設定されてもよく、質問に応じて変化してもよい。
【0078】
なお、ステップS146、S148、及び/又は、S149の部分プロンプトの生成の処理は、言語モデル(例えば、言語モデルサーバ3)を利用してもよい。サーバ装置2は、ステップS160においてプロンプトを生成するために、言語モデルにユーザの履歴に応じた所定の特徴を抽出させてもよい。所定の特徴を抽出するために、サーバ装置2は、言語モデルに2回以上回答を求めてもよい。
【0079】
例えば、質問情報又は部分プロンプトに所定の情報(例えば、施設又は地域に関する文脈情報)が含まれていない場合(ステップS144にてYES)、サーバ装置2は、履歴DBから過去に質問を入力したユーザに提案した施設情報又は地域情報を特定する。そして、サーバ装置2は、特定した施設情報又は地域情報から所定の特徴を抽出することを言語モデルに要求する。サーバ装置2は、言語モデルから抽出された特徴をもとに部分プロンプトを生成できる。所定の特徴は、ユーザに応じて特定される特徴であり、例えば、ユーザの好む地域又は施設の種類である。
【0080】
例えば、サーバ装置2は、言語モデルに特徴を抽出することを要求するために、「過去に、質問者には、X美術館と、Y博物館と、Z資料館を提案しています。質問者に対して、新たに施設を提案するために、質問者が好む施設の特徴を抽出してください」というプロンプトを生成し、言語モデルに入力してもよい。そして、サーバ装置2は、言語モデルから取得された回答を部分プロンプトとすることができる。
【0081】
なお、所定の特徴を抽出する処理は、ステップS141における定型文と質問情報又は部分プロンプトとの比較によって、質問情報又は部分プロンプトに所定のフレーズが含まれていない場合であって、かつ、ユーザの過去の履歴から該フレーズに対応する所定の情報を特定できる場合に、実行されてもよい。
【0082】
[確認情報出力処理]
次に、ステップS147の確認情報出力処理を説明する。図6は、本発明の実施の形態に係る確認情報出力処理のフローチャートを示す図である。
【0083】
まず、サーバ装置2は、確認情報を生成する(ステップS11)。確認情報は、ユーザに不足要素に対応する文脈情報を入力するよう要求するための情報である。サーバ装置2は、確認情報をユーザ端末1に送信する(ステップS12)。ユーザ端末1は確認情報を受信する(ステップS13)。ステップS11~S13の処理は、入力された質問に、所定の情報として、目的若しくは感情、又は、状況若しくは条件に関する情報が含まれないと判定した場合に、ユーザ端末1へ、目的若しくは感情、又は、状況若しくは条件に関する情報を入力するように要求する処理である。
【0084】
ステップS13では、ユーザ端末1で確認情報が出力される。ユーザは、出力された確認情報に応じて、ユーザが意図する文脈情報を、ユーザ端末1に入力する(ステップS14)。
【0085】
例えば、質問情報が「東京のお勧めの場所を教えてください」の場合、確認情報として、「東京のお勧めの場所は、観光目的でお探しですか?」や「東京のお勧めの場所は、なんの目的でお探しですか?」が出力され得る。ユーザ端末1は、確認情報として、ユーザが選択できる選択肢を表示してもよい。ユーザは、選択肢を選択することで、文脈情報を入力できる。
【0086】
ステップS14にて入力された文脈情報が、ユーザ端末1からサーバ装置2に送信され(ステップS15)、サーバ装置2にて受信される(ステップS16)。ステップS16にて受信された文脈情報は、ステップS146における部分プロンプトの生成に利用される。このように、サーバ装置2は、ユーザ端末からの入力により、前記目的若しくは前記感情、又は、前記状況若しくは前記条件に関する情報を取得する。ステップS11~S16の処理により、確認情報出力処理が終了する。
【0087】
[回答取得処理]
次に、ステップS180の回答取得処理を説明する。図7は、本発明の実施の形態に係る回答取得処理のフローチャートを示す図である。
【0088】
まず、サーバ装置2は、ステップS160にて生成されたプロンプトに、施設希望情報が存在するか否かを判定する(ステップS181)。
【0089】
施設希望情報は、施設又は地域の推薦を求める情報である。施設は、所定の時間を滞在することができる場所であり、建物や公園等の人工的に設けられた場所であってもよく、山や海等の自然物であってもよい。また、施設は、実在する具体的な施設であってもよい。地域は、所定の領域を有する場所である。地域は、例えば、市区町村、都道府県、国等である。
【0090】
ステップS181の処理について説明する。
例えば、サーバ装置2は、プロンプトに所定の文言が含まれるか否かを判定することで、該プロンプトに施設希望情報が存在するか否かを判定できる。所定の文言は、例えば、推薦に関する文言と施設又は地域に関する文言である。推薦に関する文言としては、例えば、「お勧め」、「おすすめ」、「探している」等といった文言があげられる。地域又は施設に関する文言としては、例えば、施設、地域、又は場所に関する情報に対応する文言があげられる。
【0091】
また、例えば、サーバ装置2は、プロンプトと定型文との類似度を判定することで、該プロンプトに施設希望情報が存在するか否かを判定できる。定型文は、サーバ装置2に記憶されている。定型文は、施設又は地域の推薦を希望するプロンプト又は部分プロンプトが記憶されている。定型文は、例えば、「XXを探しています」、「どこがお勧めですか」等の定型質問である。サーバ装置2は、記憶された定型文と、プロンプトとについて、ベクトル演算を実行し、類似度を算出できる。類似度が所定の値以上であれば、サーバ装置2は、プロンプトに施設希望情報が存在すると判定できる。或いは、算出したベクトル演算から得られる値を、定型文とプロンプトとで比較し、所定の範囲内であれば、サーバ装置2は、プロンプトに施設希望情報が存在すると判定してもよい。
【0092】
言語モデルへ入力するためのプロンプトに、施設希望情報が含まれない場合(ステップS181にてNO)、サーバ装置2は、プロンプトを言語モデルへ入力する(ステップS183)。ステップS183では、サーバ装置2は、言語モデルサーバ3へプロンプトを送信する。言語モデルサーバ3において、言語モデルへプロンプトが入力され、回答が出力される。言語モデルサーバ3からサーバ装置2へ、該回答が送信されることで、サーバ装置2は、プロンプトをもとに言語モデルから回答を取得する(ステップS183)。
【0093】
言語モデルへ入力するためのプロンプトに、施設希望情報が含まれる場合(ステップS181にてYES)、サーバ装置2は、プロンプトを言語モデルへ入力し(ステップS184)、回答を取得する(ステップS185)。ステップS184及びS1185の処理は、ステップS182とS183と同様の処理である。さらに、サーバ装置2は、希望施設情報に基づいて、専門情報DBを参照し、類似度の高い施設情報又は地域情報を取得する(ステップS191)。サーバ装置2は、ステップS191にて取得された施設情報又は地域情報を基に、施設提案情報を生成する(ステップS192)。ステップS191及びステップS192の処理は、専門情報DBから、施設又は地域に関する情報(施設提案情報ともいう)を取得する又は生成する処理である。
【0094】
ここで、専門情報DBは、施設又は地域に関する情報を記憶するデータベースである。
専門情報DBは、サーバ装置2のストレージ部23に記憶されている。専門情報DBは、管理者端末4の操作により、設定される。専門情報DBは、所定の検索エンジンと連携し、所定の期間(例えば、1週間)ごとに、データベース内の情報を更新するものであってもよい。
【0095】
施設提案情報は、ユーザに提案する施設又は地域に関する情報であり、回答取得処理において取得又は生成される情報である。施設提案情報には、例えば、施設情報、地域情報等が含まれる。施設提案情報は、所定の情報に施設又は地域に関する情報を付加するものであってもよい。
【0096】
施設情報は、施設に関する情報である。施設情報には、例えば、施設の名称、施設の位置、施設の分類、施設の利用料、施設の営業時間、施設の特徴等に関する情報が含まれる。地域情報は、地域に関する情報である。地域情報には、例えば、地域の名称、地域の位置、地域の観光名所、地域に存在する施設の施設情報等が含まれる。
【0097】
ステップS191において、サーバ装置2が類似度の高い情報を取得する処理について説明する。プロンプトと類似度の高い情報は、公知の手法を利用して取得することができる。
【0098】
例えば、サーバ装置2は、ステップS160にて生成されたプロンプトについてベクトル演算を実行して、プロンプトをベクトル化する。また、専門情報DBに記憶される施設情報又は地域情報は、ベクトル演算が実行され、ベクトル化されている。サーバ装置2は、ベクトル化されたプロンプトと、専門情報DBのベクトル化された情報とを用いて、ベクトル化したプロンプトから得られる値に近似する値が得られる情報を取得する。つまり、ベクトル化した文章から得られる値がテキストAとテキストBとで近似する場合、テキストAとテキストBとは、類似度が高いと判定される。類似度の高い情報とは、ベクトル化した値が近似することであってもよい。
【0099】
なお、本実施の形態において、「近似」とは、例えば、値の差の絶対値が所定の閾値以下(又は所定の閾値未満)であることをいう。所定の閾値は、適宜設定することができる。
【0100】
ここでベクトル化して得られる値が近似するテキストBとしては、テキストAをベクトル演算して得られる値と、テキストBをベクトル演算して得られる値との差が、所定の値以下(又は未満)となるものであってもよく、複数のテキストBのうち、テキストAをベクトル演算して得られる値に近いものの上位3つ(3つに限定されず、任意の値でよい)を特定するなどとしてもよい。
【0101】
或いは、サーバ装置2は、ベクトル化されたプロンプトと、専門情報DBのベクトル化された情報とを用いて、類似度を算出してもよい。類似度は、例えば、コサイン類似度である。所定の情報について、算出された類似度が所定の閾値よりも大きければ、プロンプトと類似度が高い情報とすることができる。
【0102】
なお、サーバ装置2は、ユーザ端末1から入力された質問情報、プロンプト、部分プロンプト、及び/又は、回答から文章のベクトルを算出することができる。例えば、サーバ装置2が備える小規模言語モデルは、文章を数値的なベクトルに変換することができる。文章を数値的なベクトルに変換することをベクトル化するともいう。なお、文章のベクトル演算を実行する方法は特に限定されず、その他の公知技術を適用してもよい。例えば、文章から形態素解析により単語を抽出し、単語の意味や単語同士の関係性をベクトル化するようにしてもよい。
【0103】
ステップS192の処理後、サーバ装置2は、ステップS192にて生成された施設提案情報に基づいて、言語モデルから取得した回答を編集する(ステップS193)。所定の情報に基づいて回答を編集するとは、回答に所定の情報を付加すること、回答の一部を削除して所定の情報を差し替えること、及び、回答と所定の情報を基に新たな文章を生成することのいずれも含む概念である。
【0104】
なお、ステップS193、及び、後述のS230における回答の編集の処理は、サーバ装置2で行ってもよく、言語モデル(例えば、言語モデルサーバ3)を利用してもよい。例えば、ステップS193において、サーバ装置2で回答の編集を行う場合は、ステップS185にて言語モデルサーバ3から取得した回答に所定の情報を付加すること、又は、回答に含まれる情報の一部を削除して所定の情報を付加することができる。例えば、ステップS193において、言語モデルを利用して回答の編集を行う場合は、ステップS185にて言語モデルサーバ3から取得した回答をもとに、所定の情報が含まれるような文章を作成するように、サーバ装置2は言語モデルに要求することができる。上記の所定の情報は、ステップS191にて取得された情報でもよく、ステップS192にて生成された情報でもよい。
【0105】
例えば、ステップS193では、サーバ装置2は、回答に場所情報が含まれるか否かを判定する。場所情報は、場所に関する情報であり、施設情報及び/又は地域情報を含む。回答に場所情報が含まれる場合、サーバ装置2は、回答の場所情報を削除する。また、サーバ装置2は、回答にステップS192にて生成した施設提案情報を付加する。これにより、サーバ装置2は、生成された施設提案情報に基づいて、回答を編集することができる。
【0106】
なお、ステップS181、S191、S192、及びS193の処理は、以下のように実行されてもよい。例えば、ステップS181が実行される前に、ステップS182及びS183の処理が実行される。ステップS183にて回答が取得された後に、サーバ装置2は、言語モデルから取得した回答に、施設情報又は地域情報が含まれるか否かを判定する(ステップS181´)。回答に施設情報又は地域情報が含まれる場合に、サーバ装置2は、専門情報DBから、上記回答に対応する施設又は地域に関する情報を取得する(ステップS191´)。次に、サーバ装置2は、取得した施設情報又は地域情報を基に、施設提案情報を生成する(ステップS192´)。ステップS192´にて生成された情報に基づいて、言語モデルから取得した回答を編集する(ステップS193´)。
【0107】
ステップS191´の回答に対応する施設情報又は地域情報は、回答と類似度の高い施設情報又は地域情報であってもよい。回答と類似度の高い施設情報又は地域情報は、プロンプトと類似度の高い施設情報又は地域情報を取得する方法と同様に取得できる。この場合、サーバ装置2は、回答について、ベクトル演算を実行する。
【0108】
なお、ステップS192、S192´の処理は、省略されてもよい。この場合、ステップS191、S191´にて取得された施設情報又は地域情報が、施設提案情報となる。つまり、ステップS193、S193´では、ステップS191、S191´にて取得された施設情報若しくは地域情報に基づいて、言語モデルから取得した回答を編集することができる。
【0109】
[回答判定処理]
次に、ステップSの回答判定処理を説明する。図8は、本発明の実施の形態に係る回答判定処理のフローチャートを示す図である。
【0110】
まず、サーバ装置2は、ステップS183、又は、ステップS193にて取得した回答が適切であるか否かを判定する(ステップS201)。回答が適切である場合(ステップS201にてYES)、回答判定処理は終了する。回答が適切でない場合(ステップS201にてNO)、回答エラー情報が生成され(ステップS202)、出力される(ステップS203)。ステップS203にて出力された回答エラー情報は、ユーザ端末1に送信され、出力される。ステップS201~S203の処理により、回答判定処理は終了する。
【0111】
回答エラー情報は、言語モデルから取得された回答が、プロンプト又はプロンプトに対応する質問の回答として適切ではないことを示す情報である。例えば、回答エラー情報として、ユーザ端末1では、「お探しの情報を得ることができませんでした。もう一度質問を入力してください。」といった情報が出力される。ユーザ端末1にて質問が入力されると、ステップS100からの処理が再度実行される。
【0112】
ステップS201では、サーバ装置2は、プロンプトを言語モデルへ入力することで取得された回答を、プロンプト例、及び、該プロンプト例に対応する回答例が記憶された回答定義DBを参照して、プロンプトに対応する質問の回答として適切か否かを判定する。
【0113】
回答定義DBは、ストレージ部23に記憶される。回答定義DBは、例えば、プロンプト例と、該プロンプト例の回答例として必要な情報とを関連付けて記憶していてもよく、プロンプト例と、該プロンプト例の回答例とを関連付けて記憶していてもよい。
【0114】
例えば、回答定義DBにおいて、施設希望情報が含まれるプロンプト例に関連付けて、該プロンプト例の回答例として、施設又は地域に関する情報が必要な情報であると記憶する。サーバ装置2は、回答定義DBを参照し、施設希望情報が含まれるプロンプトの回答に、施設又は地域に関する情報が含まれるときに、該回答を、該プロンプトに対応する質問の回答として適切であると判定することができる。
【0115】
或いは、サーバ装置2は、プロンプトと類似度の高いプロンプト例を特定し、プロンプト例と対応する回答例と、出力された回答との類似度を基に、該回答が適切か否かを判定してもよい。例えば、サーバ装置2は、プロンプトをベクトル演算して得られる値に、ベクトル演算により近似する値が得られる、プロンプト例に対応する回答例を、ベクトル演算して得られる値が、回答をベクトル演算して得られる値が近似する場合に、前記回答を、前記プロンプト例に対応する質問の回答として適切であると判定してもよい。
【0116】
この場合、サーバ装置2は、プロンプト、及び、該プロンプトを言語モデルへ入力することで取得された回答について、それぞれベクトル演算を実行する。
【0117】
なお、プロンプトをベクトル演算して得られる値に、ベクトル演算により近似する値が得られるプロンプト例に対応する回答例をベクトル演算して得られる値が、回答をベクトル演算して得られる値に近似するか否かの判定は、プロンプトをベクトル演算して得られる値に、ベクトル演算により近似する値が得られるプロンプト例に対応する回答例をベクトル演算して得られる値が、回答をベクトル演算して得られる値に近似するか否かを判定するだけでなく、回答をベクトル演算して得られる値に、ベクトル演算により近似する値が得られる回答例に対応するプロンプト例をベクトル演算して得られる値が、プロンプトをベクトル演算して得られる値に近似するか否かを判定することにより行ってもよい。
【0118】
[回答補完処理]
次に、ステップS220の回答補完処理を説明する。図9は、本発明の実施の形態に係る回答補完処理のフローチャートを示す図である。
【0119】
まず、サーバ装置2は、ステップS183にて取得された回答、又は、ステップS193にて編集された回答に場所情報が含まれるか否かを判定する(ステップS221)。回答に場所情報が含まれる場合(ステップS221にてYES)、サーバ装置2は、場所情報を基に、場所ごとに滞在時間を算定する(ステップS222)。
【0120】
滞在時間は、施設や地域といった所定の場所にユーザが滞在する目安の時間である。滞在時間は、専門情報DBに記憶された施設情報又は地域情報に含まれていてもよい。サーバ装置2は、回答に含まれる場所情報に対応する施設又は地域について、専門情報DBから該施設又は該地域に対応する施設情報又は地域情報を取得することで、滞在時間を特定する。或いは、施設情報又は地域情報に滞在時間が含まれていない場合、サーバ装置2は、所定の時間(例えば30分間)を滞在時間として算定してもよい。
【0121】
次に、サーバ装置2は、場所情報を基に、移動時間を算定する(ステップS223)。
【0122】
移動時間は、所定の場所から所定の場所へ移動するための目安の時間である。本実施の形態において、移動時間は、出発地点から、場所情報に対応する場所を経由して、到着地点に移動するための目安の時間であってもよい。サーバ装置2には、移動時間を算定するための交通情報DBが記憶されている。交通情報DBは、地図情報、公共交通機関の時刻表の情報、道路の混雑状況、遅延情報、過去の混雑状況等を含んでいる。交通情報DBは、リアルタイムの状況が更新されるものであってもよい。
【0123】
次に、サーバ装置2は、ステップS222にて算定した滞在時間及びステップS223にて算定した移動時間を基に、消費時間を算定する(ステップS224)。消費時間は、滞在時間と移動時間とを加算した時間である。
【0124】
消費時間が算定されると、サーバ装置2は、移動提案情報を生成する(ステップS225)。移動提案情報は、回答に含まれる場所情報に、滞在時間、移動時間、及び/又は、消費時間を付加した情報である。移動提案情報は、移動手段、乗り換え、及び/又は、混雑状況に関する情報を含んでいてもよい。移動提案情報は、回答としてユーザ端末1に出力される。移動提案情報は、回答に含まれる。
【0125】
次に、サーバ装置2は、ステップS100にて入力された質問に可処分時間が含まれるか否かを判定する(ステップS226)。可処分時間は、ユーザが行動することができる時間である。例えば、「10時から16時までの間に、時間をつぶせる場所を教えてほしい」という質問の場合、可処分時間は、10時から16時までの6時間である。
【0126】
ステップS100にて入力された質問に可処分時間が含まれる場合(ステップS226にてYES)、サーバ装置2は、所定の条件を満たす移動提案情報を抽出する(ステップS227)。所定の条件は、例えば、ステップS224にて算定した消費時間が、質問に含まれる可処分時間よりも短いことである。
【0127】
なお、ステップS221~S227の処理は、回答に1つの場所情報が含まれる場合、及び、2つ以上の場所情報が含まれる場合も同様に実行される。例えば、回答に場所情報として、施設α、施設β、及び、施設γの3つの場所情報が含まれる場合、ステップS221~S227の処理は以下のように実行される。まず、サーバ装置2は、施設α、施設β、又は、施設γの滞在時間をそれぞれ0.5時間、1時間、2時間と算出する。次に、出発地点から施設α、施設β、又は、施設γを経由して到着地点に移動するまでの移動時間をそれぞれ2時間、1時間、1時間と算出する。そして、サーバ装置2は、施設α、施設β、又は、施設γの消費時間をそれぞれ2.5時間、2時間、3時間と算出する。
【0128】
そして、質問に含まれる可処分時間が2時間の場合、ステップS227において、サーバ装置2は、施設αと施設βを移動提案情報として抽出する。
【0129】
なお、滞在時間、移動時間、及び、消費時間は、1つの場所を対象として算定されてもよく、複数の場所を対象として算定されてもよい。例えば、回答に場所情報として、施設α、施設β、及び、施設γの3つの場所情報が含まれる場合、サーバ装置2は、施設α、施設β、及び施設γについて、出発地点から距離が近い順番を特定してもよい。或いは、サーバ装置2は、施設α、施設β、及び施設γから2つの施設を特定し、出発地点から距離が近い順番を特定してもよい。次に、サーバ装置2は、特定した順番に応じて、出発地点から到着地点に移動するまでの移動時間を算出してもよい。サーバ装置2は、移動時間と滞在時間を加算することで、それぞれの消費時間を算定できる。
【0130】
フローチャートの説明に戻る。回答に場所情報が含まれない場合(ステップS221にてNO)、ステップS100にて入力された質問に可処分時間が含まれない場合(ステップS226にてNO)、又は、ステップS227にて移動提案情報を抽出した後、サーバ装置2は、回答にアクション情報が存在するか否かを判定する(ステップS228)。回答にアクション情報が含まれる場合(ステップS228にてYES)、サーバ装置2は、アクション情報と関連付けられたアクション提案情報を参照して、回答に対応するアクション提案情報を生成する(ステップS229)。
【0131】
アクション情報は、ユーザの行動を提案するアクション提案情報を生成するトリガーとなる情報である。サーバ装置2は、アクション情報とアクション提案情報を関連付けて記憶している。例えば、時間及び場所の情報であるアクション情報と関連付けて、ユーザに対してスケジュールを登録することを提案するアクション提案情報が記憶されてもよく、施設情報又は地域情報であるアクション情報と関連付けて、該施設又は地域に関する詳細な情報を閲覧可能なサイトのURLを提供するアクション提案情報が記憶されてもよい。アクション情報は、例えば、所定の文字列、所定の文章、及び/又は、所定の文章の類型である。また、アクション情報は、施設情報又は地域情報に関連付けられて設定されていてもよい。例えば、施設情報に対応する施設が、予約が必要な施設であるというアクション情報を、予め施設情報と関連付けることができる。
【0132】
なお、回答にアクション情報が存在するとは、回答に含まれるテキストにアクション情報が存在する場合、及び、回答又は移動提案情報に含まれる施設情報又は地域情報にアクション情報が関連付けられている場合のいずれの場合も含む。
【0133】
ステップS228における回答にアクション情報が存在するか否かの判定は、以下のように実行できる。例えば、サーバ装置2は、回答にアクション情報に対応する文言が存在する場合、該アクション情報が存在すると判定してもよい。或いは、サーバ装置2は、回答とアクション情報とが類似する場合、回答に該アクション情報が存在すると判定してもよい。類似の判定は、上述のベクトル演算をして得られる値を基に判定できる。
【0134】
回答にアクション情報が含まれない場合(ステップS228にてNO)、又は、ステップS229にてアクション提案情報を生成した後、サーバ装置2は、移動提案情報及び/又はアクション提案情報に基づいて、回答を編集する(ステップS230)。以上のステップS221~S230の処理により、回答補完処理は終了する。
【0135】
なお、所定の情報に基づいて回答を編集するとは、ステップS193にて説明した意味と同様である。例えば、ステップS230では、サーバ装置2は、回答に含まれる場所情報に対応するように、該場所の移動提案情報を付加してもよい。また、例えば、ステップS230では、サーバ装置2は、アクション情報を含む文章と対応付けて、該アクション情報から生成したアクション提案情報を回答に付加してもよい。
【0136】
なお、ステップS229では、サーバ装置2にアクション提案情報として文章が記憶されており、サーバ装置2は、アクション提案情報を生成するのではなく、アクション情報に対応するアクション提案情報を取得することとしてもよい。
【0137】
なお、ステップS222とステップS223との処理は、順番を入れ替えて実行されてもよい。なお、ステップS221及びS228にて、いずれもNOの場合、ステップS230の処理は省略されてもよい。
【0138】
[広告特定処理]
次に、ステップS240の広告特定処理を説明する。図10は、本発明の実施の形態に係る広告特定処理のフローチャートを示す図である。
【0139】
まず、サーバ装置2は、広告情報DBから、プロンプトを言語モデルへ入力することで取得された回答と類似する広告情報を取得する(ステップ241)。ステップS241では、複数の広告情報が取得されてもよい。次に、サーバ装置2は、取得した複数の広告情報から、プロンプト又はプロンプトを生成するためにユーザ端末から入力された質問と類似する1以上の広告情報を選択する(ステップS242)。ステップS242にて選択された広告情報は、ステップS260にて、回答情報と共に出力される。システム10は、広告情報DBから取得した広告情報に対応する広告を、そのまま広告として出力してもよく、広告情報を編集した広告を出力してもよい。
【0140】
ここで、広告情報DBは、広告に関する広告情報が記憶されたデータベースである。広告情報は、例えば、施設情報や地域情報を含む。広告情報は、管理者端末4への操作により登録されてもよく、広告の依頼者が操作する端末への操作により登録されてもよい。また、広告情報DBに広告情報を登録することに応じて、広告の依頼者に対して利用料が発生することとしてもよい。広告情報DBには、広告ごとに、顧客ターゲット、広告主の情報、商品の名称・種類・特長、広告文などの情報が記憶されている。広告情報DBの情報は、広告に含まれる顧客ターゲット、広告主の情報、商品の名称・種類・特長、広告文などの情報をもとに、予めベクトル演算されておいてもよい。或いは、広告情報DBに含まれる情報は、広告の文章、画像等の情報をもとに、その都度、ベクトル演算されてもよい。
【0141】
ステップS241及びS242の処理について説明する。ステップS241において、サーバ装置2は、回答と類似する広告情報を、公知の手法を利用して取得することができる。ステップS242において、サーバ装置2は、プロンプト又は質問と類似する広告情報を、公知の手法を利用して選択することができる。なお、ステップS241及びS242にて、広告情報が回答又はプロンプト若しくは質問と類似するとは、広告情報と、回答又はプロンプト若しくは質問との類似度が高いことを意味する。なお、ステップS141にて利用される回答は、ステップS180にて取得された回答又はステップS220にて補完された回答であってもよく、ステップS142にて利用されるプロンプト又は質問は、ステップS160にて生成されたプロンプト、部分プロンプト又はステップS100で入力された質問情報であってもよい。
【0142】
例えば、ステップS241及びS242では、ステップS191と同様の手法を利用することができる。サーバ装置2は、ステップS160にて生成されたプロンプト、生成された部分プロンプト、又は、ステップS100にて入力された質問と、回答とについてベクトル演算を実行して、プロンプト、部分プロンプト又は質問と、回答とをベクトル化する。また、広告情報DBに記憶される広告情報は、ベクトル演算が実行され、ベクトル化されている。ステップS241では、サーバ装置2は、ベクトル化された回答と、広告情報DBのベクトル化された広告情報とを用いて、ベクトル化した回答から得られる値に近似する値が得られる広告情報を取得する。
【0143】
そして、ステップS242において、サーバ装置2は、ベクトル化されたプロンプト、ベクトル化された部分プロンプト、又は質問と、ベクトル化されたステップS241にて取得された広告情報とを用いて、ベクトル化したプロンプト、部分プロンプト、又は質問から得られる値に近似する値が得られる広告情報を抽出する。なお、生成されたプロンプト、又は、生成された部分プロンプトは、入力された質問に関する情報に含まれる。抽出方法は特に限定されないが、例えば、サーバ装置2は、ベクトル化されたプロンプト、部分プロンプト、又は質問から得られる値に最も近似する値が得られる広告情報を抽出してもよく、ベクトル化されたプロンプト、部分プロンプト、又は質問から得られる値に近似する値が得られる広告情報を順位付けし、上位の広告情報を所定の件数(例えば、3件)だけ抽出してもよい。
【0144】
或いは、サーバ装置2は、ベクトル化された回答、プロンプト、部分プロンプト、又は質問と、広告情報DBのベクトル化された広告情報とを用いて、類似度を算出してもよい。ステップS241では、算出された類似度が所定の閾値よりも大きい広告情報が取得され、ステップS242では、類似度が近しい広告情報から順に所定の件数の広告情報が抽出される。
【0145】
なお、ステップS241及びS242は以下のように実行されてもよい。例えば、ステップS241では、サーバ装置2は、広告情報DBから、言語モデルへ入力するためのプロンプト又はプロンプトを生成するためにユーザ端末から入力された質問と類似する広告情報を取得してもよい。また、ステップS242では、サーバ装置2は、取得した複数の広告情報から、プロンプトを言語モデルへ入力することで取得された回答と類似する1以上の広告情報を選択してもよい。
【0146】
なお、上記の広告特定処理では、プロンプトを言語モデルへ入力することで取得された回答と類似する広告情報が複数選ばれ、その後、言語モデルへ入力するためのプロンプト又はプロンプトを生成するためにユーザ端末から入力された質問と類似する広告情報が選ばれている、或いは、言語モデルへ入力するためのプロンプト又はプロンプトを生成するためにユーザ端末から入力された質問と類似する広告情報が複数選ばれ、その後、プロンプトを言語モデルへ入力することで取得された回答と類似する広告情報が選ばれているが、前記回答と類似する広告情報が1つ又は複数取得され、広告として利用されてもよく、或いは、前記プロンプト又は前記質問と類似する広告情報が1つ又は複数取得されて、広告として利用されてもよい。つまり、ステップS242の処理は、省略されてもよい。
【0147】
なお、出力処理は、ステップS100、S160、及びS260を備えていれば、他のステップは適宜省略されてもよい。例えば、ステップS120、S140、S200、S220、及び/又は、S240の処理は、省略されてもよい。ステップS120の処理が省略される場合、サーバ装置2は、ステップS100にて受け付けた質問情報に対して、ステップS140以降の処理を実行する。
【0148】
なお、上記において、各種情報との類似度を算出するためにベクトル演算が実行される情報は、該情報が記憶されている各種DB(例えば、プロンプト定義DB、履歴DB、属性情報DB、行動情報DB、専門情報DB、回答定義DB、広告情報DB等)において、予めベクトル演算が実行された値と関連付けて記憶されておいてもよい。
【0149】
このように、システムが、ユーザ端末から入力された質問について、言語モデルへ入力するためのプロンプトとして必要な所定の情報が含まれているか否かを判定する判定手段と、入力された質問について所定の情報が含まれていないと判定された場合に、前記質問に所定の情報を追加して、前記言語モデルへ入力するためのプロンプトを生成する第1生成手段とを備えることで、質問に所定の情報が含まれていない場合でも、所定の情報を追加したプロンプトを生成することができる。また、所定の情報を追加するため、プロンプトの情報量が増える。そのため、該プロンプトをLLMに入力すると、質問の回答としてより適した回答が出力される。
【0150】
また、このように、入力された質問が、推薦する行動を求めるものであり、所定の情報が、推薦する行動を実行することで達成される目的若しくは得られる感情、又は、推薦する行動を実行する際の状況若しくは条件に関する情報であり、システムが、判定手段が、入力された質問に、所定の情報として、前記目的若しくは前記感情、又は、前記状況若しくは前記条件に関する情報が含まれないと判定した場合に、ユーザ端末へ、前記目的若しくは前記感情、又は、前記状況若しくは前記条件に関する情報を入力するように要求する要求手段とを備え、第1生成手段が、ユーザ端末からの入力により、取得された前記目的若しくは前記感情、又は、前記状況若しくは前記条件に関する情報と、前記質問とに基づいて、前記言語モデルへ入力するためのプロンプトを生成することで、ユーザの意図に沿ったプロンプトを生成することができる。
【0151】
また、このように、システムが、広告に関する広告情報が記憶されたデータベースから、プロンプトを言語モデルへ入力することで取得された回答と類似する広告情報を取得する取得手段、又は、広告に関する広告情報が記憶されたデータベースから、言語モデルへ入力するためのプロンプト又はプロンプトを生成するためにユーザ端末から入力された質問と類似する広告情報を取得する取得手段を備えることで、質問を入力したユーザにより適した広告情報を特定できる。さらに、取得手段が、複数の広告情報を取得するものであり、システムが、取得した複数の広告情報から、前記プロンプトを言語モデルへ入力することで取得された回答と類似する1以上の広告情報を選択する選択手段、又は、取得した複数の広告情報から、プロンプト又はプロンプトを生成するためにユーザ端末から入力された質問と類似する1以上の広告情報を選択する選択手段を備えることで、質問を入力したユーザにさらに適した広告情報を特定できる。
【0152】
また、このように、システムが、プロンプトをもとに言語モデルから回答を取得する回答取得手段と、言語モデルへ入力するためのプロンプトに、施設又は地域の推薦を求める施設希望情報が含まれる場合に、施設又は地域に関する情報を記憶するデータベースから、施設又は地域に関する情報を取得する又は生成する取得手段と、取得手段にて取得又は生成された情報に基づいて、言語モデルから取得した回答を編集する回答編集手段を備えることで、言語モデルを利用しつつ、実際に存在する施設又は地域に関する情報を提案することができる。同様に、システムが、プロンプトをもとに言語モデルから回答を取得する回答取得手段と、言語モデルから取得した回答に、施設又は地域に関する施設情報が含まれる場合に、施設又は地域に関する情報を記憶するデータベースから、前記回答に対応する施設又は地域に関する情報を取得する又は生成する取得手段と取得手段にて取得又は生成された情報に基づいて、言語モデルから取得した回答を編集する回答編集手段を備えることで、言語モデルを利用しつつ、実際に存在する施設又は地域に関する情報を提案することができる。
【0153】
また、このように、システムが、プロンプトをもとに言語モデルから回答を取得する回答取得手段と、言語モデルから取得した回答に、利用者の行動を促すためのアクション情報が含まれる場合に、前記回答に対応する提案情報を生成する提案生成手段と提案生成手段にて生成された提案情報に基づいて、言語モデルから取得した回答を編集する回答編集手段を備えることで、ユーザに対して回答に関連した提案を行うことができる。
【0154】
また、このように、システムが、プロンプト例、及び、該プロンプト例に対応する回答例をもとに、プロンプトを言語モデルへ入力することで取得された回答を、前記プロンプトに対応する質問の回答として適切か否かを判定する判定手段を備えることで、質問の回答として適切な回答をユーザに提供することができる。
【0155】
1 ユーザ端末 2 サーバ装置 3 言語モデルサーバ
4 管理者端末 5 通信ネットワーク 10 システム
11 制御部 12 RAM 13 ストレージ部 14 入力部
15 表示部 16 通信インタフェース
21 制御部 22 RAM 23 ストレージ部 24 通信インタフェース
【要約】
【課題】
ユーザに対して新たな提案を提供することのできるシステムを提供する。
【解決手段】
少なくとも1のコンピュータ装置を備えるシステムである。システムは、プロンプトをもとに言語モデルから回答を取得する回答取得手段と、言語モデルから取得した回答に、利用者の行動を提案する提案情報を生成するトリガーとなるアクション情報が含まれる場合に、前記回答に対応する提案情報を生成する提案生成手段と提案生成手段にて生成された提案情報に基づいて、言語モデルから取得した回答を編集する回答編集手段を備える。
【選択図】 図4
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10