(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023097842
(43)【公開日】2023-07-10
(54)【発明の名称】情報検索方法、情報検索プログラム、情報検索システムおよびサーバ装置
(51)【国際特許分類】
G06F 16/90 20190101AFI20230703BHJP
【FI】
G06F16/90 100
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2021214181
(22)【出願日】2021-12-28
(71)【出願人】
【識別番号】509190071
【氏名又は名称】株式会社ウォンツ
(71)【出願人】
【識別番号】516331410
【氏名又は名称】グロ-バルデザイン株式会社
(71)【出願人】
【識別番号】304027349
【氏名又は名称】国立大学法人豊橋技術科学大学
(74)【代理人】
【識別番号】100147625
【弁理士】
【氏名又は名称】澤田 高志
(72)【発明者】
【氏名】棚橋 優希
(72)【発明者】
【氏名】井佐原 均
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175GC03
5B175HB03
(57)【要約】
【課題】検索速度および検索精度を向上し得る情報検索方法、情報検索プログラム、情報検索システムおよびサーバ装置を提供する。
【解決手段】本実施形態のFAQ検索システムのFAQサーバ30では、qA検索部55の処理対象となるペア文をカテゴリ選別部54で減らしてからqQ検索部56の処理対象となる1以上のペア文をqA検索部55で選択しさらに減らすため、qQ検索部56の処理対象となる1以上のペア文が大幅に削減されて処理速度を向上させることが可能になる。またqQ検索部56により、1以上のペア文の候補入力文の文脈を考慮した分散表現と、ニーズ文92の文脈を考慮した分散表現との類似スコアを求め、ソート部57でニーズ文92に最も類似しているペア文の候補入力文に対応する候補出力文を出力文93として出力するので、ニーズ文92の文脈を考慮した検索が行われる。したがって、検索速度および検索精度を向上させることができる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
自然言語表現の入力文(以下「ニーズ文」という)に対する検索出力として、自然言語表現の出力文を検索して出力する情報検索方法であって、
所定の入力文とそれに対応する出力文とを組み合わせた複数組のペア文であり予め定められた複数の区分のいずれに属するかを示す分類情報が前記所定の入力文にそれぞれ付与されており、
前記ニーズ文に対して推定された前記分類情報と同じ分類情報が付与された前記入力文を有するペア文を前記複数組のペア文の中から1組以上選別する第1ステップと、
前記第1ステップにより選別された前記1組以上のペア文の中から前記検索出力の候補として1以上の出力文(以下「候補出力文」という)を選択する第2ステップと、
前記第2ステップにより選択された前記1以上の候補出力文に対応する1以上の前記入力文の候補(以下「候補入力文」という)の文脈を考慮した分散表現と前記ニーズ文の文脈を考慮した分散表現との類似度を求める第3ステップと、
前記第3ステップにより求められた前記類似度から前記ニーズ文に最も類似している前記候補入力文に対応する前記候補出力文を前記出力文として出力する第4ステップと、
を含むことを特徴とする情報検索方法。
【請求項2】
自然言語表現の入力文(以下「ニーズ文」という)に対する検索出力として、自然言語表現の出力文を検索して出力する情報検索プログラムであって、
所定の入力文とそれに対応する出力文とを組み合わせた複数組のペア文であり予め定められた複数の区分のいずれに属するかを示す分類情報が前記所定の入力文にそれぞれ付与されており、コンピュータを、
前記ニーズ文に対して推定された前記分類情報と同じ分類情報が付与された前記入力文を有するペア文を前記複数組のペア文の中から1組以上選別する第1手段、
前記第1手段により選別された前記1組以上のペア文の中から前記検索出力の候補として1以上の出力文(以下「候補出力文」という)を選択する第2手段、
前記第2手段により選択された前記1以上の候補出力文に対応する1以上の前記入力文の候補(以下「候補入力文」という)の文脈を考慮した分散表現と前記ニーズ文の文脈を考慮した分散表現との類似度を求める第3手段、および、
前記第3手段により求められた前記類似度から前記ニーズ文に最も類似している前記候補入力文に対応する前記候補出力文を前記出力文として出力する第4手段、
として機能させることを特徴とする情報検索プログラム。
【請求項3】
自然言語表現の入力文(以下「ニーズ文」という)に対する検索出力として、自然言語表現の出力文を検索して出力する情報検索システムであって、
前記ニーズ文が入力される入力部と、
所定の入力文とそれに対応する出力文との組み合わせであり予め定められた複数の区分のいずれに属するかを示す分類情報が前記所定の入力文にそれぞれ付与されたペア文を、複数組、記憶する記憶部と、
前記入力部から入力された前記ニーズ文の前記分類情報を推定する推定部と、
前記推定部により推定された前記分類情報と同じ分類情報が付与された前記入力文を有する前記ペア文を前記複数組のペア文の中から1組以上選別する選別部と、
前記選別部により選別された前記1組以上のペア文の中から前記検索出力の候補として1以上の出力文(以下「候補出力文」という)を選択する選択部と、
前記選択部により選択された前記1以上の候補出力文に対応する1以上の前記入力文の候補(以下「候補入力文」という)の文脈を考慮した分散表現と前記ニーズ文の文脈を考慮した分散表現との類似度を得る取得部と、
前記取得部により得られた前記類似度から前記ニーズ文に最も類似している前記候補入力文に対応する前記候補出力文を前記出力文として出力する出力部と、
を備えることを特徴とする情報検索システム。
【請求項4】
端末装置から入力された自然言語表現の入力文(以下「ニーズ文」という)を電気通信回線を介して受け付け、前記ニーズ文に対する検索出力として、自然言語表現の出力文を検索して前記電気通信回線を介して前記端末装置に出力するサーバ装置であって、
所定の入力文とそれに対応する出力文とを組み合わせた複数組のペア文であり予め定められた複数の区分のいずれに属するかを示す分類情報が前記所定の入力文にそれぞれ付与されており、
前記ニーズ文に対して推定された前記分類情報と同じ分類情報が付与された前記入力文を有するペア文を前記複数組のペア文の中から1組以上選別する選別部と、
前記選別部により選別された前記1組以上のペア文の前記出力文の中から前記検索出力の候補として1以上の出力文(以下「候補出力文」という)を選択する選択部と、
前記選択部により選択された前記1以上の候補出力文に対応する1以上の前記入力文の候補(以下「候補入力文」という)の文脈を考慮した分散表現と前記ニーズ文の文脈を考慮した分散表現との類似度を求める取得部と、
前記取得部により求められた前記類似度から前記ニーズ文に最も類似している前記候補入力文に対応する前記候補出力文を前記出力文として出力する出力部と、
を備えることを特徴とするサーバ装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自然文を対象にした情報検索方法、情報検索プログラム、情報検索システムおよびサーバ装置に関するものである。自然文とは、話し言葉や書き言葉等の自然言語で表現された文章のことである。
【背景技術】
【0002】
自然文を対象にした検索方法やコンピュータプログラム等に関する先行技術として、例えば、下記特許文献1に開示される「質問回答制御プログラム、質問回答制御サーバ及び質問回答制御方法」がある。この先行技術では、よくある質問とその回答の組合せをFAQから選択する際において自然文で記述した質問を解析しFAQデータベースを検索する。そして、検索した検索式に合致する件数が所定の範囲内にある場合には、絞り込みが適切に行われたと判断し受け付けた質問に対する回答をFAQから選択して出力する。また件数が少なすぎたり多すぎたりして回答の選択が困難な場合には、関連質問や逆質問等を出力する。これにより、効率的な回答の絞り込みを実現し、顧客の質問の意図に合致しない回答を選択するリスクを回避したり、回答の絞り込みを効率的に処理したりしている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1に開示される先行技術では、FAQデータベースを検索した検索式に合致する件数が所定の範囲内にない場合には、質問者が操作する端末に対して関連質問や逆質問を出力する。そのため、質問者は、そのような逆質問等に対する回答を当該端末に自然文で入力する必要が生ずることから、適切な回答を得るまでの操作が煩雑になったり、時間がかかったりする可能性がある。また、質問者により入力される自然文は、その文章表現が個々人により多種多様であることから、そのような逆質問等を出力しても、適切な回答が直ちに得られるとは限らない。つまり、自然文に含まれる、単なるキーワード検索だけでは、検索精度の向上に限界があるという問題がある。
【0005】
本発明は、上述した課題を解決するためになされたものであり、検索速度および検索精度を向上し得る情報検索方法、情報検索プログラム、情報検索システムおよびサーバ装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、特許請求の範囲に記載された請求項1の技術的手段を採用する。この手段によると、請求項1の情報検索方法の発明では、所定の入力文とそれに対応する出力文とを組み合わせた複数組のペア文であり予め定められた複数の区分のいずれに属するかを示す分類情報が所定の入力文にそれぞれ付与されており、次の第1ステップ~第4ステップを含む。第1ステップは、自然言語表現の入力文(以下「ニーズ文」という)に対して推定された分類情報と同じ分類情報が付与された入力文を有するペア文を、複数組のペア文の中から1組以上選別する。第2ステップは、第1ステップにより選別された1組以上のペア文の中から検索出力の候補として1以上の出力文(以下「候補出力文」という)を選択する。第3ステップは、第2ステップにより選択された1以上の候補出力文に対応する1以上の入力文の候補(以下「候補入力文」という)の文脈を考慮した分散表現とニーズ文の文脈を考慮した分散表現との類似度を求める。そして、第4ステップは、第3ステップにより求められた類似度からニーズ文に最も類似している候補入力文に対応する候補出力文を出力文として出力する。
【0007】
また、特許請求の範囲に記載された請求項2の技術的手段を採用する。この手段によると、請求項2の情報検索プログラムの発明では、所定の入力文とそれに対応する出力文とを組み合わせた複数組のペア文であり予め定められた複数の区分のいずれに属するかを示す分類情報が所定の入力文にそれぞれ付与されており、コンピュータを第1手段~第4手段として機能させる。第1手段は、ニーズ文に対して推定された分類情報と同じ分類情報が付与された入力文を有するペア文を、複数組のペア文の中から1組以上選別する。第2手段は、第1手段により選別された1組以上のペア文の出力文の中から検索出力の候補として1以上の候補出力文を選択する。第3手段は、第2手段により選択された1以上の候補出力文に対応する1以上の候補入力文の文脈を考慮した分散表現とニーズ文の文脈を考慮した分散表現との類似度を求める。そして、第4手段は、第3手段により求められた類似度からニーズ文に最も類似している候補入力文に対応する候補出力文を出力文として出力する。
【0008】
さらに、特許請求の範囲に記載された請求項3の技術的手段を採用する。この手段によると、請求項3の情報検索システムの発明では、入力部、記憶部、推定部、選別部、選択部、取得部および出力部を備える。記憶部は、所定の入力文とそれに対応する出力文との組み合わせであり予め定められた複数の区分のいずれに属するかを示す分類情報が所定の入力文にそれぞれ付与されたペア文を、複数組、記憶する。入力部は、ニーズ文が入力される。推定部は、入力部から入力されたニーズ文の分類情報を推定する。選別部は、推定部により推定された分類情報と同じ分類情報が付与された入力文を有するペア文を複数組のペア文の中から1組以上選別する。選択部は、選別部により選別された1組以上のペア文の中から検索出力の候補として1以上の候補出力文を選択する。取得部は、選択部により選択された1以上の候補出力文に対応する1以上の候補入力文の文脈を考慮した分散表現とニーズ文の文脈を考慮した分散表現との類似度を得る。出力部は、取得部により得られた類似度からニーズ文に最も類似している候補入力文に対応する候補出力文を出力文として出力する。
【0009】
また、特許請求の範囲に記載された請求項4の技術的手段を採用する。この手段によると、請求項4のサーバ装置の発明は、端末装置から入力されたニーズ文を電気通信回線を介して受け付け、ニーズ文に対する検索出力として、自然言語表現の出力文を検索して電気通信回線を介して端末装置に出力するものであり、選別部、選択部、取得部および出力部を備える。選別部は、ニーズ文に対して推定された分類情報と同じ分類情報が付与された入力文を有するペア文を、複数組のペア文の中から1組以上選別する。ペア文や複数組のペア文は、所定の入力文とそれに対応する出力文とを組み合わせたものであり予め定められた複数の区分のいずれに属するかを示す分類情報が(ペア文の)入力文に付与されている。ペア文や複数組のペア文は、サーバ装置が内部に備えていてもよいし、サーバ装置が外部から取得してもよい。選択部は、選別部により選別された1組以上のペア文の出力文の中から検索出力の候補として1以上の候補出力文を選択する。取得部は、選択部により選択された1以上の候補出力文に対応する1以上の候補入力文の文脈を考慮した分散表現とニーズ文の文脈を考慮した分散表現との類似度を求める。出力部は、取得部により求められた類似度からニーズ文に最も類似している候補入力文に対応する候補出力文を出力文として出力する。
【0010】
請求項1~請求項4の技術的手段による各発明では、まず、ニーズ文に対して推定された分類情報と同じ分類情報が付与された入力文を有するペア文が、複数組のペア文の中から1組以上選別される。そのため、ニーズ文と同じ分類情報が付与された入力文のペア文が選別されるので、このような選別を行わない場合に比べて、選択処理の対象となるペア文の数を減らすことが可能になる。次に、選別されたこれら1組以上のペア文の中から検索出力の候補として1以上の候補出力文が選択される。そのため、選択されなかった出力文が排除されるので、このような選択を行わない場合に比べて、類似度を求める処理の対象となるペア文の数をさらに減らすことが可能になる。そして、選択されたこれら1以上の候補出力文に対応する1以上の候補入力文の文脈を考慮した分散表現と、ニーズ文の文脈を考慮した分散表現と、の類似度が求められて、ニーズ文に最も類似している候補入力文の候補出力文が出力文として出力される。なお、分散表現は、文章や単語を密なベクトルで表した表現形態のことである。類似度は、候補入力文とニーズ文をそれぞれベクトル化して求められる。
【0011】
これにより、請求項1の情報検索方法の発明では、第2ステップの処理対象となるペア文を第1ステップにより減らしてから、第3ステップの処理対象となる1以上のペア文を第2ステップにより選択してさらに減らす。そのため、このような二段階の削減により、第3ステップの処理対象となる1以上のペア文が大幅に削減されて処理速度を向上させることが可能になる。そして、第3ステップにより、1以上のペア文の候補入力文の文脈を考慮した分散表現と、ニーズ文の文脈を考慮した分散表現と、の類似度を求めて、第4ステップによりニーズ文に最も類似しているペア文の候補入力文に対応する候補出力文を出力文として出力する。そのため、例えば、データベース等に記憶されているペア文の入力文をニーズ文に含まれるキーワードに基づいて検索する場合に比べて、ニーズ文の文脈を考慮した検索が行われるので検索精度を向上させることが可能になる。
【0012】
また、請求項2の情報検索プログラムの発明では、第2手段の処理対象となるペア文を第1手段により減らしてから、第3手段の処理対象となる1以上のペア文を第2手段により選択してさらに減らす。そのため、このような二段階の削減により、第3手段の処理対象となる1以上のペア文が大幅に削減されて処理速度を向上させることが可能になる。そして、第3手段により、1以上のペア文の候補入力文の文脈を考慮した分散表現と、ニーズ文の文脈を考慮した分散表現と、の類似度を求めて、第4手段によりニーズ文に最も類似しているペア文の候補入力文に対応する候補出力文を出力文として出力する。そのため、例えば、データベース等に記憶されているペア文の入力文をニーズ文に含まれるキーワードに基づいて検索する場合に比べて、ニーズ文の文脈を考慮した検索が行われるので検索精度を向上させることが可能になる。
【0013】
さらに、請求項3の情報検索システムの発明では、選択部の処理対象となるペア文を選別部により減らしてから、取得部の処理対象となる1以上のペア文を選択部により選択してさらに減らす。そのため、このような二段階の削減により、取得部の処理対象となる1以上のペア文が大幅に削減されて処理速度を向上させることが可能になる。そして、取得部により、1以上のペア文の候補入力文の文脈を考慮した分散表現と、ニーズ文の文脈を考慮した分散表現と、の類似度を求め、出力部によりニーズ文に最も類似しているペア文の候補入力文に対応する候補出力文を出力文として出力する。そのため、例えば、データベース等に記憶されているペア文の入力文をニーズ文に含まれるキーワードに基づいて検索する場合に比べて、ニーズ文の文脈を考慮した検索が行われるので検索精度を向上させることが可能になる。
【0014】
また、請求項4のサーバ装置の発明では、選択部の処理対象となるペア文を選択部により減らしてから、取得部の処理対象となる1以上のペア文を選択部により選択してさらに減らす。そのため、このような二段階の削減により、取得部の処理対象となる1以上のペア文が大幅に削減されて処理速度を向上させることが可能になる。そして、取得部により、1以上のペア文の候補入力文の文脈を考慮した分散表現と、ニーズ文の文脈を考慮した分散表現と、の類似度を求め、出力部によりニーズ文に最も類似しているペア文の候補入力文に対応する候補出力文を出力文として出力する。そのため、例えば、データベース等に記憶されているペア文の入力文をニーズ文に含まれるキーワードに基づいて検索する場合に比べて、ニーズ文の文脈を考慮した検索が行われるので検索精度を向上させることが可能になる。
【発明の効果】
【0015】
請求項1の情報検索方法の発明では、第1ステップと第2ステップの2つのステップ(二段階の削減)で、第3ステップの処理対象となる1以上のペア文を大幅に削減するので、第3ステップの処理速度を向上させることが可能になる。また、第3ステップでは、ニーズ文の文脈を考慮した検索が行われるので検索精度を向上させることが可能になる。したがって、検索速度および検索精度を向上することができる。
【0016】
請求項2の情報検索プログラムの発明では、第1手段と第2手段の2つの手段(二段階の削減)で、第3手段の処理対象となる1以上のペア文を大幅に削減するので、第3手段の処理速度を向上させることが可能になる。また、第3手段では、ニーズ文の文脈を考慮した検索が行われるので検索精度を向上させることが可能になる。したがって、検索速度および検索精度を向上することができる。
【0017】
請求項3の情報検索システムの発明では、選別部と選択部の2つの機能部(二段階の削減)で、取得部の処理対象となる1以上のペア文を大幅に削減するので、取得部の処理速度を向上させることが可能になる。また、取得部では、ニーズ文の文脈を考慮した検索が行われるので検索精度を向上させることが可能になる。したがって、検索速度および検索精度を向上することができる。
【0018】
請求項4のサーバ装置の発明では、選別部と選択部の2つの機能部(二段階の削減)で、取得部の処理対象となる1以上のペア文を大幅に削減するので、取得部の処理速度を向上させることが可能になる。また、取得部では、ニーズ文の文脈を考慮した検索が行われるので検索精度を向上させることが可能になる。したがって、検索速度および検索精度を向上することができる。
【図面の簡単な説明】
【0019】
【
図1】本発明の一実施形態に係るFAQ(Frequently Asked Questions)検索システムの構成例を示す説明図である。
【
図2】本実施形態のFAQ検索システムが有する機能構成を示す説明図である。
【
図3】
図3(A)は、本実施形態のFAQ検索システムが有するカテゴリ推定機能を示す説明図である。
図3(B)は、カテゴリ分類の概念を示す説明図である。
【
図4】
図4(A)は、本実施形態のFAQ検索システムが有するqA検索機能を示す説明図である。
図4(B)は、qA検索機能により削減されたカテゴリ番号「1102」のペア文の例を示す説明図である。
図4(C)は、同システムが有するqQ検索機能を示す説明図である。
【発明を実施するための形態】
【0020】
以下、本発明の情報検索方法、情報検索プログラム、情報検索システムおよびサーバ装置をFAQ検索システムに適用した実施形態について説明する。
図1に示すように、本実施形態に係るFAQ検索システム10は、例えば、行政機関のホームページ等において、行政サービスに対する問い合せとして、話し言葉や書き言葉等の自然言語で表現された質問や問合せの文章(以下「質問文」という)が入力されると、それに対する適切な回答文を出力することが可能なシステムである。なお、質問文は、特許請求の範囲に記載の「自然言語表現の入力文」や「ニーズ文」に相当し得るものである。また、回答文は、特許請求の範囲に記載の「出力文」に相当し得るものである。
【0021】
本実施形態では、問い合わせを行うユーザが質問文を入力するパソコン20と、FAQサーバ30と、により構成されており、これらはインターネット100を介して情報通信可能に接続されている。ユーザがパソコン20に入力した質問文は、入力文91(ニーズ文92)としてパソコン20から出力された後、インターネット100を経由してFAQサーバ30に入力される。入力文91が入力されたFAQサーバ30では、入力文91に対応する適切な回答文を検索しそれを出力文93として出力する。FAQサーバ30から出力された出力文93は、インターネット100経由でパソコン20に入力されてその画面に表示される。これにより、ユーザは、質問文に対する回答文を得ることができる。
【0022】
次に、
図2に基づいてFAQサーバ30の構成について説明する。FAQサーバ30は、主に、制御ユニット50、データベースユニット60、通信ユニット70等により構成されている。制御ユニット50は、情報処理装置であり、後述する各機能を実現することが可能なコンピュータである。制御ユニット50は、ハードウェア的には、CPU、GPU、半導体メモリや入出力インターフェース等(いずれも図略)により構成されており、機能的には、インタフェース部51、形態素解析部52、カテゴリ推定部53、カテゴリ選別部54、qA検索部55、qQ検索部56、ソート部57および更新部58により構成されている。これらの機能については、後で
図3や
図4も参照しながら説明する。
【0023】
なお、制御ユニット50を構成する図略の半導体メモリには、インタフェース部51、形態素解析部52、カテゴリ推定部53、カテゴリ選別部54、qA検索部55、qQ検索部56、ソート部57や更新部58等として、制御ユニット50を機能させることが可能なコンピュータプログラム(情報検索プログラム)が予め記憶されている。また、
図2には図示されてないが、FAQサーバ30は、液晶ディスプレイ等の表示装置やキーボード、マウス等の入力装置を備えている場合もある。
【0024】
データベースユニット60は、例えば、TB(テラバイト)オーダの記憶容量を有する半導体ディスク装置である。半導体ディスク装置は、フラッシュメモリ等により構成されており、SSD(Solid State Drive)と呼ばれる場合もある。本実施形態では、データベースユニット60には、質問文に相当する入力文91とそれに対応する回答文に相当する出力文93とを組み合わせたペア文95が当該FAQ検索システム10において想定される問い合わせアイテム数に応じて複数記憶されてペア文95の集合体を構成している。なお、データベースユニット60は磁気ディスク装置(HDD)であってもよい。
【0025】
本実施形態では、ペア文95は、テキスト形式を有する一対の入力文91および出力文93であり、後述するようなカテゴリ番号94が関連付けられて記憶されていたり、該当するカテゴリ番号94ごとに区分されて記憶されていたりする。入力文91や出力文93は、いずれもテキストデータであることから、その都度、形態素解析された後、後述するqA検索部55やqQ検索部56に入力される。なお、ペア文95(入力文91および出力文93)は、テキスト形式ではなく、形態素解析後の所定のデータ形式でデータベースユニット60に記憶されていてもよい。これにより、qA検索部55やqQ検索部56に入力されるごとに形態素解析を行う必要がないため、これらの検索部55,56における検索時間を短縮(検索速度を向上)することが可能になる。
【0026】
通信ユニット70は、外部との情報通信を可能にする通信装置であり、例えば、有線LANユニットや無線LANユニット等が想定される。通信ユニット70は、一般的にはインターネット100に直接接続することはできないため、ISP(Internet Service Provider)が提供するONUやDSU等の回線終端装置や、このような回線終端装置に接続されたLANルータやWi-Fiルータ等を介して接続される。なお、
図2では、ニーズ文92、出力文93や更新情報99がそれぞれ別個に入出力されているように表されているが、これらは通信ユニット70が有する1つのポートで入出力されている。
【0027】
次に
図3および
図4を参照しながら、FAQサーバ30の制御ユニット50が有する各機能について説明する。インタフェース部51は、ユーザが操作するパソコン20に対してウェブブラウザを介して提供される機能のうち、フロントエンドからAPIリクエストを受けて処理を行うバックエンドの機能を有するモジュールやコンポーネントである。バックエンドの機能としては、例えば、通信ユニット70を介して入力されるニーズ文92を形態素解析部52に出力したり、ソート部57から入力される後述の候補入力文91’と候補出力文93’を含む1組以上のペア文95やその情報をフロントエンドに出力したりする。また、通信ユニット70や更新部58から入力される更新情報99についても更新部58や通信ユニット70に出力する。
【0028】
形態素解析部52は、入力された文章を形態素(言語学的に意味を持つ表現要素の最小単位)の文字列に分割する機能を有するモジュールやコンポーネントであり、本実施形態では、インタフェース部51から出力されたニーズ文92をカテゴリ推定部53に入力可能な形式に変換するもの(カテゴリ推定部53に対する前処理部)であり、例えば、オープンソースの形態素解析エンジンであるMeCab(https://taku910.github.io/mecab/)を使用する。形態素解析部52では、ニーズ文92に含まれる半角文字(例えば、数字、アルファベット、片仮名、記号等)を全角文字に変換したり、全角文字や半角文字の空白記号を削除したりもする。なお、形態素解析エンジンは、Sudachi(https://www.mlab.im.dendai.ac.jp/~yamada/ir/MorphologicalAnalyzer/Sudachi.html)や、JUMAN(https://nlp.ist.i.kyoto-u.ac.jp/?JUMAN)でもよい。
【0029】
カテゴリ推定部53は、形態素解析部52により得られた形態素解析情報92aから、ニーズ文92が属するべきカテゴリを推定する機能を有するモジュールやコンポーネントである。本実施形態では、例えば、
図3(A)に示すように、カテゴリ推定部53は、ニーズ文92の形態素解析情報92aが入力されるとそれが属するべきカテゴリ番号94として4桁(1000~9999)の整数を出力するニューラルネットワークであり、例えば、NICT BERTを予め準備された学習データで学習させた学習済みモデル(ファインチューニングモデル)である。NICT BERTは、国立研究開発法人 情報通信研究機構(NICT(National Institute of Information and Communications Technology))のデータ駆動知能システム研究センターが日本語版Wikipediaを対象に事前学習を行ったBERT(Bidirectional Encoder Representations from Transformers)モデルのことである。なお、NICTおよびWikipediaは、登録商標である(以下同じ)。
【0030】
ここでの学習データは、一文からなる質問文(ペア文95を構成する入力文91または入力文91に相当する質問文)とその質問文が属するカテゴリ番号94とからなるデータセットであり、十分な数のデータセットによりNICT BERTをファインチューニングしている。カテゴリ番号94は、例えば、
図3(B)に示すように設定されている。即ち、カテゴリ番号94であるC/N:xxxxは、上一桁の数字(1~9)により9種類の大分類、上二桁の数字(1~9)により9種類の中分類、下一桁と下二桁の数字(01~99)により99種類の小分類をそれぞれ表すように定められている。
【0031】
例えば、行政サービスの場合には、大分類の、「1」は申請等の手続、「2」は年金、「3」は保険、「4」は福祉、「5」は子育て支援、「6」はゴミ処理、「7」は公共施設、「8」は上下水道、「9」はその他、等に分類される。中分類の、「1」は管轄区域、「2」は利用可能時間、「3」は利用料金、等に分類される。小分類は、それぞれのカテゴリに関連して多種多様に分類される。
【0032】
図3(B)に示す例では、入力文91の「○○○○○」と出力文93の「×××××」とが一組のペア文95等は、カテゴリ番号「1101」に属する。また、入力文91の「○○◎◎◎」と出力文93の「×△×△×」とが一組のペア文95等は、カテゴリ番号「1102」に属する。さらに、入力文91の「◎○◎○○」と出力文93の「××△△△」とが一組のペア文95等は、カテゴリ番号「1199」に属する。なお、これらのペア文95は、データベースユニット60に記憶されているペア文95の集合体に含まれている。
【0033】
カテゴリ選別部54は、カテゴリ推定部53により推定されたカテゴリ番号94に基づいて、そのカテゴリ番号94に属する1組以上のペア文95を他のカテゴリ番号94に属する複数のペア文95から選別する機能を有するモジュールやコンポーネントであり、複数のペア文95は、制御ユニット50がデータベースユニット60にアクセスすることにより参照される。
【0034】
例えば、カテゴリ推定部53にニーズ文92「○○◎◎○」が入力されてカテゴリ番号94として「1102」が出力された場合には、カテゴリ選別部54は、カテゴリ番号94「1102」に分類されている「C/N:1102」が付与された1組以上のペア文95(質問文:「○○◎◎◎」と回答文:「×△×△×」等)を選別する。これにより、「C/N:1102」が付与されていない他のペア文95はカテゴリ選別部54により選別されないので、次のqA検索部55の処理対象となるペア文95を削減することが可能になる。
【0035】
qA(query-Answer)検索部55は、カテゴリ選別部54により選別された1組以上のペア文95(入力文91と出力文93の組み合わせ)から抽出したそれぞれの出力文93と、ニーズ文92と組み合わせ(仮ペア文96)が適切であるか否かを表す適切スコアを出力する機能と、得られた適切スコアが予め定められた所定の閾値以上であるペア文95を選択する機能とを有するモジュールやコンポーネントである。本実施形態では、例えば、
図4(A)に示すように、qA検索部55は、ニーズ文92と抽出後の出力文93を組み合わせた仮ペア文96が入力されると適切スコアとして0.0~1.0を出力するニューラルネットワーク55aと、適切スコアが所定の閾値(例えば0.5)以上のペア文95だけを選択する選択アルゴリズム55bと、により構成されている。
【0036】
ニューラルネットワーク55aは、ニーズ文92の表す質問に対して、仮ペア文96としてそれに対応する出力文93の表す回答が適合した内容であるか否かの妥当性を0.0以上1.0以下の数値で表現するように、例えば、NICT BERTを予め準備された学習データで学習させた学習済みモデル(ファインチューニングモデル)である。適切スコアは、1.0に近いほど妥当性が高く(適切である)、0.0に近いほど妥当性が低い(不適切である)。学習データは、予め人手等により作成されたペア文95を使用する。
【0037】
例えば、N個のペア文95({Q0,A0}~{Qn,An})を用意し、そのうちの80%程度を{Q0,A0}等の適切な正例のペア文95、残りの20%程度を{Qi,Aj}(i≠j)の不適切な負例のペア文95に設定する。ここでは、{Q_,A_}の添え字xが等しい場合({Qx,Ax}等)に正例、異なる場合({Qi,Aj}等)に負例と定義する。負例のペア文95は、正例のペア文95({Q0,A0}~{Qn,An})のそれぞれの組み合わせをランダムに組み替えて{Qi,Aj}(i≠j)を生成する。そして、正例のペア文95に対しては適切スコア「1.0」のラベル、負例のペア文95に対しては適切スコア「0.0」のラベルをそれぞれ付けて、NICT BERTの学習を行う。
【0038】
そして、選択アルゴリズム55bは、例えば、適切スコアが0.5以上であるペア文95を選択し、適切スコアが0.5未満であるペア文95を選択から除く(選択しない)処理内容の判定処理を行い得るように構成される。これにより、
図4(B)に示すように、先の例では「C/N:1102」が付与されている1組以上のペア文95のうち、ニーズ文92に対する回答として適切である蓋然性の低い出力文93が排除されるため、次のqQ検索部56の処理対象となるペア文95をさらに削減することが可能になる。つまり、カテゴリ選別部54とqA検索部55による二段階の削減により、次のqQ検索部56の処理対象となるペア文95を大幅に削減することが可能になる。qA検索部55により選択された1以上の出力文93(候補出力文93’)の情報は、qQ検索部56に出力される。
【0039】
qQ(query-Question)検索部56は、qA検索部55により選択された1以上の候補出力文93’にそれぞれ対応する1以上の候補入力文91’の文脈と、ニーズ文92の文脈とに基づいて両文章の文意が類似する度合い(類似度)を求める機能を有するモジュールやコンポーネントである。本実施形態では、例えば、
図4(C)に示すように、qQ検索部56は、qA検索部55から出力される候補出力文93’の情報に基づいて当該候補出力文93’を含むペア文95の候補入力文91’と、ニーズ文92との類似度を求めて出力するニューラルネットワークであり、例えば、NICT BERTとBERTScore(https://github.com/Tiiiger/bert_score)が用いられる。
【0040】
候補入力文91’とニーズ文92の類似度は、BERTScoreを使用して求める。BERTは、文脈を考慮した分散表現(埋め込み表現)を生成することが可能であるため、候補入力文91’とニーズ文92のそれぞれについて、文章を構成するトークンに対してベクトル化を行う。これにより得られる2つの各文章(候補入力文91’とニーズ文92)のトークンベクトルの間において、コサイン類似度が最も高くなる候補入力文91’のトークンベクトルを求め、最大コサイン類似度の重み付け平均(tf-idf等)を2つの文章間の類似度として算出する。このように類似度は、候補入力文91’とニーズ文92とをそれぞれベクトル化することによって求められる。本実施形態では、類似度は、0.0~1.0の類似スコアとして得られる。類似スコアは、1.0に近いほど類似している可能性が高く(類似である)、0.0に近いほど類似している可能性が低い(非類似である)。
【0041】
ソート部57は、候補入力文91’と候補出力文93’を含む1組以上のペア文95を、qQ検索部56から出力された類似スコアが大きい(1.0に近い)ものが先頭に位置するように降順に並び替えるスコアソート処理を行うものである。並び替えられた1組以上のペア文95やその情報はインタフェース部51に出力される。これにより、インタフェース部51では、ユーザが操作するパソコン20に対して、例えば、類似スコアが最も高いペア文95が表示されるように、当該ペア文95を構成する候補入力文91’および候補出力文93’の情報を通信ユニット70を介してパソコン20に出力する。
【0042】
例えば、
図1に示すように、ある地方自治体のホームページを閲覧しているユーザがパソコン20を操作して「○×△がほしいんですが、どこへ行けばいいですか」という文字列の入力文91(ニーズ文92)をFAQサーバ30に対して出力した場合には、当該FAQサーバ30は、「○×△の申請はどの窓口で行えますか?」という文字列の候補入力文91’および「●●庁舎3階の▲▲部窓口となります。」という文字列の候補出力文93’を当該ユーザのパソコン20に出力する。これにより、当該ユーザが期待する情報またはそれに近い情報を素早く提供することが可能になる。
【0043】
なお、インタフェース部51では、ユーザが操作するパソコン20に対して、例えば、類似スコアが最も高いペア文95の候補出力文93’だけが表示されるように、当該ペア文95を構成する候補出力文93’の情報を通信ユニット70を介してパソコン20に出力するように構成してもよい。これにより、先の例においては、ユーザがパソコン20を操作して出力した「○×△がほしいんですが、どこへ行けばいいですか」という質問文に対して、「●●庁舎3階の▲▲部窓口となります。」という文字列の候補出力文93’だけを当該ユーザのパソコン20に出力することが可能になる。
【0044】
図2に示すように、更新部58は、データベースユニット60に記憶されているペア文95の集合体を更新したり追加したりする機能を有するモジュールやコンポーネントである。更新や追加は、例えば、インターネット100に接続される図略の管理端末装置から出力されてFAQサーバ30に入力される更新情報99により行い得るように更新部58が構成されている。FAQサーバ30が液晶ディスプレイ等の表示装置、キーボード、マウス等の入力装置、CD-ROMやDVD等のメディアドライブ装置等を備えている場合には、通信ユニット70を介することなくオフラインでペア文95の更新や追加を行い得るように更新部58を構成してもよい。
【0045】
なお、本願発明者らは、本実施形態に係るFAQ検索システム10の構成の有効性を確認するため、FAQサーバ30の制御ユニット50が有する各機能のうち、カテゴリ推定部53、カテゴリ選別部54、qA検索部55およびqQ検索部56に代えて、ユーザが入力したニーズ文92と、データベースユニット60に記憶されている複数のペア文95と、をBERTScoreにより類似スコアを求めるだけの構成(インタフェース部51、形態素解析部52、BERTScore、ソート部57)にした場合(BERTScore構成の場合)と、上述した各機能(インタフェース部51、形態素解析部52、カテゴリ推定部53、カテゴリ選別部54、qA検索部55、qQ検索部56およびソート部57)をFAQサーバ30の制御ユニット50が有する場合(本実施形態の場合)と、について比較実験を行った。
【0046】
比較実験では、データベースユニット60に記憶されているペア文95の集合体に含まれているペア文95の入力文91(質問文)から無作為に抽出を行い、質問文の文章全体としての意味が変わらない範囲内において表現を変更した質問文を作成して使用した。作成した質問文は113件である。
【0047】
例えば、ペア文95を構成している入力文91「夫の暴力から身を守りたいのですが、どこに相談すればよいですか」に対して「夫の暴力に耐えられないのですが、相談先はどこですか」という質問文、ペア文95の入力文91「インターネットで図書館の資料は予約できますか」に対して「図書館の本はインターネットで予約できますか」という質問文や、ペア文95の入力文91「火災や救急の通報の際に何を伝えたらいいですか」に対して、「消防車・救急車を呼ぶ際、どんな内容を伝えるのがベストですか」という質問文、を作成してFAQサーバ30等に入力した。
【0048】
実験結果は、BERTScore構成の場合には、113件の作成した質問文の入力に対して、質問文とペア文95の入力文91とが上位1件で一致したものは96件(84.96%)であり、上位5件以内で一致したものは104件(92.03%)であった。これに対して、本実施形態の場合には、質問文とペア文95の入力文91とが上位1件で一致したものは101件(89.38%)であり、上位5件以内で一致したものは106件(93.81%)であった。これにより、本実施形態に係るFAQ検索システム10やそのFAQサーバ30では、検索精度が向上していることを確認することができた。
【0049】
以上説明したように、本実施形態のFAQ検索システム10やそのFAQサーバ30では、qA検索部55の処理対象となるペア文95をカテゴリ選別部54により減らしてから、qQ検索部56の処理対象となる1以上のペア文95をqA検索部55により選択してさらに減らす。そのため、このような二段階の削減により、qQ検索部56の処理対象となる1以上のペア文95が大幅に削減されて処理速度を向上させることが可能になる。そして、qQ検索部56により、1以上のペア文95の候補入力文91’の文脈を考慮した分散表現と、ニーズ文92の文脈を考慮した分散表現と、の類似スコア(類似度)を求め、ソート部57によりニーズ文92に最も類似しているペア文95の候補入力文91’に対応する候補出力文93’を出力文93として出力する。そのため、例えば、データベースユニット60に記憶されているペア文95の入力文91をニーズ文92に含まれるキーワードに基づいて検索する場合に比べて、ニーズ文92の文脈を考慮した検索が行われるので検索精度を向上させることが可能になる。したがって、検索速度および検索精度を向上することができる。
【0050】
また、このようにFAQ検索システム10やFAQサーバ30を構成する、カテゴリ選別部54を特許請求の範囲に記載の「第1ステップ」や「第1手段」、qA検索部55を特許請求の範囲に記載の「第2ステップ」や「第2手段」、qQ検索部56を特許請求の範囲に記載の「第3ステップ」や「第3手段」、ソート部57を特許請求の範囲に記載の「第4ステップ」や「第4手段」に置き換えることによって、本実施形態を、本発明の情報検索方法や本発明の情報検索プログラムに適用したものとして概念することができる。
【0051】
これにより、第2ステップや第2手段の処理対象となるペア文95を第1ステップや第1手段により減らしてから、第3ステップや第3手段の処理対象となる1以上のペア文95を第2ステップや第2手段により選択してさらに減らす。そのため、このような二段階の削減により、第3ステップや第3手段の処理対象となる1以上のペア文95が大幅に削減されて処理速度を向上させることが可能になる。そして、第3ステップや第3手段により、1以上のペア文95の候補入力文91’の文脈を考慮した分散表現と、ニーズ文92の文脈を考慮した分散表現と、の類似度を求めて、第4ステップや第4手段によりニーズ文92に最も類似しているペア文95の候補入力文91’に対応する候補出力文93’を出力文93として出力する。そのため、例えば、データベースユニット60に記憶されているペア文95の入力文91をニーズ文92に含まれるキーワードに基づいて検索する場合に比べて、ニーズ文92の文脈を考慮した検索が行われるので検索精度を向上させることが可能になる。したがって、検索速度および検索精度を向上することができる。
【0052】
なお、本発明の情報検索方法、情報検索プログラム、情報検索システムおよびサーバ装置は、研究論文を発表した研究者名等の情報を検索する場面で使用される研究シーズ検索システムにも適用することが可能である。この場合には、上述したFAQ検索システム10の実施形態とは、FAQ検索システム10の名称が研究シーズ検索システム10に変更になりまたFAQサーバ30の名称が研究シーズサーバ30に変更になる点や、データベースユニット60に記憶されているペア文95の構成が変更になる点等が相違する。研究シーズサーバ30のデータベースユニット60に記憶されるペア文95は、入力文91と出力文93とが同じ文章(検索の対象となる文章または文字列)で構成される点が、FAQサーバ30のデータベースユニット60に記憶されるペア文95と異なる。
【0053】
例えば、研究シーズサーバ30において情報処理の対象となるペア文95は、例えば、研究論文のタイトルと要約の一部とを結合させた文章が入力文91および出力文93になる。要約の一部は、要約文を読点ごとに区切って分割することにより得られる。そして、研究論文のタイトルと要約の一部とを「:」(コロン)の記号で結合したもの、つまり「タイトル:要約の一部」が入力文91や出力文93に設定される。また、研究論文のタイトルには、その論文を発表した研究者の氏名や所属機関等の研究者情報を特定し得る研究者IDが関連付けられている。一般的には、要約の一部は1つの要約文に複数含まれることから、データベースユニット60には、同じタイトルを有する入力文91や出力文93が複数記憶されている。そのため、同じタイトルで同じ研究者IDが複数検索されても検索結果は1件となるように制御ユニット50のソート部57により情報処理される。
【0054】
これにより、例えば、ニーズ文92として「強制空冷用のヒートシンクを小型化・高性能化させ、冷却ファンの騒音を低減(風切音の低減)したい」が、ユーザのパソコン20から出力された場合には、形態素解析部52、カテゴリ推定部53、カテゴリ選別部54、qA検索部55およびqQ検索部56により、入力文91および出力文93として、「パワエレ技術によるあらゆる電源の小型化や高性能化に挑戦:(6)マルチレベル変換器の簡単化」や「高効率・低騒音なファンを目指した研究:ケーシングスリットがファン性能・騒音に及ぼす影響についての圧縮性流れ解析」等を有するペア文95が検索される。そして、そのペア文95の入力文91や出力文93に含まれるタイトルに関連付けられた情報として、研究者IDに関連付けられた研究者情報が得られる。
【0055】
なお、本願発明者らは、入力文91と出力文93の両方に同じ内容の文章を設定した構成の有効性を確認するため、入力文91だけに「タイトル:要約の一部」を設定した場合(片方の場合)と、入力文91と出力文93の両方に同じ内容の「タイトル:要約の一部」を設定した場合(両方の場合)と、について検索精度を確認する比較実験を行った。この実験では、上述のような「強制空冷用のヒートシンクを…」等の内容のニーズ文92とそれぞれのニーズ文92に対応することが期待される研究者情報(正例)とを284件分用意して行った。その結果、284件のニーズ文92のうち正例と一致した研究者情報を検索できたものは、片方の場合に69件(24.30%)であり、両方の場合に107件(37.67%)であった。これにより、両方の場合、即ち本実施形態に係る研究シーズ検索システム10や研究シーズサーバ30の方が、片方の場合に比べて検索精度が高くなることを確認することができた。
【0056】
このような研究シーズ検索システム10や研究シーズサーバ30においても、上述した実施形態のFAQ検索システム10やFAQサーバ30と同様に、二段階の削減により、qQ検索部56、第3ステップや第3手段の処理対象となる1以上のペア文95が大幅に削減されて処理速度を向上させることが可能になる。また、例えば、データベースユニット60に記憶されているペア文95の入力文91をニーズ文92に含まれるキーワードに基づいて検索する場合に比べて、ニーズ文92の文脈を考慮した検索が行われるので検索精度を向上させることが可能になる。したがって、検索速度および検索精度を向上することができる。
【0057】
なお、上述した実施形態のFAQ検索システム10や研究シーズ検索システム10(以下「FAQ検索システム10等」という)では、カテゴリ推定部53、qA検索部55やqQ検索部56を構成するニューラルネットワークとして、BERTの日本語用事前学習済みモデルであるNICT BERTやその派生モデルであるBERTScoreを用いる場合を例示して説明したが、入力文91、ニーズ文92および出力文93が英語で表されている場合には、オリジナルのBERTやBERTScoreを用いるとともに形態素解析部52は英文用の形態素解析エンジンを用いることにより、英語のニーズ文92に対応するが可能になる。また、英語以外の他国言語で表されている場合には、該当言語で事前学習済みモデルのBERTやそのBERTScoreを用いるとともに形態素解析部52は該当言語用の形態素解析エンジンを用いることにより、英語以外の他国語のニーズ文92にも対応することが可能になる。
【0058】
また、上述した実施形態のFAQ検索システム10等では、カテゴリ推定部53、qA検索部55やqQ検索部56を構成するニューラルネットワークとして、NICT BERTやBERTScoreを用いる場合を例示して説明したが、自然言語で表現された文章をベクトル化することが可能なニューラルネットワークであれば、例えば、Word2vec(word to vector)、ELMo(Embeddings from Languge Models)、GloVe(Global Vectors for Word Representation)や、Multilingual-BERT(M-BERT)等のBERTの派生モデル等の他のニューラルネットワークを用いてもよい。ただし、ニューラルネットワークの特性に対応して必要な処理部を追加したり不要な処理部(例えば形態素解析部52)を削除したりする必要がある。
【0059】
さらに、上述した実施形態では、FAQ検索システム10は、行政サービスに対する問い合せの場面を想定して説明したが、例えば、民間企業が行う事業内容に関する問い合せの場面、教育機関や国家機関等が行うサービスに対する問い合せの場面等においても、適用することが可能である。
【0060】
また、上述した実施形態のFAQ検索システム10等では、FAQサーバ30がデータベースユニット60を備える構成を例示して説明したが、データベースユニット60は、インターネット100に情報通信可能に接続されるデータベースサーバ等のサーバ装置に代えてもよい。この場合には、FAQサーバ30の制御ユニット50は、カテゴリ選別部54、qA検索部55およびqQ検索部56による情報処理において、インタフェース部51や通信ユニット70等を介してデータベースサーバ等のサーバ装置にアクセスしてペア文95の情報を得る。また、この場合には更新部58は不要になる。
【0061】
さらに、上述した実施形態のFAQ検索システム10等では、パソコン20とFAQサーバ30は、インターネット100を介して情報通信可能に接続したが、例えば、有線LANや無線LANを介してパソコン20とFAQサーバ30をインターネット100を介することなく、直接的に情報通信可能に接続してもよい。また、このような有線LANや無線LANを介することなく、スタンドアロンタイプのFAQサーバ30としてパソコン20をUSBインタフェースや通信ユニット70等に接続してもよい。
【0062】
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、上述した具体例を様々に変形または変更したものが含まれる。また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項に記載の組合せに限定されるものではない。さらに、本明細書または図面に例示した技術は、複数の目的を同時に達成するものであり、そのうちの1つの目的を達成すること自体で技術的有用性を持つ。なお、[符号の説明]の欄における括弧内の記載は、上述した各実施形態で用いた用語と、特許請求の範囲に記載の用語との対応関係を明示し得るものである。
【符号の説明】
【0063】
10…FAQ検索システム、研究シーズ検索システム(情報検索システム)
20…パソコン(端末装置)
30…FAQサーバ、研究シーズサーバ(サーバ装置)
50…制御ユニット(コンピュータ)
51…インタフェース部(入力部、出力部)
52…形態素解析部
53…カテゴリ推定部(推定部)
54…カテゴリ選別部(第1ステップ、第1手段、選別部)
55…qA検索部(第2ステップ、第2手段、選択部)
56…qQ検索部(第3ステップ、第3手段、取得部)
57…ソート部(第4ステップ、第4手段、出力部)
58…更新部
60…データベースユニット(記憶部)
70…通信ユニット
91…入力文
91’…候補入力文
92…ニーズ文
92a…形態素解析情報
93…出力文
93’…候補出力文
94…カテゴリ番号(分類情報)
95…ペア文
96…仮ペア文
99…更新情報
100…インターネット(電気通信回線)