(57)【特許請求の範囲】
【請求項１】
検索結果を統合する方法であって、
クエリーを識別するステップと、
前記クエリーをサブクエリーに分割するステップと、
前記サブクエリーの各々対して情報量を計算するステップと、
前記サブクエリーの各々を実行して、複数の検索結果を得るステップと、
前記サブクエリーに対して計算された前記情報量に基づいて前記検索結果を組み合わせるステップと、
を含む、方法。
【請求項２】
前記実行するステップは、構造化、非構造化、および半構造化されたデータ源を含む異種の索引群を横断して検索をするステップを含み、前記組み合わせるステップは、前記異種の索引群を横断して前記検索結果を統合するステップを含む、請求項１に記載の方法。
【請求項３】
前記実行するステップは、エンティティ・レベルで検索するステップを含み、エンティティは階層構造を有し、前記組み合わせるステップは、前記エンティティ・レベルにおいて前記検索結果を統合するステップを含む、請求項１に記載の方法。
【請求項４】
前記サブクエリーの各々の前記実行は、前記サブクエリーの少なくとも一つに対する数多の検索結果を識別するステップを含み、前記組み合わせるステップは、前記数多の検索結果を複数のクラスタにグループ化し、前記クラスタの各々に対する関連度評点を算出するステップを含み、各クラスタは高次レベルのエンティティを表す、請求項１に記載の方法。
【請求項５】
前記組み合わせるステップは、前記クラスタを形成する前記検索結果の前記関連度評点に基づいて、前記クラスタの各々に対する前記関連度評点を算定するステップを含む、
請求項４に記載の方法。
【請求項６】
前記組み合わせるステップは、前記クラスタに対して算出された前記関連度評点と前記サブクエリーに対して算出された動的ウエイトとに基づいて、前記クラスタを統合するステップをさらに含む、請求項４に記載の方法。
【請求項７】
前記サブクエリーは、第一サブクエリーと第二サブクエリーとを含み、
前記サブクエリーの各々の前記実行は、前記第一サブクエリーを実行して複数の第一クラス・エンティティを識別し、前記第二サブクエリーを実行して数多の第二クラス・エンティティを識別するステップを含み、前記第二クラス・エンティティの各々は、定義された基準に従って前記第一クラス・エンティティの一つに関連付けられ、
前記組み合わせるステップは、前記第二クラス・エンティティの各々が属する前記第一クラス・エンティティに基づいて、前記第二クラス・エンティティを複数のクラスタにクラスタ化し、前記クラスタの各々に関連度評点を割り当てるステップを含む、
請求項１に記載の方法。
【請求項８】
前記実行は、それぞれ単一の検索索引を用いて前記サブクエリーの各々を実行するステップを含む、請求項１に記載の方法。
【請求項９】
それぞれ単一の検索索引を用いる前記サブクエリーの各々の前記実行は、それぞれ単一の検索エンジンを用いて前記サブクエリーの各々を実行するステップを含む、請求項８に記載の方法。
【請求項１０】
前記サブクエリーの各々に対する前記情報量は、前記サブクエリーの推定相対重要度を表す、請求項１に記載の方法。
【請求項１１】
異種の索引群を横断して検索を行い、検索結果を統合する方法であって、
クエリーを識別するステップと、
前記クエリーをサブクエリーに分割するステップと、
前記サブクエリーの各々対して情報量を計算するステップと、
前記サブクエリーの各々を実行して、構造化、非構造化、および半構造化されたデータ源を含む異種の索引群を横断して検索し、数多の検索結果を得るステップと、
前記サブクエリーに対して計算された前記情報量に基づいて前記検索結果を組み合わせるステップと、
を含む、方法。
【請求項１２】
前記データ源は、複数の階層レベルを有する階層構造を備えたエンティティを包含し、前記組み合わせるステップは、同一の階層レベルにおいて前記検索結果を統合するステップを含む、請求項１１に記載の方法。
【請求項１３】
前記組み合わせるステップは、前記数多の検索結果を複数のクラスタにグループ化し、前記クラスタを形成する前記検索結果の関連度評点に基づいて前記クラスタの各々に対する前記関連度評点を算出するステップを含む、請求項１１に記載の方法。
【請求項１４】
前記組み合わせるステップは、前記クラスタに対して算出された前記関連度評点と前記サブクエリーに対して計算された前記情報量とに基づいて、前記クラスタを統合するステップをさらに含む、請求項１２に記載の方法。
【請求項１５】
前記サブクエリーは、第一サブクエリーと第二サブクエリーとを含み、
前記第一サブクエリーの前記実行は、前記サブクエリーを実行して複数の第一クラス・エンティティを識別するステップを含み、
前記第二サブクエリーの実行は、前記サブクエリーを実行して数多の第二クラス・エンティティを識別するステップを含み、前記第二クラス・エンティティの各々は、定義された基準に従って前記第一クラス・エンティティの一つに属し、
前記組み合わせるステップは、前記第二クラス・エンティティの各々が属する前記第一クラス・エンティティに基づいて、前記第二クラス・エンティティを複数のクラスタにクラスタ化し、前記クラスタの各々に関連度評点を割り当てるステップを含む、請求項１１に記載の方法。
【請求項１６】
請求項１乃至１５のいずれか一項に記載された方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
【請求項１７】
請求項１乃至１５のいずれか一項に記載された方法の各ステップを実行可能なように構成された１以上のプロセッシング・ユニットを含む、システム。
【請求項１８】
検索結果を統合するためのシステムであって、
クエリーを識別する手段と、
前記クエリーをサブクエリーに分割する手段と、
前記サブクエリーの各々対して情報量を計算する手段と、
前記サブクエリーの各々を実行して、複数の検索結果を得る手段と、
前記サブクエリーに対して計算された前記情報量に基づいて前記検索結果を組み合わせる手段と、
を備える、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にデータ処理に関し、より具体的には、クエリーに応答するためのデータまたは情報の検索に関する。さらに詳しくは、本発明の実施形態は、異種の検索索引を横断して情報を検索するのに適した方法、装置、およびコンピュータ・プログラム製品に関する。
【背景技術】
【０００２】
インターネットおよびワールド・ワイド・ウェブは、商取引、個人生活、および教育過程の決定的に重要で不可欠な部分となっている。インターネットの中心には、ウェブ・ブラウザ技術およびインターネット・サーバ技術がある。インターネット・サーバは、ドキュメント、画像またはグラフィック・ファイル、フォーム、オーディオ・クリップなどの「コンテント」を包含し、これら全ては、インターネット接続性を有するシステムおよびブラウザに利用可能である。ウェブ・ブラウザないし「クライアント」コンピュータは、ウェブ・アドレスからドキュメントを要求することができ、適切なウェブ・サーバが、これに応答して一つ以上のウェブ・ドキュメント、画像またはグラフィック・ファイル、フォーム、オーディオ・クリップなどを送信する。サーバからブラウザへのウェブ・ドキュメントおよびコンテンツの送信のための最も一般的なプロトコルは、ハイパー・テキスト転送プロトコル（「ＨＴＴＰ：Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｐｒｏｔｏｃｏｌ」）である。
【０００３】
最も一般的な種類のインターネット・コンテントまたはドキュメントは、ハイパー・テキスト・マークアップ言語（「ＨＴＭＬ：Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ」）ドキュメントであるが、この分野では、アドビ・ポータブル・ドキュメント・フォーマット（「ＰＤＦ：Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ」）など他のフォーマットもよく知られている。ＨＴＭＬ、ＰＤＦ、および他のウェブ・ドキュメントは、ドキュメントの中に「ハイパーリンク」を備えており、ユーザが別のドキュメントまたはウェブ・サイトを選択して見れるようになっている。ハイパーリンクはドキュメント中の特別にマークされたテキストまたは領域であり、ユーザが選択すると、ブラウザ・ソフトウエアに対し、示されたドキュメントの読み出しまたは取り出し、あるいは新しいウェブ・サイトへのアクセスを命令する。通常、ユーザが一般的ハイパーリンクを選択すると、ウェブ・ブラウザのグラフィカル・ユーザ・インタフェース（「ＧＵＩ：ｇｒａｐｈｉｃａｌ  ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ」）ウィンドウ中に表示されている現在のページが消えて、新しく受信されたページが表示される。親ページが、例えば、ＩＢＭのウェブ・サイト  ｗｗｗ．ｐａｔｅｎｔｓ．ｉｂｍ．ｃｏｍ．などの索引であって、ユーザが（例えば、該サイトの使い方のヒントを含む文書を読むなどのために）各子孫リンクへの訪問を望めば、親または索引ページは消えて（ヘルプ・ページなどの）新しいページが表示される。
【０００４】
ウェブ・ブラウザ・コンピュータのコンピューティング能力と、ウェブ・ブラウザ・コンピュータへの通信回線容量とが飛躍的に増大しているので、インターネット・ウェブ・サイトおよびコンテントを提供する組織の一つの重要課題は、これらのより高い処理速度およびスループット速度を見込んで、かかるコンテントを配信、フィルタすることである。このことは、ウェブ・ベースのアプリケーション分野、および、ユーザに適した情報をデスクトップないしクライアントに転送するためのより優れ、より効率的なやり方の開発面について特にいえる。しかしながら、現在のウェブ・ブラウザは、一般に、非インテリジェントなソフトウエア・パッケージである。現在はこのようなブラウザが存在しており、ユーザは、自分が関心のある一切の記事またはドキュメントをマニュアルで検索する必要があり、これらのブラウザは、多くの場合、関連性の高い対象の一つを見出すためにしばしば多くのドキュメントのダウンロードを必要とする点が厄介である。
【０００５】
検索エンジンは、ブラウジング工程にある程度の「インテリジェンス」を導入しており、ユーザは、自分の非インテリジェントなウェブ・ブラウザを検索エンジンのアドレスにポイントし、検索のためのいくつかのキーワードを入力し、返信されてきた検索結果中のハイパーリンクを選択して、または返信されたウェブ・アドレスにウェブ・ブラウザをマニュアルで再ポイントして、返されてきたドキュメントの各々を一つずつ閲見することができる。しかしながら、検索エンジンは、実際は全インターネットを検索するのでなく、検索エンジン索引作成ソフトウエアによって、通常、さまざまなリポジトリ、その一例がインターネット上のウェブ・コンテントである、の中に包含される情報を解析するプロセスを介して構築された、自分自身のインターネット・コンテントの索引を検索する。
【０００６】
非特許文献１に提示されているように、単一の検索エンジンは、単独で望ましい検索結果の全てを読み出すことはできない。例えば、Ｇｏｏｇｌｅ（Ｒ）の検索だけによるのであれば、検索者はウェブの最善の第一ページ検索結果の７２．７％を見逃す可能性がある。
【０００７】
この問題に対処するため別の技術が開発されており、この分野では「メタサーチ・エンジン」として知られている。メタサーチ・エンジンは自分の索引を保持せず、複数のコンポーネント検索エンジンに同時にクエリーを提出し、これら検索エンジンの各々からの結果中の最高ランクのものをユーザに返信する。メタサーチ・エンジンは、例えば、４つの検索エンジンからのランク・トップ５つのリストを返信することができよう。こうして、より関連性が高い可能性のある情報をフィルタ抽出することができる。現在、ＭｅｔａＣｒａｗｌｅｒおよびＤｏｇｐｉｌｅなど、いくつかのメタサーチ・エンジンが構築されておりインターネット上で利用可能である。
【０００８】
本発明は、分散情報検索（ＩＲ：ｉｎｆｏｒｍａｔｉｏｎ  ｒｅｔｒｉｅｖａｌ）技術にも関する。出願人らは、概念を表すために、一般性を失うことなくメタサーチのコンテキストを用いている。だが、本発明は分散ＩＲ環境にも適用される。
【０００９】
メタサーチ・システムでは、各コンポーネント検索エンジンは、どのドキュメントをインデックス付けするか、あるクエリーに対しどのくらいの数のドキュメントを検索するか、検索結果をどのようにランクするか、などに関し独自の決定をする［非特許文献２］。かかる異質性に起因して、コンポーネント検索エンジン群からの結果を効率的且つ効果的に組み合わせるのは困難である。特許文献１は、ドキュメントをソートする際にローカルおよびグローバル双方の統計を考慮に入れてコンポーネント検索エンジンからのドキュメントを組み合わせるための、フレームワークを開示している。非特許文献３は、ファジー・ロジックを用いて、分散された検索エンジンからの結果を組み合わせるやり方を提示している。しかし、これらのアプローチは、ドキュメントの組合せに対してだけ適用が可能である。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】米国特許第６，７９５，８２０号、名称「Ｍｅｔａｓｅａｒｃｈ  Ｔｅｃｈｎｉｑｕｅ  Ｔｈａｔ  Ｒａｎｋｓ  Ｄｏｃｕｍｅｎｔｓ  Ｏｂｔａｉｎｅｄ  Ｆｒｏｍ  Ｍｕｌｔｉｐｌｅ  Ｃｏｌｌｅｃｔｉｏｎｓ」。
【特許文献２】米国特許出願公開第２００９／０１１２８４１号、名称「Ｄｏｃｕｍｅｎｔ  Ｓｅａｒｃｈｉｎｇ  Ｕｓｉｎｇ  Ｃｏｎｔｅｘｔｕａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｌｅｖｅｒａｇｅ  ａｎｄ  Ｉｎｓｉｇｈｔ」。
【非特許文献】
【００１１】
【非特許文献１】Ｄｏｇｐｉｌｅレポート［Ｄｉｆｆｅｒｅｎｔ  Ｅｎｇｉｎｅｓ，Ｄｉｆｆｅｒｅｎｔ  Ｒｅｓｕｌｔｓ．Ｄｏｇｐｉｌｅ．ｃｏｍ．による調査研究、２００７年４月］。
【非特許文献２】Ｗｅｉｙｉ  Ｍｅｎｇ、Ｃｌｅｍｅｎｔ  Ｙｕ、およびＫｉｎｇ−Ｌｕｐ  Ｌｉｕ、「Ｂｕｉｌｄｉｎｇ  Ｅｆｆｉｃｉｅｎｔ  ａｎｄ  Ｅｆｆｅｃｔｉｖｅ  Ｍｅｔａｓｅａｒｃｈ  Ｅｎｇｉｎｅｓ」、ＡＣＭ  Ｃｏｍｐｕｔｉｎｇ  Ｓｕｒｖｅｙｓ、３４巻、Ｎｏ．１、２００２年３月、４８〜８９頁。
【非特許文献３】Ｗｉｇｕｎａら、「Ｕｓｉｎｇ  Ｆｕｚｚｙ  Ｍｏｄｅｌ  ｆｏｒ  Ｃｏｍｂｉｎｉｎｇ  ａｎｄ  Ｒｅｒａｎｋｉｎｇ  Ｓｅａｒｃｈ  Ｒｅｓｕｌｔ  ｆｒｏｍ  Ｄｉｆｆｅｒｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｏｕｒｃｅｓ  ｔｏ  Ｂｕｉｌｄ  Ｍｅｔａｓｅａｒｃｈ  Ｅｎｇｉｎｅ」、（Ｗｉｒａｔｎａ  Ｓ．Ｗｉｇｕｎａ、Ｊｕａｎ  Ｊ．Ｆｅｒｎａｎｄｅｚ−ｉｅｂａｒ、およびＡｎａ  Ｇａｒｃｉａ−Ｓｅｒｒａｎｏ、「Ｃｏｍｐｕｔａｔｉｏｎａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，Ｔｈｅｏｒｙ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ」、第９回国際会議ファジー日、ドイツ、ドルトメント、２００６年９月１８〜２０日。
【非特許文献４】Ｌ．ＳｉおよびＪ．Ｃａｌｌａｎ、「Ａ  Ｓｅｍｉｓｕｐｅｒｖｉｓｅｄ  Ｌｅａｒｎｉｎｇ  Ｍｅｔｈｏｄ  ｔｏ  Ｍｅｒｇｅ  Ｓｅａｒｃｈ  Ｅｎｇｉｎｅ  Ｒｅｓｕｌｔｓ」、ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｆ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｙｓｔｅｍｓ、２１（４）、（４５７〜４９１頁）（２００３年）。
【非特許文献５】Ｃ．Ｅ．Ｓｈａｎｎｏｎ、「Ａ  Ｍａｔｈｅｍａｔｉｃａｌ  Ｔｈｅｏｒｙ  ｏｆ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ」、Ｂｅｌｌ  Ｓｙｓｔｅｍ  Ｔｅｃｈｎｉｃａｌ  Ｊｏｕｒｎａｌ、２７号、３７９〜４２３頁および６２３〜６５６頁、１９４８年７月および１０月。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
既存のアプローチのいずれも、例えば、人々に対する部門、または頁に対する書籍といった、相異なるセマンティクスを用いた検索結果を組み合わせるのに適していない。特許文献２に記載されているように、今日の企業では、相異なるセマンティクスを有するデータ源を特定のやり方で組み合わせて用いることがごく一般化している。必要なのは、これらの検索結果を適切に組み合わせそれらをソートするための方法論である。
【課題を解決するための手段】
【００１３】
本発明の実施形態は、検索結果を統合するための方法、システム、およびコンピュータ・プログラム製品を提供する。一つの実施形態において、該方法は、クエリーを識別するステップと、クエリーをサブクエリーに分割するステップと、これらサブクエリーの各々対して情報量を計算するステップとを含む。また、本方法は、サブクエリーの各々を実行して複数の検索結果を取得するステップと、サブクエリーに対し計算された情報量に基づいて検索結果を組み合わせるステップとを含む。
【００１４】
一つの実施形態において、該サブクエリーの各々の実行は、サブクエリーの少なくとも一つに対する数多の検索結果（例、ドキュメント群）を識別するステップを含み、該組み合わせるステップは、該数多の検索結果を複数のクラスタ（各クラスタは、書籍などの高次レベルのエンティティを表す）にグループ化するステップと、該クラスタの各々に対する適合度評点を算出するステップとを含む。一つの実施形態において、該組み合わせるステップは、クラスタに対し算出された適合度評点とサブクエリーに対し算出された情報量とに基づいて、クラスタ群を統合するステップをさらに含む。
【００１５】
一つの実施形態において、サブクエリーの各々の実行は、クエリーの各々に対する複数の検索結果を識別するステップを含み、該組み合わせるステップは、各クエリーに対して識別された複数の検索結果を、クエリーの各々に対する一つ以上のクラスタにグループ化するステップを含み、該組み合わせるステップは、クラスタ群の各々に対する適合度評点を算出するステップと、クラスタに対し算出された適合度評点とサブクエリーに対し算出された情報量とに基づきクラスタを組み合わせるステップとをさらに含む。
【００１６】
一つの実施形態において、サブクエリーは、第一サブクエリーと第二サブクエリーとを含み、サブクエリーの各々を実行するステップは、第一サブクエリーを実行して複数の（書籍または部門などといった）第一クラス・エンティティを識別するステップと、第二サブクエリーを実行して数多の（書籍中の頁、または部門中の人々などといった）第二クラス・エンティティを識別するステップとを含み、第二クラス・エンティティの各々は、定義された基準に従って第一クラス・エンティティのそれぞれ一つに関連付けられる。また、この実施形態において、該組み合わせるステップは、第二クラス・エンティティを、該第二クラス・エンティティの各々が属する第一クラス・エンティティの該一つに基づいて、複数のクラスタにクラスタ化するステップと、該クラスタの各々に適合度評点を割り当てるステップとを含む。
【００１７】
本発明の一つの実施形態において、クエリー中のユーザの意図が動的に推定され、異なったデータ源から返信された情報を組み合わせるために用いられる。この方法においては、ユーザは、非特許文献４などの学習アプローチで要求されるフィードバックを提供する必要はない。さらに、本発明の該実施形態は、従来のアプローチでは対処できなかった、全く相異なるセマンティクスを有する結果群を組み合わせる、という問題を解決する。
【００１８】
本発明の実施形態は、異種の索引を横断した検索および結果の統合化を可能にし、これには、構造化、非構造化、および半構造化されたデータ源が含まれる。本発明の実施形態は、エンティティ・レベルにおける検索および結果の統合化を可能にする。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態による、情報理論ベースの統合化およびランク付け方法を示す。
【図２】本発明の実施形態による、検索結果を統合するためのアルゴリズムを示す。
【図３】本発明の実施形態に用いることの可能なコンピューティング環境を示す。
【発明を実施するための形態】
【００２０】
当業者が良く理解するであろうように、本発明は、システム、方法、またはコンピュータ・プログラム製品として具現することができる。従って、本発明は、全体がハードウエアの実施形態、全体がソフトウエアの実施形態（ファームウエア、常駐ソフトウエア、マイクロコードなどを含む）、または、本明細書では全て一般的に「回路」、「モジュール」または「システム」と呼ばれることのある、ソフトウエアおよびハードウエア態様を組み合わせた実施形態の形を取ることができる。さらに、本発明は、媒体中に具現されたコンピュータ可用のプログラム・コードを有する、任意の有形表現媒体の中に具現されたコンピュータ・プログラム製品の形を取ることもできる。
【００２１】
一つ以上のコンピュータ可用またはコンピュータ可読の媒体（群）の任意の組合せを用いることができる。コンピュータ可用またはコンピュータ可読の媒体は、例えば、以下に限らないが、電子的、磁気的、光学的、電磁気的、赤外的、または半導体のシステム、装置、デバイス、または伝播媒体とすることができる。コンピュータ可読媒体のさらに具体的な例（限定的リスト）には、一つ以上の配線を有する電気接続、携帯コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、消去およびプログラム可能読み取り専用メモリ（ＥＰＲＯＭ：ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、またはフラッシュ・メモリ）、光ファイバ、携帯コンパクト・ディスク読み取り専用メモリ（ＣＤＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、光記憶デバイス、例えばインターネットまたはイントラネットをサポートしている媒体などの送信媒体、または磁気記憶デバイスが含まれよう。なお、コンピュータ可用またはコンピュータ可読の媒体は、紙または別の適切な媒体とすることも可能と考えられ、媒体の上にプログラムを印刷し、例えば、該紙または他の媒体の光走査を介してプログラムを電子的に捕捉し、次いでコンパイルし、解釈、または、必要に応じ別途に適切な仕方で処理し、それをコンピュータ・メモリに格納することができる。本文書の文脈において、コンピュータ可用またはコンピュータ可読の媒体は、命令実行システム、装置、またはデバイスによって、またはこれらに関連させて使うためのプログラムを、包含、格納、通信、伝播、または伝送できる任意の媒体であり得る。コンピュータ可用の媒体には、ベースバンドもしくは搬送波の一部として具現されたコンピュータ可用のプログラム・コードを有する、伝播データ信号を含めることができる。該コンピュータ可用のプログラム・コードは、以下に限らないが、無線、有線ライン、光ファイバ・ケーブル、ＲＦなどを含め、任意の適切な媒体を使って送信することができる。
【００２２】
本発明のオペレーションを実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋または類似のオブジェクト指向プログラミング言語、および、“Ｃ”プログラミング言語または類似のプログラミング言語などの従来式手続き型プログラミング言語を含め、一つ以上のプログラミング言語の任意の組合せで書くことができる。該プログラム・コードは、全体をユーザのコンピュータで、一部をユーザのコンピュータで単独型ソフトウエア・パッケージとして実行することができ、一部をユーザのコンピュータで他の部分を遠隔コンピュータで、または全体を遠隔コンピュータまたはサーバで実行することができる。後者のシナリオでは、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）または広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）を含む任意の種類のネットワークを介して、遠隔コンピュータをユーザのコンピュータに接続することができ、あるいは（例えばインターネット・サービス・プロバイダを使いインターネットを介し）外部のコンピュータへの接続を行うことができる。
【００２３】
以下に、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品の、フローチャート説明図またはブロック図あるいはその両方を参照しながら、本発明を説明する。フローチャート説明図またはブロック図あるいはその両方の各ブロック、および、フローチャート説明図またはブロック図あるいはその両方のブロックの組合せは、コンピュータ・プログラム命令によって実施可能であることが理解されよう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、特殊用途コンピュータ、又は他のプログラム可能データ処理装置、のプロセッサに供給してマシンを形成し、コンピュータ又は他のプログラム可能データ処理装置のプロセッサを介して実行されるこれらの命令が、該フローチャートまたはブロック図あるいはその両方のブロックまたはブロック群中に規定された機能／処理を実施するための手段を生成するようにすることができる。また、これらのコンピュータ・プログラム命令を、コンピュータまたは他のプログラム可能データ処理装置に特定の仕方で機能するよう命令できるコンピュータ可読媒体に格納し、該コンピュータ可読媒体に格納された命令が、フローチャートまたはブロック図あるいはその両方のブロックまたはブロック群中に規定された機能／処理を実施する命令手段を包含する製品を形成するようにすることができる。
【００２４】
さらに、該コンピュータ・プログラム命令を、コンピュータまたは他のプログラム可能データ処理装置にロードして、該コンピュータまたは他のプログラム可能な装置上で一連のオペレーション・ステップを実施させてコンピュータ実行のプロセスを生成し、該コンピュータまたは他のプログラム可能な装置で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックまたはブロック群中に規定された機能／処理を実施するためのプロセスを提供するようにすることもできる。
【００２５】
本発明は、異種の検索索引からの検索結果を組み合わせるための、情報理論ベースのアプローチを提供する。さらに具体的には、本発明はクエリーの情報量（情報要求度）を用い、このクエリーがエンド・ユーザにとってどの位重要なのかを推定し、クエリー群の情報量が算出された上で、検索結果は妥当な仕方で組み合わされる。
【００２６】
図１を参照すると、本発明の一つの実施形態において、メタサーチ・エンジン１０（これは分散ＩＲ技術に基づいた検索エンジンとすることもできよう）は、クエリーを受信し、該クエリーを複数ないし数多のサブクエリーに分割し、それぞれ単一の検索索引１２を用いて各サブクエリーを実行する。次いで検索結果は、１４に示されるように、情報理論ベースの統合化およびランク付けを用いて組み合わされる。
【００２７】
例えば、メタサーチ・エンジンは、書籍に関するキーワード検索索引およびそれら書籍についてのメタデータ（例、出版社、出版日付、および著者名）を包含するデータベースへのアクセスを有する。ユーザが「Ｏ’Ｒｅｉｌｌｙが出版した」「Ｃプログラミングに関する」書籍を探している場合、Ｏ’Ｒｅｉｌｌｙは他の題目ではるかに多くの書籍を出版をしているので、ユーザの焦点が「Ｃプログラミング」に置かれる尤度が非常に高い。従って、キーワード検索索引からの結果がより高いウエイトを持つと予期される。他方、ユーザが特定の著者が書いたＣプログラミングに関する書籍を探している場合、今度はユーザが著者の名前により多くの注意を払っているので、このときは上記データベースからの結果がより高いウエイトを得ることになる。
【００２８】
前述の例は、本発明の背後にある洞察法を示している。異種のコンポーネント検索エンジン群からの結果を組み合わせるとき、本発明は、ユーザにとってより重要な項目を考察し、サブクエリーに動的ウエイトを割り当てる。既存のアプローチのいずれも検索のこの側面に言及していない。既存アプローチは、検索結果のランク付けを算定する際に、（例えば、索引語頻度（ｔｅｒｍ  ｆｒｅｑｕｅｎｃｙ）および文書頻度などの）検索エンジンの特性に依存しており、これらはユーザの意図を反映することはできない。
【００２９】
別の例として、“ｉＳｅｒｉｅｓ（ＩＢＭ社の登録商標）”サーバ、および障害回復サービスの両方を含むビジネス契約書を探しているユーザがいるとしよう。情報源選定のフェーズにおいて、“ｉＳｅｒｉｅｓ”に対する検索は、非構造化ドキュメントを包含するキーワード検索索引にルート付けられ、一方、障害回復サービスは、サービス範囲および総契約価値など契約書レベルでの情報を包含するデータベースにルート付けられる。かかる意味的に異なったデータ・コンテントに対し、異なる検索エンジンから返信された結果を単にソートしそれらを組み合わせて提示する従来式のアプローチは使えない。本発明は、結果を注意深く一緒に組合せ、次いでそれらをビジネス契約書レベルでソートするためのより優れた仕方を提供する。
【００３０】
一つの見方は、ユーザが、クエリーの中に（例えば、“ｉＳｅｒｉｅｓ”および障害回復といった）複数の情報要件を指定しているとき、通常、クエリー・コンポーネント（サブクエリー）の一つがユーザの主要焦点であり、他のコンポーネントは関連状況を提供する。具体的に上記の例では、“ｉＳｅｒｉｅｓ”がユーザが探している項目の第一焦点であり、「障害回復」は付加された関連状況を提供している。その理由は、使用されたデータ・コレクションにおいて、「障害回復」に比べ“ｉＳｅｒｉｅｓ”が稀な語だからである。情報量を使ってこの抽象的な概念を数値化する。
【００３１】
情報理論［非特許文献５参照］では、情報量（自己情報ともいわれる）は、ランダム変数の結果に関連付けて情報を測定する。情報量は、−ｌｏｇ（ｐ（Ｅ））として算出され、前式のｐ（Ｅ）は事象Ｅの確率である。事象Ｅの確率が低いほど、Ｅの情報量は高くなる。
【００３２】
クエリーの確率を計算するための多くのやり方がある。一例として、検索されるデータベースの中にＮ件のビジネス契約書についての情報があるとし、障害回復に関するクエリーＱが、返信された、ｍ件の契約書についての情報を有するとしよう。このとき、確率ｐ（Ｑ）はｍ／Ｎとして算出することができ、Ｑの情報量は−ｌｏｇｐ（Ｑ）として算出することができる。
【００３３】
クエリー（ユーザの情報要件を表している）の情報量が算出されたならば、返信された結果は合理的な仕方で統合化される。図２は、検索結果を統合する一つのやり方を示す。例えば、障害回復サービスを検索するためにデータ源Ｃ１が与えられ、“ｉＳｅｒｉｅｓ”サーバ関連情報を検索するためにデータ源Ｃ２が与えられているとしよう。さらに、ステップ２２において、Ｃ１から、その関連度評点が添付されたビジネス契約書が返信され、Ｃ２からも、その関連度評点が添付されたドキュメントが返信されるとする。ユーザが契約書レベルにおける情報に関心があるので、ステップ２４、２６、３０、３２、および３４において、返信された各々のビジネス契約書に対する、データ源非依存性の評点が算出される。これに従い、ステップ３０において、Ｃ２から返信されたドキュメントは、それらが属する契約書に基づいてクラスタ化され、ステップ３２において各クラスタに対する評点が算出される。クラスタに対する評点を計算する多くのやり方があり、例えば、一つのやり方は、式（１）に示すような評点平均値の使用である。
【００３４】
【数１】
0005480093.tif 000002
【００３５】
式（１）のｎはＣ２から返信されたドキュメントの数であり、ＳＣ２（ｄｉ）は、そのｉ番目の返信ドキュメントの評点を表す。
【００３６】
次いでステップ３６において、Ｃ１またはＣ２あるいはその両方から返信された各ビジネス契約書の統合化された評点を、式（２）に示すように算出することができる。
【００３７】
【数２】
0005480093.tif 000003
【００３８】
（２）式のＳＣ１はＣ１から返信された契約書に添付された評点であり、ａ１はＣ１に送信されたクエリーの情報量であり、ａ２はＣ２に送信されたクエリーの情報量である。次いで、ステップ４０において、算出された評点に基づいてこれらエンティティがランク付けされる。
【００３９】
図２に示されたアルゴリズムは、前述の例を一般化したバージョンである。さらに、サブクエリーの情報量が事前算出され、該アルゴリズムは該情報量をインプットとして取り入れる。図２のステップ３２において、式（１）を用いてクラスタの関連度評点を算出することができる。ステップ３６では、式（２）を用いてエンティティ・レベルの統合化された関連度評点を算出することができ、該式を複数の検索エンジン（データ源）に対し拡大適用することができる。
【００４０】
本発明の実施形態は、異種の索引を横断する検索および結果の統合化を可能にし、これには、構造化、非構造化、および半構造化されたデータ源が含まれる。例えば、これらの一部をリレーショナル・データベース、一部をＸＭＬデータベース、および他の部分をキーワード検索索引とすることができる。データ源から返信された検索結果は意味的に異なっているが相関係があり得る。
【００４１】
本発明の実施形態は、エンティティ・レベルでの検索および結果の統合化を可能にする。各エンティティは階層構造を有する。例えば、書籍は章を有し、章は節を有し、節は頁を有する。キーワード検索索引が一組の書籍中の頁についての情報を有し得、さらにリレーショナル・データベースがそれら書籍の（出版社などの）メタデータを有し得る。本発明は、２つのデータ源に送信されたサブクエリーに対し情報量を動的ウエイトとして計算し、キーワード検索索引から返信された頁をそれらが属する書籍にグループ化し、該ウエイトを使って両方のデータ源からの書籍を統合化し、次いで、ソートされた書籍を最終検索結果としてユーザに提示する。
【００４２】
本発明の実施形態は、コンポーネント検索エンジン（データ源）の密接な協力を想定せずこれを必要としてもいないことに留意するのが重要である。データ源が、情報量ベースの評点を計算するために十分な情報を提供しない場合、例えば非特許文献４などさまざまな学習アプローチで論じられているように、サンプリングを用いてかかる必要なパラメータを習得することができる。
【００４３】
図３を参照すると、本発明を実施するための例示的システムは、コンピュータ１１０の形で、汎用コンピューティング・デバイスを含む。コンピュータ１１０の構成要素には、以下に限らないが、プロセッシング・ユニット１２０、システム・メモリ１３０、および、システム・メモリのプロセッシング・ユニット１２０への連結を含め、さまざまなシステム構成要素を連結するシステム・バス１２１を含めることができる。システム・バス１２１は、さまざまなバス・アーキテクチャの任意のものを使った、メモリ・バスまたはメモリ・コントローラ、周辺機器用バス、およびローカル・バスを含むさまざまな種類のバス構造の任意のものとすることができる。例示であって限定はされないが、かかるアーキテクチャには、業界標準アーキテクチャ（ＩＳＡ：Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ：Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、改良ＩＳＡ（ＥＩＳＡ：Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ベサ（ＶＥＳＡ：Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト（ＰＣＩ：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス（メザニン・バスとしても知られる）が含まれる。
【００４４】
コンピュータ１１０は、通常、さまざまなコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０がアクセスできる任意の利用可能な媒体とすることができ、揮発性および不揮発性媒体、着脱型および固定型媒体の両方を含む。例示であって限定はされないが、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含み得る。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュール、または他のデータなどの情報の記憶のため、任意の方法または技術で実装された、揮発性および不揮発性、着脱型および固定型の媒体を含む。コンピュータ記憶媒体には、以下に限らないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリまたは他のメモリ技術、ＣＤＲＯＭ、デジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、所望の情報を格納するのに使用できコンピュータ１１０がアクセス可能な他の任意の媒体が含まれる。
【００４５】
通信媒体は、典型的には、搬送波または他の伝送メカニズムなどの変調データ信号中に、コンピュータ可読の命令、データ構造、プログラム・モジュール、または他のデータを具現し、任意の情報配信媒体を含む。「変調データ信号」という用語は、情報を信号中に符号化するような仕方で設定または変更された一つ以上の特性を有する信号をいう。例示であって限定はされないが、通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体、および、超音波、ＲＦ、赤外線、および他の無線媒体などの無線媒体が含まれる。また、前述媒体の任意の組合せもコンピュータ可読媒体の範囲に含まれるべきである。
【００４６】
システム・メモリ１３０は、読み取り専用メモリ（ＲＯＭ）１３１およびランダム・アクセス・メモリ（ＲＡＭ）１３２など、揮発性メモリまたは不揮発性メモリまたはその両方の形でコンピュータ記憶媒体を含む。バイオス（ＢＩＯＳ：ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）１３３は、始動時などに、コンピュータ１１０内のエレメント間の情報伝送を助力する基本的ルーチンを包含し、通常、ＲＯＭ１３１に格納される。ＲＡＭ１３２は、通常、プロセッシング・ユニット１２０に即時にアクセス可能なまたは該ユニット１２０で作動中のあるいはその両状態の、データまたはプログラム・モジュールあるいはその両方を包含する。例示であって限定はされないが、図３には、オペレーティング・システム１３４、アプリケーション・プログラム１３５、他のプログラム・モジュール１３６、およびプログラム・データ１３７が図示されている。
【００４７】
また、コンピュータ１１０には、他の着脱型／固定型、揮発性／不揮発性コンピュータ記憶媒体を含めることもできる。単なる例示であるが、図３には、固定型不揮発性磁気媒体に対し読み書きを行うハード・ディスク・ドライブ１４１と、着脱型不揮発性磁気ディスク１５２に対し読み書きを行う磁気ディスク・ドライブ１５１と、ＣＤ  ＲＯＭまたは他の光学媒体などの、着脱型不揮発性光ディスク１５６に対し読み書きを行う光ディスク・ドライブ１５５とが図示されている。該例示オペレーティング環境において使用可能な他の着脱型／固定型、揮発性／不揮発性コンピュータ記憶媒体には、以下に限らないが、磁気テープ・カセット、フラッシュ・メモリ・カード、デジタル多用途ディスク、デジタル・ビデオ・テープ、固体ＲＡＭ、固体ＲＯＭなどが含まれる。ハード・ディスク・ドライブ１４１は、通常、インタフェース１４０などの固定型メモリ・インタフェースを介してシステム・バス１２１に連結され、磁気ディスク・ドライブ１５１および光ディスク・ドライブ１５５は、通常、インタフェース１５０などの着脱型メモリ・インタフェースを介してシステム・バス１２１に接続される。
【００４８】
上記で説明し図３に示された、これらドライブおよびこれらに関連するコンピュータ記憶媒体は、コンピュータ１１０に対し、コンピュータ可読の命令、データ構造、プログラム・モジュール、および他のデータの保管を提供する。例えば、ハード・ディスク・ドライブ１４１は、オペレーティング・システム１４４、アプリケーション・プログラム１４５、他のプログラム・モジュール１４６、およびプログラム・データ１４７を格納しているとして図示されている。なお、これらのコンポーネントは、オペレーティング・システム１３４、アプリケーション・プログラム１３５、他のプログラム・モジュール１３６、およびプログラム・データ１３７と同一であり得もしくは異なり得る。ここでは、オペレーティング・システム１４４、アプリケーション・プログラム１４５、他のプログラム・モジュール１４６、およびプログラム・データ１４７には、少なくともこれらが別のコピーであることを示すために、異なった番号が与えられている。
【００４９】
ユーザは、キーボード１６２、一般にマウスといわれるポインティング・デバイス１６１、トラックボール、またはタッチ・パッドを介して、コンピュータ１１０に命令および情報を入力することができる。他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星アンテナ、スキャナ等々を含めることができる。これらの、および他のデバイスは、多くの場合、システム・バス１２１に連結されたユーザ入力インタフェース１６０を介してプロセッシング・ユニット１２０に接続されるが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス（ＵＳＢ：ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）など他のインタフェースおよびバス構造によって接続することもできる。
【００５０】
また、モニタ１９１または他の種のディスプレイ・デバイスは、ビデオ・インタフェース１９０などのインタフェースを介してシステム・バス１２１に接続され、次いで該バスがビデオ・メモリ１８６と通信することができる。コンピュータには、モニタ１９１に加えてスピーカ１９７およびプリンタ１９６など他の周辺出力機器を含めることができ、これらを出力周辺機器インタフェース１９５を介して接続することができる。ノースブリッジなどのグラフィックス・インタフェース１８２もシステム・バス１２１に連結することができる。ノースブリッジは、ＣＰＵまたはホストプロセッシング・ユニット１２０と通信するチップセットであり、アクセラレーティッド・グラフィックス・ポート（ＡＧＰ：ａｃｃｅｌｅｒａｔｅｄ  ｇｒａｐｈｉｃｓ  ｐｏｒｔ）通信に対する責任を担う。一つ以上のグラフィックス・プロセッシング・ユニット（ＧＰＵ：ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）１８４が、グラフィックス・インタフェース１８２と通信することができる。これに関連して、ＧＰＵ１８４は、一般に、レジスタ記憶素子などのオンチップ記憶素子を含み、ＧＰＵ１８４は、ビデオ・メモリ１８６と通信する。ただし、ＧＰＵ１８４はコプロセッサの一例であって、コンピュータ１１０には、このようにさまざまなコプロセッシング・デバイスを含めることができる。
【００５１】
コンピュータ１１０は、遠隔コンピュータ１８０など一つ以上の遠隔コンピュータとの論理結合を用いてネットワーク環境で作動することができる。遠隔コンピュータ１８０は、個人用コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア・デバイス、または他の一般的ネットワーク・ノードとすることができ、図３には記憶デバイス１８１しか図示されていないが、通常、コンピュータ１１０に関連して上記で説明したエレメントの多くまたはその全部を含む。図３に描かれた論理結合には、ローカル・エリア・ネットワーク（ＬＡＮ）１７１および広域ネットワーク（ＷＡＮ）１７３が含まれるが、他のネットワークも含めることができる。かかるネットワーク化環境は、諸事務所、企業規模のコンピュータ・ネットワーク、イントラネット、およびインターネットでは当たり前のことになっている。
【００５２】
ＬＡＮネットワーク化環境で用いられる場合、コンピュータ１１０は、ネットワーク・インタフェースまたはアダプタ１７０を介し、ＬＡＮ１７１に接続される。ＷＡＮネットワーク化環境で用いられる場合、コンピュータ１１０は、通常、モデム１７２、またはインターネットなどのＷＡＮ１７３経由の通信を設定するための他の手段を含む。モデム１７２は内蔵または外付けとすることができ、ユーザ入力インタフェース１６０または他の適切なメカニズムを介して、システム・バス１２１に連結することができる。ネットワーク化環境において、コンピュータ１１０に関連して述べたプログラム・モジュール又はその一部を遠隔記憶デバイスに格納することができる。例示であって限定はされないが、図３には、遠隔アプリケーション・プログラム１８５が記憶デバイス１８１に所在するとして図示されている。示されたネットワーク接続が例示的なものであって、コンピュータ間の通信リンクを設定するため他の手段を使うことが可能なのは、容易に理解されることであろう。
【００５３】
当業者は、コンピュータ１１０または他のクライアント・デバイスを、コンピュータ・ネットワークの一部として展開することが可能なのを十分理解していよう。この点に関し、本発明は、任意の数のメモリまたは記憶装置、及び任意の数の記憶装置またはボリュームにまたがって行われる任意の数のアプリケーションおよび処理を有する任意のコンピュータ・システムに適応する。本発明は、ネットワーク環境に展開された、遠隔またはローカル記憶装置を有するサーバ・コンピュータ群およびクライアント・コンピュータ群を含む環境に適用することができる。また、本発明は、プログラミング言語対応機能、解釈、および実行能力を有する、単独型コンピューティング・デバイスにも適用できる。
【００５４】
本明細書に開示した本発明が前述の目的を満たすために十分に適合されているのは明確であるが、当業者が幾多の修改および実施形態を考案できるのは十分理解されることで、添付の請求項は、本発明の真の精神および範囲に含まれる、こういった全ての修改および実施形態を網羅することが意図されている。
【符号の説明】
【００５５】
１００    コンピューティング環境
１１０    コンピュータ
１２０    プロセッシング・ユニット
１２１    システム・バス
１３０    システム・メモリ
１３１    ＲＯＭ
１３２    ＲＡＭ
１３３    ＢＩＯＳ
１３４    オペレーティング・システム
１３５    アプリケーション・プログラム
１３６    他のプログラム・モジュール
１３７    プログラム・データ
１４０    固定型不揮発性メモリ・インタフェース
１４１    ハード・ディスク・ドライブ
１４４    オペレーティング・システム
１４５    アプリケーション・プログラム
１４６    他のプログラム・モジュール
１４７    プログラム・データ
１５０    着脱型不揮発性メモリ・インタフェース
１５１    磁気ディスク・ドライブ
１５２    着脱型不揮発性磁気ディスク
１５５    光ディスク・ドライブ
１５６    着脱型不揮発性光ディスク
１６０    ユーザ入力インタフェース
１６１    マウス
１６２    キーボード
１７０    ネットワーク・インタフェース
１７１    ローカル・エリア・ネットワーク
１７２    モデム
１７３    広域ネットワーク
１８０    遠隔コンピュータ
１８１    記憶デバイス
１８２    グラフィックス・インタフェース
１８４    ＣＰＵ
１８５    遠隔アプリケーション・プログラム
１８６    ビデオ・メモリ
１９０    ビデオ・インタフェース
１９１    モニタ
１９５    出力周辺機器インタフェース
１９６    プリンタ
１９７    スピーカ
【図１】
0005480093.tif 000004
【図２】
0005480093.tif 000005
【図３】
0005480093.tif 000006