(57)【要約】      （修正有）【課題】入力された文字列に基づき適切なＱ＆Ａを抽出する検索処理方法、処理プログラム及び情報処理装置を提供する。【解決手段】文字列の入力を受け付け、問合せについてのデータを含む問合せデータから、第１の単語を、問合せデータにおいて文字列の次に第１の単語が出現する確率に基づき特定し、問合せデータから、同一の質問回答データを正解とする１又は複数の問合せをそれぞれ含む複数の問合せ集合を抽出し、複数の問合せ集合のうち第１の単語が出現する問合せ集合とは異なる問合せ集合に出現する第２の単語を、複数の問合せ集合の各々に第１の単語が出現する確率と第２の単語が出現する確率との比に基づき特定し、文字列と第１の単語と第２の単語とに基づき、質問回答データを格納する第１データ格納部に対して検索を行う処理を含む。【選択図】図１４
2017204018.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
文字列の入力を受け付け、
問合せについてのデータを含む問合せデータから、第１の単語を、前記問合せデータにおいて前記文字列の次に前記第１の単語が出現する確率に基づき特定し、
前記問合せデータから、同一の質問回答データを正解とする１又は複数の問合せをそれぞれ含む複数の問合せ集合を抽出し、
前記複数の問合せ集合のうち前記第１の単語が出現する問合せ集合とは異なる問合せ集合に出現する第２の単語を、前記複数の問合せ集合の各々に前記第１の単語が出現する確率と前記第２の単語が出現する確率との比に基づき特定し、
前記文字列と前記第１の単語と前記第２の単語とに基づき、質問回答データを格納する第１データ格納部に対して検索を行う、
処理を実行させる検索処理プログラム。
【請求項２】
前記コンピュータに、
前記複数の問合せ集合に含まれる単語の各々について、当該単語が前記複数の問合せ集合の各々に出現する確率を算出し、
前記複数の問合せ集合の各々について、当該問合せ集合に出現する確率が所定値以上である単語を特定し、第２データ格納部に格納する
処理をさらに実行させ、
前記第２の単語を特定する処理において、
前記複数の問合せ集合の各々に前記第１の単語が出現する確率と前記第２の単語が出現する確率との比に基づき、前記第２データ格納部に格納されている単語から前記第２の単語を特定する、
請求項１記載の検索処理プログラム。
【請求項３】
前記コンピュータに、
前記問合せデータに出現し且つ２つの単語を含む単語列の各々について、当該単語列が出現する確率を算出し、算出した当該確率を第３データ格納部に格納する、
処理をさらに実行させ、
前記第１の単語を特定する処理において、
前記第３データ格納部に格納された前記確率に基づき、前記第１の単語を特定する、
請求項１又は２記載の検索処理プログラム。
【請求項４】
前記コンピュータに、
前記複数の問合せ集合のうち前記第１の単語が出現する問合せ集合及び前記第２の単語が出現する問合せ集合とは異なる問合せ集合に出現する第３の単語を、前記複数の問合せ集合の各々に前記第１の単語及び前記第２の単語が出現する確率と前記第３の単語が出現する確率との比に基づき特定する、
処理をさらに実行させ、
前記検索を行う処理において、
前記文字列と前記第１の単語と前記第２の単語と前記第３の単語とに基づき、前記第１データ格納部に対して検索を行う、
請求項１記載の検索処理プログラム。
【請求項５】
前記第２の単語を特定する処理において、
前記第２の単語が前記文字列の次に出現する確率にさらに基づき、前記第２の単語を特定する、
請求項１乃至４のいずれか１つ記載の検索処理プログラム。
【請求項６】
前記コンピュータに、
前記第１データ格納部に対する前記検索の結果を出力する、
処理をさらに実行させる請求項１乃至５のいずれか１つ記載の検索処理プログラム。
【請求項７】
コンピュータが、
文字列の入力を受け付け、
問合せについてのデータを含む問合せデータから、第１の単語を、前記問合せデータにおいて前記文字列の次に前記第１の単語が出現する確率に基づき特定し、
前記問合せデータから、同一の質問回答データを正解とする１又は複数の問合せをそれぞれ含む複数の問合せ集合を抽出し、
前記複数の問合せ集合のうち前記第１の単語が出現する問合せ集合とは異なる問合せ集合に出現する第２の単語を、前記複数の問合せ集合の各々に前記第１の単語が出現する確率と前記第２の単語が出現する確率との比に基づき特定し、
前記文字列と前記第１の単語と前記第２の単語とに基づき、質問回答データを格納する第１データ格納部に対して検索を行う、
処理を実行する検索処理方法。
【請求項８】
文字列の入力を受け付け、問合せについてのデータを含む問合せデータから、第１の単語を、前記問合せデータにおいて前記文字列の次に前記第１の単語が出現する確率に基づき特定する第１特定部と、
前記問合せデータから、同一の質問回答データを正解とする１又は複数の問合せをそれぞれ含む複数の問合せ集合を抽出し、前記複数の問合せ集合のうち前記第１の単語が出現する問合せ集合とは異なる問合せ集合に出現する第２の単語を、前記複数の問合せ集合の各々に前記第１の単語が出現する確率と前記第２の単語が出現する確率との比に基づき特定する第２特定部と、
前記文字列と前記第１の単語と前記第２の単語とに基づき、質問回答データを格納する第１データ格納部に対して検索を行う検索部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索処理技術に関する。
【背景技術】
【０００２】
コールセンタ等においては、顧客からの問合せに応じるため、Ｑ＆Ａ（Question and Answer）集の検索システムが利用される。検索システムを利用するオペレータは、顧客が話したことを基に文字列の入力操作（例えば打鍵）を行うことで検索システムに検索を実行させ、正解のＱ＆Ａを提示させる。
【０００３】
但し、従来技術を利用したとしても正解のＱ＆Ａが提示されないことがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１５７００６号公報
【特許文献２】特開２０１４−１２００５３号公報
【特許文献３】特開２００６−３９８８１号公報
【特許文献４】特開２０１４−１３４８７１号公報
【特許文献５】特開２０１２−２４２９６６号公報
【非特許文献】
【０００５】
【非特許文献１】Steffen Bickel, Peter Haider, and Tobias Scheffer, "Learning to Complete Sentences", European Conference on Machine Learning, 2005, pp.497-504
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、１つの側面では、入力された文字列に基づき適切なＱ＆Ａを抽出するための技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明に係る検索処理方法は、文字列の入力を受け付け、問合せについてのデータを含む問合せデータから、第１の単語を、問合せデータにおいて文字列の次に第１の単語が出現する確率に基づき特定し、問合せデータから、同一の質問回答データを正解とする１又は複数の問合せをそれぞれ含む複数の問合せ集合を抽出し、複数の問合せ集合のうち第１の単語が出現する問合せ集合とは異なる問合せ集合に出現する第２の単語を、複数の問合せ集合の各々に第１の単語が出現する確率と第２の単語が出現する確率との比に基づき特定し、文字列と第１の単語と第２の単語とに基づき、質問回答データを格納する第１データ格納部に対して検索を行う処理を含む。
【発明の効果】
【０００８】
１つの側面では、入力された文字列に基づき適切なＱ＆Ａを抽出できるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、文字列の入力と検索結果の表示とについて説明するための図である。
【図２Ａ】図２Ａは、検索処理装置の機能ブロック図である。
【図２Ｂ】図２Ｂは、検索処理部の機能ブロック図である。
【図３】図３は、問合せデータ格納部に格納されるデータの一例を示す図である。
【図４】図４は、Ｑ＆Ａデータ格納部に格納されるデータの一例を示す図である。
【図５】図５は、第１算出処理部が実行する処理の処理フローを示す図である。
【図６】図６は、問合せデータ格納部に格納される問合せのデータの一例を示す図である。
【図７】図７は、文データ格納部に格納されるデータの一例を示す図である。
【図８】図８は、単語列データ格納部に格納されるデータの一例を示す図である。
【図９】図９は、ｃｎｔ（ｗ）の一例及びｃｎｔ（ｕ，ｗ）の一例を示す図である。
【図１０】図１０は、確率データ格納部に格納されるデータの一例を示す図である。
【図１１】図１１は、第１算出部が処理を実行した後に第２算出部が実行する処理の処理フローを示す図である。
【図１２】図１２は、確率分布データ格納部に格納されるデータの一例を示す図である。
【図１３】図１３は、キーワード格納部に格納されるデータの一例を示す図である。
【図１４】図１４は、検索処理部が実行する処理の処理フローを示す図である。
【図１５】図１５は、抽出される拡張キーワードの一例を示す図である。
【図１６】図１６は、言語モデルについて説明するための図である。
【図１７】図１７は、第２の実施の形態のシステムの概要を示す図である。
【図１８】図１８は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１０】
［実施の形態１］
入力された文字列に基づいて検索を行う場合、文字列に含まれる文字の数が多くなるほど検索の手がかりが増えるため、正解のＱ＆Ａを抽出する可能性が高くなるが、ユーザの負担は多くなる。例えば図１に示すように、ユーザが入力しようと考えた文字列の一部が入力欄１００１に入力された段階で、検索結果の表示欄１００２に正解のＱ＆Ａ（図１においては、太枠１００３で囲まれた部分）が表示されることが好ましい。
【００１１】
また、図１の例のように、入力された文字列が正解のＱ＆Ａの文には含まれていない場合においても正解のＱ＆Ａが抽出されることが好ましい。但し、入力された文字列のみを手がかりとして検索を行う方法を利用すると、図１の例における正解のＱ＆Ａは表示されず、正解ではないＱ＆Ａが表示される。また、入力された文字列と一緒に出現する傾向がある文字列を使用して検索を行う場合も、検索結果が多様なＱ＆Ａを含むとは限らず、正解のＱ＆Ａが表示されないことがある。
【００１２】
そこで、本実施の形態においては以下のような方法で検索処理が実行される。
【００１３】
図２Ａに、本実施の形態における検索処理装置１の機能ブロック図を示す。検索処理装置１は、問合せデータ格納部１０１と、文データ格納部１０２と、単語列データ格納部１０３と、Ｑ＆Ａデータ格納部１０４と、確率データ格納部１０５と、確率分布データ格納部１０６と、キーワード格納部１０７と、出力データ格納部１０８と、第１算出部１１１と、第２算出部１１２と、検索処理部１１３とを含む。図２Ｂに、検索処理部１１３の機能ブロック図を示す。検索処理部１１３、第１処理部１１３１と、第２処理部１１３２と、第３処理部１１３３とを含む。
【００１４】
第１算出部１１１は、問合せデータ格納部１０１に格納されているデータに基づき処理を実行し、処理結果を文データ格納部１０２、単語列データ格納部１０３及び確率データ格納部１０５に格納する。第２算出部１１２は、単語列データ格納部１０３に格納されているデータ、Ｑ＆Ａデータ格納部１０４に格納されているデータ及び確率データ格納部１０５に格納されているデータに基づき処理を実行し、処理結果を確率分布データ格納部１０６及びキーワード格納部１０７に格納する。検索処理部１１３は、確率データ格納部１０５に格納されているデータ、確率分布データ格納部１０６に格納されているデータ及びキーワード格納部１０７に格納されているデータに基づき処理を実行し、処理結果を出力データ格納部１０８に格納する。特に、第１処理部１１３１は、拡張キーワードのうち最初に追加される拡張キーワードを抽出する処理を実行する。第２処理部１１３２は、拡張キーワードのうち２番目以降に追加される拡張キーワードを抽出する処理を実行する。第３処理部１１３３は、入力された文字列と拡張キーワードとに基づき検索を実行する。
【００１５】
図３に、問合せデータ格納部１０１に格納されるデータの一例を示す。図３の例では、問合せのＩＤ（IDentifier）と、問合せに関する自然言語のデータと、問合せの正解として適切なＱ＆Ａ（すなわち、問合せに対して提示される応答として適切なＱ＆Ａ）のＩＤとが格納される。問合せデータ格納部１０１に格納される問合せのデータは、実際に過去に受け付けた問合せのデータである。
【００１６】
図４に、Ｑ＆Ａデータ格納部１０４に格納されるデータの一例を示す。図４の例では、Ｑ＆ＡのＩＤと、質問のデータと、回答のデータとが格納される。Ｑ＆Ａデータ格納部１０４に格納される質問のデータ及び回答のデータは、Ｑ＆Ａのモデルとして管理者等により入力されたデータ（例えばＦＡＱ（Frequently Asked Questions）のデータ）である。
【００１７】
次に、図５乃至図１６を用いて、検索処理装置１の動作を説明する。
【００１８】
まず、図５乃至図１０を用いて、第１算出部１１１が実行する処理について説明する。検索処理装置１の第１算出部１１１は、問合せデータ格納部１０１に格納されている問合せのデータを文単位に分割して文データを生成する。そして、第１算出部１１１は、生成した文データを文データ格納部１０２に格納する（図５：ステップＳ１）。
【００１９】
図６に、問合せデータ格納部１０１に格納される問合せのデータの一例を示す。問合せのデータは、問合せごとに、１又は複数の文のデータを含む。ステップＳ１の処理によって、例えば図７に示すように、各文について文データが生成されて文データ格納部１０２に格納される。
【００２０】
第１算出部１１１は、文データ格納部１０２に格納された文データに対して単語分割（品詞分解とも呼ばれる）を実行して単語列データを生成する。そして、第１算出部１１１は、生成した単語列データを単語列データ格納部１０３に格納する（ステップＳ３）。
【００２１】
図８に、単語列データ格納部１０３に格納されるデータの一例を示す。図８の例では、文データが単語単位に分割されているが、単語の出現順序は維持される。
【００２２】
第１算出部１１１は、単語列データ格納部１０３に格納されている単語のうち未処理の単語を１つ特定する（ステップＳ５）。ステップＳ５において特定した単語をｗとする。
【００２３】
第１算出部１１１は、ステップＳ５において特定した単語ｗが単語列データ格納部１０３に格納された単語列データにおいて出現する回数を計数する（ステップＳ７）。ステップＳ７において計数される回数をｃｎｔ（ｗ）とする。図９（ａ）に、ステップＳ７において計数されるｃｎｔ（ｗ）の一例を示す。
【００２４】
第１算出部１１１は、単語列データ格納部１０３に格納された単語列データにおいて単語ｕの次に単語ｗが出現する回数を単語ｕごとに計数する（ステップＳ９）。ステップＳ９において計数される回数をｃｎｔ（ｕ，ｗ）とする。図９（ｂ）に、ステップＳ９において計数されるｃｎｔ（ｕ，ｗ）の一例を示す。
【００２５】
第１算出部１１１は、単語ｕの次に単語ｗが出現する確率を単語ｕごとに算出し、算出した確率を確率データ格納部１０５に格納する（ステップＳ１１）。ステップＳ１１においては、以下の式に従って単語ｕごとに確率が算出される。
【００２６】
【数１】
2017204018.tif 000003
【００２７】
図１０に、確率データ格納部１０５に格納されるデータの一例を示す。図１０の例では、単語ｕと単語ｗとの組合せごとに、Ｐ（ｗ｜ｕ）が格納される。
【００２８】
第１算出部１１１は、未処理の単語が有るか判定する（ステップＳ１３）。未処理の単語が有る場合（ステップＳ１３：Ｙｅｓルート）、ステップＳ５の処理に戻る。一方、未処理の単語が無い場合（ステップＳ１３：Ｎｏルート）、処理は終了する。
【００２９】
以上のような処理を実行すれば、事前に単語列の出現確率が算出されるので、検索に要する時間が長くなることを抑制できるようになる。
【００３０】
次に、図１１乃至図１３を用いて、第１算出部１１１が処理を実行した後に第２算出部１１２が実行する処理について説明する。
【００３１】
まず、第２算出部１１２は、単語列データ格納部１０３に格納されている単語列データから未処理の内容語（名詞、動詞、形容詞など）を１つ特定する（図１１：ステップＳ２１）。ステップＳ２１において特定された内容語を処理対象の内容語と呼ぶ。
【００３２】
第２算出部１１２は、Ｑ＆Ａデータ格納部１０４にＩＤが格納されているＱ＆Ａのうち未処理のＱ＆ＡのＩＤを１つ特定する（ステップＳ２３）。
【００３３】
第２算出部１１２は、ステップＳ２３において特定したＱ＆ＡのＩＤに対応する問合せ集合（すなわち、ステップＳ２３において特定したＱ＆Ａを正解とする問合せの集合）を問合せデータ格納部１０１から特定する（ステップＳ２５）。
【００３４】
第２算出部１１２は、ステップＳ２３において特定したＱ＆Ａを正解とする問合せに処理対象の内容語が出現する回数を計数する（ステップＳ２７）。
【００３５】
第２算出部１１２は、問合せデータ格納部１０１にＩＤが格納されている全問合せに処理対象の内容語が出現する回数を計数する（ステップＳ２９）。なお、ステップＳ２９の処理が既に実行されている場合にはステップＳ２９の処理を省略してもよいため、図１１においてステップＳ２９のブロックは破線で示されている。
【００３６】
第２算出部１１２は、ステップＳ２３において特定したＱ＆Ａを正解とする問合せ集合に処理対象の内容語が出現する確率を算出し、算出した確率を確率分布データ格納部１０６に格納する（ステップＳ３１）。
【００３７】
ステップＳ３１においては、以下の式に従って計算が行われる。
【００３８】
【数２】
2017204018.tif 000004
【００３９】
ここで、ｉはＱ＆ＡのＩＤを表す変数であり、ｗはステップＳ２１において特定した内容語である。ｃｎｔ（ｗ，Ｆi）は識別子がｉであるＱ＆Ａを正解とする問合せ集合に内容語ｗが出現する回数であり、Σkｃｎｔ（ｗ，Ｆk）は全問合せに内容語ｗが出現する回数を表す。
【００４０】
図１２に、確率分布データ格納部１０６に格納されるデータの一例を示す。図１２の例では、内容語ごとに、その内容語が各Ｑ＆Ａを正解とする問合せ集合に出現する確率が格納されている。
【００４１】
第２算出部１１２は、ステップＳ３１において算出した確率が０ではない場合に、処理対象の内容語を拡張キーワードの候補としてＱ＆ＡのＩＤに対応付けてキーワード格納部１０７に登録する（ステップＳ３３）。
【００４２】
図１３に、キーワード格納部１０７に格納されるデータの一例を示す。図１３の例では、Ｑ＆Ａの識別子と、そのＱ＆Ａを正解とする問合せ集合に出現する確率が０ではないキーワードとが格納される。
【００４３】
第２算出部１１２は、未処理のＱ＆Ａが有るか判定する（ステップＳ３５）。未処理のＱ＆Ａが有る場合（ステップＳ３５：Ｙｅｓルート）、ステップＳ２３の処理に戻る。
【００４４】
一方、未処理のＱ＆Ａが無い場合（ステップＳ３５：Ｎｏルート）、第２算出部１１２は、未処理の内容語が有るか判定する（ステップＳ３７）。
【００４５】
未処理の内容語が有る場合（ステップＳ３７：Ｙｅｓルート）、ステップＳ２１の処理に戻る。一方、未処理の内容語が無い場合（ステップＳ３７：Ｎｏルート）、処理は終了する。
【００４６】
以上のような処理を実行すれば、各内容語が各問合せ集合（ここでは、同一のＱ＆Ａを正解とする問合せ集合）に出現する確率が事前に算出されるので、検索に要する時間が長くなることを抑制できるようになる。
【００４７】
次に、図１４乃至図１６を用いて、検索処理部１１３が実行する処理について説明する。
【００４８】
まず、検索処理部１１３は、文字列の入力指示を検索処理装置１の操作者から受け付ける（図１４：ステップＳ４１）。ステップＳ４１における文字列は、例えば、特許請求の範囲における文字列に相当する。
【００４９】
検索処理部１１３は、入力された文字列を単語列に分割する（ステップＳ４３）。
【００５０】
検索処理部１１３における第１処理部１１３１は、入力された文字列から生成された単語列の次に出現する確率が最も高い単語を、拡張キーワードとして確率データ格納部１０５から抽出する（ステップＳ４５）。例えば「こどもが」という文字列が入力された場合、文字列は「こども／が」という単語列に分割されるので、「こども」の次に「が」が出現する確率と「が」の次に或る単語が出現する確率とに基づき、「こどもが」の次に或る単語が出現する確率を求めることができる。ここでは、図１５（ａ）に示すように、「風邪」という単語が抽出されたとする。ステップＳ４５において特定される単語は、例えば、特許請求の範囲における第１の単語に相当する。
【００５１】
なお、単語列のつながりのよさを計算する言語モデルが知られており、ステップＳ４５の処理における計算にもその技術を利用することができる。例えば図１６に示すように、「こどもがインフルエンザにかかった」という文が入力された場合、入力された文は「こども／が／インフルエンザ／に／かかっ／た」という単語列に分割することができる。ここで、「こどもがインフルエンザにかかった」という文が出現する確率は、Ｐ（が｜こども）＊Ｐ（インフルエンザ｜が）＊Ｐ（に｜インフルエンザ）＊Ｐ（かかっ｜に）＊Ｐ（た｜かかっ）によって算出される。このような言語モデルについては、非特許文献１にも記述がある。
【００５２】
検索処理部１１３における第２処理部１１３２は、入力された文字列との関連性を有し、且つ、既に抽出された拡張キーワードの意味とＱ＆Ａの観点で遠い意味を有する単語を、拡張キーワードとしてキーワード格納部１０７から抽出する（ステップＳ４７）。ステップＳ４７において特定される単語は、例えば、特許請求の範囲における第２の単語に相当する。
【００５３】
ステップＳ４７においては、以下の式によってキーワードが抽出される。
【００５４】
【数３】
2017204018.tif 000005
【００５５】
ここで、Ｑは入力された文字列から生成された単語列ｔ１，ｔ２，・・・である。Ｖは拡張キーワードの候補の集合である。ｗiはＶに含まれる拡張キーワードの候補である。Ｓは計算時点までに選択された拡張キーワードの集合である。ｑjはＳに含まれる拡張キーワードである。λはハイパーパラメータである。
【００５６】
第１項のｓｉｍ1（ｗi，Ｑ）は以下のように表される。
【００５７】
【数４】
2017204018.tif 000006
【００５８】
第１項は、単語列ｔ１，ｔ２，・・・とのつながりのよさ（すなわち、単語列ｔ１，ｔ２，・・・の次に出現する確率の高さ）を表す。
【００５９】
第２項のｓｉｍ2（ｗi，ｑj）は以下のように表される。
【００６０】
【数５】
2017204018.tif 000007
【００６１】
第２項は、既に選択された拡張キーワードとの、Ｑ＆Ａの観点での語義の近さを表す。出現確率の比ｐk（ｗi）／ｐk（ｑj）が大きいほど第２の項の値は小さくなる。例えば、或る問合せ集合にｗiが出現する確率が高く且つｑjが出現する確率が低い場合、第２項の値は小さくなる。また、或る問合せ集合にｗiが出現する確率が低く且つｑjが出現する確率が高い場合も、第２項の値は小さくなる。
【００６２】
例えば図１５（ｂ）の例に示すように、「こどもが」という文字列が入力され且つ「風邪」という拡張キーワードが既に選択された場合、「こどもが」の次に出現する確率が比較的高く且つ「風邪」とはＱ＆Ａの観点で意味が近くない「扶養」が選択される。
【００６３】
また、例えば図１５（ｃ）の例に示すように、「こどもが」という文字列が入力され、「風邪」という拡張キーワードが既に選択され、且つ「扶養」という拡張キーワードが既に選択された場合、「こどもが」の次に出現する確率が比較的高く且つ「風邪」とはＱ＆Ａの観点で意味が近くない「産まれる」が選択される。
【００６４】
検索処理部１１３は、ステップＳ４５及びＳ４７において抽出された拡張キーワードの数が所定値以上であるか判定する（ステップＳ４９）。ステップＳ４５及びＳ４７において抽出された拡張キーワードの数が所定値以上ではない場合（ステップＳ４９：Ｎｏルート）、ステップＳ４７の処理に戻る。
【００６５】
一方、ステップＳ４５及びＳ４７において抽出された拡張キーワードの数が所定値以上である場合（ステップＳ４９：Ｙｅｓルート）、検索処理部１１３における第３処理部１１３３は、入力された文字列と抽出された拡張キーワードとを用いて、Ｑ＆Ａデータ格納部１０４に対する検索を実行する（ステップＳ５１）。例えば、（入力文字列）ＡＮＤ（拡張キーワード ＯＲ 拡張キーワード ＯＲ ・・・ＯＲ 拡張キーワード）のような検索式によって検索が実行される。
【００６６】
検索処理部１１３は、検索によって抽出されたＱ＆Ａのデータを含む検索結果のデータを生成し、出力データ格納部１０８に格納する。そして、検索処理部１１３は、出力データ格納部１０８に格納された検索結果のデータを出力する（ステップＳ５３）。例えば、検索処理部１１３は、検索結果のデータを検索処理装置１の表示装置に表示させる。そして処理は終了する。
【００６７】
以上のような処理を実行すれば、多様な観点で特定された拡張キーワードに基づく検索が実行されるので、観点が偏った検索結果が抽出されることを回避できるようになる。
【００６８】
また、入力された文字列の次に出現する確率を使用するので、入力された文字列に関連を有する拡張キーワードを抽出できるようになり、正解のＱ＆Ａが抽出されやすくなる。
【００６９】
また、打鍵などの入力操作の負担を減らすことができるようになる。
【００７０】
［実施の形態２］
図１７に、第２の実施の形態におけるシステムの概要を示す。第２の実施の形態においては、インターネット等のネットワーク５に、検索処理装置１と、ユーザ端末３ａ及び３ｂとが接続される。図１７においてユーザ端末の数は２であるが、数に限定は無い。
【００７１】
ユーザ端末３ａ及び３ｂは、ユーザから文字列の入力指示を受け付け、入力された文字列を検索処理装置１に送信する。検索処理装置１は、受信した文字列に基づき検索を実行し、検索結果をユーザ端末３ａ及び３ｂに送信する。
【００７２】
このようにすれば、検索処理装置１を直接操作しないユーザが検索処理装置１によるＱ＆Ａデータの検索を利用することができるようになる。
【００７３】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した検索処理装置１の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００７４】
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００７５】
なお、上で述べた検索処理装置１は、コンピュータ装置であって、図１８に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００７６】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００７７】
本実施の形態に係る検索処理方法は、（Ａ）文字列（例えば実施の形態のステップＳ４１の文字列）の入力を受け付け、（Ｂ）問合せについてのデータを含む問合せデータ（例えば実施の形態における問合せデータ格納部１０１に格納されているデータ）から、第１の単語（例えば実施の形態のステップＳ４５において抽出される単語）を、問合せデータにおいて文字列の次に第１の単語が出現する確率に基づき特定し、（Ｃ）問合せデータから、同一の質問回答データを正解とする１又は複数の問合せをそれぞれ含む複数の問合せ集合を抽出し、（Ｄ）複数の問合せ集合のうち第１の単語が出現する問合せ集合とは異なる問合せ集合に出現する第２の単語（例えば実施の形態のステップＳ４７において抽出される単語）を、複数の問合せ集合の各々に第１の単語が出現する確率と第２の単語が出現する確率との比に基づき特定し、（Ｅ）文字列と第１の単語と第２の単語とに基づき、質問回答データを格納する第１データ格納部（例えば実施の形態におけるＱ＆Ａデータ格納部１０４）に対して検索を行う処理を含む。
【００７８】
入力された文字列からだけではユーザの真の意図をくみ取ることは難しい。しかし、上で述べたようにすれば、多様な観点で特定された単語に基づく検索が実行されるので、観点が偏った検索結果が抽出されることを回避し、正解の質問回答データを抽出することができるようになる。
【００７９】
また、本検索処理方法は、（Ｆ）複数の問合せ集合に含まれる単語の各々について、当該単語が複数の問合せ集合の各々に出現する確率を算出し、（Ｇ）複数の問合せ集合の各々について、当該問合せ集合に出現する確率が所定値以上である単語を特定し、第２データ格納部に格納する処理をさらに含んでもよい。そして、第２の単語を特定する処理において、（ｄ１）複数の問合せ集合の各々に第１の単語が出現する確率と第２の単語が出現する確率との比に基づき、第２データ格納部に格納されている単語から第２の単語を特定してもよい。
【００８０】
正解の質問回答データが同じである単語が選ばれることを抑制できるようになる。また、予め確率を計算しておけば、文字列の入力時に迅速に検索を行えるようになる。
【００８１】
また、本検索処理方法は、（Ｈ）問合せデータに出現し且つ２つの単語を含む単語列の各々について、当該単語列が出現する確率を算出し、算出した当該確率を第３データ格納部に格納してもよい。そして、第１の単語を特定する処理において、（ｂ１）第３データ格納部に格納された確率に基づき、第１の単語を特定してもよい。
【００８２】
予め確率を算出しておけば、文字列の入力時に迅速に検索を行えるようになる。
【００８３】
また、本検索処理方法は、（Ｉ）複数の問合せ集合のうち第１の単語が出現する問合せ集合及び第２の単語が出現する問合せ集合とは異なる問合せ集合に出現する第３の単語を、複数の問合せ集合の各々に第１の単語及び第２の単語が出現する確率と第３の単語が出現する確率との比に基づき特定する処理をさらに含んでもよい。そして、検索を行う処理において、（ｅ１）文字列と第１の単語と第２の単語と第３の単語とに基づき、第１データ格納部に対して検索を行ってもよい。
【００８４】
さらに異なる観点から得られた単語に基づく検索を行うことができるようになる。
【００８５】
また、第２の単語を特定する処理において、（ｄ２）第２の単語が文字列の次に出現する確率にさらに基づき、第２の単語を特定してもよい。
【００８６】
より適切な第２の単語を特定できるようになる。
【００８７】
また、本検索処理方法は、（Ｊ）第１データ格納部に対する検索の結果を出力する処理をさらに含んでもよい。
【００８８】
検索の結果を文字列を入力したユーザ等が確認できるようになる。
【００８９】
また、第１の単語は、文字列の次に出現する確率が最も高い単語であってもよい。
【００９０】
また、第２の単語は内容語であってもよい。
【００９１】
なお、上記方法による処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００９２】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９３】
（付記１）
コンピュータに、
文字列の入力を受け付け、
問合せについてのデータを含む問合せデータから、第１の単語を、前記問合せデータにおいて前記文字列の次に前記第１の単語が出現する確率に基づき特定し、
前記問合せデータから、同一の質問回答データを正解とする１又は複数の問合せをそれぞれ含む複数の問合せ集合を抽出し、
前記複数の問合せ集合のうち前記第１の単語が出現する問合せ集合とは異なる問合せ集合に出現する第２の単語を、前記複数の問合せ集合の各々に前記第１の単語が出現する確率と前記第２の単語が出現する確率との比に基づき特定し、
前記文字列と前記第１の単語と前記第２の単語とに基づき、質問回答データを格納する第１データ格納部に対して検索を行う、
処理を実行させる検索処理プログラム。
【００９４】
（付記２）
前記コンピュータに、
前記複数の問合せ集合に含まれる単語の各々について、当該単語が前記複数の問合せ集合の各々に出現する確率を算出し、
前記複数の問合せ集合の各々について、当該問合せ集合に出現する確率が所定値以上である単語を特定し、第２データ格納部に格納する
処理をさらに実行させ、
前記第２の単語を特定する処理において、
前記複数の問合せ集合の各々に前記第１の単語が出現する確率と前記第２の単語が出現する確率との比に基づき、前記第２データ格納部に格納されている単語から前記第２の単語を特定する、
付記１記載の検索処理プログラム。
【００９５】
（付記３）
前記コンピュータに、
前記問合せデータに出現し且つ２つの単語を含む単語列の各々について、当該単語列が出現する確率を算出し、算出した当該確率を第３データ格納部に格納する、
処理をさらに実行させ、
前記第１の単語を特定する処理において、
前記第３データ格納部に格納された前記確率に基づき、前記第１の単語を特定する、
付記１又は２記載の検索処理プログラム。
【００９６】
（付記４）
前記コンピュータに、
前記複数の問合せ集合のうち前記第１の単語が出現する問合せ集合及び前記第２の単語が出現する問合せ集合とは異なる問合せ集合に出現する第３の単語を、前記複数の問合せ集合の各々に前記第１の単語及び前記第２の単語が出現する確率と前記第３の単語が出現する確率との比に基づき特定する、
処理をさらに実行させ、
前記検索を行う処理において、
前記文字列と前記第１の単語と前記第２の単語と前記第３の単語とに基づき、前記第１データ格納部に対して検索を行う、
付記１記載の検索処理プログラム。
【００９７】
（付記５）
前記第２の単語を特定する処理において、
前記第２の単語が前記文字列の次に出現する確率にさらに基づき、前記第２の単語を特定する、
付記１乃至４のいずれか１つ記載の検索処理プログラム。
【００９８】
（付記６）
前記コンピュータに、
前記第１データ格納部に対する前記検索の結果を出力する、
処理をさらに実行させる付記１乃至５のいずれか１つ記載の検索処理プログラム。
【００９９】
（付記７）
前記第１の単語は、前記文字列の次に出現する確率が最も高い単語である、
付記１乃至６のいずれか１つ記載の検索処理プログラム。
【０１００】
（付記８）
前記第２の単語は内容語である、
付記１乃至７のいずれか１つ記載の検索処理プログラム。
【０１０１】
（付記９）
コンピュータが、
文字列の入力を受け付け、
問合せについてのデータを含む問合せデータから、第１の単語を、前記問合せデータにおいて前記文字列の次に前記第１の単語が出現する確率に基づき特定し、
前記問合せデータから、同一の質問回答データを正解とする１又は複数の問合せをそれぞれ含む複数の問合せ集合を抽出し、
前記複数の問合せ集合のうち前記第１の単語が出現する問合せ集合とは異なる問合せ集合に出現する第２の単語を、前記複数の問合せ集合の各々に前記第１の単語が出現する確率と前記第２の単語が出現する確率との比に基づき特定し、
前記文字列と前記第１の単語と前記第２の単語とに基づき、質問回答データを格納する第１データ格納部に対して検索を行う、
処理を実行する検索処理方法。
【０１０２】
（付記１０）
文字列の入力を受け付け、問合せについてのデータを含む問合せデータから、第１の単語を、前記問合せデータにおいて前記文字列の次に前記第１の単語が出現する確率に基づき特定する第１特定部と、
前記問合せデータから、同一の質問回答データを正解とする１又は複数の問合せをそれぞれ含む複数の問合せ集合を抽出し、前記複数の問合せ集合のうち前記第１の単語が出現する問合せ集合とは異なる問合せ集合に出現する第２の単語を、前記複数の問合せ集合の各々に前記第１の単語が出現する確率と前記第２の単語が出現する確率との比に基づき特定する第２特定部と、
前記文字列と前記第１の単語と前記第２の単語とに基づき、質問回答データを格納する第１データ格納部に対して検索を行う検索部と、
を有する情報処理装置。
【符号の説明】
【０１０３】
１  検索処理装置    １０１  問合せデータ格納部
１０２  文データ格納部    １０３  単語列データ格納部
１０４  Ｑ＆Ａデータ格納部    １０５  確率データ格納部
１０６  確率分布データ格納部    １０７  キーワード格納部
１０８  出力データ格納部    １１１  第１算出部
１１２  第２算出部    １１３  検索処理部
３ａ，３ｂ  ユーザ端末    ５  ネットワーク
１１３１  第１処理部    １１３２  第２処理部
１１３３  第３処理部
【図１】
2017204018.tif 000008
【図２Ａ】
2017204018.tif 000009
【図２Ｂ】
2017204018.tif 000010
【図３】
2017204018.tif 000011
【図４】
2017204018.tif 000012
【図５】
2017204018.tif 000013
【図６】
2017204018.tif 000014
【図７】
2017204018.tif 000015
【図８】
2017204018.tif 000016
【図９】
2017204018.tif 000017
【図１０】
2017204018.tif 000018
【図１１】
2017204018.tif 000019
【図１２】
2017204018.tif 000020
【図１３】
2017204018.tif 000021
【図１４】
2017204018.tif 000022
【図１５】
2017204018.tif 000023
【図１６】
2017204018.tif 000024
【図１７】
2017204018.tif 000025
【図１８】
2017204018.tif 000026