(57)【要約】  インクリメンタルに更新可能なシステムを使用してネットワーク上の文書をランク付けする方法を開示する。インクリメンタルに更新可能なシステムを使用してネットワーク上の文書をランク付けする方法を実施するためのコンピュータ実行可能命令が記憶されたコンピュータ可読媒体も開示する。さらに、少なくとも１つのアプリケーションモジュールを含むコンピューティングシステムも開示するが、この少なくとも１つのアプリケーションモジュールは、インクリメンタルに更新可能なシステムを使用してネットワーク上の文書をランク付けする方法を実施するためのアプリケーションコードを含む。
2009545809.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによって入力された、１つまたは複数の検索クエリ用語を含む検索クエリに応答して、ネットワーク上の文書をランク付けするためのコンピュータ実行可能命令が記憶されたコンピュータ可読媒体であって、前記コンピュータ実行可能命令は、カウント値＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）を更新することによって更新することのできるインクリメンタルに更新可能なクエリ分類器モデルを利用し、＃（Ａｓｓｅｔ）は、前記ネットワーク上の所与の文書が任意のユーザによって閲覧のために選択される回数を表し、＃（ｗi，Ａｓｓｅｔ）は、前記ネットワーク上の所与の文書と前記検索クエリの検索クエリ用語ｗiとを任意のユーザがマッチさせる回数を表し、Σ＃（ｗi，Ａｓｓｅｔ）は、前記ネットワーク上の所与の文書と前記検索クエリの任意の検索クエリ用語ｗiとを任意のユーザがマッチさせる回数の合計を表すことを特徴とするコンピュータ可読媒体。
【請求項２】
前記ネットワーク上の各文書は、前記検索クエリに対するその関連度に基づいてランク付けされ、以下の公式（Ｉ）を用いて文書関連度スコアが提供され、
【数１】
2009545809.tif 000015
上式で、
Ｐ（Ａｓｓｅｔ｜Ｑｕｅｒｙ）は、ユーザによって入力された特定の検索クエリＱｕｅｒｙが与えられた場合に所与の文書Ａｓｓｅｔを返す確率を表し、
ＮQは前記検索クエリ中の用語の数であり、
Ｖは前記ネットワークの語彙のサイズであり、
＃（Ｔ）は任意のユーザによって処理された検索クエリの総数であることを特徴とする請求項１に記載のコンピュータ可読媒体。
【請求項３】
前記インクリメンタルに更新可能なクエリ分類器モデルは各期間の終わりに更新され、前記期間の長さは２４時間以下であることを特徴とする請求項１または２に記載のコンピュータ可読媒体。
【請求項４】
カウント値＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）を更新することは、所与の期間中に収集された新しいデータがあればそれを、前に記憶されたカウント値＃（Ａｓｓｅｔ）（ｏｌｄ）、＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ）、およびΣ＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ）に加えることを含むことを特徴とする請求項１から３のいずれかに記載のコンピュータ可読媒体。
【請求項５】
前記インクリメンタルに更新可能なクエリ分類器モデルはさらに時間減衰コンポーネントを含み、最近の検索クエリおよびユーザ応答には過去の検索クエリおよびユーザ応答よりも大きい重みが与えられることを特徴とする請求項１から４のいずれかに記載のコンピュータ可読媒体。
【請求項６】
【数２】
2009545809.tif 000016
上式で、
λは１．０未満の値を有する重み付け乗数であり、
ｔはカウント値コンポーネントの古さを表す整数であることを特徴とする請求項１から５のいずれかに記載のコンピュータ可読媒体。
【請求項７】
カウント値＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）を更新することは、
＃（Ａｓｓｅｔ）（ｎｅｗ）＝＃（Ａｓｓｅｔ）（０）＋λ［＃（Ａｓｓｅｔ）（ｏｌｄ）］、
＃（ｗi，Ａｓｓｅｔ）（ｎｅｗ）＝＃（ｗi，Ａｓｓｅｔ）（０）＋λ＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ）］、および
Σ＃（ｗi，Ａｓｓｅｔ）（ｎｅｗ）＝Σ＃（ｗi，Ａｓｓｅｔ）（０）＋λ［Σ＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ）］
のように＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）を再計算することを含み、
上式で、
＃（Ａｓｓｅｔ）（ｎｅｗ）、＃（ｗi，Ａｓｓｅｔ）（ｎｅｗ）、およびΣ＃（ｗi，Ａｓｓｅｔ）（ｎｅｗ）は各々独立して、カウント値＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）のインクリメンタルに更新された値をそれぞれ表し、
＃（Ａｓｓｅｔ）（０）、＃（ｗi，Ａｓｓｅｔ）（０）、およびΣ＃（ｗi，Ａｓｓｅｔ）（０）は各々独立して、最後の期間内の発生数をそれぞれ表し、
＃（Ａｓｓｅｔ）（ｏｌｄ）、＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ）、およびΣ＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ）は各々独立して、前記最後の期間よりも前の累積カウント値をそれぞれ表すことを特徴とする請求項６に記載のコンピュータ可読媒体。
【請求項８】
ユーザによって入力された前記検索照会を受け入れ、前記ネットワーク上の前記文書の検索を実施して複数の文書を含む検索結果を生成し、前記インクリメンタルに更新可能なクエリ分類器モデルを使用して前記検索結果の前記複数の文書をランク付けしてランク付き検索結果を生成し、前記ランク付き検索結果を前記ユーザに対して表示するためのコンピュータ実行可能命令をさらに含むことを特徴とする請求項１から７のいずれかに記載のコンピュータ可読媒体。
【請求項９】
コンピューティングシステム上で使用可能な少なくとも１つのアプリケーションモジュールを含むコンピューティングシステムであって、前記少なくとも１つのアプリケーションモジュールは、請求項１から８のいずれかに記載のコンピュータ可読媒体からロードされたアプリケーションコードを含むことを特徴とするコンピューティングシステム。
【請求項１０】
検索エンジン中のランク付け関数コンポーネントとして使用するのに適したクエリ分類器モデルをインクリメンタルに更新する方法であって、
カウント値＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）を決定することであって、＃（Ａｓｓｅｔ）は、ネットワーク上の所与の文書が任意のユーザによって閲覧のために選択される回数を表し、＃（ｗi，Ａｓｓｅｔ）は、前記ネットワーク上の所与の文書と検索クエリの検索クエリ用語ｗiとを任意のユーザがマッチさせる回数を表し、Σ＃（ｗi，Ａｓｓｅｔ）は、前記ネットワーク上の所与の文書と前記検索クエリの任意の検索クエリ用語ｗiとを任意のユーザがマッチさせる回数の合計を表すこと、
前記カウント値＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）を記憶すること、ならびに、
期間中に収集された新しいデータがあればそれを、前に記憶された前記カウント値＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）に加えることによって、前記記憶されたカウント値を更新することを含むことを特徴とする方法。
【請求項１１】
前記期間の長さは２４時間以下であることを特徴とする請求項１０に記載の方法。
【請求項１２】
記憶されたカウント値＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）を更新することは、
＃（Ａｓｓｅｔ）（ｎｅｗ）＝＃（Ａｓｓｅｔ）（０）＋λ［＃（Ａｓｓｅｔ）（ｏｌｄ）］、
＃（ｗi，Ａｓｓｅｔ）（ｎｅｗ）＝＃（ｗi，Ａｓｓｅｔ）（０）＋λ＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ）］、および
Σ＃（ｗi，Ａｓｓｅｔ）（ｎｅｗ）＝Σ＃（ｗi，Ａｓｓｅｔ）（０）＋λ［Σ＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ）］
のように＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）を再計算することを含み、
上式で、
＃（Ａｓｓｅｔ）（ｎｅｗ）、＃（ｗi，Ａｓｓｅｔ）（ｎｅｗ）、およびΣ＃（ｗi，Ａｓｓｅｔ）（ｎｅｗ）は、カウント値＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）のインクリメンタルに更新された値をそれぞれ表し、
＃（Ａｓｓｅｔ）（０）、＃（ｗi，Ａｓｓｅｔ）（０）、およびΣ＃（ｗi，Ａｓｓｅｔ）（０）は、最後の期間内の発生数をそれぞれ表し、
＃（Ａｓｓｅｔ）（ｏｌｄ）、＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ）、およびΣ＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ）は、前記最後の期間よりも前の累積カウント値をそれぞれ表し、
λは重み付け乗数であることを特徴とする請求項１０または１１に記載の方法。
【請求項１３】
λは１．０未満の値を有することを特徴とする請求項１２に記載の方法。
【請求項１４】
ユーザによって入力された検索クエリに対するネットワーク上の文書の文書関連度スコアを決定する方法であって、請求項１０から１３のいずれかに記載の方法を含むことを特徴とする方法。
【請求項１５】
前記文書関連度スコアは、以下の公式（Ｉ）
【数３】
2009545809.tif 000017
を使用して決定され、
上式で、
Ｐ（Ａｓｓｅｔ｜Ｑｕｅｒｙ）は、ユーザによって入力された特定の検索クエリＱｕｅｒｙが与えられた場合に所与の文書Ａｓｓｅｔを返す確率を表し、
ＮQは前記検索クエリ中の用語の数であり、
Ｖは前記ネットワークの語彙のサイズであり、
＃（Ｔ）は任意のユーザによって処理された検索クエリの総数であることを特徴とする請求項１４に記載の方法。
【請求項１６】
検索クエリの検索結果をランク付けする方法であって、
請求項１４または１５に記載の方法を使用してネットワークの各文書の文書関連度スコアを決定するステップと、
各文書の前記文書関連度スコアに基づいて前記文書を降順でランク付けするステップとを含むことを特徴とする方法。
【請求項１７】
コンピューティングシステム上で使用可能な少なくとも１つのアプリケーションモジュールを含むコンピューティングシステムであって、前記少なくとも１つのアプリケーションモジュールは、請求項１０から１６のいずれかに記載の方法を実施するためのアプリケーションコードを含むことを特徴とするコンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インクリメンタルに更新可能な変形ナイーブベイズクエリ分類器を使用したランク付け関数に関する。
【背景技術】
【０００２】
所与の検索クエリに対する関連度に従って文書をランク付けするランク付け関数が知られている。多くの公知のシステムでは、クエリ分類器を使用して、ランク付け関数の検索結果を高める。公知のクエリ分類器は、最大エントロピー、ナイーブベイズ、条件付確率場、およびサポートベクトルマシンなどの機械学習技法を利用して、ユーザパフォーマンスをモデル化する。通常、モデルを構築および展開するのに用いられるプロセスは、多くのデータを収集し、全データ範囲にわたってオフラインデータ処理を実施し、モデルを構築し、次いでモデルを展開するものである。これらの公知のプロセスは、計算コストが高い可能性がある。さらに、これらのプロセスでは通常、データが収集された時から、展開されたモデル中でデータが実際に利用される時までの遅延がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願第１０／８０４３２６号明細書
【特許文献２】米国特許出願第１０／９５５９８３号明細書
【特許文献３】米国特許出願第１１／２０６２８６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
当技術分野では、公知のランク付け関数およびランク付け関数コンポーネントを使用して検索エンジンによって生成される検索結果と比較して、所与の検索クエリに対するよりよい検索結果を提供するランク付け関数およびランク付け関数コンポーネントを開発する努力が継続している。
【課題を解決するための手段】
【０００５】
本明細書では、とりわけ、インクリメンタルに更新可能なクエリ分類器を使用してネットワーク上の文書をランク付けするための様々な技術について述べる。インクリメンタルに更新可能なクエリ分類器は、計算コストの高いオフラインデータ処理を必要とせず、単に、最小限の数のクエリ分類器変数の周期的な更新を必要とするのみである。インクリメンタルに更新可能なクエリ分類器は、リアルタイムのユーザ検索クエリおよび応答データを利用し、また、より最近のユーザイベントを過去のユーザイベントよりも大きく重み付けする時間減衰コンポーネントを含むことができる。インクリメンタルに更新可能なクエリ分類器を、単独でまたは他のランク付け関数コンポーネントと共に、検索エンジンが使用して、クエリ検索用語に対する文書関連度に基づいて順番に（通常は降順で）複数の文書をランク付けすることができる。
【０００６】
この概要は、「詳細な説明」のセクションで後述する単純化した形の１つまたは複数の精選した概念に、読者を一般に案内するために提供する。この概要は、特許請求する主題の鍵となる特徴および／または必要とされる特徴を識別するものとはしない。
【図面の簡単な説明】
【０００７】
【図１】ユーザによって入力された検索クエリに応答してランク付き検索結果を生成する方法における例示的なステップを示す例示的な論理フロー図である。
【図２】本明細書に開示する方法およびプロセスの実施のための例示的な動作環境の主要なコンポーネントのいくつかのブロック図である。
【図３Ａ】インクリメンタルに更新可能なモデルを使用してランク付き検索結果を生成する例示的な方法における例示的なステップを示す論理フロー図である。
【図３Ｂ】インクリメンタルに更新可能なモデルを使用してランク付き検索結果を生成する例示的な方法における例示的なステップを示す論理フロー図である。
【図４Ａ】時間減衰コンポーネントをさらに含むインクリメンタルに更新可能なモデルを使用してランク付き検索結果を生成する方法における例示的なステップを示す論理フロー図である。
【図４Ｂ】時間減衰コンポーネントをさらに含むインクリメンタルに更新可能なモデルを使用してランク付き検索結果を生成する方法における例示的なステップを示す論理フロー図である。
【発明を実施するための形態】
【０００８】
本明細書に開示する方法およびプロセスの原理の理解を促進するために、具体的な実施形態について以下に説明するとともに、特定の言語を使用して具体的な実施形態について述べる。しかし、特定の言語の使用によって、開示する方法およびプロセスの範囲の限定を意図するものではないことは理解されるであろう。開示する方法およびプロセスが関与する当業者なら通常思い付くであろう考察する開示する方法およびプロセスの原理の改変、さらなる修正、ならびにそのようなさらなる応用が企図される。
【０００９】
インクリメンタルに更新可能なクエリ分類器を使用してネットワーク上の文書をランク付けする方法を開示する。入力されたクエリ／選択された結果データの組合せごとに、リアルタイムのユーザデータを利用するインクリメンタルに更新可能なクエリ分類器を使用して、所与の検索クエリに対する各文書の関連度が計算される。クエリ分類器単独によって、または他のランク付け関数コンポーネントとの組合せによって決定された各文書の文書関連度を使用して、所与のネットワーク空間（例えば企業イントラネット空間またはインターネット）内の文書をランク付けすることができる。開示する方法をその中で使用することのできる例示的な検索プロセスを、図１に例示的なプロセス１０として示す。
【００１０】
図１に例示的な検索プロセス１０を示すが、この検索プロセス１０はプロセスステップ８０で開始し、ユーザが検索クエリを入力する（ステップ２００）。ステップ２００から、例示的な検索プロセス１０はステップ３００に進み、検索エンジンが、ネットワーク空間内の全ての文書中で、検索クエリの１つまたは複数の用語を検索する。ステップ３００から、例示的な検索プロセス１０はステップ４００に進み、検索エンジンのランク付け関数が、検索クエリに対する各文書の関連度に基づいてネットワーク内の文書をランク付けする。文書関連度は、後述するように変形ナイーブベイズモデルに基づいて、検索クエリが与えられた場合に文書を取り出す確率に基づく。ステップ４００から、例示的な検索プロセス１０はステップ５００に進み、ランク付けされた検索結果が、通常は降順でユーザに提示され、検索クエリに最も関連する（すなわち特定の検索クエリが与えられた場合に取り出される確率が最も高い）ネットワーク空間内の文書を識別する。
【００１１】
後でより詳細に論じるが、文書をランク付けする方法は、１人または複数のユーザによるネットワーク空間内の１つまたは複数の文書の実際の使用（例えば閲覧）に関係するリアルタイムの「ユーザ応答データ」または「文書使用データ」を利用することを含む。文書使用データは、ウェブサーバ上のアプリケーションコードによって生成および記憶され、このアプリケーションコードは所与の検索エンジンとは別個である。例えば、文書使用データは、ユーザがＵＲＬを要求する度にサーバが使用カウンタまたはカウント値を更新するように、ウェブサイトによって維持されるものとすることができる。使用カウンタは、先週、先月、前年、あるいは所与の文書または文書セットの寿命など、所与の時間間隔にわたって得られる文書関連データを維持することができる。アプリケーションコードを使用して、（ｉ）特別なアプリケーションプログラミングインタフェース（ＡＰＩ）を介して、（ｉｉ）ウェブサービス要求を介して、または（ｉｉｉ）ウェブサイト上のあらゆるＵＲＬに関する使用データを返す管理ウェブページを要求することによって、ウェブサイトから使用データを得ることができる。
【００１２】
文書関連度を使用して、ネットワーク空間内の文書をランク付けし、ランク付けされた検索結果をユーザに提供することができる。例えば、ネットワーク上の文書をランク付けする方法は、インクリメンタルに更新可能なクエリ分類器を使用してネットワーク上の各文書の文書関連度を決定するステップと、ユーザによって入力された検索クエリに対する各文書の文書関連度に基づいて、所望の順序で（通常は降順で）文書をランク付けするステップとを含む。
【００１３】
本明細書に開示する方法を使用するアプリケーションプログラムは、様々なハードウェアコンポーネントを備える様々なコンピュータシステム上でロードして実行することができる。本明細書に開示する方法を実施するための例示的なコンピュータシステムおよび例示的な動作環境について以下に述べる。
【００１４】
例示的な動作環境
図２に、本明細書に開示する方法をその中で実施することのできる適切なコンピューティングシステム環境１００の例を示す。コンピューティングシステム環境１００は、適切なコンピューティング環境の一例に過ぎず、本明細書に開示する方法の使用または機能の範囲についてどんな制限を示唆するものともしない。また、コンピューティング環境１００は、例示的な動作環境１００に示すコンポーネントのいずれか１つまたは組合せに関するどんな依存または要件を有するとも解釈すべきではない。
【００１５】
本明細書に開示する方法は、多くの他の汎用または専用コンピューティングシステム環境または構成でも機能する。本明細書に開示する方法と共に使用するのに適するであろう周知のコンピューティングシステム、環境、および／または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な消費者電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータや、以上のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、これらに限定されない。
【００１６】
本明細書に開示する方法およびプロセスは、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的なコンテキストで述べることができる。一般に、プログラムモジュールは、特定のタスクを実施するか特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本明細書に開示する方法およびプロセスはまた、分散コンピューティング環境で実施することもでき、その場合、タスクは通信ネットワークを介してリンクされたリモート処理デバイスによって実施される。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含めたローカルとリモートの両方のコンピュータ記憶媒体に位置することができる。
【００１７】
図２を参照すると、本明細書に開示する方法およびプロセスを実施するための例示的なシステムは、コンピュータ１１０の形の汎用コンピューティングデバイスを含む。コンピュータ１１０のコンポーネントは、処理ユニット１２０と、システムメモリ１３０と、システムメモリ１３０を含めた（ただしこれに限定されない）様々なシステムコンポーネントを処理ユニット１２０に結合するシステムバス１２１とを含むことができるが、これらに限定されない。システムバス１２１は、様々なバスアーキテクチャのいずれかを用いた、メモリバスまたはメモリコントローラ、周辺バス、ローカルバスを含めて、いくつかのタイプのバス構造のいずれかとすることができる。限定ではなく例として、このようなアーキテクチャは、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、および、メザニンバスとしても知られるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを含む。
【００１８】
コンピュータ１１０は通常、様々なコンピュータ可読媒体を備える。コンピュータ可読媒体は、コンピュータ１１０によってアクセスできる任意の利用可能な媒体とすることができ、揮発性と不揮発性の媒体、取外し可能と取外し不可能の媒体の両方を含む。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実現された、揮発性および不揮発性、取外し可能および取外し不可能な媒体を含む。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、または他のメモリ技術、ＣＤ−ＲＯＭ、ディジタル多用途ディスク（ＤＶＤ）、または他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶デバイス、あるいは、所望の情報を記憶するのに使用できコンピュータ１１０によってアクセスできる他の任意の媒体を含むが、これらに限定されない。通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波や他のトランスポート機構などの被変調データ信号に組み入れるものであり、任意の情報送達媒体を含む。用語「被変調データ信号」は、信号中の情報を符号化するようにしてその特性の１つまたは複数が設定または変更される信号を意味する。限定ではなく例として、通信媒体は、配線式ネットワークや直接配線式接続などの配線式媒体と、音響、無線周波数、赤外線などのワイヤレス媒体および他のワイヤレス媒体とを含む。以上のいずれかの組合せも、本明細書におけるコンピュータ可読媒体の範囲に含めるべきである。
【００１９】
システムメモリ１３０は、読取専用メモリ（ＲＯＭ）１３１やランダムアクセスメモリ（ＲＡＭ）１３２など、揮発性および／または不揮発性メモリの形のコンピュータ記憶媒体を含む。ＲＯＭ１３１には通常、起動中などにコンピュータ１１０内の要素間で情報を転送するのを助ける基本ルーチンを含むＢＩＯＳ（ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）１３３が記憶されている。ＲＡＭ１３２は通常、処理ユニット１２０からすぐにアクセス可能な、かつ／または処理ユニット１２０が現在作用している、データおよび／またはプログラムモジュールを含む。限定ではなく例として、図２には、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。
【００２０】
コンピュータ１１０は、他の取外し可能／取外し不可能、揮発性／不揮発性コンピュータ記憶媒体を備えることもできる。例に過ぎないが図２には、取外し不可能な不揮発性の磁気媒体に対して読取りまたは書込みを行うハードディスクドライブ１４１と、取外し可能な不揮発性の磁気ディスク１５２に対して読取りまたは書込みを行う磁気ディスクドライブ１５１と、ＣＤ  ＲＯＭや他の光学媒体など、取外し可能な不揮発性の光学ディスク１５６に対して読取りまたは書込みを行う光学ディスクドライブ１５５を示す。例示的な動作環境で使用することのできる他の取外し可能／取外し不可能、揮発性／不揮発性コンピュータ記憶媒体は、磁気テープカセット、フラッシュメモリカード、ディジタル多用途ディスク、ディジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭなどを含むが、これらに限定されない。ハードディスクドライブ１４１は通常、インタフェース１４０などの取外し不可能メモリインタフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光学ディスクドライブ１５５は通常、インタフェース１５０などの取外し可能メモリインタフェースによってシステムバス１２１に接続される。
【００２１】
上に論じ図２に示したドライブおよびそれらに関連するコンピュータ記憶媒体は、コンピュータ１１０のためのコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶域を提供する。例えば図２には、ハードディスクドライブ１４１がオペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を記憶しているのが示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じものとすることもでき、異なるものとすることもできることに留意されたい。ここでは、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７が少なくとも異なるコピーであることを示すために、これらには異なる番号を付けてある。
【００２２】
ユーザは、キーボード１６２、およびマウスやトラックボールやタッチパッドと一般に呼ばれるポインティングデバイス１６１などの入力デバイスを介して、コンピュータ１１０にコマンドおよび情報（例えば１つまたは複数の検索クエリ用語または単語）を入力することができる。他の入力デバイス（図示せず）は、マイクロホン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナなどを含むことができる。これらおよび他の入力デバイスは、システムバス１２１に結合されたユーザ入力インタフェース１６０を介して処理ユニット１２０に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）など、他のインタフェースおよびバス構造で接続されてもよい。モニタ１９１または他のタイプの表示デバイス（例えば検索結果を閲覧用にユーザに提供するためのもの）も、ビデオインタフェース１９０などのインタフェースを介してシステムバス１２１に接続される。モニタ１９１に加えて、コンピュータ１１０は、スピーカ１９７やプリンタ１９６など、他の周辺出力デバイスも備えることができ、これらは出力周辺インタフェース１９５を介して接続することができる。
【００２３】
コンピュータ１１０は、リモートコンピュータ１８０など１つまたは複数のリモートコンピュータへの論理接続を用いて、ネットワーク化された環境で動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードとすることができ、通常は、コンピュータ１１０に関して上述した要素の多くまたは全てを備えるが、図２にはメモリ記憶デバイス１８１のみが示してある。図２に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３を含むが、他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットでよくみられる。
【００２４】
ＬＡＮネットワーキング環境で使用されるときは、コンピュータ１１０は、ネットワークインタフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用されるときは、コンピュータ１１０は通常、インターネットなどのＷＡＮ１７３を介して通信を確立するためのモデム１７２または他の手段を備える。モデム１７２は内蔵でも外付けでもよく、ユーザ入力インタフェース１６０または他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク化された環境では、コンピュータ１１０に関して示したプログラムモジュールまたはその一部をリモートのメモリ記憶デバイスに記憶することができる。限定ではなく例として、図２には、リモートアプリケーションプログラム１８５がメモリデバイス１８１上にあるのを示す。図示のネットワーク接続は例であり、コンピュータ間で通信リンクを確立する他の手段を使用してもよいことは理解されるであろう。
【００２５】
本明細書に開示する方法およびプロセスは、１つまたは複数のアプリケーションプログラムを使用して実施することができ、これらのアプリケーションプログラムには、サーバシステムソフトウェアアプリケーション（例えばＷＩＮＤＯＷＳ（登録商標）  ＳＥＲＶＥＲ  ＳＹＳＴＥＭ（商標）ソフトウェアアプリケーション）、検索ランク付けアプリケーション、ならびに、ネットワーク空間内の文書の使用データを生成、維持、および記憶するためのアプリケーション（例えばＷＩＮＤＯＷＳ（登録商標）ＳＨＡＲＥＰＯＩＮＴ（登録商標）サービスアプリケーション）が含まれるが、これらに限定されない。これらの任意の１つは、例示的なシステム１００中でアプリケーションプログラム１３５、アプリケーションプログラム１４５、およびリモートアプリケーションプログラム１８５として示す多くのアプリケーションプログラムの１つとすることができる。
【００２６】
前述のように、特定の検索クエリが与えられた場合に文書をランク付けする開示する方法は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な消費者電子機器、ネットワーク化されたパーソナルコンピュータ、ミニコンピュータ、メインフレームコンピュータなどを含めた他のコンピュータシステム構成でも実施できることを、当業者なら理解するであろう。文書をランク付けする開示する方法はまた、分散コンピューティング環境で実現することもでき、その場合、タスクは通信ネットワークを介してリンクされたリモート処理デバイスによって実施される。分散コンピューティング環境では、プログラムモジュールは、ローカルとリモートの両方のメモリ記憶デバイスに位置することができる。
【００２７】
例示的な実施形態の実装
上に論じたように、インクリメンタルに更新可能なクエリ分類器を使用してネットワーク上の文書をランク付けする方法が提供される。ネットワーク上の文書をランク付けする開示する方法は、以下に述べるように変形ナイーブベイズモデルを利用する。
【００２８】
ベイズの規則によれば、Ｂが与えられた場合のＡの確率であるＰ（Ａ｜Ｂ）は、Ａが与えられた場合のＢの確率であるＰ（Ｂ｜Ａ）に関係し、以下の関係によって示すことができる。
Ｐ（Ａ｜Ｂ）Ｐ（Ｂ）＝Ｐ（Ｂ｜Ａ）Ｐ（Ａ）
【００２９】
Ｂが多数の「特徴」｛ｆ1．．．ｆN｝からなるとき、ナイーブベイズ近似は、以下のようにまとめられる。
【００３０】
【数１】
2009545809.tif 000003
【００３１】
文書をランク付けする開示される方法では、クエリ分類器モデルは同様の公式化を利用するが、この公式化は、検索「クエリ（Ｑｕｅｒｙ）」が与えられた場合の「アセット（Ａｓｓｅｔ）」（例えば選択された文書または「ヒット」）の発生を予測し、特徴は、検索クエリ中の用語または単語である。本明細書におけるクエリ分類器モデルは、以下の公式によって示される。
【００３２】
【数２】
2009545809.tif 000004
【００３３】
上式で、
Ａｓｓｅｔは、返されているアセットまたはタスク（例えば文書）である。
【００３４】
Ｑｕｅｒｙは、１つまたは複数の検索クエリ用語を含むユーザのクエリである。
【００３５】
ＮQは、検索クエリ中の用語の数である。
【００３６】
Ｖ−ＮQは、検索クエリ中に見られない用語の数であり、Ｖは語彙のサイズである。
【００３７】
Ｐ（ｗi∈Ｑ｜Ａｓｓｅｔ）は、検索クエリ中に用語を見る確率である。
【００３８】
【数３】
2009545809.tif 000005
【００３９】
は、検索クエリ中に用語を見ない確率である。
【００４０】
両辺の対数を取ることにより、公式は以下のようになる。
【００４１】
【数４】
2009545809.tif 000006
【００４２】
所与の検索クエリの用語を見ない確率を語彙中の全ての単語にわたって合計し、確率の合計を検索クエリ中に見られる用語から減算することにより、公式化は以下のようになる。
【００４３】
【数５】
2009545809.tif 000007
【００４４】
所与の検索クエリ中に単語を見ない確率は、所与の検索クエリ中に単語を見る確率を１から引いた値に等しいので、公式化は以下のようになる。
【００４５】
【数６】
2009545809.tif 000008
【００４６】
以下の式、すなわち
ｌｏｇ［Ｐ（Ａｓｓｅｔ）］＝ｌｏｇ［＃（Ａｓｓｅｔ）］−ｌｏｇ［＃（Ｔ）］
ｌｏｇ［Ｐ（ｗi∈Ｑ｜Ａｓｓｅｔ）］＝ｌｏｇ［＃（ｗi，Ａｓｓｅｔ）］−ｌｏｇ［＃（Ａｓｓｅｔ）］
を用いて各項を展開することにより、公式化は以下のようになる。
【００４７】
【数７】
2009545809.tif 000009
【００４８】
上式で、
＃（Ａｓｓｅｔ）は、所与の「Ａｓｓｅｔ」（例えばネットワーク上の所与の文書）が任意のユーザによって閲覧のために選択される回数である。
【００４９】
＃（Ｔ）は、システムによって記録された検索クエリの総数である。
【００５０】
＃（ｗi，Ａｓｓｅｔ）は、所与の「Ａｓｓｅｔ」（例えばネットワーク上の所与の文書）と、検索クエリの検索クエリ用語ｗiとを任意のユーザがマッチさせた回数である。
【００５１】
ｌｏｇ（１−ｘ）に対するテイラー級数近似を用いることにより、以下のようになる。
【００５２】
【数８】
2009545809.tif 000010
【００５３】
１次近似は、単純に−ｘである。したがって、１次近似を使用すると、以下のとおりである。
【００５４】
【数９】
2009545809.tif 000011
【００５５】
ｌｏｇ［１−Ｐ（ｗi∈Ｑ｜Ａｓｓｅｔ）］〜−Ｐ（ｗi∈Ｑ｜Ａｓｓｅｔ）
また、合計は以下のようになる。
【００５６】
【数１０】
2009545809.tif 000012
【００５７】
本明細書で使用されるクエリ分類器モデルの公式化は、今や以下のようになる。
【００５８】
【数１１】
2009545809.tif 000013
【００５９】
上式で、
Σ＃（ｗi，Ａｓｓｅｔ）は、所与の「Ａｓｓｅｔ」（例えばネットワーク上の所与の文書）と、検索クエリの任意の検索クエリ用語ｗiとを任意のユーザがマッチさせた回数の合計である。
【００６０】
各アセット、および検索クエリ／アセットの各組合せごとに、項＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）の値を知ることにより、ｌｏｇ［＃（Ａｓｓｅｔ）］およびｌｏｇ［＃（ｗi，Ａｓｓｅｔ）］の値を計算することができ、上の公式（Ｉ）を使用して、ネットワーク空間内の文書の文書関連度スコア（すなわち所与の検索クエリに基づいて所与のアセットまたは文書を取り出す確率）を提供することができる。
【００６１】
上に論じたように、実際の使用データまたはユーザ応答データ（例えば項＃（Ａｓｓｅｔ）および＃（ｗi，Ａｓｓｅｔ）の値）は、ネットワーク上の１つまたは複数の文書に関する実際の使用データを記憶した１つまたは複数のファイルから得ることができる。実際の使用データは、文書構成要素として文書と共に記憶されてもよく、あるいは実際の文書とは別個のデータ記憶ファイルに記憶されてもよい。データの記憶および取出しは、ウェブサービスコールや構造化クエリ言語（ＳＱＬ）システムなどを含めた（ただしこれらに限定されない）任意の公知の方法を使用して達成することができる。例えば、リモート記憶システムを使用して、全てのユーザにわたる所与のネットワーク上の各文書に対する要求の数を例えば含めた実際の使用データを記憶することができる。
【００６２】
図３Ａ〜３Ｂは、ユーザによって入力された検索クエリに応答してランク付き検索結果を生成する例示的な方法における例示的なステップを示す論理フロー図を表し、この方法は、インクリメンタルに更新可能なシステム中でユーザ応答データを利用する。図３に示すように、例示的方法３０はブロック２０１で開始してステップ２０２に進み、ユーザは、単一の単語あるいは一連の単語または用語など、検索クエリを入力する。ステップ２０２から、例示的方法３０はステップ２０３に進み、検索クエリコンポーネント（１つまたは複数）が「トークン化」される。本明細書において、「トークン化」という用語は、ワードブレーカを使用して一連の単語または用語から「トークン」のリストが作成されるプロセスを指す。例えば、検索クエリ「ｐｒｉｎｔｉｎｇ  ｐｒｏｂｌｅｍｓ  ｃｏｌｏｒ」は、トークン化されて、トークン／検索クエリコンポーネントのセット｛「ｐｒｉｎｔｉｎｇ」，「ｐｒｏｂｌｅｍｓ」，「ｃｏｌｏｒ」｝が形成されることになる。リスト中の各「トークン」は、前述のクエリ分類器公式化の中で使用される各検索クエリコンポーネントｗiを表す。
【００６３】
ステップ２０３から、例示的方法３０はステップ２０５に進み、各クエリコンポーネントｗi（例えば「ｐｒｉｎｔｉｎｇ」、「ｐｒｏｂｌｅｍｓ」、および「ｃｏｌｏｒ」）につき、事前に計算された記憶済みの値＃（ｗi，Ａｓｓｅｔ）およびｌｏｇ［＃（ｗi，Ａｓｓｅｔ）］がデータベースから取り出される。ステップ２０５から、例示的方法３０はステップ２０８に進み、事前に計算された記憶済みの値＃（Ａｓｓｅｔ）、ｌｏｇ［＃（Ａｓｓｅｔ）］、およびΣ＃（ｗi，Ａｓｓｅｔ）がデータ記憶データベースから取り出される。ステップ２０８から、例示的方法３０はステップ２０９に進み、ステップ２０５および２０８からの使用データ、すなわち（１）クエリ用語／アセットの組合せごとの値＃（ｗi，Ａｓｓｅｔ）およびｌｏｇ［＃（ｗi，Ａｓｓｅｔ）］、ならびに（２）アセットごとの値＃（Ａｓｓｅｔ）、ｌｏｇ［＃（Ａｓｓｅｔ）］、およびΣ＃（ｗi，Ａｓｓｅｔ）が、上に提供した公式（Ｉ）中で利用されて、検索クエリに対するネットワーク空間中の各文書の文書関連度が決定される。
【００６４】
ステップ２０９から、例示的方法３０は図３Ｂに示すステップ２１０に進み、全ての文書が降順の関連度でランク付けされる。次いで、例示的方法３０はステップ２１１に進み、検索結果の少なくとも一部がユーザに対して表示される。ステップ２１１から、例示的方法３０はステップ２１２に進み、ユーザは、所与の検索結果（例えばアセット）を閲覧のために選択（例えばクリック）する。
【００６５】
特定の文書または検索結果（例えばアセット）が閲覧のために選択されると、例示的方法３０はステップ２１３に進み、カウント値＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）が更新されて、ユーザ応答が反映される。カウント値＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）を更新するプロセスは、ユーザが所与の検索結果（例えばアセット）を選択した後の任意の時点で行われてよいことに留意されたい。例えば、カウント値はすぐに更新されてもよく、あるいは所与の検索結果を実際に選択したのに続く何らかの時点で更新されてもよい。カウント値は、例えば１時間ごとにまたは２４時間期間中に１回、更新されてよい。値がすぐに更新されない場合は、所与の期間にわたって（例えば２４時間期間にわたって）ログが維持されて、その期間中はユーザ応答データが一時的に記憶される。各期間の最後に、アプリケーションコードを使用して各カウント値が更新される。
【００６６】
ステップ２１３から、例示的方法３０はステップ２１４に進み、値ｌｏｇ［＃（Ａｓｓｅｔ）］およびｌｏｇ［＃（ｗi，Ａｓｓｅｔ）］が計算される。ステップ２１４から、例示的方法３０はステップ２１５に進み、ステップ２１３および２１４からの更新された値（すなわち＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、Σ＃（ｗi，Ａｓｓｅｔ）、ｌｏｇ［＃（Ａｓｓｅｔ）］、およびｌｏｇ［＃（ｗi，Ａｓｓｅｔ）］）が、前に記憶された値に代わってデータベースに記憶される。
【００６７】
ステップ２１５から、例示的方法３０は判定ブロック２１６に進み、ステップ２１１で提供された他の検索結果を見るかどうかがユーザによって判定される。ステップ２１１で提供された他の検索結果を見るとユーザによって判定された場合は、例示的方法３０はステップ２１７に進み、ユーザはステップ２１１で提供された検索結果に戻る。ステップ２１７から、例示的方法３０はステップ２１２に戻って前述のように進む。
【００６８】
判定ブロック２１６に戻り、ステップ２１１で提供された他の検索結果を見ないと判定ブロック２１６でユーザによって判定された場合は、例示的方法３０は判定ブロック２１８に進む。判定ブロック２１８で、新しい検索を実施するかどうかがユーザによって判定される。新しい検索を実施するとユーザによって判定された場合は、例示的方法３０はステップ２１９に進み、例示的方法３０はステップ２０２に戻って前述のように進む。新しい検索を実施しないと判定ブロック２１６でユーザによって判定された場合は、例示的方法３０はステップ２２０に進み、例示的方法３０は終了する。
【００６９】
インクリメンタルに更新可能なシステム中でランク付き検索結果をユーザに提供する前述の方法はさらに、時間減衰コンポーネントを含むことができ、この場合、値＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、Σ＃（ｗi，Ａｓｓｅｔ）、ｌｏｇ［＃（Ａｓｓｅｔ）］、およびｌｏｇ［＃（ｗi，Ａｓｓｅｔ）］を計算するとき、より最近のクエリ／アセットデータには、より古いクエリ／アセットデータと比較してより大きな重みが与えられる。例えば、クエリ用語「トロージャン（Ｔｒｏｊａｎ）」は、「トロージャン」という名前のスポーツチームがカレッジフットボールタイトルを獲得した数年前にこの用語が意味したもの、および「トロイの木馬」ウイルスがコンピュータウイルスとして出現した最近にこの用語が意味したものとは対照的に、２０００年前には非常に異なる何かを意味したかもしれない。開示する方法において時間減衰コンポーネントを有することは、より最近のユーザ選好ならびにより最近のイベントへの偏りをもたらす。
【００７０】
時間減衰コンポーネントを利用するときは、重み付け乗数を使用して、より最近のイベントを過去のイベントよりも大きく重み付けする。例示的な重み付け乗数はλtを含み、ここで、λは１．０未満の数であり、ｔはクエリおよび／またはアセットカウント値コンポーネントの古さを表す整数である（例えば、ｔは所与の２４時間期間を表すことができ、したがってｔ＝０は最後の２４時間期間を表し、ｔ＝１は前の２４時間期間を表し、ｔ＝２はｔ＝１の２４時間期間の前の２４時間期間を表し、以下同様となる）。公式（Ｉ）で使用される前述のカウント値は、以下の値に等しく設定することができる。
【００７１】
【数１２】
2009545809.tif 000014
【００７２】
上記の各カウント値において、ｔが増加する（すなわちクエリおよび／またはアセットコンポーネントの古さが増加する）のに伴ってλtの値は減少し、その結果、所与のカウント値のより古いコンポーネントには、より新しいカウント値コンポーネントよりも小さい重みが与えられる。例えば、頻度が２４時間期間である例示的な一実施形態では、最新のクエリ（すなわち最後の２４時間期間中のクエリ）には重み１が与えられ、１日古いクエリ（すなわち前の２４時間期間中のクエリ）には重みλが与えられ、１００日古いクエリには重みλ100が与えられる。上記のモデルでλを０．９９５などの値に設定することにより、所与のクエリの重みは２年の期間にわたって徐々に減衰する。
【００７３】
所与の期間の終わりに（例えば２４時間期間の終わりに）カウント値を更新するには、単に以下のようにカウント値を再計算すれば済む。
＃（Ａｓｓｅｔ）（ｎｅｗ）＝＃（Ａｓｓｅｔ）（０）＋λ［＃（Ａｓｓｅｔ）（ｏｌｄ）］
＃（ｗi，Ａｓｓｅｔ）（ｎｅｗ）＝＃（ｗi，Ａｓｓｅｔ）（０）＋λ［＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ）］
Σ＃（ｗi，Ａｓｓｅｔ）（ｎｅｗ）＝Σ＃（ｗi，Ａｓｓｅｔ）（０）＋λ［Σ＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ）］
上式で、
＃（Ａｓｓｅｔ）（ｎｅｗ）、＃（ｗi，Ａｓｓｅｔ）（ｎｅｗ）、およびΣ＃（ｗi，Ａｓｓｅｔ）（ｎｅｗ）は、カウント＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）のインクリメンタルに更新された値をそれぞれ表す。
【００７４】
＃（Ａｓｓｅｔ）（０）、＃（ｗi，Ａｓｓｅｔ）（０）、およびΣ＃（ｗi，Ａｓｓｅｔ）（０）は、カウント＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）の、最後の期間（例えば最後の２４時間期間）内の発生数をそれぞれ表す。
【００７５】
＃（Ａｓｓｅｔ）（ｏｌｄ）、＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ）、およびΣ＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ）は、カウント＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）の、最後の期間よりも前の累積カウント値（例えば２４時間よりも前のカウント値）をそれぞれ表す。インクリメンタルに更新可能な時間減衰モデルを使用するこのような方法について、図４Ａ〜４Ｂを参照しながらさらに述べる。
【００７６】
図４Ａに示すように、例示的方法４０はブロック３０１で開始してステップ３０２に進み、ユーザは重み付け乗数λtを選択する。ここでλは１．０未満の数であり、ｔはクエリおよび／またはアセットカウント値コンポーネントの古さを表す整数である。ステップ３０２から、例示的方法４０はステップ３０３に進み、ユーザは、全てのカウント値＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）が更新される頻度を選択する。典型的には、全てのカウント値は２４時間期間中に１度更新される（すなわちｔで表される各時間単位は２４時間期間）。しかし、ユーザは、１時間ごとにカウント値が更新される（すなわちｔで表される各時間単位は１時間）など、任意の所望の頻度を選択してよい。
【００７７】
ステップ３０３から、例示的方法４０はステップ３０５に進み、所与のクエリおよびユーザ応答の日付を決定できるように日時が監視される。ステップ３０５から、例示的方法４０はステップ３０６に進み、カウント値が前述のようにインクリメンタルに更新される（例えば所与の頻度期間の終わりに更新される）。このステップでは、各カウント値をインクリメンタルに更新するのに必要とされるのは、重み１．０の新しいクエリ／アセット組合せデータ（すなわち＃（Ａｓｓｅｔ）（０）、＃（ｗi，Ａｓｓｅｔ）（０）、およびΣ＃（ｗi，Ａｓｓｅｔ）（０）データ）を、λ倍に時間減衰させた、前に記憶されたカウント値（すなわち＃（Ａｓｓｅｔ）（ｏｌｄ）、＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ）、およびΣ＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ））に加えることだけである。前に論じたように、更新されたカウント値は、以下に等しい。
＃（Ａｓｓｅｔ）（ｎｅｗ）＝＃（Ａｓｓｅｔ）（０）＋λ［＃（Ａｓｓｅｔ）（ｏｌｄ）］
＃（ｗi，Ａｓｓｅｔ）（ｎｅｗ）＝＃（ｗi，Ａｓｓｅｔ）（０）＋λ［＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ）］
Σ＃（ｗi，Ａｓｓｅｔ）（ｎｅｗ）＝Σ＃（ｗi，Ａｓｓｅｔ）（０）＋λ［Σ＃（ｗi，Ａｓｓｅｔ）（ｏｌｄ）］
【００７８】
ステップ３０６から、例示的方法４０はステップ３０７に進み、ｌｏｇ［＃（Ａｓｓｅｔ）］およびｌｏｇ［＃（ｗi，Ａｓｓｅｔ）］の値が計算され、更新された全ての値がデータベースに記憶される。ステップ３０７から、例示的方法４０は図４Ｂに示すように判定ブロック３０８に進み、検索を実施するかどうかがユーザによって判定される。検索を実施すると判定ブロック３０８でユーザによって判定された場合は、例示的方法４０はステップ３１８に進み、例示的方法３０の前述のステップ２０２から２１１（図３Ａ〜３Ｂに示す）が実施される。ステップ３１８から、例示的方法４０はステップ３０９に進み、ユーザは所与の検索結果（例えばアセット）を閲覧のために選択（例えばクリック）する。
【００７９】
特定の文書または検索結果（例えばアセット）が閲覧のために選択されると、例示的方法４０はステップ３１０に進み、値＃（Ａｓｓｅｔ）（０）、＃（ｗi，Ａｓｓｅｔ）（０）、およびΣ＃（ｗi，Ａｓｓｅｔ）（０）が更新されて、ユーザ応答が反映される。＃（Ａｓｓｅｔ）（０）、＃（ｗi，Ａｓｓｅｔ）（０）、およびΣ＃（ｗi，Ａｓｓｅｔ）（０）の値は、頻度期間の終わり（例えば２４時間期間の終わり）まで一時的に記憶される。前に論じたように、頻度期間は、任意の所望の時間長であってよいが、典型的には２４時間期間である。各期間の終わりに、ステップ３０６で述べたように、アプリケーションコードを使用して各カウント値＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）が更新されて、インクリメンタルに更新されたカウント値＃（Ａｓｓｅｔ）（ｎｅｗ）、＃（ｗi，Ａｓｓｅｔ）（ｎｅｗ）、およびΣ＃（ｗi，Ａｓｓｅｔ）（ｎｅｗ）が提供される。
【００８０】
ステップ３１０から、例示的方法４０は判定ブロック３１１に進み、３１８（すなわち例示的方法３０のステップ２１１。これは例示的方法４０のステップ３１８の構成要素である）で提供された他の検索結果を見るかどうかがユーザによって判定される。ステップ３１８で提供された他の検索結果を見るとユーザによって判定された場合は、例示的方法４０はステップ３１２に進み、ユーザはステップ３１８で提供された検索結果に戻る。ステップ３１２から、例示的方法４０はステップ３０９に戻って前述のように進む。
【００８１】
判定ブロック３１１に戻り、ステップ３１８で提供された他の検索結果を見ないと判定ブロック３１１でユーザによって判定された場合は、例示的方法４０は判定ブロック３１３に進む。判定ブロック３１３で、新しい検索を実施するかどうかがユーザによって判定される。新しい検索を実施するとユーザによって判定された場合は、例示的方法４０はステップ３１４に進み、例示的方法４０はステップ３１８に戻って前述のように進む。新しい検索を実施しないと判定ブロック３１３でユーザによって判定された場合は、例示的方法４０は判定ブロック３１５に進み、ステップ３０３の選択された頻度に基づいてカウント値＃（Ａｓｓｅｔ）、＃（ｗi，Ａｓｓｅｔ）、およびΣ＃（ｗi，Ａｓｓｅｔ）を更新する必要があるかどうかがアプリケーションコードによって判定される。カウント値を更新する必要があるとアプリケーションコードによって判定された（すなわち頻度期間が終了した）場合は、例示的方法４０はステップ３０６に戻って前述のように進む。カウント値を更新する必要がないとステップ３１５でアプリケーションコードによって判定された場合は、例示的方法４０はステップ３０８に戻って前述のように進む。
【００８２】
判定ブロック３０８に戻り、検索を実施しないと判定ブロック３０８でユーザによって判定された場合は、例示的方法４０はステップ３１９に進み、例示的方法４０は判定ブロック３１５に戻って前述のように進む。
【００８３】
時間減衰コンポーネントありまたはなしでインクリメンタルに更新可能なシステムを使用して検索クエリに応答して文書をランク付けする前述の方法を、単独でまたは他のランク付け関数コンポーネントと共に使用して、ランク付けされた検索結果をユーザに提供することができる。他のランク付け関数コンポーネントと共に使用するときは、任意の１つまたは複数の公知のランク付け関数コンポーネントを使用することができる。公知のランク付け関数コンポーネントは、（ｉ）参照によりその主題の全体が本明細書に組み込まれる２００４年３月１８日に出願された”FIELD WEIGHTING IN TEXT DOCUMENT SEARCHING”という名称の特許文献１に記載されたフィールド重み付きランク付け関数コンポーネント、（ｉｉ）参照によりその主題の全体が本明細書に組み込まれる２００４年８月３０日に出願された”SYSTEM AND METHOD FOR RANKING SEARCH RESULTS USING CLICK DISTANCE”という名称の特許文献２に開示されたクリック距離ランク付け関数コンポーネント、（ｉｉｉ）参照によりその主題の全体が本明細書に組み込まれる２００５年８月１５日に出願された”RANKING FUNCTIONS USING A BIASED CLICK DISTANCE OF A DOCUMENT ON A NETWORK”という名称の特許文献３に開示された、偏りのあるクリック距離ランク付け関数コンポーネント、（ｉｖ）文書のＵＲＬ深度、または（ｖ）（ｉ）から（ｉｖ）までの任意の組合せを含むことができるが、これらに限定されない。
【００８４】
本明細書ではコンピューティングシステムも開示する。例示的なコンピューティングシステムは、コンピューティングシステム上で使用可能な少なくとも１つのアプリケーションモジュールを備え、この少なくとも１つのアプリケーションモジュールにはアプリケーションコードがロードされており、アプリケーションコードは、時間減衰コンポーネントありまたはなしで前述のインクリメンタルに更新可能なクエリ分類器を使用してネットワーク上の文書をランク付けする方法を実施する。アプリケーションコードは、前述のように時間減衰コンポーネントありまたはなしで前述のインクリメンタルに更新可能なクエリ分類器を使用してネットワーク上の文書をランク付けするためのコンピュータ実行可能命令を有する前述のコンピュータ可読媒体のいずれかを使用して、コンピューティングシステムにロードすることができる。
【００８５】
本明細書をその具体的な実施形態に関して詳細に述べたが、上記の理解を得れば、当業者ならこれらの実施形態の改変、変形、および均等物をすぐに思い付くことができることは理解されるであろう。したがって、開示した方法、コンピュータ可読媒体、およびコンピューティングシステムの範囲は、添付の特許請求の範囲およびその任意の均等物の範囲として評価すべきである。
【図１】
2009545809.tif 000018
【図２】
2009545809.tif 000019
【図３Ａ】
2009545809.tif 000020
【図３Ｂ】
2009545809.tif 000021
【図４Ａ】
2009545809.tif 000022
【図４Ｂ】
2009545809.tif 000023
【国際調査報告】
2009545809.tif 000024
2009545809.tif 000025