(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024176639
(43)【公開日】2024-12-19
(54)【発明の名称】プログラム、方法、情報処理装置、システム
(51)【国際特許分類】
G06F 16/90 20190101AFI20241212BHJP
G06F 40/56 20200101ALI20241212BHJP
G06F 40/216 20200101ALI20241212BHJP
G06F 16/33 20190101ALI20241212BHJP
【FI】
G06F16/90 100
G06F40/56
G06F40/216
G06F16/33
【審査請求】有
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2023095357
(22)【出願日】2023-06-09
(71)【出願人】
【識別番号】500521522
【氏名又は名称】株式会社オプティム
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】菅谷 俊二
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175EA01
(57)【要約】 (修正有)
【課題】所定のクエリに対して、プロンプト生成条件を適用することにより得られたプロンプトの善し悪しを評価する。
【解決手段】プログラムは、所定の質問に関するクエリを取得するクエリ取得ステップと、大規模言語モデルに対する入力文となるプロンプトの生成に関する条件である生成条件を取得する条件取得ステップと、クエリ取得ステップにおいて受け付けたクエリに対して、条件取得ステップにおいて取得した生成条件を適用することにより、プロンプトを生成するプロンプト生成ステップと、大規模言語モデルシステムへ、プロンプト生成ステップにおいて生成したプロンプトを送信するプロンプト送信ステップと、プロンプト送信ステップにおいて送信したプロンプトのそれぞれに対する回答結果を受信する回答受信ステップと、回答受信ステップにおいて受信した回答結果に対する評価値を受け付けるプロンプト評価ステップと、をコンピュータに実行させる。
【選択図】
図11
【特許請求の範囲】
【請求項1】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、
前記プロセッサが、
所定の質問に関するクエリを取得するクエリ取得ステップと、
大規模言語モデル(LLM)に対する入力文となるプロンプトの生成に関する条件である1または複数の生成条件を取得する条件取得ステップと、
前記クエリ取得ステップにおいて受け付けた前記クエリに対して、前記条件取得ステップにおいて取得した前記1または複数の生成条件を適用することにより、1または複数のプロンプトを生成するプロンプト生成ステップと、
大規模言語モデル(LLM)システムへ、前記プロンプト生成ステップにおいて生成した前記1または複数のプロンプトを送信するプロンプト送信ステップと、
前記プロンプト送信ステップにおいて送信した前記1または複数のプロンプトのそれぞれに対する1または複数の回答結果を受信する回答受信ステップと、
前記回答受信ステップにおいて受信した前記1または複数の回答結果に対する評価値を受け付けるプロンプト評価ステップと、
を実行するプログラム。
【請求項2】
前記プロセッサが、
前記プロンプト評価ステップにおいて受け付けた前記評価値に基づき、前記条件取得ステップにおいて取得した前記1または複数の生成条件の条件評価値を算定する条件評価ステップと、
を実行する、
請求項1記載のプログラム。
【請求項3】
前記条件取得ステップは、大規模言語モデル(LLM)に対する入力文となるプロンプトの構文に関する1または複数のプロンプト構文を取得するステップを含み、
前記プロンプト生成ステップは、前記クエリ取得ステップにおいて受け付けた前記クエリに対して、前記条件取得ステップにおいて取得した前記1または複数のプロンプト構文を適用することにより、前記1または複数のプロンプトを生成するステップを含み、
前記条件評価ステップは、前記プロンプト評価ステップにおいて受け付けた前記評価値に基づき、前記条件取得ステップにおいて取得した前記1または複数のプロンプト構文の構文評価値を算定するステップを含む、
請求項2記載のプログラム。
【請求項4】
前記プロンプト評価ステップは、ユーザから前記1または複数の回答結果に対する評価値を受け付けるステップである、
請求項1記載のプログラム。
【請求項5】
前記プロセッサが、
前記ユーザの属性に関するユーザ属性と、前記プロンプト評価ステップにおいて前記ユーザから受け付けた前記評価値と、を関連付けて記憶するプロンプト評価記憶ステップと、
を実行する、
請求項4記載のプログラム。
【請求項6】
前記プロンプト評価ステップは、前記大規模言語モデル(LLM)システムに、前記1または複数の回答結果に対する評価を行わせることにより得られる評価値を受け付けるステップである、
請求項1記載のプログラム。
【請求項7】
前記プロセッサが、
前記条件評価ステップにおいて算定された前記条件評価値に基づき、1または複数の生成条件候補をユーザに提案する条件提案ステップと、
を実行する、
請求項2記載のプログラム。
【請求項8】
前記条件提案ステップは、前記条件評価値の順番に、前記1または複数の生成条件候補を前記ユーザに提案するステップである、
請求項7記載のプログラム。
【請求項9】
前記プロセッサが、
前記ユーザからウェブサービスの種類の入力を受け付ける種類入力ステップと、
を実行し、
前記条件提案ステップは、前記種類入力ステップにおいて受け付けた前記ウェブサービスの種類に応じて、前記1または複数の生成条件候補を提案する前記ユーザに提案するステップである、
請求項7記載のプログラム。
【請求項10】
前記条件提案ステップは、前記種類入力ステップにおいて受け付けた前記ウェブサービスの種類に基づき特定される前記ウェブサービスの利用者のユーザ属性に基づき、当該ユーザ属性に含まれるユーザから受け付けた前記評価値に基づき前記条件評価値を算定し、前記1または複数の生成条件候補を提案する前記ユーザに提案するステップである、
請求項9記載のプログラム。
【請求項11】
前記プロンプト送信ステップは、前記コンピュータとは異なる事業者により運営される外部の大規模言語モデル(LLM)システムへ、前記プロンプト生成ステップにおいて生成した前記プロンプトを送信するステップである、
請求項1記載のプログラム。
【請求項12】
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、前記プロセッサが、請求項1から請求項11のいずれかに係る発明において実行される全てのステップを実行する方法。
【請求項13】
制御部と、記憶部とを備える情報処理装置であって、前記制御部が、請求項1から請求項11のいずれかに係る発明において実行される全てのステップを実行する情報処理装置。
【請求項14】
請求項1から請求項11のいずれかに係る発明において実行される全てのステップを実行する手段を備えるシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、方法、情報処理装置、システムに関する。
【背景技術】
【0002】
様々な情報処理タスクにおいて、大規模な言語モデル(LLM)の有用性が認識されつつある。
特許文献1には、新たなFAQを自動作成して既存のFAQに追加すべきかを自動的に判定することのできるFAQ登録支援システムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
所定のクエリに対して1または複数のプロンプト構文などのプロンプト生成条件を適用することにより得られたプロンプトの善し悪しを評価することができていないという課題がある。
そこで、本開示は、上記課題を解決すべくなされたものであって、その目的は、所定のクエリに対して1または複数のプロンプト構文などのプロンプト生成条件を適用することにより得られたプロンプトの善し悪しを評価する技術を提供することである。
【課題を解決するための手段】
【0005】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プロセッサが、所定の質問に関するクエリを取得するクエリ取得ステップと、大規模言語モデルに対する入力文となるプロンプトの生成に関する条件である1または複数の生成条件を取得する条件取得ステップと、クエリ取得ステップにおいて受け付けたクエリに対して、条件取得ステップにおいて取得した1または複数の生成条件を適用することにより、1または複数のプロンプトを生成するプロンプト生成ステップと、大規模言語モデルシステムへ、プロンプト生成ステップにおいて生成した1または複数のプロンプトを送信するプロンプト送信ステップと、プロンプト送信ステップにおいて送信した1または複数のプロンプトのそれぞれに対する1または複数の回答結果を受信する回答受信ステップと、回答受信ステップにおいて受信した1または複数の回答結果に対する評価値を受け付けるプロンプト評価ステップと、を実行するプログラム。
【発明の効果】
【0006】
本開示によれば、所定のクエリに対して1または複数のプロンプト構文などのプロンプト生成条件を適用することにより得られたプロンプトの善し悪しを評価することができる。
【図面の簡単な説明】
【0007】
【
図1】システム1の機能構成を示すブロック図である。
【
図2】サーバ10の機能構成を示すブロック図である。
【
図3】ユーザ端末20の機能構成を示すブロック図である。
【
図4】ユーザテーブル1012のデータ構造を示す図である。
【
図5】クエリテーブル1013のデータ構造を示す図である。
【
図6】プロンプトテーブル1014のデータ構造を示す図である。
【
図7】条件テーブル1021のデータ構造を示す図である。
【
図8】サービステーブル1022のデータ構造を示す図である。
【
図9】評価処理の動作を示すフローチャートである。
【
図10】提案処理の動作を示すフローチャートである。
【
図13】コンピュータ90の基本的なハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0008】
以下、本開示の実施形態について図面を参照して説明する。実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。なお、以下の実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。また、各図は模式図であり、必ずしも厳密に図示されたものではない。
【0009】
<システム1の構成>
本開示におけるシステム1は、プロンプト構文を評価する情報サービスを提供する情報処理システムである。
システム1は、ネットワークNを介して接続された、サーバ10、ユーザ端末20、LLMシステム50の情報処理装置を備える。
図1は、システム1の機能構成を示すブロック図である。
図2は、サーバ10の機能構成を示すブロック図である。
図3は、ユーザ端末20の機能構成を示すブロック図である。
【0010】
各情報処理装置は演算装置と記憶装置とを備えたコンピュータにより構成されている。コンピュータの基本ハードウェア構成および、当該ハードウェア構成により実現されるコンピュータの基本機能構成は後述する。サーバ10、ユーザ端末20、LLMシステム50のそれぞれについて、後述するコンピュータの基本ハードウェア構成およびコンピュータの基本機能構成と重複する説明は省略する。
【0011】
<サーバ10の構成>
サーバ10は、プロンプト構文を評価する情報サービスを提供する情報処理装置である。
サーバ10は、記憶部101、制御部104を備える。
【0012】
<サーバ10の記憶部101の構成>
サーバ10の記憶部101は、アプリケーションプログラム1011、ユーザテーブル1012、クエリテーブル1013、プロンプトテーブル1014、条件テーブル1021、サービステーブル1022を備える。
【0013】
アプリケーションプログラム1011は、サーバ10の制御部104を各機能ユニットとして機能させるためのプログラムである。
アプリケーションプログラム1011は、ウェブブラウザアプリケーションなどのアプリケーションを含む。
【0014】
ユーザテーブル1012は、サービスを利用する会員ユーザ(以下、ユーザ)の情報を記憶し管理するテーブルである。ユーザは、サービスの利用登録を行うことで、当該ユーザの情報がユーザテーブル1012の新しいレコードに記憶される。これにより、ユーザは本開示にかかるサービスを利用できるようになる。
ユーザテーブル1012は、ユーザIDを主キーとして、ユーザID、ユーザ名、ユーザ属性のカラムを有するテーブルである。
図4は、ユーザテーブル1012のデータ構造を示す図である。
【0015】
ユーザIDは、ユーザを識別するためのユーザ識別情報を記憶する項目である。ユーザ識別情報は、ユーザごとにユニークな値が設定されている項目である。
ユーザ名は、ユーザの氏名を記憶する項目である。ユーザ名は、氏名ではなく、ニックネームなど任意の文字列を設定しても良い。
ユーザ属性は、ユーザの属性に関する属性情報。具体的にはユーザの性別、年齢、職業の他に、居住地、教育レベル(例:最高学歴、専攻分野等)、家庭状況(例:独身か既婚か、子どもの有無等)、所得、収入、趣味や興味、言語能力、健康状態、宗教や政治的な見解などを含む。
【0016】
クエリテーブル1013は、質問に関するクエリに関する情報(クエリ情報)を記憶し管理するためのテーブルである。
クエリテーブル1013は、クエリIDを主キーとして、クエリID、ユーザID、クエリ、日時のカラムを有するテーブルである。
図5は、クエリテーブル1013のデータ構造を示す図である。
【0017】
クエリIDは、クエリを識別するためのクエリ識別情報を記憶する項目である。クエリ識別情報は、クエリ情報ごとにユニークな値が設定されている項目である。
ユーザIDは、ユーザを識別するためのユーザ識別情報を記憶する項目である。
クエリは、質問に関するに文字列(テキスト)情報を記憶する項目である。具体的に、ユーザの身体状態に関するクエリ、ユーザが保有する機器に関するクエリ等が記憶される。
例えば、ユーザの身体状態に関するクエリとしては、「血圧を下げるにはどのような食生活を送れば良いか?」「血圧を下げるにはどのような運動が適しているか?」等のクエリが含まれる。
例えば、ユーザの保有する機器に関するクエリとしては、「パソコンの電源が入らないがどうすればいいか?」「パソコンのアプリケーションが起動しないがどうすればいいか?」等のクエリが含まれる。
日時は、クエリテーブル1013に新たにレコードが記憶されたり更新された際の記憶日時を記憶する項目である。
【0018】
プロンプトテーブル1014は、LLMシステム50に対する入力文となるプロンプトに関する情報(プロンプト情報)を記憶し管理するためのテーブルである。
プロンプトテーブル1014は、プロンプトIDを主キーとして、プロンプトID、ユーザID、クエリID、条件ID、プロンプト、回答結果、評価値、日時のカラムを有するテーブルである。
図6は、プロンプトテーブル1014のデータ構造を示す図である。
【0019】
プロンプトIDは、プロンプトを識別するためのプロンプト識別情報を記憶する項目である。プロンプト識別情報は、プロンプト情報ごとにユニークな値が設定されている項目である。
ユーザIDは、ユーザを識別するためのユーザ識別情報を記憶する項目である。
クエリIDは、クエリを識別するためのクエリ識別情報を記憶する項目である。
条件IDは、生成条件情報を識別するための生成条件識別情報を記憶する項目である。
プロンプトは、LLMシステム50に対する入力文となるプロンプトを記憶する項目である。具体的に、プロンプトにかかる文字列(テキスト)情報が記憶される。
回答結果は、LLMシステム50から受信したプロンプトに対する回答結果を記憶する項目である。具体的には、プロンプトに対する回答文にかかる文字列(テキスト)情報が記憶される。
評価値は、プロンプトに対する評価結果を示す評価値を記憶する項目である。具体的に、プロンプトに基づきLLMシステム50から出力される回答結果の善し悪しを示す評価値が記憶される。例えば、評価値は、0~5の6段階のレベルによる評価値でも良いし、0~100の点数により評価しても良い。
評価値は、プロンプトに対する評価を行ったユーザのユーザ属性と関連付けて記憶しても良い。具体的に、評価値には、プロンプトに対する評価を行ったユーザのユーザ属性を含めても良い。
日時は、プロンプトテーブル1014に新たにレコードが記憶されたり更新された際の記憶日時を記憶する項目である。
【0020】
条件テーブル1021は、プロンプトを生成するための生成条件に関する情報(生成条件情報)を記憶し管理するためのテーブルである。なお、生成条件情報は、プロンプトを大規模言語モデル(LLM)に対する入力文となるプロンプトの構文に関する情報(構文情報)を含む。
条件テーブル1021は、条件IDを主キーとして、条件ID、生成条件、条件評価値のカラムを有するテーブルである。
図7は、条件テーブル1021のデータ構造を示す図である。
【0021】
条件IDは、生成条件情報を識別するための生成条件識別情報を記憶する項目である。生成条件識別情報は、生成条件情報ごとにユニークな値が設定されている項目である。
生成条件は、プロンプトを生成するための生成条件を記憶する項目である。生成条件は、入力された所定のクエリに基づき、所定のプロンプトを生成するための処理を規定するための情報を含む。例えば、生成条件は、以下のような処理を含む。
生成条件は、プロンプト構文にかかる文字列(テキスト)情報を含む。入力されたクエリに対して所定のプロンプト構文を適用することにより所定のプロンプトを生成することができる。
一般にプロンプトは、「命令」「文脈」「入力データ」「出力指示子」等のプロンプトを構成する要素から構成される。プロンプト構文は、通常それら要素を組み合わせたテンプレート等として構成される。例えば、それら要素の表現や並べる順番等を組み合わせたものがそれぞれ異なるプロンプト構文として区別して記憶される。
生成条件は、クエリ等の入力テキストに対して、英語や他の言語に翻訳したプロンプトを生成する処理を含む。プロンプトに含まれる単語や用語等の一部を英語や他の言語に翻訳したプロンプトを生成する処理を含む。所定のプロンプト構文を適用することにより生成されたプロンプトに対して英語や他の言語に翻訳する処理を含む。
生成条件は、クエリ等の入力テキスト、所定のプロンプト構文を適用することにより生成されたプロンプトに対して、所定の文字列を、異なる所定の文字列に置換する処理を含む。
条件評価値は、生成条件に対する評価結果を示す評価値(条件評価値)を記憶する項目である。具体的に、プロンプト構文に基づき生成されたプロンプトに基づきLLMシステム50から出力される回答結果の善し悪しを示す評価値が記憶される。具体的に、条件評価値は、後述する提案処理によりプロンプトテーブル1014の評価値に基づき算定される。
【0022】
サービステーブル1022は、ウェブサービスに関する情報(サービス情報)を記憶し管理するためのテーブルである。
サービステーブル1022は、サービスIDを主キーとして、サービスID、サービス名、ユーザ属性のカラムを有するテーブルである。
図8は、サービステーブル1022のデータ構造を示す図である。
【0023】
サービスIDは、ウェブサービスを識別するためのサービス識別情報を記憶する項目である。サービス識別情報は、サービス情報ごとにユニークな値が設定されている項目である。サービス識別情報は、ウェブサービスにかかるウェブサイトの名称、URL、ドメイン名等を記憶する構成としても良い。
サービス名は、ウェブサービスの名称を記憶する項目である。サービス名は任意の文字列を設定することができる。
ユーザ属性は、ウェブサービスを利用するユーザのユーザ属性を記憶する項目である。ユーザ属性は、ウェブサービスに応じてユーザにより手作業により関連付けられても良いし、ウェブサービスを利用するユーザのユーザ属性に応じて統計的に設定されても良い。例えば、ウェブサービスを利用する平均的なユーザのユーザ属性を、サービステーブル1022のユーザ属性としても良い。
【0024】
<サーバ10の制御部104の構成>
サーバ10の制御部104は、ユーザ登録制御部1041、評価部1042、提案部1043を備える。制御部104は、記憶部101に記憶されたアプリケーションプログラム1011を実行することにより、各機能ユニットが実現される。
【0025】
ユーザ登録制御部1041は、本開示に係るサービスの利用を希望するユーザの情報をユーザテーブル1012に記憶する処理を行う。
ユーザテーブル1012に記憶される情報は、ユーザが任意の情報処理端末からサービス提供者が運営するウェブページなどを開き、所定の入力フォームに情報を入力しサーバ10へ送信する。ユーザ登録制御部1041は、受信した情報をユーザテーブル1012の新しいレコードに記憶し、ユーザ登録が完了する。これにより、ユーザテーブル1012に記憶されたユーザはサービスを利用することができるようになる。
ユーザ登録制御部1041によるユーザ情報のユーザテーブル1012への登録に先立ち、サービス提供者は所定の審査を行いユーザによるサービス利用可否を制限しても良い。
ユーザIDは、ユーザを識別できる任意の文字列または数字で良く、ユーザが希望する任意の文字列または数字、もしくはユーザ登録制御部1041が自動的に任意の文字列または数字を設定しても良い。
【0026】
評価部1042は、評価処理を実行する。詳細は後述する。
【0027】
提案部1043は、提案処理を実行する。詳細は後述する。
【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】
<LLMシステム50の構成>
LLM(Large Language Model)システム50とは、自然言語処理(NLP)の分野で使用される大規模な人工知能モデルを指す。これらのモデルは、大量のテキストデータ(ウェブページ、書籍、記事等)を学習することで、人間が使用する言語のパターンを理解し、自然言語生成(NLG)タスクを効果的に行うことができる。
LLMシステム50は、特定の問いへの応答生成、文章の自動生成、テキストの要約、翻訳、感情分析など、多くのNLPタスクで使用されます。また、教育、エンターテイメント、カスタマーサービス、製品開発など、様々な用途に活用することができる。
LLMシステム50には、以下のようなものが存在する。
・OpenAI ChatGPT
・Google Bard
・Stable Diffusion
・midjourney
【0036】
<システム1の動作>
以下、システム1の各処理について説明する。
図9は、評価処理の動作を示すフローチャートである。
図10は、提案処理の動作を示すフローチャートである。
図11は、評価処理の動作を示す画面例である。
図12は、提案処理の動作を示す画面例である。
【0037】
<評価処理>
評価処理は、複数の生成条件に対する評価を行うための処理である。
評価処理は、ユーザからの入力操作に応じて実行しても良いし、予め用意されたクエリテーブル1013、条件テーブル1021の内容に応じて定期的に実行し、プロンプトテーブル1014を定期的に更新する構成としても良い。
【0038】
<評価処理の概要>
評価処理は、ユーザから質問文(クエリ)を受け付け、生成条件を取得し、プロンプトを生成し、プロンプトを大規模言語モデル(LLM)システムへ送信し、LLMシステムから回答結果を受信し、回答結果を記憶し、回答結果をユーザに提示し、当該回答結果に対する評価をユーザから受け付け、当該評価を記憶する一連の処理である。
【0039】
<評価処理の詳細>
以下に、評価処理の詳細を説明する。
【0040】
ステップS101において、サーバ10の評価部1042は、所定の質問に関するクエリを取得するクエリ取得ステップを実行する。
具体的に、サーバ10の評価部1042は、クエリテーブル1013を参照して1または複数のクエリを取得する。なお、サーバ10の評価部1042は、ユーザに対して所定のクエリ受付画面等を提示し、ユーザによる当該クエリ受付画面のクエリ入力欄等への入力操作に応じてクエリを取得しても良い。また、クエリテーブル1013は、予めユーザが所定のウェブサービス等において入力した質問文等のクエリを記憶する構成としても良い。その場合、特定のユーザだけではなく、インターネットを介して多数のユーザから所定のクエリを受け付けても良い。
本開示においては、一例として、サーバ10の評価部1042は、クエリA、クエリBを取得する。
【0041】
〔クエリA〕
血圧を下げるにはどのような食生活を送れば良いか?
【0042】
〔クエリB〕
パソコンの電源が入らないがどうすればいいか?
【0043】
ステップS102において、サーバ10の評価部1042は、大規模言語モデル(LLM)に対する入力文となるプロンプトの生成に関する条件である1または複数の生成条件を取得する条件取得ステップを実行する。
具体的に、サーバ10の評価部1042は、条件テーブル1021を参照して1または複数の生成条件を取得する。なお、サーバ10の評価部1042は、条件テーブル1021に記憶されているすべての生成条件を取得する必要はなく、一部の1または複数の生成条件を取得する構成としても良い。例えば、サーバ10の評価部1042は、1または複数の生成条件をランダム、または、所定の順番に従って取得しても良い。
本開示においては、一例として、以下のプロンプト構文A、プロンプト構文Bを取得する事例を説明する。
【0044】
〔プロンプト構文A〕
# 命令書:
あなたは入力文をもとに「最高の出力文」を出力するチャットボットです。
入力文の内容に応じて、最適な出力文を出力してください。
# 入力文
クエリ
# 出力文:
【0045】
〔プロンプト構文B〕
# 命令書:
あなたは入力文に適した出力文を回答するチャットボットです。
小学生にとってもわかりやすい簡潔でわかりやすい出力文を出力してください。
# 入力文
クエリ
# 出力文:
【0046】
ステップS103において、サーバ10の評価部1042は、クエリ取得ステップにおいて受け付けたクエリに対して、条件取得ステップにおいて取得した1または複数の生成条件を適用することにより、1または複数のプロンプトを生成するプロンプト生成ステップを実行する。
具体的に、サーバ10の評価部1042は、ステップS102において取得した1または複数の生成条件のそれぞれに、ステップS101において取得した1または複数のクエリを適用することにより、1または複数のプロンプトを生成する。
本開示においては、一例として、クエリA、クエリBのそれぞれにプロンプト構文A、プロンプト構文Bを組み合わせることにより、以下の4種類のプロンプトA~Dを生成する。
【0047】
〔プロンプトA〕(プロンプト構文A、クエリA)
# 命令書:
あなたは入力文をもとに「最高の出力文」を出力するチャットボットです。
入力文の内容に応じて、最適な出力文を出力してください。
# 入力文
血圧を下げるにはどのような食生活を送れば良いか?
# 出力文:
【0048】
〔プロンプトB〕(プロンプト構文A、クエリB)
# 命令書:
あなたは入力文をもとに「最高の出力文」を出力するチャットボットです。
入力文の内容に応じて、最適な出力文を出力してください。
# 入力文
パソコンの電源が入らないがどうすればいいか?
# 出力文:
【0049】
〔プロンプトC〕(プロンプト構文B、クエリA)
# 命令書:
あなたは入力文に適した出力文を回答するチャットボットです。
小学生にとってもわかりやすい簡潔でわかりやすい出力文を出力してください。
# 入力文
血圧を下げるにはどのような食生活を送れば良いか?
# 出力文:
【0050】
〔プロンプトD〕(プロンプト構文B、クエリB)
# 命令書:
あなたは入力文に適した出力文を回答するチャットボットです。
小学生にとってもわかりやすい簡潔でわかりやすい出力文を出力してください。
# 入力文
パソコンの電源が入らないがどうすればいいか?
# 出力文:
【0051】
本開示においては、一例として1または複数のプロンプト構文を1または複数のクエリに適用し、1または複数のプロンプトを生成する事例を一例として開示した。なお、プロンプトの生成は、クエリをプロンプト構文に適用するのみに限られない、例えば、生成したプロンプトを英語や他の言語に翻訳したプロンプトを生成しても良い。また、プロンプトに含まれる単語や用語等を英語や他の言語に翻訳したプロンプトを生成しても良い。この場合も、サーバ10の評価部1042は、生成したプロンプトをプロンプトテーブル1014のプロンプトの項目に記憶する。この場合、プロンプトを生成する際に用いたプロンプト構文、翻訳条件等の生成条件(プロンプト生成条件)などの生成条件を特定するための生成条件識別情報は、プロンプトテーブル1014の条件IDの項目にプロンプトと関連づけて記憶される。
つまり、プロンプトテーブル1014は、プロンプト構文に限られず、プロンプトを生成する際の条件に関するプロンプト生成条件とプロンプト、回答結果、評価値を関連付けて記憶する構成としても構わない。これにより、プロンプトを生成する際の様々なプロンプト生成条件に対して、好適なプロンプト生成条件の善し悪しを評価することができる。
また、サーバ10の評価部1042は、必ずしも複数のプロンプトを生成する必要はない。例えば、ステップS102において1の生成条件を取得した場合において、サーバ10の評価部1042は、1のプロンプトを生成する。
【0052】
ステップS104において、サーバ10の評価部1042は、大規模言語モデル(LLM)システムへ、プロンプト生成ステップにおいて生成した1または複数のプロンプトを送信するプロンプト送信ステップを実行する。プロンプト送信ステップは、コンピュータとは異なる事業者により運営される外部の大規模言語モデル(LLM)システムへ、プロンプト生成ステップにおいて生成したプロンプトを送信するステップを実行する。
具体的に、サーバ10の評価部1042は、ステップS103において生成した1または複数のプロンプトA~Dを含むリクエストをLLMシステム50が提供するAPIエンドポイントへ送信する。
【0053】
ステップS105において、サーバ10の評価部1042は、プロンプト送信ステップにおいて送信した1または複数のプロンプトのそれぞれに対する1または複数の回答結果を受信する回答受信ステップを実行する。
具体的に、LLMシステム50は、APIエンドポイントに受け付けたプロンプトに対して文字列(テキスト)を出力可能に構成されている。LLMシステム50は、受信した1または複数のプロンプトA~Dに基づき出力される1または複数の回答結果A~Dを含むレスポンスをサーバ10へ送信する。サーバ10の評価部1042は、LLMシステム50からのレスポンスに含まれるプロンプトA~Dに対する回答結果A~Dを受信し、受け付ける。
【0054】
ステップS106において、サーバ10の評価部1042は、プロンプト生成ステップにおいて生成したプロンプトおよび回答受信ステップにおいて受信した回答結果を関連付けて記憶する。
具体的に、サーバ10の評価部1042は、ステップS103において生成したプロンプトA~Dのそれぞれに、ステップS105において受信した回答結果A~Dを関連付けて、プロンプトテーブル1014のプロンプト、回答結果の項目に記憶する。なお、その際、プロンプトテーブル1014のクエリID、条件IDにはプロンプトを生成する際に用いたクエリのクエリID(クエリA、クエリB)、生成条件の条件ID(プロンプト構文A、プロンプト構文B)が記憶される。これにより、プロンプトテーブル1014において、クエリ識別情報、条件識別情報、プロンプト、回答結果が関連付けて記憶される。
また、ステップS101においてユーザからクエリを受け付けた場合には、当該ユーザのユーザ識別情報をプロンプトテーブル1014のユーザIDの項目に記憶しても良い。
【0055】
ステップS107において、サーバ10の評価部1042は、回答受信ステップにおいて受信した回答結果をユーザに提示する提示ステップを実行する。
具体的に、サーバ10の評価部1042は、ステップS106において記憶した回答結果A~Dをユーザ端末20へ送信する。ユーザ端末20の制御部204は、受信した回答結果A~Dをユーザ端末20のディスプレイ2081に表示することによりユーザに提示する。
図11は、評価処理における評価画面の画面例である。ユーザ端末20のディスプレイ2081には、評価ページD1が表示される。評価ページD1は、回答結果A~Dに対応した回答エリアD101、D102、D103、D104を含む。評価ページD1は、回答エリアD101~D104のそれぞれに対応した評価入力欄D111~D114を含む。評価ページD1は、送信ボタンD120を含む。
なお、評価ページD1は、同じクエリに対して異なる生成条件に対する回答結果を対比可能なように共に表示することが好適である。例えば、評価ページD1は、プロンプトA、プロンプトCに対する回答結果A、回答結果Cに対応した回答エリアD101、D103が並べて表示される。同様に、評価ページD1は、プロンプトB、プロンプトDに対する回答結果B、回答結果Dに対応した回答エリアD102、D104が並べて表示される。
これにより、ユーザは、回答結果A、回答結果Cを比較して、ユーザ端末20の入力装置206を操作することにより評価入力欄D111、D113に評価結果を入力することができる。ユーザは、回答結果B、回答結果Dを比較して、ユーザ端末20の入力装置206を操作することにより評価入力欄D112、D114に評価結果を入力することができる。
なお、ユーザ端末20の制御部204は、ステップS105において1の回答結果を受信した場合には、1の回答結果をユーザに対して提示する。
【0056】
ステップS108において、サーバ10の評価部1042は、回答受信ステップにおいて受信した1または複数の回答結果に対する評価値を受け付けるプロンプト評価ステップを実行する。プロンプト評価ステップは、ユーザから1または複数の回答結果に対する評価値を受け付けるステップを実行する。
具体的に、ユーザは、ユーザ端末20の入力装置206を操作することにより、評価入力欄D111~D114に、回答エリアD101~D104に表示された回答結果A~Dの評価値を入力する。具体的に、ユーザは、ユーザ端末20の入力装置206を操作することにより、回答結果A~Dの善し悪しを示す0~5の6段階の評価値を評価入力欄D111~D114に入力する。
なお、評価入力欄D111~D114は、回答結果に対する「読みやすさ」「正確さ」などの複数の異なる評価値を入力可能に構成しても良い。
ユーザは、ユーザ端末20の入力装置206を操作することにより、送信ボタンD120を選択する。ユーザ端末20の制御部204は、ユーザID2011、評価入力欄D111~D114に入力された評価値、評価入力欄D111~D114のそれぞれに対応する回答結果A~Dに対応付けられたプロンプトIDをサーバ10へ送信する。
【0057】
ステップS108において、プロンプト評価ステップは、大規模言語モデル(LLM)システムに、1または複数の回答結果に対する評価を行わせることにより得られる評価値を受け付けるステップを実行する。
本開示において一例としてユーザから評価値の入力を受け付ける構成を一例として開示したがそれに限られない。例えば、サーバ10の評価部1042は、回答結果A~Dを、LLMシステム50へ送信することにより得られる回答結果を評価値としても良い。
例えば、以下のようなプロンプト構文に回答結果A~Dを適用することにより生成したプロンプトを用いることにより、回答結果A~Dに対する評価結果をLLMシステム50から取得することができる。
【0058】
〔評価値を得るためのプロンプト〕
# 命令書:
あなたは回答文の品質を0~5の6段階で評価するチャットボットです。
回答文の内容に応じて、回答文の品質を「読みやすさ」「正確さ」の観点から評価してください。
# 回答文
回答結果
# 評価結果:
【0059】
ステップS109において、サーバ10の評価部1042は、ユーザの属性に関するユーザ属性と、プロンプト評価ステップにおいてユーザから受け付けた評価値と、を関連付けて記憶するプロンプト評価記憶ステップを実行する。
具体的に、サーバ10の評価部1042は、ユーザ端末20から受信した評価入力欄D111~D114に入力された評価値を、プロンプトテーブル1014において評価入力欄D111~D114のそれぞれに対応する回答結果A~Dに対応付けられたプロンプトIDに基づき特定されるレコードの評価値の項目に記憶する。
サーバ10の評価部1042は、プロンプトテーブル1014の評価値の項目に、評価値と関連付けて、評価を行ったユーザのユーザID2011を記憶しても良い。また、サーバ10の評価部1042は、プロンプトテーブル1014の評価値の項目に、評価値と関連付けて、評価を行ったユーザのユーザ属性とを関連付けて記憶しても良い。
これにより、プロンプトテーブル1014は、単にプロンプトごとの評価を記憶するだけでなく、どのユーザ、どのようなユーザ属性を有するユーザがどのような評価値を入力したのかを関連付けて記憶することができる。例えば、回答結果A~Dに対する評価結果は、ユーザ属性に応じて相違する可能性があるが、ユーザ属性に応じて、どのプロンプトA~Dが好適であるかを、ユーザ属性に応じた回答結果A~Dに対する評価値に基づき特定することができる。
【0060】
<提案処理>
提案処理は、ウェブサービスごとに好適な生成条件を提案する処理である。
【0061】
<提案処理の概要>
提案処理は、ユーザからサービスの選択を受け付け、選択されたサービスのサービス属性を特定し、サービス属性に関連するユーザを特定し、当該ユーザによるプロンプトの評価値を取得し、生成条件の評価値を算定し、当該評価値に応じて好適な生成条件をユーザに対して提案する一連の処理である。
【0062】
<提案処理の詳細>
以下に、提案処理の詳細を説明する。
【0063】
ステップS301において、サーバ10の提案部1043は、ユーザからウェブサービスの種類の入力を受け付ける種類入力ステップを実行する。
ユーザは、ユーザ端末20の入力装置206を操作し、ブラウザアプリケーション等を実行し、提案処理を実行するためのウェブページ(提案ページ)のURL等を入力することにより提案ページD3を開く。ユーザ端末20の制御部204は、提案ページを開くためのユーザID2011を含むリクエストをサーバ10へ送信する。
【0064】
サーバ10は、リクエストを受信すると提案ページを生成しユーザ端末20へ送信する。ユーザ端末20の制御部204は、提案ページをユーザ端末20のディスプレイ2081に表示し、提示する。
図12は、提案処理における提案画面の画面例である。ユーザ端末20のディスプレイ2081には、提案ページD3が表示される。提案ページD3は、ウェブサービスの種類、ジャンルの入力を受付可能な種類入力欄D301を含む。なお、種類入力欄D301は、ウェブサービスの種類ではなく、ウェブサービスのサービス名称、サービス識別情報等を、ウェブサービスを特定するための情報を受け付け可能な入力欄としても良い。
提案ページD3は、生成条件D311~D314、生成条件D311~D314に対する条件評価値D321~D324を含む。
【0065】
ユーザは、ユーザ端末20の入力装置206を操作することにより、種類入力欄D301にウェブサービスの種類を入力する。具体的に、ユーザは、種類入力欄D301に、ウェブサービスが提供する主要な機能、目的、ユーザ層、プラットフォーム(デスクトップ、モバイル、両方など)、有料、無料、アカウント登録要否等の情報を入力しても良い。また、ユーザは、種類入力欄D301に、ECサイト、ニュースサイト、教育サイト、エンターテイメントサイト、会計サイト、勤怠サイト等の、ウェブサイトのジャンルに関する情報を入力しても良い。
ユーザ端末20の制御部204は、種類入力欄D301に入力されたウェブサービスの種類に関する情報をサーバ10へ送信する。サーバ10の提案部1043は、ウェブサービスの種類に関する情報を受信し、受け付ける。
【0066】
ステップS302において、サーバ10の提案部1043は、種類入力ステップにおいて入力されたウェブサービスの種類に応じた、ウェブサービスのサービス属性を特定するサービス属性特定ステップを実行する。
具体的に、サーバ10の提案部1043は、ステップS301において受け付けたウェブサービスの種類に関する情報に基づき、サービステーブル1022を検索し、ユーザ属性を取得する。例えば、サーバ10の提案部1043は、ウェブサービスの種類に応じて、当該ウェブサービスの種類に応じた複数のウェブサービスのユーザ属性を取得し、当該複数のユーザ属性に基づき、ウェブサービスのサービス属性を特定しても良い。
また、サーバ10の提案部1043は、ステップS301においてウェブサービスのサービス名称、サービス識別情報等を受け付けた場合においては、当該サービス名称、サービス識別情報に応じてサービステーブル1022のサービス名、サービスIDを検索し、ユーザ属性を取得し、当該ユーザ属性をサービス属性として特定しても良い。
【0067】
サーバ10の提案部1043は、サービス属性特定ステップにおいて特定したサービス属性に含まれるユーザを特定するユーザ特定ステップを実行する。
具体的に、サーバ10の提案部1043は、ステップS302において特定したサービス属性に基づき、ユーザテーブル1012のユーザ属性の項目を検索し、サービス属性に含まれるユーザ属性を有するユーザのユーザIDを取得し、特定する。
これにより、サーバ10の提案部1043は、ステップS301において入力したウェブサービスの種類に応じて、当該ウェブサービスのサービス属性に応じて利用者として想定されるユーザのユーザIDを特定することができる。
例えば、ジャンルが「ECサイト」である場合に、「女性」「30代」などのユーザ属性を有するユーザのユーザIDが特定される。
【0068】
ステップS304において、サーバ10の提案部1043は、ユーザ特定ステップにおいて特定したユーザによるプロンプトの評価値を取得する評価値取得ステップを実行する。
具体的に、サーバ10の提案部1043は、ステップS303において特定したユーザIDに基づき、プロンプトテーブル1014の評価値の項目(評価値に含まれる評価値と関連付けられた記憶された当該評価値を評価したユーザのユーザIDの項目)を検索し、当該ユーザにより評価が行われたプロンプトID、評価値、条件IDを取得する。
これにより、ウェブサービスのサービス属性に応じて利用者として想定されるユーザによる過去のプロンプトに対する評価値を取得することができる。
【0069】
ステップS305において、サーバ10の提案部1043は、プロンプト評価ステップにおいて受け付けた評価値に基づき、条件取得ステップにおいて取得した1または複数の生成条件の条件評価値を算定する条件評価ステップを実行する。
具体的に、サーバ10の提案部1043は、ステップS304において取得した複数の評価値について、条件IDごとに平均値、中央値、最頻値、最大値、最小値等の統計値を算定し、条件IDにより特定される生成条件に対する評価値(条件評価値)として算定する。
これにより、ウェブサービスのサービス属性に応じて利用者として想定されるユーザによる過去のプロンプトに対する評価値に基づき、1または複数の生成条件ごとの条件評価値を算定することができる。
【0070】
ステップS306において、サーバ10の提案部1043は、条件評価ステップにおいて算定された条件評価値に基づき、1または複数の生成条件候補をユーザに提案する条件提案ステップを実行する。
具体的に、サーバ10の提案部1043は、ステップS304において条件評価値を算定した生成条件の条件IDに基づき、条件テーブル1021の条件IDを検索し、生成条件の項目を取得する。サーバ10の提案部1043は、1または複数の生成条件を、条件評価値と関連付けてユーザ端末20へ送信する。
ユーザ端末20の制御部204は、受信した生成条件情報に含まれる生成条件D311~D314および条件評価値D321~D324を、ユーザ端末20のディスプレイ2081に表示し、ユーザに提示する。
【0071】
ステップS306において、条件提案ステップは、条件評価値の順番に、1または複数の生成条件候補をユーザに提示するステップを実行する。
具体的に、サーバ10の提案部1043は、条件評価値の優劣に応じた順番に所定数の生成条件情報をユーザ端末20へ送信しても良い。また、サーバ10の提案部1043は、所定値未満の条件評価値を有する生成条件情報を除外して、所定値以上の条件評価値を有する生成条件情報をユーザ端末20へ送信しても良い。
ユーザ端末20の制御部204は、受信した条件評価値の優劣に応じた順番に所定数の生成条件D311~D314および条件評価値D321~D324をユーザ端末20のディスプレイ2081に表示し、ユーザに提示する。ユーザ端末20の制御部204は、所定値以上の条件評価値を有する生成条件D311~D314および条件評価値D321~D324をユーザ端末20のディスプレイ2081に表示し、ユーザに提示する。
【0072】
ステップS306において、条件提案ステップは、種類入力ステップにおいて受け付けたウェブサービスの種類に応じて、1または複数の生成条件候補を提案するユーザに提案するステップを実行する。
具体的に、ユーザは、ユーザ端末20のディスプレイ2081に表示された生成条件D311~D314および条件評価値D321~D324を参照して、ウェブサービス等を開発するにあたり好適な生成条件を、当該ウェブサービス等の種類や利用者の属性に応じて好適な生成条件を選択することができる。
【0073】
ステップS306において、条件提案ステップは、種類入力ステップにおいて受け付けたウェブサービスの種類に基づき特定されるウェブサービスの利用者のユーザ属性に基づき、ユーザ属性に含まれるユーザから受け付けた評価値に基づき条件評価値を算定し、1または複数の生成条件候補を提案するユーザに提案するステップを実行する。
本開示においてステップS301において受け付けたサービス種類に応じて、ステップS302のサービス属性が特定され、ステップS303において当該サービス属性に含まれるユーザ属性を有するユーザが特定され、ステップS304において当該ユーザによるプロンプト評価値を取得し、ステップS305において当該評価値に応じて生成条件ごとの評価値が算定される。
これにより、ユーザはウェブサービス等を開発するにあたり好適な生成条件を、当該ウェブサービス等の種類や利用者の属性に応じて提案された生成条件候補から選択することができる。より好適な生成条件を選択することができる。
【0074】
なお、本開示において提案処理は、ステップS301においてサービス種類を入力する構成としたが、ステップS301~S303を省略しても良い。この場合、ステップS304において、プロンプトテーブル1014に含まれるすべての評価値を取得し、当該すべての評価値に基づきステップS305の生成条件の条件評価値を算定し、ステップS306において生成条件候補を提案する構成としても良い。この場合、ユーザは、サービス種別を問わず、条件評価値が優れた値となった好適なプロンプト候補の提案を受けることができる。
【0075】
<コンピュータの基本ハードウェア構成>
図13は、コンピュータ90の基本的なハードウェア構成を示すブロック図である。コンピュータ90は、プロセッサ901、主記憶装置902、補助記憶装置903、通信IF991(インタフェース、Interface)を少なくとも備える。これらは通信バス921により相互に電気的に接続される。
【0076】
プロセッサ901とは、プログラムに記述された命令セットを実行するためのハードウェアである。プロセッサ901は、演算装置、レジスタ、周辺回路等から構成される。
【0077】
主記憶装置902とは、プログラム、及びプログラム等で処理されるデータ等を一時的に記憶するためのものである。例えば、DRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0078】
補助記憶装置903とは、データ及びプログラムを保存するための記憶装置である。例えば、フラッシュメモリ、HDD(Hard Disc Drive)、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等である。
【0079】
通信IF991とは、有線又は無線の通信規格を用いて、他のコンピュータとネットワークを介して通信するための信号を入出力するためのインタフェースである。
ネットワークは、インターネット、LAN、無線基地局等によって構築される各種移動通信システム等で構成される。例えば、ネットワークには、3G、4G、5G移動通信システム、LTE(Long Term Evolution)、所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が含まれる。無線で接続する場合、通信プロトコルとして例えば、Z-Wave(登録商標)、ZigBee(登録商標)、Bluetooth(登録商標)等が含まれる。有線で接続する場合は、ネットワークには、USB(Universal Serial Bus)ケーブル等により直接接続するものも含む。
【0080】
なお、各ハードウェア構成の全部または一部を複数のコンピュータ90に分散して設け、ネットワークを介して相互に接続することによりコンピュータ90を仮想的に実現することができる。このように、コンピュータ90は、単一の筐体、ケースに収納されたコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0081】
<コンピュータ90の基本機能構成>
コンピュータ90の基本ハードウェア構成(
図13)により実現されるコンピュータの機能構成を説明する。コンピュータは、制御部、記憶部、通信部の機能ユニットを少なくとも備える。
【0082】
なお、コンピュータ90が備える機能ユニットは、それぞれの機能ユニットの全部または一部を、ネットワークで相互に接続された複数のコンピュータ90に分散して設けても実現することができる。コンピュータ90は、単一のコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0083】
制御部は、プロセッサ901が補助記憶装置903に記憶された各種プログラムを読み出して主記憶装置902に展開し、当該プログラムに従って処理を実行することにより実現される。制御部は、プログラムの種類に応じて様々な情報処理を行う機能ユニットを実現することができる。これにより、コンピュータは情報処理を行う情報処理装置として実現される。
【0084】
記憶部は、主記憶装置902、補助記憶装置903により実現される。記憶部は、データ、各種プログラム、各種データベースを記憶する。また、プロセッサ901は、プログラムに従って記憶部に対応する記憶領域を主記憶装置902または補助記憶装置903に確保することができる。また、制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶されたデータの追加、更新、削除処理を実行させることができる。
【0085】
データベースは、リレーショナルデータベースを指し、行と列によって構造的に規定された表形式のテーブル、マスタと呼ばれるデータ集合を、互いに関連づけて管理するためのものである。データベースでは、表をテーブル、マスタ、表の列をカラム、表の行をレコードと呼ぶ。リレーショナルデータベースでは、テーブル、マスタ同士の関係を設定し、関連づけることができる。
通常、各テーブル、各マスタにはレコードを一意に特定するための主キーとなるカラムが設定されるが、カラムへの主キーの設定は必須ではない。制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶された特定のテーブル、マスタにレコードを追加、削除、更新を実行させることができる。
また、記憶部に、データ、各種プログラム、各種データベースを記憶させることにより、本開示にかかる情報処理装置、情報処理システムが製造されたものとして捉えることができる。
【0086】
なお、本開示におけるデータベース、マスタは、情報が構造的に規定された任意のデータ構造体(リスト、辞書、連想配列、オブジェクトなど)を含み得る。データ構造体には、データと、任意のプログラミング言語により記述された関数、クラス、メソッドなどを組み合わせることにより、データ構造体と見なし得るデータも含むものとする。
【0087】
通信部は、通信IF991により実現される。通信部は、ネットワークを介して他のコンピュータ90と通信を行う機能を実現する。通信部は、他のコンピュータ90から送信された情報を受信し、制御部へ入力することができる。制御部は、各種プログラムに従ってプロセッサ901に、受信した情報に対する情報処理を実行させることができる。また、通信部は、制御部から出力された情報を他のコンピュータ90へ送信することができる。
【0088】
<付記>
以上の各実施形態で説明した事項を以下に付記する。
【0089】
(付記1)
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プロセッサが、所定の質問に関するクエリを取得するクエリ取得ステップ(S101)と、大規模言語モデル(LLM)に対する入力文となるプロンプトの生成に関する条件である1または複数の生成条件を取得する条件取得ステップ(S102)と、クエリ取得ステップにおいて受け付けたクエリに対して、条件取得ステップにおいて取得した1または複数の生成条件を適用することにより、1または複数のプロンプトを生成するプロンプト生成ステップ(S103)と、大規模言語モデル(LLM)システムへ、プロンプト生成ステップにおいて生成した1または複数のプロンプトを送信するプロンプト送信ステップ(S104)と、プロンプト送信ステップにおいて送信した1または複数のプロンプトのそれぞれに対する1または複数の回答結果を受信する回答受信ステップ(S105)と、回答受信ステップにおいて受信した1または複数の回答結果に対する評価値を受け付けるプロンプト評価ステップ(S108)と、を実行するプログラム。
これにより、所定のクエリに対して1または複数の生成条件を適用することにより得られたプロンプトの善し悪しを評価することができる。
【0090】
(付記2)
プロセッサが、プロンプト評価ステップにおいて受け付けた評価値に基づき、条件取得ステップにおいて取得した1または複数の生成条件の条件評価値を算定する条件評価ステップ(S305)と、を実行する、付記1記載のプログラム。
これにより、1または複数の生成条件ごとの善し悪しを評価することができる。
【0091】
(付記3)
条件取得ステップ(S102)は、大規模言語モデル(LLM)に対する入力文となるプロンプトの構文に関する1または複数のプロンプト構文を取得するステップを含み、プロンプト生成ステップ(S103)は、クエリ取得ステップにおいて受け付けたクエリに対して、条件取得ステップにおいて取得した1または複数のプロンプト構文を適用することにより、1または複数のプロンプトを生成するステップを含み、条件評価ステップ(S305)は、プロンプト評価ステップにおいて受け付けた評価値に基づき、構文取得ステップにおいて取得した1または複数のプロンプト構文の構文評価値を算定するステップを含む、付記2記載のプログラム。
これにより、1または複数のプロンプト構文ごとの善し悪しを評価することができる。
【0092】
(付記4)
プロンプト評価ステップ(S108)は、ユーザから1または複数の回答結果に対する評価値を受け付けるステップである、付記1から3のいずれか記載のプログラム。
これにより、プロンプトの善し悪しをユーザから受け付けた評価値に応じて評価することができる。
【0093】
(付記5)
プロセッサが、ユーザの属性に関するユーザ属性と、プロンプト評価ステップにおいてユーザから受け付けた評価値と、を関連付けて記憶するプロンプト評価記憶ステップ(S109)と、を実行する、付記4記載のプログラム。
これにより、プロンプトの善し悪しをユーザの性別、年齢、職業、収入、居住地、教育歴等のユーザ属性と関連付けて評価することができる。
【0094】
(付記6)
プロンプト評価ステップ(S108)は、大規模言語モデル(LLM)システムに、1または複数の回答結果に対する評価を行わせることにより得られる評価値を受け付けるステップである、付記1から3のいずれか記載のプログラム。
これにより、プロンプトの善し悪しをユーザによる評価作業を行うことなしに評価することができる。
【0095】
(付記7)
プロセッサが、条件評価ステップにおいて算定された条件評価値に基づき、1または複数の生成条件候補をユーザに提案する条件提案ステップ(S306)と、を実行する、付記2または3記載のプログラム。
これにより、ユーザはウェブサービス等を開発するにあたり好適な生成条件を、提案された生成条件候補から選択することができる。
【0096】
(付記8)
条件提案ステップ(S306)は、条件評価値の順番に、1または複数の生成条件候補をユーザに提案するステップである、付記7記載のプログラム。
これにより、ユーザはウェブサービス等を開発するにあたり好適な生成条件を、提案された生成条件候補から選択することができる。
【0097】
(付記9)
プロセッサが、ユーザからウェブサービスの種類の入力を受け付ける種類入力ステップ(S301)と、を実行し、条件提案ステップ(S306)は、種類入力ステップにおいて受け付けたウェブサービスの種類に応じて、1または複数の生成条件候補を提案するユーザに提案するステップである、付記7または8記載のプログラム。
これにより、ユーザはウェブサービス等を開発するにあたり好適な生成条件を、当該ウェブサービス等の種類や利用者の属性に応じて好適な生成条件を選択することができる。
【0098】
(付記10)
条件提案ステップ(S306)は、種類入力ステップにおいて受け付けたウェブサービスの種類に基づき特定されるウェブサービスの利用者のユーザ属性に基づき、当該ユーザ属性に含まれるユーザから受け付けた評価値に基づき条件評価値を算定し、1または複数の生成条件候補を提案するユーザに提案するステップである、付記9記載のプログラム。
これにより、ユーザはウェブサービス等を開発するにあたり好適な生成条件を、当該ウェブサービス等の種類や利用者の属性に応じて提案された生成条件候補から選択することができる。より好適な生成条件を選択することができる。
【0099】
(付記11)
プロンプト送信ステップ(S104)は、コンピュータとは異なる事業者により運営される外部の大規模言語モデル(LLM)システムへ、プロンプト生成ステップにおいて生成したプロンプトを送信するステップである、付記1から10のいずれか記載のプログラム。
これにより、所定のクエリに対して1または複数の生成条件を適用することにより得られたプロンプトの善し悪しを、外部のLLMシステムごとに評価することができる。
【0100】
(付記12)
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、プロセッサが、付記1から付記11のいずれかに係る発明において実行される全てのステップを実行する方法。
これにより、所定のクエリに対して1または複数の生成条件を適用することにより得られたプロンプトの善し悪しを評価することができる。
【0101】
(付記13)
制御部と、記憶部とを備える情報処理装置であって、制御部が、付記1から付記11のいずれかに係る発明において実行される全てのステップを実行する情報処理装置。
これにより、所定のクエリに対して1または複数の生成条件を適用することにより得られたプロンプトの善し悪しを評価することができる。
【0102】
(付記14)
付記1から付記11のいずれかに係る発明において実行される全てのステップを実行する手段を備えるシステム。
これにより、所定のクエリに対して1または複数の生成条件を適用することにより得られたプロンプトの善し悪しを評価することができる。
【符号の説明】
【0103】
1 システム、10 サーバ、101 記憶部、104 制御部、106 入力装置、108 出力装置、20 ユーザ端末、201 記憶部、204 制御部、206 入力装置、208 出力装置、50 LLMシステム、501 記憶部、504 制御部、506 入力装置、508 出力装置