(57)【特許請求の範囲】
【請求項１】
検索エンジンを選択するための情報検索装置であって、
特定トピック向け検索エンジンへのリンクを有するウェブページから、及び、特定トピック向け検索エンジンのページから、各検索エンジンが扱うトピック及び／または内容を説明する単語を関連単語として収集する関連単語収集部と、
収集された前記関連単語からＤＢ選択インデックスを作成するインデックス生成部と、
前記ＤＢ選択インデックスを記憶するＤＢ選択インデックス格納部と、
ユーザが汎用ウェブ検索エンジンに対して入力した検索キーワードに関連する単語を展開単語として取得するクエリ展開部と、
前記クエリ展開部により得られた展開単語を記憶する展開単語記憶部と、
前記ＤＢ選択インデックス格納部と前記展開単語記憶部に記憶されている情報に基づいて、前記検索キーワードと各検索エンジンとの適合度を計算し、前記適合度に基づいて、前記検索キーワードに適合した検索エンジンを選択するエンジン選択部と、を有し、
前記適合度は、
【数２】
0004428850.tif 000003
により計算され、ここでｆ(ｘ,ｙ)は文字列ｘとｙが等しい場合に１、それ以外の場合は０である関数であり、Ｅiは検索エンジンを表し、ＧCは複数の前記検索キーワードと重要度がある閾値以上の前記関連単語であるトピックワードからなるクエリにより得られた前記展開単語Ｘcgを１つのグループとしたグループを表し、Ｓikは前記検索エンジンＥiの関連単語を表し、Ｗikは前記検索エンジンＥiの前記関連単語Ｓikの重要度を表し、Ｘcgは前記グループＧcの前記展開単語を表し、Ｃcgは前記グループＧcの前記展開単語Ｘcgの出現回数を表している、情報検索装置。
【請求項２】
クエリ展開部は、ユーザが入力した検索キーワードを汎用ウェブ検索エンジンに送ることによって得られた検索結果から、前記検索キーワードに関連する単語を取得する、請求項１に記載の情報検索装置。
【請求項３】
ユーザが入力した検索キーワードを汎用ウェブ検索エンジンへ送った際に検索結果として前記汎用ウェブ検索エンジンから取得した文書中の文字列を記憶するリファレンス文字列記憶部と、
展開単語記憶部と前記リファレンス文字列記憶部に記憶されている情報に基づいて、前記検索キーワードに関連するトピックを説明するフレーズを生成するフレーズ生成部と、をさらに有する請求項１または２に記載の情報検索装置。
【請求項４】
ＤＢ選択インデックスが、検索エンジンごとの関連単語と、関連単語ごとの重要度とを含み、各関連単語の重要度が当該関連単語の出現度に応じて定められる、請求項１乃至３のいずれか１項に記載の情報検索装置。
【請求項５】
関連単語収集部が、ウェブ上に存在する特定トピック向け検索エンジンに対応する関連単語を当該特定トピック向け検索エンジンのウェブページそのものから取得する、請求項１乃至４のいずれか１項に記載の情報検索装置。
【請求項６】
関連単語収集部が、ウェブ上に存在する特定トピック向け検索エンジンに対応する関連単語を、当該特定トピック向け検索エンジンへのハイパーリンクを有する他のウェブページから取得する、請求項１乃至４のいずれか１項に記載の情報検索装置。
【請求項７】
クエリ展開部が、前記トピックワードを抽出し、抽出された前記トピックワードとユーザが入力した検索キーワードとの関連性を優先的に調べることにより、前記検索ワードに関連する単語を取得する、請求項１乃至６に記載の情報検索装置。
【請求項８】
ユーザが入力した検索キーワードに適合した特定トピック向け検索エンジンを前記ユーザに提示する情報検索方法であって、
コンピュータが、特定トピック向け検索エンジンへのリンクを有するウェブページから、及び、特定トピック向け検索エンジンのページから、各検索エンジンが扱うトピック及び／または内容を説明する単語を関連単語として収集し、収集された前記関連単語からＤＢ選択インデックスを作成し、前記ＤＢ選択インデックスをコンピュータの記憶装置へ記憶する処理と、
コンピュータが、ユーザが汎用ウェブ検索エンジンに対して入力した検索キーワードに関連する単語を展開単語として取得するクエリ展開を実行し、前記クエリ展開により得られた展開単語を前記コンピュータの記憶装置へ記憶する処理と、
コンピュータが、前記コンピュータの記憶装置から前記ＤＢ選択インデックスと前記展開単語を読み出し、前記ＤＢ選択インデックスと前記展開単語に基づいて、前記検索キーワードと各検索エンジンとの適合度を計算し、前記適合度に基づいて、前記検索キーワードに適合した検索エンジンを選択するエンジン選択処理と、
を有し、
前記適合度は、
【数３】
0004428850.tif 000004
により計算され、ここでｆ(ｘ,ｙ)は文字列ｘとｙが等しい場合に１、それ以外の場合は０である関数であり、Ｅiは検索エンジンを表し、ＧCは複数の前記検索キーワードと重要度がある閾値以上の前記関連単語であるトピックワードからなるクエリにより得られた前記展開単語Ｘcgを１つのグループとしたグループを表し、Ｓikは前記検索エンジンＥiの関連単語を表し、Ｗikは前記検索エンジンＥiの前記関連単語Ｓikの重要度を表し、Ｘcgは前記グループＧcの前記展開単語を表し、Ｃcgは前記グループＧcの前記展開単語Ｘcgの出現回数を表している、情報検索方法。
【請求項９】
ユーザが入力した検索キーワードに適合した特定トピック向け検索エンジンを前記ユーザに提示する情報検索方法であって、
コンピュータが、ウェブ上に存在する各特定トピック向け検索エンジンの内容に関連する単語を当該特定トピック向け検索エンジンへのハイパーリンクを持つ他のウェブページから関連単語として収集し、収集された前記関連単語からＤＢ選択インデックスを作成し、前記ＤＢ選択インデックスを前記コンピュータの記憶装置へ記憶する処理と、
コンピュータが、ユーザが前記特定トピック向け検索エンジンに対して入力した検索キーワードに関連する単語を展開単語として取得するクエリ展開を実行し、前記クエリ展開により得られた展開単語を前記コンピュータの記憶装置へ記憶する処理と、
コンピュータが、コンピュータの記憶装置から前記ＤＢ選択インデックスと前記展開単語を読み出し、前記ＤＢ選択インデックスと前記展開単語に基づいて、前記検索キーワードと各検索エンジンとの適合度を計算し、前記適合度に基づいて、前記検索キーワードに適合した検索エンジンを選択するエンジン選択処理と、
を有し、
前記適合度は、
【数４】
0004428850.tif 000005
により計算され、ここでｆ(ｘ,ｙ)は文字列ｘとｙが等しい場合に１、それ以外の場合は０である関数であり、Ｅiは検索エンジンを表し、ＧCは複数の前記検索キーワードと重要度がある閾値以上の前記関連単語であるトピックワードからなるクエリにより得られた前記展開単語Ｘcgを１つのグループとしたグループを表し、Ｓikは前記検索エンジンＥiの関連単語を表し、Ｗikは前記検索エンジンＥiの前記関連単語Ｓikの重要度を表し、Ｘcgは前記グループＧcの前記展開単語を表し、Ｃcgは前記グループＧcの前記展開単語Ｘcgの出現回数を表している、情報検索方法。
【請求項１０】
検索エンジンを選択するための情報検索装置であって、
特定トピック向け検索エンジンへのリンクを有するウェブページから、及び、特定トピック向け検索エンジンのページから、各検索エンジンが扱うトピック及び／または内容を説明する単語を関連単語として収集する関連単語収集部と、
収集された前記関連単語からＤＢ選択インデックスを作成するインデックス生成部と、
前記ＤＢ選択インデックスを記憶するＤＢ選択インデックス格納部と、
ユーザが汎用ウェブ検索エンジンに対して入力した検索キーワードに関連する単語を展開単語として取得するクエリ展開部と、
前記クエリ展開部により得られた展開単語を記憶する展開単語記憶部と、
前記ＤＢ選択インデックス格納部と前記展開単語記憶部に記憶されている情報に基づいて、前記検索キーワードと各検索エンジンとの適合度を計算し、前記適合度に基づいて、前記検索キーワードに適合した検索エンジンを選択するエンジン選択部と、を有し、
前記エンジン選択部は、複数の前記検索キーワードと重要度がある閾値以上の前記関連単語であるトピックワードからなるクエリにより得られ、前記展開単語記憶部に記憶された展開単語をひとつのグループとした前記グループごとに、各グループに対する展開単語と当該展開単語の出現回数、及び各検索エンジンに関連する関連単語と当該関連単語の重要度から、前記適合度を計算する、情報検索装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
インターネット(Internet)での情報検索に関し、特に、インターネット上のＷＷＷ（ワールド・ワイド・ウェブ(World Wide Web)、以下、単にウェブともいう）上に存在する複数の検索エンジンから情報を取得する情報検索装置および情報検索方法に関する。
【０００２】
【従来の技術】
ＷＷＷ上には、さまざまな種類の情報検索エンジン（以下、単に、検索エンジンともいう）が存在する。例えば、Ｙａｈｏｏ（ヤフー(http://www.yahoo.com)）やＡｌｔａＶｉｓｔａ（アルタビスタ(http://www.altavista.com)）では、ウェブ上に存在するウェブページのＵＲＬ(uniform resourse locator)のデータベースを構築し、ユーザがウェブページを検索できるようにしている。ＹａｈｏｏやＡｌｔａＶｉｓｔａは、あらゆるトピックやカテゴリのウェブページを対象とした汎用的な検索エンジンである。また、特定のトピックに限定した検索エンジンも存在する。例えば、Ａｍａｚｏｎ．ｃｏｍ（アマゾン・ドット・コム(http://www.amazon.com)）には、書籍を検索するための書籍専用のデータベースがある。
【０００３】
検索エンジンによってＷＷＷを検索する場合、一般に、ユーザは、目的に応じて検索エンジンをユーザ自身で選び、検索キーワード（検索エンジンを使って情報検索する際に入力するキーワードのこと）をその検索エンジンに入力することなどにより、情報を検索することになる。すなわち、通常は単一の検索エンジンをその都度利用することになる。
【０００４】
これに対し、ウェブ上に存在する複数の検索エンジンを利用するメタサーチと呼ばれる手法がある（例えば、Selberg, E. and Etzioni, O. "Multi-Service Search and Comparison using the MetaCrawler", Proceedings of the 4th International World Wide Web Conference, 1994を参照）。メタサーチでは、ユーザが入力した検索キーワードを複数の検索エンジンに送り、各検索エンジンから取得した全ての検索結果を一つにまとめてユーザに提示する。単一の検索エンジンを使っている場合には、ある検索エンジンで必要な情報が得られなければ、ユーザは別の検索エンジンで検索をすることになる。すなわち、ユーザは、必要な情報が見つかるまで検索エンジンを渡り歩き何度も検索キーワードを入力しなければならない。メタサーチでは、このような繰り返し操作は不要となる。
【０００５】
また、複数の情報ソースからクエリ（質問(query)）に適したものを選択する分散情報検索手法が提案されている（例えば、Xu., J., and Callan, J. "Effective retrieval with distributed collections", In Proceedings of the 21st Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, pp.112-120, 1998を参照）。ここでは、選択された情報ソースのデータベースのみに問い合わせをするため、検索の処理速度の向上などが期待される。適切なデータベースを選択するために、分散データベースでは、個々のデータベースに含まれるキーワードとその出現頻度を用いてデータベース（ＤＢ）選択インデックスをあらかじめ作成しておく。
【０００６】
【発明が解決しようとする課題】
単一の検索エンジンを利用する場合、ユーザは所望の情報に応じて検索エンジンを選択する必要がある（例えば、新刊本の情報が知りたければ書籍検索エンジン、宿泊する場所を探しているのならホテル検索エンジン）。しかしながら、必要とする情報ごとに適切な検索サービスをユーザ自らが選択するのは負担のかかる作業である。
【０００７】
メタサーチ手法により既知の全ての検索エンジンに検索キーワードを送信する方法も考えられるが、検索エンジンの数が多い場合には、全ての検索サービスに検索キーワードを送信するのはネットワーク負荷や処理速度の問題などにより事実上不可能である。現状のメタサーチでは、通常１０個程度の検索エンジンを利用しているが、検索エンジンの数が例えば数千個になった場合には、従来のメタサーチ手法は現実的ではない。
【０００８】
したがって、ユーザの検索キーワードに応じて適切な検索エンジンを選択する必要がある。しかしながら、従来の分散情報検索でのデータベース選択手法では、データベース選択インデックスを作成するために、各々の情報ソースのデータベース中に含まれる全てのデータにアクセスできることを前提としている。しかしながら、情報ソースがウェブ上の検索エンジンである場合、一般には、それらのデータベースの全ての内容にアクセスすることはできない。そのため、従来の分散情報検索でのデータベース選択手法は利用できない。
【０００９】
本発明の目的は、ウェブ上に存在する検索エンジンに対し、検索エンジンを選択するためのインデックス（以下ＤＢ選択インデックスと呼ぶ）を作成し、ユーザの検索キーワードに適した検索エンジンを選択する情報検索装置および情報検索方法を実現することにある。
【００１０】
具体的には、例えばユーザの検索キーワードが“ｐｙｔｈｏｎ”であった場合、図１に示すような結果をユーザに提示することを目的としている。“ｐｙｔｈｏｎ”はもともとニシキヘビという意味であるが、スクリプトタイプのオブジェクト指向プログラミング(object oriented programming)言語の名前でもある。このように検索キーワードが複数トピックに関連する場合、トピックごとに検索エンジンの選択結果を提示し、なおかつ、そのトピックを説明するフレーズを付加する。図１の場合、オブジェクト指向プログラミング言語としての“ｐｙｔｈｏｎ”に対しては、フレーズ"object oriented programming with python"が付加されるとともに、"Object-oriented Information Source"と"Scripting Database"とが検索エンジンとして列挙されている。一方、爬虫類(reptile)であるヘビ(snake)としての“ｐｙｔｈｏｎ”に対しては、フレーズ"snake python"とともに、"Reptile Search"と"Snake Information"とが検索エンジンとして列挙されている。ユーザは自分の意図にあったものを選択し、選択した検索エンジンに検索キーワードを実際に送信できるようにする。図示した例では、選択しようとする検索エンジンの横に表示されたチェックボックスにチェックを入れ、“Ｓｅｎｄ  Ｑｕｅｒｙ”のボタンをクリックすることにより、選択した検索エンジンに検索キーワードを送信できるようになる。
【００１１】
また、図１に示すように、関連するであろう特定トピック向け検索エンジンのリストをユーザに提示せずに、検索キーワードを各特定トピック向け検索エンジンに直接送信して、検索結果を取得してもよい。
【００１２】
【課題を解決するための手段】
本発明の情報検索装置は、▲１▼検索エンジンが扱うトピックや内容を説明する単語を収集する関連単語収集部と、▲２▼収集された関連単語からＤＢ選択インデックスを作成するインデックス生成部と、▲３▼記憶装置内に記憶されるＤＢ選択インデックスと、▲４▼ユーザが入力した検索キーワードに関連する単語を汎用検索エンジンから取得するクエリ展開部と、▲５▼クエリ展開部により得られた単語を記憶する展開単語記憶部と、▲６▼ＤＢ選択インデックスと展開単語記憶部に記憶されている情報に基づいて検索エンジンを選択するエンジン選択部と、を有する。ここで、クエリ展開部は、ユーザが入力した検索キーワードを汎用ウェブ検索エンジンに送ることによって得られた検索結果から、検索キーワードに関連する単語を取得するようにすることが好ましい。さらに本発明の情報検索装置では、▲７▼クエリ展開部により汎用ウェブ検索エンジンから取得した文書中の文字列を記憶するリファレンス文字列記憶部と、▲８▼展開単語記憶部とリファレンス文字列記憶部に記憶されている情報に基づいて、検索キーワードに関連するトピックを説明するフレーズを生成するフレーズ生成部と、を設けることが好ましい。
【００１３】
（作用）
本発明の情報検索装置を用いてウェブの情報検索を行う処理は、ＤＢ選択インデックスを生成するためのフェーズ（インデックス生成フェーズ）と、ユーザから与えられた検索キーワードに適した検索エンジンをＤＢ選択インデックスを用いて選択するフェーズ（検索エンジン選択フェーズ）とに分けられる。
【００１４】
インデックス生成フェーズでは、まず関連単語収集部が、検索エンジンが扱うトピックや検索エンジンの内容に関連する単語を、検索エンジンのウェブページそのものや検索エンジンのページへのハイパーリンクを有する他のウェブページから収集する。次に、インデックス生成部が、関連単語収集手段が収集した単語とその出現頻度からＤＢ選択インデックスを生成し、ＤＢ選択インデックス格納部（典型的には記憶装置）内に記憶する。
【００１５】
検索エンジン選択フェーズでは、まずクエリ展開部において、ユーザから与えられた検索キーワードに関連する単語を例えば汎用ウェブ検索エンジンから取得する。これは、関連単語収集部では限られた数の単語しか収集されず、ユーザが与えた検索キーワードだけではＤＢ選択インデックス中に登録された単語に全くマッチしない場合が多いためである。クエリ展開部によって獲得された単語は展開単語記憶部に記憶され、クエリ展開処理のために汎用検索エンジンなどから取得した検索結果中に含まれる文字列は、必要に応じてリファレンス文字列記憶部に記憶される。
【００１６】
クエリ展開処理の後、エンジン選択部において、ＤＢ選択インデックスと展開単語記憶部に記憶された情報をもとに検索エンジンを選択する。さらに、フレーズ生成部において、ユーザが入力した検索キーワードに関連するトピックを説明するフレーズを生成し、エンジン選択部で選択された検索エンジンとともにユーザに提示するようにしてもよい。
【００１７】
【発明の実施の形態】
次に、本発明の好ましい実施の形態について、図面を参照して説明する。図２は、本発明の実施の一形態の情報検索装置の構成を示すブロック図である。
【００１８】
この情報検索装置２０は、▲１▼検索エンジンが扱うトピックや内容を説明する単語をウェブ１１から収集する関連単語収集部２０１と、▲２▼収集された関連単語からＤＢ選択インデックスを作成するインデックス生成部２０２と、▲３▼ＤＢ選択インデックスを格納するＤＢ選択インデックス記憶部２０３と、▲４▼ユーザが入力した検索キーワードに関連する単語を汎用ウェブ検索エンジン１２から取得するクエリ展開部２０４と、▲５▼クエリ展開部２０４により得られた単語を記憶する展開単語記憶部２０５と、▲６▼クエリ展開部２０４が汎用ウェブ検索エンジン１２から取得した文書中の文字列を記憶するリファレンス文字列記憶部２０６と、▲７▼ＤＢ選択インデックス記憶部２０３と展開単語記憶部２０５に登録されている情報に基づいて、検索エンジンを選択するエンジン選択部２０７と、▲８▼展開単語記憶部２０４とリファレンス文字列記憶部２０６に記憶されている情報に基づいて、検索キーワードに関連するトピックを説明するフレーズを生成するフレーズ生成部２０８と、を備えている。
【００１９】
ここで、情報検索装置２０は、ハードウェア構成としては、プログラム制御により動作するデータ処理装置２１と、情報を記憶する記憶装置２２とを備えている。データ処理装置２１は、関連単語収集部２０１、インデックス生成部２０２、クエリ展開部２０４、エンジン選択部２０７およびフレーズ生成部２０８を含み、また、記憶装置２２は、ＤＢ選択インデックス格納部２０３、展開単語記憶部２０５およびリファレンス文字列記憶部２０６を含んでいる。データ処理装置２１は、インターネット１０に接続しており、インターネット１０上のウェブ１１から、インターネット上の各検索エンジンが扱うトピックや内容を説明する単語が関連単語収集部２０１に与えられる。また、汎用ウェブ検索エンジン１２は、あらゆるトピックやカテゴリのウェブページを対象とした汎用的な検索エンジンのことである。例えば上述したＹａｈｏｏやＡｌｔａＶｉｓｔａのようにインターネット経由で利用可能なものであっても、インターネット上には公開されておらず情報検索装置２０のみが利用可能なローカルなシステムとして構築されたものでもよい。
【００２０】
次に、この情報検索装置を使用した情報検索について説明する。上述したように、本発明に基づく情報検索の処理は、大別して、ＤＢ選択インデックスを生成するためのインデックス生成フェーズと、ユーザから与えられた検索キーワードに適した検索エンジンをＤＢ選択インデックスを用いて選択する検索エンジン選択フェーズとに分かれるから、まず、インデックス生成フェーズに関して、この情報検索装置の動作を説明する。
【００２１】
インデックス生成フェーズにおいて、関連単語収集部２０１は、検索エンジンのＵＲＬ  Ｅi（１≦ｉ≦ｎ）が与えられたとき、その検索エンジンが扱うトピックや関連する単語を収集する。この収集方法として、本明細書では２通りの方法を説明する。関連単語収集部２０１としては、下記の２個の方法のいずれを利用してもよい。
【００２２】
第一の方法は、ＵＲＬ  Ｅiに対応するウェブ文書Ｐi（Ｅiによりウェブ１１から取得される文書）を利用する方法である。ウェブ文書Ｐiには、検索エンジンの内容を説明する文章や語句が含まれていると期待される。第一の方法では、Ｐiに含まれる全ての単語を検索エンジンに関連する単語とする。
【００２３】
第二の方法は、ＵＲＬ  Ｅiを参照している（Ｅiへのリンクを有する）他のウェブ文書を利用する方法である。ＵＲＬ  Ｅiを参照しているウェブ文書には、Ｅiの内容を説明する語句が含まれている可能性が高いと考えられる。具体的に第二の方法では、Ｅiを参照している複数のウェブ文書Ｐij（１≦ｊ≦ｍ）を取得し、取得した全ての文書に含まれる全ての単語を検索エンジンに関連する単語とする。もしくは、ウェブ文書Ｐijにおいて、Ｅiへのリンクの周囲にある単語（例えばＥiへのリンクと同じ行にある単語）だけを関連単語としてもよい。Ｅiを参照しているウェブ文書Ｐijは、上述のＡｌｔａＶｉｓｔａやＩｎｆｏｓｅｅｋ（インフォシーク(http://www.infoseek.com)）などの汎用ウェブ検索エンジンで取得することが可能である。
【００２４】
次に、インデックス生成部２０２は、関連単語収集部２０１で収集された関連単語Ｓik（１≦ｋ≦ｑ）をＤＢ選択インデックスとしてＤＢ選択インデックス格納部２０３に記憶する。さらに、全てのＳikに対しその出現回数をカウントして正規化し、インデックス記憶部２０３に重要度Ｗikとして記憶する。重要度Ｗikは０．０から１．０までの値をとる。
【００２５】
上記の関連単語収集処理とインデックス生成処理は、与えられた全ての検索エンジンのＵＲＬ  Ｅi（１≦ｉ≦ｎ）に対して行われる。したがって、図３に示すように、ＤＢ選択インデックス格納部２０３は、ＤＢ選択インデックスとして、各検索エンジンごとにそれぞれ関連単語と重要度を記憶する。
【００２６】
以上によりインデックス生成フェーズが完了すると、次に、ユーザの入力した検索キーワードに適した検索エンジンを選択する検索エンジン選択フェーズが開始する。
【００２７】
検索エンジン選択フェーズでは、まず、クエリ展開部２０４が汎用ウェブ検索エンジン１２を検索して、ユーザが与えた検索キーワードに関連する単語を取得する。
【００２８】
ここでクエリ展開を行うのは、上記の関連単語収集処理により収集された単語の数が少ない場合があり、ユーザが与えた検索キーワードがＤＢ選択インデックス格納部２０３に登録された単語と全くマッチしないケースがあるためである。クエリ展開により検索キーワードに関連する単語を取得した上でＤＢ選択インデックス格納部２０３に登録された単語とのマッチングを行えば、検索キーワードがＤＢ選択インデックス格納部２０３に登録された単語と全くマッチしないケースは、かなりの場合、回避できると期待される。
【００２９】
クエリ展開部２０４でのクエリ展開手法としては、検索キーワードに関連する単語を取得できるものであればどのような手法であっても利用可能である。ここでは、検索キーワードを汎用ウェブ検索エンジン（例えば、ＡｌｔａＶｉｓｔａやＩｎｆｏｓｅｅｋなど）１２から取得する方法について、さらに詳しく説明する。クエリ展開部２０４の動作を説明する前に、汎用ウェブ検索エンジン１２に検索キーワードを送信した際に汎用ウェブ検索エンジン１２から返される検索結果について、図４を用いて説明しておく。
【００３０】
図４に示すように、汎用ウェブ検索エンジン１２からの検索結果には、一般的に、送信したクエリに関連する複数のウェブ文書が含まれ、それぞれのウェブ文書に対して、ウェブページのタイトル（表題）、アブストラクト（要約）およびＵＲＬが記述される。本明細書では、ウェブページのタイトルとアブストラクトを合わせたものをリファレンス文字列と呼ぶ。図４に示すように、汎用ウェブ検索エンジン１２から得られる検索結果には、複数のリファレンス文字列が含まれることになる。
【００３１】
図５は、クエリ展開部２０４の動作を説明するＰＡＤ図（問題分析図；problem analysis diagram）である。クエリ展開部２０４は、ユーザから検索キーワードＫa（１≦ａ≦ｂ）が与えられた場合（ステップ５０１）、全ての検索キーワードを連結した文字列“Ｋ1 Ｋ2 … Ｋb”をクエリとして汎用ウェブ検索エンジン１２に送り、検索結果Ｄ0を得る（ステップ５０２）。次に、検索結果Ｄ0中に含まれるトピックワードＴc（１≦ｃ≦ｄ）を抽出する（ステップ５０３）。ここでトピックワードとは、ＤＢ選択インデックスにおいて重要度があるしきい値（例えば、０．８）以上である関連単語を指す。
【００３２】
次に、ユーザから与えられた検索キーワードと各トピックワードＴcとの関連性を調べるために、各トピックワードＴcごとに、ステップ５０５〜５１０の処理を行なう（ステップ５０４）。
【００３３】
まず、ステップ５０５において、“Ｋ1 Ｋ2 … Ｋb Ｔc”をクエリとして汎用ウェブ検索エンジン１２に送り、検索結果Ｄcを得る。次に、検索結果ＤcにおいてＫa（１≦ａ≦ｂ）のいずれかとＴcとをともに含むリファレンス文字列をＲce（１≦ｅ≦ｆ）とする（ステップ５０６）。ここで、ｆは、検索結果ＤcにおいてＫaとＴcが同一のウェブ文書中に同時に出現する回数となる。この回数ｆがある一定のしきい値以上である場合は、トピックワードＴcはユーザが入力した検索キーワードＫaに関連するものであるとみなし（ステップ５０７）、ステップ５０８〜５１０の処理を行う。
【００３４】
ステップ５０８において、まず、リファレンス文字列Ｒce（１≦ｅ≦ｆ）に出現する全ての単語Ｘcg（１≦ｇ≦ｈ）の出現回数Ｃcgをカウントし、それを展開単語記憶部２０５に記憶する（ステップ５０９）。また、全てのＲce（１≦ｅ≦ｆ）を連結して一つの文字列Ｕcとし、リファレンス文字列記憶部２０６に記憶する（ステップ５１０）。ただし、クエリ“Ｋ1 Ｋ2 … Ｋb Ｔc”により得られた単語Ｘcg（１≦ｇ≦ｈ）を一つのグループとして扱う。そのため、ユニークなグループＩＤ（識別番号）をつけ、そのグループＩＤごとにＸcgとＣcgを管理する。したがって展開単語記憶部２０５には、図６に示すように、グループＩＤに対応する展開単語と出現回数が記憶される。同様に、リファレンス文字列記憶部２０６には、図７に示すように、各グループＩＤに対応するＵcが記憶される。
【００３５】
次に、エンジン選択部２０７が、検索エンジンと展開語句との適合度を計算する。図８は、エンジン選択部２０７の動作を示すＰＡＤ図である。適合度の計算は、展開単語記憶部２０６に記憶された各グループＧc（１≦ｃ≦ｄ）ごとに行われる（ステップ８０１）。グループＧcの展開語句に対する検索エンジンＥiの適合度を計算する場合、まず、Ｇcに対する展開単語Ｘcg（１≦ｇ≦ｈ）とその出現回数Ｃcgを展開単語記憶部２０６から取得する（ステップ８０２）。次に、Ｅiの関連単語Ｓik（１≦ｋ≦ｑ）とその重要度ＷikをＤＢ選択インデックス格納部２０より取得し（ステップ８０４）、下記の計算式によりグループＧcにおける検索エンジンＥiの適合度Ｆ(Ｅi，Ｇc)を計算する。
【００３６】
【数１】
0004428850.tif 000002
【００３７】
ただし、ｆ(ｘ,ｙ)は文字列ｘとｙが等しい場合に１、それ以外の場合は０である関数である。
【００３８】
エンジン選択部２０７は、グループＧc（１≦ｃ≦ｄ）ごとに全ての検索エンジンＥi（１≦ｉ≦ｎ）の適合度を計算し（ステップ８０３）、得点が上位の検索エンジンをグループＧcに対する検索エンジンとしてユーザに提示する（ステップ８０６）。
【００３９】
エンジン選択部２０７での処理とは独立して、フレーズ生成部２０８は、ユーザが入力した検索キーワードに関連するトピックを説明するフレーズを作成する。図９は、ここでのフレーズ生成部２０８の処理を示している。すなわちフレーズ生成部２０８は、リファレンス文字列記憶部２０６に記憶された各グループＧc（１≦ｃ≦ｄ）ごとにそのグループの内容を説明するフレーズＰＭcを作成するために、ステップ９０１〜９０５を繰り返す（ステップ９０１）。フレーズＰＭcは、以下の処理によりリファレンス文字列Ｕcから抽出される。
【００４０】
まず、Ｇcにおいて出現回数Ｃcgがある一定回数以上の展開単語Ｘcgを展開単語記憶部２０５から取得し、集合Ｙcとする（ステップ９０２）。Ｕcにおいて、Ｙcに含まれる単語もしくは前置詞もしくは冠詞が連続して出現する全ての個所ＰＲr（１≦ｒ≦ｖ）をＰＭcの候補として抽出し（ステップ９０４）、各ＰＲrごとに得点を計算する（ステップ９０５）。得点は、ＰＲr中に含まれる全てのＸcgの出現回数Ｃcgの和によって計算される。この得点が最大であったフレーズをグループＧcを説明するフレーズＰＭcとして選択し、ユーザに提示する（ステップ９０６）。
【００４１】
例えば、あるグループＧに対するリファレンス文字列Ｕが"Object oriented programming with Python. Home page for Python, an object oriented scripting."であり、展開単語記憶部に記憶されたＧに対する展開単語および出現回数が図１０に示す通りであったとする。出現回数が３回以上の展開単語が連続している個所をフレーズとして用いるとすると、Ｕからは"Object oriented programming with Python"と"Python, an object oriented scripting"という二つが候補として抽出される。ここで"with"と"an"の出現回数は３回未満であるが、前置詞と冠詞であるためフレーズの中に含まれることを許される。"Object oriented programming with Python"は関連単語"Object"、"oriented"、"programming"および"Python"の出現回数６，６，９，１５を合計し、３６となる。同様に"Python, an object oriented scripting"の得点は３１となる。したがって、"Object oriented programming with Python"がグループＧを説明するフレーズＰＭとして選択される。
【００４２】
以上、本発明の好ましい実施形態の情報検索装置について説明したが、図２にも示すように、この情報検索装置２０は、ハードウェア構成としては、プログラム制御により動作するデータ処理装置２１と、情報を記憶する記憶装置２２とを備えている。したがって、この情報検索装置２０は、データ処理装置２１としてのＣＰＵ（中央処理装置）及び主記憶装置（メモリ）と、記憶装置２２としてのハードディスク装置などの外部記憶装置とを有する汎用のコンピュータシステムを用意し、上述した情報検索を実現するための計算機プログラムをその汎用のコンピュータシステムに読み込ませ、そのプログラムを実行させることによっても実現できる。その汎用のコンピュータシステムは、さらに、検索キーワードなどの入力のための入力装置（キーボードやマウスなど）と、検索結果の表示などのための表示装置（ＣＲＴなど）と、インターネット１０に接続するための通信インタフェース（モデムなど）と、プログラムを記録した記録媒体を読み取るための読み取り装置とを備えている。そして、上述したような情報検索を行うためのプログラムを格納した記録媒体を読み取り装置に装着し、記録媒体からプログラムを読み出してプログラム用の記憶領域に格納し、この格納されたプログラムを中央処理装置が実行することにより、情報検索が実行される。
【００４３】
【発明の効果】
以上説明したように本発明は、検索エンジンのデータベース内の全てのデータにアクセスできない場合でも、検索エンジンのページそのものや検索エンジンへのリンクを有する他のウェブページを利用してＤＢ選択インデックスを生成するため、ユーザの入力した検索キーワードに適した、ウェブ上にある検索エンジンを提示することが可能であるという効果がある。
【００４４】
また、ここで述べたようなＤＢ選択インデックス作成手法によって収集された単語の数が少ない場合でも、クエリ展開手法を用いて検索キーワードに関連する単語を取得し、ここで得られた単語とＤＢ選択インデックス中の単語のマッチングを行なうことにより、多くの場合適切な検索エンジンを選択することができるようになる。
【００４５】
また、検索キーワードが複数のトピックに関連する可能性がある場合は、関連する可能性があるトピックごとにクエリ展開処理を行い検索エンジンを選択し、なおかつそのトピックを説明するフレーズを生成することにより、検索キーワードが複数トピックに関連する場合でも、トピックごとに適切な検索エンジンをユーザに提示することができるようになる。
【図面の簡単な説明】
【図１】本発明に基づく検索結果出力の例を示す図である。
【図２】本発明の実施の一形態の情報検索装置の構成を示すブロック図である。
【図３】ＤＢ選択インデックスに格納されるデータを説明する図である。
【図４】汎用ウェブ検索エンジンから返される検索結果の例を示す図である。
【図５】クエリ展開部の動作を説明するＰＡＤ図（問題分析図；problem analysis diagram）である。
【図６】展開単語記憶部に格納されるデータを説明する図である。
【図７】リファレンス文字列記憶部に格納されるデータを説明する図である。
【図８】エンジン選択部の動作を説明するＰＡＤ図である。
【図９】フレーズ生成部の動作を説明するＰＡＤ図である。
【図１０】関連単語記憶部に記憶されたデータの例を示す図である。
【符号の説明】
１０    インターネット
１１    ウェブ
１２    汎用ウェブ検索エンジン
２０    情報検索装置
２１    データ処理装置
２２    記憶装置
２０１    関連単語収集部
２０２    インデックス生成部
２０３    ＤＢ選択インデックス格納部
２０４    クエリ展開部
２０５    展開単語記憶部
２０６    リファレンス文字列記憶部
２０７    エンジン選択部
２０８    フレーズ作成部
【図１】
0004428850.tif 000006
【図２】
0004428850.tif 000007
【図３】
0004428850.tif 000008
【図４】
0004428850.tif 000009
【図５】
0004428850.tif 000010
【図６】
0004428850.tif 000011
【図７】
0004428850.tif 000012
【図８】
0004428850.tif 000013
【図９】
0004428850.tif 000014
【図１０】
0004428850.tif 000015