(57)【特許請求の範囲】
【請求項１】
情報を提供するためのシステムであって、
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサによって実行されるときに提供するコンピューター実施可能な命令を格納する１つまたは複数のコンピュータ記憶媒体と、
クエリ入力に基づいて、検索結果を探し出すように構成される検索コンポーネントと、
１つまたは複数のランキング特性を含む前記クエリ入力に関連する情報を格納するように構成されるデータベースコンポーネントであって、前記１つまたは複数のランキング特性は、過去に受信された同一のクエリまたは類似のクエリに対する検索結果に関して収集される検索結果に関連する、ユーザー行為またはユーザー無行為に関連付けられ、無行為に関連付けられる前記１つまたは複数のランキング特性内の１つのランキング特性は、複数のクエリに亘って、ユーザによって検索結果がスキップされた回数を含み、行為に関連付けられる、前記１つまたは複数のランキング特性のランキング特性は、クリックされた検索結果に関連付けられる、クエリの集合を含む、データベースコンポーネントと、
ドキュメント長特性を含む、前記１つまたは複数のランキング特性に基づいて、前記検索結果をランク付けするように構成されたランキングコンポーネントであって、前記検索コンポーネントが、ランキングの順位に従い前記検索結果を提供するときに、前記検索結果のランクを使用する、ランキングコンポーネントと
を備え、
前記ドキュメント長は、前記検索結果に含まれるドキュメントのセットの平均長で、ランク付けが行われるドキュメントの長さを除算することにより正規化され、前記ランク付けが行われるドキュメントは、前記ドキュメントのセットに含まれ、前記ドキュメントの長さは、前記ドキュメントの単語数に対応し、
変換関数が、正規化されたドキュメント長を０〜１間のランキング値に変換し、
前記変換関数は、
Ｆ（Ｄ）＝Ｄ，Ｄ＜＝１
Ｆ（Ｄ）＝０．５＋（３−Ｄ）／４，１＜Ｄ＜＝３
Ｆ（Ｄ）＝２／（Ｄ＋１），Ｄ＞３，
ここで、Ｄは前記正規化されたドキュメント長を表し、Ｆ（Ｄ）は前記ランキング値を表すと定義されることを特徴とするシステム。
【請求項２】
前記ランキングコンポーネントは、前記検索結果をランク付けするとき、１つまたは複数のクリックスルーパラメーターを使用し、前記１つまたは複数のクリックスルーパラメーターは、
前記検索結果がクリックされた回数に関連するクリックパラメーターと、
前記検索結果がスキップされた回数に関連するスキップパラメーターと、
クリックされた検索結果に関連するクエリ文字列の集合に対応する第１のストリームパラメーターと、
スキップされた検索結果に関連するクエリ文字列の集合に対応する第２のストリームパラメーターと
のうちの１つまたは複数をさらに備えることを特徴とする請求項１に記載のシステム。
【請求項３】
前記検索コンポーネントはさらに、前記１つまたは複数のクリックスルーパラメーターを更新するときに、前記検索結果がどのように影響するかに関連する情報を使用することを含めて、前記１つまたは複数のクリックスルーパラメーターを更新するように構成されていることを特徴とする請求項２に記載のシステム。
【請求項４】
前記検索コンポーネントはさらに、前記１つまたは複数のクリックスルーパラメーターを更新するように構成され、前記１つまたは複数のクリックスルーパラメーターの更新は、選択された検索結果、または、スキップされた検索結果に対応することを特徴とする請求項３に記載のシステム。
【請求項５】
１つまたは複数のランキング特性は、本文、タイトル、著者、生成されたタイトル、アンカーテキスト、およびＵＲＬから構成されるグループから選択される１つまたは複数の動的ランキング特性と、クリックディスタンス、ＵＲＬの深さ、ファイルタイプ、および言語から構成されるグループから選択される１つまたは複数の静的ランキング特性とを備えることを特徴とする請求項１に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピューターユーザーは、ローカルにまたはリモートに格納される情報を探し出す様々な方法を知っている。例えば、検索エンジンは、キーワードを用いてドキュメントおよび他のファイルを探し出すために使用することができる。また、検索エンジンは、ウェブベースのクエリを実行するために使用することができる。検索エンジンはクエリ(query)に基づいて関連する結果を返すよう試行する。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
本概要は下記の詳細な説明でさらに記述する簡潔な形式における概念の選択を紹介するために提供されている。本概要は、特許請求する主題の主要な特性または重要な特性を特定することも、特許請求する主題の範囲を決定する際に支援することも意図していない。
【課題を解決するための手段】
【０００３】
実施形態は、検索結果を提供するときに、１つまたは複数のランキング特性の使用を含む情報を提供するために構成されている。一実施形態において、システムは、ランキングアルゴリズムを有する検索エンジンを含んでおり、このランキングアルゴリズムは、１つまたは複数のランキング特性を使用し、クエリに基づいて検索結果をランク付けして提供するために構成することができる。一実施形態によると、ドキュメント長は、ランキング特性またはドキュメント関連性の尺度として使用することができる。
【０００４】
上記ならびに他の特性および利点は、下記の詳細な説明の理解および関連図面の閲覧から明白である。上記概略の記述および下記の詳細説明はいずれも、単に説明のみのものであり、特許請求された発明を限定するものではない。
【図面の簡単な説明】
【０００５】
【図１】情報を管理するように構成される例示的システムのブロック図である。
【図２】ランク付けおよびクエリ処理の例を示すフロー図である。
【図３】ランク付けおよびクエリ処理の例を示すフロー図である。
【図４】本明細書で記述する多様な実施形態の実施のためのコンピューティング環境を説明するブロック図である。
【発明を実施するための形態】
【０００６】
実施形態は、検索結果を提供するときに、１つまたは複数のランキング特性の使用を含む情報を提供するために構成される。一実施形態において、システムは、ランキングアルゴリズムを有する検索エンジンを含んでおり、このランキングアルゴリズムは、１つまたは複数のクリックスルーランキング特性を使用し、クエリに基づいて検索結果をランク付けして提供するために構成することができる。一実施形態において、システムは、クリックパラメーター、スキップパラメーター、１つまたは複数のストリームパラメーターおよびドキュメント長を使用し、検索結果をランク付けして提供することができるランキングコンポーネントを含む。
【０００７】
一実施形態において、システムは、コンピューター可読記憶媒体の一部として含むことが可能な検索アプリケーションを備える検索コンポーネントを含む。検索アプリケーションは、ユーザークエリ、ならびに、他のユーザーの行為および／または無行為に部分的に基づいて、検索結果を提供することができる。例えば、ユーザーは、検索アプリケーションにキーワードを入力することができ、検索アプリケーションは、そのキーワードを使用して関連する検索結果を返すことができる。ユーザーは、さらなる情報のために検索結果をクリックしてもしなくてもよい。後述するように、検索アプリケーションは、検索結果をランク付けして返すときに、情報に基づいて、先行の行為および先行の無行為を使用することが可能である。それに応じて、検索アプリケーションは、検索結果に基づいてユーザーとの対話を使用して、関連する検索結果を返すときに、追加の照準(focus)を提供することができる。例えば、検索アプリケーションは、ユーザークエリに基づいて検索結果をランク付けして検索結果を返すときに、クリックスルー(click through)情報を使用することができる。
【０００８】
図１は、索引付け、検索および他の機能を含むシステム１００のブロック図である。例えば、システム１００は、索引付け、検索、および、索引付けが行われたデータ構造の一部として情報の索引付けを行い、その索引付けが行われたデータ構造を使用して関連データを検索するために使用される他のアプリケーションを含むことができる。後述するように、システム１００のコンポーネントは、クエリに少なくとも部分的に基づいて、検索結果をランク付けして返すことができる。例えば、システム１００のコンポーネントは、１つまたは複数のキーワード、語句、および他の検索項目からなり得る、提供済みクエリに部分的に基づいて、検索結果をユーザーブラウザーに返すために使用されるウェブベースの検索エンジンを機能性に提供するために構成することが可能である。ユーザーは、クエリを、ブラウザーまたは検索ウィンドウ等のユーザーインターフェース１０３を用いて、検索コンポーネント１０２に提示することができる。
【０００９】
図１に示すように、システム１００は、クエリ入力に部分的に基づいて結果を返すために構成することが可能な検索エンジン等の検索コンポーネント１０２を含む。例えば、検索コンポーネント１０２は、１つの単語、複数の単語、語句、概念および他のデータを使用して、関連するファイル、ドキュメント、ウェブページおよび他の情報を探し出すために動作可能である。検索コンポーネント１０２は、情報を探し出す動作が可能であり、ＯＳ(operating system)、ファイルシステム、ウェブベースのシステムまたは他のシステムによって使用することができる。検索コンポーネント１０２は、アドイン(add-in)コンポーネントとして含むことも可能であり、ここでは、検索機能は、ホストシステムまたはホストアプリケーションによって使用可能である。
【００１０】
検索コンポーネント１０２は、ドキュメント等のファイル、ファイルコンテンツ、仮想コンテンツ、ウェブベースのコンテンツおよび他の情報に関連付けられ得る検索結果（例えば、ＵＲＬ(uniform resource locater)）を提供するために構成することが可能である。例えば、検索コンポーネント１０２は、ローカルファイル、リモートでネットワーク化が行われたファイル、ローカルファイルおよびリモートファイルの組み合わせ等に関連付けられる検索結果を返すときに、テキスト、プロパティ情報、および／またはメタデータを使用することが可能である。一実施形態において、検索コンポーネント１０２は、検索結果を提供するときに、ファイルシステム、仮想ウェブ、ネットワーク、または他の情報ソース(source)と対話することがある。
【００１１】
検索コンポーネント１０２は、ランキングアルゴリズム１０６、および、１つもしくは複数のランキング特性１０８に少なくとも部分的に基づいて、検索結果をランク付けするように構成可能なランキングコンポーネント１０４を含む。一実施形態において、ランキングアルゴリズム１０６は、検索コンポーネント１０２によるソート(sort)目的のために使用することが可能な数値または他の変数を提供するために構成することができる。ランキング特性１０８は、検索結果の関連性を識別するときに使用することが可能な、基本的な入力または生の数値として記述することができる。ランキング特性１０８は、データベースコンポーネント１１０において、収集、格納、および管理することができる。
【００１２】
例えば、クリックスルーランキング特性は、ユーザークエリに関連付けられるクエリ情報も含み得る幾つかのクエリロギング(query logging)テーブルを使用して、格納および管理することができる。別の実施形態では、ランキング特性１０８は、ローカルの記憶媒体、リモートの記憶媒体および他の記憶媒体を含む専用ストア(store)に格納して管理することができる。１つまたは複数のランキング特性１０８は、ランキングアルゴリズム１０６に入力することができ、ランキングアルゴリズム１０６は、ランキング決定の一部として、検索結果をランク付けするよう動作可能である。後述するように、一実施形態において、ランキングコンポーネント１０４は、ランキング決定の一部として、１つまたは複数のランキング特性１０８を操作することができる。
【００１３】
それに応じて、検索コンポーネント１０２は、検索結果を提供するために行われるランキング決定の一部として、１つまたは複数のランキング特性１０８を使用するときに、ランキングコンポーネント１０４および関連するランキングアルゴリズム１０６を使用することができる。検索結果は、関連性ランキングまたは何らかの他のランキングに基づいて提供することができる。例えば、検索コンポーネント１０２は、１つまたは複数のランキング特性１０８を用い、ランキングコンポーネント１０４により提供している関連性の決定に少なくとも部分的に基づいて、検索結果を、最も関連のあるものから少ないものまでレンダーリング（表示）することができる。
【００１４】
引き続き図１を参照すると、システム１００はまた、情報の索引付けのために使用可能な索引コンポーネント１１２を含む。索引コンポーネント１１２は、データベースコンポーネント１１０に格納される情報を索引付けて分類する(catalog)ために使用することができる。さらに、索引コンポーネント１０２は、幾つかの異質な情報ソース(source)に対して索引付けを行うときに、メタデータ、コンテンツ、および／または他の情報を使用することができる。例えば、索引コンポーネント１１２は、ドキュメントに関連付けられたＵＲＬを含むドキュメントへのキーワードをマッピングする変換済み索引データ構造を構築するために使用可能である。
【００１５】
検索コンポーネント１０２は、ランキングコンポーネント１０４によって提供されるランキングに従って、関連する検索結果を返すときに、索引付けが行われた情報を使用することができる。一実施形態において、検索の一部として、検索コンポーネント１０２は、キーワードおよび語句等のユーザーのクエリ情報の一部または全部を含む幾つかの候補ドキュメント等の候補結果のセットを識別するために構成することができる。例えば、クエリ情報は、ドキュメント本体もしくはメタデータ内で、または、他のドキュメントもしくはデータストア（例えば、アンカー(anchor)テキスト等）に格納することが可能なドキュメントに関連付けられている追加のメタデータ内で探し出すことが可能である。後述するように、検索結果のセットが大きい場合は、検索結果のセット全体を返すのではなく、検索コンポーネント１０２は、ランキングコンポーネント１０４を使用して、関連性または何らかの他の基準に対して候補のランク付けを行い、ランク付けの決定に少なくとも部分的に基づいて、セット全体のサブセットを返すことができる。しかし、候補セットが極端に大きくない場合は、検索コンポーネント１０２は、セット全体を返すよう動作することができる。
【００１６】
一実施形態において、ランキングコンポーネント１０４は、ランキングアルゴリズム１０６を使用し、特定のクエリに関連付けられている候補の関連性の度合いを予測することができる。例えば、ランキングアルゴリズム１０６は、候補の検索結果に関連付けられているランク値を計算することが可能であり、ここでは、より高いランク値は、より関連のある候補に対応する。１つまたは複数のランキング特性１０８を含む多数の特性は、検索コンポーネント１０２がランクまたは何らかの他の基準により、候補をソートすることを可能にする出力を計算できるランキングアルゴリズム１０６に入力することが可能である。検索コンポーネント１０２は、ランキングアルゴリズム１０６を使用して、ランキングに従って候補のセットを制限することにより、ユーザーが、多数のインターネットの候補および企業のＵＲＬ集合等の候補のセット全体を検査する必要性から解放することができる。
【００１７】
一実施形態において、検索コンポーネント１０２は、行為ベースおよび／または無行為ベースのランキング特性を監視しおよび収集することができる。行為ベースおよび無行為ベースのランキング特性は、データベースコンポーネント１１０に格納し、必要に応じて更新することができる。例えば、クリックスルー情報は、ユーザーが、クリック等により検索結果と対話するときに、１つまたは複数のランキング特性１０８として、監視し、およびデータベースコンポーネント１１０に格納することが可能である。この情報はまた、ユーザーが検索結果と対話していないときに追跡することができる。例えば、ユーザーは１つまたは複数の検索結果をスキップしてクリックしないことがあり得る。代替の実施形態において、入力検出器または他の記録コンポーネント等の別個のコンポーネントは、１つまたは複数の検索結果に関連付けられたユーザーとの対話を監視するために使用することができる。
【００１８】
検索コンポーネント１０２は、検索結果を返すときに、関連性の決定の一部として、選択された幾つかの収集済みの行為ベースおよび無行為ベースのランキング特性を使用することができる。一実施形態において、検索コンポーネント１０２は、クエリに基づいて検索結果を返すときに、関連性の決定の一部として、幾つかのクリックベースの対話型パラメーター(interaction parameter)を収集して使用することができる。例えば、ユーザーが、何らかの理由で結果のトップで返送されなかった検索結果（例えば、ドキュメント）をクリックする場合を想定する。後述するように、検索コンポーネント１０２は、クリック特性を記録しおよび使用して、一部のユーザーが同じクエリまたは類似のクエリを次回発行するときに、クリックされた結果のランクを上げることができる。検索コンポーネント１０２はまた、タッチ入力、ペン入力および他の積極的なユーザー入力等の他の対話型の特性、ならびに／または、対話型のパラメーターを収集して使用することができる。
【００１９】
一実施形態において、検索コンポーネント１０２は、１つまたは複数のクリックスルーランキング特性を使用することができ、ここでは、この１つまたは複数のクリックスルーランキング特性は、暗黙的なユーザーのフィードバックに基づく。クリックスルーランキング特性は、 データベースコンポーネント１１０の幾つかのクエリロギングテーブルにおいて、更新済みの特性を含んで収集されて格納される。例えば、検索コンポーネント１０２は、ＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ  ＳＨＡＲＥＰＯＩＮＴ  ＳＥＲＶＥＲ（登録商標）システム等の統合型のサーバプラットフォームの機能を使用して、ランキングの決定の一部として使用することが可能な対話ベースの特性を収集し、格納し、更新することができる。サーバプラットフォームの機能は、ウェブコンテンツの管理、企業のコンテンツサービス、企業検索、共有のビジネスプロセス、ビジネスの知的サービス、および他のサービスを含む。
【００２０】
本実施形態によると、検索コンポーネント１０２は、検索結果を返すときに、ランキングの決定の一部として１つまたは複数のクリックスルーランキング特性を使用できる。検索コンポーネント１０２は、関連性の決定の一部としてランキング順序付けにバイアスをかけるために使用できるクリックスルーランキング特性を編集するときに、先行のクリックスルー情報を使用できる。後述するように、１つまたは複数のクリックスルーランキング特性は、ユーザーが検索結果と対話するとき、または対話しないときに、検索結果が受け取る暗示的フィードバックを活用することにより、自己調整可能なランキング機能を提供するために使用することが可能である。例えば、幾つかの検索結果は、検索結果ページに対する関連性によりリストされた検索コンポーネント１０２によって提供することが可能であり、パラメーターは、ユーザーが検索結果をクリックするか、検索結果をスキップするかに基づいて収集される。
【００２１】
検索コンポーネント１０２は、検索結果をランク付けして提供するときに、格納された行為および／または無行為ベースの特性を含んで、データベースコンポーネント１１０における情報を使用できる。検索コンポーネント１０２は、要求者に対し関連する結果の現在のリストを提供するときに、クエリの結果に関連付けられた先行のユーザー行為または無行為に関連するクエリの記録および情報を使用できる。例えば、検索コンポーネント１０２は、発行されたユーザーのクエリに基づいて現在の参照リストを提供するときに、同一または類似のクエリに応答して、他のユーザーが先行の検索結果（例えば、ファイル、ドキュメント、フィード等）に対して応答した態様に関連付けられた情報を使用できる。
【００２２】
一実施形態において、検索コンポーネント１０２は、クエリおよび／またはクエリの文字列の記録ならびに使用、検索結果に関連付けられるユーザー行為および／または無行為の記録ならびに使用、ならびに、関連性の決定に関連付けられる他の情報の記録ならびに使用を行うように動作するＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ  ＳＨＡＲＥＰＯＩＮＴ  ＳＥＲＶＥＲ（登録商標）システム等のサービスシステムの機能とともに使用される。例えば、検索コンポーネント１０２は、特定のクエリに対してクリックされていた可能性がある検索結果ＵＲＬとともに発行済みのクエリの記録および使用を行うために、ＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ  ＳＨＡＲＥＰＯＩＮＴ  ＳＥＲＶＥＲ（登録商標」システムの機能とともに使用することが可能である。また、ＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ  ＳＨＡＲＥＰＯＩＮＴ  ＳＥＲＶＥＲ（登録商標）システムは、クリックされたＵＲＬ上に示された幾つかのＵＲＬ等の、クリックされたＵＲＬで示されまたは提示されたＵＲＬのリストを記録することもできる。さらに、ＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ  ＳＨＡＲＥＰＯＩＮＴ  ＳＥＲＶＥＲ（登録商標）システムは、特定のクエリに基づいて、クリックされなかった検索結果ＵＲＬを記録するよう動作することができる。クリックスルーランキング特性は、関連性の決定を行うときに、後述するように、集約し使用することができる。
【００２３】
一実施形態において、幾つかのクリックスルーランキング特性は、以下のように集約し、定義できる。
【００２４】
１）検索結果（例えば、ドキュメント、ファイル、ＵＲＬ等）がクリックされた回数（クエリ全てにわたり）に対応するするクリックパラメーター、Ｎｃ。
【００２５】
２）検索結果がスキップされた回数（クエリ全てにわたり）に対応するスキップパラメーター、Ｎｓ。すなわち、他の検索結果に含む検索結果が、ユーザーに見られていたかもしれないが、クリックされなかった。例えば、観察されまたはスキップされた検索結果は、クリックされた結果より高いランクを有する検索結果を示し得る。一実施形態において、検索コンポーネント１０２は、検索結果と対話するときに、ユーザーがトップからボトムまで検索結果をスキャンするという前提を用いることができる。
【００２６】
３）クリックされた検索結果に関連付けられた全部のクエリ文字列の集合(union)に対応するテキストストリームとして表わすことができる第１のストリームパラメーター、Ｐｃ。一実施形態において、その集合は、結果が返されクリックされた全部のクエリ文字列を含む。クエリ文字列の複写は可能である（すなわち、個々のクエリは、和演算(union operation)で使用することができる）。
【００２７】
４）スキップされた検索結果に関連付けられた全部のクエリ文字列の集合に対応するテキストストリームとして表わすことができる第２のストリームパラメーター、Ｐｓ。一実施形態において、その集合は、結果が返されスキップされたクエリ文字列全てを含む。クエリ文字列の複写は可能である（すなわち、個々のクエリは、和演算で使用することができる）。
【００２８】
上記リスト化したクリックスルーランキング特性は、所望のときに、例えばある定期的な間隔を基本にした１つまたは複数のクローリング(crawling)システム等により収集し、各検索結果に関連付けることができる。例えば、１つまたは複数のクリックスルーランキング特性は、ユーザーのクエリに基づいて検索コンポーネント１０２によって返送されたドキュメントに関連付けることができる。その後、１つまたは複数のクリックスルーランキング特性は、ランキングコンポーネント１０４に入力し、ランキング決定および関連性の決定の一部として、ランキングアルゴリズム１０６で使用できる。幾つかのケースにおいて、一部の検索結果（例えば、 ドキュメント、ＵＲＬ等）は、クリックスルー情報を含まないことがある。クリックスルー情報をもたない検索結果に関しては、ある特定のテキストプロパティ（例えば、Ｐｃおよび／またはＰｓストリーム）は空白のままであり、ある特定の静的パラメーター（例えば、ＮｃおよびＮｓ）は０値になり得る。
【００２９】
一実施形態において、１つまたは複数のクリックスルーランキング特性は、完全クロールおよび／または増分クロールを含んで、クロール(crawl)の間に１つまたは複数のクリックスルー集約を収集するよう最初に要求するランキングアルゴリズム１０６で使用できる。例えば、検索コンポーネント１０２は、クリックスルーランキング特性に関連付けられた情報および他のデータを収集するとき、ファイルシステム、ウェブベースの収集、または他のリポジトリー(repository)をクロールするよう動作できるクローラー(crawler)を使用できる。１つまたは複数のクローラは、１つまたは複数のクロール対象および特別な実施により、１回または複数回のクロールに対して実施可能である。
【００３０】
検索コンポーネント１０２は、任意のクリックスルーランキング特性を含む収集済みの情報を使用し、検索結果をランク付けするときに使用可能な１つまたは複数の特性により、幾つかのクエリロギングテーブル等のクエリ独立ストアを更新できる。例えば、検索コンポーネント１０２は、更新されたクリックスルー情報を含む検索結果の各々についてのクリック（Ｎｃ）パラメーターおよび／またはスキップ（Ｎｓ）パラメーターにより、幾つかのクエリロギングテーブルを更新できる。また、更新されたクエリ独立ストアに関連付けられた情報は、索引付けの動作を実行するときに索引コンポーネント１０２を含む様々なコンポーネントにより使用できる。
【００３１】
従って、索引コンポーネント１１２は、任意の変更または更新を、１つまたは複数の独立ストアから定期的に取得できる。さらに、索引コンポーネント１１２は、１つまたは複数の動的な特性および他の特性を含むことができる１つまたは複数の索引を、定期的に更新できる。一実施形態において、システム１００は、検索コンポーネント１０２がクエリを扱うために使用できる２つの索引、例えば主索引および２次的(secondary)索引を含むことができる。第１の（主）索引は、ウェブサイト、ファイルサーバーおよび他の情報リポジトリーに関連するドキュメント本体および／ならびにメタデータから、キーワードを索引するために使用することができる。２次的索引は、ドキュメントから直接取得し得ない追加のテキスト特性および静的な特性を索引するために使用できる。例えば、追加のテキスト特性および静的な特性は、アンカーテキスト、クリックディスタンス、クリックデータ等を含んでもよい。
【００３２】
また、２次的索引は別個の更新スケジュールを可能にする。例えば、新規のドキュメントがクリックされた場合、関連データを索引するためには、２次的索引のみを部分的に再構築する必要がある。このように、主索引は、変更なしの状態を維持し、ドキュメント全体は、再度のクロールを必要としない。主索引構造は、変換済みの索引としての構造とすることが可能であり、ドキュメントＩＤへのキーワードをマッピングするために使用することができるが、限定はされない。例えば、索引コンポーネント１１２は、第１のストリームパラメーターＰｃおよび／または第２のストリームパラメーターＰｓを用いて、更新されたクリックスルー情報を含む各検策結果に対して、２次的索引を更新できる。その後、１つまたは複数のクリックスルーランキング特性および関連パラメーターは、クエリの実行に関連する関連性の決定の一部として、ランキングアルゴリズム１０６への１つまたは複数の入力など、検索コンポーネント１０２により適用されて使用される。
【００３３】
後述するように、２層ニューラルネットワークは、関連性の決定の一部として使用できる。一実施形態において、２層ニューラルネットワークの実施は、２層ニューラルネットワークを使用する順方向伝播(forward propagation)プロセスの一部として、トレーニングフェーズ(training ranking phase)とランキングフェーズ(ranking phase)を含む。ラムダランキングモデル(lambda ranking model)は、トレーニングフェーズの間、トレーニングアルゴリズム（C. Burges, R. Ragno, Q. V. Le, “Learning To Rank With Nonsmooth Cost Functions,”Scholkopf, Platt, Hofmann (Ed.) Advances in Neural Information Processing Systems 19, Proceedings of the 2006 Conference, (MIT Press, 2006)参照）として使用でき、ニューラルネット順方向伝播モデルは、ランキングの決定の一部として使用できる。例えば、標準ニューラルネット順方向伝播モデルは、ランキングフェーズの一部として使用できる。１つまたは複数のクリックスルーランキング特性は、２層ニューラルネットワークとともに、ユーザーのクエリに基づいてクエリ結果を返すときに、関連性の決定の一部として使用できる。
【００３４】
一実施形態において、ランキングコンポーネント１０４は、２層ニューラルネットワークスコアリング関数を含むランキングアルゴリズム１０６を活用する。これ以降「スコアリング関数」は、以下のものを含む。
【００３５】
【数１】
0005620913.tif 000002
【００３６】
式中、
【００３７】
【数２】
0005620913.tif 000003
【００３８】
式中、
【００３９】
ｈｊは隠れノードｊの出力、
【００４０】
ｘｉは１つまたは複数のランキング特性入力等の入力ノードｉからの入力値、
【００４１】
ｗ２ｊは隠れノード出力に適用される重み、
【００４２】
ｗｉｊは隠れノードｊにより入力値ｘｉに適用される重み、
【００４３】
ｔｊは隠れノードｊに対する閾値、
【００４４】
ｔａｎｈは双曲正接(tangent)関数であり、すなわち
【００４５】
【数３】
0005620913.tif 000004
である。
【００４６】
代替の実施形態において、ｔａｎｈ関数と同様のプロパティおよび特徴を有する他の関数は上記に用いることができる。一実施形態において、変数ｘｉは、１つまたは複数のクリックスルーパラメーターを表わすことが可能である。λランクのトレーニングアルゴリズムは、関連性の決定の一部としてランク付けを行う前に、２層ニューラルネットワークスコアリング関数をトレーニングすることができる。さらに、新規の特性およびパラメーターは、トレーニング精度またはトレーニング速度に大きな影響を与えることなく、スコアリング関数に追加することができる。
【００４７】
１つまたは複数のランキング特性１０８は、ユーザーのクエリに基づいて検索結果を返すときに、関連性を決定する場合、ランキングアルゴリズム１０６（本実施形態については２層ニューラルネットワークのスコアリング関数）に入力されて使用することができる。一実施形態において、１つまたは複数のクリックスルーランキングパラメーター（Ｎｃ、Ｎｓ、Ｐｃ、および／またはＰｓ）は、ユーザーのクエリに基づいて検索結果を返す一部として、関連性を決定する場合、ランキングアルゴリズム１０６に入力されて使用することができる。
【００４８】
Ｎｃパラメーターは、２層ニューラルネットのスコアリング関数に追加入力するために使用することができる。一実施形態において、Ｎｃパラメーターに関連する入力値は、次の式に従って計算可能である。
入力＝
【００４９】
【数４】
0005620913.tif 000005
【００５０】
式中、
【００５１】
一実施形態において、Ｎｃパラメーターは、検索結果がクリックされた回数（全クエリおよび全ユーザーにわたり）に関連する生のパラメーター値に対応する。
【００５２】
ＫＮｃは調節可能なパラメーター（例えば、０以上）である。
【００５３】
ＭＮｃおよびＳＮｃは、トレーニングデータに関連する平均偏差パラメーターおよび標準偏差パラメーターまたは正規化定数であり、
【００５４】
ｉＮｃは入力モードの索引と一致する。
【００５５】
Ｎｓパラメーターは、２層ニューラルネットのスコアリング関数に追加入力するために使用することができる。一実施形態において、Ｎｓパラメーターに関連する入力値は、次の式に従って計算できる。
入力＝
【００５６】
【数５】
0005620913.tif 000006
【００５７】
式中、
【００５８】
一実施形態において、Ｎｓパラメーターは、検索結果がスキップされた回数（全クエリおよび全ユーザーにわたって）に関連する生のパラメーター値と一致する。
【００５９】
ＫＮｓは調節可能なパラメーター（例えば、０または複数）、
【００６０】
ＭＮｓおよびＳＮｓは、トレーニングデータに関連する平均および標準偏差パラメーターまたは正規化定数であり、
【００６１】
ｉＮｓは入力ノードの索引と一致する。
【００６２】
Ｐｃパラメーターは、２層ニューラルネットのスコアリング関数にコンテンツ依存入力をするために使用可能な下式（４）に組み込むことが可能である。
【００６３】
【数６】
0005620913.tif 000007
【００６４】
ＴＦ’ｔについての式は次のように計算できる。
【００６５】
【数７】
0005620913.tif 000008
【００６６】
式中、
【００６７】
Ｑはクエリ文字列、
【００６８】
ｔは個々のクエリ用語（例えば、単語）、
【００６９】
Ｄはスコアリングの結果（例えば、ドキュメント）
【００７０】
ｐは個々の結果プロパティ（例えば、ドキュメント）（例えば、タイトル、本文、アンカーテキスト、著者等、およびランク付けに使用する任意の他のテキストプロパティ）、
【００７１】
Ｎは検索領域の結果（例えば、ドキュメント）の総数、
【００７２】
ｎｔは用語ｔを含む結果（例えば、ドキュメント）の数、
【００７３】
ＤＬｐはプロパティｐの長さ、
【００７４】
ＡＶＤＬｐはプロパティｐの平均長、
【００７５】
ＴＦｔ，ｐはプロパティｐの用語ｔの頻度、
【００７６】
ＴＦｔ，ｐｃは、パラメーターＰｃで所与の用語が出現する回数に対応、
【００７７】
ＤＬｐｃはパラメーターＰｃの長さ（例えば、含まれる用語数）と一致、
【００７８】
ＡＶＤＬｐｃはパラメーターＰｃの平均長と一致、
【００７９】
ｗｐｃおよびｂｐｃは調節可能パラメーターと一致、
【００８０】
Ｄ＼ＰｃはプロパティＰｃを除いたドキュメントＤのプロパティのセットと一致（Ｐｃについての項目は、明確性のみのために総和記号の外側に記す）、
【００８１】
ｉＢＭ２５ｍａｉｎは入力ノードの索引、
【００８２】
ＭおよびＳは平均偏差正規化定数および標準偏差正規定数を表す。
【００８３】
Ｐｓパラメーターは、２層ニューラルネットのスコアリング関数に追加入力するために使用できる下式（６）に組み込むことができる。
入力＝
【００８４】
【数８】
0005620913.tif 000009
【００８５】
ここでは、
【００８６】
【数９】
0005620913.tif 000010
【００８７】
および
【００８８】
ＴＦｔ、ｐｓは所与の用語がＰｓパラメーターに関連付けられる回数を表し、
【００８９】
ＤＬｐｓは、Ｐｓパラメーターの長さ（例えば、用語数）を表し、
【００９０】
ＡＶＤＬｐｓはＰｓパラメーターの平均長を表し、
【００９１】
Ｎは言語資料(corpus)内の検索結果（例えば、ドキュメント）数を表し、
【００９２】
ｎｔは所与のクエリ用語を含む検索結果（例えば、ドキュメント）の数を表し、
【００９３】
ｋ１”、ｗｐｓ、ｂｐｓは調節可能パラメーターを表し、ならびに
【００９４】
ＭおよびＳは、平均偏差正規化定数および標準偏差正規化定数を表す。
【００９５】
１つまたは複数の入力が上記のように計算されると、１つまたは複数の入力は式（１）に入力可能となり、関連性の決定の一部として検索結果をランク付けするときに使用できるスコアまたはランキングを出力できる。例として、ｘ１はＮｃパラメーターに関連する計算された入力を表すために使用でき、ｘ2はＮｓパラメーターに関連する計算された入力を表すために使用でき、ｘ3はＰｃパラメーターに関連する計算された入力を表すために使用でき、かつ、ｘ4はＰｓパラメーターに関連する計算された入力を表すために使用できる。上記のように、ストリームはまた、本文、タイトル、著者、ＵＲＬ、アンカーテキスト、生成されたタイトル、および／またはＰｃを含むことができる。従って、１つまたは複数の入力、例えば、ｘ１、ｘ２、ｘ３、および／またはｘ４は、関連性の決定の一部として検索結果をランク付けするとき、スコアリング関数（１）に入力できる。それに応じて、検索コンポーネント１０２は、発行クエリおよび１つまたは複数のランキング入力に基づいて、ユーザーに対し、ランク付けした検索結果を提供できる。例えば、検索コンポーネント１０２は、ＵＲＬのセットを返すことができる。ここでは、セット内のＵＲＬは、ランキングの順序（例えば、高い関連性の値から低い関連性の値まで）に基づいてユーザーに提示できる。
【００９６】
他の特性はまた、検索結果をランク付けして提供するときに使用できる。一実施形態において、クリックディスタンス（ＣＤ）、ＵＲＬの深さ（ＵＤ）、ファイルタイプ、先行タイプ（Ｔ）、言語もしくは先行言語、および／または他のランキング特性は、検索結果をランク付けして提供するために使用できる。１つまたは複数の追加のランキング特性は、線形(linear)ランキング決定、ニューラルネット決定、または他のランキング決定の一部として使用可能である。例えば、１つまたは複数の静的ランキング特性は、１つまたは複数の動的ランキング特性とともに、線形ランキング決定、ニューラルネット決定、または他のランキング決定の一部として使用できる。
【００９７】
従って、ＣＤはクリックディスタンスを表しており、ここではＣＤは、参照位置から、ページまたはドキュメント等の所与の対象にいたるのに必要とされる「クリック」の回数を測定するクエリ独立ランキング特性として記述できる。ＣＤは、ルートノード（例えば、ホームページ）およびそのルートから他のノードへ延びる続きの分岐を有するツリー構造をたどり得るシステムの階層構造を利用する。グラフのようにツリーを閲覧するときに、ＣＤは、参照位置としてのルートと所与のページとの間の最短経路として表わすことが可能である。ＵＤはＵＲＬの深さを表しており、ここではＵＤは、ＵＲＬ内のスラッシュ「／」の数のカウントを表すために使用することができる。Ｔは先行タイプを表し、Ｌは先行言語を表す。
【００９８】
Ｔの特性およびＬの特性は、列挙したデータタイプを表すために使用することができる。そのようなデータタイプの例として、ファイルタイプおよび言語タイプがある。例として、任意の所与の検索領域に対して、有限個のファイルタイプセットがあり、かつ／または関連する検索エンジンにより支援され得る。例えば、企業のイントラネットは、ワード処理文書、スプレッドシート、ＨＴＭＬウェブページ、および他のドキュメントを含み得る。これらのファイルタイプの各々は、関連するドキュメントの関連性と異なる影響を与える可能性がある。例示的変換は、支援される各ファイルタイプの１つについて、ファイルタイプ値をバイナリーフラッグのセットに変換できる。これらフラッグの各々は、ニューラルネットワークにより個々に使用でき、各フラッグに個々の重みを与えて個別に処理することが可能である。言語（ドキュメントが書いてある）は、ドキュメントが、ある言語で書いてあるかどうかを示すために使用される単一の離散バイナリーフラッグを用いて、同様の態様で処理することができる。用語の合計頻度はまた、本文、タイトル、著者、アンカーテキスト、ＵＲＬ表示名、抽出タイトル等も含み得る。
【００９９】
最終的には、ユーザーの満足度は、検索コンポーネント１０２の動作が最も確かな尺度の１つである。ユーザーは、結果として得られる候補のセットを調べるのに長い時間を費やす必要がないよう、検索コンポーネント１０２が最も関連する結果を迅速に返すのが好ましい。例えば、メトリック評価(metric evaluation)は、ユーザーの満足度のレベルを決定するために使用することができる。一実施形態において、メトリック評価は、ランキングアルゴリズム１０６への入力、または、ランキングアルゴリズム１０６の様態を変えることにより改善することができる。メトリック評価は、クエリの一部の代表的またはランダム的なセットで計算可能である。例えば、クエリの代表的なセットは、データベースコンポーネント１１０に格納されているクエリログに含まれるクエリのランダム的なサンプルに基づいて選択することができる。関連性のラベルは、各メトリック評価クエリについて、検索コンポーネント１０２によって返送された各結果に割り当てられる、または、関連付けられる。
【０１００】
例えば、メトリック評価は、上位Ｎ個（＠１、５、１０等）の結果（精度(precision)１、５、１０等とも称する）で、クエリの関連するドキュメントの平均カウントを含み得る。別の例として、より複雑な測定は、平均精度またはＮＤＣＧ(Normalized Discounted Cumulative Gain）等の検索結果を評価するために使用することができる。ＮＤＣＧは、マルチレベルの判定を可能し、かつ、関連性のより低いドキュメントをランク上位で、関連性のより高いドキュメントを下位ランクで返すために、検索コンポーネント１０２を不利にする累積メトリックとして説明可能である。メトリックは、全体的な精度の定量化を決定するために、クエリセットを平均化することができる。
【０１０１】
ＮＤＣＧの例を続けて、所与のクエリ「Ｑｉ」について、ＮＤＣＧは次のように計算できる。
【０１０２】
【数１０】
0005620913.tif 000011
【０１０３】
ここで、典型的にはＮは３または１０である。メトリックは、全体的な精度の数値を決定するために、クエリセットを平均化することが可能である。
【０１０４】
下記は、スコアリング関数（１）でＮｃ、ＮｓおよびＰｃクリックスルーパラメーターの使用に基づいて得られた幾つかの実験的結果である。実験は１０分割したクエリセット（７４４クエリ、〜１３０，０００のドキュメント）、５分割交差検定(5-fold cross-validation）ランで実施された。各分割について、６分割はトレーニングのため、２分割は検定およびテストのために使用された。λランクアルゴリズムの標準バージョンが使用された（上記参照）。
【０１０５】
従って、４つの隠れノードで２層ニューラルネットのスコアリング関数を使用した集約結果は、下記の表１のようになった。
【０１０６】
【表１】
0005620913.tif 000012
【０１０７】
６つの隠れノードで２層ニューラルネットのスコアリング関数を使用した集約結果は、下記の表２のようになった。
【０１０８】
【表２】
0005620913.tif 000013
【０１０９】
ドキュメントの関連性の測定として使用することができる１つの追加のランキング特性１０８は、ドキュメント長である。ドキュメント長は、効果的なランキング付けのツールとなり得る。なぜなら、一般的に、短いドキュメントはユーザーにとって有用となる十分な情報を含まないからである。すなわち、短いドキュメントは一般的に、検索クエリに答えを与えない。一方で、大きなドキュメントは一般的に、かなりの情報を含むので、ドキュメント内のどの情報が検索クエリに関連しているかを決定するのがときどき困難になる。
【０１１０】
多くの様々なタイプのドキュメントが検索クエリの結果として返されるので、ドキュメントのランクを決定する際の第１のステップは、ドキュメント長の正規化された値を計算することである。これは、ランク付けが行われるドキュメントのタイプからドキュメント長を独立させるために行う。正規化されたドキュメント長は、表現すると、例えば検索クエリの結果として返されるドキュメントのような、ランク付けが行われるドキュメントのセットの平均長で除算されるドキュメントの長さに等しいとして定義される。このことは次の式で表すことができる。
Ｄ＝ＬＤ／ＬＡＶＧ                          （９）
ここで、Ｄは正規化ドキュメント長を表し、ＬＤはランク付けされるドキュメントの長さを表し、ＬＡＶＧはドキュメントのセットにおけるドキュメント平均長を表す。
【０１１１】
次に、変換関数は、正規化されたドキュメント長について、０から、より関連性のあるドキュメントを表すより高いランキング値である１まで、ランキング値を与える。一実施形態において、変換関数は次のように表すことができる。
Ｆ（Ｄ）＝Ｄ，Ｄ＜＝１                                （１０）
Ｆ（Ｄ）＝０．５＋（３−Ｄ）／４，１＜Ｄ＜＝３        （１１）
Ｆ（Ｄ）＝２／（Ｄ＋１），Ｄ＞３                      （１２）
【０１１２】
本例の変換関数は、極端に長い、または極端に短いドキュメントに対しては不利に作用する。最高のランキング値である１は、平均長のドキュメント、すなわち、正規化の長さ１を有するドキュメントについて計算される。対照的に、正規化された長さ０．５（すなわち、平均長の半分）であるドキュメントは、０．５のランキング値を有し、正規化された長さ７（すなわち、平均長の７倍）であるドキュメントは、０．２５のランキング値を有する。
【０１１３】
ドキュメント長のランキング値は、データベースコンポーネント１１０に格納し、必要に応じて更新できる。検索コンポーネント１０２は、検索結果をランク付けし提供するときに、データベースコンポーネント１１０におけるドキュメント長の情報を使用できる。
【０１１４】
図２は、一実施形態に従って、ユーザーのクエリに部分的に基づいて情報を提供するプロセスを示すフロー図である。図１のコンポーネントは、図２の記述において使用するが、本実施形態はそれに限定されない。２００において、検索コンポーネント１０２は、ユーザーのクエリに関連付けられたクエリデータを受信する。例えば、ウェブベースのブラウザーを使用するユーザーは、ユーザーのクエリを定義する幾つかのキーワードから構成されるテキスト文字列を提出できる。２０２において、検索コンポーネント１０２は、データベースコンポーネント１１０と通信し、ユーザーのクエリに関連付けられた任意のランキング特性１０８を取り出すことができる。例えば、検索コンポーネント１０２は、幾つかのクエリテーブルから、１つまたは複数のクリックスルーランキング特性を取り出すことができ、ここでは１つまたは複数のクリックスルーランキング特性は、類似または同一のキーワードを有する事前に発行されたクエリに関連付けられている。
【０１１５】
２０４において、検索コンポーネント１０２は、ユーザーのクエリを使用して、１つまたは複数の検索結果を探し出すことができる。例えば、検索コンポーネント１０２は、テキスト文字列を使用し、ファイルシステム、データベース、ウェブベースの収集、または何らかの他の情報リポジトリーに関連する、ドキュメント、ファイル、および他のデータ構造を探し出すことができる。２０６において、検索コンポーネント１０２は、１つまたは複数のランキング特性１０８を使用し、検索結果をランク付けする。例えば、検索コンポーネント１０２は、１つまたは複数のクリックスルーランキングパラメーターを、各検索結果についてのランキングに関連する出力を提供することができるスコアリング関数（１）に入力できる。
【０１１６】
２０８において、検索コンポーネント１０２は、そのランキングを使用して、検索結果をランク付けされた順でユーザーに提供できる。例えば、検索コンポーネント１０２は、幾つかの取り出したドキュメントをユーザーに提供でき、ここでは、取り出されたドキュメントは、ランキング番号順（例えば、降順、昇順等）にユーザに提示できる。２１０において、検索コンポーネント１０２は、検策結果に関連付けられたユーザーの行為または無行為を使用し、データベースコンポーネント１１０に格納され得る１つまたは複数のランキング特性１０８を更新できる。例えば、ユーザーがＵＲＬ検索結果をクリックし、またはスキップした場合は、検索コンポーネント１０２は、クリックスルーデータ（クリックデータまたはスキップデータ）を、データベースコンポーネント１１０の幾つかのクエリロギングテーブルに押し込むことができる。その後、索引コンポーネント１１２は、索引付けが行われた情報の分類の更新に関連付けられる索引付け動作を含んで、多様な索引付け動作について、更新されたランキング特性を使用するよう動作することができる。
【０１１７】
図３は、一実施形態に従って、ユーザーのクエリに部分的に基づいて情報を提供するプロセスを示すフロー図である。再度、図１のコンポーネントは、図３の記述おいて使用されるが、本実施形態はそれに限定されない。図３のプロセスは、ユーザーインターフェース１０３から発行されたユーザーのクエリを受信する検索コンポーネント１０２の後に続いており、ここでは、検索コンポーネント１０２は、ユーザーのクエリを満たす幾つかのドキュメントを探し出している。例えば、検索コンポーネント１０２は、提供された幾つかのキーワードを使用して、ウェブベースの検索の一部として、ドキュメントを探し出すことができる。
【０１１８】
３００において、検索コンポーネント１０２は、ユーザーのクエリを満足させた次のドキュメントを取得する。３０２において全てのドキュメントが検索コンポーネント１０２によって探し出された場合、フローは３１６に進み、ここにおいて、検索コンポーネント１０２は、ランクに従い、探し出されたドキュメントをソートできる。３０２において全てのドキュメントが探し出されなかった場合、フローは３０４に進み、検索コンポーネント１０２は、データベースコンポーネント１１０から任意のクリックスルー特性を取り出し、ここにおいて、取り出されたクリックスルー特性は、検索コンポーネント１０２によって探し出された現在のドキュメントに関連付けられる。
【０１１９】
３０６において、検索コンポーネント１０２は、ランキングの決定の一部としてスコアリング関数（１）による使用のために、Ｐｃパラメーターに関連する入力を計算できる。例えば、検索コンポーネント１０２は、Ｐｃパラメーターを式（４）に入力して、Ｐｃパラメーターに関連する入力を計算できる。３０８において、検索コンポーネント１０２は、ランキングの決定の一部としてスコアリング関数（１）による使用のために、Ｎｃパラメーターに関連する第２の入力を計算できる。例えば、検索コンポーネント１０２は、Ｎｃパラメーターを式（２）に入力し、Ｎｃパラメーターに関連する入力を計算できる。
【０１２０】
３１０において、検索コンポーネント１０２は、ランキングの決定の一部としてスコアリング関数（１）により使用するために、Ｎｓパラメーターに関連する第３の入力を計算できる。例えば、検索コンポーネント１０２は、Ｎｓパラメーターを式（３）に入力し、Ｎｓパラメーターに関連する入力を計算できる。３１２において、検索コンポーネント１０２は、ランキング決定の一部としてスコアリング関数（１）により使用するために、Ｐｓパラメーターに関連する第４の入力を計算できる。例えば、検索コンポーネント１０２は、Ｐｓパラメーターを式（６）に入力し、Ｐｓパラメーターに関連する入力を計算できる。
【０１２１】
３１３において、検索コンポーネント１０２は、ランキングの決定の一部としてスコアリング関数（１）による使用のために、ドキュメント長に関連する第５の入力を計算できる。例えば、検索コンポーネント１０２は、ユーザーのクエリの結果として取得した各ドキュメントの単語数、そのドキュメントの長さを表す各ドキュメントの単語数を計算できる。正規化された各ドキュメント長は、式（９）を使用して、各ドキュメントの長さをクエリの結果として取得された全ドキュメントの平均長によって除算することにより取得できる。ドキュメント長に基づいたランキング値は次に、式（１０）、（１１）、（１２）により定義される変換関数を用いて、０〜１間の範囲を有するランキング値を計算することで取得できる。
【０１２２】
３１４において、検索コンポーネント１０２は、１つまたは複数の計算された入力をスコアリング関数（１）に入力し、現在のドキュメントに対してランキングを計算するよう動作する。代替の実施形態において、検索コンポーネント１０２は、各クリックスルーパラメーター用の入力を計算するのでなく、選択パラメーターに関連付けられる入力値を代わりに計算することも可能である。ランク付けする残りのドキュメントが全てなくなった場合、３１６において、検索コンポーネント１０２はランキングによりドキュメントをソートする。例えば、検索コンポーネント１０２は、最高のランク値を有するドキュメントで始まり、最低のランク値を有するドキュメントで終わるランクの降順に従い、ドキュメントをソートすることが可能である。検索コンポーネント１０２はまた、打ち切りとしてランキングを使用し、ユーザーに提示する結果の数を制限できる。例えば、検索コンポーネント１０２は、検索結果を提供するとき、Ｘより大きいランキングを有するドキュメントのみを提示できる。その後、検索コンポーネント１０２は、ソートされたドキュメントを、さらなる行為または無行為のためにユーザーに提供できる。ある順序は、図２および図３に関して記述しているが、その順序は所望の実施に従い変更可能である。
【０１２３】
本明細書で説明した実施形態および例は限定を意図しておらず、他の実施形態の利用が可能である。さらに、上記のコンポーネントは、ネットワーク型、分散型、または他のコンピューター実施型の環境の一部として実装できる。コンポーネントは、有線、無線、および／またはその組み合わせの通信ネットワーク介して通信できる。デスクトップコンピューター、ラップトップコンピューター、ハンドヘルドコンピューター、または他のスマートデバイスを含む幾つかのクライアントコンピューティングデバイスは、システム１００と相互に通信でき、および／またはシステム１００の一部として含むことができる。
【０１２４】
代替の実施形態において、多様なコンポーネントを、所望の実装に従って組み合わせ、および／または構成できる。例えば、索引コンポーネント１１２は、索引付けおよび検索を機能的に提供するため、単一のコンポーネントとして検索コンポーネント１０２に含むことができる。さらなる例として、ニュ―ラルネットワークは、ハードウェアまたはソフトウェアのどちらでも実装可能である。ある特定の実施形態はソフトウェア実装を含んでいるが、それらはそれらのみに限定されず、ハードウェアまたはハードウェア／ソフトウェアが混在する解決策を包括している。他の実施形態および構成の利用も可能である。
【０１２５】
例示的動作環境
次に、図４を参照すると、下記の議論は、本発明の実施形態が実施し得る適切なコンピューティング環境の簡潔かつ一般的な説明をするために意図されている。本発明は、パーソナルコンピューター上のオペレーティングシステムで動作するプログラムモジュールととともに実行するプログラムモジュールの一般的なコンテキストで説明するが、本発明が、他のタイプのコンピューターシステムおよびプログラムモジュールと組み合わせて実施することも可能であることは、当業者には認識される。
【０１２６】
一般的には、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実行するルーチン、プログラム、コンポーネント、データ構造、および他のタイプの構造を含む。さらに、本発明が、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家電機器、ミニコンピューター、メインフレームコンピューター等を含む、他のコンピューターシステム構成で実施可能なことは、当業者には理解される。本発明はまた、通信ネットワークを介してリンクされるリモート処理装置によってタスクが実行される、分散型コンピューティング環境で実施可能である。分散型コンピューティング環境において、プログラムモジュールは、ローカルおよびリモートの両方のメモリー記憶装置内に配置し得る。
【０１２７】
さらに、図４を参照して、本発明の実施形態の例示的動作環境を説明する。図４に示すように、コンピューター２は、汎用デスクトップ、ラップトップ、ハンドヘルド、または、１つもしくは複数のアプリケーションプログラムを実行可能な他のタイプのコンピューターを含む。コンピューター２は、少なくとも１つのＣＰＵ８、ＲＡＭ(randam access memory)１８およびＲＯＭ(read-only memory)２０を含むシステムメモリー１２、およびＣＰＵ８にメモリーを接続するシステムバス１０を含む。起動時等に、コンピューター内の構成要素間で情報を転送する補助をする基本ルーチンを包含する基本入／出力システムを、ＲＯＭ２０に格納する。コンピューター２は、オペレーティングシステム３２、アプリケーションプログラム、および他のプログラムモジュールを格納するための大容量記憶装置１４をさらに含む。
【０１２８】
大容量記憶装置１４は、バス１０に接続された大容量記憶制御装置（図示せず）を介して、ＣＰＵ８に接続されている。大容量記憶装置１４およびその関連コンピューター可読媒体は、不揮発性記憶装置をコンピューター２に提供する。本明細書に包含するコンピューター可読媒体の説明は、ハードディスクまたはＣＤ-ＲＯＭドライブ等の大容量記憶装置に言及しているが、当業者には当然に、コンピューター可読媒体がコンピューター２によってアクセス可能または活用可能な任意の利用可能な媒体とすることができる。
【０１２９】
例として、限定的ではないが、コンピューター可読媒体は、コンピューター記憶媒体および通信媒体を含むことが可能である。コンピューター記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュールまたは他データ等の情報を記憶する任意の方法または技術で実施する、揮発性、不揮発性、移動可能、および、移動不可能媒体を含む。コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリーもしくは他の半導体メモリー技術、ＣＤ−ＲＯＭ、ＤＶＤ、他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または、所望の情報を格納するために使用可能もしくはコンピューター２によってアクセス可能な他の任意な媒体を含むが、これらに限定されない。
【０１３０】
本発明の多様な実施形態によると、コンピューター２は、ローカルネットワーク、インターネット等のネットワーク４を介して、リモートコンピューターへの論理接続を使用するネットワーク化された環境で動作し得る。コンピューター２は、バス１０に接続されたネットワークインターフェースユニット１６を介してネットワーク４に接続し得る。当然のことながら、ネットワークインターフェースユニット１６も活用して、他のタイプのネットワークおよびリモートコンピューティングシステムに接続することは可能である。コンピューター２はまた、キーボード、マウス等（図示せず）を含む幾つかの他のデバイスからの入力を受信して処理するための入出力制御装置２２も含む。同様に、入出力制御装置２２は、表示画面、プリンタ、または他のタイプの出力ディバスに出力を行うことが可能である。
【０１３１】
簡潔に上述したように、幾つかのプログラムモジュールおよびデータファイルは、ワシントン州レッドモンドのＭＩＣＲＯＳＯＦＴ社が提供するＷＩＮＤＯＷＳオペレーティングシステム等の、ネットワーク型パーソナルコンピューターの動作を制御するのに適切なオペレーティングシステム３２を含む、コンピューター２の大容量記憶装置１４およびＲＡＭ１８に格納可能である。大容量記憶装置１４およびＲＡＭ１８はまた、１つまたは複数のプログラムモジュールを格納可能である。特に、大容量記憶装置１４およびＲＡＭ１８は、検索アプリケーション２４、ワード処理アプリケーション２８、スプレッドシートアプリケーション３０、電子メールアプリケーション３４、描画アプリケーション等のアプリケーションプログラムを格納できる。
【０１３２】
当然のことながら、本発明の多様な実施形態は、（１）コンピューティングシステム上で動作する一連の、コンピューター実施行為(act)もしくはプログラムモジュールとして、および／または、（２）コンピューティングシステム内の相互接続された機械論理回路もしくは回路モジュールとして、実装することができる。本実装は、本発明を実装するコンピューティングシステムの性能要件に依存する選択の問題である。従って、関連アルゴリズムを含む論理動作は、動作、構造デバイス、アクトまたはモジュールと、多様に呼称できる。これらの動作、構造デバイス、行為およびモジュールが、ソフトウェア、ファームウェア、専用デジタル論理およびそれらの任意の組み合わせにより、本明細書で説明した特許請求の範囲内で記載した本発明の要旨および範囲から逸脱することなく、実施可能であることは、当業者には認識される。
【０１３３】
本発明は多様な例示的実施形態に関連して説明したが、多くの修正が、請求項の範囲内において可能であることは、当業者には理解される。従って、本発明の範囲が、何らかの形で上記説明により限定されることは意図していないが、代わりに、請求項への参照により完全に決定される。
【図１】
0005620913.tif 000014
【図２】
0005620913.tif 000015
【図３】
0005620913.tif 000016
【図４】
0005620913.tif 000017