(57)【特許請求の範囲】
【請求項１】
１つまたは複数の処理ユニットと、前記１つまたは複数の処理ユニットによって実行される１つまたは複数のプログラムを記憶するメモリとを有するコンピュータシステムによって実行される、検索クエリに関連するプレーストコンテンツをパーソナライズする方法であって、
ユーザから検索クエリを受信するステップと、
前記ユーザに関連付けられたユーザプロファイルにアクセスするステップであって、前記ユーザプロファイルは、前記ユーザによって以前に発行された複数の検索クエリ内のタームに基づく情報を含む、ステップと、
前記検索クエリに適合する一組のプレーストコンテンツを識別するステップと、
前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札値と、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとを一緒に考慮して、前記一組のプレーストコンテンツの各プレーストコンテンツに得点を割り当てるステップであって、
前記ユーザプロファイルと、各プレーストコンテンツに関連付けられたプレーストコンテンツプロファイルとの間の類似性得点を判定するステップであって、前記類似性得点は、前記ユーザプロファイルと、前記関連付けられたプレーストコンテンツプロファイルとの間の類似度合いを示す、ステップと、
前記類似性得点と前記それぞれのクリックスルーレートと前記それぞれの入札値とを一緒に考慮することにより、各プレーストコンテンツに割り当てられる前記得点を判定するステップとを含む、得点を割り当てるステップと、
前記一組のプレーストコンテンツを、それらの得点に従ってランク付けするステップと、
前記ユーザに対する同時の提示として、前記ランク付けに基づいて、前記一組のプレーストコンテンツの少なくともサブセットを、前記検索クエリに応じて生成された結果とともに、前記ユーザに提供するステップと、を含む方法。
【請求項２】
１つまたは複数の処理ユニットと、前記１つまたは複数の処理ユニットによって実行される１つまたは複数のプログラムを記憶するメモリとを有するコンピュータシステムによって実行される、検索クエリに関連するプレーストコンテンツをパーソナライズする方法であって、
ユーザから検索クエリを受信するステップと、
前記ユーザに関連付けられたユーザプロファイルにアクセスするステップであって、前記ユーザプロファイルは、前記ユーザによって以前に発行された複数の検索クエリ内のタームに基づく情報を含む、ステップと、
前記検索クエリに適合する複数のプレーストコンテンツを識別するステップと、
識別された各プレーストコンテンツに対する、
前記プレーストコンテンツに対する類似性得点を判定するステップであって、前記類似性得点は、前記ユーザプロファイルと、前記プレーストコンテンツに関連付けられたプレーストコンテンツプロファイルとの間の類似性得点を含み、前記類似性得点は、前記ユーザプロファイルと、前記関連付けられたプレーストコンテンツプロファイルとの間の類似度合いを示す、ステップと、
識別された各プレーストコンテンツに対するスケーリングファクタを判定するステップであって、前記判定されたスケーリングファクタは、前記類似性得点に対応する、ステップと、
前記プレーストコンテンツに対する前記スケーリングファクタに前記プレーストコンテンツについてのそれぞれのクリックスルーレートと前記プレーストコンテンツについてのそれぞれの入札値とを掛けることによって、各プレーストコンテンツに割り当てられた得点を判定するステップと、
によって、各プレーストコンテンツに得点を割り当てるステップと、
識別された前記複数のプレーストコンテンツを、それらの得点に従ってランク付けするステップと、
前記ユーザに対する同時の提示として、前記ランク付けに基づいて、前記複数のプレーストコンテンツの少なくともサブセットを、前記検索クエリに応じて生成された結果とともに、前記ユーザに提供するステップと、を含む方法。
【請求項３】
１つまたは複数の処理ユニットと、前記１つまたは複数の処理ユニットによって実行される１つまたは複数のプログラムを記憶するメモリとを有するコンピュータシステムによって実行される、検索クエリに関連するプレーストコンテンツをパーソナライズする方法であって、
ユーザから検索クエリを受信するステップと、
前記ユーザに関連付けられたユーザプロファイルにアクセスするステップであって、前記ユーザプロファイルは、前記ユーザによって以前に発行された複数の検索クエリ内のタームに基づく情報を含む、ステップと、
前記検索クエリに適合する一組のプレーストコンテンツを識別するステップと、
前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札値と、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとを一緒に考慮して、前記一組のプレーストコンテンツの各プレーストコンテンツに得点を割り当てるステップであって、
前記ユーザプロファイルと、各プレーストコンテンツに関連付けられたプレーストコンテンツプロファイルとの間の類似性得点を判定するステップであって、前記類似性得点は、前記ユーザプロファイルと、前記関連付けられたプレーストコンテンツプロファイルとの間の類似度合いを示す、ステップと、
前記類似性得点をスケーリングファクタに関連付けるステップと、
前記スケーリングファクタと、前記それぞれのクリックスルーレートと、前記それぞれの入札値とを乗算することにより、各プレーストコンテンツに割り当てられる前記得点を判定するステップとを含む、得点を割り当てるステップと、
前記一組のプレーストコンテンツを、それらの得点に従ってランク付けするステップと、
前記ユーザに対する同時の提示として、前記ランク付けに基づいて、前記一組のプレーストコンテンツの少なくともサブセットを、前記検索クエリに応じて生成された結果とともに、前記ユーザに提供するステップと、を含む方法。
【請求項４】
前記スケーリングファクタを作成するために前記類似性得点を特定の範囲に正規化するステップをさらに含む、請求項２または３に記載の方法。
【請求項５】
最大の類似性得点に関連付けられる前記スケーリングファクタは、中位の類似性得点に関連付けられる前記スケーリングファクタよりも小さい、請求項２〜４の何れか一項に記載の方法。
【請求項６】
前記ユーザプロファイルは、一組の文書から導き出される情報を含む、前記ユーザに関する情報に少なくとも部分的に基づき、前記一組の文書は、検索エンジンからの検索結果によって識別される文書と、前記検索エンジンからの検索結果によって識別される前記文書にリンクされた文書と、前記ユーザによってアクセスされた文書にリンクされた文書と、前記ユーザによって閲覧された文書とを含む、請求項１〜５の何れか一項に記載の方法。
【請求項７】
前記類似性得点を判定する前記ステップは、
前記ユーザプロファイルのユーザプロファイルベクトルであって、カテゴリとそれぞれの重みとの第１のペアを含むユーザプロファイルベクトルと、前記プレーストコンテンツのプレーストコンテンツプロファイルベクトルであって、カテゴリとそれぞれの重みとの第２のペアを含むプレーストコンテンツプロファイルベクトルとの間の数学的距離を判定するステップを含む、請求項１〜６の何れか一項に記載の方法。
【請求項８】
前記プレーストコンテンツを広告として提供するステップをさらに含む、請求項１〜７の何れか一項に記載の方法。
【請求項９】
検索クエリに関連するプレーストコンテンツをパーソナライズするためのシステムであって、
前記ユーザによって以前に発行された複数の検索クエリ内のタームに基づく情報を含むユーザプロファイルと、
複数のプレーストコンテンツを含むプレーストコンテンツサーバとを備え、前記プレーストコンテンツサーバは、検索クエリに適合する、前記複数のプレーストコンテンツのサブセットを識別し、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札値と、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとを一緒に考慮して、前記サブセット内の各プレーストコンテンツに得点を割り当て、前記プレーストコンテンツの前記それぞれの得点に基づいて前記サブセットをランク付けし、前記ユーザに対する同時の提示として、前記ランク付けに基づいて、前記一組のプレーストコンテンツの少なくともサブセットを、前記検索クエリに応じて生成された結果とともに、前記ユーザに提供し、
前記得点は、前記ユーザプロファイルと、各プレーストコンテンツに関連付けられたプレーストコンテンツプロファイルとの間の類似性得点に基づいており、
前記類似性得点は、前記ユーザプロファイルと、前記関連付けられたプレーストコンテンツプロファイルとの間の類似度合いを示し、
各プレーストコンテンツに割り当てられる前記得点は、前記類似性得点と前記それぞれのクリックスルーレートと前記それぞれの入札値とを一緒に考慮することにより判定される、システム。
【請求項１０】
検索クエリに関連するプレーストコンテンツをパーソナライズするためのシステムであって、
前記ユーザによって以前に発行された複数の検索クエリ内のタームに基づく情報を含むユーザプロファイルと、
複数のプレーストコンテンツを含むプレーストコンテンツサーバとを備え、前記プレーストコンテンツサーバは、検索クエリに適合する、前記複数のプレーストコンテンツのサブセットを識別し、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札値と、前記プレーストコンテンツについてのそれぞれのクリックスルーレートを一緒に考慮して、前記サブセット内の各プレーストコンテンツに得点を割り当て、前記プレーストコンテンツの前記それぞれの得点に基づいて前記サブセットをランク付けし、前記ユーザに対する同時の提示として、前記ランク付けに基づいて、前記一組のプレーストコンテンツの少なくともサブセットを、前記検索クエリに応じて生成された結果とともに、前記ユーザに提供し、
前記得点は、前記ユーザプロファイルと、各プレーストコンテンツに関連付けられたプレーストコンテンツプロファイルとの間の類似性得点に基づいており、
前記類似性得点は、前記ユーザプロファイルと、前記関連付けられたプレーストコンテンツプロファイルとの間の類似度合いを示し、
各プレーストコンテンツに割り当てられる前記得点は、前記類似性得点に対応するスケーリングファクタと前記それぞれのクリックスルーレートと前記それぞれの入札値とを乗算することにより判定される、システム。
【請求項１１】
前記スケーリングファクタを作成するために前記類似性得点が特定の範囲に正規化される、請求項１０に記載のシステム。
【請求項１２】
最大の類似性得点に関連付けられる前記スケーリングファクタは、中位の類似性得点に関連付けられる前記スケーリングファクタよりも小さい、請求項９または１０に記載のシステム。
【請求項１３】
前記ユーザプロファイルは、一組の文書から導き出される情報を含む、ユーザに関する情報に少なくとも部分的に基づき、前記一組の文書は、検索エンジンからの検索結果によって識別される文書と、前記検索エンジンからの検索結果によって識別される前記文書にリンクされた文書と、前記ユーザによってアクセスされた文書にリンクされた文書と、前記ユーザによって閲覧された文書とを含む、請求項９〜１２の何れか一項に記載のシステム。
【請求項１４】
前記類似性得点は、前記ユーザプロファイルのユーザプロファイルベクトルであって、カテゴリとそれぞれの重みとの第１のペアを含むユーザプロファイルベクトルと、前記プレーストコンテンツのプレーストコンテンツプロファイルベクトルであって、カテゴリとそれぞれの重みとの第２のペアを含むプレーストコンテンツプロファイルベクトルとの間の数学的距離に基づいている、請求項９〜１３の何れか一項に記載のシステム。
【請求項１５】
前記プレーストコンテンツは広告である、請求項９〜１４の何れか一項に記載のシステム。
【請求項１６】
プロセスを行うためにコンピュータが実行可能な１つまたは複数のコンピュータプログラムを記憶するコンピュータ読取り可能媒体であって、前記１つまたは複数のコンピュータプログラムは、
ユーザから検索クエリを受信するための命令と、
前記ユーザに関連付けられたユーザプロファイルにアクセスするための命令であって、前記ユーザプロファイルは、前記ユーザによって以前に発行された複数の検索クエリ内のタームに基づく情報を含む、命令と、
前記検索クエリに適合する一組のプレーストコンテンツを識別するための命令と、
前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札値と、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとを一緒に考慮して、前記一組のプレーストコンテンツの各プレーストコンテンツに得点を割り当てるための命令であって、前記得点の割り当ては、
前記ユーザプロファイルと、各プレーストコンテンツに関連付けられたプレーストコンテンツプロファイルとの間の類似性得点を判定することであって、前記類似性得点は、前記ユーザプロファイルと、前記関連付けられたプレーストコンテンツプロファイルとの間の類似度合いを示す、ことと、
前記類似性得点と前記それぞれのクリックスルーレートと前記それぞれの入札値とを一緒に考慮することにより、各プレーストコンテンツに割り当てられる前記得点を判定することとを含む、コンピュータ読取り可能媒体。
【請求項１７】
プロセスを行うためにコンピュータが実行可能な１つまたは複数のコンピュータプログラムを記憶するコンピュータ読取り可能媒体であって、前記１つまたは複数のコンピュータプログラムは、
ユーザから検索クエリを受信するための命令と、
前記ユーザに関連付けられたユーザプロファイルにアクセスするための命令であって、前記ユーザプロファイルは、前記ユーザによって以前に発行された複数の検索クエリ内のタームに基づく情報を含む、命令と、
前記検索クエリに適合する一組のプレーストコンテンツを識別するための命令と、
前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札値と、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとを一緒に考慮して、前記一組のプレーストコンテンツの各プレーストコンテンツに得点を割り当てるための命令であって、前記得点の割り当ては、
前記ユーザプロファイルと、各プレーストコンテンツに関連付けられたプレーストコンテンツプロファイルとの間の類似性得点を判定することであって、前記類似性得点は、前記ユーザプロファイルと、前記関連付けられたプレーストコンテンツプロファイルとの間の類似度合いを示す、ことと、
前記類似性得点をスケーリングファクタに関連付けることと、
前記スケーリングファクタと前記それぞれのクリックスルーレートと前記それぞれの入札値とを乗算することにより、各プレーストコンテンツに割り当てられる前記得点を判定することとを含む、コンピュータ読取り可能媒体。
【請求項１８】
検索クエリに関連するプレーストコンテンツをパーソナライズするためのシステムであって、
ユーザから検索クエリを受信するための手段と、
前記ユーザについてのユーザプロファイルにアクセスするための手段であって、前記ユーザプロファイルは、前記ユーザによって以前に発行された複数の検索クエリ内のタームに基づく情報を含む、手段と、
前記検索クエリに適合する一組のプレーストコンテンツを識別するための手段と、
前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札値とを一緒に考慮して、前記一組のプレーストコンテンツの各プレーストコンテンツに得点を割り当てるための手段であって、
前記ユーザプロファイルと、各プレーストコンテンツに関連付けられたプレーストコンテンツプロファイルとの間の類似性得点を判定するための手段であって、前記類似性得点は、前記ユーザプロファイルと、前記関連付けられたプレーストコンテンツプロファイルとの間の類似度合いを示す、手段と、
前記類似性得点と前記プレーストコンテンツについてのそれぞれのクリックスルーレートと前記それぞれの入札値とを一緒に考慮することにより、各プレーストコンテンツに割り当てられる前記得点を判定する手段とを含む、得点を割り当てるための手段と、
前記一組のプレーストコンテンツを、それらの得点に従ってランク付けするための手段と、
前記ユーザに対する同時の提示として、前記ランク付けに基づいて、前記一組のプレーストコンテンツの少なくともサブセットを、前記検索クエリに応じて生成された結果とともに、前記ユーザに提供する手段とを含む、システム。
【請求項１９】
検索クエリに関連するプレーストコンテンツをパーソナライズするためのシステムであって、
ユーザから検索クエリを受信するための手段と、
前記ユーザについてのユーザプロファイルにアクセスするための手段であって、前記ユーザプロファイルは、前記ユーザによって以前に発行された複数の検索クエリ内のタームに基づく情報を含む、手段と、
前記検索クエリに適合する一組のプレーストコンテンツを識別するための手段と、
前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札値とを一緒に考慮して、前記一組のプレーストコンテンツの各プレーストコンテンツに得点を割り当てるための手段であって、
前記ユーザプロファイルと、各プレーストコンテンツに関連付けられたプレーストコンテンツプロファイルとの間の類似性得点を判定するための手段であって、前記類似性得点は、前記ユーザプロファイルと、前記関連付けられたプレーストコンテンツプロファイルとの間の類似度合いを示す、手段と、
前記類似性得点をスケーリングファクタに関連付ける手段と、
前記スケーリングファクタと前記プレーストコンテンツについてのそれぞれのクリックスルーレートと前記それぞれの入札値とを乗算することにより、各プレーストコンテンツに割り当てられる前記得点を判定する手段とを含む、得点を割り当てるための手段と、
前記一組のプレーストコンテンツを、それらの得点に従ってランク付けするための手段と、
前記ユーザに対する同時の提示として、前記ランク付けに基づいて、前記一組のプレーストコンテンツの少なくともサブセットを、前記検索クエリに応じて生成された結果とともに、前記ユーザに提供する手段とを含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、２００３年９月３０日に出願された米国特許出願第１０／６７６，７１１号（その全体が参照により本明細書に援用されるものとする）の一部継続出願である。
【０００２】
発明の分野
本発明は、一般に、コンピュータネットワークシステム内の検索エンジンの分野に関し、特に、ユーザにより発行された検索クエリに対応したプレーストコンテンツ（ｐｌａｃｅｄ  ｃｏｎｔｅｎｔ）の順序付けをカスタマイズするために、ユーザプロファイルを作成して使用するシステムおよび方法に関する。
【背景技術】
【０００３】
発明の背景
検索エンジンは、ユーザにより発行された検索クエリに応答して迅速に走査することが可能な、インターネットからのインデックス付き文書の強力な源を提供する。そのようなクエリは、通常は非常に短い（平均約２〜３ワード）。インターネットを介してアクセス可能な文書の数が増えるにつれて、クエリに適合する文書の数も増加する可能性がある。しかし、クエリに適合するあらゆる文書が、ユーザから見て等しく重要なわけではない。そのため、検索エンジンが検索結果を、ユーザのクエリへのそれらの関連性に基づいて順序付けしないならば、ユーザは、検索エンジンによって返される膨大な数の文書に容易に圧倒される。
【０００４】
検索クエリへの検索結果の関連性を向上させるための一方法は、さまざまなＷｅｂページのリンク構造を使用して、検索結果のランク付けに影響を及ぼすために使用されてもよい全般的な「重要度」得点を計算することである。これは、ページランク（ＰａｇｅＲａｎｋ）アルゴリズムと呼ばれることがある。ページランク（ＰａｇｅＲａｎｋ）アルゴリズムのより詳細な説明は、Ｓ．ＢｒｉｎおよびＬ．Ｐａｇｅ著「Ｔｈｅ  Ａｎａｔｏｍｙ  ｏｆ  ａ  Ｌａｒｇｅ−Ｓｃａｌｅ  Ｈｙｐｅｒｔｅｘｔｕａｌ  Ｓｅａｒｃｈ  Ｅｎｇｉｎｅ」（第７回国際ワールドワイドウェブ会議、ブリスベン、オーストラリア（７ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｆｅｒｅｎｃｅ，  Ｂｒｉｓｂａｎｅ，  Ａｕｓｔｒａｌｉａ））および米国特許第６，２８５，９９９号明細書（これらの両方は参照により背景情報として本明細書に援用されるものとする）に見出すことができる。
【０００５】
ページランク（ＰａｇｅＲａｎｋ）アルゴリズムにおける重要な仮定は、ランダムに選択したＷｅｂページからＷｅｂサーフィンの行程を開始し、「戻る（ｂａｃｋ）」ボタンは決して押さずに、Ｗｅｂページ内に埋め込まれたリンクをクリックし続ける、「ランダムサーファー」が存在するということである。最終的にこのランダムサーファーが行程に飽きた場合、このランダムサーファーは、別のＷｅｂページをランダムに選択することにより新しい行程を再開してもよい。ランダムサーファーがあるＷｅｂページにアクセスする（すなわち、表示またはダウンロードする）確率は、Ｗｅｂページのページランクに依存する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
エンドユーザの観点からは、ページランク（ＰａｇｅＲａｎｋ）アルゴリズムを使用する検索エンジンは、誰がクエリを発行するかに関係なく、同じ方法で検索クエリを処理する。その理由は、検索エンジンは、ユーザを一意に識別することが可能な、いかなる情報の提供もユーザに依頼しないためである。検索結果に影響を及ぼす要因は、検索クエリそのもの（例えば、クエリ内にあるタームの数、およびその順序）だけである。この検索結果は、抽象的ユーザである「ランダムサーファー」の関心に最も適合するものであり、特定のユーザの嗜好または関心に適合するようには調整されていない。
【０００７】
現実には、ランダムサーファーのようなユーザは決して存在しない。どのユーザも、検索エンジンにクエリを発行する場合、独自の嗜好を有している。エンジンによって返される検索結果の質は、そのエンジンのユーザの満足度によって評価されなければならない。クエリ自体によってユーザの嗜好を十分明確にすることができる場合、または、特定のクエリに関してユーザの嗜好がランダムサーファーの嗜好に類似している場合、ユーザが検索結果に満足する可能性は比較的高い。しかし、ユーザの嗜好が、検索クエリ自体の中に明確に反映されない何らかの個人的要因によって大幅に偏っている場合、または、ユーザの嗜好が、ランダムユーザの嗜好とはかなり異なる場合、同じ検索エンジンからの検索結果は、無用ではないにしても、ユーザにとってあまり役に立たない可能性がある。
【０００８】
上に示したように、ランダムサーファーの行程は、特定の方向に向けての明確な好みのない、ランダムかつ中立なものとなる傾向がある。検索エンジンが、クエリに適合する少数の検索結果のみを返す場合、要求中のユーザは、それらの結果のそれぞれに目を通して自分自身に最も関連のある項目を発見する時間の余裕がある可能性があるため、返される結果の順序はあまり重要ではない。しかし、インターネットには莫大な数のＷｅｂページが接続されているため、検索エンジンは、検索クエリに適合する何百もの、またはさらには何千もの文書を返すことがよくある。この場合、検索結果の順序付けは非常に重要である。ランダムサーファーの嗜好とは異なる嗜好を有するユーザは、検索結果内に示される最初の５〜１０の文書の中に、探しているものを見つけることができない可能性がある。それが発生した場合、ユーザには通常、次の２つの選択肢が残されている。（１）関連する文書を見つけるために、示された文書のうちの、より多くを調べるために必要な時間を費やす。または、（２）クエリに適合する文書の数を減らすために、検索クエリを絞り込む。クエリの絞込みは、多くの場合、ささいでない作業であり、場合によっては、ユーザが有しているよりも多くの、対象についての知識や、検索エンジンについての専門知識が必要とされ、場合によっては、ユーザが費やすことをいとわないよりも多くの時間と努力が必要とされる。
【０００９】
例えば、ユーザが検索エンジンに「ｂｌａｃｋｂｅｒｒｙ」という１つのタームのみを有する検索クエリを発行すると仮定する。その他に前後関係が何もなければ、ページランク（ＰａｇｅＲａｎｋ）に基づく検索エンジンによって返される文書のリストの上位には、ｗｗｗ．ｂｌａｃｋｂｅｒｒｙ．ｎｅｔへのリンクがある可能性があり、その理由は、このＷｅｂページが最高のページランクを有するためである。しかし、クエリの要求者が食べ物と料理に関心を持つ人である場合、調理法や、食べ物に関連するその他のテキスト、写真などを有するＷｅｂページを、返される結果の上位に含むように検索結果を順序付けすることが、より有用である。検索クエリを発行している人にとって関心がある可能性が最も高いＷｅｂページを強調するために、検索結果を順序付けし直すか、またはその他の方法で検索結果をカスタマイズすることが可能な検索エンジンを有することが望ましい。さらに、そのようなシステムは、個々のユーザからの最小限の入力を要求し、ユーザの嗜好および関心に関するユーザからの明示的な入力なしに、十分に、または完全に動作することが望ましい。最後に、そのようなシステムは、セキュリティとプライバシーに関するユーザの要求を満足することが望ましい。
【課題を解決するための手段】
【００１０】
概要
プレーストコンテンツをパーソナライズする方法では、ユーザの関心が判定され、ユーザに関連付けられたユーザプロファイルがアクセスされる。ユーザの関心に対応するプレーストコンテンツの組が識別され、プレーストコンテンツの組は、ユーザプロファイルに従って順序付けされる。
【００１１】
本発明の一態様では、検索エンジンはユーザプロファイルを利用して、プレーストコンテンツと、その他のまたは一般的なコンテンツとを含んでもよい検索結果をカスタマイズする。ユーザプロファイルは、ユーザの関心または嗜好を特徴付ける複数の項目を含む。これらの項目は、ユーザにより発行された以前の検索クエリ、以前のクエリによって識別された文書からの、または以前のクエリによって識別された文書へのリンク、識別された文書からサンプリングされたコンテンツ、およびユーザによって暗黙的または明示的に提供された個人情報を含む、さまざまな情報源から抽出される。
【００１２】
検索エンジンは、ユーザから検索クエリを受信した場合、検索クエリに適合するプレーストコンテンツの組を識別する。各プレーストコンテンツは、ユーザプロファイルへのプレーストコンテンツの類似性に少なくとも部分的に基づいた、ランクに関連付けられる。プレーストコンテンツ項目は、次に、それらのランクに従って順序付けされる。
【００１３】
ユーザプロファイルの構築と、検索結果の再順序付けおよび／または得点付けとを含む本発明は、クライアント−サーバネットワーク環境のクライアント側またはサーバ側のいずれに実装されてもよい。
【００１４】
本発明の前述の特徴と利点、および本発明の追加の特徴と利点は、以下の、本発明の好ましい実施形態の詳細な説明を、図面と組み合わせた場合の結果として、より明確に理解される。
【００１５】
複数の図面にわたる同様の参照番号は、対応する部分を意味している。
【発明を実施するための最良の形態】
【００１６】
実施形態の説明
以下に説明する実施形態は、ユーザによる過去の検索エンジン使用経験に基づいてユーザプロファイルを作成し、次に、ユーザにより提供された検索クエリに応じた検索結果を、ユーザプロファイルを使用してランク付けするシステムおよび方法を含む。
【００１７】
図１は、本発明が実装されてもよい、代表的なクライアント−サーバネットワーク環境の概要を示す。複数のクライアント１０２が、検索エンジンシステム１０７に、例えばインターネットなどの、ネットワーク１０５を介して接続されている。検索エンジンシステム１０７は、１つまたは複数の検索エンジン１０４を含む。検索エンジン１０４は、クライアント１０２によって発行された検索クエリを処理し、検索クエリに応じた検索結果を生成し、結果をクライアントに返す役割を果たす。検索エンジンシステム１０７は、さらに、１つまたは複数のコンテンツサーバ１０６、１つまたは複数のユーザプロファイルサーバ１０８、および１つまたは複数のプレーストコンテンツサーバ（ｐｌａｃｅｄ  ｃｏｎｔｅｎｔ  ｓｅｒｖｅｒｓ）１１１も含む。コンテンツサーバ１０６は、さまざまなＷｅｂサイトから取得したインデックス付き文書を多数記憶する。あるいは、またはそれに加えて、コンテンツサーバ１０６は、さまざまなＷｅｂサイト上に記憶された文書のインデックスも記憶する。一実施形態では、各インデックス付き文書には、文書のリンク構造に応じたページランクが割り当てられる。ページランクは、文書の重要性の、クエリに依存しない基準として働く。検索エンジン１０４は、１つまたは複数のコンテンツサーバ１０６と通信を行って、特定の検索クエリに対応した複数の文書を選択する。検索エンジンは、文書のページランク、文書に関連付けられたテキスト、および検索クエリに基づいて、各文書に得点を割り当てる。検索エンジン１０４は、１つまたは複数のプレーストコンテンツサーバ１１１と通信を行って、広告、またはその他のタイプのプレーストコンテンツを、検索結果と組み合わせて提供してもよい。プレーストコンテンツサーバ１１１は、１つまたは複数のユーザプロファイルサーバ１０８と通信を行ってもよい。プレーストコンテンツについては、以下でさらに詳細に説明する。
【００１８】
ユーザプロファイルサーバ１０８は、複数のユーザプロファイルを記憶する。各プロファイルは、ユーザを一意に識別する情報と、そのユーザの以前の検索経験および個人情報とを含み、これらの情報は、そのユーザによって発行された検索クエリに応じた検索結果を絞り込むために使用されてもよい。ユーザプロファイルの構築のためには、さまざまな手法が利用可能である。例えば、ユーザプロファイルは、新規ユーザに、フォームへの記入または調査への回答を要求することによって作成されてもよい。この手法は、銀行口座を開くなどの、特定の適用例において有用な場合がある。しかし、この手法は、検索エンジンに関しては有利なものとは言えない。第１に、ユーザの、検索エンジンとの相互作用は、通常、動的なプロセスである。時が経つにつれて、ユーザの関心は変化する可能性がある。この変化は、ユーザにより発行される検索クエリによって、またはユーザの検索結果の取り扱いによって、またはその両方によって表される場合がある。フォーム上での、質問に対するユーザの答えは、ユーザが自分の回答を定期的に更新することを選ばない限り、時が経つにつれてより有用でなくなる傾向がある。オンライン銀行口座の場合に電話番号をたまに更新するのとは異なり、検索エンジンの場合にユーザプロファイルを頻繁に更新することは、ユーザにとっての検索エンジンの使いやすさに大きな影響を及ぼし、こ点は、現在利用可能な検索エンジンの中からユーザが選択する場合の重要な考慮事項である。さらに、フォームに記入するなどの明示的なフィードバックを提供することは、多くのユーザにとって厄介すぎるため、ユーザはいやがるということが知られている。したがって、一部のユーザは自分の関心について明示的なフィードバックを提供する可能性があるとはいえ、ユーザによる明示的なまたは新たな操作を何も要求せずに、ユーザの関心についての情報を暗黙的に取得するための手順を有することが望ましい。
【００１９】
検索エンジンユーザの過去の検索活動は、ユーザの個人的な検索嗜好に関する有用な手がかりを提供することが観察されている。図２は、ユーザプロファイルの構築のために有益なユーザ情報の源の一覧を示す。例えば、以前に発行された検索クエリ２０１は、ユーザの関心のプロファイリングにおいて非常に役に立つ。ユーザが糖尿病に関連する複数の検索クエリを発行した場合、おそらく、これはユーザにとって関心のあるトピックである。ユーザが続いて「ｏｒｇａｎｉｃ  ｆｏｏｄ」（自然食）というターム（ｔｅｒｍ）を含むクエリを発行した場合、そのユーザは、糖尿病と闘うのに役立つそれらの自然食に、より関心がある可能性があるということが、妥当に推論されてもよい。同様に、以前の検索クエリに応じた検索結果に関連付けられたユニバーサルリソースロケータ（ＵＲＬ）２０３およびそれらに対応するアンカーテキスト２０５（特に、ユーザによって選択された、または「アクセスされた」（例えば、ユーザによってダウンロードされた、またはその他の方法で表示された）検索結果項目についてのもの）は、ユーザの嗜好を判定するために役立つ。第１のページが第２のページへのリンクを含み、そのリンクが、それに関連付けられたテキスト（例えば、リンクに隣接するテキスト）を有する場合、リンクに関連付けられたテキストは、第２のページに対する「アンカーテキスト」と呼ばれる。アンカーテキストは、文書内のＵＲＬリンクに関連するテキストと、そのＵＲＬリンクが指し示す別の文書との間の関係を確立する。アンカーテキストの利点としては、アンカーテキストは、ＵＲＬリンクが指し示す文書の正確な説明をしばしば提供するということ、および、画像またはデータベースなどの、テキストベースの検索エンジンによって指し示されることができない文書を指し示すために使用されることが可能であるということなどがある。
【００２０】
検索結果を受信した後、ユーザは、ＵＲＬリンクのいくつかをクリックし、それによって、それらのリンクにより参照される文書を、それらの文書に関してさらに詳しく知るためにダウンロードしてもよい。特定のタイプの一般情報２０７が、ユーザが選択した、またはユーザが識別した文書の組に関連付けられてもよい。ユーザプロファイルを形成する目的のため、識別される文書（その文書から、ユーザプロファイルに含める情報が導き出される）には、検索エンジンからの検索結果により識別された文書、ユーザによりアクセスされた（例えばブラウザアプリケーションを使用して、例えば表示またはダウンロードされた）文書（以前の検索結果で識別されなかった文書を含む）、検索エンジンからの検索結果により識別された文書にリンクされた文書、ユーザによりアクセスされた文書にリンクされた文書、またはそのような文書の任意のサブセットが含まれてもよい。
【００２１】
識別された文書に関する一般情報２０７は、文書のフォーマットは何か（ハイパーテキストマークアップ言語（ＨＴＭＬ）によるものか、プレーンテキストによるものか、ポータブルドキュメントフォーマット（ＰＤＦ）によるものか、またはマイクロソフトワード（Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ）によるものか）、文書のトピックは何か（科学に関するものか、健康に関するものか、またはビジネスに関するものか）などの質問に答えるものであってもよい。この情報は、ユーザの関心のプロファイリングにおいても役立つ。それに加えて、ユーザが選択した文書（本明細書では、識別された文書と呼ぶ場合がある）に関するユーザの活動についての情報２０９、例えば、ユーザがその文書を表示して過ごした時間、その文書上でのスクロール動作の量、ユーザがその文書を印刷または保存したかどうか、あるいはお気に入りに加えたかどうかなども、ユーザにとってのその文書の重要度、およびユーザの嗜好を示す。一部の実施形態では、ユーザの活動に関する情報２０９は、ユーザにより識別された文書から抽出された、または導き出された情報の重要度を重み付けする際に、どちらにも使用される。一部の実施形態では、ユーザの活動に関する情報２０９は、ユーザプロファイルを導き出すための基礎として、ユーザにより識別された文書のうちのいずれを使用するかを決定するために使用される。例えば、情報２０９は、かなりのユーザの活動を受けた文書のみを、ユーザプロファイルを生成するために、（事前定義された基準に従って）選択するために使用されてもよく、あるいは、情報２０９は、ユーザが表示した時間が、事前定義されたしきい値よりも短い文書を、プロファイリングのプロセスから除外するために使用されてもよい。
【００２２】
以前の検索活動からの、識別された文書のコンテンツは、ユーザの関心と嗜好についての豊かな情報源である。識別された文書内に現れる重要なタームと、識別された文書内でそれらが現れる頻度とは、文書にインデックスを付けるために有用なだけでなく、それらが上述の他のタイプのユーザ情報と組み合わされた場合は特に、ユーザの個人的な関心を顕著に示すものでもある。一実施形態では、記憶容量と計算コストを節約するために、文書全体ではなく、識別された文書からサンプリングされたコンテンツ２１１が、ユーザプロファイルの構築の目的のために抽出される。別の実施形態では、識別された文書に関連するさまざまな情報が、識別された文書に関するカテゴリ情報２１３を構築するために分類されてもよい。前記さまざまな情報は、以前にページにアクセスしたことがある個人のタイプ、または、文書を説明する可能性があるその他のメタデータを含んでもよい。コンテンツのサンプリング、識別された文書内の重要なタームを識別する処理、およびカテゴリ情報の使用に関するさらなる説明は後に示す。
【００２３】
ユーザプロファイルの別の情報源となる可能性があるのは、ユーザのブラウジングパターン２１７である。ユーザのブラウジングパターンは、先行するＮ日間（例えば６０日間）などの、ある期間にわたってユーザによりアクセスされた、ＵＲＬによって表されてもよい。
【００２４】
一部の実施形態では、ユーザプロファイル情報は、より新しい情報にはより大きな重みが与えられ、より古い情報にはより小さな重みが与えられることで、その古さに従って重みを付けられる。これは、ユーザの関心の変化にユーザプロファイルがよりよく追従するようにするために役立ち、ユーザにとっての一時的な関心の影響や、関心が小さくなりつつある題目の影響を減らすために役立つ。時間で重み付けされるユーザプロファイルをサポートするために、さまざまなデータ構造が使用されてよく、通常は、時間区分のシーケンスに関連付けられたユーザ情報を保持するための、複数のビン（ｂｉｎｓ）または層（ｔｉｅｒｓ）を含む。
【００２５】
任意選択で、ユーザは、ユーザの年齢または年齢層、教育のレベルまたはレンジ、収入のレベルまたはレンジ、言語の選択、配偶者の有無、地理的位置（例えば、ユーザが住んでいる市、州、国、および場合によってはさらに、所在地住所、郵便番号、電話の市外局番などの追加情報も含む）、文化的背景または好み、あるいはこれらの任意のサブセットなどの、ユーザに関連付けられた人口学的情報または地理的情報を含む、個人情報２１５を提供することを選択してもよい。ユーザの好みのスポーツや映画などの、時間とともに変化することが多い他のタイプの個人情報に比較して、この個人情報は、より変化が少なく、ユーザの検索クエリおよび検索結果から推論することがより困難であるが、ユーザにより発行される特定のクエリを正しく解釈するためには非常に重要な場合がある。例えば、ユーザが、「Ｊａｐａｎｅｓｅ  ｒｅｓｔａｕｒａｎｔ」（日本食レストラン）を含むクエリを発行した場合、そのユーザは、地元の日本食レストランを夕食のために検索している可能性が非常に大きい。ユーザの地理的位置がわからない場合、ユーザの真の意図に最も関連した項目が最初に来るように、検索結果を順序付けすることは困難である。ただし、特定の場合には、この情報を推論することが可能である。例えば、ユーザは多くの場合、住んでいる場所に対応する特定の地域に関連付けられた結果を選択する。
【００２６】
ユーザ情報のさまざまな源からユーザプロファイル２３０を作成することは、動的かつ複雑なプロセスである。一部の実施形態では、プロセスはサブプロセスに分割される。各サブプロセスは、特定の観点からユーザの関心または嗜好を特徴付ける、１つのタイプのユーザプロファイルを生成する。それらのユーザプロファイルは、次のとおりである。
・タームベースのプロファイル２３１−このプロファイルは、複数のタームを使用してユーザの検索嗜好を表す。各タームには、ユーザにとってのそのタームの重要度を示す重みが与えられる。
・カテゴリベースのプロファイル２３３−このプロファイルは、ユーザの検索嗜好を、階層的な方法で編成されてもよいカテゴリの組と相互に関連付ける。各カテゴリには、ユーザの検索嗜好とカテゴリとの間の相互関係の程度を示す重みが与えられる。
・リンクベースのプロファイル２３５−このプロファイルは、ユーザの検索嗜好に直接的または間接的に関連する複数のリンクを識別する。各リンクには、ユーザの検索嗜好とリンクとの間の関連性を示す重みが与えられる。
【００２７】
一部の実施形態では、ユーザプロファイル２３０は、これらのプロファイル２３１、２３３、２３５のサブセットのみ（例えば、これらのプロファイルのうちの１つまたは２つのみ）を含む。一実施形態では、ユーザプロファイル２３０は、タームベースのプロファイル２３１と、カテゴリベースのプロファイル２３３とを含むが、リンクベースのプロファイル２３５は含まない。
【００２８】
カテゴリベースのプロファイル２３３は、例えば、（例えば、それぞれの独立したクエリからの）検索タームの組、または（特定の識別された文書からの）識別されたコンテンツタームの組を、カテゴリにマッピングし、次に、結果として得られるカテゴリの組を集めて、カテゴリへの重み付けを、それらの発生頻度という観点、および、検索タームまたは識別されたコンテンツタームとカテゴリとの関連性という観点の両方から行うことによって、構築されてもよい。あるいは、ある期間にわたって蓄積されるすべての検索タームまたは識別されるコンテンツタームが、重み付けされたカテゴリ内にマッピングするためのグループとして取り扱われてもよい。さらに、ユーザにより提供された個人情報２１５が、重み付けされたカテゴリ内にマッピングされてもよく、そして、それらのカテゴリが、上述のいずれかの技術を使用して生成された、重み付けされたカテゴリと組み合わされるか、または集約されてもよい。ユーザに関連する情報をカテゴリ内にマッピングする、その他の適切な方法が使用されてもよい。
【００２９】
一部の実施形態では、ユーザプロファイル２３０は、複数のユーザに関連付けられた情報に基づく、集約されたプロファイルである。プロファイル情報が集約されるユーザは、いくつかの方法で選択または識別されてもよい。例えば、クラブまたはその他の組織のメンバであるすべてのユーザ、または特定の会社の従業員は、それらのユーザまたは従業員のプロファイル情報が集約されるようにしてもよい。別の例では、類似した集約前ユーザプロファイルを有するユーザは、それらのプロファイル情報が集約されるようにしてもよい。別の方法として、組織またはＷｅｂサイトは、それに関連付けられた「ユーザプロファイル」を有してもよく、そのユーザプロファイルは、組織のメンバの活動に基づいて自動的に生成されてもよく、あるいは、組織によって、または組織のためにカスタマイズされてもよい。検索エンジンまたはその他のサービスは、検索クエリを実行する際に、あるいは、要求者または購読者にとって関心のあるコンテンツを選択するために役立つ他の任意の適切な情報サービスと組み合わせて、プレーストコンテンツまたはその他のコンテンツを提供する際に、組織のユーザプロファイルを利用してもよい。
【００３０】
一実施形態では、ユーザプロファイルは、検索エンジンに関連付けられたサーバ（例えば、ユーザプロファイルサーバ１０８）上で作成および記憶される。そのような配置の利点は、ユーザプロファイルが複数のコンピュータによって容易にアクセスされることが可能であるということ、および、検索エンジン１０４に関連付けられた（または検索エンジン１０４の一部である）サーバ上にプロファイルが記憶されるため、検索結果をパーソナライズするために、検索エンジン１０４によってプロファイルが容易に使用されることが可能であるということである。別の実施形態では、ユーザプロファイルは、ネットワーク環境でクライアントと呼ばれることもある、ユーザのコンピュータ上で、作成および記憶されてもよい。ユーザのコンピュータ上で（例えばクッキー（ｃｏｏｋｉｅ）内に）ユーザプロファイルを作成および記憶することは、検索エンジンのサーバの計算および記憶コストを削減するだけでなく、一部のユーザのプライバシーの要求も満足する。さらに別の実施形態では、ユーザプロファイルは、クライアント上で作成および更新され、サーバ上に記憶されてもよい。そのような実施形態は、他の２つの実施形態で説明された利点のいくつかを組み合わせる。この配置の欠点は、クライアントとサーバとの間のネットワークトラフィックを増加させる可能性があるということである。本発明のユーザプロファイルは、クライアントコンピュータ、サーバコンピュータ、または両方を使用して実装されてもよいことが、当業者によって理解される。
【００３１】
図３は、複数のユーザについてのタームベースのプロファイルを記憶するために使用されてもよい、タームベースのプロファイルテーブル３００の、例示的データ構造を示す。テーブル３００は複数のレコード３１０を含み、各レコードは、ユーザのタームベースのプロファイルに対応する。タームベースのプロファイルレコード３１０には、ＵＳＥＲ＿ＩＤ列３２０と、（ＴＥＲＭ，ＷＥＩＧＨＴ）ペアの複数の列３４０とを含む、複数の列が含まれる。ＵＳＥＲ＿ＩＤ列は、ユーザ、または同じ（ＴＥＲＭ，ＷＥＩＧＨＴ）ペアの組を共有するユーザのグループを一意に識別する値を記憶し、各（ＴＥＲＭ，ＷＥＩＧＨＴ）ペア３４０は、ユーザまたはユーザのグループにとって通常重要な、典型的には１〜３ワードの長さのタームと、タームの重要度を定量化する、タームに関連付けられた重みとを含む。一実施形態では、タームは、１つまたは複数のｎ−グラム（ｎ−ｇｒａｍ）として表されてもよい。ｎ−グラムは、ｎ個のトークン（ｔｏｋｅｎ）のシーケンスとして定義され、ここで、トークンはワードであってもよい。例えば、「ｓｅａｒｃｈ  ｅｎｇｉｎｅ」というフレーズは、長さ２のｎ−グラムであり、「ｓｅａｒｃｈ」というワードは、長さ１のｎ−グラムである。
【００３２】
ｎ−グラムは、テキストオブジェクトをベクトルとして表すために使用されてもよい。これにより、ベクトルについては明確に定義されているが、オブジェクト一般については明確に定義されていない、幾何学的、統計学的、およびその他の数学的技法を適用することが可能になる。本発明では、ｎ−グラムは、２つのターム間の類似性の程度を、タームのベクトル表現への数学関数の適用に基づいて定義するために使用されてもよい。
【００３３】
タームの重みは、必ずしも正の値であるとは限らない。タームが負の重みを有する場合、これは、検索結果にこのタームが含まれないことをユーザは好むということ、および、負の重みの大きさは検索結果内でこのタームを避けることへのユーザの嗜好の強さを示すということを示唆してもよい。例として、カリフォルニア州サンタクルーズにおけるサーフィン愛好者のグループにとって、タームベースのプロファイルは、「ｓｕｒｆｉｎｇ  ｃｌｕｂ」（サーフィンクラブ）、「ｓｕｒｆｉｎｇ  ｅｖｅｎｔ」（サーフィンのイベント）、および「Ｓａｎｔａ  Ｃｒｕｚ」（サンタクルーズ）などのタームを、正の重みとともに含む可能性がある。「Ｉｎｔｅｒｎｅｔ  ｓｕｒｆｉｎｇ」（インターネットサーフィン）または「ｗｅｂ  ｓｕｒｆｉｎｇ」（Ｗｅｂサーフィン）などのタームも、プロファイル内に含まれてもよい。しかし、これらのタームは、このタームベースのプロファイルを共有するユーザの確実な嗜好と関係がなく、かつ紛らわしいため、負の重みを受け取る可能性が高い。
【００３４】
タームベースのプロファイルは、ユーザの嗜好を、特定のターム（各タームは特定の重みを有する）を使用して項目別に示す。文書が、ユーザのタームベースのプロファイル内のタームに適合する場合、つまり、その文書のコンテンツがこのタームを正確に含む場合、タームの重みが文書に割り当てられる。しかし、文書がタームに正確には適合しない場合、文書は、このタームに関連付けられた重みを一切受け取らない。文書とユーザプロファイルとの間の関連性のそのような要求は、ユーザの嗜好と文書との間にあいまいな関連性が存在するさまざまなシナリオを取り扱う場合、柔軟性に欠ける可能性がある。例えば、ユーザのタームベースのプロファイルが「Ｍｏｚｉｌｌａ」（モジラ）および「ｂｒｏｗｓｅｒ」（ブラウザ）などのタームを含む場合、そのようなタームを含まず、しかし「Ｇａｌｅｏｎ」（ガレオン）または「Ｏｐｅｒａ」（オペラ）などのその他のタームを含む文書は、それらのタームがプロファイル内の既存のタームに一致しないため、それらのタームが実際にはインターネットブラウザであるにもかかわらず、重みを一切受け取らない。正確なタームの一致なしでの、ユーザの関心の一致への必要性に対処するために、ユーザのプロファイルは、カテゴリベースのプロファイルを含んでもよい。
【００３５】
図４Ａは、オープンディレクトリプロジェクト（Ｏｐｅｎ  Ｄｉｒｅｃｔｏｒｙ  Ｐｒｏｊｅｃｔ）（ｈｔｔｐ：／／ｄｍｏｚ．ｏｒｇ／）による階層的カテゴリマップ４００を示す。マップ４００のルートレベルから開始して、「アート」、「ニュース」、「スポーツ」などのいくつかの主要なトピックの下に文書が編成される。これらの主要なトピックは、多くの場合、ユーザの特定の関心を描写するには範囲が広すぎる。したがって、それらは、より詳細なサブトピックにさらに分割される。例えば、「アート」というトピックは、「映画」、「音楽」、「文学」などのサブトピックを含んでもよく、「音楽」というサブトピックは、「歌詞」、「ニュース」、「評論」などのサブ−サブトピックをさらに含んでもよい。各トピックには、「アート」に対して１．１、「トークショー」に対して１．４．２．３、「バスケットボール」に対して１．６．１のように、固有のＣＡＴＥＧＯＲＹ＿ＩＤが関連付けられていることに注意されたい。
【００３６】
図４Ａは、オープンディレクトリプロジェクトを使用した例示的カテゴリを示すが、他のタイプのカテゴリも使用されてもよい。例えば、カテゴリは、文書のさまざまなコンテンツまたはその他の情報を解析し、概念を中心として編成された関連情報のカテゴリを生成することによって決定されてもよい。言い換えると、ワードまたはフレーズは、さまざまな概念に関連するクラスタにマッピングされてもよい。当業者は、さまざまな概念への文書の関連を決定することにおいて助けになる可能性がある、クラスタ内への情報の分類のための、さまざまな方法を認識するであろう。
【００３７】
ユーザの特定の関心は、さまざまなレベルの複数のカテゴリに関連付けられてもよく、それらのカテゴリのそれぞれは、カテゴリとユーザの関心との間の関連性の程度を示す重みを有してもよい。カテゴリと重みは、ユーザに関連して前述した情報のいずれかまたはすべてを解析することによって決定されてもよい。一部の実施形態では、カテゴリは、次の情報の組のうちの任意の１つまたは複数を解析することによって決定されてもよい。ユーザによって発行された以前の検索クエリ２０１、以前の検索クエリによって識別されたＵＲＬ２０３、識別された文書に関する一般情報２０７（例えば、識別された文書内に埋め込まれた、またはその他の方法で関連付けられた、メタデータ）、識別された文書に関するユーザの活動２０９（例えば、一般コンテンツおよび／またはプレーストコンテンツ上でのユーザクリック）、識別された文書からサンプリングされたコンテンツ２１１、識別された文書に関するカテゴリ情報２１３、ユーザの個人情報２１５、またはそれらの任意の組み合わせ。一部の実施形態では、カテゴリベースのプロファイルは、図４Ｂに示すようなハッシュテーブルデータ構造を使用して実装されてもよい。カテゴリベースのプロファイルテーブル４５０は、複数のレコード４６０を備えたテーブル４５５を含み、各レコードは、ＵＳＥＲ＿ＩＤと、テーブル４６０−１などの別のデータ構造を指すポインタとを含む。テーブル４６０−１は、ＣＡＴＥＧＯＲＹ＿ＩＤ列４７０およびＷＥＩＧＨＴ列４８０という２つの列を含んでもよい。ＣＡＴＥＧＯＲＹ＿ＩＤ列４７０は、図４Ａに示すようなカテゴリの識別番号を含み、これは、このカテゴリがユーザの関心に関連していることを示し、ＷＥＩＧＨＴ列４８０内の値は、このカテゴリの、ユーザの関心への関連性の程度を示す。
【００３８】
カテゴリマップ４００に基づくユーザプロファイルは、トピック指向の実装である。カテゴリベースのプロファイル内の項目は、他の方法で編成されてもよい。一実施形態では、ユーザの嗜好は、ユーザによって識別される文書のフォーマット（ＨＴＭＬ、プレーンテキスト、ＰＤＦ、マイクロソフトワード（Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ）など）に基づいて分類されてもよい。異なるフォーマットは、異なる重みを有してもよい。別の実施形態では、ユーザの嗜好は、識別される文書のタイプ（例えば、組織のホームページ、個人のホームページ、研究論文、またはニュースグループの投稿）に従って分類されてもよく、各タイプは関連する重みを有してもよい。ユーザの検索嗜好を特徴付けるために使用されてもよい、別のタイプのカテゴリは、文書の出所（例えば、各文書のホストに関連付けられた国）である。さらに別の実施形態では、上記のカテゴリベースのプロファイルが共存し、それぞれのプロファイルがユーザの嗜好の１つの側面を反映してもよい。
【００３９】
タームベースおよびカテゴリベースのプロファイル以外の、別のタイプのユーザプロファイルは、リンクベースのプロファイルと呼ばれる。上述のように、ページランク（ＰａｇｅＲａｎｋ）アルゴリズムは、インターネット上のさまざまな文書を結びつけるリンク構造に基づく。より多くのリンクによって指されている文書は、多くの場合、より高いページランクを割り当てられ、したがって、検索エンジンからのより多くの注意を引く。ユーザによって識別された文書に関連するリンク情報も、ユーザの嗜好を推論するために使用されてもよい。一実施形態では、ユーザにとっての好ましいＵＲＬのリストが、そのユーザによるそれらのＵＲＬへのアクセス頻度を解析することによって識別される。それぞれの好ましいＵＲＬは、さらに、そのＵＲＬにおいてユーザが過ごした時間、そのＵＲＬにおけるユーザのスクロール活動、および／または、そのＵＲＬにおける文書にアクセスする場合のその他のユーザ活動（２０９、図２）に従って、重み付けされてもよい。別の実施形態では、ユーザにとっての好ましいホストのリストが、さまざまなホストのＷｅｂページへの、そのユーザのアクセス頻度を解析することによって識別される。２つの好ましいＵＲＬが同じホストに関連している場合、２つのＵＲＬの重みを組み合わせて、ホストの重みが決定されてもよい。別の実施形態では、ユーザにとっての好ましいドメインのリストが、さまざまなドメインのＷｅｂページへの、そのユーザのアクセス頻度を解析することによって識別される。例えば、ｆｉｎａｎｃｅ．ｙａｈｏｏ．ｃｏｍについては、ホストは「ｆｉｎａｎｃｅ．ｙａｈｏｏ．ｃｏｍ」であり、ドメインは「ｙａｈｏｏ．ｃｏｍ」である。
【００４０】
図５は、ハッシュテーブルデータ構造を使用したリンクベースのプロファイルを示す。リンクベースのプロファイルテーブル５００は、複数のレコード５２０を含むテーブル５１０を含み、各レコードは、ＵＳＥＲ＿ＩＤと、テーブル５１０−１などの別のデータ構造を指すポインタとを含む。テーブル５１０−１は、ＬＩＮＫ＿ＩＤ列５３０およびＷＥＩＧＨＴ列５４０という２つの列を含んでもよい。ＬＩＮＫ＿ＩＤ列５３０内に記憶される識別番号は、好ましいＵＲＬまたはホストに関連付けられてもよい。ＬＩＮＫ＿ＩＤの代わりに実際のＵＲＬ／ホスト／ドメインがテーブル内に記憶されてもよいが、記憶空間を節約するために、ＬＩＮＫ＿ＩＤを記憶することが好ましい。
【００４１】
好ましいＵＲＬおよび／またはホストのリストは、ユーザによって直接識別されたＵＲＬおよび／またはホストを含む。好ましいＵＲＬおよび／またはホストのリストは、さらに、当業者に知られている協調フィルタリング（ｃｏｌｌａｂｏｒａｔｉｖｅ  ｆｉｌｔｅｒｉｎｇ）またはビブリオメトリックアナリシス（ｂｉｂｌｉｏｍｅｒｉｃ  ａｎａｌｙｓｉｓ）などの方法を使用することによって間接的に識別されるＵＲＬおよび／またはホストに拡張されてもよい。一実施形態では、間接的に識別されるＵＲＬおよび／またはホストは、直接識別されたＵＲＬおよび／またはホストへのリンクを有するＵＲＬまたはホスト、ならびに、直接識別されたＵＲＬおよび／またはホストからのリンクを有するＵＲＬまたはホストを含む。これらの間接的に識別されるＵＲＬおよび／またはホストは、それらと、ユーザによって直接識別された関連するＵＲＬまたはホストとの間の距離によって重み付けされる。例えば、直接識別されたＵＲＬまたはホストが１の重みを有する場合、１リンク隔たったＵＲＬまたはホストは０．５の重みを有してもよく、２リンク隔たったＵＲＬまたはホストは０．２５の重みを有してもよく、以下同様であってもよい。この手順は、元のＵＲＬまたはホストのトピックに関連していないリンク（例えば、著作権のページへのリンク、またはユーザが選択したＵＲＬまたはホストに関連付けられた文書を表示するために使用されてもよいＷｅｂブラウザソフトウェアへのリンク）の重みを減らすことによって、さらに改良されてもよい。関連のないリンクは、それらの文脈またはそれらの分布に基づいて識別されてもよい。例えば、著作権リンクは、多くの場合、特定の用語を使用し（例えば、著作権（ｃｏｐｙｒｉｇｈｔ）または「Ａｌｌ  ｒｉｇｈｔｓ  ｒｅｓｅｒｖｅｄ」は、著作権リンクのアンカーテキスト内で一般に使用される用語である）、Ｗｅｂサイトへの、多くの関連のないＷｅｂサイトからのリンクは、このＷｅｂサイトがトピック的には関連していないことを示す場合がある（例えば、インターネットエクスプローラ（Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ）Ｗｅｂサイトへのリンクが、多くの場合、関連のないＷｅｂサイトに含まれている）。間接的なリンクは、さらに、トピックの組に従って分類されてもよく、そして、非常に異なるトピックを有するリンクは、除外されるか、または非常に低い重みを割り当てられてもよい。
【００４２】
上述の３つのタイプのユーザプロファイルは、一般に、相互に補完するものであり、その理由は、異なるプロファイルは、ユーザの関心と嗜好を異なる見地から描写するからである。しかしこれは、１つのタイプのユーザプロファイル（例えば、カテゴリベースのプロファイル）が、別のタイプのユーザプロファイルによって通常果たされる役割を、果たすことができないということは意味しない。例として、リンクベースのプロファイル内の好ましいＵＲＬまたはホストは、多くの場合、特定のトピックに関連している（例えば、ｆｉｎａｎｃｅ．ｙａｈｏｏ．ｃｏｍは、金融ニュースに焦点を合わせたＵＲＬである）。したがって、好ましいＵＲＬまたはホストのリストを含むリンクベースのプロファイルによって、ユーザの嗜好を特徴付けるために達成されることは、少なくとも部分的には、好ましいＵＲＬまたはホストによって扱われるのと同じトピックを扱うカテゴリの組を有する、カテゴリベースのプロファイルによっても達成可能であってもよい。
【００４３】
図３〜図５に示すデータ構造内に記憶されることが可能な、さまざまなタイプのユーザプロファイルを、図２に示すユーザ情報に基づいて構築することは、重要な操作である。ユーザによって識別（例えば、表示）された文書について考えると、文書内の異なるタームは、文書のトピックを明らかにする上で、異なる重要性を有してもよい。例えば文書のタイトルなどの、一部のタームは、非常に重要な場合があるのに対して、他のタームは、ほとんど重要性を有さない場合がある。例えば、多くの文書は、文書のトピックに関連していない可能性がある、ナビゲーションリンク、著作権宣言文、免責条項、およびその他のテキストを含む。適切な文書の効率的な選択方法、それらの文書からの適切なコンテンツの効率的な選択方法、およびコンテンツ内からの適切なタームの効率的な選択方法は、計算言語学における困難な課題である。その上、ユーザプロファイルの構築プロセスを計算的に効率的にするために、処理されるユーザ情報の量は最小にすることが好ましい。文書内の、あまり重要ではないタームを省くことは、ユーザの関心に文書を正確に一致させるために役立つ。
【００４４】
パラグラフサンプリング（図６を参照して以下に説明する）は、ユーザに関連する可能性があるコンテンツを文書から自動的に抽出する手順である。この手順の背後で得られた重要な観察結果は、ナビゲーションリンク、著作権宣言文、免責条項などの、文書内のより関連の少ないコンテンツは、比較的短いテキストのセグメントである傾向があるということである。一実施形態では、パラグラフサンプリングは、文書内の最も長いパラグラフを探して、パラグラフの処理を、長いパラグラフから順に、パラグラフの長さが事前定義されたしきい値よりも短くなるまで行う。パラグラフサンプリング手順は、任意選択で、それぞれの処理されるパラグラフから、特定の最大量までのコンテンツを選択する。適切な長さのパラグラフが文書内でほとんど見つからない場合、手順は、アンカーテキストやＡＬＴタグなどの、文書の他の部分からのテキスト抽出に頼る。
【００４５】
図６は、パラグラフサンプリングの主要なステップを示すフローチャートである。パラグラフサンプリングは、コメント、ジャバスクリプト、およびスタイルシートなどの、事前定義された項目を文書から削除する、ステップ６１０から開始される。これらの項目が削除される理由は、これらの項目は通常、ブラウザ上に描画される際の文書の視覚的側面に関連しており、文書のトピックに関連する見込みはないためである。それに続いて、手順は、ステップ６２０において、長さがしきい値ＭｉｎＰａｒａｇｒａｈＬｅｎｇｔｈよりも長い各パラグラフから、最初のＮワード（またはＭセンテンス）を、サンプリングされたコンテンツとして選択してもよい。一実施形態では、ＮおよびＭの値は、それぞれ、１００および５であるように選択される。他の実施形態では、他の値が使用されてもよい。
【００４６】
パラグラフサンプリング手順に関連する計算および記憶装置の負荷を減らすために、手順は、各文書からサンプリングされるコンテンツに、例えば１０００ワードの、最大制限を課してもよい。一実施形態では、パラグラフサンプリング手順は、最初に、文書内のすべてのパラグラフを長い順に編成して、次に、最大の長さのパラグラフからサンプリングプロセスを開始する。パラグラフの開始と終了は、パラグラフのＨＴＭＬ表現内での連続したテキスト文字列の存在に依存するのではなく、ブラウザ内でのパラグラフの見かけに依存することに留意されたい。この理由により、インラインリンクおよび太字テキストのためのコマンドなどの、特定のＨＴＭＬコマンドは、パラグラフ境界を決定する際に無視される。一部の実施形態では、パラグラフサンプリング手順は、最初のＮワード（またはＭセンテンス）を審査して、「Ｔｅｒｍｓ  ｏｆ  Ｓｅｒｖｉｃｅ」（サービス期間）や「Ｂｅｓｔ  ｖｉｅｗｅｄ」（最適に表示）などの定型句を含むセンテンスを除去する。その理由は、そのようなセンテンスは、通常、文書のトピックとは関連していないと考えられるためである。
【００４７】
長さがしきい値を超えているパラグラフのサンプリングを行う前に、手順は、サンプリングされたコンテンツ内のワード数が最大ワード制限に達している場合、文書からのコンテンツのサンプリングを停止してもよい。長さがしきい値よりも大きなすべてのパラグラフの処理の後で、最大ワード制限に達していない場合は、任意選択のステップ６３０、６４０、６５０、および６７０が実行される。特に、手順は、最大ワード制限に達するまで、文書タイトル（６３０）、非インラインＨＲＥＦリンク（６４０）、ＡＬＴタグ（６５０）、およびメタタグ（６７０）を、サンプリングされたコンテンツに追加する。
【００４８】
ユーザにより識別された文書がスキャンされたら、コンテキスト解析を通して、最も重要な（または重要でない）タームのリストを識別するために、サンプリングされたコンテンツが使用されてもよい。コンテキスト解析は、識別された文書の組の中の最も重要な（または重要でない）タームを予測する、コンテキストタームを学習しようと試みる。特に、コンテキスト解析は、プレフィックスパターン、ポストフィックスパターン、および両方の組み合わせを探す。例えば、「ｘ’ｓ  ｈｏｍｅ  ｐａｇｅ」という表現は、ターム「ｘ」をユーザにとって重要なタームとして識別してもよく、したがって、ポストフィックスパターン「＊  ｈｏｍｅ  ｐａｇｅ」が、文書内の重要なタームの位置を予測するために使用されてもよい（アスタリスク「＊」は、このポストフィックスパターンに適合する任意のタームを表す）。一般に、コンテキスト解析によって識別されるパターンは、通常、重要な（または重要でない）タームの前のｍターム、および、重要な（または重要でない）タームの後のｎタームからなり、ここで、ｍおよびｎは両方とも０以上であり、かつ、それらのうちの少なくとも１つは０よりも大きい。典型的には、ｍおよびｎは５未満であり、０でない場合は、１〜３であることが好ましい。パターンは、その出現頻度に依存して、パターンにより認識されるタームがどれだけ重要（または重要でない）と予想されるかを示す、関連する重みを有してもよい。
【００４９】
本発明の一実施形態（図７Ａ）によると、コンテキスト解析は、トレーニングフェーズ７０１と稼働フェーズ７０３という、２つの別個のフェーズを有する。トレーニングフェーズ７０１は、事前定義された重要なタームのリスト７１２と、事前定義された重要でないタームの任意選択のリスト７１４と、トレーニング文書の組とを受け取って利用する（ステップ７１０）。一部の実施形態では、事前定義された重要でないタームのリストは使用されない。リスト７１２、７１４の出所は、重要ではない。一部の実施形態では、これらのリスト７１２、７１４は、文書の組（例えば、高ページランクの数千のＷｅｂページの組）から一組の規則に従ってワードまたはタームを抽出し、次に、それらを編集して、編集者の意見によりリストに属さないとされたタームを削除することにより生成される。トレーニング文書の出所も、重要ではない。一部の実施形態では、トレーニング文書は、検索エンジンにすでに知られている、ランダムに、または擬似ランダムに選択された文書の組を含む。他の実施形態では、トレーニング文書は、検索エンジン内の文書のデータベースから、事前定義された基準に従って選択される。
【００５０】
トレーニングフェーズ７０１の間は、複数のコンテキストパターン（例えば、プレフィックスパターン、ポストフィックスパターン、およびプレフィックス−ポストフィックスパターン）を識別するため、および識別された各コンテキストパターンに重みを関連付けるために、事前定義された重要な、および重要でないタームのリストを使用して、トレーニング文書が処理される（ステップ７２０）。稼働フェーズ７０３の間は、ユーザにより識別された文書にコンテキストパターンが適用され（ステップ７３０）、ユーザの特定の関心および嗜好を特徴付ける重要なタームの組が識別される（ステップ７４０）。ユーザの関心と嗜好の、学習および描写は、通常、継続したプロセスである。したがって、稼働フェーズ７０３は、以前に取り込まれた重要なタームの組を更新するために、繰り返されてもよい。これは、ユーザが文書にアクセスするたびに、または所定のスケジュールに従って、または特定の基準に従って決定された時間に、またはさもなければ、時々実行されてもよい。同様に、トレーニングフェーズ７０１も、新しいコンテキストパターンの組を発見するため、および識別されたコンテキストパターンに関連付けられた重みを再調整するために、繰り返されてもよい。
【００５１】
次に示すのは、トレーニングフェーズを例示する擬似コードの部分である。
【００５２】
【表１】
0005572596.tif 000002
【００５３】
上記の擬似コード内で、表現は、プレフィックスパターン（ｎ＝０）、ポストフィックスパターン（ｍ＝０）、または両方の組み合わせ（ｍ＞０かつｎ＞０）を表す。特定のパターンの各出現は、２つの多次元配列ＩｍｐｏｒｔａｎｔＣｏｎｔｅｘｔ（ｍ，ｎ，ｓ）またはＵｎｉｍｐｏｒｔａｎｔＣｏｎｔｅｘｔ（ｍ，ｎ，ｓ）のうちの１つにおいて登録される。プレフィックス、ポストフィックス、または組み合わせパターンの重みは、このパターンが、より多くの重要なタームと、より少ない重要でないタームとを識別する場合はより高く設定され、その逆も同様である。同じパターンが、重要なタームと、重要でないタームの両方に関連付けられる場合もありうることに留意されたい。例えば、ポストフィックス表現「＊  ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ」は、トレーニング文書７１６内で、事前定義された重要なタームのリスト７１２内のタームと組み合わせて使用されてもよく、さらに、事前定義された重要でないタームのリスト７１４と組み合わせて使用されてもよい。この状況では、ポストフィックスパターン「＊  ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ」に関連付けられる重み（Ｗｅｉｇｈｔ（１，０，“ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ”）という表現によって表される）は、ポストフィックス表現が、事前定義された重要なタームのリスト内のタームと組み合わせて使用される回数と、ポストフィックス表現が、事前定義された重要でないタームのリスト内のタームと組み合わせて使用される回数とを考慮に入れる。コンテキストパターンの重みを決定するための１つの可能な式は、次のとおりである。
Ｗｅｉｇｈｔ（ｍ，ｎ，ｓ）＝Ｌｏｇ（ＩｍｐｏｒｔａｎｔＣｏｎｔｅｘｔ（ｍ．ｎ，ｓ）＋１）−Ｌｏｇ（ＵｎｉｍｐｏｒｔａｎｔＣｏｎｔｅｘｔ（ｍ，ｎ，ｓ）＋１）
他の実施形態では、他の重み決定式が使用されてもよい。
【００５４】
コンテキスト解析プロセスの第２フェーズでは、重み付けされたコンテキストパターンが、ユーザによって識別された１つまたは複数の文書内の重要なタームを識別するために使用される。図７Ｂを参照すると、第１フェーズにおいて、コンピュータシステムは、トレーニングデータ７５０を受け取って、コンテキストパターンの組７６０を作成する（各コンテキストパターンは関連する重みを有する）。コンピュータシステムは、次に、コンテキストパターンの組７６０を文書７８０に適用する。図７Ｂでは、文書７８０内で検出された、以前に識別されたコンテキストパターンがハイライトされている。コンテキストパターンに関連付けられたターム７９０が識別され、そのような各タームは、コンテキストパターンに関連付けられた重みに基づいた、重みを受け取る。例えば、「Ｆｏｏｂａｒ」というタームは、プレフィックスパターン「Ｗｅｌｃｏｍｅ  ｔｏ  ＊」およびポストフィックスパターン「＊  ｂｕｉｌｄｓ」という、２つの異なるパターンに関連して、文書内に２回出現し、「Ｆｏｏｂａｒ」に割り当てられる重み１．２は、２つのパターンの重み０．７と０．５の合計である。もう一方の識別されたターム「ｃａｒｓ」は０．８の重みを有し、これは、対応するプレフィックスパターン「ｗｏｒｌｄ’ｓ  ｂｅｓｔ  ＊」が０．８の重みを有するためである。一部の実施形態では、各タームの重みは対数変換を使用して計算され、最終的な重みは、ｌｏｇ（最初の重み＋１）に等しい。２つのターム「Ｆｏｏｂａｒ」および「ｃａｒｓ」は、トレーニングデータ７５０内に存在していない可能性があり、ユーザによって以前に遭遇されたことはない可能性がある。それにもかかわらず、上記のコンテキスト解析方法は、これらのタームを識別して、ユーザのタームベースのプロファイルに追加する。したがって、コンテキスト解析は、ユーザの関心および嗜好に関連するタームを、それらのタームが事前定義されたタームのデータベースに含まれていない場合でも、発見するために使用されてもよい。
【００５５】
前述したように、コンテキスト解析の出力は、ユーザのタームベースのプロファイルを構築するために直接使用されてもよい。さらに、コンテキスト解析の出力は、ユーザのカテゴリベースのプロファイルなどの、他のタイプのユーザプロファイルを構築するためにも有用な場合がある。例えば、重み付けされたタームの組は、解析されて、さまざまなトピックを扱う複数のカテゴリ内に分類されてもよく、それらのカテゴリは、ユーザのカテゴリベースのプロファイルに追加されてもよい。
【００５６】
ユーザによって、またはユーザのために識別された文書の組についてコンテキスト解析を実行した後、結果としてもたらされるタームおよび重みの組は、各ユーザのタームベースのプロファイルのために割り当てられているよりも大きな量のストレージを占める場合がある。さらに、タームおよび対応する重みの組は、組の中の他のタームよりもはるかに小さな重みを有するいくつかのタームを含む場合がある。したがって、一部の実施形態では、コンテキスト解析の最後に、最も低い重みを有するタームを削除することによって、タームおよび重みの組が削られ（ｐｒｕｎｅｄ）、それにより、（Ａ）タームベースのプロファイルによって占められるストレージの総量が、事前定義された制限を満たすようになり、かつ／または、（Ｂ）重みが非常に低いため、または、事前定義された基準によって定義された古い項目に対応するため、ユーザの検索嗜好および関心を示さないと考えられるタームが削除される。一部の実施形態では、同様の削除基準および技術が、カテゴリベースのプロファイルおよび／またはリンクベースのプロファイルにも適用される。
【００５７】
上述のように、カテゴリベースのプロファイルは、図２を参照して説明した情報に基づいて作成されてもよい。例えば、以前に発行されたクエリタームが、特定の情報カテゴリに関連付けられてもよい。ユーザプロファイルエンジンは、ユーザにより発行された以前の検索クエリを解析して、ユーザが関心を持っている可能性がある特定の情報カテゴリと、それらのそれぞれの重みとを決定してもよい。そのようなユーザプロファイルエンジンは、図２を参照して説明した任意の情報源を解析してもよい。
【００５８】
一部の実施形態では、ユーザのプロファイルは、ユーザが検索を行い、検索結果から少なくとも１つの文書を選択して、ダウンロードまたは表示するたびに更新される。一部の実施形態では、検索エンジンが、ユーザにより（例えば、検索結果から文書を選択することによって）識別された文書のリストを、時間の経過とともに構築し、事前定義された時に（例えば、リストが事前定義された長さに達した場合に、または事前定義された時間が経過した場合に）、プロファイルの更新を実行する。更新を実行する場合は、新しいプロファイルデータが生成され、新しいプロファイルデータが、そのユーザについて以前に生成されたプロファイルデータとマージされる。一部の実施形態では、新しいプロファイルデータは、以前に生成されたプロファイルデータよりも高い重要度を割り当てられ、それにより、システムは、ユーザの検索嗜好と関心の変化に従って、ユーザのプロファイルを迅速に調整することが可能になる。例えば、新しいプロファイルデータと併合される前に、以前に生成されたプロファイルデータ内の項目の重みが自動的に縮小されてもよい。一実施形態では、プロファイル内の各項目に関連付けられた日付が存在し、プロファイル内の情報はその古さに基づいて重み付けされ、より古い項目は、それらの項目が新しかったときよりも低い重みを受け取る。他の実施形態では、新しいプロファイルデータは、以前に生成されたプロファイルデータよりも高い重要度を割り当てられない。
【００５９】
パラグラフサンプリング方法とコンテキスト解析方法とは、別々に使用されるか、または組み合わせて使用されてもよい。組み合わせて使用される場合、パラグラフサンプリングの出力は、コンテキスト解析方法の入力として使用される。
【００６０】
さらに、ユーザプロファイルを作成するために使用される上記の方法（例えば、パラグラフサンプリングおよびコンテキスト解析）は、ユーザの嗜好への、候補文書の関連性を決定するためにも活用されてもよいということに留意されたい。実際、検索エンジンの主な役割は、ユーザにより発行された検索クエリと、ユーザのユーザプロファイルとに基づいて、ユーザの嗜好に最も関連している一連の文書を識別することである。図８は、ユーザプロファイルへの文書の関連性についての情報を、複数の観点から記憶するために使用されてもよい、いくつかの例示的データ構造を示す。各ＤＯＣ＿ＩＤによってそれぞれが識別される、それぞれの候補文書について、タームベースの文書情報テーブル８１０は、タームとそれらの重みとの、複数のペアを含み、カテゴリベースの文書情報テーブル８３０は、複数のカテゴリと、関連する重みとを含み、リンクベースの文書情報テーブル８５０は、一組のリンクと、対応する重みとを含む。
【００６１】
３つのテーブル（８１０、８３０、および８５０）のそれぞれの、最も右側の列は、１つの特定のタイプのユーザプロファイルを使用して文書が評価された場合の、文書のランク（つまり、計算された得点）を記憶する。ユーザプロファイルランクは、文書に関連付けられた項目の重みを組み合わせることによって決定されてもよい。例えば、カテゴリベースまたはトピックベースのプロファイルランクは、次のように計算されてもよい。ユーザは、科学に関する文書を、０．６の重みを使用して好む一方で、ビジネスに関する文書を、−０．２の重みを使用して嫌ってもよい。したがって、科学文書が検索クエリに一致した場合、その文書はビジネス文書よりも高く重み付けされる。一般に、文書トピックの分類は、排他的でなくてもよい。候補文書は、０．８の確率で科学文書であるとして分類され、かつ、０．４の確率でビジネス文書であるとして分類されてもよい。リンクベースのプロファイルランクは、リンクベースのプロファイル内で、ユーザのＵＲＬ、ホスト、ドメインなどの嗜好に割り当てられた相対的な重みに基づいて計算される。一実施形態では、タームベースのプロファイルランクは、タームフリクエンシー−インバースドキュメントフリクエンシー（ｔｅｒｍ  ｆｒｅｑｕｅｎｃｙ−ｉｎｖｅｒｓｅ  ｄｏｃｕｍｅｎｔ  ｆｒｅｑｕｅｎｃｙ（ＴＦ−ＩＤＦ））などの周知の技術を使用して決定されてもよい。タームのタームフリクエンシーは、文書内でタームが出現する回数の関数である。インバースドキュメントフリクエンシーは、文書の集まりのうちの、タームが出現する文書の数の、逆関数である。例えば、「ｔｈｅ」のような非常に一般的なタームは、多くの文書内で発生し、その結果として、比較的低いインバースドキュメントフリクエンシーが割り当てられる。
【００６２】
検索エンジンが検索クエリに応答して検索結果を生成する場合、クエリを満足する候補文書Ｄには、検索クエリに従って、クエリ得点（ＱｕｅｒｙＳｃｏｒｅ）が割り当てられる。このクエリ得点は、次に、文書Ｄのページランク（ＰａｇｅＲａｎｋ）によって調整され、一般得点（ＧｅｎｅｒｉｃＳｃｏｒｅ）が生成される。これは、次のように表される。
ＧｅｎｅｒｉｃＳｃｏｒｅ＝ＱｕｅｒｙＳｃｏｒｅ＊ＰａｇｅＲａｎｋ
【００６３】
ユーザの関心または嗜好がランダムサーファーのものと劇的に異なる場合、この一般得点は、特定のユーザＵにとっての文書Ｄの重要度を適切に反映しない可能性がある。ユーザＵへの文書Ｄの関連性は、文書ＤのコンテンツとユーザＵのタームベースのプロファイルとの間の相関（本明細書ではＴｅｒｍＳｃｏｒｅと呼ばれる）、文書Ｄに関連付けられた１つまたは複数のカテゴリとユーザＵのカテゴリベースのプロファイルとの間の相関（本明細書ではＣａｔｅｇｏｒｙＳｃｏｒｅと呼ばれる）、ならびに、文書ＤのＵＲＬおよび／またはホストと、ユーザＵのリンクベースのプロファイルとの間の相関（本明細書ではＬｉｎｋＳｃｏｒｅと呼ばれる）に基づく、一組のプロファイルランクによって正確に特徴付けられてもよい。したがって、文書Ｄには、文書の一般得点と、ユーザプロファイル得点との両方の関数である、パーソナライズされたランクが割り当てられてもよい。一実施形態では、このパーソナライズされた得点は、次のように表されてもよい。
ＰｅｒｓｏｎａｌｉｚｅｄＳｃｏｒｅ＝ＧｅｎｅｒｉｃＳｃｏｒｅ＊（ＴｅｒｍＳｃｏｒｅ＋ＣａｔｅｇｏｒｙＳｃｏｒｅ＋ＬｉｎｋＳｃｏｒｅ）
【００６４】
図９Ａおよび図９Ｂは２つの実施形態を表し、両方とも、図１に示すネットワーク環境１００などのクライアント−サーバネットワーク環境内に実装される。図９Ａに示す実施形態では、検索エンジン１０４は、ステップ９１０において、特定のユーザにより発行された検索クエリをクライアント１０２から受信する。それに応答して、検索エンジン１０４は、ステップ９１５において、任意選択で、クエリストラテジを生成してもよい（例えば、検索クエリは、さらなる処理のための適切な形態となるように標準化され、かつ／または、検索クエリは、検索クエリの範囲を自動的に広めるかまたは狭めるために、事前定義された基準に従って修正されてもよい）。ステップ９２０において、検索エンジン１０４は、コンテンツサーバ１０６に、検索クエリ（または、生成されている場合は、クエリストラテジ）を発行する。コンテンツサーバは、ステップ９２０において、検索クエリに適合する文書のリストを識別する（各文書は、文書のページランクと検索クエリとに依存した一般得点を有する）。一般に、３つの動作（ステップ９１０、９１５、および９２０）はすべて、ネットワーク環境１００のサーバ側にある検索エンジンシステム１０７によって実行される。これらの最初の３つのステップに続く動作を実装する場所については、２つの選択肢がある。
【００６５】
サーバ側実装を採用する一部の実施形態では、ユーザの識別番号が検索クエリ内に埋め込まれる。ユーザの識別番号に基づいて、ユーザプロファイルサーバ１０８は、ステップ９２５において、ユーザのユーザプロファイルを識別する。ステップ９３０から開始して、ユーザプロファイルサーバ１０８または検索エンジン１０４は、ステップ９２０において識別された各文書を解析して、ユーザのプロファイルへの関連性を判定し、ステップ９３５において、識別された文書についてのプロファイル得点を作成し、次に、ステップ９４０において、文書の一般得点とプロファイル得点との関数である、パーソナライズされた得点を文書に割り当てる。ステップ９４２において、ユーザプロファイルサーバ１０８または検索エンジン１０４は、これが識別された文書のリスト内の最後の文書かどうかを調べる。最後の文書ではない場合は、システムは、リスト内の次の文書を処理する。それ以外の場合は、文書のリストが、それらのパーソナライズされた得点に従って順序付けし直され、対応するクライアント（そのクライアントからユーザが検索クエリを発行した）に送信される。
【００６６】
クライアント側実装を使用する実施形態は、サーバ側実装に類似しているが、ステップ９２０の後で、識別された文書が、対応するクライアント（そのクライアントからユーザが検索クエリを発行した）に送信されるという点が異なる。このクライアントは、ユーザのユーザプロファイルを記憶し、このクライアントは、ユーザプロファイルに基づいて文書を順序付けし直す役割を果たす。したがって、このクライアント側実装は、サーバの作業負荷を減少させる可能性がある。さらに、クライアント側実装を使用すれば、プライバシーに対する懸念がなくなるため、ユーザは、検索結果をカスタマイズするためのプライベート情報を進んで提供する傾向が強くなる可能性がある。ただし、クライアント側実装にとっての重大な制約は、ネットワーク帯域幅の制限により、例えば（一般ランクを使用して決定される）上位５０の文書などの、制限された数の文書のみが、順序付けし直すためにクライアントに送信される場合があるということである。対照的に、サーバ側実装では、検索クエリに一致する、例えば１０００などの、はるかに大きな数の文書に対してユーザプロファイルを適用できる可能性がある。したがって、クライアント側実装では、一般ランクは比較的低いがパーソナライズされたランクはかなり高い文書へのユーザアクセスが、はばまれる可能性がある。
【００６７】
図９Ｂは、別の実施形態を示す。検索クエリを検索エンジン１０４に発行する前に検索クエリがパーソナライズされない、図９Ａに示した実施形態とは異なり、ユーザのユーザプロファイルに従って一般クエリストラテジが調整されて（ステップ９６５）、パーソナライズされたクエリストラテジが作成される。例えば、ユーザプロファイルからの関連するタームが、関連する重みとともに、検索クエリに追加されてもよい。パーソナライズされたクエリストラテジの作成は、システムのクライアント側、またはサーバ側のいずれで実行されてもよい。本実施形態では、前の実施形態が直面したネットワーク帯域幅の制限は回避される。最後に、検索エンジン１０４は、パーソナライズされたクエリストラテジを、コンテンツサーバ１０６に発行し（ステップ９７０）、したがって、コンテンツサーバによって返される検索結果は、文書のパーソナライズされたランクによってすでに順序付けされている（ステップ９７５）。
【００６８】
関連する関心を有するユーザのグループのプロファイルが結合されて、グループプロファイルが形成されてもよく、あるいは、グループ内のユーザによって識別された文書に基づいて、単一のプロファイルが形成されてもよい。例えば、何人かの家族構成員が、同じコンピュータを使用して、検索エンジンに検索クエリを発行する場合がある。コンピュータが、検索エンジンによって、単一のユーザ識別子を使用してタグ付けされている場合、「ユーザ」は家族全体のユーザとなり、ユーザプロファイルはさまざまな家族構成員の検索嗜好の組み合わせまたは混合を表すものとなる。グループ内の個々のユーザは、任意選択で、このユーザを他のグループ構成員から区別する、別個のユーザプロファイルを有してもよい。稼働中に、グループ内のユーザのための検索結果は、グループプロファイルに従って、または、（ユーザが別個のユーザプロファイルも有する場合は）グループプロファイルとユーザのユーザプロファイルとに従って、ランク付けされる。
【００６９】
ユーザがその関心をあまりにも劇的に変化させたため、そのユーザの新しい関心と嗜好は、そのユーザのユーザプロファイルにほとんど似ていないこと、または、ユーザが一時的に新しいトピックに関心を持つことがありうる。この場合、図９Ａおよび図９Ｂに示す実施形態に従って生成されるパーソナライズされた検索結果は、検索結果内の文書の一般ランクに従ってランク付けされた検索結果よりも、不利な可能性がある。さらに、ユーザのプロファイルは、過去にユーザがアクセスしたことがある古いＷｅｂサイト（つまり、その古いＷｅｂサイトから、ユーザはＷｅｂページを表示またはダウンロードしたことがある）の重みを増加させる傾向があるため、ユーザに提供される検索結果は、上位に示される文書の中に、新しいＷｅｂサイトを含まない可能性がある。
【００７０】
ユーザの嗜好と関心の変化により引き起こされる影響を減らすために、パーソナライズされた検索結果は、一般検索結果とマージされてもよい。一実施形態では、一般検索結果とパーソナライズされた検索結果とは交互配置され、したがって、検索結果リストの奇数位置（例えば、１、３、５など）は一般検索結果のために確保され、偶数位置（例えば、２、４、６など）はパーソナライズされた検索結果のために確保されるか、またはその逆となる。好ましくは、一般検索結果の中の項目は、パーソナライズされた検索結果の中にリストされる項目を繰り返さず、その逆も同様となる。より一般的には、一般検索結果はパーソナライズされた検索結果と混合されるかまたは交互配置され、それにより、ユーザに提示される検索結果内の項目は、一般検索結果とパーソナライズされた検索結果の両方を含むようになる。
【００７１】
別の実施形態では、パーソナライズされたランクおよび一般ランクは、ユーザプロファイルの信頼性レベルによってさらに重み付けされる。信頼性レベルは、ユーザに関する情報がどれだけ取得されているか、現在の検索クエリがユーザのプロファイルにどれだけ緊密に一致しているか、ユーザプロファイルはどれだけ古いかなどの要因を考慮に入れる。非常に短期間のユーザ履歴しか得られない場合、ユーザのプロファイルには、それに対応した、低い信頼性の値が割り当てられる。識別された文書の最終的な得点は、次のように決定されてもよい。
ＦｉｎａｌＳｃｏｒｅ＝ＰｒｏｆｉｌｅＳｃｏｒｅ＊ＰｒｏｆｉｌｅＣｏｎｆｉｄｅｎｃｅ＋ＧｅｎｅｒｉｃＳｃｏｒｅ＊（１−ＰｒｏｆｉｌｅＣｏｎｆｉｄｅｎｃｅ）
一般結果とパーソナライズされた結果とを混合する場合に、パーソナライズされた結果の割合が、プロファイルの信頼性に基づいて調整されてもよい（例えば、信頼性が低い場合は、パーソナライズされた結果が１つだけ使用される）。
【００７２】
場合によっては、例えば公共図書館において、複数のユーザがマシンを共有することがある。これらのユーザは、異なる関心と嗜好を有する可能性がある。一実施形態では、ユーザは、システムがそのユーザの同一性を認識するように、明示的にサービスにログインしてもよい。あるいは、異なるユーザは、それらのユーザがアクセスする項目、またはそれらのユーザのアクセスパターンのその他の特徴に基づいて、自動的に認識されてもよい。例えば、異なるユーザは、マウスを異なる方法で動かし、異なるようにタイプし、異なるアプリケーション、およびそれらのアプリケーションの異なる機能を使用する可能性がある。クライアントおよび／またはサーバ上での事象の集成に基づいて、ユーザを識別するための、そして次に、その識別を使用して適切な「ユーザ」プロファイルを選択するための、モデルを作成することが可能である。そのような環境においては、「ユーザ」は、実際には、ある程度類似したコンピュータ使用パターンや関心などを有する人々のグループであってもよい。
【００７３】
図１０を参照すると、パーソナライズされた検索エンジンシステム１０００は、典型的には、１つまたは複数の処理ユニット（ＣＰＵ）１００２と、１つまたは複数のネットワークまたはその他の通信インタフェース１０１０と、メモリ１０１２と、これらの構成要素を相互接続するための１つまたは複数の通信バス１０１４とを含む。システム１０００は、任意選択で、例えばディスプレイ１００６およびキーボード１００８などの、ユーザインタフェース１００４を含む。メモリ１０１２は、高速ランダムアクセスメモリを含んでもよく、さらに、１つまたは複数の磁気ディスク記憶装置などの、不揮発性メモリも含んでもよい。メモリ１０１２は、中央処理ユニット１００２から離れた場所に配置された大容量記憶装置を含んでもよい。メモリ１０１２は、好ましくは、以下を記憶する。
・さまざまな基本システムサービスを処理するための、およびハードウェア依存タスクを実行するための手続きを含む、オペレーティングシステム１０１６。
・インターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの、１つまたは複数の通信ネットワーク（有線または無線）を介して、システム１０００を、他のサーバまたはコンピュータに接続するために使用される、ネットワーク通信モジュール１０１８。
・システム１０００の適切な動作のために必要な、メモリ１０１２内に記憶される他のモジュールおよびデータ構造を初期化する、システム初期化モジュール１０２０。
・検索クエリを実行し、検索クエリとユーザのプロファイルとに従って検索結果を識別および順序付けする、検索エンジン１０２２。
・図２で識別されたユーザ情報などの、ユーザ情報を収集および処理するための、そして、ユーザの検索嗜好と関心とを特徴付ける、ユーザのユーザプロファイルを作成および更新するための、ユーザプロファイルエンジン１０３０。
・複数のユーザプロファイルを記憶するためのデータ構造１０４０、１０６０、および１０８０。
【００７４】
検索エンジン１０２２は、さらに、以下を含んでもよい。
・ユーザにより発行された検索クエリを処理し、クエリに適合する文書のリストを識別し、識別された各文書に、ユーザ固有の情報とは関係なく、一般ランクを割り当てるための、一般ランクモジュール（または命令）１０２４。
・一般ランクモジュール１０２４によって識別された複数の文書のそれぞれを、ユーザのユーザプロファイルと相互に関連付け、ユーザの検索嗜好と関心とへの文書の関連性を示すプロファイルランクを文書に割り当てるための、ユーザプロファイルランクモジュール（または命令）１０２６。
・識別された文書の一般ランクとプロファイルランクとを混合してパーソナライズされたランクとし、文書のリストを、それらの文書のパーソナライズされたランクに従って順序付けし直すための、ランク混合モジュール（または命令）１０２８。
一部の実施形態では、これらのモジュール１０２４、１０２６、１０２８は、単一の手続き内に、または、単一のソフトウェアモジュール内に存在する一組の手続きの中に実装されてもよい。
【００７５】
ユーザプロファイルエンジン１０３０は、さらに、以下を含んでもよい。
・図２に示したさまざまなユーザ情報を収集および分類するための、ユーザ情報収集モジュール１０３２。
・ユーザにより識別された文書からコンテンツを選択および抽出し、パラグラフサンプリング（上述）などの技術を使用して、ユーザの関心に関連するコンテンツを識別するための、文書コンテンツ抽出モジュール１０３４。
・文書抽出モジュール１０３４によって抽出されたコンテンツを解析して、ユーザの検索嗜好を特徴付けるタームを識別するための、コンテンツ解析モジュール１０３６。
【００７６】
ユーザプロファイルを保管する各データ構造は、さらに、以下を含んでもよい。
・タームベースのユーザプロファイルを記憶するための、データ構造１０４２、１０６２、または１０８２。
・カテゴリベースのユーザプロファイルを記憶するための、データ構造１０４４、１０６４、または１０８４。
・リンクベースのユーザプロファイルを記憶するための、データ構造１０４６、１０６６、または１０８６。
【００７７】
ユーザプロファイルに従ったプレーストコンテンツの順序付け
プレーストコンテンツは、インターネットまたはその他のワイドエリアネットワークを介して提供される、検索サービス、電子メールサービス、およびその他のさまざまなサービスのユーザに表示されてもよい。以下に示すのは、（例えば、ブラウザウィンドウ内、またはユーザにより表示されるその他のアプリケーションウィンドウ内の）プレーストコンテンツを順序付けして、それにより、（Ａ）プレーストコンテンツを表示することにユーザが関心を持つ機会を最大にするか、または少なくとも向上する、あるいは（Ｂ）プレーストコンテンツの提供者への収入の流れを最大にするか、または少なくとも向上する、あるいは（Ｃ）プレーストコンテンツの配信および順序付けに関連する計量を最適化するか、または少なくとも向上するための、システムおよび方法の説明である。最初に、検索エンジンのユーザへの、プレーストコンテンツの配信に関連して、システムおよび方法が説明され、その後で、他のインターネットサービスへの、システムおよび方法の適用が説明される。
【００７８】
検索クエリに応答して検索結果がユーザに返される場合、しばしば、特定のプレーストコンテンツも返される。プレーストコンテンツは、通常は広告の形態であるが、検索クエリに関連した、またはユーザに送信されている文書に関連した、任意のタイプのコンテンツであってもよい。以下の説明では、広告コンテンツを例示のために使用するが、コンテンツ提供者が配置のために競合または支払いを行う、任意のタイプのコンテンツが、本発明の一部の実施形態によって企図される。ユーザの検索クエリが文書リポジトリに対して実行されているのと同時に、検索クエリは広告のリポジトリに対して実行されてもよい。広告のリポジトリに対する検索から返された広告（例えば、その広告のキーワードが、検索クエリの少なくとも１つのタームに一致する広告）は、通常、各広告の得点によって順序付けられる。得点は、クリックスルーレート（ＣＴＲ）と入札（ｂｉｄ）（例えば、入札価格）との積に基づく。最高の得点を有する広告が、ユーザに提示される。一部の実施形態では、コンテンツ提供者は、同じ入札に関連付けられた複数の類似した広告を提供してもよい。この場合、さまざまな広告がランダムに、またはその他の任意の順序で、ユーザに提示されてもよい。例えば、コンテンツ提供者が３つの広告のグループを提供し、それらの３つの広告に対して、ターム「ｈａｔ」（帽子）についての単一の入札が適用される場合、広告のグループが検索結果の組の中に含まれるための十分高い得点を有するときはいつでも、グループ内の３つの広告のうちの１つが（例えば、ランダムに、または順繰りに）選択され、ユーザに提示される。
【００７９】
広告主は、例えばオークションを介して、さまざまなキーワードまたは概念に入札してもよい。オークションの中で広告主は、特定の検索タームまたはフレーズに入札する。例えば、セールボートの帆の製造業者は、「ｓｐｉｎｎａｋｅｒ」（スピネーカ）というキーワードに入札してもよく、それにより、検索クエリ内にそのタームが現れた場合に、広告主の広告が、ユーザに提示される可能性のある広告のリスト内に現れるようになる。広告の得点が十分に高い場合に、広告はユーザに提示される。上述のように、得点は、ＣＴＲと入札との積に基づく。広告主は、次に、広告についての支払を、その入札に基づいて、そして、特定の会計期間にわたっての、その広告についてのクリックスルーの数に基づいて（例えば、入札とクリックスルーの数との積に基づいて）行う。一部の実施形態では、オークションは「競り下げ競売」の特徴を有してもよく、その場合、特定の広告について広告主によって支払われる金額は、修正または低減された入札と、特定の会計期間にわたってのクリックスルーの数との積であってもよい。
【００８０】
広告のＣＴＲを向上させることが、広告の得点を上げるための１つの方法である。ＣＴＲの向上は、例えば、他の広告よりもユーザにアピールする広告を提示することによって達成されてもよい。あるいは、広告主は、広告の得点を上げるために、広告に関連付けられたキーワードまたはフレーズに対する自分の入札を増加させることを選択してもよい。また、もちろん、広告主は、広告のＣＴＲの向上と、広告に関連付けられたキーワードに対する入札の増加との、両方を行ってもよい。一部の実施形態では、広告のＣＴＲは、広告上でのクリックの数を、インプレッション数（すなわち、広告がユーザに提示された回数）で割った値に等しい。新しい広告は、通常、有用なＣＴＲを有さず、その理由は、広告のインプレッション数が低すぎて、ＣＴＲの値は、その広告のユーザにとっての魅力の信頼できる指標とはならないためである。そのような場合（例えば、広告が１０００未満のインプレッションを有する場合）は、初期ＣＴＲがシステムによって提供される。広告の初期ＣＴＲは、平均ＣＴＲ値などの、デフォルト値であってもよい。あるいは、初期ＣＴＲは、同じ広告主による他の広告のＣＴＲに基づいて選択されてもよく、または、当該広告との定義済みの関係を有する、他の何らかの広告の組のＣＴＲに基づいてもよい。
【００８１】
ユーザにとって関心のある広告がユーザに提示される可能性を増加することが望ましい。したがって、ユーザのプロファイルに何らかの方法で関連している広告が、提示のためのより良い候補である。これを行うための一方法は、ユーザのプロファイルへの、広告の類似性に基づいて、広告の得点を修正することである。上位概念の「プレーストコンテンツ」に戻ると、図１１は、プレーストコンテンツを検索結果とともに提供するための一実施形態を示す。
【００８２】
最初に、例えば検索エンジンにおいて、検索クエリが受信される（１１０２）。検索クエリは、例えば、検索クエリを発行しているクライアントコンピュータまたはクライアントプロセスの識別子を含めることによって、検索クエリを発行しているユーザを識別してもよい。あるいは、ユーザの同一性は、サービスへの事前のログイン、またはクッキー（ｃｏｏｋｉｅ）、またはその他の適切な方法によって認識されてもよい。ユーザのプロファイルが、ユーザプロファイルのデータベースまたはリポジトリから取得される（１１０４）。一実施形態では、ユーザのプロファイルは、カテゴリプロファイルである。以下の説明ではカテゴリプロファイルを使用するが、以下に説明する概念は、他のタイプのプロファイルに適用されてもよいということを、当業者は容易に認識するであろう。検索エンジンが検索結果を取得するために検索クエリを処理する間に（１１０６）、プレーストコンテンツサーバは、検索クエリに一致するかまたは関連する、１つまたは複数のプレーストコンテンツ項目（本明細書では、潜在的プレーストコンテンツと呼ばれる）を識別する（１１０８）。他の実施形態では、プレーストコンテンツサーバは、ユーザに提供されている文書（検索の結果による文書であれ、特に要求された文書であれ）に基づいて、プレーストコンテンツを提供してもよい。その実施形態では、プレーストコンテンツサーバは、プレーストコンテンツのうちのいずれが、ユーザに提示されている文書に関連しているかを判定する。他の実施形態では、プレーストコンテンツサーバは、検索結果として提示されている１つまたは複数の文書のコンテンツに基づいて、プレーストコンテンツを提供してもよい。
【００８３】
それぞれの潜在的プレーストコンテンツは、それに関連付けられたプロファイルを有する。一実施形態では、プロファイルは、カテゴリと重みとのペアを含む、カテゴリプロファイルの形態である。プロファイルは、例えば、プレーストコンテンツからキータームを抽出し、それらをさまざまなカテゴリに関連付けて、それぞれの重みを割り当てることによって作成されてもよい。
【００８４】
それぞれの潜在的プレーストコンテンツについて、潜在的プレーストコンテンツのプロファイルが、ユーザのプロファイルと比較される（１１１０）。ユーザのプロファイルがプレーストコンテンツのプロファイルと比較されて、類似性得点が取得される。類似性得点は、次に、プレーストコンテンツのランク付けを修正するために使用される。プロファイルのそれぞれをベクトルと見なす場合、当業者は、プロファイルを比較するためのさまざまな数学的方法を認識するであろう。例えば、類似性得点は、ユーザのプロファイル内の各カテゴリを取り出して、それと、プレーストコンテンツのプロファイルの各カテゴリとの間の数学的距離を判定し、次に、それぞれの重みを掛けることによって決定されてもよい。この計算を表す一方法は、次の式によるものである。
【数１】
0005572596.tif 000003
式中、ｎはユーザのプロファイル内のカテゴリの数、ｍはプレーストコンテンツのプロファイル内のカテゴリの数を表し、距離（カテゴリ（ｉ），カテゴリ（ｊ））は、カテゴリ（ｉ）とカテゴリ（ｊ）との間の数学的距離を表し、重み（ｉ）および重み（ｊ）は、それぞれ、カテゴリ（ｉ）およびカテゴリ（ｊ）に関連付けられた重みを表す。
【００８５】
別の、より一般的な、類似性得点の計算を表す方法は、次のとおりである。
類似性得点＝関数（ユーザプロファイル，コンテンツプロファイル）
式中、「関数」は、ユーザプロファイルと、特定のプレーストコンテンツ項目のコンテンツプロファイルとの、任意の適切な関数である。ユーザプロファイルおよびコンテンツプロファイルが、カテゴリプロファイルである場合、類似性得点の計算は、次のように表されてもよい。
【数２】
0005572596.tif 000004
式中、「関数」は、ユーザプロファイルのカテゴリおよび重みのベクトルと、コンテンツプロファイルのカテゴリおよび重みのベクトルとの、任意の適切な関数である。上記の二重和計算とは異なる、幾分より特殊な、類似性得点の計算の例は、次のとおりである。
【数３】
0005572596.tif 000005
式中、「Ｍａｘｊ」は、すべての有効なｊの値についての、関数の最大値を表し、「関数」は、ユーザプロファイルおよびコンテンツプロファイルの、カテゴリおよび重みの、任意の適切な関数である。
【００８６】
一部の実施形態では、類似性得点は、スケーリングファクタを作成するために、特定の範囲に正規化される。例えば、類似性得点は、０〜１（０と１を含む）または０〜２（０と２を含む）内に収まるように正規化されてもよい。より高い類似性得点は、プロファイルが、より低い類似性得点が比較の結果としてもたらされるプロファイルよりも、より密接に関連していることを示す。一部の実施形態では、正規化された類似性得点がスケーリングファクタとして使用される。他の実施形態では、スケーリングファクタは、スケーリングファクタマッピング関数またはスケーリングファクタルックアップテーブルに従って、類似性得点または正規化された類似性得点を、対応するスケーリングファクタにマッピングすることによって決定される。
【００８７】
一実施形態では、Ｎ個の事前定義されたスケーリングファクタの組（サブファクタと呼ばれることもある）がスケーリングファクタルックアップテーブル内に記憶され、各スケーリングファクタは、類似性得点値の各範囲に対応している。本例示的実施形態では、Ｎは、１よりも大きな整数であり、好ましくは、３よりも大きな整数である。特定のプレーストコンテンツの類似性得点は、「ビン」にマッピングされる。例えば、事前定義された数を類似性得点に掛けるか、または事前定義された数で類似性得点を割り、次に、結果を最も近い整数に切り上げるかまたは切り下げることによってビン数を生成し、次に、結果として得られるビン数をスケーリングファクタルックアップテーブル内へのインデックスとして使用することにより、ビン数をスケーリングファクタにマッピングする。スケーリングファクタの範囲は、実装ごとに異なっていてもよい。
【００８８】
スケーリングファクタマッピング関数またはスケーリングファクタルックアップテーブルのいずれかを使用することにより、スケーリングファクタへの類似性得点の関連付けを、非常に柔軟に行うことが可能になる。例えば、非常に低い類似性得点を有するプレーストコンテンツおよび非常に高い類似性得点を有するプレーストコンテンツのＣＴＲを下方調整する、スケーリングファクタマッピング関数またはスケーリングファクタルックアップテーブルを作成することが可能である。一部の実施形態では、最大の類似性得点に関連付けられるスケーリングファクタは、中位（ｍｉｄ−ｐｏｉｎｔ）の類似性得点に関連付けられるスケーリングファクタよりも小さく、ここで、中位は、類似性得点の平均値または中央値のいずれかであってもよい。あるいは、中位は、最小の類似性得点と最大の類似性得点との間の、任意の識別される点であってもよい。一部の実施形態では、最大の類似性得点に関連付けられるスケーリングファクタは、中位の類似性得点に関連付けられるスケーリングファクタよりも大きく、しかし、スケーリングファクタマッピング関数またはスケーリングファクタルックアップテーブルに関連付けられる最大のスケーリングファクタよりも小さい。スケーリングファクタマッピング関数を、類似性得点の最小得点から最大得点に至るまでの値について眺めると、スケーリングファクタは、典型的には、最初、最小得点に関連付けられた低い値から、最大のスケーリングファクタ値に達するまで増加し、その後、類似性得点が最大値に達するまで減少する。
【００８９】
一部の実施形態では、類似性得点に対応するスケーリングファクタは、類似性得点をクリックスルーレートに関連付ける統計情報に従って決定される。特に、ユーザによるクリックスルーレートは、ユーザとプレーストコンテンツ項目とについての類似性得点と、統計的に相互に関連付けられることが可能である。例えば、インプレッション、クリックスルー、および各インプレッションとクリックスルーに関連付けられた類似性得点についてのデータを収集することによって、類似性得点のＮ個の範囲の組のうちの各範囲に対する、別個のクリックスルーレートが決定されてもよい。それらのクリックスルーレートに基づいて、スケーリングファクタルックアップテーブル内に記憶するための、Ｎ個のスケーリングファクタの組が生成されてもよい。あるいは、収集された統計情報は、例えば曲線適合法（ｃｕｒｖｅ  ｆｉｔｔｉｎｇ  ｔｅｃｈｎｉｑｕｅｓ）を使用することによって、スケーリングファクタマッピング関数を生成するために使用されてもよい。
【００９０】
一部の実施形態では、それぞれの識別されたプレーストコンテンツについての各スケーリングファクタに、プレーストコンテンツのＣＴＲが掛けられて、ユーザがプレーストコンテンツに関心を持つ可能性の増加を反映するように修正されたＣＴＲが提供される（図１１の１１１２）。より具体的には、（例えば、検索クエリのタームに一致する少なくとも１つのキーワードを有することによって）検索クエリに一致する各プレーストコンテンツの得点は、次のように計算される。
得点＝スケーリングファクタ×ＣＴＲ×入札
プレーストコンテンツ項目は、次に、それらの各得点に基づいてランク付けまたは順序付けされ（１１１４）、最高の得点を有するプレーストコンテンツ項目が、例えばユーザのコンピュータ上のブラウザアプリケーションに送信されることによって、ユーザに提供される（１１１６）。一部の実施形態では、最高得点を有するＨ個のプレーストコンテンツ項目（Ｈは１よりも大きな整数）が、データベースに対する検索クエリの実行から取得された検査結果（一次検索結果と呼ばれることもある）とマージされてもよい（１１１８）。例えば、プレーストコンテンツが広告を含む場合、最高得点を有する広告のうちの１つまたは複数が、一次検索結果の上、下、および／または横に表示されてもよい。
【００９１】
一部の実施形態では、プレーストコンテンツ項目の得点は、ユーザプロファイルを使用して生成された類似性得点と、入札とに基づくが、クリックスルーレートには基づかない。例えば、一部の実施形態では、プレーストコンテンツ項目のクリックスルーレートは入手できない場合がある。結果として、そのような実施形態では、動作１１１２は、発生しないか、あるいは異なる得点調整または得点計算動作によって置き換えられる。
【００９２】
他の一部の実施形態では、プレーストコンテンツ項目の得点は、ユーザプロファイルを使用して生成された類似性得点と、クリックスルーレートとに基づくが、入札には基づかない。さらに他の実施形態では、プレーストコンテンツ項目の得点は、ユーザプロファイルを使用して生成された類似性得点に基づくが、それらの得点は、入札にもクリックスルーレートにも基づかない。プレーストコンテンツの得点が、ユーザプロファイルを考慮に入れ、入札を考慮に入れない場合、プレーストコンテンツの順序付けは、プレーストコンテンツ項目の他の順序付けの潜在的な経済的利益に関係なく、ユーザにとって関心のある可能性があるプレーストコンテンツに関して最適化または改善される。
【００９３】
上記のシステムおよび方法は、検索エンジンシステム以外のシステムにおいても使用されてもよい。例えば、電子メールシステムにおいて、または、文書またはその他のコンテンツをユーザまたは購読者に表示する、インターネットまたはその他のワイドエリアネットワークを経由してサービスを提供するための、その他の事実上いかなるシステムにおいても、同様に、プレーストコンテンツが選択され、ユーザに表示されてもよい。プレーストコンテンツは、表示されている文書または文書の組のコンテンツに適合する、プレーストコンテンツに関連付けられたキーワードに基づいて選択されてもよく、あるいは、その他の選択基準に基づいていてもよい。選択されたプレーストコンテンツ項目は、次に、ユーザプロファイルと、選択されたプレーストコンテンツ項目のプロファイルとの類似性に基づいて、上記のように順序付けされる。
【００９４】
以上の説明は、説明の目的のために、特定の実施形態を参照して行った。しかし、上述の例示的な説明は、開示された厳密な形態で本発明が網羅されたり限定されたりすることを意図するものではない。上記の教示を考慮すれば多くの変更および変形が可能である。実施形態は、本発明の原理とその実際的な適用例とを最もよく説明するために、そしてそれにより、当業者が、本発明およびさまざまな実施形態を、企図された特定の使用に適したさまざまな変更とともに、最もよく利用できるようにするために、選択され説明されたものである。
【図面の簡単な説明】
【００９５】
【図１】クライアント−サーバネットワーク環境を示す。
【図２】ユーザ情報の複数の情報源、およびユーザプロファイルへのそれらの関係を示す。
【図３】複数のユーザについてのタームベースのプロファイルを記憶するために使用されてもよい、例示的データ構造である。
【図４Ａ】ユーザの過去の検索経験を分類するために使用されてもよい、例示的カテゴリマップである。
【図４Ｂ】複数のユーザについてのカテゴリベースのプロファイルを記憶するために使用されてもよい、例示的データ構造である。
【図５】複数のユーザについてのリンクベースのプロファイルを記憶するために使用されてもよい、例示的データ構造である。
【図６】パラグラフサンプリングを示すフローチャートである。
【図７Ａ】コンテキスト解析を示すフローチャートである。
【図７Ｂ】コンテキスト解析を使用して重要なタームを識別するプロセスを示す。
【図８】タームベース、カテゴリベース、および／またはリンクベースの解析の後で、文書に関する情報を記憶するために使用されてもよい、複数の例示的データ構造をそれぞれ示す。
【図９Ａ】一実施形態による、パーソナライズされたＷｅｂ検索プロセスを示すフローチャートである。
【図９Ｂ】別の実施形態による、パーソナライズされたＷｅｂ検索プロセスを示すフローチャートである。
【図１０】パーソナライズされた検索エンジンのブロック図である。
【図１１】本発明の一実施形態による、パーソナライズされたプレーストコンテンツプロセスを示すフローチャートである。
【図１】
0005572596.tif 000006
【図２】
0005572596.tif 000007
【図３】
0005572596.tif 000008
【図４Ａ】
0005572596.tif 000009
【図４Ｂ】
0005572596.tif 000010
【図５】
0005572596.tif 000011
【図６】
0005572596.tif 000012
【図７Ａ】
0005572596.tif 000013
【図７Ｂ】
0005572596.tif 000014
【図８】
0005572596.tif 000015
【図９Ａ】
0005572596.tif 000016
【図９Ｂ】
0005572596.tif 000017
【図１０】
0005572596.tif 000018
【図１１】
0005572596.tif 000019