(57)【特許請求の範囲】
【請求項１】
利用者が提示した質問を有効な問い合わせに変換して外部検索エンジンに供給し、該外部検索エンジンが、予め蓄積された情報から前記有効な問い合わせに該当する情報を検索する情報検索方法において、
前記質問と前記外部検索エンジンが前記予め蓄積された情報から検索した前記質問に対する回答との対からなる予め作成した学習データに基づいて、前記質問を有効な問い合わせに変換するための、コンピュータが行う学習過程として、
前記学習データ中の質問群について、質問中に出現するフレーズの出現頻度を調べ、該出現頻度に基づいて質問フレーズを生成し、
前記質問フレーズ毎に、前記学習データ中の該質問フレーズに対応する質問の回答中に出現する品詞情報が付与された単語に基づいて複数の変換候補を生成し、
前記変換候補のそれぞれについて、当該変換候補の前記学習データ中の回答における出現頻度に応じた重みを付け、
前記変換候補のそれぞれを、前記重みに基づいて順位付けする過程を含む情報検索方法。
【請求項２】
前記学習過程は、前記重み付けに先だって、前記変換候補のうち、単語が名詞である変換候補を削除する過程をさらに含む、請求項１に記載の情報検索方法。
【請求項３】
前記学習過程は、
前記学習データ中に含まれる質問および回答の対について、該質問を構成する文字列のうちの前記質問フレーズを除く単語と、前記複数の変換候補のそれぞれとの組み合せからなる複数の検索条件を作成し、
前記検索条件のそれぞれについて、前記外部検索エンジンから検索結果として複数のドキュメントを取得し、
前記ドキュメントのそれぞれについて、当該ドキュメントを複数のサブドキュメントに分割し、
前記サブドキュメントのそれぞれと前記質問および回答の対における回答との類似性に基づいて前記変換候補の順位付けを更新する過程をさらに含む、請求項１または２に記載の情報検索方法。
【請求項４】
利用者が提示した質問を有効な問い合わせに変換して外部検索エンジンに供給し、該外部検索エンジンが、予め蓄積された情報から前記有効な問い合わせに該当する情報を検索する情報検索システムにおいて、
前記質問と前記外部検索エンジンが前記予め蓄積された情報から検索した前記質問に対する回答との対からなる予め作成した学習データ中の質問群について、質問中に出現するフレーズの出現頻度を調べ、該出現頻度に基づいて質問フレーズを生成する質問フレーズ生成手段と、
前記質問フレーズ生成手段が生成した質問フレーズ毎に、前記学習データ中の該質問フレーズに対応する質問の回答中に出現する品詞情報が付与された単語に基づいて複数の変換候補を生成するとともに、該変換候補のそれぞれについて、当該変換候補の前記学習データ中の回答における出現頻度に応じた重みを付け、前記変換候補のそれぞれを、前記重みに基づいて順位付けする変換候補生成手段とを有する情報検索システム。
【請求項５】
前記変換候補生成手段は、前記重み付けに先だって、前記変換候補のうち、単語が名詞である変換候補を削除する、請求項４に記載の情報検索システム。
【請求項６】
前記学習データ中に含まれる質問および回答の対について、該質問を構成する文字列のうちの前記質問フレーズを除く単語と、前記複数の変換候補のそれぞれとの組み合せからなる複数の検索条件を作成する変換評価手段をさらに有し、
前記変換評価手段が、前記検索条件のそれぞれについて、前記外部検索エンジンから検索結果として複数のドキュメントを取得するとともに、該ドキュメントのそれぞれについて、当該ドキュメントを複数のサブドキュメントに分割し、該サブドキュメントのそれぞれと前記質問および回答の対における回答との類似性に基づいて前記変換候補の順位付けを更新する、請求項４または５に記載の情報検索システム。
【請求項７】
利用者が提示した質問を有効な問い合わせに変換して外部検索エンジンに供給し、該外部検索エンジンが、予め蓄積された情報から前記有効な問い合わせに該当する情報を検索する情報検索システムにおいて用いられるプログラムであって、
前記質問と前記外部検索エンジンが前記予め蓄積された情報から検索した前記質問に対する回答との対からなる予め作成した学習データに基づいて、前記質問を有効な問い合わせに変換するための、コンピュータが行う学習過程として、
前記学習データ中の質問群について、質問中に出現するフレーズの出現頻度を調べ、該出現頻度に基づいて質問フレーズを生成し、
前記質問フレーズ毎に、前記学習データ中の該質問フレーズに対応する質問の回答中に出現する品詞情報が付与された単語に基づいて複数の変換候補を生成し、
前記変換候補のそれぞれについて、当該変換候補の前記学習データ中の回答における出現頻度に応じた重みを付け、
前記変換候補のそれぞれを、前記重みに基づいて順位付けする学習処理をコンピュータに実行させるプログラム。
【請求項８】
前記学習処理は、前記重み付けに先だって、前記変換候補のうち、単語が名詞である変換候補を削除する処理をさらに含む、請求項７に記載のプログラム。
【請求項９】
前記学習処理は、
前記学習データ中に含まれる質問および回答の対について、該質問を構成する文字列のうちの前記質問フレーズを除く単語と、前記複数の変換候補のそれぞれとの組み合せからなる複数の検索条件を作成し、
前記検索条件のそれぞれについて、前記外部検索エンジンから検索結果として複数のドキュメントを取得し、
前記ドキュメントのそれぞれについて、当該ドキュメントを複数のサブドキュメントに分割し、
前記サブドキュメントのそれぞれと前記質問および回答の対における回答との類似性に基づいて前記変換候補の順位付けを更新する処理をさらに含む、請求項７または８に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、利用者の質問に対する回答を大量に蓄えられたデータ（情報）から検索する方法およびシステムに関し、特に、検索処理に自然言語処理を利用する情報検索方法および情報検索システムに関する。さらには、本発明はそのような情報検索を実現するプログラムに関する。
【０００２】
【従来の技術】
インターネットの普及に伴い、利用者はインターネットを介して種々の情報（ニュース、論文、書物、特許など）を取得できるようになった。インターネット上に公開されている情報の取得には、通常、Ｗｅｂ上の検索エンジンが利用される。利用者は、所望の情報を得るために必要な質問を検索エンジンに提出し、検索エンジンが検索した複数の情報（複数のドキュメント）を閲覧することで、目的の情報を取得する。
【０００３】
最近では、検索処理に自然言語処理技術が導入され、毎日、かなりの数の自然言語質問（たとえば、「What is a hard disk」）がＷｅｂ上の検索エンジンに提出されるようになってきており、ますます多くのＷｅｂ上の検索サービスが自然言語質問を具体的に目標とするようになってきている。たとえば、あるサービスは、プレコンパイルされた情報、メタサーチング、および他の独占的な方法のデータベースを使用しているが、他のサービスはヒューマンエキスパートとの相互作用を容易にしている。
【０００４】
多くのＷｅｂ検索エンジンは、一般に、自然言語質問をターム（例えば、検索対象となる文書の内容を特徴付ける単語）の集まりとして取り扱い、このタームの集まりからなる本来の問い合わせと類似しているドキュメントを検索する。しかし、最良の回答のドキュメントは、本来の問い合わせからのわずかなタームしか含んでおらず、検索エンジンによって低い順位が付けられる。この問い合わせは、検索エンジンがそれを質問として認識することで、より正確に回答することができる。
【０００５】
多くの場合、自然言語質問（たとえば、「How do I tie shoelaces?」）を、そのままの形で検索エンジンに提出することは不十分である。ほとんどの検索エンジンは、上記の如く、そのような問い合わせをタームの集合として取り扱い、本来の問い合わせに類似している文献を検索する。しかしながら、最良の回答のドキュメントは、本来の問い合わせの中に存在する１つあるいは２つのタームしか含んでいない。そのため、そのような有用なドキュメントは、検索エンジンにより低い順位が付けられ、最初の結果のページしか見ない典型的なユーザーは、決してそれを調べることはない。
【０００６】
質問「What is a hard disk?」を例に、最良の回答を得るための問い合わせを以下に簡単に説明する。
【０００７】
この問い合わせに対する最良の回答のドキュメントは、汎用目的の検索エンジンにより返される可能性のあるディスク記憶装置製造業者の会社Ｗｅｂサイトではなく、むしろハードディスクの定義あるいは説明のあるハードウェアのチュートリアルあるいは用語解説ページである。したがって、「ハードディスク：データを蓄積するために使用され、対応する読み取り／書き込みヘッドおよび電子回路を有し、中央の軸の周りを回転する１つ以上の硬くて曲がらない磁気ディスク・・・」のような回答を含む応答が望ましい。このハードディスクの定義は、本来の質問を｛「hard disk」ＮＥＡＲ「used to」｝（ここで、「ＮＥＡＲ」は演算子であり、この場合は、「hard disk」と「used to」のフレーズを共に含むページの検索で、両フレーズが近い位置にある順に表示することを意味する。）という問い合わせ（検索条件）に変換することによって検索することができる。このように、「used to」というフレーズを要求することにより、大部分の検索エンジンは、上位に順位付けられたドキュメントの１つとしてこの回答を検索することができる。
【０００８】
多くのシステムは、ドキュメントから回答を取り出すことを目標としている。たとえば、あるシステムは、情報検索システムが返したドキュメントを処理して回答を取り出す。質問は、回答に対応する実体のタイプを識別する１組の既知の「質問タイプ」の１つに分類される。ドキュメントは実体を識別するためにタグを付けられ、与えられた質問の正しいタイプの実体を取り囲んでいる節が、１組の発見的方法を使用して順位付けられる。また、他のシステムは、最良の節を返すという目的で、標準の情報検索システムの結果を再順位付けし、後処理する。質問の回答のために統計的および言語的な知識を結合し、検索されたドキュメントを後処理するために高度な言語フィルタを使用し、質問に回答するために最も有望な節を取り出す、というシステムもある。
【０００９】
上述のシステムは、標準のＴＦ−ＩＤＦターム重み付けスキームの変形を用いて、本来の質問に類似しているドキュメントあるいは節を検索する一般的な方法を使用している。ここで、ＴＦ−ＩＤＦとは、検索語があるドキュメント中にどれだけ多く出現しているかという出現頻度を示すＴＦ値（Term Frequency）と、その検索語の出現するドキュメント数を示すＩＤＦ値（Inverse Document Frequency）の二つを使用して、検索語に対するテキストの重要度を計算する手法をいう。ヒューリスティック（発見的方法）や手作りの規則的な表現を使用して、最も有望な節が、返されたドキュメントから選択される。この方法は、質問に類似しているドキュメントが初めに検索されるので最適なものではない。しかし、利用者は、実際は回答を含んでいるドキュメントを探しており、このドキュメントには、本来の質問をするために使用されたわずかなタームしか含まれていない。これは、Ｗｅｂ検索エンジンでよくあるように、ドキュメントの検索が高価であるか、あるいは、一定数のドキュメントに限定されている場合に特に重要である。
【００１０】
また、上位に順位付けされたドキュメントにおけるタームの関連性に基づいて問い合わせを自動的に拡大する方法もある。その１つに、本来の問い合わせに対して上位に順位付けされたドキュメントにおける、タームを持つ問い合わせにおけるタームの同時出現に基づいて、問い合わせを自動的に拡大する方法がある。一般に、自動的な問い合わせ拡大システムは、元の問い合わせに応じて情報システムにより返された上位に順位付けされたドキュメントの初期の組を使用して、問い合わせ毎の原則で実行時間で問い合わせを拡大する。
【００１１】
【発明が解決しようとする課題】
しかしながら、上述のように質問「What is a hard disk?」を｛「hard disk」ＮＥＡＲ「used to」｝というような最適な問い合わせに変換することを自動的に学習して情報検索に適用する技術は、これまでに確立されていない。
【００１２】
また、各検索エンジンでは、主となる検索対象の情報（蓄積された情報）が異なるため、同じ問い合わせであっても異なる情報（ドキュメント）を返す場合がある。このため、質問を問い合わせへ変換する場合に、変換された問い合わせが目標となる検索エンジンに対して最適なものとなるようにする必要がある。しかし、そのような問い合わせの最適化についても、確立した技術はこれまでに提供されていない。
【００１３】
さらに、上記のように、各検索エンジンは同じ問い合わせであっても異なる情報（ドキュメント）を返す場合があるので、各検索エンジンが返す情報（ドキュメント）をそのまま利用者に提供すると、最良の回答を上位に順位付けした形で利用者に提供することができなくなる。このため、各検索エンジンが返す情報（ドキュメント）を、何等かの形で、最良の回答が上位に順位付されるようにする必要もあった。
【００１４】
本発明の第１の目的は、利用者が提示した質問の最適な問い合わせへの変換を自動的に学習することのできる情報検索方法およびシステム、さらにはそのようなシステムを実現するプログラムを提供することにある。
【００１５】
本発明の第２の目的は、利用者が提示した質問の最適な問い合わせへの変換を、各検索エンジン毎に最適化することのできる、情報検索方法およびシステム、さらにはそのようなシステムを実現するプログラムを提供することにある。
【００１６】
本発明の第３の目的は、各検索エンジンから返された情報（ドキュメント）を、最良の回答が上位に順位付された形で利用者に提供することのできる、情報検索方法およびシステム、さらにはそのようなシステムを実現するプログラムを提供することにある。
【００１７】
【課題を解決するための手段】
本発明の情報検索方法は、利用者が提示した質問を有効な問い合わせに変換して外部検索エンジンに供給し、該外部検索エンジンが、予め蓄積された情報から前記有効な問い合わせに該当する情報を検索する情報検索方法において、
前記質問と前記外部検索エンジンが前記予め蓄積された情報から検索した前記質問に対する回答との対からなる予め作成した学習データに基づいて、前記質問を有効な問い合わせに変換するための、コンピュータが行う学習過程として、
前記学習データ中の質問群について、質問中に出現するフレーズの出現頻度を調べ、該出現頻度に基づいて質問フレーズを生成し、
前記質問フレーズ毎に、前記学習データ中の該質問フレーズに対応する質問の回答中に出現する品詞情報が付与された単語に基づいて複数の変換候補を生成し、
前記変換候補のそれぞれについて、当該変換候補の前記学習データ中の回答における出現頻度に応じた重みを付け、
前記変換候補のそれぞれを、前記重みに基づいて順位付けする過程を含むことを特徴とする。
【００１８】
上記の情報検索方法によれば、利用者が提示した質問およびそれに対する回答から学習データが形成される。この学習データ中の質問について、質問フレーズが生成される。さらに、生成された質問フレーズについて、学習データ中の回答から複数の変換候補が生成される。そして、各変換候補に対して、学習データ中の回答における出現頻度の度合に応じた重みが付けられ、該重みに基づいて順位付けがなされる。
【００１９】
上記の質問−質問フレーズ−変換候補−順位付けの一連の処理により得られた変換規則にしたがって、利用者が提出する質問が最適な問い合わせに変換される。最適な問い合わせには、順位付けがなされた変換候補のうちの上位の変換候補が使用される。この変換規則は、利用者が質問を提出する度にその内容が更新される。このようにして、利用者が提示した質問の最適な問い合わせへの変換が自動的に学習される。
【００２０】
上記の本発明の情報検索方法において、
前記学習データ中に含まれる質問および回答の対について、該質問を構成する文字列のうちの前記質問フレーズを除く単語と、前記複数の変換候補のそれぞれとの組み合せからなる複数の検索条件を作成し、
前記検索条件のそれぞれについて、前記外部検索エンジンから検索結果として複数のドキュメントを取得し、
前記ドキュメントのそれぞれについて、当該ドキュメントを複数のサブドキュメントに分割し、
前記サブドキュメントのそれぞれと前記質問および回答の対における回答との類似性に基づいて前記変換候補の順位付けを更新する過程をさらに含んでいてもよい。
【００２１】
上記の情報検索方法によれば、検索エンジンによる実際の検索結果に基づいて変換候補の評価が行われる。そして、この評価結果に基づいて最終変換候補が得られる。この最終変換候補を用いて問い合わせを生成すれば、生成された問い合わせは、検索エンジンに最適なものとなる。
【００２４】
本発明の情報検索システムは、利用者が提示した質問を有効な問い合わせに変換して外部検索エンジンに供給し、該外部検索エンジンが、予め蓄積された情報から前記有効な問い合わせに該当する情報を検索する情報検索システムにおいて、
前記質問と前記外部検索エンジンが前記予め蓄積された情報から検索した前記質問に対する回答との対からなる予め作成した学習データ中の質問群について、質問中に出現するフレーズの出現頻度を調べ、該出現頻度に基づいて質問フレーズを生成する質問フレーズ生成手段と、
前記質問フレーズ生成手段が生成した質問フレーズ毎に、前記学習データ中の該質問フレーズに対応する質問の回答中に出現する品詞情報が付与された単語に基づいて複数の変換候補を生成するとともに、該変換候補のそれぞれについて、当該変換候補の前記学習データ中の回答における出現頻度に応じた重みを付け、前記変換候補のそれぞれを、前記重みに基づいて順位付けする変換候補生成手段とを有することを特徴とする。
【００２５】
上記の情報検索システムにおいても、上述した情報検索方法と同様の作用を奏する。
【００２６】
上記の情報検索システムにおいて、
前記学習データ中に含まれる質問および回答の対について、該質問を構成する文字列のうちの前記質問フレーズを除く単語と、前記複数の変換候補のそれぞれとの組み合せからなる複数の検索条件を作成する変換評価手段をさらに有し、
前記変換評価手段が、前記検索条件のそれぞれについて、前記外部検索エンジンから検索結果として複数のドキュメントを取得するとともに、該ドキュメントのそれぞれについて、当該ドキュメントを複数のサブドキュメントに分割し、該サブドキュメントのそれぞれと前記質問および回答の対における回答との類似性に基づいて前記変換候補の順位付けを更新するように構成してもよい。
【００２７】
上記の情報検索システムにおいても、上述した情報検索方法と同様の作用を奏する。
【００３０】
本発明のプログラムは、利用者が提示した質問を有効な問い合わせに変換して外部検索エンジンに供給し、該外部検索エンジンが、予め蓄積された情報から前記有効な問い合わせに該当する情報を検索する情報検索システムにおいて用いられるプログラムであって、
前記質問と前記外部検索エンジンが前記予め蓄積された情報から検索した前記質問に対する回答との対からなる予め作成した学習データに基づいて、前記質問を有効な問い合わせに変換するための、コンピュータが行う学習過程として、
前記学習データ中の質問群について、質問中に出現するフレーズの出現頻度を調べ、該出現頻度に基づいて質問フレーズを生成し、
前記質問フレーズ毎に、前記学習データ中の該質問フレーズに対応する質問の回答中に出現する品詞情報が付与された単語に基づいて複数の変換候補を生成し、
前記変換候補のそれぞれについて、当該変換候補の前記学習データ中の回答における出現頻度に応じた重みを付け、
前記変換候補のそれぞれを、前記重みに基づいて順位付けする学習処理をコンピュータに実行させることを特徴とする。
【００３１】
上記のプログラムにおいても、上述した情報検索方法と同様の作用を奏する。
【００３４】
上記のプログラムにおいて、
前記学習データ中に含まれる質問および回答の対について、該質問を構成する文字列のうちの前記質問フレーズを除く単語と、前記複数の変換候補のそれぞれとの組み合せからなる複数の検索条件を作成し、
前記検索条件のそれぞれについて、前記外部検索エンジンから検索結果として複数のドキュメントを取得し、
前記ドキュメントのそれぞれについて、当該ドキュメントを複数のサブドキュメントに分割し、
前記サブドキュメントのそれぞれと前記質問および回答の対における回答との類似性に基づいて前記変換候補の順位付けを更新する処理をさらに含んでいてもよい。
【００３５】
上記のプログラムにおいても、上述した情報検索方法と同様の作用を奏する。
【００３６】
【発明の実施の形態】
次に、本発明の実施形態について図面を参照して説明する。
【００３７】
本発明の情報検索方法は、利用者から与えられた質問（question）、具体的には自然言語質問を定式化し直すことを学習することから始まり、この変換を適用することにより実行時間で問い合わせ（query）を評価することを特徴とするもので、具体的には、以下に説明するような、質問を有効な問い合わせに変換する学習工程と、実行時間で問い合わせ評価する工程とを含む。
【００３８】
（１）質問を有効な問い合わせに変換する学習
この学習では、自然言語質問を、その質問に対する回答（answer）を含むドキュメントに出現すると予想されるタームあるいはフレーズを含む有効な問い合わせに変換する。
【００３９】
（１．１）質問フレーズの選択
学習過程１の第１段階１０において、各カテゴリーにおける質問が類似の目標を有する、異なるカテゴリーの質問を識別する１組のフレーズを生成する。たとえば、質問「What is a hard disk?」は、ハードディスクの定義あるいは解説を利用者が探していることを意味する。この質問の目標は、ハードディスクの定義あるいは解説に関するドキュメントを取得することにあり、それは質問フレーズ「What is a」から推測できる。
【００４０】
この段階の入力は、学習データを構成するのに必要な質問群である。これらの質問と、それらに対応する回答（各検索エンジンからの回答）によって学習データが構成され、この学習データを用いて可能性のある質問フレーズ、すなわち利用者が入力した質問に対して良好な回答を得られるような質問フレーズが生成される。具体的には、可能性のある質問フレーズは、学習データの質問群について、長さが「最小Ｑトークン（minQtokens）」から「最大Ｑトークン（maxQtokens）」の単語（word）のすべてのｎ−グラム（フレーズ）の頻度を計算することにより生成され、すべてのｎ−グラムは質問の始めに置かれる。ここで、ｎ−グラムとは、データ中に隣接して表れるｎ個の文字あるいは単語の組の出現頻度の統計をいう。本実施例では、少なくとも「最小Ｑフレーズカウント（minQphraseCount）」回を生じるすべてのｎ−グラムを使用する。
【００４１】
この段階の出力は、質問をそれぞれの質問型（question type）に速く分類するために使用可能なひと組の質問フレーズである。後に説明する学習コレクション内の質問から自動的に生成される質問フレーズの一例を図２に示す。図２の例には、質問フレーズとして「what is」、「what are」、「where is」などが示されている。
【００４２】
この質問フレーズ選択方法は、あまりに具体的すぎて広く適用することができない多くのフレーズを発生することができる。本実施例において、学習は図３に示す規則的な表現に一致するフレーズに限定される。例えば、「what (is ／ are ／ were ／ does ／ do ／ did ／ should ／ can) ＼ ｓ」のような規則的な表現によりフレーズが限定される。この規則的な表現は、ごく一般に使用されている質問に一致しており、本発明が最も有用なフレーズに資源（リソース）を集中することを可能にする。特徴選択技術、品詞タグ付け、および他の自然言語処理技術が、生成された質問フレーズのフィルタリングを微調整するために使用できる。
【００４３】
質問のカテゴリーを識別するために別の方法を使用できるが、本ｎ−グラム法は、多数の利点を有する。例えば、本ｎ−グラム法は、計算的に比較的に低価格で実行でき、多数のトレーニングの組の処理を可能にする。また、本ｎ−グラム法は、分野に依存せず、軽微な修正のみで多くの言語に対して機能を発揮する。さらに、本ｎ−グラム法は、後述するような実行時間で質問を評価する場合、フレーズ・マッチングを使用する質問の分類は、問い合わせの総合的処理時間において無視できるオーバーヘッドで組み込むことが可能である。
【００４４】
（１．２）変換候補の生成およびフィルタリング
学習アルゴリズムの第２段階２０（図１参照）において、質問を再定式化するために有用な候補タームおよび候補フレーズを生成する。本実施例においては、次の段階（検索エンジンの有効性のために、変換候補を評価する。図１の段階（３）。）の計算に関する必要条件を削減するために、フィルタリング処理が施される。変換候補は、先の学習段階１０からの各質問フレーズに対して生成される。各質問フレーズＱＰ毎に変換候補を生成するための手順は、複数の段階、すなわち、初期の変換候補フレーズを生成することと、最小同時出現度数（minimum co-occurrence count）によりこれらのフレーズをフィルタリングすることと、および残りのフレーズに重み付けを行い更にフィルタリングすることとから成る。各段階を、以下に詳細に説明する。
【００４５】
学習過程のこの段階では、上記学習データにおける＜質問、回答＞対のコレクションを使用する。このようなコレクションの一例を図４に示す。図４の例では、質問フレーズ「what is a」に対して、「the term」、「component」、「ans」、「a computer」、「telephone」、「collection of」、「stands for」、「unit」という複数の変換候補が設定されている。これらの変換候補は、学習データにおける回答から生成される。本学習過程の段階では、テキスト内の各単語に対して句構造品詞（たとえば、名詞、動詞）を割り当てる品詞タガー（part-of-speech tagger）でタグ付けされたコレクションに対して行う。ブリルの品詞タガーは自然言語処理コミュニティで広く使用されており、容易に利用できるので、ブリルの品詞タガーを使用することが望ましい。
【００４６】
質問の接頭辞がＱＰに一致する学習コレクション（学習データ）中の各＜質問、回答＞対（通常、学習コレクション中には、１つの質問フレーズに関して複数の＜質問、回答＞対が存在する。）に対して、それら回答における単語のすべてから、考えられる可能性のある回答フレーズ（変換候補）を生成する。具体的には、長さが最小Ａトークンから最大Ａトークンまでの単語のｎ−グラムが使用され、回答テキストの最初の最大長（maxLen）バイトにおけるすべての単語境界で行われる。図４に示した例は、この段階の後に生成された回答フレーズ３５の一例である。これらのフレーズ３５は、電子回路あるいはコンピュータの分野にひどく偏っているが、これは、例示した学習コレクションのドキュメントの大部分が術語に関連するトピックスであったためである。これらのフレーズがそのまま変換に使用された場合、問い合わせの意図するトピックを変えるという問題が発生することが予想される。本発明が学習しようとする変換は、検索されたドキュメントの組の正確度を改善し、さらに本来の問い合わせのトピックを維持するものである。したがって、一般的な質問（たとえば、「What is a rainbow?」）に対して、直感的に、良い変換ではないはずの「telephone」のようなフレーズは取り除かれる。
【００４７】
上記の問題は、名詞を含んでいる初期の変換候補フレーズを取り除くことにより解決される。問い合わせの大部分において、名詞は内容語、すなわち問い合わせのトピックを表す単語である。たとえば、問い合わせ「what is a rainbow」において、単語「rainbow」は名詞であり、内容語である。同様に、単語「telephone」は名詞である。したがって、最初の変換候補フレーズは、生成された回答フレーズが名詞を含むかどうかを調べることによってフィルタリングされ、名詞を含む場合にはそのフレーズは廃棄される。このフィルタリングを実現するために本発明では品詞情報を使用する。はじめに説明したように、品詞情報はコレクション全体に対して１回計算される。
【００４８】
結果として生ずるｎ−グラムのうち、最も高い出現頻度の上位Ｋフレーズ（topKphrases）が保持される。タームの重み付けの情報検索技術が、これらの変換候補を順位付けるために適用される。初めのタームの重み（term weight）は、望ましくは、「少ない関連情報の関連ウエイトについて」（ロバートソンおよびウォーカー、ＳＩＧＩＲ  ９７、１９９７）に記載されているターム重み付け方式を適用することにより、各変換候補フレーズｔiに割り当てられる。
【００４９】
これらのタームの重みは、ＯｋａｐｉＢＭ２５ドキュメント順位付け方式（document ranking formula）で使用されている（「ＴＲＥＣ７におけるＯｋａｐｉ」ロバートソン他、TREC-7 Proceedings、１９９８）。多くの情報検索システムは、ドキュメントの間の類似性を計算するために、ベクトル空間モデルを使用する。このモデルでは、類似性は、各ドキュメントを表すベクトルの間の点の乗積として計算される。各ベクトルの要素は、ドキュメントの各ターム毎に、タームの重みおよびタームの出現頻度の組み合わせとして計算される。ＢＭ２５メトリックは類似の考えを使用する。ＢＭ２５の本来の定義では、ドキュメントの各タームｔiは、特定の問い合わせトピックに関して、ロバートソン／スパークジョーンズのターム重みｗi(1)（「検索タームの関連重み付け」、ロバートソンおよびジョーンズ、 Journal of the American Society for Information Science、２７：１２９−１４６Ｆ、１９７６）が割り当てられ、次式として計算される。
【００５０】
【数３】
0003719415.tif 000002
【００５１】
ここで、ｒはｔiを含む関連ドキュメントの数であり、Ｎはコレクションのドキュメントの数であり、Ｒは関連ドキュメントの数であり、ｎはｔiを含むドキュメントの数である。この重みは、多くの関連ドキュメントとわずかな非関連ドキュメントにおいて出現する傾向があるタームに対して高くなるように設計され、学習データの関連情報の潜在的な疎（sparseness）の原因となるため平滑化され正規化される。
【００５２】
ＢＭ２５の本来の定義では、タームの重みｗi(1)は、各問い合わせトピックに特有である。本発明は、２つの修正を組み込むことにより、変換候補を重み付けするタスクにこのメトリックを適用する。第１に、問い合わせトピックは質問型として解釈される。この解釈では、関連ドキュメントは、質問フレーズ（質問型）に対応する学習コレクションにおける回答の１つである。したがって、タームの重みｗi(1)は、特有の質問型に関する変換候補ｔｒiの選択性の推定値である。第２に、ターム重み付けがフレーズに拡張される。同じ整合性のある重み付け方式がフレーズに適用され、それらは単一の単語タームとして同じ方法で扱われる。この重みは、変換候補ｔｒiが関連ドキュメントの数としてＱＰに一致する質問の回答において出現する＜質問、回答＞対の度数を計算し、変換候補ｔｒiが非関連として回答において出現する残りの＜質問、回答＞対の数を考慮し、また、数式１を適用することによって、各変換候補ｔｒi毎に計算される。
【００５３】
次に、ターム選択重み（term selection weight）ｗｔｒiが、自動問い合わせ拡張のためにタームを選択するコンテキストにおいて、「問い合わせ拡大のためのターム選択について」（ロバートソン、Journal of Documentation、ｖｏｌ．４６、ｐ．３５９−６４、１９９０）に記載されているように、各変換候補ｔｒi毎に、次式として計算される。
【００５４】
【数４】
ｗｔｒi＝ｑｔｆi・ｗi(1)       （２）
ここで、ｑｔｆiはＱＰとｔｒiとの同時出現頻度であり、ｗi(1)はＱＰに関して計算されたｔｒiの関連性にもとづくタームの重みである。このターム順位付け法は、雑音を取り除く目的で、同時出現の統計と関連重みの両方を利用している。ｗi(1)は高い識別力を持つタームおよびフレーズに高い重みを割り当てるが、ｑｔｆiは質問型と関連する回答においてフレーズが何度出現するかの程度である。この段階の出力の一例を図５に示す。図５において、たとえば、フレーズ「named after」５１は質問フレーズ「what is a」５２に対する良い識別器であるが、最終的に高く順位付けされるフレーズほど頻繁には出現しない。識別と出現頻度の間、あるいは期待精度と再現度の間のこのトレードオフは、特定の優先度に応じて変更してもよい。
【００５５】
最後に、変換候補は、変換フレーズにおける単語の数にしたがってバケットに分類され、最大バケット（maxBucket）変換まで、ｗｔｒiの最高値がバケットから保存される。一般に、長いフレーズは検索エンジンによって異なるように処理されることが望まれ、本段階は、変換候補の組におけるこのような長く、もしかすると高い精度の変換を含むように実行されるが、本来、高出現頻度の短い変換は他の方法で選択することができる。図６に、フレーズ６３の一例を、各変換候補バケットからの最も高い選択重み６５と共に示す。図６の例では、変換長（Transform Length）「３」〜「１」について、それぞれ変換候補ｔｒiおよびｗｔｒiが示されている。変換長「３」には、変換候補として「is used to」、「according to the」、「to use a」があり、それぞれのターム選択重みは「32.89」、「23.49」、「21.43」である。変換長「２」には、変換候補として「is a」、「of a」、「refers to」があり、それぞれのターム選択重みは「298.89」、「94.34」、「81.3」である。変換長「１」には、変換候補として「usually」、「used」、「refers」があり、それぞれのターム選択重みは「128.23」、「110.39」、「80.1」である。
【００５６】
（１．３）検索エンジンを使用する重み付けおよび再順位付け変換
学習の第３段階および最終段階において、各変換候補ｔｒiの性能（performance）は、異なる情報検索システム上で評価される。図７に、単一の質問フレーズおよび検索エンジンに対して１組の変換候補を順位付けるための望ましいアルゴリズムを示す。この処理は、関心のあるすべての質問フレーズおよび検索エンジンについて繰り返される。
【００５７】
アルゴリズムの段階（１）７１において、学習例として使用される１組の＜質問、回答＞対を検索する。これは、回答の長さの増加の順位でコレクション内のすべての＜質問、回答＞対を分類し、ＱＰから始まる質問を含む最初の＜質問、回答＞対の「numExamples」までを使用することによって行われる。本実施例は短い回答を有する質問に対してより正確な評価を得られることを仮定としているので、この分類段階が行われる。
【００５８】
＜質問、回答＞対の各例および前段階の処理で生成された変換候補の組に対して、各変換候補ｔｒiが１度に１つずつ質問に適用される（図７の７２）。質問「Question = [QP C]」を考える。ここで、ＱＰは質問フレーズであり、Ｃは質問における残りのタームである。候補変換ｔｒiを使用すると、ＱＰは除去され、質問は「Query = (C AND tri)」と書き換えられる。たとえば、質問フレーズ「what is a」に対して変換候補「refers to」を考えることができ、＜質問、回答＞対として＜”what is a lisp machine (lispm)”，”A Lisp Machine (lispm) is a computer optimized for running Lisp programs, ...”＞を考えることができる。この変換を質問に適用すると、書き換えられた問い合わせとして「Query = "[(lisp machine lispm) AND ("refers to")]"」が得られる。適切な問い合わせ構文が、各検索エンジンに対して使用される。さらに、変換は、それが各検索エンジンによってフレーズとして処理されるように符号化される。
【００５９】
問い合わせインタフェイスの構文は、各検索エンジンに対して変化する。たとえば、ＡｌｔａＶｉｓｔａでは、ＡＮＤ演算子の代わりにＮＥＡＲ演算子を使用することができる。ＡｌｔａＶｉｓｔａに提出される実際の問い合わせは、「[(lisp machine lispm) NEAR ("refers to")]」となる。Ｇｏｏｇｌｅは、明示的なＯＲ演算子のない状態における、暗示的なＡＮＤ意味を持つ問い合わせにおいて提示されたすべてのタームを取り扱う。Ｇｏｏｇｌｅは、ドキュメントの順位付けに問い合わせタームの近接を組み入れており、ストップワード・リストに出現するいくつかの単語を廃棄する。
【００６０】
他の実施例としては、質問を書き換えるための他の可能性、たとえば、整合ページの中の問い合わせの一部を要求する、あるいは必要としないこと、および、複数の変換を単一の問い合わせに結合すること、を組み込むものもある。
【００６１】
図７の段階（３）７３において、書き換えられた問い合わせ「Query」は、検索エンジンＳＥに提出される。ＳＥにより返された上位の結果の多くても１０が検索される。返されたドキュメントＤのそれぞれは、段階（４ａ）７４ａ、（４ｂ）７４ｂ、および（４ｃ）７４ｃで解析される。段階（４ａ）７４ａでは、Ｄのサブドキュメントが生成される。段階（４ｂ）７４ｂでは、回答に最も類似しているＤの中のサブドキュメントが見出される。段階（４ｃ）７４ｃでは、変換候補ｔｒiのスコアと度数が、回答に関するＤの類似性にもとづいて更新される。以下に段階（４ａ）〜（４ｃ）における処理をさらに詳細に説明する。
【００６２】
段階（４ａ）７４ａにおいて、サブドキュメントが、より正確な類似性の度合を計算するためにドキュメントから生成される。本来の回答Ａと、変換された問い合わせを使用して検索されたドキュメントの１つであるドキュメントＤを考える。回答が局所化される、すなわち、キー情報／フレーズの組は互いにごく接近して出現する（ただし、長さが「subDocLen」のサブドキュメントの範囲内）と仮定する。回答がサブドキュメントの1つの中に完全に存在しない可能性を最小にするために、サブドキュメントは、「subDocLen/2」ワードだけオーバーラップする。換言すれば、与えられた問い合わせＱ、ドキュメントＤ、および「subDocLen = N」が与えられた場合、Ｄは、それぞれ連続した位置０、Ｎ／２、Ｎ、３Ｎ／２、．．．ｎ／２、ｎ、３Ｎ／２から始まるオーバーラップしているサブドキュメントＤ１、Ｄ２、Ｄ３、Ｄ４、．．．に分割される。
【００６３】
段階（４ｂ）において、ドキュメントＤのスコアは回答について計算される。「docScore(Answer, D)」は、Ｄの中のサブドキュメントＤiのそれぞれの類似性の最高値として定義される。より正式には、「docScore(Answer, D) = Max(BM25phrase (Answer, Di))」である。ここで、ＢＭ２５phraseは、数式１のように計算されたフレーズ重みを組み込むために修正されたＢＭ２５メトリックの拡張である。
【００６４】
本来のＢＭ２５メトリックは、前述のように関連重みｗi(1)およびトピック頻度を使用し、次式により定義される。
【００６５】
【数５】
0003719415.tif 000003
【００６６】
ここで、ｋ1＝１．２、ｋ3＝１０００、Ｋ＝ｋ1（（１−ｂ）＋ｂ・ｄｌ／ａｖｄｌ）、ｂ＝０．５であり、ｄｌはトークン内のドキュメント長であり、ａｖｄｌはトークン内の平均ドキュメント長であり、また、ｗi(1)およびｑｔｆiは前述のように関連重みおよび問い合わせトピック頻度である。ＴＲＥＣ評価（ｋ２＝０）で使用されていたメトリックの単純化されたバージョンが、この例では使用された。
【００６７】
ＢＭ２５phraseメトリックにおいて、加算（数式３）における「ターム」はフレーズを含み、前述の説明のように学習データ全体に対して学習された重みを有する。タームあるいはフレーズｔの重みは、次式のように計算される。
【００６８】
【数６】
0003719415.tif 000004
【００６９】
偶然に出くわしたタームが学習コレクションに存在しないかもしれないので、この多段階の割り当て処理が使用される。非常に多くのサンプル（TREC Web Track 「ウェブ検索評価の結果と難問」（ホーキング他、第８回国際ワールド・ワイド・ウェブ会議（ＷＷＷ８）、１９９９）で使用されたページのコレクションから得られた百万ウェブ・ページ）から導出されたＩＤＦ（Inverse Document Frequency（逆ドキュメント頻度）の略。これは、希なタームに対して高く、ありふれたタームに対して低い。）重みが使用された。最後のフォールバック問題は、学習データに存在しないフレーズを処理するためのものである。直感的に、フォールバックの場合は、複数の単語フレーズ（multi-word phrases）の重み出現（weight occurrence）を高くなるように調整した、ｔ内のすべてのタームが同時に出現する確率に逆比例するフレーズｔの重みを割り当てる。
【００７０】
変換候補を順位付けする総合的な目標は、多くの関連ドキュメント（本来の回答に類似する）とわずかな非関連ドキュメントを返す傾向がある変換に高い重みを付けることである。段階（５）７５において、変換ｔｒiの重みＷＴiは、本来の学習回答と変換された問い合わせに応じて返されたドキュメントの間の平均類似性として計算される。
【００７１】
【数７】
0003719415.tif 000005
【００７２】
ここで、合計は、サンプルの組の中のすべての＜質問、回答＞対にわたって計算される。
【００７３】
学習のこの最終段階の結果は、ＱＰに一致する質問に対する検索エンジンＳＥからの回答を検索する有効性に関して自動的に順位付けされた１組の変換である。「QP = "what is a"」に関して高く順位付けされた変換の２つのサンプルで、ＡｌｔａＶｉｓｔａ検索エンジン８２について最適化された第１の実例と、Ｇｏｏｇｌｅ検索エンジン８３について最適された第２の実例を図８に示す。
【００７４】
（２）実行時間問い合わせの再定式化
ひとたび最良の変換の組が質問フレーズ毎に自動的に学習されると、それらは変換規則として蓄積される。次に、本発明は、その変換を適用することにより、実行時間で問い合わせを評価する。これに関する望ましい処理を図９に示す。
【００７５】
段階（ｌａ）９１ａにおいて、長い（より明確な）フレーズを優先し、既知の質問フレーズとマッチングすることにより質問を再定式化できるかを決定する。例えば、「what is the」は、「what is」より優先される。段階（１ｂ）９１ｂにおいて、対応する変換の組が検索される。上位の「numTransforms」変換のみが、使用される。
【００７６】
段階（２）９２において、各変換が元の質問を書き換えるために使用され、１度に１変換ずつ、新しい問い合わせが生じる。
【００７７】
段階（３）９３において、変換された問い合わせは検索エンジンに提出され、最初の結果のページが検索される。
【００７８】
段階（４ａ）９４ａ、（４ｂ）９４ｂ、および（４ｃ）９４ｃにおいて、返されたドキュメントが解析され、変換された問い合わせに関するドキュメントの類似性にもとづいてスコアが付けられる。ドキュメントにスコアを付ける過程は、セクション（１．３）で説明したものと同じである。段階（４ｃ）９４ｃにおいて、もしドキュメントが多くの変換の適用により検索された場合は、ドキュメントの最終スコアは、個々のドキュメントのスコアのそれぞれの最大値である。
【００７９】
段階（５）９５において、返されたドキュメントは、それらの最終ドキュメントスコアに関して順位付けられ、段階（６）９６において、上位に順位付けられた「topKdocs」ドキュメントが最終結果として返される。
【００８０】
他の実施形態として、ドキュメントから最良の１節を抽出するために既存の方法を利用すること、複数の変換が単一の問い合わせに結合できること、与えられた質問型に対して最も良く能力を発揮する検索エンジンに質問を送ることができること、複数の検索エンジンが同時に使用できること、質問からの内容語を含むフレーズ変換が学習できることなどを適用してもよい。
【００８１】
変換過程は、動的にすることも可能である。たとえば、高い精度を期待できる変換を最初に提出することができる。受け取った応答にもとづいて、システムが、精度の低い変換を試みる、あるいは元の問い合わせにフォールバックすることが可能である。
【００８２】
（情報検索システム）
次に、以上説明した本発明の情報検索方法が適用される情報検索システムの構成について説明する。
【００８３】
図１０は、本発明の一実施形態である情報検索システムの概略構成を示すブロック図である。この情報検索システムは、複数の検索エンジンを介した情報検索が可能なコンピュータシステムであって、その構成は大きく分けて、質問変換学習部１００と、再定式化部２００とからなる。
【００８４】
質問変換学習部１００は、上述の「（１）質問を有効な問い合わせに変換する学習」で説明した各処理を行う部分であって、その構成は、質問フレーズ生成部１１１、変換候補生成部１１２、変換候補評価部１１３からなる。質問フレーズ生成部１１１が、上述の「（１．１）質問フレーズの選択」で説明した各処理を実行し、変換候補生成部１１２が上述の「（１．２）変換候補の生成およびフィルタリング」で説明した各処理を実行し、変換候補評価部１１３が上述の「（１．３）検索エンジンを使用する重み付けおよび再順位付け変換」で説明した各処理を実行する。
【００８５】
再定式化部２００は、上述の「（２）実行時間問い合わせの再定式化」で説明した各処理を実行する部分である。再定式化部２００は、具体的には、所定の変換規則に従って、分類された質問型を識別する質問フレーズに対応する変換候補の組を取得し、該変換候補の組を用いて質問を問い合わせに書き換える部分であって、書き換えられた問い合わせを複数の検索エンジンに提出する処理部と、その問い合わせに応じて複数の検索エンジンが返したドキュメントをそれぞれ分析し、その問い合わせに関するドキュメントの類似性に基づいて各ドキュメントにスコアを付ける処理部と、それらドキュメントのそれぞれを、そのスコアに基づいて順位付けする処理部と、利用者が提示した質問に対する回答として、その順位付けがなされたドキュメントのうちの上位のドキュメントを提供する処理部とを含む。
【００８６】
（プログラム）
上記の情報検索システムにおける各構成部における処理動作は、不図示の記憶装置（半導体記憶装置、ＣＤ−ＲＯＭやＤＶＤなどの記録媒体を含む）に予め記憶されたプログラムをコンピュータが読み出して実行することによって行われる。記憶装置には、上述の「（１．１）質問フレーズの選択」、「（１．２）変換候補の生成およびフィルタリング」、「（１．３）検索エンジンを使用する重み付けおよび再順位付け変換」および「（２）実行時間問い合わせの再定式化」でそれぞれ説明した各処理に関するプログラムが記憶されている。
【００８７】
以上説明したように、本発明の情報検索方法およびシステムは、質問に対する回答を情報検索システムから検索する能力を改善する問い合わせ変換を学習する方法を包含する。また、本方法およびシステムは、質問を異なる質問型に分類することと、質問／回答対の学習組から問い合わせ変換候補を生成することと、および目標情報検索エンジン上の変換候補を評価することを含んでいる。自然言語質問を処理するこの技術は、広範囲の情報検索システムに適用することができる。
【００８８】
上記の説明の一部は特定の商業的に利用できる検索エンジンに言及しているが、本発明は、これに限定されるものではなく、他の検索エンジンおよびこれに類似の検索システム（蓄積情報を検索するシステムなど）にも同様に適用することができる。したがって、本方法およびシステムは、多くの実用的なアプリケーションを有することは、容易に理解される。
【００８９】
【発明の効果】
以上説明したように、本発明によれば、複数の問い合わせ変換を自動的に学習することで、例えば、質問「What is a hard disk?」を｛「hard disk」ＮＥＡＲ「used to」｝というような最適な問い合わせに変換することができるので、利用者に対して、常に、最良の回答を含む情報（ドキュメント）を提供することができる。
【００９０】
また、本発明によれば、変換された問い合わせは、目標とする検索エンジンに対して最適化されるので、目標とする検索エンジンからは、最良の回答を含む情報（ドキュメント）が返される。したがって、利用者に対して、最良の回答を含む情報（ドキュメント）を安定して提供することができる。
【００９１】
さらに、本発明によれば、各検索エンジンが返す情報（ドキュメント）を、最良の回答が上位に順位付けされた形で利用者に提供される。したがって、利用者は、最良の回答を含む情報（ドキュメント）を容易に見出すことができる。
【図面の簡単な説明】
【図１】本発明の一実施形態の情報検索方法の手順の概要を示す説明図である。
【図２】評価のために使用される質問型フレーズを示す図である。
【図３】フィルタリングのために使用される正規表現の例を示す図である。
【図４】質問／回答対の例を示す図である。
【図５】質問フレーズに対応する各変換候補とそれら変換候補の頻度度数、ターム重み、およびターム選択重みの一例を示す図である。
【図６】バケットに分類された変換候補の一例を示す図である。
【図７】１組の変換候補を順位付けるアルゴリズムの一例を示す図である。
【図８】質問フレーズ「what is a」についての変換を、ＡｌｔａＶｉｓｔａおよびＧｏｏｇｌｅに対して自動的に最適化した一例を示す図である。
【図９】実行時間で質問を評価するためのアルゴリズムの一例を示す図である。
【図１０】本発明の一実施形態の情報検索システムの概略構成を示すブロック図である。
【符号の説明】
１  学習過程
１０、２０  段階
３５  回答フレーズ
５１、６３  フレーズ
５２  質問フレーズ
６５  選択重み
８２、８３  検索エンジン
９１ａ、９１ｂ、９２、９３、９４ａ〜９４ｃ、９５、９６  段階
１００  質問変換学習部
１１１  質問フレーズ生成部
１１２  変換候補生成部
１１３  変換候補評価部
２００  再定式化部
【図１】
0003719415.tif 000006
【図２】
0003719415.tif 000007
【図３】
0003719415.tif 000008
【図４】
0003719415.tif 000009
【図５】
0003719415.tif 000010
【図６】
0003719415.tif 000011
【図７】
0003719415.tif 000012
【図８】
0003719415.tif 000013
【図９】
0003719415.tif 000014
【図１０】
0003719415.tif 000015