(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-10-04
(45)【発行日】2024-10-15
(54)【発明の名称】情報処理装置、方法、及びプログラム
(51)【国際特許分類】
G06F 16/9032 20190101AFI20241007BHJP
【FI】
G06F16/9032
(21)【出願番号】P 2024075128
(22)【出願日】2024-05-07
【審査請求日】2024-05-07
【早期審査対象出願】
(73)【特許権者】
【識別番号】522228207
【氏名又は名称】株式会社VAIABLE
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】貞光 九月
【審査官】早川 学
(56)【参考文献】
【文献】特開2005-173847(JP,A)
【文献】特開平11-161659(JP,A)
【文献】ChatGPT利用事例09:テキストブロックからキーワードを抽出,POWEREDGPT,2023年02月18日,[検索日:2024.06.26], Internet<URL:https://powergpt.info/poweredgpt-blog/f/chatgpt利用事例09:テキストブロックからキーワードを抽出>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
入力文に対し、複数のキーワードを抽出する抽出部と、
前記抽出された複数のキーワードから、キーワードの部分集合を複数作成する部分集合作成部と、
前記複数の部分集合の各々について、前記部分集合から、前記部分集合に含まれないキーワードを含めないように文を生成することを指示するプロンプトを、生成AIモデルに入力して、前記生成AIモデルの出力から、生成された文を取得する文生成部と、
前記複数の部分集合の各々について、前記入力文と、前記生成された文との関連性を評価する評価部と、
前記関連性の降順に、少なくとも一つの前記部分集合を、重要なキーワードとして抽出する部分集合抽出部と、
を含む情報処理装置。
【請求項2】
前記抽出された重要なキーワードを、検索クエリとして用いて、検索を実行する検索部を更に含む請求項1記載の情報処理装置。
【請求項3】
前記部分集合作成部は、部分集合に含まれるキーワードの個数を所定の範囲として、前記部分集合を複数作成する請求項1記載の情報処理装置。
【請求項4】
前記部分集合抽出部は、前記関連性を示すスコアの降順に、前記関連性を示すスコアが閾値以上となる前記部分集合を重要なキーワードとして抽出する請求項1記載の情報処理装置。
【請求項5】
前記評価部は、更に、関連性を示すスコアが閾値以上となる前記部分集合の各々について生成された文の集合について、前記入力文に対する被覆性を評価し、
被覆性を示すスコアが閾値未満である場合、関連性を示すスコアが閾値以上となる前記部分集合の各々について生成された文の集合に、関連性を示すスコアが閾値未満となる前記部分集合について生成された文を追加した結果について、前記入力文に対する被覆性を評価し、
関連性を示すスコアが閾値未満となる前記部分集合について生成された文を追加した結果、被覆性を示すスコアが閾値以上となるときの、前記部分集合を特定し、
前記部分集合抽出部は、前記特定された部分集合を優先して、重要なキーワードとして抽出する請求項
4記載の情報処理装置。
【請求項6】
前記検索部は、更に、前記部分集合を検索クエリとした場合の検索結果と、前記部分集合について生成された文とを比較して、検索結果のリランキングを行う請求項2記載の情報処理装置。
【請求項7】
前記抽出部によって抽出された前記複数のキーワードをユーザに提示して、前記ユーザから、キーワードの削除又は追加を受け付けるキーワード受付部を更に含み、
前記部分集合作成部は、前記抽出された複数のキーワードに対して、前記受け付けた前記キーワードの削除又は追加を行った結果から、キーワードの部分集合を複数作成する請求項1記載の情報処理装置。
【請求項8】
前記部分集合抽出部によって重要なキーワードとして抽出された前記部分集合を提示して、前記部分集合の削除若しくは追加、又は前記部分集合の順序の編集を受け付ける部分集合受付部を更に含む請求項1記載の情報処理装置。
【請求項9】
前記重要なキーワードとして抽出された前記部分集合毎に分けて、前記検索部による検索結果を提示する検索結果出力部を更に含む請求項2記載の情報処理装置。
【請求項10】
抽出部が、入力文に対し、複数のキーワードを抽出し、
部分集合作成部が、前記抽出された複数のキーワードから、キーワードの部分集合を複数作成し、
文生成部が、前記複数の部分集合の各々について、前記部分集合から、前記部分集合に含まれないキーワードを含めないように文を生成することを指示するプロンプトを、生成AIモデルに入力して、前記生成AIモデルの出力から、生成された文を取得し、
評価部が、前記複数の部分集合の各々について、前記入力文と、前記生成された文との関連性を評価し、
部分集合抽出部が、前記関連性の降順に、少なくとも一つの前記部分集合を、重要なキーワードとして抽出する
情報処理方法。
【請求項11】
請求項1~請求項
9の何れか1項記載の情報処理装置としてコンピュータを機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、方法、及びプログラムに関する。
【背景技術】
【0002】
従来、与えられた文書に対して、言語モデルを利用して前記文書で回答可能な少なくとも1つのクエリデータを生成する段階および特定のドメインに属する各前記文書と当該文書に対して生成された前記クエリデータとのペア(Document、Query)からなるデータを対話ボットのための検索モデルの学習に利用する段階を含む方法が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、生成AIモデルを用いて、入力文から検索クエリを作成して、検索を行うことができる情報処理装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本開示の第1態様は、情報処理装置であって入力文に対し、複数のキーワードを抽出する抽出部と、前記抽出された複数のキーワードから、キーワードの部分集合を複数作成する部分集合作成部と、前記複数の部分集合の各々について、前記部分集合から、前記部分集合に含まれないキーワードを含めないように文を生成することを指示するプロンプトを、生成AIモデルに入力して、前記生成AIモデルの出力から、生成された文を取得する文生成部と、前記複数の部分集合の各々について、前記入力文と、前記生成された文との関連性を評価する評価部と、前記関連性の降順に、少なくとも一つの前記部分集合を、重要な検索クエリとして、検索を実行する検索部と、を含む。
【0006】
本開示の第2態様は、情報処理方法であって、抽出部が、入力文に対し、複数のキーワードを抽出し、部分集合作成部が、前記抽出された複数のキーワードから、キーワードの部分集合を複数作成し、文生成部が、前記複数の部分集合の各々について、前記部分集合から、前記部分集合に含まれないキーワードを含めないように文を生成することを指示するプロンプトを、生成AIモデルに入力して、前記生成AIモデルの出力から、生成された文を取得し、評価部が、前記複数の部分集合の各々について、前記入力文と、前記生成された文との関連性を評価し、検索部が、前記関連性の降順に、少なくとも一つの前記部分集合を、重要な検索クエリとして、検索を実行する。
【0007】
本開示の第3態様は、情報処理プログラムであって、第1態様の情報処理装置としてコンピュータを機能させるためのプログラムである。
【発明の効果】
【0008】
開示の技術によれば、生成AIモデルを用いて、入力文から検索クエリを作成して、検索を行うことができる。
【図面の簡単な説明】
【0009】
【
図1】本実施形態の情報処理システムの構成を示すブロック図である。
【
図2】本実施形態の管理サーバとして機能するコンピュータの一例の概略ブロック図である。
【
図3】本実施形態の管理サーバの構成を示すブロック図である。
【
図4】本実施形態に係る管理サーバの検索処理ルーチンの内容を示すフローチャートである。
【
図5】生成AIモデルを用いて検索クエリを生成して検索を実行する例を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【0011】
<本実施形態の概要>
生成AI(Artificial Intelligence)モデルの登場以降も、RAG(Retrieval Augumented Generation)やレコメンド等、キーワード検索は多くの場面で用いられる。そのため、どのような検索キーワードを選択するか、の重要性は高い。
【0012】
そこで、本実施形態では、検索意図に対し、複数のキーワードからなる部分集合を考慮しなければならない前提のもと、どのような部分集合を検索キーワードとすべきかを推薦する。
【0013】
<本実施形態のシステム構成>
図1に示すように、第1実施形態に係る情報処理システム100は、サービス管理会社側に設置される管理サーバ10と、ユーザが操作するユーザ端末24と、を備えている。管理サーバ10は、情報処理装置の一例である。なお、
図1では、簡単のため、ユーザ端末24が2台設けられている場合を例に示しているが、ユーザ端末24が3台以上設けられていてもよい。
【0014】
管理サーバ10及びユーザ端末24は、インターネットなどのネットワーク26を介して接続されている。
【0015】
ユーザ端末24は、スマートフォン端末、携帯電話、PDA(Personal Digital Assistants)端末、あるいはノート型・ブック型コンピュータ端末等からなる。
【0016】
図2は、本実施形態の管理サーバ10のハードウェア構成を示すブロック図である。
【0017】
図2に示すように、管理サーバ10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16及び通信インタフェース(I/F)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。
【0018】
CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、各種処理を行うためのプログラムが格納されている。
【0019】
ROM12は、検索処理プログラムを含む各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。なお、検索処理プログラムが、情報処理プログラムの一例である。
【0020】
入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、各種の入力を行うために使用される。
入力部15は、ユーザ端末24においてユーザにより入力された入力文を取得する。入力文は、例えば、ユーザが検索したい内容を表すテキストデータである。
【0021】
表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能しても良い。
【0022】
通信インタフェース17は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
【0023】
次に、管理サーバ10の機能構成について説明する。
図3に示すように、管理サーバ10は、機能的には、取得部30、抽出部32、キーワード受付部33、部分集合作成部34、文生成部36、評価部38、部分集合抽出部39、部分集合受付部40、検索部42、検索結果出力部44、及びモデル記憶部52を備えている。
【0024】
取得部30は、ユーザ端末24から受け付けた入力文を取得する。
【0025】
抽出部32は、入力文に対し、複数のキーワードを抽出する。
【0026】
例えば、抽出部32は、入力文Sに対し、生成AIモデル52Aを用いて複数のキーワードKを抽出する。一例として、「この入力を説明するために必要なキーワードを3~4つ、推測してください」というプロンプトを、生成AIモデル52Aに入力して、生成AIモデル52Aの出力から、複数のキーワードKを取得する(
図5参照)。
【0027】
なお、キーワードの抽出方法は、生成AIモデルを用いた方法に限定されるものではない。他の抽出方法であってもよい。
【0028】
キーワード受付部33は、抽出部32によって抽出された複数のキーワードを表示する画面をユーザ端末24に提示して、ユーザ端末24から、キーワードの削除又は追加を受け付ける。
【0029】
部分集合作成部34は、抽出された複数のキーワードに対して、受け付けたキーワードの削除又は追加を行った結果から、キーワードの部分集合を複数作成する。
【0030】
具体的には、部分集合作成部34は、抽出された複数のキーワードを機械的に組み合わせ、部分集合Ks(n)を作成する(
図5参照)。例えば、4つのキーワードに対する全組み合わせとして、14個(=4C4+4C3+4C2+4C1)通りの部分集合Ks(1)~Ks(14)を作成する。
【0031】
ここで、キーワード数が多い場合等は、キーワードの全組み合わせでなく、任意のキーワード個数や閾値等で制限をかけても良い。例えば、部分集合に含まれるキーワードの個数を所定の範囲(例えば、3個~4個、又は3個以下)として、部分集合を複数作成してもよい。
【0032】
文生成部36は、複数の部分集合の各々について、当該部分集合から、当該部分集合に含まれないキーワードを含めないように文を生成することを指示するプロンプトを、生成AIモデル52Aに入力して、生成AIモデル52Aの出力から、生成された文を取得する。
【0033】
具体的には、各部分集合を入力とし、元の入力文をよりよく表し、かつ、部分集合に含まないキーワードは用いないように、部分集合生成文S’(n)を生成する(
図5参照)。例えば、部分集合Ks(1)~Ks(14)に対して、部分集合生成文S’(1)~S’(14)を生成する。
【0034】
ここで、プロンプトでは、部分集合から文を生成することが難しい場合には文を生成しないことを指示してもよい。
【0035】
例えば、「キーワードの部分集合をもとに、入力された元の入力文に限りなく近い文を生成します。ただし、生成する文は、キーワードの部分集合のみに基づいている必要があり、他のキーワードを含めることはできません。キーワードの部分集合だけで文を生成することが難しい場合は、「N/A」を出力します。」というプロンプトを、生成AIモデルに入力し、生成AIモデルの出力から、生成された文を取得する。
【0036】
評価部38は、複数の部分集合の各々について、入力文Sと、生成された文S’(n)との関連性を評価する。
【0037】
部分集合抽出部39は、関連性の降順に、少なくとも一つの部分集合を、重要なキーワードとして抽出する。
【0038】
具体的には、部分集合抽出部39は、関連性を示すスコアの降順に、関連性を示すスコアが閾値以上となる部分集合を、重要なキーワードとして抽出する。
【0039】
部分集合受付部40は、部分集合抽出部39によって重要なキーワードとして抽出された部分集合を表示する画面をユーザ端末24に提示して、部分集合の削除若しくは追加、又は部分集合の順序の編集を受け付ける。
【0040】
検索部42は、関連性の降順に、抽出された重要なキーワードを、検索クエリとして用いて、検索対象データベースに対して、検索を実行する。
【0041】
具体的には、検索部42は、関連性を示すスコアの降順に、抽出された重要なキーワードを、検索クエリとし、検索エンジンを用いて、当該検索エンジンのデータベースを検索対象データベースとして、検索を実行する。
【0042】
検索部42は、更に、部分集合を検索クエリとした場合の検索結果と、部分集合について生成された文S’(n)とを比較して、検索結果のリランキングを行う(
図5参照)。これにより、当該部分集合Ks(n)の観点において、類似しているかどうかを得ることができる。
【0043】
検索結果出力部44は、重要なキーワードとして抽出された部分集合毎に分けて、検索部42による検索結果を提示する。
【0044】
モデル記憶部52は、生成AIモデル52Aを記憶している。生成AIモデル52Aは、管理サーバ10とは別の外部装置に記憶されていてもよい。この場合には、管理サーバ10は、当該外部装置に対して、プロンプトを送信し、生成AIモデル52Aの出力を取得するようにすればよい。
【0045】
ここで、生成AIモデル52Aの一例としては、ChatGPT(インターネット検索<URL: https://openai.com/blog/chatgpt>)、Gemini(インターネット検索<URL: https://gemini.google.com/?hl=ja>)等の生成AIが挙げられる。生成AIモデル52Aは、ニューラルネットワークに対して深層学習を行わせることによって得られる。生成AIモデル52Aには、指示を含むプロンプトが入力され、かつ、音声を示す音声データ、テキストを示すテキストデータ、及び画像を示す画像データ等の推論用データが入力される。生成AIモデル52Aは、入力された推論用データをプロンプトにより示される指示に従って推論し、推論結果を音声データ及びテキストデータ等のデータ形式で出力する。ここで、推論とは、例えば、分析、分類、予測、及び/又は要約等を指す。
【0046】
<情報処理システムの作用>
次に、本実施形態に係る情報処理システム100の作用について説明する。
【0047】
管理サーバ10は、ユーザ端末24から入力文を受け付けると、
図4に示す検索処理ルーチンを実行する。検索処理ルーチンは、情報処理方法の一例である。
【0048】
ステップS100では、取得部30は、ユーザ端末24から受け付けた入力文を取得する。
【0049】
ステップS102では、抽出部32は、入力文に対し、複数のキーワードを抽出する。
【0050】
ステップS103では、キーワード受付部33は、抽出部32によって抽出された複数のキーワードを表示する画面をユーザ端末24に提示して、ユーザ端末24から、キーワードの削除又は追加を受け付ける。
【0051】
ステップS104では、部分集合作成部34は、抽出された複数のキーワードに対して、受け付けたキーワードの削除又は追加を行った結果から、キーワードの部分集合を複数作成する。
【0052】
ステップS106では、文生成部36は、複数の部分集合の各々について、当該部分集合から、当該部分集合に含まれないキーワードを含めないように文を生成することを指示するプロンプトを、生成AIモデル52Aに入力して、生成AIモデル52Aの出力から、生成された文を取得する。
【0053】
ステップS108では、評価部38は、複数の部分集合の各々について、入力文Sと、生成された文S’(n)との関連性を評価する。
【0054】
ステップS109では、部分集合抽出部39は、関連性の降順に、少なくとも一つの部分集合を、重要なキーワードとして抽出する。
【0055】
ステップS110では、部分集合受付部40は、部分集合抽出部39によって重要なキーワードとして抽出された部分集合を表示する画面をユーザ端末24に提示して、部分集合の削除若しくは追加、又は部分集合の順序の編集を受け付ける。
【0056】
ステップS112では、検索部42は、受け付けた、部分集合の削除若しくは追加、又は部分集合の順序の編集を反映して、関連性の降順に、抽出された重要なキーワードを、検索クエリとして用いて、検索対象データベースに対して、検索を実行する。
【0057】
ステップS114では、検索部42は、更に、部分集合を検索クエリとした場合の検索結果と、部分集合について生成された文S’(n)とを比較して、検索結果のリランキングを行う。そして、検索結果出力部44は、重要なキーワードとして抽出された部分集合毎に分けて、リランキングの結果と共に、検索結果を、ユーザ端末24に対して出力し、検索処理ルーチンを終了する。
【0058】
以上説明したように、本実施形態に係る情報処理システムによれば、入力文から抽出される複数のキーワードから、キーワードの部分集合を複数作成し、部分集合の各々について、生成AIモデルを用いて、当該部分集合に含まれないキーワードを含めないように文を生成し、元の入力文との関連性の降順に、当該部分集合を、重要な検索クエリとして、検索を実行する。これにより、生成AIモデルを用いて、入力文から検索クエリを作成して、検索を行うことができる。
【0059】
なお、上記の実施形態では、入力文Sと、生成された文S’(n)との関連性を評価する場合を例に説明したが、これに限定されるものではない。文生成部36は、生成AIモデル52Aの出力から、生成された文のembeddingを取得し、評価部38は、複数の部分集合の各々について、入力文のembeddingと、生成された文のembeddingの関連性を評価するようにしてもよい。このように、文生成部36は、必ずしもS’を文章として生成する必要はなく、Ks(n)と元のSとの比較が行える方式であれば、embeddingでも構わない。
【0060】
また、評価部38は、更に、関連性を示すスコアが閾値以上となる部分集合の各々について生成された文の集合について、入力文に対する被覆性を評価してもよい。被覆性を示すスコアが閾値未満である場合、関連性を示すスコアが閾値以上となる部分集合の各々について生成された文の集合に、関連性を示すスコアが閾値未満となる部分集合について生成された文を追加した結果について、入力文に対する被覆性を評価する。また、関連性を示すスコアが閾値未満となる部分集合について生成された文を追加した結果、被覆性を示すスコアが閾値以上となるときの、部分集合を特定し、検索部42は、特定された部分集合を優先して、検索クエリとして検索を実行する。このように、被覆性を加味してもよい。採用された文S’の集合から得られるS’’が、入力文Sを被覆しておらず、S’(n)を追加することで被覆される場合、S’(n)を優先して検索クエリとして採用することができる。
【符号の説明】
【0061】
10 管理サーバ
11 CPU
14 ストレージ
15 入力部
16 表示部
17 通信インタフェース
24 ユーザ端末
26 ネットワーク
30 取得部
32 抽出部
33 キーワード受付部
34 部分集合作成部
36 文生成部
38 評価部
39 部分集合抽出部
40 部分集合受付部
42 検索部
44 検索結果出力部
52 モデル記憶部
52A 生成AIモデル
100 情報処理システム
【要約】
【課題】生成AIモデルを用いて、入力文から検索クエリを作成して、検索を行う。
【解決手段】情報処理装置は、入力文に対し、複数のキーワードを抽出する抽出部と、前記抽出された複数のキーワードから、キーワードの部分集合を複数作成する部分集合作成部と、前記複数の部分集合の各々について、前記部分集合から、前記部分集合に含まれないキーワードを含めないように文を生成することを指示するプロンプトを、生成AIモデルに入力して、前記生成AIモデルの出力から、生成された文を取得する文生成部と、前記複数の部分集合の各々について、前記入力文と、前記生成された文との関連性を評価する評価部と、前記関連性の降順に、少なくとも一つの前記部分集合を、重要な検索クエリとして、検索を実行する検索部と、を含む。
【選択図】
図3