(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025001704
(43)【公開日】2025-01-09
(54)【発明の名称】プログラム、方法、情報処理装置、システム
(51)【国際特許分類】
G06F 16/90 20190101AFI20241226BHJP
G06F 16/9035 20190101ALI20241226BHJP
【FI】
G06F16/90 100
G06F16/9035
【審査請求】有
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023101333
(22)【出願日】2023-06-21
(71)【出願人】
【識別番号】500521522
【氏名又は名称】株式会社オプティム
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】菅谷 俊二
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175EA01
5B175GC02
5B175GC03
5B175HA01
(57)【要約】
【課題】大規模言語モデル(LLM)システムから、ユーザに適した回答を得ることができていないという課題がある。
【解決手段】プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プロセッサが、第1ユーザを特定するための第1ユーザ識別情報を受け付けるユーザ受付ステップと、所定の質問に関するクエリを受け付けるクエリ受付ステップと、ユーザ受付ステップにおいて受け付けた第1ユーザ識別情報、および、クエリ受付ステップにおいて受け付けたクエリに基づき、第1ユーザに関連づけられたユーザ情報を抽出する抽出ステップと、クエリ受付ステップにおいて受け付けたクエリ、および、抽出ステップにおいて抽出したユーザ情報に基づき、大規模言語モデルに対する入力文となるプロンプトを生成するプロンプト生成ステップと、を実行するプログラム。
【選択図】
図10
【特許請求の範囲】
【請求項1】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、
前記プロセッサが、
第1ユーザを特定するための第1ユーザ識別情報を受け付けるユーザ受付ステップと、
所定の質問に関するクエリを受け付けるクエリ受付ステップと、
前記ユーザ受付ステップにおいて受け付けた前記第1ユーザ識別情報、および、前記クエリ受付ステップにおいて受け付けた前記クエリに基づき、前記第1ユーザに関連づけられたユーザ情報を抽出する抽出ステップと、
前記クエリ受付ステップにおいて受け付けた前記クエリ、および、前記抽出ステップにおいて抽出した前記ユーザ情報に基づき、大規模言語モデル(LLM)に対する入力文となるプロンプトを生成するプロンプト生成ステップと、
を実行するプログラム。
【請求項2】
前記抽出ステップは、前記第1ユーザに関連づけられた情報のうち、前記クエリに関連しない前記ユーザ情報の一部を除外して、前記クエリに関連する前記ユーザ情報の一部を抽出するステップである、
請求項1記載のプログラム。
【請求項3】
前記抽出ステップは、前記第1ユーザに関連付けられた前記第1ユーザの身体状態に関する情報を含むユーザ情報を抽出するステップである、
請求項1または2記載のプログラム。
【請求項4】
前記クエリ受付ステップは、前記第1ユーザの身体状態に関する前記クエリを受け付けるステップである、
請求項3記載のプログラム。
【請求項5】
前記抽出ステップは、前記第1ユーザが保有する機器に関する情報を含むユーザ情報を抽出するステップである、
請求項1または2記載のプログラム。
【請求項6】
前記クエリ受付ステップは、前記第1ユーザが保有する機器に関する前記クエリを受け付けるステップである、
請求項5記載のプログラム。
【請求項7】
前記クエリ受付ステップは、前記第1ユーザに関連づけられた店舗の口コミに関するクエリを受け付けるステップである、
請求項1または2記載のプログラム。
【請求項8】
前記プロセッサが、
前記コンピュータとは異なる事業者により運営される外部の大規模言語モデル(LLM)システムへ、前記プロンプト生成ステップにおいて生成した前記プロンプトを送信するプロンプト送信ステップと、
前記プロンプト送信ステップにおいて送信した前記プロンプトに対する回答結果を受信する回答受信ステップと、
を実行する、
請求項1から7のいずれか記載のプログラム。
【請求項9】
前記回答受信ステップは、前記第1ユーザに関連付けられた前記ユーザ情報に基づき、前記大規模言語モデル(LLM)システムを学習させることなしに、前記プロンプトに対する前記回答結果を受信するステップである、
請求項8記載のプログラム。
【請求項10】
前記プロセッサが、
前記回答受信ステップにおいて受信した前記回答結果に基づき、前記クエリ受付ステップにおいて受け付けた前記クエリに対する前記第1ユーザの対応施策に関するアドバイス情報を前記第1ユーザに提案する提案ステップと、
を実行する、
請求項8または9記載のプログラム。
【請求項11】
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、前記プロセッサが、請求項1から請求項10のいずれかに係る発明において実行される全てのステップを実行する方法。
【請求項12】
制御部と、記憶部とを備える情報処理装置であって、前記制御部が、請求項1から請求項10のいずれかに係る発明において実行される全てのステップを実行する情報処理装置。
【請求項13】
請求項1から請求項10のいずれかに係る発明において実行される全てのステップを実行する手段を備えるシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、方法、情報処理装置、システムに関する。
【背景技術】
【0002】
様々な情報処理タスクにおいて、大規模な言語モデル(LLM)の有用性が認識されつつある。
特許文献1には、ジャーナリングモデル(journaling model)に基づいてコンテキスト認識会話型エージェントを提供する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
大規模言語モデル(LLM)システムから、ユーザに適した回答を得ることができていないという課題がある。
そこで、本開示は、上記課題を解決すべくなされたものであって、その目的は、LLMシステムから、ユーザに適した回答を得る技術を提供することである。
【課題を解決するための手段】
【0005】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プロセッサが、第1ユーザを特定するための第1ユーザ識別情報を受け付けるユーザ受付ステップと、所定の質問に関するクエリを受け付けるクエリ受付ステップと、ユーザ受付ステップにおいて受け付けた第1ユーザ識別情報、および、クエリ受付ステップにおいて受け付けたクエリに基づき、第1ユーザに関連づけられたユーザ情報を抽出する抽出ステップと、クエリ受付ステップにおいて受け付けたクエリ、および、抽出ステップにおいて抽出したユーザ情報に基づき、大規模言語モデルに対する入力文となるプロンプトを生成するプロンプト生成ステップと、を実行するプログラム。
【発明の効果】
【0006】
本開示によれば、LLMシステムから、ユーザに適した回答を得ることができる。
【図面の簡単な説明】
【0007】
【
図1】システム1の機能構成を示すブロック図である。
【
図2】サーバ10の機能構成を示すブロック図である。
【
図3】第1ユーザ端末20の機能構成を示すブロック図である。
【
図4】ユーザテーブル1012のデータ構造を示す図である。
【
図5】クエリテーブル1013のデータ構造を示す図である。
【
図6】プロンプトテーブル1014のデータ構造を示す図である。
【
図7】店舗テーブル1015のデータ構造を示す図である。
【
図8】質問処理の動作を示すフローチャートである。
【
図9】提案処理の動作を示すフローチャートである。
【
図11】コンピュータ90の基本的なハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0008】
以下、本開示の実施形態について図面を参照して説明する。実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。なお、以下の実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。また、各図は模式図であり、必ずしも厳密に図示されたものではない。
【0009】
<システム1の構成>
本開示におけるシステム1は、大規模言語モデル(LLM)システムへ問い合わせるためのプロンプトを生成する情報サービスを提供する情報処理システムである。
システム1は、ネットワークNを介して接続された、サーバ10、第1ユーザ端末20、LLMシステム50の情報処理装置を備える。
図1は、システム1の機能構成を示すブロック図である。
図2は、サーバ10の機能構成を示すブロック図である。
図3は、第1ユーザ端末20の機能構成を示すブロック図である。
【0010】
各情報処理装置は演算装置と記憶装置とを備えたコンピュータにより構成されている。コンピュータの基本ハードウェア構成および、当該ハードウェア構成により実現されるコンピュータの基本機能構成は後述する。サーバ10、第1ユーザ端末20、LLMシステム50のそれぞれについて、後述するコンピュータの基本ハードウェア構成およびコンピュータの基本機能構成と重複する説明は省略する。
【0011】
<サーバ10の構成>
サーバ10は、大規模言語モデル(LLM)システムへ問い合わせるためのプロンプトを生成する情報サービスを提供する情報処理装置である。
サーバ10は、記憶部101、制御部104を備える。
【0012】
<サーバ10の記憶部101の構成>
サーバ10の記憶部101は、アプリケーションプログラム1011、ユーザテーブル1012、クエリテーブル1013、プロンプトテーブル1014、店舗テーブル1015を備える。
【0013】
アプリケーションプログラム1011は、サーバ10の制御部104を各機能ユニットとして機能させるためのプログラムである。
アプリケーションプログラム1011は、ウェブブラウザアプリケーションなどのアプリケーションを含む。
【0014】
ユーザテーブル1012は、サービスを利用する会員ユーザ(以下、ユーザ)の情報を記憶し管理するテーブルである。ユーザは、サービスの利用登録を行うことで、当該ユーザの情報がユーザテーブル1012の新しいレコードに記憶される。これにより、ユーザは本開示にかかるサービスを利用できるようになる。本開示にかかるユーザは、製品、サービス、システム、アプリケーションなどの最終的な利用者(顧客)であるエンドユーザである。
ユーザテーブル1012は、ユーザIDを主キーとして、ユーザID、ユーザ名、ユーザデータのカラムを有するテーブルである。
図4は、ユーザテーブル1012のデータ構造を示す図である。
【0015】
ユーザIDは、ユーザを識別するためのユーザ識別情報を記憶する項目である。ユーザ識別情報は、ユーザごとにユニークな値が設定されている項目である。
ユーザ名は、ユーザの氏名を記憶する項目である。ユーザ名は、氏名ではなく、ニックネームなど任意の文字列を設定しても良い。
ユーザデータは、ユーザに関連づけられたユーザに関する情報を記憶する項目である。
ユーザデータは、ユーザの身体状態に関する情報を含む。
ユーザの身体状態に関する情報とは、具体的にはユーザの生体指標、バイタルデータ(例:心拍数、血圧、体温等)、生理状態(例:体脂肪率、身長、体重等)、健康状態(例:疾患の有無、アレルギー情報、病気等の既往歴等)、運動パフォーマンス(例:歩行速度、跳躍力等)、食事や睡眠の状態(例:摂取カロリー、睡眠時間等)、その他のユーザ固有の性別、年齢(成人であるか否かを示す情報を含む)等の身体状態や生活習慣に関する情報等を含む。また、ユーザデータは、ユーザの他の人物等との交友関係、会食履歴、接触状況に関する情報を含んでも良い。
ユーザデータは、ユーザが保有する機器に関する情報を含む。
ユーザが保有する機器に関する情報とは、具体的には機器の種類(例:パソコン、スマートフォン、タブレット、ウェアラブルデバイス等)、機器のブランドやモデル、オペレーティングシステムの種類とそのバージョン、ハードウェアのスペック(例:CPUの種類と速度、メモリ容量、ストレージ容量等)、機器の物理的な状態(例:新品か中古か、修理の歴史等)、インストールされているソフトウェアやアプリケーションのリスト及びそれらのバージョン、その他の設定や使用状況に関する情報(例:バッテリーの寿命、使用時間、通信状態等)を含む。
機器は、情報機器に限らない、移動手段(例:自動車、自転車、オートバイ等)、家電製品(例:冷蔵庫、洗濯機、テレビ等)、ツールや機械(例:電動工具、ガーデニング用具等)等を含む。この場合、ユーザデータは、製品の種類、ブランドやモデル、製造年や購入年、製品の状態(新品か中古か、現在の機能状態等)、製品のスペックや性能、メンテナンスの歴史や修理の履歴、使用頻度や使用方法、付属品の有無等の情報を含んでも良い。
【0016】
サーバ10の制御部104は、ユーザが保有する情報機器等からインターネット等の通信回線を介してユーザデータを取得しユーザテーブル1012のユーザデータの項目に、ユーザIDと関連付けて記憶することが可能な構成としても良い。
サーバ10の制御部104は、過去にユーザから電子メール、チャットサービス等の情報交換手段により受信したメッセージ文書に基づき、ユーザテーブル1012のユーザデータの項目に記憶する構成としても良い。具体的に、ユーザデータはデータの名称、種類と、データの値と、が関連付けられた構造化データである必要はなく、例えば、電子メール、チャットサービス等におけるメッセージ文書の件名、本文等の文章としても良い。
具体的に、本開示にかかる情報処理システムの運営者が従来より電子メール、チャットサービス等によるユーザサポートを実施している場合には、当該ユーザサポートにおいてユーザと交換したメッセージ文書をユーザデータに含めることができる。これにより、メッセージ文書に含まれる、ユーザの身体状態、ユーザが保有する機器に関する情報を、ユーザデータに含めることができる。なお、ユーザデータは、メッセージ文書に対して所定の処理を提供することにより生成されるCSV、Excel、SQL等の任意のデータベースを含む。また、ユーザデータの項目には、不図示のCSV、Excel、SQL等の任意のデータベースを参照するためのファイル名、パス名、FQDN(Full Qualified Domain Name)、IPアドレス等を含めても良い。また、この場合、ユーザデータは、参照先のデータベースに記憶された情報を含む。
【0017】
クエリテーブル1013は、質問に関するクエリに関する情報(クエリ情報)を記憶し管理するためのテーブルである。
クエリテーブル1013は、クエリIDを主キーとして、クエリID、ユーザID、クエリ、日時のカラムを有するテーブルである。
図5は、クエリテーブル1013のデータ構造を示す図である。
【0018】
クエリIDは、クエリを識別するためのクエリ識別情報を記憶する項目である。クエリ識別情報は、クエリ情報ごとにユニークな値が設定されている項目である。
ユーザIDは、ユーザを識別するためのユーザ識別情報を記憶する項目である。
クエリは、質問に関する文字列(テキスト)情報を記憶する項目である。具体的に、ユーザの身体状態に関するクエリ、ユーザが保有する機器に関するクエリ等が記憶される。
例えば、ユーザの身体状態に関するクエリとしては、「血圧を下げるにはどのような食生活を送れば良いか?」「血圧を下げるにはどのような運動が適しているか?」「健康的に痩せるにはどのような手法が好ましいか?」等のクエリが含まれる。
例えば、ユーザの保有する機器に関するクエリとしては、「パソコンの電源が入らないがどうすればいいか?」「パソコンのアプリケーションが起動しないがどうすればいいか?」等のクエリが含まれる。
日時は、クエリテーブル1013に新たにレコードが記憶されたり更新された際の記憶日時を記憶する項目である。
【0019】
プロンプトテーブル1014は、LLMシステム50に対する入力文となるプロンプトに関する情報(プロンプト情報)を記憶し管理するためのテーブルである。
プロンプトテーブル1014は、プロンプトIDを主キーとして、プロンプトID、ユーザID、プロンプト、回答結果、日時のカラムを有するテーブルである。
図6は、プロンプトテーブル1014のデータ構造を示す図である。
【0020】
プロンプトIDは、プロンプトを識別するためのプロンプト識別情報を記憶する項目である。プロンプト識別情報は、プロンプト情報ごとにユニークな値が設定されている項目である。
ユーザIDは、ユーザを識別するためのユーザ識別情報を記憶する項目である。
プロンプトは、LLMシステム50に対する入力文となるプロンプトを記憶する項目である。具体的に、プロンプトにかかる文字列(テキスト)情報が記憶される。
回答結果は、LLMシステム50から受信したプロンプトに対する回答結果を記憶する項目である。具体的には、プロンプトに対する回答文にかかる文字列(テキスト)情報が記憶される。
日時は、プロンプトテーブル1014に新たにレコードが記憶されたり更新された際の記憶日時を記憶する項目である。
【0021】
店舗テーブル1015は、店舗に関する情報(店舗情報)を記憶し管理するためのテーブルである。
店舗テーブル1015は、店舗IDを主キーとして、店舗ID、ユーザID、店舗名、店舗データ、口コミデータのカラムを有するテーブルである。
図7は、店舗テーブル1015のデータ構造を示す図である。
【0022】
店舗IDは、店舗を識別するための店舗識別情報を記憶する項目である。店舗識別情報は、店舗情報ごとにユニークな値が設定されている項目である。
ユーザIDは、店舗に関連付けられたユーザを識別するためのユーザ識別情報を記憶する項目である。具体的に、店舗の経営者、オーナー、従業者等の、店舗の運営に関連するユーザのユーザ識別情報が記憶される。
店舗名は、店舗の名称を記憶する項目である。店舗名は任意の文字列を設定することができる。
店舗データは、店舗の情報を記憶する項目である。
店舗データは、店舗の名称、店舗の所在地、業種、販売商品、店舗の開店時間および閉店時間、店舗の規模(例:売り場面積、階数等)、取り扱い商品の種類とその在庫状況、店舗のレイアウト、店舗内で提供されるサービス、スタッフの情報(例:従業員数、スキルレベル等)、店舗での売上状況や顧客流動状況、その他のマーケティングに関する情報(例:特売日、セール情報等)などを含む。
口コミデータは、投稿者による口コミに関する情報を記憶する項目である。
口コミデータは、投稿者のID、メールアドレス、投稿日時、評価値(例:星数、点数等)、投稿テキスト(具体的なレビューや感想)、対象の商品やサービスの名称、投稿者の購入経験や利用経験、投稿の対象となる店舗や企業の情報、他のユーザによる評価やリアクション(例:「いいね」の数、コメント等)などを含む。
【0023】
<サーバ10の制御部104の構成>
サーバ10の制御部104は、ユーザ登録制御部1041、質問部1042、提案部1043を備える。制御部104は、記憶部101に記憶されたアプリケーションプログラム1011を実行することにより、各機能ユニットが実現される。
【0024】
ユーザ登録制御部1041は、本開示に係るサービスの利用を希望するユーザの情報をユーザテーブル1012に記憶する処理を行う。
ユーザテーブル1012に記憶される情報は、ユーザが任意の情報処理端末からサービス提供者が運営するウェブページなどを開き、所定の入力フォームに情報を入力しサーバ10へ送信する。ユーザ登録制御部1041は、受信した情報をユーザテーブル1012の新しいレコードに記憶し、ユーザ登録が完了する。これにより、ユーザテーブル1012に記憶されたユーザはサービスを利用することができるようになる。
ユーザ登録制御部1041によるユーザ情報のユーザテーブル1012への登録に先立ち、サービス提供者は所定の審査を行いユーザによるサービス利用可否を制限しても良い。
ユーザIDは、ユーザを識別できる任意の文字列または数字で良く、ユーザが希望する任意の文字列または数字、もしくはユーザ登録制御部1041が自動的に任意の文字列または数字を設定しても良い。
【0025】
質問部1042は、質問処理を実行する。詳細は後述する。
【0026】
提案部1043は、提案処理を実行する。詳細は後述する。
【0027】
<第1ユーザ端末20の構成>
第1ユーザ端末20は、サービスを利用するユーザが操作する情報処理装置である。第1ユーザ端末20は、例えば、スマートフォン、タブレット等の携帯端末でもよいし、据え置き型のPC(Personal Computer)、ラップトップPCであってもよい。また、HMD(Head Mount Display)、腕時計型端末等のウェアラブル端末であってもよい。
第1ユーザ端末20は、記憶部201、制御部204、入力装置206、出力装置208を備える。
【0028】
<第1ユーザ端末20の記憶部201の構成>
第1ユーザ端末20の記憶部201は、第1ユーザID2011、アプリケーションプログラム2012を備える。
【0029】
第1ユーザID2011はユーザのアカウントIDである。第1ユーザは、第1ユーザ端末20から第1ユーザID2011を、サーバ10へ送信する。サーバ10は、第1ユーザID2011に基づきユーザを識別し、本開示にかかるサービスをユーザに対して提供する。なお、第1ユーザID2011には、第1ユーザ端末20を利用しているユーザを識別するにあたりサーバ10から一時的に付与されるセッションIDなどの情報を含む。
【0030】
アプリケーションプログラム2012は、記憶部201に予め記憶されていても良いし、通信IFを介してサービス提供者が運営するウェブサーバ等からダウンロードする構成としても良い。
アプリケーションプログラム2012は、ウェブブラウザアプリケーションなどのアプリケーションを含む。
アプリケーションプログラム2012は、第1ユーザ端末20に記憶されているウェブブラウザアプリケーション上で実行されるJavaScript(登録商標)などのインタープリター型プログラミング言語を含む。
【0031】
<第1ユーザ端末20の制御部204の構成>
第1ユーザ端末20の制御部204は、入力制御部2041、出力制御部2042を備える。制御部204は、記憶部201に記憶されたアプリケーションプログラム2012を実行することにより、各機能ユニットが実現される。
【0032】
<第1ユーザ端末20の入力装置206の構成>
第1ユーザ端末20の入力装置206は、カメラ2061、マイク2062、位置情報センサ2063、モーションセンサ2064、タッチデバイス2065を備える。
【0033】
<第1ユーザ端末20の出力装置208の構成>
第1ユーザ端末20の出力装置208は、ディスプレイ2081、スピーカ2082を備える。
【0034】
<LLMシステム50の構成>
LLM(Large Language Model)システム50とは、自然言語処理(NLP)の分野で使用される大規模な人工知能モデルを指す。これらのモデルは、大量のテキストデータ(ウェブページ、書籍、記事等)を学習することで、人間が使用する言語のパターンを理解し、自然言語生成(NLG)タスクを効果的に行うことができる。
LLMシステム50は、特定の問いへの応答生成、文章の自動生成、テキストの要約、翻訳、感情分析など、多くのNLPタスクで使用されます。また、教育、エンターテイメント、カスタマーサービス、製品開発など、様々な用途に活用することができる。
LLMシステム50には、以下のようなものが存在する。
・OpenAI ChatGPT
・Google Bard
・Stable Diffusion
・midjourney
【0035】
<システム1の動作>
以下、システム1の各処理について説明する。
図8は、質問処理の動作を示すフローチャートである。
図9は、提案処理の動作を示すフローチャートである。
図10は、質問処理の動作を示す画面例である。
【0036】
<質問処理>
質問処理は、ユーザから質問文(クエリ)を受け付け、クエリに基づき大規模言語モデル(LLM)システムへの入力文となるプロンプトを生成し、当該プロンプトに対する回答結果を得るための処理である。
【0037】
<質問処理の概要>
質問処理は、ユーザから質問文(クエリ)を受け付け、ユーザ識別情報およびクエリに基づきユーザデータを抽出し、クエリおよびユーザデータに基づきプロンプトを生成し、プロンプトを大規模言語モデル(LLM)システムへ送信し、LLMシステムから回答結果を受信し、回答結果を記憶し、回答結果をユーザに提示する一連の処理である。
なお、質問処理は顧客から問い合わせを受け付けたオペレータにより実行される構成としても良い。例えば、オペレータは、顧客(ユーザ)からの質問(クエリ)を受け付け、顧客を特定する情報をユーザ識別情報としてクエリとともに本開示にかかる情報処理システムへ送信する構成としても良い。この場合、大規模言語モデル(LLM)からの回答結果はオペレータに対して提示される。オペレータは、提示された回答結果を顧客に対して返信することにより提示しても良い。
また、質問処理はエンドユーザにより実行される構成としても良い。例えば、エンドユーザによりオペレータを介さずに質問処理が実行され、提示された回答結果をエンドユーザへ直接提示する構成としても良い。
【0038】
<質問処理の詳細>
以下に、質問処理の詳細を説明する。
【0039】
ステップS101において、サーバ10の質問部1042は、第1ユーザから、所定の質問に関するクエリを受け付けるクエリ受付ステップを実行する。サーバ10の質問部1042は、第1ユーザを特定するための第1ユーザ識別情報を受け付けるユーザ受付ステップを実行する。
具体的に、第1ユーザは、第1ユーザ端末20の入力装置206を操作し、ブラウザアプリケーション等を実行し、質問処理を実行するためのウェブページ(質問ページ)のURL等を入力することにより質問ページD1を開く。第1ユーザ端末20の制御部204は、質問ページを開くための第1ユーザID2011を含むリクエストをサーバ10へ送信する。
【0040】
サーバ10は、リクエストを受信すると質問ページを生成し第1ユーザ端末20へ送信する。第1ユーザ端末20の制御部204は、質問ページを第1ユーザ端末20のディスプレイ2081に表示し、提示する。
図10は、質問処理における質問画面の画面例である。第1ユーザ端末20のディスプレイ2081には、質問ページD1が表示される。質問ページD1は、質問に関する文字列(テキスト)情報を入力するためのクエリ入力欄D101、質問に対する回答結果に関する文字列(テキスト)情報を表示するための回答エリアD102、送信ボタンD103を含む。質問画面においては、第1ユーザは、クエリ入力欄D101に様々な質問を入力し、当該質問に対する回答を回答エリアD102に表示される回答結果から得ることができる。
【0041】
質問ページD1は、生成ボタンD111、DB構築ボタンD112、システム設定ボタンD113を含む。ユーザは、第1ユーザ端末20の入力装置206を操作することにより、生成ボタンD111、DB構築ボタンD112、システム設定ボタンD113のいずれかを選択することにより、質問ページD1に表示される画面を切り替えることができる。具体的に、
図10に示す質問ページD1は、生成ボタンD111を選択することにより表示されるプロンプト生成画面である。ユーザは、ユーザ端末20の入力装置206を操作することによりDB構築ボタンD112を選択することにより、ユーザテーブル1012のユーザデータを登録および編集するためのDB構築画面を表示させることができる。ユーザは、ユーザ端末20の入力装置206を操作することによりシステム設定ボタンD113を選択することにより、本開示にかかる情報処理システムの各種設定値を変更することができる。
【0042】
質問ページD1は、質問にかかる対象製品を選択するための製品選択入力欄D121、参照データD122、D123を含む。ユーザは、質問にかかる製品、サービス等の製品名、製品ID等の製品を特定するための製品特定情報を製品選択入力欄D121に入力する。製品選択入力欄D121に入力した製品特定情報は、ユーザID2011と関連付けてユーザテーブル1012のユーザデータの項目に記憶する。
【0043】
第1ユーザは、第1ユーザ端末20の入力装置206を操作することにより、クエリ入力欄D101に質問に関する文字列を入力する。第1ユーザは、第1ユーザ端末20の入力装置206を操作することにより、送信ボタンD103を選択する。第1ユーザ端末20の制御部204は、クエリ入力欄D101に入力されたクエリ、第1ユーザID2011をサーバ10へ送信する。サーバ10の質問部1042は、クエリ、第1ユーザID2011を受信し、受け付ける。
なお、本開示において第1ユーザからクエリおよび第1ユーザID2011を受信する構成を一例として開示したが、第1ユーザID2011は、第1ユーザ端末20からではなく、オペレータによる入力操作により入力され受信し、受け付ける構成としても良い。例えば、オペレータは、自身の情報処理端末を操作することにより、所定のユーザ識別情報入力欄に第1ユーザID2011を入力し、送信する。サーバ10の質問部1042は、第1ユーザID2011を受信し、受け付ける。
【0044】
クエリ受付ステップは、第1ユーザの身体状態に関するクエリを受け付けるステップを実行する。
具体的に、第1ユーザは、第1ユーザ端末20の入力装置206を操作することにより、クエリ入力欄D101に第1ユーザの身体状態に関するクエリを入力することができる。身体状態に関するクエリについては、クエリテーブル1013のクエリの項目において説明している。
この場合、サーバ10の質問部1042は、第1ユーザの身体状態に関するクエリを受信し、受け付ける。
【0045】
クエリ受付ステップは、第1ユーザが保有する機器に関するクエリを受け付けるステップを実行する。
具体的に、第1ユーザは、第1ユーザ端末20の入力装置206を操作することにより、クエリ入力欄D101に第1ユーザが保有する機器に関するクエリを入力することができる。保有する機器に関するクエリについては、クエリテーブル1013のクエリの項目において説明している。
この場合、サーバ10の質問部1042は、第1ユーザが保有する機器に関するクエリを受信し、受け付ける。
【0046】
ステップS102において、サーバ10の質問部1042は、ユーザ受付ステップにおいて受け付けた第1ユーザ識別情報、および、クエリ受付ステップにおいて受け付けたクエリに基づき、第1ユーザに関連づけられたユーザ情報を抽出する抽出ステップを実行する。
抽出ステップは、第1ユーザに関連づけられた情報のうち、クエリに関連しないユーザ情報の一部を除外して、クエリに関連するユーザ情報の一部を抽出するステップを実行する。
具体的に、サーバ10の質問部1042は、第1ユーザID2011に基づき、ユーザテーブル1012のユーザIDの項目を検索し、第1ユーザのユーザデータ(第1ユーザデータ)を取得する。サーバ10の質問部1042は、ステップS101において受信したクエリに基づき、第1ユーザデータに含まれる第1ユーザに関する各種情報から、当該クエリに関連する情報を抽出し、当該クエリに関連しない情報を抽出しない。
具体的に、サーバ10の質問部1042は、受信したクエリと第1ユーザデータに含まれる情報(複数の第1ユーザデータとする)とのコサイン類似度、TF-IDFスコア、LexRank等のアルゴリズムに基づき、クエリと複数の第1ユーザデータとの類似度を算定する。これにより、複数の第1ユーザデータのそれぞれに対する類似度が算定される。サーバ10の質問部1042は、複数の第1ユーザデータのうち、類似度に応じて類似する順に所定数または類似度が所定値以上の第1ユーザデータを抽出し、それ以外の第1ユーザデータを除外して第1ユーザデータを特定する。その他、過去の質問、回答情報等を参考に、複数の第1ユーザデータからクエリに関連する第1ユーザデータを抽出する構成としても良い。
なお、サーバ10の質問部1042は、第1ユーザ端末20から製品選択入力欄D121の入力値の内容を受け付け、当該入力値に基づき、ユーザテーブル1012のユーザデータを検索しても良い。具体的に、製品選択入力欄D121に入力された製品名に基づき、当該製品名を含むユーザデータをユーザテーブル1012から検索しても良い。つまり、クエリ受付ステップにおいて受け付けるクエリは、製品選択入力欄D121の入力値のような製品名を示す情報を含む。
例えば、第1ユーザから、「血圧を下げるにはどのような食生活を送れば良いか?」というクエリを受け付けた場合には、第1ユーザが保有する機器に関する情報等のクエリと関連度が低い第1ユーザデータを除外して、第1ユーザの性別、年齢、血圧、食事、接種カロリー、既往歴、病歴等のクエリと関連度が高い第1ユーザデータを含めて第1ユーザデータを抽出する。
【0047】
ステップS102において、抽出ステップは、第1ユーザに関連付けられた第1ユーザの身体状態に関する情報を含むユーザ情報を抽出するステップを実行する。
例えば、第1ユーザから、第1ユーザの身体状態に関するクエリを受け付けた場合は、サーバ10の質問部1042は、第1ユーザの身体状態に関連する第1ユーザデータを抽出し、第1ユーザの身体状態に関連しない第1ユーザデータを抽出しない。
【0048】
ステップS102において、抽出ステップは、第1ユーザが保有する機器に関する情報を含むユーザ情報を抽出するステップを実行する。
例えば、第1ユーザから、第1ユーザが保有する機器に関するクエリを受け付けた場合は、サーバ10の質問部1042は、第1ユーザが保有する機器に関連する第1ユーザデータを抽出し、第1ユーザが保有する機器に関連しない第1ユーザデータを抽出しない。
【0049】
ステップS102において、サーバ10の質問部1042は、抽出した第1ユーザデータを第1ユーザ端末20へ送信する。第1ユーザ端末20の制御部204は、受信した第1ユーザデータを、参照データD122、D123に表示し提示する。これにより、第1ユーザは、第1ユーザに関するどのような第1ユーザデータを参照してプロンプトが生成されるのかを明示的に確認することができる。第1ユーザは、第1ユーザ端末20の入力装置206を操作することにより、参照データD122、D123・・・のいずれかを選択し、プロンプトへ含める第1ユーザデータから除外する操作ができるものとしても良い。また、第1ユーザは、第1ユーザ端末20の入力装置206を操作することにより、ユーザテーブル1012に第1ユーザと関連付けて記憶されたユーザデータの内、任意のユーザデータを手動により参照データD122、D123に追加することにより、第1ユーザデータに含めることができるものとしても良い。その他、第1ユーザは、第1ユーザ端末20の入力装置206を操作することにより、任意の情報を第1ユーザデータに含める構成としても良い。
これにより、第1ユーザは、手作業により適切な大規模言語モデル(LLM)に対する入力文となるプロンプトを生成することができる。
参照データD122、D123には、ユーザデータにかかるCSVファイルのファイル名、パス名、ユーザデータの参照元となるデータベースのFQDN、IPアドレス等としても良い。
【0050】
ステップS103において、サーバ10の質問部1042は、クエリ受付ステップにおいて受け付けたクエリ、および、抽出ステップにおいて抽出したユーザ情報に基づき、大規模言語モデル(LLM)に対する入力文となるプロンプトを生成するプロンプト生成ステップを実行する。
具体的に、サーバ10の質問部1042は、ステップS101において受け付けたクエリと、ステップS102において抽出した第1ユーザデータに基づきプロンプトを生成する。
例えば、サーバ10の質問部1042は、以下のようなプロンプトを生成する。
〔プロンプト〕
# 命令書
あなたはユーザからの質問文に対して、以下のユーザ情報を考慮してユーザを支援するための回答文を出力するチャットボットです。
# ユーザからの質問文
クエリ
# ユーザ情報
第1ユーザデータ
# 回答文
【0051】
例えば、サーバ10の質問部1042は、第1ユーザから第1ユーザの身体状態に関するクエリを受け付けた場合には、サーバ10の質問部1042は、以下のようなプロンプトを生成する。
〔プロンプト〕
# 命令書
あなたはユーザからの質問文に対して、以下のユーザ情報を考慮してユーザを支援するための回答文を出力するチャットボットです。
# 質問文
血圧を下げるにはどのような食生活を送れば良いか?
# ユーザ情報
・血圧:
●●(Y-M-D),●●(Y-M-D),●●(Y-M-D),●●(Y-M-D)
・体重
●●(Y-M-D),●●(Y-M-D),●●(Y-M-D),●●(Y-M-D)
・食事内容
●●(Y-M-D),●●(Y-M-D),●●(Y-M-D),●●(Y-M-D)
・既往歴、病歴
●●(Y-M-D),●●(Y-M-D),●●(Y-M-D),●●(Y-M-D)
# 回答文
【0052】
サーバ10の質問部1042は、第1ユーザデータに含まれる年齢、成人か否かを示す情報に基づき、質問文に対して年齢制限を加える文字列を含めてプロンプトを生成しても良い。例えば、サーバ10の質問部1042は、プロントに「●●歳に適した回答してください。」、「未成年に不適切な回答を除外してください。」などの文字列を含める。
なお、サーバ10の質問部1042は、第1ユーザデータに基づき出力内容を制限するための文字列をプロンプトに含める処理を実行しても良いし、第1ユーザデータに基づかずに出力内容を制限するための文字列をプロンプトに含める処理を実行しても良い。
これにより、第1ユーザの年齢や、成人、未成年か否かの情報に基づき、LLMシステム50から適切な回答内容を得ることができる。
【0053】
ステップS104において、サーバ10の質問部1042は、コンピュータとは異なる事業者により運営される外部の大規模言語モデル(LLM)システムへ、プロンプト生成ステップにおいて生成したプロンプトを送信するプロンプト送信ステップを実行する。
具体的に、サーバ10の質問部1042は、ステップS103において生成したプロンプトを含むリクエストをLLMシステム50が提供するAPIエンドポイントへ送信する。
【0054】
ステップS105において、サーバ10の質問部1042は、プロンプト送信ステップにおいて送信したプロンプトに対する回答結果を受信する回答受信ステップを実行する。回答受信ステップは、第1ユーザに関連付けられたユーザ情報に基づき、大規模言語モデル(LLM)システムを学習させることなしに、プロンプトに対する回答結果を受信するステップを実行する。
具体的に、LLMシステム50は、APIエンドポイントに受け付けたプロンプトに対して文字列(テキスト)を出力可能に構成されている。LLMシステム50は、受信したプロンプトに基づき出力される回答結果を含むレスポンスをサーバ10へ送信する。サーバ10の質問部1042は、LLMシステム50からのレスポンスに含まれるプロンプトに対する回答結果を受信し、受け付ける。
【0055】
ステップS106において、サーバ10の質問部1042は、プロンプト生成ステップにおいて生成したプロンプトおよび回答受信ステップにおいて受信した回答結果を関連付けて記憶する。
具体的に、サーバ10の質問部1042は、第1ユーザID2011、ステップS103において生成したプロンプト、ステップS105において受け付けた回答結果をそれぞれ、プロンプトテーブル1014のユーザID、プロンプト、回答結果の項目に記憶する。
【0056】
ステップS107において、サーバ10の質問部1042は、回答受信ステップにおいて受信した回答結果に基づき、クエリ受付ステップにおいて受け付けたクエリに対する第1ユーザの対応施策に関するアドバイス情報を第1ユーザに提案する提案ステップを実行する。
具体的に、サーバ10の質問部1042は、ステップS105においてLLMシステム50から受信した回答結果にかかる文字列(テキスト)を第1ユーザ端末20へ送信する。第1ユーザ端末20の制御部204は、回答結果にかかる文字列(テキスト)を第1ユーザ端末20のディスプレイ2081に表示された質問ページD1の回答エリアD102に出力する。これにより、サーバ10の質問部1042は、ステップS101において受け付けたクエリに応じて、第1ユーザのクエリに対するアドバイスに関する文章(アドバイス情報)を第1ユーザに対して提案する。
なお、オペレータにより質問処理が実行された場合においては、回答結果はオペレータに対して提示される。オペレータは、提示された回答結果を、質問を問い合わせた顧客(第1ユーザ)に対して返信することにより送信する。これにより、情報問い合わせサービスにおいても顧客からの問合せに対して好適な回答結果を顧客に対して提供することができる。
【0057】
<提案処理>
提案処理は、第三者から受け付けた店舗の口コミに対するアドバイス(提案)を、当該店舗に関連付けられたユーザに対して行う処理である。
【0058】
<提案処理の概要>
提案処理は、第三者から店舗等に関する口コミを受け付け、当該口コミを受け付けた店舗等の店舗データを抽出し、口コミの内容および店舗データに基づきプロンプトを生成し、プロンプトを大規模言語モデル(LLM)システムへ送信し、LLMシステムから回答結果を受信し、回答結果を記憶し、回答結果に基づき口コミに対するユーザの対応施策に関するアドバイス情報ユーザに提示する一連の処理である。
【0059】
<提案処理の詳細>
以下に、提案処理の詳細を説明する。
【0060】
S301において、クエリ受付ステップは、第1ユーザに関連づけられた店舗の口コミに関するクエリを受け付けるクエリ受付ステップを実行する。
具体的に、投稿者にかかるユーザ(以下、投稿者)は、投稿者の情報処理端末を操作することにより店舗に関する口コミを投稿するウェブサイトをウェブブラウザ等で開く。口コミを投稿するサイトは、本開示にかかる情報サービスを提供する事業者が運営するウェブサイトである必要はなく、他の事業者が運営する外部のウェブサイトでも良い。
投稿者は、投稿者の情報処理端末を操作することによりウェブサイトに設けられた入力フォーム等に、店舗に関する口コミ等の店舗に関する情報を入力し送信する。これにより、店舗に関する口コミを投稿するウェブサイトへ口コミを投稿する。サーバ10の提案部1043は、ウェブサイトへアクセスすることにより投稿者により投稿された口コミおよび投稿された店舗を特定するための店舗識別情報を取得する。サーバ10の提案部1043は、取得した口コミをクエリとして受け付ける。
サーバ10の提案部1043は、取得した店舗識別情報に基づき、店舗テーブル1015の店舗IDを参照することにより特定されるレコードの口コミデータの項目に取得した口コミを記憶する。なお、レコードは、店舗識別情報ではなく、店舗名に基づき特定しても良い。
【0061】
ステップS302において、サーバ10の提案部1043は、取得した口コミに基づき、店舗に関連付けられた店舗情報を抽出する抽出ステップを実行する。
サーバ10の提案部1043は、ステップS301において取得した店舗識別情報に基づき、店舗テーブル1015の店舗IDを検索することにより、店舗識別情報により特定される店舗の店舗データ、ユーザID(店舗に関連付けられたユーザのユーザ識別情報、以下、第1ユーザとする)を取得する。なお、レコードは、店舗識別情報ではなく、店舗名に基づき特定しても良い。
サーバ10の提案部1043は、ステップS301において取得した口コミに基づき、店舗データに含まれる口コミに関する各種情報から、当該口コミに関連する店舗データを抽出し、当該口コミに関連しない店舗データを抽出しない。
具体的に、サーバ10の提案部1043は、受信した口コミと店舗データに含まれる情報(複数の店舗データ)とのコサイン類似度、TF-IDFスコア、LexRank等のアルゴリズムに基づき、口コミと複数の店舗データとの類似度を算定する。これにより、複数の店舗データのそれぞれに対する類似度が算定される。サーバ10の提案部1043は、複数の店舗データのうち、類似度に応じて類似する順に所定数または類似度が所定値以上の店舗データを抽出し、それ以外の店舗データを除外して店舗データを特定する。その他、過去の質問、回答情報等を参考に、複数の店舗データから口コミに関連する店舗データを抽出する構成としても良い。
例えば、投稿者から、「メニューの種類が乏しかった」という口コミを受け付けた場合には、店舗の販売商品、取り扱い商品の種類とその在庫状況、店舗内で提供されるサービス、その他のマーケティングに関する情報等の口コミと関連度が高い店舗データを含めて店舗データを抽出する。
【0062】
ステップS303において、サーバ10の提案部1043は、クエリ受付ステップにおいて受け付けた口コミ、および、抽出ステップにおいて抽出した店舗情報に基づき、大規模言語モデル(LLM)に対する入力文となるプロンプトを生成するプロンプト生成ステップを実行する。
具体的に、サーバ10の提案部1043は、ステップS301において受け付けた口コミと、ステップS302において抽出した店舗データに基づきプロンプトを生成する。
例えば、サーバ10の提案部1043は、以下のようなプロンプトを生成する。
〔プロンプト〕
# 命令書
あなたは店舗に関する口コミに対して、以下の店舗情報を考慮して口コミに対する店舗の対応施策を支援するための回答文を出力するチャットボットです。
# 店舗に関する口コミ
口コミ
# 店舗情報
店舗データ
# 回答文
【0063】
例えば、サーバ10の提案部1043は、投稿者から口コミを受け付けた場合には、サーバ10の提案部1043は、以下のようなプロンプトを生成する。
〔プロンプト〕
# 命令書
あなたは店舗に関する口コミに対して、以下の店舗情報を考慮して口コミに対する店舗施策を支援するための回答文を出力するチャットボットです。
# 店舗に関する口コミ
メニューの種類が乏しかった
# 店舗情報
・販売商品:
●●●●,●●●●,●●●●,●●●●,●●●●,●●●●
・取り扱い商品
●●●●,●●●●,●●●●,●●●●,●●●●,●●●●
・在庫状況
●●●●,●●●●,●●●●,●●●●,●●●●,●●●●
・店舗内で提供されるサービス
# 回答文
【0064】
ステップS304~S306は、質問処理におけるステップS104~S106と同様であるため説明を省略する。サーバ10の提案部1043は、店舗と関連付けられたユーザのユーザ識別情報、ステップS303において生成したプロンプト、ステップS305において受信した回答結果のそれぞれを、プロンプトテーブル1014のユーザID、プロンプト、回答結果の項目に記憶する。
【0065】
ステップS307において、サーバ10の提案部1043は、回答受信ステップにおいて受信した回答結果に基づき、クエリ受付ステップにおいて受け付けたクエリに対する第1ユーザの対応施策に関するアドバイス情報を第1ユーザに提案する提案ステップを実行する。
具体的に、サーバ10の提案部1043は、ステップS305においてLLMシステム50から受信した回答結果にかかる文字列(テキスト)を第1ユーザ端末20へ送信する。例えば、サーバ10の提案部1043は、ステップS101において特定した店舗に関連付けられた第1ユーザのユーザ識別情報に基づき、ユーザテーブル1012のユーザIDの項目を検索し、第1ユーザのメールアドレス、第1ユーザのチャットID等の第1ユーザに連絡するための連絡先情報を取得する。サーバ10の提案部1043は、連絡情報に対して、LLMシステム50から受信した回答結果にかかる文字列(テキスト)を送信する。
第1ユーザ端末20の制御部204は、受信した回答結果にかかる文字列(テキスト)を第1ユーザ端末20のディスプレイ2081に出力する。これにより、サーバ10の提案部1043は、ステップS301において受け付けた口コミに応じて、店舗に関連付けられた第1ユーザに対して、第1ユーザの対応施策に対するアドバイスに関する文章(アドバイス情報)を第1ユーザに対して提案する。
【0066】
<コンピュータの基本ハードウェア構成>
図11は、コンピュータ90の基本的なハードウェア構成を示すブロック図である。コンピュータ90は、プロセッサ901、主記憶装置902、補助記憶装置903、通信IF991(インタフェース、Interface)を少なくとも備える。これらは通信バス921により相互に電気的に接続される。
【0067】
プロセッサ901とは、プログラムに記述された命令セットを実行するためのハードウェアである。プロセッサ901は、演算装置、レジスタ、周辺回路等から構成される。
【0068】
主記憶装置902とは、プログラム、及びプログラム等で処理されるデータ等を一時的に記憶するためのものである。例えば、DRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0069】
補助記憶装置903とは、データ及びプログラムを保存するための記憶装置である。例えば、フラッシュメモリ、HDD(Hard Disc Drive)、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等である。
【0070】
通信IF991とは、有線又は無線の通信規格を用いて、他のコンピュータとネットワークを介して通信するための信号を入出力するためのインタフェースである。
ネットワークは、インターネット、LAN、無線基地局等によって構築される各種移動通信システム等で構成される。例えば、ネットワークには、3G、4G、5G移動通信システム、LTE(Long Term Evolution)、所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が含まれる。無線で接続する場合、通信プロトコルとして例えば、Z-Wave(登録商標)、ZigBee(登録商標)、Bluetooth(登録商標)等が含まれる。有線で接続する場合は、ネットワークには、USB(Universal Serial Bus)ケーブル等により直接接続するものも含む。
【0071】
なお、各ハードウェア構成の全部または一部を複数のコンピュータ90に分散して設け、ネットワークを介して相互に接続することによりコンピュータ90を仮想的に実現することができる。このように、コンピュータ90は、単一の筐体、ケースに収納されたコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0072】
<コンピュータ90の基本機能構成>
コンピュータ90の基本ハードウェア構成(
図11)により実現されるコンピュータの機能構成を説明する。コンピュータは、制御部、記憶部、通信部の機能ユニットを少なくとも備える。
【0073】
なお、コンピュータ90が備える機能ユニットは、それぞれの機能ユニットの全部または一部を、ネットワークで相互に接続された複数のコンピュータ90に分散して設けても実現することができる。コンピュータ90は、単一のコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0074】
制御部は、プロセッサ901が補助記憶装置903に記憶された各種プログラムを読み出して主記憶装置902に展開し、当該プログラムに従って処理を実行することにより実現される。制御部は、プログラムの種類に応じて様々な情報処理を行う機能ユニットを実現することができる。これにより、コンピュータは情報処理を行う情報処理装置として実現される。
【0075】
記憶部は、主記憶装置902、補助記憶装置903により実現される。記憶部は、データ、各種プログラム、各種データベースを記憶する。また、プロセッサ901は、プログラムに従って記憶部に対応する記憶領域を主記憶装置902または補助記憶装置903に確保することができる。また、制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶されたデータの追加、更新、削除処理を実行させることができる。
【0076】
データベースは、リレーショナルデータベースを指し、行と列によって構造的に規定された表形式のテーブル、マスタと呼ばれるデータ集合を、互いに関連づけて管理するためのものである。データベースでは、表をテーブル、マスタ、表の列をカラム、表の行をレコードと呼ぶ。リレーショナルデータベースでは、テーブル、マスタ同士の関係を設定し、関連づけることができる。
通常、各テーブル、各マスタにはレコードを一意に特定するための主キーとなるカラムが設定されるが、カラムへの主キーの設定は必須ではない。制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶された特定のテーブル、マスタにレコードを追加、削除、更新を実行させることができる。
また、記憶部に、データ、各種プログラム、各種データベースを記憶させることにより、本開示にかかる情報処理装置、情報処理システムが製造されたものとして捉えることができる。
【0077】
なお、本開示におけるデータベース、マスタは、情報が構造的に規定された任意のデータ構造体(リスト、辞書、連想配列、オブジェクトなど)を含み得る。データ構造体には、データと、任意のプログラミング言語により記述された関数、クラス、メソッドなどを組み合わせることにより、データ構造体と見なし得るデータも含むものとする。
【0078】
通信部は、通信IF991により実現される。通信部は、ネットワークを介して他のコンピュータ90と通信を行う機能を実現する。通信部は、他のコンピュータ90から送信された情報を受信し、制御部へ入力することができる。制御部は、各種プログラムに従ってプロセッサ901に、受信した情報に対する情報処理を実行させることができる。また、通信部は、制御部から出力された情報を他のコンピュータ90へ送信することができる。
【0079】
<付記>
以上の各実施形態で説明した事項を以下に付記する。
【0080】
(付記1)
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プロセッサが、第1ユーザを特定するための第1ユーザ識別情報を受け付けるユーザ受付ステップ(S101)と、所定の質問に関するクエリを受け付けるクエリ受付ステップ(S101)と、ユーザ受付ステップにおいて受け付けた第1ユーザ識別情報、および、クエリ受付ステップにおいて受け付けたクエリに基づき、第1ユーザに関連づけられたユーザ情報を抽出する抽出ステップ(S102)と、クエリ受付ステップにおいて受け付けたクエリ、および、抽出ステップにおいて抽出したユーザ情報に基づき、大規模言語モデル(LLM)に対する入力文となるプロンプトを生成するプロンプト生成ステップ(S103)と、を実行するプログラム。
これにより、LLMシステムへ問い合わせるためのプロンプトにユーザ情報を含めることができる。当該プロンプトを用いることにより、LLMシステムから、ユーザに適した回答を得ることが出来る。例えば、ユーザの問題をより短時間で解決することができる。
【0081】
(付記2)
抽出ステップ(S102)は、第1ユーザに関連づけられた情報のうち、クエリに関連しないユーザ情報の一部を除外して、クエリに関連するユーザ情報の一部を抽出するステップである、付記1記載のプログラム。
これにより、LLMシステムへ問い合わせるためのプロンプトにユーザ情報のうちクエリに関連した情報を含めることができる。当該プロンプトを用いることにより、ユーザ情報が大量にあった場合においても、クエリに適したユーザ情報のみを抽出してLLMシステムへ問い合わせることができる。
【0082】
(付記3)
抽出ステップ(S102)は、第1ユーザに関連付けられた第1ユーザの身体状態に関する情報を含むユーザ情報を抽出するステップである、付記1または2記載のプログラム。
これにより、ユーザは自身の健康状態に関する質問に対して、適した回答をLLMシステムから得ることができるプロンプトを得ることができる。例えば、ユーザの問題により即した回答を得ることができる。
【0083】
(付記4)
クエリ受付ステップ(S101)は、第1ユーザの身体状態に関するクエリを受け付けるステップである、付記3記載のプログラム。
これにより、ユーザは自身の健康状態に関する質問に対して、適した回答をLLMシステムから得ることができるプロンプトを得ることができる。例えば、ユーザの問題により即した回答を得ることができる。
【0084】
(付記5)
抽出ステップ(S102)は、第1ユーザが保有する機器に関する情報を含むユーザ情報を抽出するステップである、付記1または2記載のプログラム。
これにより、ユーザは自身が保有するPC、スマートフォン等の情報処理機器等に関する質問に対して、ユーザの問題により即した回答を得ることができるプロンプトを得ることができる。
【0085】
(付記6)
クエリ受付ステップ(S101)は、第1ユーザが保有する機器に関するクエリを受け付けるステップである、付記5記載のプログラム。
これにより、ユーザは自身が保有するPC、スマートフォン等の情報処理機器等に関する質問に対して、ユーザの問題により即した回答を得ることができるプロンプトを得ることができる。
【0086】
(付記7)
クエリ受付ステップ(S301)は、第1ユーザに関連づけられた店舗の口コミに関するクエリを受け付けるステップである、付記1または2記載のプログラム。
これにより、ユーザは自身が経営または関与する店舗等に関して第三者により行われた口コミに対する対応方針に関する質問をLLMシステムへ行うためのプロンプトを得ることができる。
【0087】
(付記8)
プロセッサが、コンピュータとは異なる事業者により運営される外部の大規模言語モデル(LLM)システムへ、プロンプト生成ステップにおいて生成したプロンプトを送信するプロンプト送信ステップ(S104)と、プロンプト送信ステップにおいて送信したプロンプトに対する回答結果を受信する回答受信ステップ(S105)と、を実行する、付記1から7のいずれか記載のプログラム。
これにより、LLMシステムから、ユーザに適した回答を得ることが出来る。例えば、ユーザの問題をより短時間で解決することができる。
【0088】
(付記9)
回答受信ステップ(S105)は、第1ユーザに関連付けられたユーザ情報に基づき、大規模言語モデル(LLM)システムを学習させることなしに、プロンプトに対する回答結果を受信するステップである、付記8記載のプログラム。
これにより、LLMシステムをユーザごとにユーザ情報を用いて学習させることなしに、LLMシステムから、ユーザに適した回答を得ることが出来る。例えば、ユーザごとにモデルを学習させる手間を節約できるとともに、モデルの保管コストを節約することができる。
【0089】
(付記10)
プロセッサが、回答受信ステップにおいて受信した回答結果に基づき、クエリ受付ステップにおいて受け付けたクエリに対する第1ユーザの対応施策に関するアドバイス情報を第1ユーザに提案する提案ステップ(S107)と、を実行する、付記8または9記載のプログラム。
これにより、ユーザは自身が経営または関与する店舗等に関して第三者により行われた口コミに対するアドバイスをLLMシステムから得ることができる。例えば、ユーザは店舗に対して行われた口コミに対する問題をより短時間で解決することができる。
【0090】
(付記11)
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、プロセッサが、付記1から付記10のいずれかに係る発明において実行される全てのステップを実行する方法。
これにより、LLMシステムへ問い合わせるためのプロンプトにユーザ情報を含めることができる。当該プロンプトを用いることにより、LLMシステムから、ユーザに適した回答を得ることが出来る。例えば、ユーザの問題をより短時間で解決することができる。
【0091】
(付記12)
制御部と、記憶部とを備える情報処理装置であって、制御部が、付記1から付記10のいずれかに係る発明において実行される全てのステップを実行する情報処理装置。
これにより、LLMシステムへ問い合わせるためのプロンプトにユーザ情報を含めることができる。当該プロンプトを用いることにより、LLMシステムから、ユーザに適した回答を得ることが出来る。例えば、ユーザの問題をより短時間で解決することができる。
【0092】
(付記13)
付記1から付記10のいずれかに係る発明において実行される全てのステップを実行する手段を備えるシステム。
これにより、LLMシステムへ問い合わせるためのプロンプトにユーザ情報を含めることができる。当該プロンプトを用いることにより、LLMシステムから、ユーザに適した回答を得ることが出来る。例えば、ユーザの問題をより短時間で解決することができる。
【符号の説明】
【0093】
1 システム、10 サーバ、101 記憶部、104 制御部、106 入力装置、108 出力装置、20 第1ユーザ端末、201 記憶部、204 制御部、206 入力装置、208 出力装置、50 LLMシステム、501 記憶部、504 制御部、506 入力装置、508 出力装置