検索結果内におけるプレーストコンテンツの順序付けのパーソナライズ
【課題】検索クエリを発行している人にとって関心がある可能性が最も高いWebページを強調するために、検索結果を順序付けし直す。ユーザの嗜好および関心に関するユーザからの明示的な入力なしに動作する。
【解決手段】ユーザプロファイルを使用して、検索エンジンによって返される検索結果内のプレーストコンテンツを順序付けするための、システムおよび方法である。ユーザプロファイルは、ユーザによって発行された検索クエリ、検索エンジンによって識別された文書とのユーザの特定の相互作用、およびユーザによって提供された個人情報に基づく。プレーストコンテンツは、ユーザプロファイルへの、特定のプレーストコンテンツの類似性に、少なくとも部分的に基づいた得点によってランク付けされる。ユーザプロファイルは、クライアント−サーバネットワーク環境のクライアント側またはサーバ側で、作成および/または記憶されてもよい。
【解決手段】ユーザプロファイルを使用して、検索エンジンによって返される検索結果内のプレーストコンテンツを順序付けするための、システムおよび方法である。ユーザプロファイルは、ユーザによって発行された検索クエリ、検索エンジンによって識別された文書とのユーザの特定の相互作用、およびユーザによって提供された個人情報に基づく。プレーストコンテンツは、ユーザプロファイルへの、特定のプレーストコンテンツの類似性に、少なくとも部分的に基づいた得点によってランク付けされる。ユーザプロファイルは、クライアント−サーバネットワーク環境のクライアント側またはサーバ側で、作成および/または記憶されてもよい。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本願は、2003年9月30日に出願された米国特許出願第10/676,711号(その全体が参照により本明細書に援用されるものとする)の一部継続出願である。
【0002】
発明の分野
本発明は、一般に、コンピュータネットワークシステム内の検索エンジンの分野に関し、特に、ユーザにより発行された検索クエリに対応したプレーストコンテンツ(placed content)の順序付けをカスタマイズするために、ユーザプロファイルを作成して使用するシステムおよび方法に関する。
【背景技術】
【0003】
発明の背景
検索エンジンは、ユーザにより発行された検索クエリに応答して迅速に走査することが可能な、インターネットからのインデックス付き文書の強力な源を提供する。そのようなクエリは、通常は非常に短い(平均約2〜3ワード)。インターネットを介してアクセス可能な文書の数が増えるにつれて、クエリに適合する文書の数も増加する可能性がある。しかし、クエリに適合するあらゆる文書が、ユーザから見て等しく重要なわけではない。そのため、検索エンジンが検索結果を、ユーザのクエリへのそれらの関連性に基づいて順序付けしないならば、ユーザは、検索エンジンによって返される膨大な数の文書に容易に圧倒される。
【0004】
検索クエリへの検索結果の関連性を向上させるための一方法は、さまざまなWebページのリンク構造を使用して、検索結果のランク付けに影響を及ぼすために使用されてもよい全般的な「重要度」得点を計算することである。これは、ページランク(PageRank)アルゴリズムと呼ばれることがある。ページランク(PageRank)アルゴリズムのより詳細な説明は、S.BrinおよびL.Page著「The Anatomy of a Large−Scale Hypertextual Search Engine」(第7回国際ワールドワイドウェブ会議、ブリスベン、オーストラリア(7th International World Wide Web Conference, Brisbane, Australia))および米国特許第6,285,999号明細書(これらの両方は参照により背景情報として本明細書に援用されるものとする)に見出すことができる。
【0005】
ページランク(PageRank)アルゴリズムにおける重要な仮定は、ランダムに選択したWebページからWebサーフィンの行程を開始し、「戻る(back)」ボタンは決して押さずに、Webページ内に埋め込まれたリンクをクリックし続ける、「ランダムサーファー」が存在するということである。最終的にこのランダムサーファーが行程に飽きた場合、このランダムサーファーは、別のWebページをランダムに選択することにより新しい行程を再開してもよい。ランダムサーファーがあるWebページにアクセスする(すなわち、表示またはダウンロードする)確率は、Webページのページランクに依存する。
【発明の開示】
【発明が解決しようとする課題】
【0006】
エンドユーザの観点からは、ページランク(PageRank)アルゴリズムを使用する検索エンジンは、誰がクエリを発行するかに関係なく、同じ方法で検索クエリを処理する。その理由は、検索エンジンは、ユーザを一意に識別することが可能な、いかなる情報の提供もユーザに依頼しないためである。検索結果に影響を及ぼす要因は、検索クエリそのもの(例えば、クエリ内にあるタームの数、およびその順序)だけである。この検索結果は、抽象的ユーザである「ランダムサーファー」の関心に最も適合するものであり、特定のユーザの嗜好または関心に適合するようには調整されていない。
【0007】
現実には、ランダムサーファーのようなユーザは決して存在しない。どのユーザも、検索エンジンにクエリを発行する場合、独自の嗜好を有している。エンジンによって返される検索結果の質は、そのエンジンのユーザの満足度によって評価されなければならない。クエリ自体によってユーザの嗜好を十分明確にすることができる場合、または、特定のクエリに関してユーザの嗜好がランダムサーファーの嗜好に類似している場合、ユーザが検索結果に満足する可能性は比較的高い。しかし、ユーザの嗜好が、検索クエリ自体の中に明確に反映されない何らかの個人的要因によって大幅に偏っている場合、または、ユーザの嗜好が、ランダムユーザの嗜好とはかなり異なる場合、同じ検索エンジンからの検索結果は、無用ではないにしても、ユーザにとってあまり役に立たない可能性がある。
【0008】
上に示したように、ランダムサーファーの行程は、特定の方向に向けての明確な好みのない、ランダムかつ中立なものとなる傾向がある。検索エンジンが、クエリに適合する少数の検索結果のみを返す場合、要求中のユーザは、それらの結果のそれぞれに目を通して自分自身に最も関連のある項目を発見する時間の余裕がある可能性があるため、返される結果の順序はあまり重要ではない。しかし、インターネットには莫大な数のWebページが接続されているため、検索エンジンは、検索クエリに適合する何百もの、またはさらには何千もの文書を返すことがよくある。この場合、検索結果の順序付けは非常に重要である。ランダムサーファーの嗜好とは異なる嗜好を有するユーザは、検索結果内に示される最初の5〜10の文書の中に、探しているものを見つけることができない可能性がある。それが発生した場合、ユーザには通常、次の2つの選択肢が残されている。(1)関連する文書を見つけるために、示された文書のうちの、より多くを調べるために必要な時間を費やす。または、(2)クエリに適合する文書の数を減らすために、検索クエリを絞り込む。クエリの絞込みは、多くの場合、ささいでない作業であり、場合によっては、ユーザが有しているよりも多くの、対象についての知識や、検索エンジンについての専門知識が必要とされ、場合によっては、ユーザが費やすことをいとわないよりも多くの時間と努力が必要とされる。
【0009】
例えば、ユーザが検索エンジンに「blackberry」という1つのタームのみを有する検索クエリを発行すると仮定する。その他に前後関係が何もなければ、ページランク(PageRank)に基づく検索エンジンによって返される文書のリストの上位には、www.blackberry.netへのリンクがある可能性があり、その理由は、このWebページが最高のページランクを有するためである。しかし、クエリの要求者が食べ物と料理に関心を持つ人である場合、調理法や、食べ物に関連するその他のテキスト、写真などを有するWebページを、返される結果の上位に含むように検索結果を順序付けすることが、より有用である。検索クエリを発行している人にとって関心がある可能性が最も高いWebページを強調するために、検索結果を順序付けし直すか、またはその他の方法で検索結果をカスタマイズすることが可能な検索エンジンを有することが望ましい。さらに、そのようなシステムは、個々のユーザからの最小限の入力を要求し、ユーザの嗜好および関心に関するユーザからの明示的な入力なしに、十分に、または完全に動作することが望ましい。最後に、そのようなシステムは、セキュリティとプライバシーに関するユーザの要求を満足することが望ましい。
【課題を解決するための手段】
【0010】
概要
プレーストコンテンツをパーソナライズする方法では、ユーザの関心が判定され、ユーザに関連付けられたユーザプロファイルがアクセスされる。ユーザの関心に対応するプレーストコンテンツの組が識別され、プレーストコンテンツの組は、ユーザプロファイルに従って順序付けされる。
【0011】
本発明の一態様では、検索エンジンはユーザプロファイルを利用して、プレーストコンテンツと、その他のまたは一般的なコンテンツとを含んでもよい検索結果をカスタマイズする。ユーザプロファイルは、ユーザの関心または嗜好を特徴付ける複数の項目を含む。これらの項目は、ユーザにより発行された以前の検索クエリ、以前のクエリによって識別された文書からの、または以前のクエリによって識別された文書へのリンク、識別された文書からサンプリングされたコンテンツ、およびユーザによって暗黙的または明示的に提供された個人情報を含む、さまざまな情報源から抽出される。
【0012】
検索エンジンは、ユーザから検索クエリを受信した場合、検索クエリに適合するプレーストコンテンツの組を識別する。各プレーストコンテンツは、ユーザプロファイルへのプレーストコンテンツの類似性に少なくとも部分的に基づいた、ランクに関連付けられる。プレーストコンテンツ項目は、次に、それらのランクに従って順序付けされる。
【0013】
ユーザプロファイルの構築と、検索結果の再順序付けおよび/または得点付けとを含む本発明は、クライアント−サーバネットワーク環境のクライアント側またはサーバ側のいずれに実装されてもよい。
【0014】
本発明の前述の特徴と利点、および本発明の追加の特徴と利点は、以下の、本発明の好ましい実施形態の詳細な説明を、図面と組み合わせた場合の結果として、より明確に理解される。
【0015】
複数の図面にわたる同様の参照番号は、対応する部分を意味している。
【発明を実施するための最良の形態】
【0016】
実施形態の説明
以下に説明する実施形態は、ユーザによる過去の検索エンジン使用経験に基づいてユーザプロファイルを作成し、次に、ユーザにより提供された検索クエリに応じた検索結果を、ユーザプロファイルを使用してランク付けするシステムおよび方法を含む。
【0017】
図1は、本発明が実装されてもよい、代表的なクライアント−サーバネットワーク環境の概要を示す。複数のクライアント102が、検索エンジンシステム107に、例えばインターネットなどの、ネットワーク105を介して接続されている。検索エンジンシステム107は、1つまたは複数の検索エンジン104を含む。検索エンジン104は、クライアント102によって発行された検索クエリを処理し、検索クエリに応じた検索結果を生成し、結果をクライアントに返す役割を果たす。検索エンジンシステム107は、さらに、1つまたは複数のコンテンツサーバ106、1つまたは複数のユーザプロファイルサーバ108、および1つまたは複数のプレーストコンテンツサーバ(placed content servers)111も含む。コンテンツサーバ106は、さまざまなWebサイトから取得したインデックス付き文書を多数記憶する。あるいは、またはそれに加えて、コンテンツサーバ106は、さまざまなWebサイト上に記憶された文書のインデックスも記憶する。一実施形態では、各インデックス付き文書には、文書のリンク構造に応じたページランクが割り当てられる。ページランクは、文書の重要性の、クエリに依存しない基準として働く。検索エンジン104は、1つまたは複数のコンテンツサーバ106と通信を行って、特定の検索クエリに対応した複数の文書を選択する。検索エンジンは、文書のページランク、文書に関連付けられたテキスト、および検索クエリに基づいて、各文書に得点を割り当てる。検索エンジン104は、1つまたは複数のプレーストコンテンツサーバ111と通信を行って、広告、またはその他のタイプのプレーストコンテンツを、検索結果と組み合わせて提供してもよい。プレーストコンテンツサーバ111は、1つまたは複数のユーザプロファイルサーバ108と通信を行ってもよい。プレーストコンテンツについては、以下でさらに詳細に説明する。
【0018】
ユーザプロファイルサーバ108は、複数のユーザプロファイルを記憶する。各プロファイルは、ユーザを一意に識別する情報と、そのユーザの以前の検索経験および個人情報とを含み、これらの情報は、そのユーザによって発行された検索クエリに応じた検索結果を絞り込むために使用されてもよい。ユーザプロファイルの構築のためには、さまざまな手法が利用可能である。例えば、ユーザプロファイルは、新規ユーザに、フォームへの記入または調査への回答を要求することによって作成されてもよい。この手法は、銀行口座を開くなどの、特定の適用例において有用な場合がある。しかし、この手法は、検索エンジンに関しては有利なものとは言えない。第1に、ユーザの、検索エンジンとの相互作用は、通常、動的なプロセスである。時が経つにつれて、ユーザの関心は変化する可能性がある。この変化は、ユーザにより発行される検索クエリによって、またはユーザの検索結果の取り扱いによって、またはその両方によって表される場合がある。フォーム上での、質問に対するユーザの答えは、ユーザが自分の回答を定期的に更新することを選ばない限り、時が経つにつれてより有用でなくなる傾向がある。オンライン銀行口座の場合に電話番号をたまに更新するのとは異なり、検索エンジンの場合にユーザプロファイルを頻繁に更新することは、ユーザにとっての検索エンジンの使いやすさに大きな影響を及ぼし、こ点は、現在利用可能な検索エンジンの中からユーザが選択する場合の重要な考慮事項である。さらに、フォームに記入するなどの明示的なフィードバックを提供することは、多くのユーザにとって厄介すぎるため、ユーザはいやがるということが知られている。したがって、一部のユーザは自分の関心について明示的なフィードバックを提供する可能性があるとはいえ、ユーザによる明示的なまたは新たな操作を何も要求せずに、ユーザの関心についての情報を暗黙的に取得するための手順を有することが望ましい。
【0019】
検索エンジンユーザの過去の検索活動は、ユーザの個人的な検索嗜好に関する有用な手がかりを提供することが観察されている。図2は、ユーザプロファイルの構築のために有益なユーザ情報の源の一覧を示す。例えば、以前に発行された検索クエリ201は、ユーザの関心のプロファイリングにおいて非常に役に立つ。ユーザが糖尿病に関連する複数の検索クエリを発行した場合、おそらく、これはユーザにとって関心のあるトピックである。ユーザが続いて「organic food」(自然食)というターム(term)を含むクエリを発行した場合、そのユーザは、糖尿病と闘うのに役立つそれらの自然食に、より関心がある可能性があるということが、妥当に推論されてもよい。同様に、以前の検索クエリに応じた検索結果に関連付けられたユニバーサルリソースロケータ(URL)203およびそれらに対応するアンカーテキスト205(特に、ユーザによって選択された、または「アクセスされた」(例えば、ユーザによってダウンロードされた、またはその他の方法で表示された)検索結果項目についてのもの)は、ユーザの嗜好を判定するために役立つ。第1のページが第2のページへのリンクを含み、そのリンクが、それに関連付けられたテキスト(例えば、リンクに隣接するテキスト)を有する場合、リンクに関連付けられたテキストは、第2のページに対する「アンカーテキスト」と呼ばれる。アンカーテキストは、文書内のURLリンクに関連するテキストと、そのURLリンクが指し示す別の文書との間の関係を確立する。アンカーテキストの利点としては、アンカーテキストは、URLリンクが指し示す文書の正確な説明をしばしば提供するということ、および、画像またはデータベースなどの、テキストベースの検索エンジンによって指し示されることができない文書を指し示すために使用されることが可能であるということなどがある。
【0020】
検索結果を受信した後、ユーザは、URLリンクのいくつかをクリックし、それによって、それらのリンクにより参照される文書を、それらの文書に関してさらに詳しく知るためにダウンロードしてもよい。特定のタイプの一般情報207が、ユーザが選択した、またはユーザが識別した文書の組に関連付けられてもよい。ユーザプロファイルを形成する目的のため、識別される文書(その文書から、ユーザプロファイルに含める情報が導き出される)には、検索エンジンからの検索結果により識別された文書、ユーザによりアクセスされた(例えばブラウザアプリケーションを使用して、例えば表示またはダウンロードされた)文書(以前の検索結果で識別されなかった文書を含む)、検索エンジンからの検索結果により識別された文書にリンクされた文書、ユーザによりアクセスされた文書にリンクされた文書、またはそのような文書の任意のサブセットが含まれてもよい。
【0021】
識別された文書に関する一般情報207は、文書のフォーマットは何か(ハイパーテキストマークアップ言語(HTML)によるものか、プレーンテキストによるものか、ポータブルドキュメントフォーマット(PDF)によるものか、またはマイクロソフトワード(Microsoft Word)によるものか)、文書のトピックは何か(科学に関するものか、健康に関するものか、またはビジネスに関するものか)などの質問に答えるものであってもよい。この情報は、ユーザの関心のプロファイリングにおいても役立つ。それに加えて、ユーザが選択した文書(本明細書では、識別された文書と呼ぶ場合がある)に関するユーザの活動についての情報209、例えば、ユーザがその文書を表示して過ごした時間、その文書上でのスクロール動作の量、ユーザがその文書を印刷または保存したかどうか、あるいはお気に入りに加えたかどうかなども、ユーザにとってのその文書の重要度、およびユーザの嗜好を示す。一部の実施形態では、ユーザの活動に関する情報209は、ユーザにより識別された文書から抽出された、または導き出された情報の重要度を重み付けする際に、どちらにも使用される。一部の実施形態では、ユーザの活動に関する情報209は、ユーザプロファイルを導き出すための基礎として、ユーザにより識別された文書のうちのいずれを使用するかを決定するために使用される。例えば、情報209は、かなりのユーザの活動を受けた文書のみを、ユーザプロファイルを生成するために、(事前定義された基準に従って)選択するために使用されてもよく、あるいは、情報209は、ユーザが表示した時間が、事前定義されたしきい値よりも短い文書を、プロファイリングのプロセスから除外するために使用されてもよい。
【0022】
以前の検索活動からの、識別された文書のコンテンツは、ユーザの関心と嗜好についての豊かな情報源である。識別された文書内に現れる重要なタームと、識別された文書内でそれらが現れる頻度とは、文書にインデックスを付けるために有用なだけでなく、それらが上述の他のタイプのユーザ情報と組み合わされた場合は特に、ユーザの個人的な関心を顕著に示すものでもある。一実施形態では、記憶容量と計算コストを節約するために、文書全体ではなく、識別された文書からサンプリングされたコンテンツ211が、ユーザプロファイルの構築の目的のために抽出される。別の実施形態では、識別された文書に関連するさまざまな情報が、識別された文書に関するカテゴリ情報213を構築するために分類されてもよい。前記さまざまな情報は、以前にページにアクセスしたことがある個人のタイプ、または、文書を説明する可能性があるその他のメタデータを含んでもよい。コンテンツのサンプリング、識別された文書内の重要なタームを識別する処理、およびカテゴリ情報の使用に関するさらなる説明は後に示す。
【0023】
ユーザプロファイルの別の情報源となる可能性があるのは、ユーザのブラウジングパターン217である。ユーザのブラウジングパターンは、先行するN日間(例えば60日間)などの、ある期間にわたってユーザによりアクセスされた、URLによって表されてもよい。
【0024】
一部の実施形態では、ユーザプロファイル情報は、より新しい情報にはより大きな重みが与えられ、より古い情報にはより小さな重みが与えられることで、その古さに従って重みを付けられる。これは、ユーザの関心の変化にユーザプロファイルがよりよく追従するようにするために役立ち、ユーザにとっての一時的な関心の影響や、関心が小さくなりつつある題目の影響を減らすために役立つ。時間で重み付けされるユーザプロファイルをサポートするために、さまざまなデータ構造が使用されてよく、通常は、時間区分のシーケンスに関連付けられたユーザ情報を保持するための、複数のビン(bins)または層(tiers)を含む。
【0025】
任意選択で、ユーザは、ユーザの年齢または年齢層、教育のレベルまたはレンジ、収入のレベルまたはレンジ、言語の選択、配偶者の有無、地理的位置(例えば、ユーザが住んでいる市、州、国、および場合によってはさらに、所在地住所、郵便番号、電話の市外局番などの追加情報も含む)、文化的背景または好み、あるいはこれらの任意のサブセットなどの、ユーザに関連付けられた人口学的情報または地理的情報を含む、個人情報215を提供することを選択してもよい。ユーザの好みのスポーツや映画などの、時間とともに変化することが多い他のタイプの個人情報に比較して、この個人情報は、より変化が少なく、ユーザの検索クエリおよび検索結果から推論することがより困難であるが、ユーザにより発行される特定のクエリを正しく解釈するためには非常に重要な場合がある。例えば、ユーザが、「Japanese restaurant」(日本食レストラン)を含むクエリを発行した場合、そのユーザは、地元の日本食レストランを夕食のために検索している可能性が非常に大きい。ユーザの地理的位置がわからない場合、ユーザの真の意図に最も関連した項目が最初に来るように、検索結果を順序付けすることは困難である。ただし、特定の場合には、この情報を推論することが可能である。例えば、ユーザは多くの場合、住んでいる場所に対応する特定の地域に関連付けられた結果を選択する。
【0026】
ユーザ情報のさまざまな源からユーザプロファイル230を作成することは、動的かつ複雑なプロセスである。一部の実施形態では、プロセスはサブプロセスに分割される。各サブプロセスは、特定の観点からユーザの関心または嗜好を特徴付ける、1つのタイプのユーザプロファイルを生成する。それらのユーザプロファイルは、次のとおりである。
・タームベースのプロファイル231−このプロファイルは、複数のタームを使用してユーザの検索嗜好を表す。各タームには、ユーザにとってのそのタームの重要度を示す重みが与えられる。
・カテゴリベースのプロファイル233−このプロファイルは、ユーザの検索嗜好を、階層的な方法で編成されてもよいカテゴリの組と相互に関連付ける。各カテゴリには、ユーザの検索嗜好とカテゴリとの間の相互関係の程度を示す重みが与えられる。
・リンクベースのプロファイル235−このプロファイルは、ユーザの検索嗜好に直接的または間接的に関連する複数のリンクを識別する。各リンクには、ユーザの検索嗜好とリンクとの間の関連性を示す重みが与えられる。
【0027】
一部の実施形態では、ユーザプロファイル230は、これらのプロファイル231、233、235のサブセットのみ(例えば、これらのプロファイルのうちの1つまたは2つのみ)を含む。一実施形態では、ユーザプロファイル230は、タームベースのプロファイル231と、カテゴリベースのプロファイル233とを含むが、リンクベースのプロファイル235は含まない。
【0028】
カテゴリベースのプロファイル233は、例えば、(例えば、それぞれの独立したクエリからの)検索タームの組、または(特定の識別された文書からの)識別されたコンテンツタームの組を、カテゴリにマッピングし、次に、結果として得られるカテゴリの組を集めて、カテゴリへの重み付けを、それらの発生頻度という観点、および、検索タームまたは識別されたコンテンツタームとカテゴリとの関連性という観点の両方から行うことによって、構築されてもよい。あるいは、ある期間にわたって蓄積されるすべての検索タームまたは識別されるコンテンツタームが、重み付けされたカテゴリ内にマッピングするためのグループとして取り扱われてもよい。さらに、ユーザにより提供された個人情報215が、重み付けされたカテゴリ内にマッピングされてもよく、そして、それらのカテゴリが、上述のいずれかの技術を使用して生成された、重み付けされたカテゴリと組み合わされるか、または集約されてもよい。ユーザに関連する情報をカテゴリ内にマッピングする、その他の適切な方法が使用されてもよい。
【0029】
一部の実施形態では、ユーザプロファイル230は、複数のユーザに関連付けられた情報に基づく、集約されたプロファイルである。プロファイル情報が集約されるユーザは、いくつかの方法で選択または識別されてもよい。例えば、クラブまたはその他の組織のメンバであるすべてのユーザ、または特定の会社の従業員は、それらのユーザまたは従業員のプロファイル情報が集約されるようにしてもよい。別の例では、類似した集約前ユーザプロファイルを有するユーザは、それらのプロファイル情報が集約されるようにしてもよい。別の方法として、組織またはWebサイトは、それに関連付けられた「ユーザプロファイル」を有してもよく、そのユーザプロファイルは、組織のメンバの活動に基づいて自動的に生成されてもよく、あるいは、組織によって、または組織のためにカスタマイズされてもよい。検索エンジンまたはその他のサービスは、検索クエリを実行する際に、あるいは、要求者または購読者にとって関心のあるコンテンツを選択するために役立つ他の任意の適切な情報サービスと組み合わせて、プレーストコンテンツまたはその他のコンテンツを提供する際に、組織のユーザプロファイルを利用してもよい。
【0030】
一実施形態では、ユーザプロファイルは、検索エンジンに関連付けられたサーバ(例えば、ユーザプロファイルサーバ108)上で作成および記憶される。そのような配置の利点は、ユーザプロファイルが複数のコンピュータによって容易にアクセスされることが可能であるということ、および、検索エンジン104に関連付けられた(または検索エンジン104の一部である)サーバ上にプロファイルが記憶されるため、検索結果をパーソナライズするために、検索エンジン104によってプロファイルが容易に使用されることが可能であるということである。別の実施形態では、ユーザプロファイルは、ネットワーク環境でクライアントと呼ばれることもある、ユーザのコンピュータ上で、作成および記憶されてもよい。ユーザのコンピュータ上で(例えばクッキー(cookie)内に)ユーザプロファイルを作成および記憶することは、検索エンジンのサーバの計算および記憶コストを削減するだけでなく、一部のユーザのプライバシーの要求も満足する。さらに別の実施形態では、ユーザプロファイルは、クライアント上で作成および更新され、サーバ上に記憶されてもよい。そのような実施形態は、他の2つの実施形態で説明された利点のいくつかを組み合わせる。この配置の欠点は、クライアントとサーバとの間のネットワークトラフィックを増加させる可能性があるということである。本発明のユーザプロファイルは、クライアントコンピュータ、サーバコンピュータ、または両方を使用して実装されてもよいことが、当業者によって理解される。
【0031】
図3は、複数のユーザについてのタームベースのプロファイルを記憶するために使用されてもよい、タームベースのプロファイルテーブル300の、例示的データ構造を示す。テーブル300は複数のレコード310を含み、各レコードは、ユーザのタームベースのプロファイルに対応する。タームベースのプロファイルレコード310には、USER_ID列320と、(TERM,WEIGHT)ペアの複数の列340とを含む、複数の列が含まれる。USER_ID列は、ユーザ、または同じ(TERM,WEIGHT)ペアの組を共有するユーザのグループを一意に識別する値を記憶し、各(TERM,WEIGHT)ペア340は、ユーザまたはユーザのグループにとって通常重要な、典型的には1〜3ワードの長さのタームと、タームの重要度を定量化する、タームに関連付けられた重みとを含む。一実施形態では、タームは、1つまたは複数のn−グラム(n−gram)として表されてもよい。n−グラムは、n個のトークン(token)のシーケンスとして定義され、ここで、トークンはワードであってもよい。例えば、「search engine」というフレーズは、長さ2のn−グラムであり、「search」というワードは、長さ1のn−グラムである。
【0032】
n−グラムは、テキストオブジェクトをベクトルとして表すために使用されてもよい。これにより、ベクトルについては明確に定義されているが、オブジェクト一般については明確に定義されていない、幾何学的、統計学的、およびその他の数学的技法を適用することが可能になる。本発明では、n−グラムは、2つのターム間の類似性の程度を、タームのベクトル表現への数学関数の適用に基づいて定義するために使用されてもよい。
【0033】
タームの重みは、必ずしも正の値であるとは限らない。タームが負の重みを有する場合、これは、検索結果にこのタームが含まれないことをユーザは好むということ、および、負の重みの大きさは検索結果内でこのタームを避けることへのユーザの嗜好の強さを示すということを示唆してもよい。例として、カリフォルニア州サンタクルーズにおけるサーフィン愛好者のグループにとって、タームベースのプロファイルは、「surfing club」(サーフィンクラブ)、「surfing event」(サーフィンのイベント)、および「Santa Cruz」(サンタクルーズ)などのタームを、正の重みとともに含む可能性がある。「Internet surfing」(インターネットサーフィン)または「web surfing」(Webサーフィン)などのタームも、プロファイル内に含まれてもよい。しかし、これらのタームは、このタームベースのプロファイルを共有するユーザの確実な嗜好と関係がなく、かつ紛らわしいため、負の重みを受け取る可能性が高い。
【0034】
タームベースのプロファイルは、ユーザの嗜好を、特定のターム(各タームは特定の重みを有する)を使用して項目別に示す。文書が、ユーザのタームベースのプロファイル内のタームに適合する場合、つまり、その文書のコンテンツがこのタームを正確に含む場合、タームの重みが文書に割り当てられる。しかし、文書がタームに正確には適合しない場合、文書は、このタームに関連付けられた重みを一切受け取らない。文書とユーザプロファイルとの間の関連性のそのような要求は、ユーザの嗜好と文書との間にあいまいな関連性が存在するさまざまなシナリオを取り扱う場合、柔軟性に欠ける可能性がある。例えば、ユーザのタームベースのプロファイルが「Mozilla」(モジラ)および「browser」(ブラウザ)などのタームを含む場合、そのようなタームを含まず、しかし「Galeon」(ガレオン)または「Opera」(オペラ)などのその他のタームを含む文書は、それらのタームがプロファイル内の既存のタームに一致しないため、それらのタームが実際にはインターネットブラウザであるにもかかわらず、重みを一切受け取らない。正確なタームの一致なしでの、ユーザの関心の一致への必要性に対処するために、ユーザのプロファイルは、カテゴリベースのプロファイルを含んでもよい。
【0035】
図4Aは、オープンディレクトリプロジェクト(Open Directory Project)(http://dmoz.org/)による階層的カテゴリマップ400を示す。マップ400のルートレベルから開始して、「アート」、「ニュース」、「スポーツ」などのいくつかの主要なトピックの下に文書が編成される。これらの主要なトピックは、多くの場合、ユーザの特定の関心を描写するには範囲が広すぎる。したがって、それらは、より詳細なサブトピックにさらに分割される。例えば、「アート」というトピックは、「映画」、「音楽」、「文学」などのサブトピックを含んでもよく、「音楽」というサブトピックは、「歌詞」、「ニュース」、「評論」などのサブ−サブトピックをさらに含んでもよい。各トピックには、「アート」に対して1.1、「トークショー」に対して1.4.2.3、「バスケットボール」に対して1.6.1のように、固有のCATEGORY_IDが関連付けられていることに注意されたい。
【0036】
図4Aは、オープンディレクトリプロジェクトを使用した例示的カテゴリを示すが、他のタイプのカテゴリも使用されてもよい。例えば、カテゴリは、文書のさまざまなコンテンツまたはその他の情報を解析し、概念を中心として編成された関連情報のカテゴリを生成することによって決定されてもよい。言い換えると、ワードまたはフレーズは、さまざまな概念に関連するクラスタにマッピングされてもよい。当業者は、さまざまな概念への文書の関連を決定することにおいて助けになる可能性がある、クラスタ内への情報の分類のための、さまざまな方法を認識するであろう。
【0037】
ユーザの特定の関心は、さまざまなレベルの複数のカテゴリに関連付けられてもよく、それらのカテゴリのそれぞれは、カテゴリとユーザの関心との間の関連性の程度を示す重みを有してもよい。カテゴリと重みは、ユーザに関連して前述した情報のいずれかまたはすべてを解析することによって決定されてもよい。一部の実施形態では、カテゴリは、次の情報の組のうちの任意の1つまたは複数を解析することによって決定されてもよい。ユーザによって発行された以前の検索クエリ201、以前の検索クエリによって識別されたURL203、識別された文書に関する一般情報207(例えば、識別された文書内に埋め込まれた、またはその他の方法で関連付けられた、メタデータ)、識別された文書に関するユーザの活動209(例えば、一般コンテンツおよび/またはプレーストコンテンツ上でのユーザクリック)、識別された文書からサンプリングされたコンテンツ211、識別された文書に関するカテゴリ情報213、ユーザの個人情報215、またはそれらの任意の組み合わせ。一部の実施形態では、カテゴリベースのプロファイルは、図4Bに示すようなハッシュテーブルデータ構造を使用して実装されてもよい。カテゴリベースのプロファイルテーブル450は、複数のレコード460を備えたテーブル455を含み、各レコードは、USER_IDと、テーブル460−1などの別のデータ構造を指すポインタとを含む。テーブル460−1は、CATEGORY_ID列470およびWEIGHT列480という2つの列を含んでもよい。CATEGORY_ID列470は、図4Aに示すようなカテゴリの識別番号を含み、これは、このカテゴリがユーザの関心に関連していることを示し、WEIGHT列480内の値は、このカテゴリの、ユーザの関心への関連性の程度を示す。
【0038】
カテゴリマップ400に基づくユーザプロファイルは、トピック指向の実装である。カテゴリベースのプロファイル内の項目は、他の方法で編成されてもよい。一実施形態では、ユーザの嗜好は、ユーザによって識別される文書のフォーマット(HTML、プレーンテキスト、PDF、マイクロソフトワード(Microsoft Word)など)に基づいて分類されてもよい。異なるフォーマットは、異なる重みを有してもよい。別の実施形態では、ユーザの嗜好は、識別される文書のタイプ(例えば、組織のホームページ、個人のホームページ、研究論文、またはニュースグループの投稿)に従って分類されてもよく、各タイプは関連する重みを有してもよい。ユーザの検索嗜好を特徴付けるために使用されてもよい、別のタイプのカテゴリは、文書の出所(例えば、各文書のホストに関連付けられた国)である。さらに別の実施形態では、上記のカテゴリベースのプロファイルが共存し、それぞれのプロファイルがユーザの嗜好の1つの側面を反映してもよい。
【0039】
タームベースおよびカテゴリベースのプロファイル以外の、別のタイプのユーザプロファイルは、リンクベースのプロファイルと呼ばれる。上述のように、ページランク(PageRank)アルゴリズムは、インターネット上のさまざまな文書を結びつけるリンク構造に基づく。より多くのリンクによって指されている文書は、多くの場合、より高いページランクを割り当てられ、したがって、検索エンジンからのより多くの注意を引く。ユーザによって識別された文書に関連するリンク情報も、ユーザの嗜好を推論するために使用されてもよい。一実施形態では、ユーザにとっての好ましいURLのリストが、そのユーザによるそれらのURLへのアクセス頻度を解析することによって識別される。それぞれの好ましいURLは、さらに、そのURLにおいてユーザが過ごした時間、そのURLにおけるユーザのスクロール活動、および/または、そのURLにおける文書にアクセスする場合のその他のユーザ活動(209、図2)に従って、重み付けされてもよい。別の実施形態では、ユーザにとっての好ましいホストのリストが、さまざまなホストのWebページへの、そのユーザのアクセス頻度を解析することによって識別される。2つの好ましいURLが同じホストに関連している場合、2つのURLの重みを組み合わせて、ホストの重みが決定されてもよい。別の実施形態では、ユーザにとっての好ましいドメインのリストが、さまざまなドメインのWebページへの、そのユーザのアクセス頻度を解析することによって識別される。例えば、finance.yahoo.comについては、ホストは「finance.yahoo.com」であり、ドメインは「yahoo.com」である。
【0040】
図5は、ハッシュテーブルデータ構造を使用したリンクベースのプロファイルを示す。リンクベースのプロファイルテーブル500は、複数のレコード520を含むテーブル510を含み、各レコードは、USER_IDと、テーブル510−1などの別のデータ構造を指すポインタとを含む。テーブル510−1は、LINK_ID列530およびWEIGHT列540という2つの列を含んでもよい。LINK_ID列530内に記憶される識別番号は、好ましいURLまたはホストに関連付けられてもよい。LINK_IDの代わりに実際のURL/ホスト/ドメインがテーブル内に記憶されてもよいが、記憶空間を節約するために、LINK_IDを記憶することが好ましい。
【0041】
好ましいURLおよび/またはホストのリストは、ユーザによって直接識別されたURLおよび/またはホストを含む。好ましいURLおよび/またはホストのリストは、さらに、当業者に知られている協調フィルタリング(collaborative filtering)またはビブリオメトリックアナリシス(bibliomeric analysis)などの方法を使用することによって間接的に識別されるURLおよび/またはホストに拡張されてもよい。一実施形態では、間接的に識別されるURLおよび/またはホストは、直接識別されたURLおよび/またはホストへのリンクを有するURLまたはホスト、ならびに、直接識別されたURLおよび/またはホストからのリンクを有するURLまたはホストを含む。これらの間接的に識別されるURLおよび/またはホストは、それらと、ユーザによって直接識別された関連するURLまたはホストとの間の距離によって重み付けされる。例えば、直接識別されたURLまたはホストが1の重みを有する場合、1リンク隔たったURLまたはホストは0.5の重みを有してもよく、2リンク隔たったURLまたはホストは0.25の重みを有してもよく、以下同様であってもよい。この手順は、元のURLまたはホストのトピックに関連していないリンク(例えば、著作権のページへのリンク、またはユーザが選択したURLまたはホストに関連付けられた文書を表示するために使用されてもよいWebブラウザソフトウェアへのリンク)の重みを減らすことによって、さらに改良されてもよい。関連のないリンクは、それらの文脈またはそれらの分布に基づいて識別されてもよい。例えば、著作権リンクは、多くの場合、特定の用語を使用し(例えば、著作権(copyright)または「All rights reserved」は、著作権リンクのアンカーテキスト内で一般に使用される用語である)、Webサイトへの、多くの関連のないWebサイトからのリンクは、このWebサイトがトピック的には関連していないことを示す場合がある(例えば、インターネットエクスプローラ(Internet Explorer)Webサイトへのリンクが、多くの場合、関連のないWebサイトに含まれている)。間接的なリンクは、さらに、トピックの組に従って分類されてもよく、そして、非常に異なるトピックを有するリンクは、除外されるか、または非常に低い重みを割り当てられてもよい。
【0042】
上述の3つのタイプのユーザプロファイルは、一般に、相互に補完するものであり、その理由は、異なるプロファイルは、ユーザの関心と嗜好を異なる見地から描写するからである。しかしこれは、1つのタイプのユーザプロファイル(例えば、カテゴリベースのプロファイル)が、別のタイプのユーザプロファイルによって通常果たされる役割を、果たすことができないということは意味しない。例として、リンクベースのプロファイル内の好ましいURLまたはホストは、多くの場合、特定のトピックに関連している(例えば、finance.yahoo.comは、金融ニュースに焦点を合わせたURLである)。したがって、好ましいURLまたはホストのリストを含むリンクベースのプロファイルによって、ユーザの嗜好を特徴付けるために達成されることは、少なくとも部分的には、好ましいURLまたはホストによって扱われるのと同じトピックを扱うカテゴリの組を有する、カテゴリベースのプロファイルによっても達成可能であってもよい。
【0043】
図3〜図5に示すデータ構造内に記憶されることが可能な、さまざまなタイプのユーザプロファイルを、図2に示すユーザ情報に基づいて構築することは、重要な操作である。ユーザによって識別(例えば、表示)された文書について考えると、文書内の異なるタームは、文書のトピックを明らかにする上で、異なる重要性を有してもよい。例えば文書のタイトルなどの、一部のタームは、非常に重要な場合があるのに対して、他のタームは、ほとんど重要性を有さない場合がある。例えば、多くの文書は、文書のトピックに関連していない可能性がある、ナビゲーションリンク、著作権宣言文、免責条項、およびその他のテキストを含む。適切な文書の効率的な選択方法、それらの文書からの適切なコンテンツの効率的な選択方法、およびコンテンツ内からの適切なタームの効率的な選択方法は、計算言語学における困難な課題である。その上、ユーザプロファイルの構築プロセスを計算的に効率的にするために、処理されるユーザ情報の量は最小にすることが好ましい。文書内の、あまり重要ではないタームを省くことは、ユーザの関心に文書を正確に一致させるために役立つ。
【0044】
パラグラフサンプリング(図6を参照して以下に説明する)は、ユーザに関連する可能性があるコンテンツを文書から自動的に抽出する手順である。この手順の背後で得られた重要な観察結果は、ナビゲーションリンク、著作権宣言文、免責条項などの、文書内のより関連の少ないコンテンツは、比較的短いテキストのセグメントである傾向があるということである。一実施形態では、パラグラフサンプリングは、文書内の最も長いパラグラフを探して、パラグラフの処理を、長いパラグラフから順に、パラグラフの長さが事前定義されたしきい値よりも短くなるまで行う。パラグラフサンプリング手順は、任意選択で、それぞれの処理されるパラグラフから、特定の最大量までのコンテンツを選択する。適切な長さのパラグラフが文書内でほとんど見つからない場合、手順は、アンカーテキストやALTタグなどの、文書の他の部分からのテキスト抽出に頼る。
【0045】
図6は、パラグラフサンプリングの主要なステップを示すフローチャートである。パラグラフサンプリングは、コメント、ジャバスクリプト、およびスタイルシートなどの、事前定義された項目を文書から削除する、ステップ610から開始される。これらの項目が削除される理由は、これらの項目は通常、ブラウザ上に描画される際の文書の視覚的側面に関連しており、文書のトピックに関連する見込みはないためである。それに続いて、手順は、ステップ620において、長さがしきい値MinParagrahLengthよりも長い各パラグラフから、最初のNワード(またはMセンテンス)を、サンプリングされたコンテンツとして選択してもよい。一実施形態では、NおよびMの値は、それぞれ、100および5であるように選択される。他の実施形態では、他の値が使用されてもよい。
【0046】
パラグラフサンプリング手順に関連する計算および記憶装置の負荷を減らすために、手順は、各文書からサンプリングされるコンテンツに、例えば1000ワードの、最大制限を課してもよい。一実施形態では、パラグラフサンプリング手順は、最初に、文書内のすべてのパラグラフを長い順に編成して、次に、最大の長さのパラグラフからサンプリングプロセスを開始する。パラグラフの開始と終了は、パラグラフのHTML表現内での連続したテキスト文字列の存在に依存するのではなく、ブラウザ内でのパラグラフの見かけに依存することに留意されたい。この理由により、インラインリンクおよび太字テキストのためのコマンドなどの、特定のHTMLコマンドは、パラグラフ境界を決定する際に無視される。一部の実施形態では、パラグラフサンプリング手順は、最初のNワード(またはMセンテンス)を審査して、「Terms of Service」(サービス期間)や「Best viewed」(最適に表示)などの定型句を含むセンテンスを除去する。その理由は、そのようなセンテンスは、通常、文書のトピックとは関連していないと考えられるためである。
【0047】
長さがしきい値を超えているパラグラフのサンプリングを行う前に、手順は、サンプリングされたコンテンツ内のワード数が最大ワード制限に達している場合、文書からのコンテンツのサンプリングを停止してもよい。長さがしきい値よりも大きなすべてのパラグラフの処理の後で、最大ワード制限に達していない場合は、任意選択のステップ630、640、650、および670が実行される。特に、手順は、最大ワード制限に達するまで、文書タイトル(630)、非インラインHREFリンク(640)、ALTタグ(650)、およびメタタグ(670)を、サンプリングされたコンテンツに追加する。
【0048】
ユーザにより識別された文書がスキャンされたら、コンテキスト解析を通して、最も重要な(または重要でない)タームのリストを識別するために、サンプリングされたコンテンツが使用されてもよい。コンテキスト解析は、識別された文書の組の中の最も重要な(または重要でない)タームを予測する、コンテキストタームを学習しようと試みる。特に、コンテキスト解析は、プレフィックスパターン、ポストフィックスパターン、および両方の組み合わせを探す。例えば、「x’s home page」という表現は、ターム「x」をユーザにとって重要なタームとして識別してもよく、したがって、ポストフィックスパターン「* home page」が、文書内の重要なタームの位置を予測するために使用されてもよい(アスタリスク「*」は、このポストフィックスパターンに適合する任意のタームを表す)。一般に、コンテキスト解析によって識別されるパターンは、通常、重要な(または重要でない)タームの前のmターム、および、重要な(または重要でない)タームの後のnタームからなり、ここで、mおよびnは両方とも0以上であり、かつ、それらのうちの少なくとも1つは0よりも大きい。典型的には、mおよびnは5未満であり、0でない場合は、1〜3であることが好ましい。パターンは、その出現頻度に依存して、パターンにより認識されるタームがどれだけ重要(または重要でない)と予想されるかを示す、関連する重みを有してもよい。
【0049】
本発明の一実施形態(図7A)によると、コンテキスト解析は、トレーニングフェーズ701と稼働フェーズ703という、2つの別個のフェーズを有する。トレーニングフェーズ701は、事前定義された重要なタームのリスト712と、事前定義された重要でないタームの任意選択のリスト714と、トレーニング文書の組とを受け取って利用する(ステップ710)。一部の実施形態では、事前定義された重要でないタームのリストは使用されない。リスト712、714の出所は、重要ではない。一部の実施形態では、これらのリスト712、714は、文書の組(例えば、高ページランクの数千のWebページの組)から一組の規則に従ってワードまたはタームを抽出し、次に、それらを編集して、編集者の意見によりリストに属さないとされたタームを削除することにより生成される。トレーニング文書の出所も、重要ではない。一部の実施形態では、トレーニング文書は、検索エンジンにすでに知られている、ランダムに、または擬似ランダムに選択された文書の組を含む。他の実施形態では、トレーニング文書は、検索エンジン内の文書のデータベースから、事前定義された基準に従って選択される。
【0050】
トレーニングフェーズ701の間は、複数のコンテキストパターン(例えば、プレフィックスパターン、ポストフィックスパターン、およびプレフィックス−ポストフィックスパターン)を識別するため、および識別された各コンテキストパターンに重みを関連付けるために、事前定義された重要な、および重要でないタームのリストを使用して、トレーニング文書が処理される(ステップ720)。稼働フェーズ703の間は、ユーザにより識別された文書にコンテキストパターンが適用され(ステップ730)、ユーザの特定の関心および嗜好を特徴付ける重要なタームの組が識別される(ステップ740)。ユーザの関心と嗜好の、学習および描写は、通常、継続したプロセスである。したがって、稼働フェーズ703は、以前に取り込まれた重要なタームの組を更新するために、繰り返されてもよい。これは、ユーザが文書にアクセスするたびに、または所定のスケジュールに従って、または特定の基準に従って決定された時間に、またはさもなければ、時々実行されてもよい。同様に、トレーニングフェーズ701も、新しいコンテキストパターンの組を発見するため、および識別されたコンテキストパターンに関連付けられた重みを再調整するために、繰り返されてもよい。
【0051】
次に示すのは、トレーニングフェーズを例示する擬似コードの部分である。
【0052】
【表1】
【0053】
上記の擬似コード内で、表現は、プレフィックスパターン(n=0)、ポストフィックスパターン(m=0)、または両方の組み合わせ(m>0かつn>0)を表す。特定のパターンの各出現は、2つの多次元配列ImportantContext(m,n,s)またはUnimportantContext(m,n,s)のうちの1つにおいて登録される。プレフィックス、ポストフィックス、または組み合わせパターンの重みは、このパターンが、より多くの重要なタームと、より少ない重要でないタームとを識別する場合はより高く設定され、その逆も同様である。同じパターンが、重要なタームと、重要でないタームの両方に関連付けられる場合もありうることに留意されたい。例えば、ポストフィックス表現「* operating system」は、トレーニング文書716内で、事前定義された重要なタームのリスト712内のタームと組み合わせて使用されてもよく、さらに、事前定義された重要でないタームのリスト714と組み合わせて使用されてもよい。この状況では、ポストフィックスパターン「* operating system」に関連付けられる重み(Weight(1,0,“operating system”)という表現によって表される)は、ポストフィックス表現が、事前定義された重要なタームのリスト内のタームと組み合わせて使用される回数と、ポストフィックス表現が、事前定義された重要でないタームのリスト内のタームと組み合わせて使用される回数とを考慮に入れる。コンテキストパターンの重みを決定するための1つの可能な式は、次のとおりである。
Weight(m,n,s)=Log(ImportantContext(m.n,s)+1)−Log(UnimportantContext(m,n,s)+1)
他の実施形態では、他の重み決定式が使用されてもよい。
【0054】
コンテキスト解析プロセスの第2フェーズでは、重み付けされたコンテキストパターンが、ユーザによって識別された1つまたは複数の文書内の重要なタームを識別するために使用される。図7Bを参照すると、第1フェーズにおいて、コンピュータシステムは、トレーニングデータ750を受け取って、コンテキストパターンの組760を作成する(各コンテキストパターンは関連する重みを有する)。コンピュータシステムは、次に、コンテキストパターンの組760を文書780に適用する。図7Bでは、文書780内で検出された、以前に識別されたコンテキストパターンがハイライトされている。コンテキストパターンに関連付けられたターム790が識別され、そのような各タームは、コンテキストパターンに関連付けられた重みに基づいた、重みを受け取る。例えば、「Foobar」というタームは、プレフィックスパターン「Welcome to *」およびポストフィックスパターン「* builds」という、2つの異なるパターンに関連して、文書内に2回出現し、「Foobar」に割り当てられる重み1.2は、2つのパターンの重み0.7と0.5の合計である。もう一方の識別されたターム「cars」は0.8の重みを有し、これは、対応するプレフィックスパターン「world’s best *」が0.8の重みを有するためである。一部の実施形態では、各タームの重みは対数変換を使用して計算され、最終的な重みは、log(最初の重み+1)に等しい。2つのターム「Foobar」および「cars」は、トレーニングデータ750内に存在していない可能性があり、ユーザによって以前に遭遇されたことはない可能性がある。それにもかかわらず、上記のコンテキスト解析方法は、これらのタームを識別して、ユーザのタームベースのプロファイルに追加する。したがって、コンテキスト解析は、ユーザの関心および嗜好に関連するタームを、それらのタームが事前定義されたタームのデータベースに含まれていない場合でも、発見するために使用されてもよい。
【0055】
前述したように、コンテキスト解析の出力は、ユーザのタームベースのプロファイルを構築するために直接使用されてもよい。さらに、コンテキスト解析の出力は、ユーザのカテゴリベースのプロファイルなどの、他のタイプのユーザプロファイルを構築するためにも有用な場合がある。例えば、重み付けされたタームの組は、解析されて、さまざまなトピックを扱う複数のカテゴリ内に分類されてもよく、それらのカテゴリは、ユーザのカテゴリベースのプロファイルに追加されてもよい。
【0056】
ユーザによって、またはユーザのために識別された文書の組についてコンテキスト解析を実行した後、結果としてもたらされるタームおよび重みの組は、各ユーザのタームベースのプロファイルのために割り当てられているよりも大きな量のストレージを占める場合がある。さらに、タームおよび対応する重みの組は、組の中の他のタームよりもはるかに小さな重みを有するいくつかのタームを含む場合がある。したがって、一部の実施形態では、コンテキスト解析の最後に、最も低い重みを有するタームを削除することによって、タームおよび重みの組が削られ(pruned)、それにより、(A)タームベースのプロファイルによって占められるストレージの総量が、事前定義された制限を満たすようになり、かつ/または、(B)重みが非常に低いため、または、事前定義された基準によって定義された古い項目に対応するため、ユーザの検索嗜好および関心を示さないと考えられるタームが削除される。一部の実施形態では、同様の削除基準および技術が、カテゴリベースのプロファイルおよび/またはリンクベースのプロファイルにも適用される。
【0057】
上述のように、カテゴリベースのプロファイルは、図2を参照して説明した情報に基づいて作成されてもよい。例えば、以前に発行されたクエリタームが、特定の情報カテゴリに関連付けられてもよい。ユーザプロファイルエンジンは、ユーザにより発行された以前の検索クエリを解析して、ユーザが関心を持っている可能性がある特定の情報カテゴリと、それらのそれぞれの重みとを決定してもよい。そのようなユーザプロファイルエンジンは、図2を参照して説明した任意の情報源を解析してもよい。
【0058】
一部の実施形態では、ユーザのプロファイルは、ユーザが検索を行い、検索結果から少なくとも1つの文書を選択して、ダウンロードまたは表示するたびに更新される。一部の実施形態では、検索エンジンが、ユーザにより(例えば、検索結果から文書を選択することによって)識別された文書のリストを、時間の経過とともに構築し、事前定義された時に(例えば、リストが事前定義された長さに達した場合に、または事前定義された時間が経過した場合に)、プロファイルの更新を実行する。更新を実行する場合は、新しいプロファイルデータが生成され、新しいプロファイルデータが、そのユーザについて以前に生成されたプロファイルデータとマージされる。一部の実施形態では、新しいプロファイルデータは、以前に生成されたプロファイルデータよりも高い重要度を割り当てられ、それにより、システムは、ユーザの検索嗜好と関心の変化に従って、ユーザのプロファイルを迅速に調整することが可能になる。例えば、新しいプロファイルデータと併合される前に、以前に生成されたプロファイルデータ内の項目の重みが自動的に縮小されてもよい。一実施形態では、プロファイル内の各項目に関連付けられた日付が存在し、プロファイル内の情報はその古さに基づいて重み付けされ、より古い項目は、それらの項目が新しかったときよりも低い重みを受け取る。他の実施形態では、新しいプロファイルデータは、以前に生成されたプロファイルデータよりも高い重要度を割り当てられない。
【0059】
パラグラフサンプリング方法とコンテキスト解析方法とは、別々に使用されるか、または組み合わせて使用されてもよい。組み合わせて使用される場合、パラグラフサンプリングの出力は、コンテキスト解析方法の入力として使用される。
【0060】
さらに、ユーザプロファイルを作成するために使用される上記の方法(例えば、パラグラフサンプリングおよびコンテキスト解析)は、ユーザの嗜好への、候補文書の関連性を決定するためにも活用されてもよいということに留意されたい。実際、検索エンジンの主な役割は、ユーザにより発行された検索クエリと、ユーザのユーザプロファイルとに基づいて、ユーザの嗜好に最も関連している一連の文書を識別することである。図8は、ユーザプロファイルへの文書の関連性についての情報を、複数の観点から記憶するために使用されてもよい、いくつかの例示的データ構造を示す。各DOC_IDによってそれぞれが識別される、それぞれの候補文書について、タームベースの文書情報テーブル810は、タームとそれらの重みとの、複数のペアを含み、カテゴリベースの文書情報テーブル830は、複数のカテゴリと、関連する重みとを含み、リンクベースの文書情報テーブル850は、一組のリンクと、対応する重みとを含む。
【0061】
3つのテーブル(810、830、および850)のそれぞれの、最も右側の列は、1つの特定のタイプのユーザプロファイルを使用して文書が評価された場合の、文書のランク(つまり、計算された得点)を記憶する。ユーザプロファイルランクは、文書に関連付けられた項目の重みを組み合わせることによって決定されてもよい。例えば、カテゴリベースまたはトピックベースのプロファイルランクは、次のように計算されてもよい。ユーザは、科学に関する文書を、0.6の重みを使用して好む一方で、ビジネスに関する文書を、−0.2の重みを使用して嫌ってもよい。したがって、科学文書が検索クエリに一致した場合、その文書はビジネス文書よりも高く重み付けされる。一般に、文書トピックの分類は、排他的でなくてもよい。候補文書は、0.8の確率で科学文書であるとして分類され、かつ、0.4の確率でビジネス文書であるとして分類されてもよい。リンクベースのプロファイルランクは、リンクベースのプロファイル内で、ユーザのURL、ホスト、ドメインなどの嗜好に割り当てられた相対的な重みに基づいて計算される。一実施形態では、タームベースのプロファイルランクは、タームフリクエンシー−インバースドキュメントフリクエンシー(term frequency−inverse document frequency(TF−IDF))などの周知の技術を使用して決定されてもよい。タームのタームフリクエンシーは、文書内でタームが出現する回数の関数である。インバースドキュメントフリクエンシーは、文書の集まりのうちの、タームが出現する文書の数の、逆関数である。例えば、「the」のような非常に一般的なタームは、多くの文書内で発生し、その結果として、比較的低いインバースドキュメントフリクエンシーが割り当てられる。
【0062】
検索エンジンが検索クエリに応答して検索結果を生成する場合、クエリを満足する候補文書Dには、検索クエリに従って、クエリ得点(QueryScore)が割り当てられる。このクエリ得点は、次に、文書Dのページランク(PageRank)によって調整され、一般得点(GenericScore)が生成される。これは、次のように表される。
GenericScore=QueryScore*PageRank
【0063】
ユーザの関心または嗜好がランダムサーファーのものと劇的に異なる場合、この一般得点は、特定のユーザUにとっての文書Dの重要度を適切に反映しない可能性がある。ユーザUへの文書Dの関連性は、文書DのコンテンツとユーザUのタームベースのプロファイルとの間の相関(本明細書ではTermScoreと呼ばれる)、文書Dに関連付けられた1つまたは複数のカテゴリとユーザUのカテゴリベースのプロファイルとの間の相関(本明細書ではCategoryScoreと呼ばれる)、ならびに、文書DのURLおよび/またはホストと、ユーザUのリンクベースのプロファイルとの間の相関(本明細書ではLinkScoreと呼ばれる)に基づく、一組のプロファイルランクによって正確に特徴付けられてもよい。したがって、文書Dには、文書の一般得点と、ユーザプロファイル得点との両方の関数である、パーソナライズされたランクが割り当てられてもよい。一実施形態では、このパーソナライズされた得点は、次のように表されてもよい。
PersonalizedScore=GenericScore*(TermScore+CategoryScore+LinkScore)
【0064】
図9Aおよび図9Bは2つの実施形態を表し、両方とも、図1に示すネットワーク環境100などのクライアント−サーバネットワーク環境内に実装される。図9Aに示す実施形態では、検索エンジン104は、ステップ910において、特定のユーザにより発行された検索クエリをクライアント102から受信する。それに応答して、検索エンジン104は、ステップ915において、任意選択で、クエリストラテジを生成してもよい(例えば、検索クエリは、さらなる処理のための適切な形態となるように標準化され、かつ/または、検索クエリは、検索クエリの範囲を自動的に広めるかまたは狭めるために、事前定義された基準に従って修正されてもよい)。ステップ920において、検索エンジン104は、コンテンツサーバ106に、検索クエリ(または、生成されている場合は、クエリストラテジ)を発行する。コンテンツサーバは、ステップ920において、検索クエリに適合する文書のリストを識別する(各文書は、文書のページランクと検索クエリとに依存した一般得点を有する)。一般に、3つの動作(ステップ910、915、および920)はすべて、ネットワーク環境100のサーバ側にある検索エンジンシステム107によって実行される。これらの最初の3つのステップに続く動作を実装する場所については、2つの選択肢がある。
【0065】
サーバ側実装を採用する一部の実施形態では、ユーザの識別番号が検索クエリ内に埋め込まれる。ユーザの識別番号に基づいて、ユーザプロファイルサーバ108は、ステップ925において、ユーザのユーザプロファイルを識別する。ステップ930から開始して、ユーザプロファイルサーバ108または検索エンジン104は、ステップ920において識別された各文書を解析して、ユーザのプロファイルへの関連性を判定し、ステップ935において、識別された文書についてのプロファイル得点を作成し、次に、ステップ940において、文書の一般得点とプロファイル得点との関数である、パーソナライズされた得点を文書に割り当てる。ステップ942において、ユーザプロファイルサーバ108または検索エンジン104は、これが識別された文書のリスト内の最後の文書かどうかを調べる。最後の文書ではない場合は、システムは、リスト内の次の文書を処理する。それ以外の場合は、文書のリストが、それらのパーソナライズされた得点に従って順序付けし直され、対応するクライアント(そのクライアントからユーザが検索クエリを発行した)に送信される。
【0066】
クライアント側実装を使用する実施形態は、サーバ側実装に類似しているが、ステップ920の後で、識別された文書が、対応するクライアント(そのクライアントからユーザが検索クエリを発行した)に送信されるという点が異なる。このクライアントは、ユーザのユーザプロファイルを記憶し、このクライアントは、ユーザプロファイルに基づいて文書を順序付けし直す役割を果たす。したがって、このクライアント側実装は、サーバの作業負荷を減少させる可能性がある。さらに、クライアント側実装を使用すれば、プライバシーに対する懸念がなくなるため、ユーザは、検索結果をカスタマイズするためのプライベート情報を進んで提供する傾向が強くなる可能性がある。ただし、クライアント側実装にとっての重大な制約は、ネットワーク帯域幅の制限により、例えば(一般ランクを使用して決定される)上位50の文書などの、制限された数の文書のみが、順序付けし直すためにクライアントに送信される場合があるということである。対照的に、サーバ側実装では、検索クエリに一致する、例えば1000などの、はるかに大きな数の文書に対してユーザプロファイルを適用できる可能性がある。したがって、クライアント側実装では、一般ランクは比較的低いがパーソナライズされたランクはかなり高い文書へのユーザアクセスが、はばまれる可能性がある。
【0067】
図9Bは、別の実施形態を示す。検索クエリを検索エンジン104に発行する前に検索クエリがパーソナライズされない、図9Aに示した実施形態とは異なり、ユーザのユーザプロファイルに従って一般クエリストラテジが調整されて(ステップ965)、パーソナライズされたクエリストラテジが作成される。例えば、ユーザプロファイルからの関連するタームが、関連する重みとともに、検索クエリに追加されてもよい。パーソナライズされたクエリストラテジの作成は、システムのクライアント側、またはサーバ側のいずれで実行されてもよい。本実施形態では、前の実施形態が直面したネットワーク帯域幅の制限は回避される。最後に、検索エンジン104は、パーソナライズされたクエリストラテジを、コンテンツサーバ106に発行し(ステップ970)、したがって、コンテンツサーバによって返される検索結果は、文書のパーソナライズされたランクによってすでに順序付けされている(ステップ975)。
【0068】
関連する関心を有するユーザのグループのプロファイルが結合されて、グループプロファイルが形成されてもよく、あるいは、グループ内のユーザによって識別された文書に基づいて、単一のプロファイルが形成されてもよい。例えば、何人かの家族構成員が、同じコンピュータを使用して、検索エンジンに検索クエリを発行する場合がある。コンピュータが、検索エンジンによって、単一のユーザ識別子を使用してタグ付けされている場合、「ユーザ」は家族全体のユーザとなり、ユーザプロファイルはさまざまな家族構成員の検索嗜好の組み合わせまたは混合を表すものとなる。グループ内の個々のユーザは、任意選択で、このユーザを他のグループ構成員から区別する、別個のユーザプロファイルを有してもよい。稼働中に、グループ内のユーザのための検索結果は、グループプロファイルに従って、または、(ユーザが別個のユーザプロファイルも有する場合は)グループプロファイルとユーザのユーザプロファイルとに従って、ランク付けされる。
【0069】
ユーザがその関心をあまりにも劇的に変化させたため、そのユーザの新しい関心と嗜好は、そのユーザのユーザプロファイルにほとんど似ていないこと、または、ユーザが一時的に新しいトピックに関心を持つことがありうる。この場合、図9Aおよび図9Bに示す実施形態に従って生成されるパーソナライズされた検索結果は、検索結果内の文書の一般ランクに従ってランク付けされた検索結果よりも、不利な可能性がある。さらに、ユーザのプロファイルは、過去にユーザがアクセスしたことがある古いWebサイト(つまり、その古いWebサイトから、ユーザはWebページを表示またはダウンロードしたことがある)の重みを増加させる傾向があるため、ユーザに提供される検索結果は、上位に示される文書の中に、新しいWebサイトを含まない可能性がある。
【0070】
ユーザの嗜好と関心の変化により引き起こされる影響を減らすために、パーソナライズされた検索結果は、一般検索結果とマージされてもよい。一実施形態では、一般検索結果とパーソナライズされた検索結果とは交互配置され、したがって、検索結果リストの奇数位置(例えば、1、3、5など)は一般検索結果のために確保され、偶数位置(例えば、2、4、6など)はパーソナライズされた検索結果のために確保されるか、またはその逆となる。好ましくは、一般検索結果の中の項目は、パーソナライズされた検索結果の中にリストされる項目を繰り返さず、その逆も同様となる。より一般的には、一般検索結果はパーソナライズされた検索結果と混合されるかまたは交互配置され、それにより、ユーザに提示される検索結果内の項目は、一般検索結果とパーソナライズされた検索結果の両方を含むようになる。
【0071】
別の実施形態では、パーソナライズされたランクおよび一般ランクは、ユーザプロファイルの信頼性レベルによってさらに重み付けされる。信頼性レベルは、ユーザに関する情報がどれだけ取得されているか、現在の検索クエリがユーザのプロファイルにどれだけ緊密に一致しているか、ユーザプロファイルはどれだけ古いかなどの要因を考慮に入れる。非常に短期間のユーザ履歴しか得られない場合、ユーザのプロファイルには、それに対応した、低い信頼性の値が割り当てられる。識別された文書の最終的な得点は、次のように決定されてもよい。
FinalScore=ProfileScore*ProfileConfidence+GenericScore*(1−ProfileConfidence)
一般結果とパーソナライズされた結果とを混合する場合に、パーソナライズされた結果の割合が、プロファイルの信頼性に基づいて調整されてもよい(例えば、信頼性が低い場合は、パーソナライズされた結果が1つだけ使用される)。
【0072】
場合によっては、例えば公共図書館において、複数のユーザがマシンを共有することがある。これらのユーザは、異なる関心と嗜好を有する可能性がある。一実施形態では、ユーザは、システムがそのユーザの同一性を認識するように、明示的にサービスにログインしてもよい。あるいは、異なるユーザは、それらのユーザがアクセスする項目、またはそれらのユーザのアクセスパターンのその他の特徴に基づいて、自動的に認識されてもよい。例えば、異なるユーザは、マウスを異なる方法で動かし、異なるようにタイプし、異なるアプリケーション、およびそれらのアプリケーションの異なる機能を使用する可能性がある。クライアントおよび/またはサーバ上での事象の集成に基づいて、ユーザを識別するための、そして次に、その識別を使用して適切な「ユーザ」プロファイルを選択するための、モデルを作成することが可能である。そのような環境においては、「ユーザ」は、実際には、ある程度類似したコンピュータ使用パターンや関心などを有する人々のグループであってもよい。
【0073】
図10を参照すると、パーソナライズされた検索エンジンシステム1000は、典型的には、1つまたは複数の処理ユニット(CPU)1002と、1つまたは複数のネットワークまたはその他の通信インタフェース1010と、メモリ1012と、これらの構成要素を相互接続するための1つまたは複数の通信バス1014とを含む。システム1000は、任意選択で、例えばディスプレイ1006およびキーボード1008などの、ユーザインタフェース1004を含む。メモリ1012は、高速ランダムアクセスメモリを含んでもよく、さらに、1つまたは複数の磁気ディスク記憶装置などの、不揮発性メモリも含んでもよい。メモリ1012は、中央処理ユニット1002から離れた場所に配置された大容量記憶装置を含んでもよい。メモリ1012は、好ましくは、以下を記憶する。
・さまざまな基本システムサービスを処理するための、およびハードウェア依存タスクを実行するための手続きを含む、オペレーティングシステム1016。
・インターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの、1つまたは複数の通信ネットワーク(有線または無線)を介して、システム1000を、他のサーバまたはコンピュータに接続するために使用される、ネットワーク通信モジュール1018。
・システム1000の適切な動作のために必要な、メモリ1012内に記憶される他のモジュールおよびデータ構造を初期化する、システム初期化モジュール1020。
・検索クエリを実行し、検索クエリとユーザのプロファイルとに従って検索結果を識別および順序付けする、検索エンジン1022。
・図2で識別されたユーザ情報などの、ユーザ情報を収集および処理するための、そして、ユーザの検索嗜好と関心とを特徴付ける、ユーザのユーザプロファイルを作成および更新するための、ユーザプロファイルエンジン1030。
・複数のユーザプロファイルを記憶するためのデータ構造1040、1060、および1080。
【0074】
検索エンジン1022は、さらに、以下を含んでもよい。
・ユーザにより発行された検索クエリを処理し、クエリに適合する文書のリストを識別し、識別された各文書に、ユーザ固有の情報とは関係なく、一般ランクを割り当てるための、一般ランクモジュール(または命令)1024。
・一般ランクモジュール1024によって識別された複数の文書のそれぞれを、ユーザのユーザプロファイルと相互に関連付け、ユーザの検索嗜好と関心とへの文書の関連性を示すプロファイルランクを文書に割り当てるための、ユーザプロファイルランクモジュール(または命令)1026。
・識別された文書の一般ランクとプロファイルランクとを混合してパーソナライズされたランクとし、文書のリストを、それらの文書のパーソナライズされたランクに従って順序付けし直すための、ランク混合モジュール(または命令)1028。
一部の実施形態では、これらのモジュール1024、1026、1028は、単一の手続き内に、または、単一のソフトウェアモジュール内に存在する一組の手続きの中に実装されてもよい。
【0075】
ユーザプロファイルエンジン1030は、さらに、以下を含んでもよい。
・図2に示したさまざまなユーザ情報を収集および分類するための、ユーザ情報収集モジュール1032。
・ユーザにより識別された文書からコンテンツを選択および抽出し、パラグラフサンプリング(上述)などの技術を使用して、ユーザの関心に関連するコンテンツを識別するための、文書コンテンツ抽出モジュール1034。
・文書抽出モジュール1034によって抽出されたコンテンツを解析して、ユーザの検索嗜好を特徴付けるタームを識別するための、コンテンツ解析モジュール1036。
【0076】
ユーザプロファイルを保管する各データ構造は、さらに、以下を含んでもよい。
・タームベースのユーザプロファイルを記憶するための、データ構造1042、1062、または1082。
・カテゴリベースのユーザプロファイルを記憶するための、データ構造1044、1064、または1084。
・リンクベースのユーザプロファイルを記憶するための、データ構造1046、1066、または1086。
【0077】
ユーザプロファイルに従ったプレーストコンテンツの順序付け
プレーストコンテンツは、インターネットまたはその他のワイドエリアネットワークを介して提供される、検索サービス、電子メールサービス、およびその他のさまざまなサービスのユーザに表示されてもよい。以下に示すのは、(例えば、ブラウザウィンドウ内、またはユーザにより表示されるその他のアプリケーションウィンドウ内の)プレーストコンテンツを順序付けして、それにより、(A)プレーストコンテンツを表示することにユーザが関心を持つ機会を最大にするか、または少なくとも向上する、あるいは(B)プレーストコンテンツの提供者への収入の流れを最大にするか、または少なくとも向上する、あるいは(C)プレーストコンテンツの配信および順序付けに関連する計量を最適化するか、または少なくとも向上するための、システムおよび方法の説明である。最初に、検索エンジンのユーザへの、プレーストコンテンツの配信に関連して、システムおよび方法が説明され、その後で、他のインターネットサービスへの、システムおよび方法の適用が説明される。
【0078】
検索クエリに応答して検索結果がユーザに返される場合、しばしば、特定のプレーストコンテンツも返される。プレーストコンテンツは、通常は広告の形態であるが、検索クエリに関連した、またはユーザに送信されている文書に関連した、任意のタイプのコンテンツであってもよい。以下の説明では、広告コンテンツを例示のために使用するが、コンテンツ提供者が配置のために競合または支払いを行う、任意のタイプのコンテンツが、本発明の一部の実施形態によって企図される。ユーザの検索クエリが文書リポジトリに対して実行されているのと同時に、検索クエリは広告のリポジトリに対して実行されてもよい。広告のリポジトリに対する検索から返された広告(例えば、その広告のキーワードが、検索クエリの少なくとも1つのタームに一致する広告)は、通常、各広告の得点によって順序付けられる。得点は、クリックスルーレート(CTR)と入札(bid)(例えば、入札価格)との積に基づく。最高の得点を有する広告が、ユーザに提示される。一部の実施形態では、コンテンツ提供者は、同じ入札に関連付けられた複数の類似した広告を提供してもよい。この場合、さまざまな広告がランダムに、またはその他の任意の順序で、ユーザに提示されてもよい。例えば、コンテンツ提供者が3つの広告のグループを提供し、それらの3つの広告に対して、ターム「hat」(帽子)についての単一の入札が適用される場合、広告のグループが検索結果の組の中に含まれるための十分高い得点を有するときはいつでも、グループ内の3つの広告のうちの1つが(例えば、ランダムに、または順繰りに)選択され、ユーザに提示される。
【0079】
広告主は、例えばオークションを介して、さまざまなキーワードまたは概念に入札してもよい。オークションの中で広告主は、特定の検索タームまたはフレーズに入札する。例えば、セールボートの帆の製造業者は、「spinnaker」(スピネーカ)というキーワードに入札してもよく、それにより、検索クエリ内にそのタームが現れた場合に、広告主の広告が、ユーザに提示される可能性のある広告のリスト内に現れるようになる。広告の得点が十分に高い場合に、広告はユーザに提示される。上述のように、得点は、CTRと入札との積に基づく。広告主は、次に、広告についての支払を、その入札に基づいて、そして、特定の会計期間にわたっての、その広告についてのクリックスルーの数に基づいて(例えば、入札とクリックスルーの数との積に基づいて)行う。一部の実施形態では、オークションは「競り下げ競売」の特徴を有してもよく、その場合、特定の広告について広告主によって支払われる金額は、修正または低減された入札と、特定の会計期間にわたってのクリックスルーの数との積であってもよい。
【0080】
広告のCTRを向上させることが、広告の得点を上げるための1つの方法である。CTRの向上は、例えば、他の広告よりもユーザにアピールする広告を提示することによって達成されてもよい。あるいは、広告主は、広告の得点を上げるために、広告に関連付けられたキーワードまたはフレーズに対する自分の入札を増加させることを選択してもよい。また、もちろん、広告主は、広告のCTRの向上と、広告に関連付けられたキーワードに対する入札の増加との、両方を行ってもよい。一部の実施形態では、広告のCTRは、広告上でのクリックの数を、インプレッション数(すなわち、広告がユーザに提示された回数)で割った値に等しい。新しい広告は、通常、有用なCTRを有さず、その理由は、広告のインプレッション数が低すぎて、CTRの値は、その広告のユーザにとっての魅力の信頼できる指標とはならないためである。そのような場合(例えば、広告が1000未満のインプレッションを有する場合)は、初期CTRがシステムによって提供される。広告の初期CTRは、平均CTR値などの、デフォルト値であってもよい。あるいは、初期CTRは、同じ広告主による他の広告のCTRに基づいて選択されてもよく、または、当該広告との定義済みの関係を有する、他の何らかの広告の組のCTRに基づいてもよい。
【0081】
ユーザにとって関心のある広告がユーザに提示される可能性を増加することが望ましい。したがって、ユーザのプロファイルに何らかの方法で関連している広告が、提示のためのより良い候補である。これを行うための一方法は、ユーザのプロファイルへの、広告の類似性に基づいて、広告の得点を修正することである。上位概念の「プレーストコンテンツ」に戻ると、図11は、プレーストコンテンツを検索結果とともに提供するための一実施形態を示す。
【0082】
最初に、例えば検索エンジンにおいて、検索クエリが受信される(1102)。検索クエリは、例えば、検索クエリを発行しているクライアントコンピュータまたはクライアントプロセスの識別子を含めることによって、検索クエリを発行しているユーザを識別してもよい。あるいは、ユーザの同一性は、サービスへの事前のログイン、またはクッキー(cookie)、またはその他の適切な方法によって認識されてもよい。ユーザのプロファイルが、ユーザプロファイルのデータベースまたはリポジトリから取得される(1104)。一実施形態では、ユーザのプロファイルは、カテゴリプロファイルである。以下の説明ではカテゴリプロファイルを使用するが、以下に説明する概念は、他のタイプのプロファイルに適用されてもよいということを、当業者は容易に認識するであろう。検索エンジンが検索結果を取得するために検索クエリを処理する間に(1106)、プレーストコンテンツサーバは、検索クエリに一致するかまたは関連する、1つまたは複数のプレーストコンテンツ項目(本明細書では、潜在的プレーストコンテンツと呼ばれる)を識別する(1108)。他の実施形態では、プレーストコンテンツサーバは、ユーザに提供されている文書(検索の結果による文書であれ、特に要求された文書であれ)に基づいて、プレーストコンテンツを提供してもよい。その実施形態では、プレーストコンテンツサーバは、プレーストコンテンツのうちのいずれが、ユーザに提示されている文書に関連しているかを判定する。他の実施形態では、プレーストコンテンツサーバは、検索結果として提示されている1つまたは複数の文書のコンテンツに基づいて、プレーストコンテンツを提供してもよい。
【0083】
それぞれの潜在的プレーストコンテンツは、それに関連付けられたプロファイルを有する。一実施形態では、プロファイルは、カテゴリと重みとのペアを含む、カテゴリプロファイルの形態である。プロファイルは、例えば、プレーストコンテンツからキータームを抽出し、それらをさまざまなカテゴリに関連付けて、それぞれの重みを割り当てることによって作成されてもよい。
【0084】
それぞれの潜在的プレーストコンテンツについて、潜在的プレーストコンテンツのプロファイルが、ユーザのプロファイルと比較される(1110)。ユーザのプロファイルがプレーストコンテンツのプロファイルと比較されて、類似性得点が取得される。類似性得点は、次に、プレーストコンテンツのランク付けを修正するために使用される。プロファイルのそれぞれをベクトルと見なす場合、当業者は、プロファイルを比較するためのさまざまな数学的方法を認識するであろう。例えば、類似性得点は、ユーザのプロファイル内の各カテゴリを取り出して、それと、プレーストコンテンツのプロファイルの各カテゴリとの間の数学的距離を判定し、次に、それぞれの重みを掛けることによって決定されてもよい。この計算を表す一方法は、次の式によるものである。
【数1】
式中、nはユーザのプロファイル内のカテゴリの数、mはプレーストコンテンツのプロファイル内のカテゴリの数を表し、距離(カテゴリ(i),カテゴリ(j))は、カテゴリ(i)とカテゴリ(j)との間の数学的距離を表し、重み(i)および重み(j)は、それぞれ、カテゴリ(i)およびカテゴリ(j)に関連付けられた重みを表す。
【0085】
別の、より一般的な、類似性得点の計算を表す方法は、次のとおりである。
類似性得点=関数(ユーザプロファイル,コンテンツプロファイル)
式中、「関数」は、ユーザプロファイルと、特定のプレーストコンテンツ項目のコンテンツプロファイルとの、任意の適切な関数である。ユーザプロファイルおよびコンテンツプロファイルが、カテゴリプロファイルである場合、類似性得点の計算は、次のように表されてもよい。
【数2】
式中、「関数」は、ユーザプロファイルのカテゴリおよび重みのベクトルと、コンテンツプロファイルのカテゴリおよび重みのベクトルとの、任意の適切な関数である。上記の二重和計算とは異なる、幾分より特殊な、類似性得点の計算の例は、次のとおりである。
【数3】
式中、「Maxj」は、すべての有効なjの値についての、関数の最大値を表し、「関数」は、ユーザプロファイルおよびコンテンツプロファイルの、カテゴリおよび重みの、任意の適切な関数である。
【0086】
一部の実施形態では、類似性得点は、スケーリングファクタを作成するために、特定の範囲に正規化される。例えば、類似性得点は、0〜1(0と1を含む)または0〜2(0と2を含む)内に収まるように正規化されてもよい。より高い類似性得点は、プロファイルが、より低い類似性得点が比較の結果としてもたらされるプロファイルよりも、より密接に関連していることを示す。一部の実施形態では、正規化された類似性得点がスケーリングファクタとして使用される。他の実施形態では、スケーリングファクタは、スケーリングファクタマッピング関数またはスケーリングファクタルックアップテーブルに従って、類似性得点または正規化された類似性得点を、対応するスケーリングファクタにマッピングすることによって決定される。
【0087】
一実施形態では、N個の事前定義されたスケーリングファクタの組(サブファクタと呼ばれることもある)がスケーリングファクタルックアップテーブル内に記憶され、各スケーリングファクタは、類似性得点値の各範囲に対応している。本例示的実施形態では、Nは、1よりも大きな整数であり、好ましくは、3よりも大きな整数である。特定のプレーストコンテンツの類似性得点は、「ビン」にマッピングされる。例えば、事前定義された数を類似性得点に掛けるか、または事前定義された数で類似性得点を割り、次に、結果を最も近い整数に切り上げるかまたは切り下げることによってビン数を生成し、次に、結果として得られるビン数をスケーリングファクタルックアップテーブル内へのインデックスとして使用することにより、ビン数をスケーリングファクタにマッピングする。スケーリングファクタの範囲は、実装ごとに異なっていてもよい。
【0088】
スケーリングファクタマッピング関数またはスケーリングファクタルックアップテーブルのいずれかを使用することにより、スケーリングファクタへの類似性得点の関連付けを、非常に柔軟に行うことが可能になる。例えば、非常に低い類似性得点を有するプレーストコンテンツおよび非常に高い類似性得点を有するプレーストコンテンツのCTRを下方調整する、スケーリングファクタマッピング関数またはスケーリングファクタルックアップテーブルを作成することが可能である。一部の実施形態では、最大の類似性得点に関連付けられるスケーリングファクタは、中位(mid−point)の類似性得点に関連付けられるスケーリングファクタよりも小さく、ここで、中位は、類似性得点の平均値または中央値のいずれかであってもよい。あるいは、中位は、最小の類似性得点と最大の類似性得点との間の、任意の識別される点であってもよい。一部の実施形態では、最大の類似性得点に関連付けられるスケーリングファクタは、中位の類似性得点に関連付けられるスケーリングファクタよりも大きく、しかし、スケーリングファクタマッピング関数またはスケーリングファクタルックアップテーブルに関連付けられる最大のスケーリングファクタよりも小さい。スケーリングファクタマッピング関数を、類似性得点の最小得点から最大得点に至るまでの値について眺めると、スケーリングファクタは、典型的には、最初、最小得点に関連付けられた低い値から、最大のスケーリングファクタ値に達するまで増加し、その後、類似性得点が最大値に達するまで減少する。
【0089】
一部の実施形態では、類似性得点に対応するスケーリングファクタは、類似性得点をクリックスルーレートに関連付ける統計情報に従って決定される。特に、ユーザによるクリックスルーレートは、ユーザとプレーストコンテンツ項目とについての類似性得点と、統計的に相互に関連付けられることが可能である。例えば、インプレッション、クリックスルー、および各インプレッションとクリックスルーに関連付けられた類似性得点についてのデータを収集することによって、類似性得点のN個の範囲の組のうちの各範囲に対する、別個のクリックスルーレートが決定されてもよい。それらのクリックスルーレートに基づいて、スケーリングファクタルックアップテーブル内に記憶するための、N個のスケーリングファクタの組が生成されてもよい。あるいは、収集された統計情報は、例えば曲線適合法(curve fitting techniques)を使用することによって、スケーリングファクタマッピング関数を生成するために使用されてもよい。
【0090】
一部の実施形態では、それぞれの識別されたプレーストコンテンツについての各スケーリングファクタに、プレーストコンテンツのCTRが掛けられて、ユーザがプレーストコンテンツに関心を持つ可能性の増加を反映するように修正されたCTRが提供される(図11の1112)。より具体的には、(例えば、検索クエリのタームに一致する少なくとも1つのキーワードを有することによって)検索クエリに一致する各プレーストコンテンツの得点は、次のように計算される。
得点=スケーリングファクタ×CTR×入札
プレーストコンテンツ項目は、次に、それらの各得点に基づいてランク付けまたは順序付けされ(1114)、最高の得点を有するプレーストコンテンツ項目が、例えばユーザのコンピュータ上のブラウザアプリケーションに送信されることによって、ユーザに提供される(1116)。一部の実施形態では、最高得点を有するH個のプレーストコンテンツ項目(Hは1よりも大きな整数)が、データベースに対する検索クエリの実行から取得された検査結果(一次検索結果と呼ばれることもある)とマージされてもよい(1118)。例えば、プレーストコンテンツが広告を含む場合、最高得点を有する広告のうちの1つまたは複数が、一次検索結果の上、下、および/または横に表示されてもよい。
【0091】
一部の実施形態では、プレーストコンテンツ項目の得点は、ユーザプロファイルを使用して生成された類似性得点と、入札とに基づくが、クリックスルーレートには基づかない。例えば、一部の実施形態では、プレーストコンテンツ項目のクリックスルーレートは入手できない場合がある。結果として、そのような実施形態では、動作1112は、発生しないか、あるいは異なる得点調整または得点計算動作によって置き換えられる。
【0092】
他の一部の実施形態では、プレーストコンテンツ項目の得点は、ユーザプロファイルを使用して生成された類似性得点と、クリックスルーレートとに基づくが、入札には基づかない。さらに他の実施形態では、プレーストコンテンツ項目の得点は、ユーザプロファイルを使用して生成された類似性得点に基づくが、それらの得点は、入札にもクリックスルーレートにも基づかない。プレーストコンテンツの得点が、ユーザプロファイルを考慮に入れ、入札を考慮に入れない場合、プレーストコンテンツの順序付けは、プレーストコンテンツ項目の他の順序付けの潜在的な経済的利益に関係なく、ユーザにとって関心のある可能性があるプレーストコンテンツに関して最適化または改善される。
【0093】
上記のシステムおよび方法は、検索エンジンシステム以外のシステムにおいても使用されてもよい。例えば、電子メールシステムにおいて、または、文書またはその他のコンテンツをユーザまたは購読者に表示する、インターネットまたはその他のワイドエリアネットワークを経由してサービスを提供するための、その他の事実上いかなるシステムにおいても、同様に、プレーストコンテンツが選択され、ユーザに表示されてもよい。プレーストコンテンツは、表示されている文書または文書の組のコンテンツに適合する、プレーストコンテンツに関連付けられたキーワードに基づいて選択されてもよく、あるいは、その他の選択基準に基づいていてもよい。選択されたプレーストコンテンツ項目は、次に、ユーザプロファイルと、選択されたプレーストコンテンツ項目のプロファイルとの類似性に基づいて、上記のように順序付けされる。
【0094】
以上の説明は、説明の目的のために、特定の実施形態を参照して行った。しかし、上述の例示的な説明は、開示された厳密な形態で本発明が網羅されたり限定されたりすることを意図するものではない。上記の教示を考慮すれば多くの変更および変形が可能である。実施形態は、本発明の原理とその実際的な適用例とを最もよく説明するために、そしてそれにより、当業者が、本発明およびさまざまな実施形態を、企図された特定の使用に適したさまざまな変更とともに、最もよく利用できるようにするために、選択され説明されたものである。
【図面の簡単な説明】
【0095】
【図1】クライアント−サーバネットワーク環境を示す。
【図2】ユーザ情報の複数の情報源、およびユーザプロファイルへのそれらの関係を示す。
【図3】複数のユーザについてのタームベースのプロファイルを記憶するために使用されてもよい、例示的データ構造である。
【図4A】ユーザの過去の検索経験を分類するために使用されてもよい、例示的カテゴリマップである。
【図4B】複数のユーザについてのカテゴリベースのプロファイルを記憶するために使用されてもよい、例示的データ構造である。
【図5】複数のユーザについてのリンクベースのプロファイルを記憶するために使用されてもよい、例示的データ構造である。
【図6】パラグラフサンプリングを示すフローチャートである。
【図7A】コンテキスト解析を示すフローチャートである。
【図7B】コンテキスト解析を使用して重要なタームを識別するプロセスを示す。
【図8】タームベース、カテゴリベース、および/またはリンクベースの解析の後で、文書に関する情報を記憶するために使用されてもよい、複数の例示的データ構造をそれぞれ示す。
【図9A】一実施形態による、パーソナライズされたWeb検索プロセスを示すフローチャートである。
【図9B】別の実施形態による、パーソナライズされたWeb検索プロセスを示すフローチャートである。
【図10】パーソナライズされた検索エンジンのブロック図である。
【図11】本発明の一実施形態による、パーソナライズされたプレーストコンテンツプロセスを示すフローチャートである。
【技術分野】
【0001】
関連出願
本願は、2003年9月30日に出願された米国特許出願第10/676,711号(その全体が参照により本明細書に援用されるものとする)の一部継続出願である。
【0002】
発明の分野
本発明は、一般に、コンピュータネットワークシステム内の検索エンジンの分野に関し、特に、ユーザにより発行された検索クエリに対応したプレーストコンテンツ(placed content)の順序付けをカスタマイズするために、ユーザプロファイルを作成して使用するシステムおよび方法に関する。
【背景技術】
【0003】
発明の背景
検索エンジンは、ユーザにより発行された検索クエリに応答して迅速に走査することが可能な、インターネットからのインデックス付き文書の強力な源を提供する。そのようなクエリは、通常は非常に短い(平均約2〜3ワード)。インターネットを介してアクセス可能な文書の数が増えるにつれて、クエリに適合する文書の数も増加する可能性がある。しかし、クエリに適合するあらゆる文書が、ユーザから見て等しく重要なわけではない。そのため、検索エンジンが検索結果を、ユーザのクエリへのそれらの関連性に基づいて順序付けしないならば、ユーザは、検索エンジンによって返される膨大な数の文書に容易に圧倒される。
【0004】
検索クエリへの検索結果の関連性を向上させるための一方法は、さまざまなWebページのリンク構造を使用して、検索結果のランク付けに影響を及ぼすために使用されてもよい全般的な「重要度」得点を計算することである。これは、ページランク(PageRank)アルゴリズムと呼ばれることがある。ページランク(PageRank)アルゴリズムのより詳細な説明は、S.BrinおよびL.Page著「The Anatomy of a Large−Scale Hypertextual Search Engine」(第7回国際ワールドワイドウェブ会議、ブリスベン、オーストラリア(7th International World Wide Web Conference, Brisbane, Australia))および米国特許第6,285,999号明細書(これらの両方は参照により背景情報として本明細書に援用されるものとする)に見出すことができる。
【0005】
ページランク(PageRank)アルゴリズムにおける重要な仮定は、ランダムに選択したWebページからWebサーフィンの行程を開始し、「戻る(back)」ボタンは決して押さずに、Webページ内に埋め込まれたリンクをクリックし続ける、「ランダムサーファー」が存在するということである。最終的にこのランダムサーファーが行程に飽きた場合、このランダムサーファーは、別のWebページをランダムに選択することにより新しい行程を再開してもよい。ランダムサーファーがあるWebページにアクセスする(すなわち、表示またはダウンロードする)確率は、Webページのページランクに依存する。
【発明の開示】
【発明が解決しようとする課題】
【0006】
エンドユーザの観点からは、ページランク(PageRank)アルゴリズムを使用する検索エンジンは、誰がクエリを発行するかに関係なく、同じ方法で検索クエリを処理する。その理由は、検索エンジンは、ユーザを一意に識別することが可能な、いかなる情報の提供もユーザに依頼しないためである。検索結果に影響を及ぼす要因は、検索クエリそのもの(例えば、クエリ内にあるタームの数、およびその順序)だけである。この検索結果は、抽象的ユーザである「ランダムサーファー」の関心に最も適合するものであり、特定のユーザの嗜好または関心に適合するようには調整されていない。
【0007】
現実には、ランダムサーファーのようなユーザは決して存在しない。どのユーザも、検索エンジンにクエリを発行する場合、独自の嗜好を有している。エンジンによって返される検索結果の質は、そのエンジンのユーザの満足度によって評価されなければならない。クエリ自体によってユーザの嗜好を十分明確にすることができる場合、または、特定のクエリに関してユーザの嗜好がランダムサーファーの嗜好に類似している場合、ユーザが検索結果に満足する可能性は比較的高い。しかし、ユーザの嗜好が、検索クエリ自体の中に明確に反映されない何らかの個人的要因によって大幅に偏っている場合、または、ユーザの嗜好が、ランダムユーザの嗜好とはかなり異なる場合、同じ検索エンジンからの検索結果は、無用ではないにしても、ユーザにとってあまり役に立たない可能性がある。
【0008】
上に示したように、ランダムサーファーの行程は、特定の方向に向けての明確な好みのない、ランダムかつ中立なものとなる傾向がある。検索エンジンが、クエリに適合する少数の検索結果のみを返す場合、要求中のユーザは、それらの結果のそれぞれに目を通して自分自身に最も関連のある項目を発見する時間の余裕がある可能性があるため、返される結果の順序はあまり重要ではない。しかし、インターネットには莫大な数のWebページが接続されているため、検索エンジンは、検索クエリに適合する何百もの、またはさらには何千もの文書を返すことがよくある。この場合、検索結果の順序付けは非常に重要である。ランダムサーファーの嗜好とは異なる嗜好を有するユーザは、検索結果内に示される最初の5〜10の文書の中に、探しているものを見つけることができない可能性がある。それが発生した場合、ユーザには通常、次の2つの選択肢が残されている。(1)関連する文書を見つけるために、示された文書のうちの、より多くを調べるために必要な時間を費やす。または、(2)クエリに適合する文書の数を減らすために、検索クエリを絞り込む。クエリの絞込みは、多くの場合、ささいでない作業であり、場合によっては、ユーザが有しているよりも多くの、対象についての知識や、検索エンジンについての専門知識が必要とされ、場合によっては、ユーザが費やすことをいとわないよりも多くの時間と努力が必要とされる。
【0009】
例えば、ユーザが検索エンジンに「blackberry」という1つのタームのみを有する検索クエリを発行すると仮定する。その他に前後関係が何もなければ、ページランク(PageRank)に基づく検索エンジンによって返される文書のリストの上位には、www.blackberry.netへのリンクがある可能性があり、その理由は、このWebページが最高のページランクを有するためである。しかし、クエリの要求者が食べ物と料理に関心を持つ人である場合、調理法や、食べ物に関連するその他のテキスト、写真などを有するWebページを、返される結果の上位に含むように検索結果を順序付けすることが、より有用である。検索クエリを発行している人にとって関心がある可能性が最も高いWebページを強調するために、検索結果を順序付けし直すか、またはその他の方法で検索結果をカスタマイズすることが可能な検索エンジンを有することが望ましい。さらに、そのようなシステムは、個々のユーザからの最小限の入力を要求し、ユーザの嗜好および関心に関するユーザからの明示的な入力なしに、十分に、または完全に動作することが望ましい。最後に、そのようなシステムは、セキュリティとプライバシーに関するユーザの要求を満足することが望ましい。
【課題を解決するための手段】
【0010】
概要
プレーストコンテンツをパーソナライズする方法では、ユーザの関心が判定され、ユーザに関連付けられたユーザプロファイルがアクセスされる。ユーザの関心に対応するプレーストコンテンツの組が識別され、プレーストコンテンツの組は、ユーザプロファイルに従って順序付けされる。
【0011】
本発明の一態様では、検索エンジンはユーザプロファイルを利用して、プレーストコンテンツと、その他のまたは一般的なコンテンツとを含んでもよい検索結果をカスタマイズする。ユーザプロファイルは、ユーザの関心または嗜好を特徴付ける複数の項目を含む。これらの項目は、ユーザにより発行された以前の検索クエリ、以前のクエリによって識別された文書からの、または以前のクエリによって識別された文書へのリンク、識別された文書からサンプリングされたコンテンツ、およびユーザによって暗黙的または明示的に提供された個人情報を含む、さまざまな情報源から抽出される。
【0012】
検索エンジンは、ユーザから検索クエリを受信した場合、検索クエリに適合するプレーストコンテンツの組を識別する。各プレーストコンテンツは、ユーザプロファイルへのプレーストコンテンツの類似性に少なくとも部分的に基づいた、ランクに関連付けられる。プレーストコンテンツ項目は、次に、それらのランクに従って順序付けされる。
【0013】
ユーザプロファイルの構築と、検索結果の再順序付けおよび/または得点付けとを含む本発明は、クライアント−サーバネットワーク環境のクライアント側またはサーバ側のいずれに実装されてもよい。
【0014】
本発明の前述の特徴と利点、および本発明の追加の特徴と利点は、以下の、本発明の好ましい実施形態の詳細な説明を、図面と組み合わせた場合の結果として、より明確に理解される。
【0015】
複数の図面にわたる同様の参照番号は、対応する部分を意味している。
【発明を実施するための最良の形態】
【0016】
実施形態の説明
以下に説明する実施形態は、ユーザによる過去の検索エンジン使用経験に基づいてユーザプロファイルを作成し、次に、ユーザにより提供された検索クエリに応じた検索結果を、ユーザプロファイルを使用してランク付けするシステムおよび方法を含む。
【0017】
図1は、本発明が実装されてもよい、代表的なクライアント−サーバネットワーク環境の概要を示す。複数のクライアント102が、検索エンジンシステム107に、例えばインターネットなどの、ネットワーク105を介して接続されている。検索エンジンシステム107は、1つまたは複数の検索エンジン104を含む。検索エンジン104は、クライアント102によって発行された検索クエリを処理し、検索クエリに応じた検索結果を生成し、結果をクライアントに返す役割を果たす。検索エンジンシステム107は、さらに、1つまたは複数のコンテンツサーバ106、1つまたは複数のユーザプロファイルサーバ108、および1つまたは複数のプレーストコンテンツサーバ(placed content servers)111も含む。コンテンツサーバ106は、さまざまなWebサイトから取得したインデックス付き文書を多数記憶する。あるいは、またはそれに加えて、コンテンツサーバ106は、さまざまなWebサイト上に記憶された文書のインデックスも記憶する。一実施形態では、各インデックス付き文書には、文書のリンク構造に応じたページランクが割り当てられる。ページランクは、文書の重要性の、クエリに依存しない基準として働く。検索エンジン104は、1つまたは複数のコンテンツサーバ106と通信を行って、特定の検索クエリに対応した複数の文書を選択する。検索エンジンは、文書のページランク、文書に関連付けられたテキスト、および検索クエリに基づいて、各文書に得点を割り当てる。検索エンジン104は、1つまたは複数のプレーストコンテンツサーバ111と通信を行って、広告、またはその他のタイプのプレーストコンテンツを、検索結果と組み合わせて提供してもよい。プレーストコンテンツサーバ111は、1つまたは複数のユーザプロファイルサーバ108と通信を行ってもよい。プレーストコンテンツについては、以下でさらに詳細に説明する。
【0018】
ユーザプロファイルサーバ108は、複数のユーザプロファイルを記憶する。各プロファイルは、ユーザを一意に識別する情報と、そのユーザの以前の検索経験および個人情報とを含み、これらの情報は、そのユーザによって発行された検索クエリに応じた検索結果を絞り込むために使用されてもよい。ユーザプロファイルの構築のためには、さまざまな手法が利用可能である。例えば、ユーザプロファイルは、新規ユーザに、フォームへの記入または調査への回答を要求することによって作成されてもよい。この手法は、銀行口座を開くなどの、特定の適用例において有用な場合がある。しかし、この手法は、検索エンジンに関しては有利なものとは言えない。第1に、ユーザの、検索エンジンとの相互作用は、通常、動的なプロセスである。時が経つにつれて、ユーザの関心は変化する可能性がある。この変化は、ユーザにより発行される検索クエリによって、またはユーザの検索結果の取り扱いによって、またはその両方によって表される場合がある。フォーム上での、質問に対するユーザの答えは、ユーザが自分の回答を定期的に更新することを選ばない限り、時が経つにつれてより有用でなくなる傾向がある。オンライン銀行口座の場合に電話番号をたまに更新するのとは異なり、検索エンジンの場合にユーザプロファイルを頻繁に更新することは、ユーザにとっての検索エンジンの使いやすさに大きな影響を及ぼし、こ点は、現在利用可能な検索エンジンの中からユーザが選択する場合の重要な考慮事項である。さらに、フォームに記入するなどの明示的なフィードバックを提供することは、多くのユーザにとって厄介すぎるため、ユーザはいやがるということが知られている。したがって、一部のユーザは自分の関心について明示的なフィードバックを提供する可能性があるとはいえ、ユーザによる明示的なまたは新たな操作を何も要求せずに、ユーザの関心についての情報を暗黙的に取得するための手順を有することが望ましい。
【0019】
検索エンジンユーザの過去の検索活動は、ユーザの個人的な検索嗜好に関する有用な手がかりを提供することが観察されている。図2は、ユーザプロファイルの構築のために有益なユーザ情報の源の一覧を示す。例えば、以前に発行された検索クエリ201は、ユーザの関心のプロファイリングにおいて非常に役に立つ。ユーザが糖尿病に関連する複数の検索クエリを発行した場合、おそらく、これはユーザにとって関心のあるトピックである。ユーザが続いて「organic food」(自然食)というターム(term)を含むクエリを発行した場合、そのユーザは、糖尿病と闘うのに役立つそれらの自然食に、より関心がある可能性があるということが、妥当に推論されてもよい。同様に、以前の検索クエリに応じた検索結果に関連付けられたユニバーサルリソースロケータ(URL)203およびそれらに対応するアンカーテキスト205(特に、ユーザによって選択された、または「アクセスされた」(例えば、ユーザによってダウンロードされた、またはその他の方法で表示された)検索結果項目についてのもの)は、ユーザの嗜好を判定するために役立つ。第1のページが第2のページへのリンクを含み、そのリンクが、それに関連付けられたテキスト(例えば、リンクに隣接するテキスト)を有する場合、リンクに関連付けられたテキストは、第2のページに対する「アンカーテキスト」と呼ばれる。アンカーテキストは、文書内のURLリンクに関連するテキストと、そのURLリンクが指し示す別の文書との間の関係を確立する。アンカーテキストの利点としては、アンカーテキストは、URLリンクが指し示す文書の正確な説明をしばしば提供するということ、および、画像またはデータベースなどの、テキストベースの検索エンジンによって指し示されることができない文書を指し示すために使用されることが可能であるということなどがある。
【0020】
検索結果を受信した後、ユーザは、URLリンクのいくつかをクリックし、それによって、それらのリンクにより参照される文書を、それらの文書に関してさらに詳しく知るためにダウンロードしてもよい。特定のタイプの一般情報207が、ユーザが選択した、またはユーザが識別した文書の組に関連付けられてもよい。ユーザプロファイルを形成する目的のため、識別される文書(その文書から、ユーザプロファイルに含める情報が導き出される)には、検索エンジンからの検索結果により識別された文書、ユーザによりアクセスされた(例えばブラウザアプリケーションを使用して、例えば表示またはダウンロードされた)文書(以前の検索結果で識別されなかった文書を含む)、検索エンジンからの検索結果により識別された文書にリンクされた文書、ユーザによりアクセスされた文書にリンクされた文書、またはそのような文書の任意のサブセットが含まれてもよい。
【0021】
識別された文書に関する一般情報207は、文書のフォーマットは何か(ハイパーテキストマークアップ言語(HTML)によるものか、プレーンテキストによるものか、ポータブルドキュメントフォーマット(PDF)によるものか、またはマイクロソフトワード(Microsoft Word)によるものか)、文書のトピックは何か(科学に関するものか、健康に関するものか、またはビジネスに関するものか)などの質問に答えるものであってもよい。この情報は、ユーザの関心のプロファイリングにおいても役立つ。それに加えて、ユーザが選択した文書(本明細書では、識別された文書と呼ぶ場合がある)に関するユーザの活動についての情報209、例えば、ユーザがその文書を表示して過ごした時間、その文書上でのスクロール動作の量、ユーザがその文書を印刷または保存したかどうか、あるいはお気に入りに加えたかどうかなども、ユーザにとってのその文書の重要度、およびユーザの嗜好を示す。一部の実施形態では、ユーザの活動に関する情報209は、ユーザにより識別された文書から抽出された、または導き出された情報の重要度を重み付けする際に、どちらにも使用される。一部の実施形態では、ユーザの活動に関する情報209は、ユーザプロファイルを導き出すための基礎として、ユーザにより識別された文書のうちのいずれを使用するかを決定するために使用される。例えば、情報209は、かなりのユーザの活動を受けた文書のみを、ユーザプロファイルを生成するために、(事前定義された基準に従って)選択するために使用されてもよく、あるいは、情報209は、ユーザが表示した時間が、事前定義されたしきい値よりも短い文書を、プロファイリングのプロセスから除外するために使用されてもよい。
【0022】
以前の検索活動からの、識別された文書のコンテンツは、ユーザの関心と嗜好についての豊かな情報源である。識別された文書内に現れる重要なタームと、識別された文書内でそれらが現れる頻度とは、文書にインデックスを付けるために有用なだけでなく、それらが上述の他のタイプのユーザ情報と組み合わされた場合は特に、ユーザの個人的な関心を顕著に示すものでもある。一実施形態では、記憶容量と計算コストを節約するために、文書全体ではなく、識別された文書からサンプリングされたコンテンツ211が、ユーザプロファイルの構築の目的のために抽出される。別の実施形態では、識別された文書に関連するさまざまな情報が、識別された文書に関するカテゴリ情報213を構築するために分類されてもよい。前記さまざまな情報は、以前にページにアクセスしたことがある個人のタイプ、または、文書を説明する可能性があるその他のメタデータを含んでもよい。コンテンツのサンプリング、識別された文書内の重要なタームを識別する処理、およびカテゴリ情報の使用に関するさらなる説明は後に示す。
【0023】
ユーザプロファイルの別の情報源となる可能性があるのは、ユーザのブラウジングパターン217である。ユーザのブラウジングパターンは、先行するN日間(例えば60日間)などの、ある期間にわたってユーザによりアクセスされた、URLによって表されてもよい。
【0024】
一部の実施形態では、ユーザプロファイル情報は、より新しい情報にはより大きな重みが与えられ、より古い情報にはより小さな重みが与えられることで、その古さに従って重みを付けられる。これは、ユーザの関心の変化にユーザプロファイルがよりよく追従するようにするために役立ち、ユーザにとっての一時的な関心の影響や、関心が小さくなりつつある題目の影響を減らすために役立つ。時間で重み付けされるユーザプロファイルをサポートするために、さまざまなデータ構造が使用されてよく、通常は、時間区分のシーケンスに関連付けられたユーザ情報を保持するための、複数のビン(bins)または層(tiers)を含む。
【0025】
任意選択で、ユーザは、ユーザの年齢または年齢層、教育のレベルまたはレンジ、収入のレベルまたはレンジ、言語の選択、配偶者の有無、地理的位置(例えば、ユーザが住んでいる市、州、国、および場合によってはさらに、所在地住所、郵便番号、電話の市外局番などの追加情報も含む)、文化的背景または好み、あるいはこれらの任意のサブセットなどの、ユーザに関連付けられた人口学的情報または地理的情報を含む、個人情報215を提供することを選択してもよい。ユーザの好みのスポーツや映画などの、時間とともに変化することが多い他のタイプの個人情報に比較して、この個人情報は、より変化が少なく、ユーザの検索クエリおよび検索結果から推論することがより困難であるが、ユーザにより発行される特定のクエリを正しく解釈するためには非常に重要な場合がある。例えば、ユーザが、「Japanese restaurant」(日本食レストラン)を含むクエリを発行した場合、そのユーザは、地元の日本食レストランを夕食のために検索している可能性が非常に大きい。ユーザの地理的位置がわからない場合、ユーザの真の意図に最も関連した項目が最初に来るように、検索結果を順序付けすることは困難である。ただし、特定の場合には、この情報を推論することが可能である。例えば、ユーザは多くの場合、住んでいる場所に対応する特定の地域に関連付けられた結果を選択する。
【0026】
ユーザ情報のさまざまな源からユーザプロファイル230を作成することは、動的かつ複雑なプロセスである。一部の実施形態では、プロセスはサブプロセスに分割される。各サブプロセスは、特定の観点からユーザの関心または嗜好を特徴付ける、1つのタイプのユーザプロファイルを生成する。それらのユーザプロファイルは、次のとおりである。
・タームベースのプロファイル231−このプロファイルは、複数のタームを使用してユーザの検索嗜好を表す。各タームには、ユーザにとってのそのタームの重要度を示す重みが与えられる。
・カテゴリベースのプロファイル233−このプロファイルは、ユーザの検索嗜好を、階層的な方法で編成されてもよいカテゴリの組と相互に関連付ける。各カテゴリには、ユーザの検索嗜好とカテゴリとの間の相互関係の程度を示す重みが与えられる。
・リンクベースのプロファイル235−このプロファイルは、ユーザの検索嗜好に直接的または間接的に関連する複数のリンクを識別する。各リンクには、ユーザの検索嗜好とリンクとの間の関連性を示す重みが与えられる。
【0027】
一部の実施形態では、ユーザプロファイル230は、これらのプロファイル231、233、235のサブセットのみ(例えば、これらのプロファイルのうちの1つまたは2つのみ)を含む。一実施形態では、ユーザプロファイル230は、タームベースのプロファイル231と、カテゴリベースのプロファイル233とを含むが、リンクベースのプロファイル235は含まない。
【0028】
カテゴリベースのプロファイル233は、例えば、(例えば、それぞれの独立したクエリからの)検索タームの組、または(特定の識別された文書からの)識別されたコンテンツタームの組を、カテゴリにマッピングし、次に、結果として得られるカテゴリの組を集めて、カテゴリへの重み付けを、それらの発生頻度という観点、および、検索タームまたは識別されたコンテンツタームとカテゴリとの関連性という観点の両方から行うことによって、構築されてもよい。あるいは、ある期間にわたって蓄積されるすべての検索タームまたは識別されるコンテンツタームが、重み付けされたカテゴリ内にマッピングするためのグループとして取り扱われてもよい。さらに、ユーザにより提供された個人情報215が、重み付けされたカテゴリ内にマッピングされてもよく、そして、それらのカテゴリが、上述のいずれかの技術を使用して生成された、重み付けされたカテゴリと組み合わされるか、または集約されてもよい。ユーザに関連する情報をカテゴリ内にマッピングする、その他の適切な方法が使用されてもよい。
【0029】
一部の実施形態では、ユーザプロファイル230は、複数のユーザに関連付けられた情報に基づく、集約されたプロファイルである。プロファイル情報が集約されるユーザは、いくつかの方法で選択または識別されてもよい。例えば、クラブまたはその他の組織のメンバであるすべてのユーザ、または特定の会社の従業員は、それらのユーザまたは従業員のプロファイル情報が集約されるようにしてもよい。別の例では、類似した集約前ユーザプロファイルを有するユーザは、それらのプロファイル情報が集約されるようにしてもよい。別の方法として、組織またはWebサイトは、それに関連付けられた「ユーザプロファイル」を有してもよく、そのユーザプロファイルは、組織のメンバの活動に基づいて自動的に生成されてもよく、あるいは、組織によって、または組織のためにカスタマイズされてもよい。検索エンジンまたはその他のサービスは、検索クエリを実行する際に、あるいは、要求者または購読者にとって関心のあるコンテンツを選択するために役立つ他の任意の適切な情報サービスと組み合わせて、プレーストコンテンツまたはその他のコンテンツを提供する際に、組織のユーザプロファイルを利用してもよい。
【0030】
一実施形態では、ユーザプロファイルは、検索エンジンに関連付けられたサーバ(例えば、ユーザプロファイルサーバ108)上で作成および記憶される。そのような配置の利点は、ユーザプロファイルが複数のコンピュータによって容易にアクセスされることが可能であるということ、および、検索エンジン104に関連付けられた(または検索エンジン104の一部である)サーバ上にプロファイルが記憶されるため、検索結果をパーソナライズするために、検索エンジン104によってプロファイルが容易に使用されることが可能であるということである。別の実施形態では、ユーザプロファイルは、ネットワーク環境でクライアントと呼ばれることもある、ユーザのコンピュータ上で、作成および記憶されてもよい。ユーザのコンピュータ上で(例えばクッキー(cookie)内に)ユーザプロファイルを作成および記憶することは、検索エンジンのサーバの計算および記憶コストを削減するだけでなく、一部のユーザのプライバシーの要求も満足する。さらに別の実施形態では、ユーザプロファイルは、クライアント上で作成および更新され、サーバ上に記憶されてもよい。そのような実施形態は、他の2つの実施形態で説明された利点のいくつかを組み合わせる。この配置の欠点は、クライアントとサーバとの間のネットワークトラフィックを増加させる可能性があるということである。本発明のユーザプロファイルは、クライアントコンピュータ、サーバコンピュータ、または両方を使用して実装されてもよいことが、当業者によって理解される。
【0031】
図3は、複数のユーザについてのタームベースのプロファイルを記憶するために使用されてもよい、タームベースのプロファイルテーブル300の、例示的データ構造を示す。テーブル300は複数のレコード310を含み、各レコードは、ユーザのタームベースのプロファイルに対応する。タームベースのプロファイルレコード310には、USER_ID列320と、(TERM,WEIGHT)ペアの複数の列340とを含む、複数の列が含まれる。USER_ID列は、ユーザ、または同じ(TERM,WEIGHT)ペアの組を共有するユーザのグループを一意に識別する値を記憶し、各(TERM,WEIGHT)ペア340は、ユーザまたはユーザのグループにとって通常重要な、典型的には1〜3ワードの長さのタームと、タームの重要度を定量化する、タームに関連付けられた重みとを含む。一実施形態では、タームは、1つまたは複数のn−グラム(n−gram)として表されてもよい。n−グラムは、n個のトークン(token)のシーケンスとして定義され、ここで、トークンはワードであってもよい。例えば、「search engine」というフレーズは、長さ2のn−グラムであり、「search」というワードは、長さ1のn−グラムである。
【0032】
n−グラムは、テキストオブジェクトをベクトルとして表すために使用されてもよい。これにより、ベクトルについては明確に定義されているが、オブジェクト一般については明確に定義されていない、幾何学的、統計学的、およびその他の数学的技法を適用することが可能になる。本発明では、n−グラムは、2つのターム間の類似性の程度を、タームのベクトル表現への数学関数の適用に基づいて定義するために使用されてもよい。
【0033】
タームの重みは、必ずしも正の値であるとは限らない。タームが負の重みを有する場合、これは、検索結果にこのタームが含まれないことをユーザは好むということ、および、負の重みの大きさは検索結果内でこのタームを避けることへのユーザの嗜好の強さを示すということを示唆してもよい。例として、カリフォルニア州サンタクルーズにおけるサーフィン愛好者のグループにとって、タームベースのプロファイルは、「surfing club」(サーフィンクラブ)、「surfing event」(サーフィンのイベント)、および「Santa Cruz」(サンタクルーズ)などのタームを、正の重みとともに含む可能性がある。「Internet surfing」(インターネットサーフィン)または「web surfing」(Webサーフィン)などのタームも、プロファイル内に含まれてもよい。しかし、これらのタームは、このタームベースのプロファイルを共有するユーザの確実な嗜好と関係がなく、かつ紛らわしいため、負の重みを受け取る可能性が高い。
【0034】
タームベースのプロファイルは、ユーザの嗜好を、特定のターム(各タームは特定の重みを有する)を使用して項目別に示す。文書が、ユーザのタームベースのプロファイル内のタームに適合する場合、つまり、その文書のコンテンツがこのタームを正確に含む場合、タームの重みが文書に割り当てられる。しかし、文書がタームに正確には適合しない場合、文書は、このタームに関連付けられた重みを一切受け取らない。文書とユーザプロファイルとの間の関連性のそのような要求は、ユーザの嗜好と文書との間にあいまいな関連性が存在するさまざまなシナリオを取り扱う場合、柔軟性に欠ける可能性がある。例えば、ユーザのタームベースのプロファイルが「Mozilla」(モジラ)および「browser」(ブラウザ)などのタームを含む場合、そのようなタームを含まず、しかし「Galeon」(ガレオン)または「Opera」(オペラ)などのその他のタームを含む文書は、それらのタームがプロファイル内の既存のタームに一致しないため、それらのタームが実際にはインターネットブラウザであるにもかかわらず、重みを一切受け取らない。正確なタームの一致なしでの、ユーザの関心の一致への必要性に対処するために、ユーザのプロファイルは、カテゴリベースのプロファイルを含んでもよい。
【0035】
図4Aは、オープンディレクトリプロジェクト(Open Directory Project)(http://dmoz.org/)による階層的カテゴリマップ400を示す。マップ400のルートレベルから開始して、「アート」、「ニュース」、「スポーツ」などのいくつかの主要なトピックの下に文書が編成される。これらの主要なトピックは、多くの場合、ユーザの特定の関心を描写するには範囲が広すぎる。したがって、それらは、より詳細なサブトピックにさらに分割される。例えば、「アート」というトピックは、「映画」、「音楽」、「文学」などのサブトピックを含んでもよく、「音楽」というサブトピックは、「歌詞」、「ニュース」、「評論」などのサブ−サブトピックをさらに含んでもよい。各トピックには、「アート」に対して1.1、「トークショー」に対して1.4.2.3、「バスケットボール」に対して1.6.1のように、固有のCATEGORY_IDが関連付けられていることに注意されたい。
【0036】
図4Aは、オープンディレクトリプロジェクトを使用した例示的カテゴリを示すが、他のタイプのカテゴリも使用されてもよい。例えば、カテゴリは、文書のさまざまなコンテンツまたはその他の情報を解析し、概念を中心として編成された関連情報のカテゴリを生成することによって決定されてもよい。言い換えると、ワードまたはフレーズは、さまざまな概念に関連するクラスタにマッピングされてもよい。当業者は、さまざまな概念への文書の関連を決定することにおいて助けになる可能性がある、クラスタ内への情報の分類のための、さまざまな方法を認識するであろう。
【0037】
ユーザの特定の関心は、さまざまなレベルの複数のカテゴリに関連付けられてもよく、それらのカテゴリのそれぞれは、カテゴリとユーザの関心との間の関連性の程度を示す重みを有してもよい。カテゴリと重みは、ユーザに関連して前述した情報のいずれかまたはすべてを解析することによって決定されてもよい。一部の実施形態では、カテゴリは、次の情報の組のうちの任意の1つまたは複数を解析することによって決定されてもよい。ユーザによって発行された以前の検索クエリ201、以前の検索クエリによって識別されたURL203、識別された文書に関する一般情報207(例えば、識別された文書内に埋め込まれた、またはその他の方法で関連付けられた、メタデータ)、識別された文書に関するユーザの活動209(例えば、一般コンテンツおよび/またはプレーストコンテンツ上でのユーザクリック)、識別された文書からサンプリングされたコンテンツ211、識別された文書に関するカテゴリ情報213、ユーザの個人情報215、またはそれらの任意の組み合わせ。一部の実施形態では、カテゴリベースのプロファイルは、図4Bに示すようなハッシュテーブルデータ構造を使用して実装されてもよい。カテゴリベースのプロファイルテーブル450は、複数のレコード460を備えたテーブル455を含み、各レコードは、USER_IDと、テーブル460−1などの別のデータ構造を指すポインタとを含む。テーブル460−1は、CATEGORY_ID列470およびWEIGHT列480という2つの列を含んでもよい。CATEGORY_ID列470は、図4Aに示すようなカテゴリの識別番号を含み、これは、このカテゴリがユーザの関心に関連していることを示し、WEIGHT列480内の値は、このカテゴリの、ユーザの関心への関連性の程度を示す。
【0038】
カテゴリマップ400に基づくユーザプロファイルは、トピック指向の実装である。カテゴリベースのプロファイル内の項目は、他の方法で編成されてもよい。一実施形態では、ユーザの嗜好は、ユーザによって識別される文書のフォーマット(HTML、プレーンテキスト、PDF、マイクロソフトワード(Microsoft Word)など)に基づいて分類されてもよい。異なるフォーマットは、異なる重みを有してもよい。別の実施形態では、ユーザの嗜好は、識別される文書のタイプ(例えば、組織のホームページ、個人のホームページ、研究論文、またはニュースグループの投稿)に従って分類されてもよく、各タイプは関連する重みを有してもよい。ユーザの検索嗜好を特徴付けるために使用されてもよい、別のタイプのカテゴリは、文書の出所(例えば、各文書のホストに関連付けられた国)である。さらに別の実施形態では、上記のカテゴリベースのプロファイルが共存し、それぞれのプロファイルがユーザの嗜好の1つの側面を反映してもよい。
【0039】
タームベースおよびカテゴリベースのプロファイル以外の、別のタイプのユーザプロファイルは、リンクベースのプロファイルと呼ばれる。上述のように、ページランク(PageRank)アルゴリズムは、インターネット上のさまざまな文書を結びつけるリンク構造に基づく。より多くのリンクによって指されている文書は、多くの場合、より高いページランクを割り当てられ、したがって、検索エンジンからのより多くの注意を引く。ユーザによって識別された文書に関連するリンク情報も、ユーザの嗜好を推論するために使用されてもよい。一実施形態では、ユーザにとっての好ましいURLのリストが、そのユーザによるそれらのURLへのアクセス頻度を解析することによって識別される。それぞれの好ましいURLは、さらに、そのURLにおいてユーザが過ごした時間、そのURLにおけるユーザのスクロール活動、および/または、そのURLにおける文書にアクセスする場合のその他のユーザ活動(209、図2)に従って、重み付けされてもよい。別の実施形態では、ユーザにとっての好ましいホストのリストが、さまざまなホストのWebページへの、そのユーザのアクセス頻度を解析することによって識別される。2つの好ましいURLが同じホストに関連している場合、2つのURLの重みを組み合わせて、ホストの重みが決定されてもよい。別の実施形態では、ユーザにとっての好ましいドメインのリストが、さまざまなドメインのWebページへの、そのユーザのアクセス頻度を解析することによって識別される。例えば、finance.yahoo.comについては、ホストは「finance.yahoo.com」であり、ドメインは「yahoo.com」である。
【0040】
図5は、ハッシュテーブルデータ構造を使用したリンクベースのプロファイルを示す。リンクベースのプロファイルテーブル500は、複数のレコード520を含むテーブル510を含み、各レコードは、USER_IDと、テーブル510−1などの別のデータ構造を指すポインタとを含む。テーブル510−1は、LINK_ID列530およびWEIGHT列540という2つの列を含んでもよい。LINK_ID列530内に記憶される識別番号は、好ましいURLまたはホストに関連付けられてもよい。LINK_IDの代わりに実際のURL/ホスト/ドメインがテーブル内に記憶されてもよいが、記憶空間を節約するために、LINK_IDを記憶することが好ましい。
【0041】
好ましいURLおよび/またはホストのリストは、ユーザによって直接識別されたURLおよび/またはホストを含む。好ましいURLおよび/またはホストのリストは、さらに、当業者に知られている協調フィルタリング(collaborative filtering)またはビブリオメトリックアナリシス(bibliomeric analysis)などの方法を使用することによって間接的に識別されるURLおよび/またはホストに拡張されてもよい。一実施形態では、間接的に識別されるURLおよび/またはホストは、直接識別されたURLおよび/またはホストへのリンクを有するURLまたはホスト、ならびに、直接識別されたURLおよび/またはホストからのリンクを有するURLまたはホストを含む。これらの間接的に識別されるURLおよび/またはホストは、それらと、ユーザによって直接識別された関連するURLまたはホストとの間の距離によって重み付けされる。例えば、直接識別されたURLまたはホストが1の重みを有する場合、1リンク隔たったURLまたはホストは0.5の重みを有してもよく、2リンク隔たったURLまたはホストは0.25の重みを有してもよく、以下同様であってもよい。この手順は、元のURLまたはホストのトピックに関連していないリンク(例えば、著作権のページへのリンク、またはユーザが選択したURLまたはホストに関連付けられた文書を表示するために使用されてもよいWebブラウザソフトウェアへのリンク)の重みを減らすことによって、さらに改良されてもよい。関連のないリンクは、それらの文脈またはそれらの分布に基づいて識別されてもよい。例えば、著作権リンクは、多くの場合、特定の用語を使用し(例えば、著作権(copyright)または「All rights reserved」は、著作権リンクのアンカーテキスト内で一般に使用される用語である)、Webサイトへの、多くの関連のないWebサイトからのリンクは、このWebサイトがトピック的には関連していないことを示す場合がある(例えば、インターネットエクスプローラ(Internet Explorer)Webサイトへのリンクが、多くの場合、関連のないWebサイトに含まれている)。間接的なリンクは、さらに、トピックの組に従って分類されてもよく、そして、非常に異なるトピックを有するリンクは、除外されるか、または非常に低い重みを割り当てられてもよい。
【0042】
上述の3つのタイプのユーザプロファイルは、一般に、相互に補完するものであり、その理由は、異なるプロファイルは、ユーザの関心と嗜好を異なる見地から描写するからである。しかしこれは、1つのタイプのユーザプロファイル(例えば、カテゴリベースのプロファイル)が、別のタイプのユーザプロファイルによって通常果たされる役割を、果たすことができないということは意味しない。例として、リンクベースのプロファイル内の好ましいURLまたはホストは、多くの場合、特定のトピックに関連している(例えば、finance.yahoo.comは、金融ニュースに焦点を合わせたURLである)。したがって、好ましいURLまたはホストのリストを含むリンクベースのプロファイルによって、ユーザの嗜好を特徴付けるために達成されることは、少なくとも部分的には、好ましいURLまたはホストによって扱われるのと同じトピックを扱うカテゴリの組を有する、カテゴリベースのプロファイルによっても達成可能であってもよい。
【0043】
図3〜図5に示すデータ構造内に記憶されることが可能な、さまざまなタイプのユーザプロファイルを、図2に示すユーザ情報に基づいて構築することは、重要な操作である。ユーザによって識別(例えば、表示)された文書について考えると、文書内の異なるタームは、文書のトピックを明らかにする上で、異なる重要性を有してもよい。例えば文書のタイトルなどの、一部のタームは、非常に重要な場合があるのに対して、他のタームは、ほとんど重要性を有さない場合がある。例えば、多くの文書は、文書のトピックに関連していない可能性がある、ナビゲーションリンク、著作権宣言文、免責条項、およびその他のテキストを含む。適切な文書の効率的な選択方法、それらの文書からの適切なコンテンツの効率的な選択方法、およびコンテンツ内からの適切なタームの効率的な選択方法は、計算言語学における困難な課題である。その上、ユーザプロファイルの構築プロセスを計算的に効率的にするために、処理されるユーザ情報の量は最小にすることが好ましい。文書内の、あまり重要ではないタームを省くことは、ユーザの関心に文書を正確に一致させるために役立つ。
【0044】
パラグラフサンプリング(図6を参照して以下に説明する)は、ユーザに関連する可能性があるコンテンツを文書から自動的に抽出する手順である。この手順の背後で得られた重要な観察結果は、ナビゲーションリンク、著作権宣言文、免責条項などの、文書内のより関連の少ないコンテンツは、比較的短いテキストのセグメントである傾向があるということである。一実施形態では、パラグラフサンプリングは、文書内の最も長いパラグラフを探して、パラグラフの処理を、長いパラグラフから順に、パラグラフの長さが事前定義されたしきい値よりも短くなるまで行う。パラグラフサンプリング手順は、任意選択で、それぞれの処理されるパラグラフから、特定の最大量までのコンテンツを選択する。適切な長さのパラグラフが文書内でほとんど見つからない場合、手順は、アンカーテキストやALTタグなどの、文書の他の部分からのテキスト抽出に頼る。
【0045】
図6は、パラグラフサンプリングの主要なステップを示すフローチャートである。パラグラフサンプリングは、コメント、ジャバスクリプト、およびスタイルシートなどの、事前定義された項目を文書から削除する、ステップ610から開始される。これらの項目が削除される理由は、これらの項目は通常、ブラウザ上に描画される際の文書の視覚的側面に関連しており、文書のトピックに関連する見込みはないためである。それに続いて、手順は、ステップ620において、長さがしきい値MinParagrahLengthよりも長い各パラグラフから、最初のNワード(またはMセンテンス)を、サンプリングされたコンテンツとして選択してもよい。一実施形態では、NおよびMの値は、それぞれ、100および5であるように選択される。他の実施形態では、他の値が使用されてもよい。
【0046】
パラグラフサンプリング手順に関連する計算および記憶装置の負荷を減らすために、手順は、各文書からサンプリングされるコンテンツに、例えば1000ワードの、最大制限を課してもよい。一実施形態では、パラグラフサンプリング手順は、最初に、文書内のすべてのパラグラフを長い順に編成して、次に、最大の長さのパラグラフからサンプリングプロセスを開始する。パラグラフの開始と終了は、パラグラフのHTML表現内での連続したテキスト文字列の存在に依存するのではなく、ブラウザ内でのパラグラフの見かけに依存することに留意されたい。この理由により、インラインリンクおよび太字テキストのためのコマンドなどの、特定のHTMLコマンドは、パラグラフ境界を決定する際に無視される。一部の実施形態では、パラグラフサンプリング手順は、最初のNワード(またはMセンテンス)を審査して、「Terms of Service」(サービス期間)や「Best viewed」(最適に表示)などの定型句を含むセンテンスを除去する。その理由は、そのようなセンテンスは、通常、文書のトピックとは関連していないと考えられるためである。
【0047】
長さがしきい値を超えているパラグラフのサンプリングを行う前に、手順は、サンプリングされたコンテンツ内のワード数が最大ワード制限に達している場合、文書からのコンテンツのサンプリングを停止してもよい。長さがしきい値よりも大きなすべてのパラグラフの処理の後で、最大ワード制限に達していない場合は、任意選択のステップ630、640、650、および670が実行される。特に、手順は、最大ワード制限に達するまで、文書タイトル(630)、非インラインHREFリンク(640)、ALTタグ(650)、およびメタタグ(670)を、サンプリングされたコンテンツに追加する。
【0048】
ユーザにより識別された文書がスキャンされたら、コンテキスト解析を通して、最も重要な(または重要でない)タームのリストを識別するために、サンプリングされたコンテンツが使用されてもよい。コンテキスト解析は、識別された文書の組の中の最も重要な(または重要でない)タームを予測する、コンテキストタームを学習しようと試みる。特に、コンテキスト解析は、プレフィックスパターン、ポストフィックスパターン、および両方の組み合わせを探す。例えば、「x’s home page」という表現は、ターム「x」をユーザにとって重要なタームとして識別してもよく、したがって、ポストフィックスパターン「* home page」が、文書内の重要なタームの位置を予測するために使用されてもよい(アスタリスク「*」は、このポストフィックスパターンに適合する任意のタームを表す)。一般に、コンテキスト解析によって識別されるパターンは、通常、重要な(または重要でない)タームの前のmターム、および、重要な(または重要でない)タームの後のnタームからなり、ここで、mおよびnは両方とも0以上であり、かつ、それらのうちの少なくとも1つは0よりも大きい。典型的には、mおよびnは5未満であり、0でない場合は、1〜3であることが好ましい。パターンは、その出現頻度に依存して、パターンにより認識されるタームがどれだけ重要(または重要でない)と予想されるかを示す、関連する重みを有してもよい。
【0049】
本発明の一実施形態(図7A)によると、コンテキスト解析は、トレーニングフェーズ701と稼働フェーズ703という、2つの別個のフェーズを有する。トレーニングフェーズ701は、事前定義された重要なタームのリスト712と、事前定義された重要でないタームの任意選択のリスト714と、トレーニング文書の組とを受け取って利用する(ステップ710)。一部の実施形態では、事前定義された重要でないタームのリストは使用されない。リスト712、714の出所は、重要ではない。一部の実施形態では、これらのリスト712、714は、文書の組(例えば、高ページランクの数千のWebページの組)から一組の規則に従ってワードまたはタームを抽出し、次に、それらを編集して、編集者の意見によりリストに属さないとされたタームを削除することにより生成される。トレーニング文書の出所も、重要ではない。一部の実施形態では、トレーニング文書は、検索エンジンにすでに知られている、ランダムに、または擬似ランダムに選択された文書の組を含む。他の実施形態では、トレーニング文書は、検索エンジン内の文書のデータベースから、事前定義された基準に従って選択される。
【0050】
トレーニングフェーズ701の間は、複数のコンテキストパターン(例えば、プレフィックスパターン、ポストフィックスパターン、およびプレフィックス−ポストフィックスパターン)を識別するため、および識別された各コンテキストパターンに重みを関連付けるために、事前定義された重要な、および重要でないタームのリストを使用して、トレーニング文書が処理される(ステップ720)。稼働フェーズ703の間は、ユーザにより識別された文書にコンテキストパターンが適用され(ステップ730)、ユーザの特定の関心および嗜好を特徴付ける重要なタームの組が識別される(ステップ740)。ユーザの関心と嗜好の、学習および描写は、通常、継続したプロセスである。したがって、稼働フェーズ703は、以前に取り込まれた重要なタームの組を更新するために、繰り返されてもよい。これは、ユーザが文書にアクセスするたびに、または所定のスケジュールに従って、または特定の基準に従って決定された時間に、またはさもなければ、時々実行されてもよい。同様に、トレーニングフェーズ701も、新しいコンテキストパターンの組を発見するため、および識別されたコンテキストパターンに関連付けられた重みを再調整するために、繰り返されてもよい。
【0051】
次に示すのは、トレーニングフェーズを例示する擬似コードの部分である。
【0052】
【表1】
【0053】
上記の擬似コード内で、表現は、プレフィックスパターン(n=0)、ポストフィックスパターン(m=0)、または両方の組み合わせ(m>0かつn>0)を表す。特定のパターンの各出現は、2つの多次元配列ImportantContext(m,n,s)またはUnimportantContext(m,n,s)のうちの1つにおいて登録される。プレフィックス、ポストフィックス、または組み合わせパターンの重みは、このパターンが、より多くの重要なタームと、より少ない重要でないタームとを識別する場合はより高く設定され、その逆も同様である。同じパターンが、重要なタームと、重要でないタームの両方に関連付けられる場合もありうることに留意されたい。例えば、ポストフィックス表現「* operating system」は、トレーニング文書716内で、事前定義された重要なタームのリスト712内のタームと組み合わせて使用されてもよく、さらに、事前定義された重要でないタームのリスト714と組み合わせて使用されてもよい。この状況では、ポストフィックスパターン「* operating system」に関連付けられる重み(Weight(1,0,“operating system”)という表現によって表される)は、ポストフィックス表現が、事前定義された重要なタームのリスト内のタームと組み合わせて使用される回数と、ポストフィックス表現が、事前定義された重要でないタームのリスト内のタームと組み合わせて使用される回数とを考慮に入れる。コンテキストパターンの重みを決定するための1つの可能な式は、次のとおりである。
Weight(m,n,s)=Log(ImportantContext(m.n,s)+1)−Log(UnimportantContext(m,n,s)+1)
他の実施形態では、他の重み決定式が使用されてもよい。
【0054】
コンテキスト解析プロセスの第2フェーズでは、重み付けされたコンテキストパターンが、ユーザによって識別された1つまたは複数の文書内の重要なタームを識別するために使用される。図7Bを参照すると、第1フェーズにおいて、コンピュータシステムは、トレーニングデータ750を受け取って、コンテキストパターンの組760を作成する(各コンテキストパターンは関連する重みを有する)。コンピュータシステムは、次に、コンテキストパターンの組760を文書780に適用する。図7Bでは、文書780内で検出された、以前に識別されたコンテキストパターンがハイライトされている。コンテキストパターンに関連付けられたターム790が識別され、そのような各タームは、コンテキストパターンに関連付けられた重みに基づいた、重みを受け取る。例えば、「Foobar」というタームは、プレフィックスパターン「Welcome to *」およびポストフィックスパターン「* builds」という、2つの異なるパターンに関連して、文書内に2回出現し、「Foobar」に割り当てられる重み1.2は、2つのパターンの重み0.7と0.5の合計である。もう一方の識別されたターム「cars」は0.8の重みを有し、これは、対応するプレフィックスパターン「world’s best *」が0.8の重みを有するためである。一部の実施形態では、各タームの重みは対数変換を使用して計算され、最終的な重みは、log(最初の重み+1)に等しい。2つのターム「Foobar」および「cars」は、トレーニングデータ750内に存在していない可能性があり、ユーザによって以前に遭遇されたことはない可能性がある。それにもかかわらず、上記のコンテキスト解析方法は、これらのタームを識別して、ユーザのタームベースのプロファイルに追加する。したがって、コンテキスト解析は、ユーザの関心および嗜好に関連するタームを、それらのタームが事前定義されたタームのデータベースに含まれていない場合でも、発見するために使用されてもよい。
【0055】
前述したように、コンテキスト解析の出力は、ユーザのタームベースのプロファイルを構築するために直接使用されてもよい。さらに、コンテキスト解析の出力は、ユーザのカテゴリベースのプロファイルなどの、他のタイプのユーザプロファイルを構築するためにも有用な場合がある。例えば、重み付けされたタームの組は、解析されて、さまざまなトピックを扱う複数のカテゴリ内に分類されてもよく、それらのカテゴリは、ユーザのカテゴリベースのプロファイルに追加されてもよい。
【0056】
ユーザによって、またはユーザのために識別された文書の組についてコンテキスト解析を実行した後、結果としてもたらされるタームおよび重みの組は、各ユーザのタームベースのプロファイルのために割り当てられているよりも大きな量のストレージを占める場合がある。さらに、タームおよび対応する重みの組は、組の中の他のタームよりもはるかに小さな重みを有するいくつかのタームを含む場合がある。したがって、一部の実施形態では、コンテキスト解析の最後に、最も低い重みを有するタームを削除することによって、タームおよび重みの組が削られ(pruned)、それにより、(A)タームベースのプロファイルによって占められるストレージの総量が、事前定義された制限を満たすようになり、かつ/または、(B)重みが非常に低いため、または、事前定義された基準によって定義された古い項目に対応するため、ユーザの検索嗜好および関心を示さないと考えられるタームが削除される。一部の実施形態では、同様の削除基準および技術が、カテゴリベースのプロファイルおよび/またはリンクベースのプロファイルにも適用される。
【0057】
上述のように、カテゴリベースのプロファイルは、図2を参照して説明した情報に基づいて作成されてもよい。例えば、以前に発行されたクエリタームが、特定の情報カテゴリに関連付けられてもよい。ユーザプロファイルエンジンは、ユーザにより発行された以前の検索クエリを解析して、ユーザが関心を持っている可能性がある特定の情報カテゴリと、それらのそれぞれの重みとを決定してもよい。そのようなユーザプロファイルエンジンは、図2を参照して説明した任意の情報源を解析してもよい。
【0058】
一部の実施形態では、ユーザのプロファイルは、ユーザが検索を行い、検索結果から少なくとも1つの文書を選択して、ダウンロードまたは表示するたびに更新される。一部の実施形態では、検索エンジンが、ユーザにより(例えば、検索結果から文書を選択することによって)識別された文書のリストを、時間の経過とともに構築し、事前定義された時に(例えば、リストが事前定義された長さに達した場合に、または事前定義された時間が経過した場合に)、プロファイルの更新を実行する。更新を実行する場合は、新しいプロファイルデータが生成され、新しいプロファイルデータが、そのユーザについて以前に生成されたプロファイルデータとマージされる。一部の実施形態では、新しいプロファイルデータは、以前に生成されたプロファイルデータよりも高い重要度を割り当てられ、それにより、システムは、ユーザの検索嗜好と関心の変化に従って、ユーザのプロファイルを迅速に調整することが可能になる。例えば、新しいプロファイルデータと併合される前に、以前に生成されたプロファイルデータ内の項目の重みが自動的に縮小されてもよい。一実施形態では、プロファイル内の各項目に関連付けられた日付が存在し、プロファイル内の情報はその古さに基づいて重み付けされ、より古い項目は、それらの項目が新しかったときよりも低い重みを受け取る。他の実施形態では、新しいプロファイルデータは、以前に生成されたプロファイルデータよりも高い重要度を割り当てられない。
【0059】
パラグラフサンプリング方法とコンテキスト解析方法とは、別々に使用されるか、または組み合わせて使用されてもよい。組み合わせて使用される場合、パラグラフサンプリングの出力は、コンテキスト解析方法の入力として使用される。
【0060】
さらに、ユーザプロファイルを作成するために使用される上記の方法(例えば、パラグラフサンプリングおよびコンテキスト解析)は、ユーザの嗜好への、候補文書の関連性を決定するためにも活用されてもよいということに留意されたい。実際、検索エンジンの主な役割は、ユーザにより発行された検索クエリと、ユーザのユーザプロファイルとに基づいて、ユーザの嗜好に最も関連している一連の文書を識別することである。図8は、ユーザプロファイルへの文書の関連性についての情報を、複数の観点から記憶するために使用されてもよい、いくつかの例示的データ構造を示す。各DOC_IDによってそれぞれが識別される、それぞれの候補文書について、タームベースの文書情報テーブル810は、タームとそれらの重みとの、複数のペアを含み、カテゴリベースの文書情報テーブル830は、複数のカテゴリと、関連する重みとを含み、リンクベースの文書情報テーブル850は、一組のリンクと、対応する重みとを含む。
【0061】
3つのテーブル(810、830、および850)のそれぞれの、最も右側の列は、1つの特定のタイプのユーザプロファイルを使用して文書が評価された場合の、文書のランク(つまり、計算された得点)を記憶する。ユーザプロファイルランクは、文書に関連付けられた項目の重みを組み合わせることによって決定されてもよい。例えば、カテゴリベースまたはトピックベースのプロファイルランクは、次のように計算されてもよい。ユーザは、科学に関する文書を、0.6の重みを使用して好む一方で、ビジネスに関する文書を、−0.2の重みを使用して嫌ってもよい。したがって、科学文書が検索クエリに一致した場合、その文書はビジネス文書よりも高く重み付けされる。一般に、文書トピックの分類は、排他的でなくてもよい。候補文書は、0.8の確率で科学文書であるとして分類され、かつ、0.4の確率でビジネス文書であるとして分類されてもよい。リンクベースのプロファイルランクは、リンクベースのプロファイル内で、ユーザのURL、ホスト、ドメインなどの嗜好に割り当てられた相対的な重みに基づいて計算される。一実施形態では、タームベースのプロファイルランクは、タームフリクエンシー−インバースドキュメントフリクエンシー(term frequency−inverse document frequency(TF−IDF))などの周知の技術を使用して決定されてもよい。タームのタームフリクエンシーは、文書内でタームが出現する回数の関数である。インバースドキュメントフリクエンシーは、文書の集まりのうちの、タームが出現する文書の数の、逆関数である。例えば、「the」のような非常に一般的なタームは、多くの文書内で発生し、その結果として、比較的低いインバースドキュメントフリクエンシーが割り当てられる。
【0062】
検索エンジンが検索クエリに応答して検索結果を生成する場合、クエリを満足する候補文書Dには、検索クエリに従って、クエリ得点(QueryScore)が割り当てられる。このクエリ得点は、次に、文書Dのページランク(PageRank)によって調整され、一般得点(GenericScore)が生成される。これは、次のように表される。
GenericScore=QueryScore*PageRank
【0063】
ユーザの関心または嗜好がランダムサーファーのものと劇的に異なる場合、この一般得点は、特定のユーザUにとっての文書Dの重要度を適切に反映しない可能性がある。ユーザUへの文書Dの関連性は、文書DのコンテンツとユーザUのタームベースのプロファイルとの間の相関(本明細書ではTermScoreと呼ばれる)、文書Dに関連付けられた1つまたは複数のカテゴリとユーザUのカテゴリベースのプロファイルとの間の相関(本明細書ではCategoryScoreと呼ばれる)、ならびに、文書DのURLおよび/またはホストと、ユーザUのリンクベースのプロファイルとの間の相関(本明細書ではLinkScoreと呼ばれる)に基づく、一組のプロファイルランクによって正確に特徴付けられてもよい。したがって、文書Dには、文書の一般得点と、ユーザプロファイル得点との両方の関数である、パーソナライズされたランクが割り当てられてもよい。一実施形態では、このパーソナライズされた得点は、次のように表されてもよい。
PersonalizedScore=GenericScore*(TermScore+CategoryScore+LinkScore)
【0064】
図9Aおよび図9Bは2つの実施形態を表し、両方とも、図1に示すネットワーク環境100などのクライアント−サーバネットワーク環境内に実装される。図9Aに示す実施形態では、検索エンジン104は、ステップ910において、特定のユーザにより発行された検索クエリをクライアント102から受信する。それに応答して、検索エンジン104は、ステップ915において、任意選択で、クエリストラテジを生成してもよい(例えば、検索クエリは、さらなる処理のための適切な形態となるように標準化され、かつ/または、検索クエリは、検索クエリの範囲を自動的に広めるかまたは狭めるために、事前定義された基準に従って修正されてもよい)。ステップ920において、検索エンジン104は、コンテンツサーバ106に、検索クエリ(または、生成されている場合は、クエリストラテジ)を発行する。コンテンツサーバは、ステップ920において、検索クエリに適合する文書のリストを識別する(各文書は、文書のページランクと検索クエリとに依存した一般得点を有する)。一般に、3つの動作(ステップ910、915、および920)はすべて、ネットワーク環境100のサーバ側にある検索エンジンシステム107によって実行される。これらの最初の3つのステップに続く動作を実装する場所については、2つの選択肢がある。
【0065】
サーバ側実装を採用する一部の実施形態では、ユーザの識別番号が検索クエリ内に埋め込まれる。ユーザの識別番号に基づいて、ユーザプロファイルサーバ108は、ステップ925において、ユーザのユーザプロファイルを識別する。ステップ930から開始して、ユーザプロファイルサーバ108または検索エンジン104は、ステップ920において識別された各文書を解析して、ユーザのプロファイルへの関連性を判定し、ステップ935において、識別された文書についてのプロファイル得点を作成し、次に、ステップ940において、文書の一般得点とプロファイル得点との関数である、パーソナライズされた得点を文書に割り当てる。ステップ942において、ユーザプロファイルサーバ108または検索エンジン104は、これが識別された文書のリスト内の最後の文書かどうかを調べる。最後の文書ではない場合は、システムは、リスト内の次の文書を処理する。それ以外の場合は、文書のリストが、それらのパーソナライズされた得点に従って順序付けし直され、対応するクライアント(そのクライアントからユーザが検索クエリを発行した)に送信される。
【0066】
クライアント側実装を使用する実施形態は、サーバ側実装に類似しているが、ステップ920の後で、識別された文書が、対応するクライアント(そのクライアントからユーザが検索クエリを発行した)に送信されるという点が異なる。このクライアントは、ユーザのユーザプロファイルを記憶し、このクライアントは、ユーザプロファイルに基づいて文書を順序付けし直す役割を果たす。したがって、このクライアント側実装は、サーバの作業負荷を減少させる可能性がある。さらに、クライアント側実装を使用すれば、プライバシーに対する懸念がなくなるため、ユーザは、検索結果をカスタマイズするためのプライベート情報を進んで提供する傾向が強くなる可能性がある。ただし、クライアント側実装にとっての重大な制約は、ネットワーク帯域幅の制限により、例えば(一般ランクを使用して決定される)上位50の文書などの、制限された数の文書のみが、順序付けし直すためにクライアントに送信される場合があるということである。対照的に、サーバ側実装では、検索クエリに一致する、例えば1000などの、はるかに大きな数の文書に対してユーザプロファイルを適用できる可能性がある。したがって、クライアント側実装では、一般ランクは比較的低いがパーソナライズされたランクはかなり高い文書へのユーザアクセスが、はばまれる可能性がある。
【0067】
図9Bは、別の実施形態を示す。検索クエリを検索エンジン104に発行する前に検索クエリがパーソナライズされない、図9Aに示した実施形態とは異なり、ユーザのユーザプロファイルに従って一般クエリストラテジが調整されて(ステップ965)、パーソナライズされたクエリストラテジが作成される。例えば、ユーザプロファイルからの関連するタームが、関連する重みとともに、検索クエリに追加されてもよい。パーソナライズされたクエリストラテジの作成は、システムのクライアント側、またはサーバ側のいずれで実行されてもよい。本実施形態では、前の実施形態が直面したネットワーク帯域幅の制限は回避される。最後に、検索エンジン104は、パーソナライズされたクエリストラテジを、コンテンツサーバ106に発行し(ステップ970)、したがって、コンテンツサーバによって返される検索結果は、文書のパーソナライズされたランクによってすでに順序付けされている(ステップ975)。
【0068】
関連する関心を有するユーザのグループのプロファイルが結合されて、グループプロファイルが形成されてもよく、あるいは、グループ内のユーザによって識別された文書に基づいて、単一のプロファイルが形成されてもよい。例えば、何人かの家族構成員が、同じコンピュータを使用して、検索エンジンに検索クエリを発行する場合がある。コンピュータが、検索エンジンによって、単一のユーザ識別子を使用してタグ付けされている場合、「ユーザ」は家族全体のユーザとなり、ユーザプロファイルはさまざまな家族構成員の検索嗜好の組み合わせまたは混合を表すものとなる。グループ内の個々のユーザは、任意選択で、このユーザを他のグループ構成員から区別する、別個のユーザプロファイルを有してもよい。稼働中に、グループ内のユーザのための検索結果は、グループプロファイルに従って、または、(ユーザが別個のユーザプロファイルも有する場合は)グループプロファイルとユーザのユーザプロファイルとに従って、ランク付けされる。
【0069】
ユーザがその関心をあまりにも劇的に変化させたため、そのユーザの新しい関心と嗜好は、そのユーザのユーザプロファイルにほとんど似ていないこと、または、ユーザが一時的に新しいトピックに関心を持つことがありうる。この場合、図9Aおよび図9Bに示す実施形態に従って生成されるパーソナライズされた検索結果は、検索結果内の文書の一般ランクに従ってランク付けされた検索結果よりも、不利な可能性がある。さらに、ユーザのプロファイルは、過去にユーザがアクセスしたことがある古いWebサイト(つまり、その古いWebサイトから、ユーザはWebページを表示またはダウンロードしたことがある)の重みを増加させる傾向があるため、ユーザに提供される検索結果は、上位に示される文書の中に、新しいWebサイトを含まない可能性がある。
【0070】
ユーザの嗜好と関心の変化により引き起こされる影響を減らすために、パーソナライズされた検索結果は、一般検索結果とマージされてもよい。一実施形態では、一般検索結果とパーソナライズされた検索結果とは交互配置され、したがって、検索結果リストの奇数位置(例えば、1、3、5など)は一般検索結果のために確保され、偶数位置(例えば、2、4、6など)はパーソナライズされた検索結果のために確保されるか、またはその逆となる。好ましくは、一般検索結果の中の項目は、パーソナライズされた検索結果の中にリストされる項目を繰り返さず、その逆も同様となる。より一般的には、一般検索結果はパーソナライズされた検索結果と混合されるかまたは交互配置され、それにより、ユーザに提示される検索結果内の項目は、一般検索結果とパーソナライズされた検索結果の両方を含むようになる。
【0071】
別の実施形態では、パーソナライズされたランクおよび一般ランクは、ユーザプロファイルの信頼性レベルによってさらに重み付けされる。信頼性レベルは、ユーザに関する情報がどれだけ取得されているか、現在の検索クエリがユーザのプロファイルにどれだけ緊密に一致しているか、ユーザプロファイルはどれだけ古いかなどの要因を考慮に入れる。非常に短期間のユーザ履歴しか得られない場合、ユーザのプロファイルには、それに対応した、低い信頼性の値が割り当てられる。識別された文書の最終的な得点は、次のように決定されてもよい。
FinalScore=ProfileScore*ProfileConfidence+GenericScore*(1−ProfileConfidence)
一般結果とパーソナライズされた結果とを混合する場合に、パーソナライズされた結果の割合が、プロファイルの信頼性に基づいて調整されてもよい(例えば、信頼性が低い場合は、パーソナライズされた結果が1つだけ使用される)。
【0072】
場合によっては、例えば公共図書館において、複数のユーザがマシンを共有することがある。これらのユーザは、異なる関心と嗜好を有する可能性がある。一実施形態では、ユーザは、システムがそのユーザの同一性を認識するように、明示的にサービスにログインしてもよい。あるいは、異なるユーザは、それらのユーザがアクセスする項目、またはそれらのユーザのアクセスパターンのその他の特徴に基づいて、自動的に認識されてもよい。例えば、異なるユーザは、マウスを異なる方法で動かし、異なるようにタイプし、異なるアプリケーション、およびそれらのアプリケーションの異なる機能を使用する可能性がある。クライアントおよび/またはサーバ上での事象の集成に基づいて、ユーザを識別するための、そして次に、その識別を使用して適切な「ユーザ」プロファイルを選択するための、モデルを作成することが可能である。そのような環境においては、「ユーザ」は、実際には、ある程度類似したコンピュータ使用パターンや関心などを有する人々のグループであってもよい。
【0073】
図10を参照すると、パーソナライズされた検索エンジンシステム1000は、典型的には、1つまたは複数の処理ユニット(CPU)1002と、1つまたは複数のネットワークまたはその他の通信インタフェース1010と、メモリ1012と、これらの構成要素を相互接続するための1つまたは複数の通信バス1014とを含む。システム1000は、任意選択で、例えばディスプレイ1006およびキーボード1008などの、ユーザインタフェース1004を含む。メモリ1012は、高速ランダムアクセスメモリを含んでもよく、さらに、1つまたは複数の磁気ディスク記憶装置などの、不揮発性メモリも含んでもよい。メモリ1012は、中央処理ユニット1002から離れた場所に配置された大容量記憶装置を含んでもよい。メモリ1012は、好ましくは、以下を記憶する。
・さまざまな基本システムサービスを処理するための、およびハードウェア依存タスクを実行するための手続きを含む、オペレーティングシステム1016。
・インターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの、1つまたは複数の通信ネットワーク(有線または無線)を介して、システム1000を、他のサーバまたはコンピュータに接続するために使用される、ネットワーク通信モジュール1018。
・システム1000の適切な動作のために必要な、メモリ1012内に記憶される他のモジュールおよびデータ構造を初期化する、システム初期化モジュール1020。
・検索クエリを実行し、検索クエリとユーザのプロファイルとに従って検索結果を識別および順序付けする、検索エンジン1022。
・図2で識別されたユーザ情報などの、ユーザ情報を収集および処理するための、そして、ユーザの検索嗜好と関心とを特徴付ける、ユーザのユーザプロファイルを作成および更新するための、ユーザプロファイルエンジン1030。
・複数のユーザプロファイルを記憶するためのデータ構造1040、1060、および1080。
【0074】
検索エンジン1022は、さらに、以下を含んでもよい。
・ユーザにより発行された検索クエリを処理し、クエリに適合する文書のリストを識別し、識別された各文書に、ユーザ固有の情報とは関係なく、一般ランクを割り当てるための、一般ランクモジュール(または命令)1024。
・一般ランクモジュール1024によって識別された複数の文書のそれぞれを、ユーザのユーザプロファイルと相互に関連付け、ユーザの検索嗜好と関心とへの文書の関連性を示すプロファイルランクを文書に割り当てるための、ユーザプロファイルランクモジュール(または命令)1026。
・識別された文書の一般ランクとプロファイルランクとを混合してパーソナライズされたランクとし、文書のリストを、それらの文書のパーソナライズされたランクに従って順序付けし直すための、ランク混合モジュール(または命令)1028。
一部の実施形態では、これらのモジュール1024、1026、1028は、単一の手続き内に、または、単一のソフトウェアモジュール内に存在する一組の手続きの中に実装されてもよい。
【0075】
ユーザプロファイルエンジン1030は、さらに、以下を含んでもよい。
・図2に示したさまざまなユーザ情報を収集および分類するための、ユーザ情報収集モジュール1032。
・ユーザにより識別された文書からコンテンツを選択および抽出し、パラグラフサンプリング(上述)などの技術を使用して、ユーザの関心に関連するコンテンツを識別するための、文書コンテンツ抽出モジュール1034。
・文書抽出モジュール1034によって抽出されたコンテンツを解析して、ユーザの検索嗜好を特徴付けるタームを識別するための、コンテンツ解析モジュール1036。
【0076】
ユーザプロファイルを保管する各データ構造は、さらに、以下を含んでもよい。
・タームベースのユーザプロファイルを記憶するための、データ構造1042、1062、または1082。
・カテゴリベースのユーザプロファイルを記憶するための、データ構造1044、1064、または1084。
・リンクベースのユーザプロファイルを記憶するための、データ構造1046、1066、または1086。
【0077】
ユーザプロファイルに従ったプレーストコンテンツの順序付け
プレーストコンテンツは、インターネットまたはその他のワイドエリアネットワークを介して提供される、検索サービス、電子メールサービス、およびその他のさまざまなサービスのユーザに表示されてもよい。以下に示すのは、(例えば、ブラウザウィンドウ内、またはユーザにより表示されるその他のアプリケーションウィンドウ内の)プレーストコンテンツを順序付けして、それにより、(A)プレーストコンテンツを表示することにユーザが関心を持つ機会を最大にするか、または少なくとも向上する、あるいは(B)プレーストコンテンツの提供者への収入の流れを最大にするか、または少なくとも向上する、あるいは(C)プレーストコンテンツの配信および順序付けに関連する計量を最適化するか、または少なくとも向上するための、システムおよび方法の説明である。最初に、検索エンジンのユーザへの、プレーストコンテンツの配信に関連して、システムおよび方法が説明され、その後で、他のインターネットサービスへの、システムおよび方法の適用が説明される。
【0078】
検索クエリに応答して検索結果がユーザに返される場合、しばしば、特定のプレーストコンテンツも返される。プレーストコンテンツは、通常は広告の形態であるが、検索クエリに関連した、またはユーザに送信されている文書に関連した、任意のタイプのコンテンツであってもよい。以下の説明では、広告コンテンツを例示のために使用するが、コンテンツ提供者が配置のために競合または支払いを行う、任意のタイプのコンテンツが、本発明の一部の実施形態によって企図される。ユーザの検索クエリが文書リポジトリに対して実行されているのと同時に、検索クエリは広告のリポジトリに対して実行されてもよい。広告のリポジトリに対する検索から返された広告(例えば、その広告のキーワードが、検索クエリの少なくとも1つのタームに一致する広告)は、通常、各広告の得点によって順序付けられる。得点は、クリックスルーレート(CTR)と入札(bid)(例えば、入札価格)との積に基づく。最高の得点を有する広告が、ユーザに提示される。一部の実施形態では、コンテンツ提供者は、同じ入札に関連付けられた複数の類似した広告を提供してもよい。この場合、さまざまな広告がランダムに、またはその他の任意の順序で、ユーザに提示されてもよい。例えば、コンテンツ提供者が3つの広告のグループを提供し、それらの3つの広告に対して、ターム「hat」(帽子)についての単一の入札が適用される場合、広告のグループが検索結果の組の中に含まれるための十分高い得点を有するときはいつでも、グループ内の3つの広告のうちの1つが(例えば、ランダムに、または順繰りに)選択され、ユーザに提示される。
【0079】
広告主は、例えばオークションを介して、さまざまなキーワードまたは概念に入札してもよい。オークションの中で広告主は、特定の検索タームまたはフレーズに入札する。例えば、セールボートの帆の製造業者は、「spinnaker」(スピネーカ)というキーワードに入札してもよく、それにより、検索クエリ内にそのタームが現れた場合に、広告主の広告が、ユーザに提示される可能性のある広告のリスト内に現れるようになる。広告の得点が十分に高い場合に、広告はユーザに提示される。上述のように、得点は、CTRと入札との積に基づく。広告主は、次に、広告についての支払を、その入札に基づいて、そして、特定の会計期間にわたっての、その広告についてのクリックスルーの数に基づいて(例えば、入札とクリックスルーの数との積に基づいて)行う。一部の実施形態では、オークションは「競り下げ競売」の特徴を有してもよく、その場合、特定の広告について広告主によって支払われる金額は、修正または低減された入札と、特定の会計期間にわたってのクリックスルーの数との積であってもよい。
【0080】
広告のCTRを向上させることが、広告の得点を上げるための1つの方法である。CTRの向上は、例えば、他の広告よりもユーザにアピールする広告を提示することによって達成されてもよい。あるいは、広告主は、広告の得点を上げるために、広告に関連付けられたキーワードまたはフレーズに対する自分の入札を増加させることを選択してもよい。また、もちろん、広告主は、広告のCTRの向上と、広告に関連付けられたキーワードに対する入札の増加との、両方を行ってもよい。一部の実施形態では、広告のCTRは、広告上でのクリックの数を、インプレッション数(すなわち、広告がユーザに提示された回数)で割った値に等しい。新しい広告は、通常、有用なCTRを有さず、その理由は、広告のインプレッション数が低すぎて、CTRの値は、その広告のユーザにとっての魅力の信頼できる指標とはならないためである。そのような場合(例えば、広告が1000未満のインプレッションを有する場合)は、初期CTRがシステムによって提供される。広告の初期CTRは、平均CTR値などの、デフォルト値であってもよい。あるいは、初期CTRは、同じ広告主による他の広告のCTRに基づいて選択されてもよく、または、当該広告との定義済みの関係を有する、他の何らかの広告の組のCTRに基づいてもよい。
【0081】
ユーザにとって関心のある広告がユーザに提示される可能性を増加することが望ましい。したがって、ユーザのプロファイルに何らかの方法で関連している広告が、提示のためのより良い候補である。これを行うための一方法は、ユーザのプロファイルへの、広告の類似性に基づいて、広告の得点を修正することである。上位概念の「プレーストコンテンツ」に戻ると、図11は、プレーストコンテンツを検索結果とともに提供するための一実施形態を示す。
【0082】
最初に、例えば検索エンジンにおいて、検索クエリが受信される(1102)。検索クエリは、例えば、検索クエリを発行しているクライアントコンピュータまたはクライアントプロセスの識別子を含めることによって、検索クエリを発行しているユーザを識別してもよい。あるいは、ユーザの同一性は、サービスへの事前のログイン、またはクッキー(cookie)、またはその他の適切な方法によって認識されてもよい。ユーザのプロファイルが、ユーザプロファイルのデータベースまたはリポジトリから取得される(1104)。一実施形態では、ユーザのプロファイルは、カテゴリプロファイルである。以下の説明ではカテゴリプロファイルを使用するが、以下に説明する概念は、他のタイプのプロファイルに適用されてもよいということを、当業者は容易に認識するであろう。検索エンジンが検索結果を取得するために検索クエリを処理する間に(1106)、プレーストコンテンツサーバは、検索クエリに一致するかまたは関連する、1つまたは複数のプレーストコンテンツ項目(本明細書では、潜在的プレーストコンテンツと呼ばれる)を識別する(1108)。他の実施形態では、プレーストコンテンツサーバは、ユーザに提供されている文書(検索の結果による文書であれ、特に要求された文書であれ)に基づいて、プレーストコンテンツを提供してもよい。その実施形態では、プレーストコンテンツサーバは、プレーストコンテンツのうちのいずれが、ユーザに提示されている文書に関連しているかを判定する。他の実施形態では、プレーストコンテンツサーバは、検索結果として提示されている1つまたは複数の文書のコンテンツに基づいて、プレーストコンテンツを提供してもよい。
【0083】
それぞれの潜在的プレーストコンテンツは、それに関連付けられたプロファイルを有する。一実施形態では、プロファイルは、カテゴリと重みとのペアを含む、カテゴリプロファイルの形態である。プロファイルは、例えば、プレーストコンテンツからキータームを抽出し、それらをさまざまなカテゴリに関連付けて、それぞれの重みを割り当てることによって作成されてもよい。
【0084】
それぞれの潜在的プレーストコンテンツについて、潜在的プレーストコンテンツのプロファイルが、ユーザのプロファイルと比較される(1110)。ユーザのプロファイルがプレーストコンテンツのプロファイルと比較されて、類似性得点が取得される。類似性得点は、次に、プレーストコンテンツのランク付けを修正するために使用される。プロファイルのそれぞれをベクトルと見なす場合、当業者は、プロファイルを比較するためのさまざまな数学的方法を認識するであろう。例えば、類似性得点は、ユーザのプロファイル内の各カテゴリを取り出して、それと、プレーストコンテンツのプロファイルの各カテゴリとの間の数学的距離を判定し、次に、それぞれの重みを掛けることによって決定されてもよい。この計算を表す一方法は、次の式によるものである。
【数1】
式中、nはユーザのプロファイル内のカテゴリの数、mはプレーストコンテンツのプロファイル内のカテゴリの数を表し、距離(カテゴリ(i),カテゴリ(j))は、カテゴリ(i)とカテゴリ(j)との間の数学的距離を表し、重み(i)および重み(j)は、それぞれ、カテゴリ(i)およびカテゴリ(j)に関連付けられた重みを表す。
【0085】
別の、より一般的な、類似性得点の計算を表す方法は、次のとおりである。
類似性得点=関数(ユーザプロファイル,コンテンツプロファイル)
式中、「関数」は、ユーザプロファイルと、特定のプレーストコンテンツ項目のコンテンツプロファイルとの、任意の適切な関数である。ユーザプロファイルおよびコンテンツプロファイルが、カテゴリプロファイルである場合、類似性得点の計算は、次のように表されてもよい。
【数2】
式中、「関数」は、ユーザプロファイルのカテゴリおよび重みのベクトルと、コンテンツプロファイルのカテゴリおよび重みのベクトルとの、任意の適切な関数である。上記の二重和計算とは異なる、幾分より特殊な、類似性得点の計算の例は、次のとおりである。
【数3】
式中、「Maxj」は、すべての有効なjの値についての、関数の最大値を表し、「関数」は、ユーザプロファイルおよびコンテンツプロファイルの、カテゴリおよび重みの、任意の適切な関数である。
【0086】
一部の実施形態では、類似性得点は、スケーリングファクタを作成するために、特定の範囲に正規化される。例えば、類似性得点は、0〜1(0と1を含む)または0〜2(0と2を含む)内に収まるように正規化されてもよい。より高い類似性得点は、プロファイルが、より低い類似性得点が比較の結果としてもたらされるプロファイルよりも、より密接に関連していることを示す。一部の実施形態では、正規化された類似性得点がスケーリングファクタとして使用される。他の実施形態では、スケーリングファクタは、スケーリングファクタマッピング関数またはスケーリングファクタルックアップテーブルに従って、類似性得点または正規化された類似性得点を、対応するスケーリングファクタにマッピングすることによって決定される。
【0087】
一実施形態では、N個の事前定義されたスケーリングファクタの組(サブファクタと呼ばれることもある)がスケーリングファクタルックアップテーブル内に記憶され、各スケーリングファクタは、類似性得点値の各範囲に対応している。本例示的実施形態では、Nは、1よりも大きな整数であり、好ましくは、3よりも大きな整数である。特定のプレーストコンテンツの類似性得点は、「ビン」にマッピングされる。例えば、事前定義された数を類似性得点に掛けるか、または事前定義された数で類似性得点を割り、次に、結果を最も近い整数に切り上げるかまたは切り下げることによってビン数を生成し、次に、結果として得られるビン数をスケーリングファクタルックアップテーブル内へのインデックスとして使用することにより、ビン数をスケーリングファクタにマッピングする。スケーリングファクタの範囲は、実装ごとに異なっていてもよい。
【0088】
スケーリングファクタマッピング関数またはスケーリングファクタルックアップテーブルのいずれかを使用することにより、スケーリングファクタへの類似性得点の関連付けを、非常に柔軟に行うことが可能になる。例えば、非常に低い類似性得点を有するプレーストコンテンツおよび非常に高い類似性得点を有するプレーストコンテンツのCTRを下方調整する、スケーリングファクタマッピング関数またはスケーリングファクタルックアップテーブルを作成することが可能である。一部の実施形態では、最大の類似性得点に関連付けられるスケーリングファクタは、中位(mid−point)の類似性得点に関連付けられるスケーリングファクタよりも小さく、ここで、中位は、類似性得点の平均値または中央値のいずれかであってもよい。あるいは、中位は、最小の類似性得点と最大の類似性得点との間の、任意の識別される点であってもよい。一部の実施形態では、最大の類似性得点に関連付けられるスケーリングファクタは、中位の類似性得点に関連付けられるスケーリングファクタよりも大きく、しかし、スケーリングファクタマッピング関数またはスケーリングファクタルックアップテーブルに関連付けられる最大のスケーリングファクタよりも小さい。スケーリングファクタマッピング関数を、類似性得点の最小得点から最大得点に至るまでの値について眺めると、スケーリングファクタは、典型的には、最初、最小得点に関連付けられた低い値から、最大のスケーリングファクタ値に達するまで増加し、その後、類似性得点が最大値に達するまで減少する。
【0089】
一部の実施形態では、類似性得点に対応するスケーリングファクタは、類似性得点をクリックスルーレートに関連付ける統計情報に従って決定される。特に、ユーザによるクリックスルーレートは、ユーザとプレーストコンテンツ項目とについての類似性得点と、統計的に相互に関連付けられることが可能である。例えば、インプレッション、クリックスルー、および各インプレッションとクリックスルーに関連付けられた類似性得点についてのデータを収集することによって、類似性得点のN個の範囲の組のうちの各範囲に対する、別個のクリックスルーレートが決定されてもよい。それらのクリックスルーレートに基づいて、スケーリングファクタルックアップテーブル内に記憶するための、N個のスケーリングファクタの組が生成されてもよい。あるいは、収集された統計情報は、例えば曲線適合法(curve fitting techniques)を使用することによって、スケーリングファクタマッピング関数を生成するために使用されてもよい。
【0090】
一部の実施形態では、それぞれの識別されたプレーストコンテンツについての各スケーリングファクタに、プレーストコンテンツのCTRが掛けられて、ユーザがプレーストコンテンツに関心を持つ可能性の増加を反映するように修正されたCTRが提供される(図11の1112)。より具体的には、(例えば、検索クエリのタームに一致する少なくとも1つのキーワードを有することによって)検索クエリに一致する各プレーストコンテンツの得点は、次のように計算される。
得点=スケーリングファクタ×CTR×入札
プレーストコンテンツ項目は、次に、それらの各得点に基づいてランク付けまたは順序付けされ(1114)、最高の得点を有するプレーストコンテンツ項目が、例えばユーザのコンピュータ上のブラウザアプリケーションに送信されることによって、ユーザに提供される(1116)。一部の実施形態では、最高得点を有するH個のプレーストコンテンツ項目(Hは1よりも大きな整数)が、データベースに対する検索クエリの実行から取得された検査結果(一次検索結果と呼ばれることもある)とマージされてもよい(1118)。例えば、プレーストコンテンツが広告を含む場合、最高得点を有する広告のうちの1つまたは複数が、一次検索結果の上、下、および/または横に表示されてもよい。
【0091】
一部の実施形態では、プレーストコンテンツ項目の得点は、ユーザプロファイルを使用して生成された類似性得点と、入札とに基づくが、クリックスルーレートには基づかない。例えば、一部の実施形態では、プレーストコンテンツ項目のクリックスルーレートは入手できない場合がある。結果として、そのような実施形態では、動作1112は、発生しないか、あるいは異なる得点調整または得点計算動作によって置き換えられる。
【0092】
他の一部の実施形態では、プレーストコンテンツ項目の得点は、ユーザプロファイルを使用して生成された類似性得点と、クリックスルーレートとに基づくが、入札には基づかない。さらに他の実施形態では、プレーストコンテンツ項目の得点は、ユーザプロファイルを使用して生成された類似性得点に基づくが、それらの得点は、入札にもクリックスルーレートにも基づかない。プレーストコンテンツの得点が、ユーザプロファイルを考慮に入れ、入札を考慮に入れない場合、プレーストコンテンツの順序付けは、プレーストコンテンツ項目の他の順序付けの潜在的な経済的利益に関係なく、ユーザにとって関心のある可能性があるプレーストコンテンツに関して最適化または改善される。
【0093】
上記のシステムおよび方法は、検索エンジンシステム以外のシステムにおいても使用されてもよい。例えば、電子メールシステムにおいて、または、文書またはその他のコンテンツをユーザまたは購読者に表示する、インターネットまたはその他のワイドエリアネットワークを経由してサービスを提供するための、その他の事実上いかなるシステムにおいても、同様に、プレーストコンテンツが選択され、ユーザに表示されてもよい。プレーストコンテンツは、表示されている文書または文書の組のコンテンツに適合する、プレーストコンテンツに関連付けられたキーワードに基づいて選択されてもよく、あるいは、その他の選択基準に基づいていてもよい。選択されたプレーストコンテンツ項目は、次に、ユーザプロファイルと、選択されたプレーストコンテンツ項目のプロファイルとの類似性に基づいて、上記のように順序付けされる。
【0094】
以上の説明は、説明の目的のために、特定の実施形態を参照して行った。しかし、上述の例示的な説明は、開示された厳密な形態で本発明が網羅されたり限定されたりすることを意図するものではない。上記の教示を考慮すれば多くの変更および変形が可能である。実施形態は、本発明の原理とその実際的な適用例とを最もよく説明するために、そしてそれにより、当業者が、本発明およびさまざまな実施形態を、企図された特定の使用に適したさまざまな変更とともに、最もよく利用できるようにするために、選択され説明されたものである。
【図面の簡単な説明】
【0095】
【図1】クライアント−サーバネットワーク環境を示す。
【図2】ユーザ情報の複数の情報源、およびユーザプロファイルへのそれらの関係を示す。
【図3】複数のユーザについてのタームベースのプロファイルを記憶するために使用されてもよい、例示的データ構造である。
【図4A】ユーザの過去の検索経験を分類するために使用されてもよい、例示的カテゴリマップである。
【図4B】複数のユーザについてのカテゴリベースのプロファイルを記憶するために使用されてもよい、例示的データ構造である。
【図5】複数のユーザについてのリンクベースのプロファイルを記憶するために使用されてもよい、例示的データ構造である。
【図6】パラグラフサンプリングを示すフローチャートである。
【図7A】コンテキスト解析を示すフローチャートである。
【図7B】コンテキスト解析を使用して重要なタームを識別するプロセスを示す。
【図8】タームベース、カテゴリベース、および/またはリンクベースの解析の後で、文書に関する情報を記憶するために使用されてもよい、複数の例示的データ構造をそれぞれ示す。
【図9A】一実施形態による、パーソナライズされたWeb検索プロセスを示すフローチャートである。
【図9B】別の実施形態による、パーソナライズされたWeb検索プロセスを示すフローチャートである。
【図10】パーソナライズされた検索エンジンのブロック図である。
【図11】本発明の一実施形態による、パーソナライズされたプレーストコンテンツプロセスを示すフローチャートである。
【特許請求の範囲】
【請求項1】
プレーストコンテンツをパーソナライズする方法であって、
ユーザの関心を判定するステップと、
前記ユーザに関連付けられたユーザプロファイルにアクセスするステップと、
前記ユーザの前記関心に対応する一組のプレーストコンテンツを識別するステップと、
前記ユーザプロファイルに従って前記一組のプレーストコンテンツを順序付けするステップとを含む方法。
【請求項2】
前記順序付けするステップは、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札とに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるステップを含む、請求項1に記載の方法。
【請求項3】
前記順序付けするステップは、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるステップを含む、請求項1に記載の方法。
【請求項4】
検索クエリに関連するプレーストコンテンツをパーソナライズする方法であって、
ユーザから検索クエリを受信するステップと、
前記ユーザに関連付けられたユーザプロファイルにアクセスするステップと、
前記検索クエリに適合する一組のプレーストコンテンツを識別するステップと、
前記ユーザプロファイルに従って前記一組のプレーストコンテンツを順序付けするステップとを含む方法。
【請求項5】
前記順序付けするステップは、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札とに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるステップを含む、請求項4に記載の方法。
【請求項6】
前記順序付けするステップは、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるステップを含む、請求項4に記載の方法。
【請求項7】
検索クエリに関連するプレーストコンテンツをパーソナライズする方法であって、
ユーザから検索クエリを受信するステップと、
前記ユーザに関連付けられたユーザプロファイルにアクセスするステップと、
前記検索クエリに適合する一組のプレーストコンテンツを識別するステップと、
前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札値と、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるステップと、
前記一組のプレーストコンテンツを、それらの得点に従ってランク付けするステップとを含む方法。
【請求項8】
前記ユーザプロファイルは、以前に発行された複数の検索クエリ内のクエリタームに、少なくとも部分的に基づいている、請求項7に記載の方法。
【請求項9】
前記ユーザプロファイルは、一組の文書から導き出される情報を含む、前記ユーザに関する情報に基づき、前記一組の文書は、検索エンジンからの検索結果によって識別される文書と、前記検索エンジンからの検索結果によって識別される前記文書にリンクされた文書と、前記ユーザによってアクセスされた文書にリンクされた文書と、前記ユーザによって閲覧された文書とからなる組から選択された複数の文書を含む、請求項7に記載の方法。
【請求項10】
前記得点を割り当てる前記ステップは、
前記ユーザプロファイルと、各プレーストコンテンツに関連付けられたプレーストコンテンツプロファイルとの間の類似性得点を判定するステップを含む、請求項7に記載の方法。
【請求項11】
前記類似性得点を判定する前記ステップは、
前記ユーザプロファイルのユーザプロファイルベクトルであって、カテゴリとそれぞれの重みとの第1のペアを含むユーザプロファイルベクトルと、前記プレーストコンテンツのプレーストコンテンツプロファイルベクトルであって、カテゴリとそれぞれの重みとの第2のペアを含むプレーストコンテンツプロファイルベクトルとの間の数学的距離を判定するステップを含む、請求項10に記載の方法。
【請求項12】
前記類似性得点をスケーリングファクタに関連付けるステップをさらに含む、請求項10に記載の方法。
【請求項13】
前記類似性得点をスケーリングファクタに関連付けるステップをさらに含み、前記スケーリングファクタは複数のサブファクタのうちの1つから選択され、前記サブファクタのそれぞれは前記類似性得点の値の各範囲に関連付けられる、請求項10に記載の方法。
【請求項14】
前記一組のプレーストコンテンツのそれぞれに前記得点を割り当てる前記ステップは、前記スケーリングファクタと、前記それぞれのクリックスルーレートと、前記それぞれの入札値とを乗算するステップを含む、請求項12に記載の方法。
【請求項15】
最大の類似性得点に関連付けられる前記スケーリングファクタは、中位の類似性得点に関連付けられる前記スケーリングファクタよりも小さい、請求項14に記載の方法。
【請求項16】
前記スケーリングファクタは、類似性得点をクリックスルーレートに関連付ける統計情報に従って決定される、請求項12に記載の方法。
【請求項17】
前記プレーストコンテンツを広告として提供するステップをさらに含む、請求項71に記載の方法。
【請求項18】
プレーストコンテンツをパーソナライズするためのシステムであって、
ユーザプロファイルと、
複数のプレーストコンテンツを含むプレーストコンテンツサーバとを備え、前記プレーストコンテンツサーバは、識別されたユーザの関心に対応する、前記複数のプレーストコンテンツのサブセットを識別し、前記ユーザプロファイルに従って、前記サブセット内の各プレーストコンテンツに得点を割り当て、前記プレーストコンテンツの前記それぞれの得点に基づいて前記サブセットをランク付けするシステム。
【請求項19】
前記プレーストコンテンツサーバは、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札とに従って、前記サブセット内の各プレーストコンテンツに得点を割り当てるように構成される、請求項18に記載のシステム。
【請求項20】
前記プレーストコンテンツサーバは、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記サブセット内の各プレーストコンテンツに得点を割り当てるように構成される、請求項18に記載のシステム。
【請求項21】
検索クエリに関連するプレーストコンテンツをパーソナライズするためのシステムであって、
ユーザプロファイルと、
複数のプレーストコンテンツを含むプレーストコンテンツサーバとを備え、前記プレーストコンテンツサーバは、検索クエリに適合する、前記複数のプレーストコンテンツのサブセットを識別し、前記ユーザプロファイルに従って、前記サブセット内の各プレーストコンテンツに得点を割り当て、前記プレーストコンテンツの前記それぞれの得点に基づいて前記サブセットをランク付けするシステム。
【請求項22】
前記プレーストコンテンツサーバは、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札とに従って、前記サブセット内の各プレーストコンテンツに得点を割り当てるように構成される、請求項21に記載のシステム。
【請求項23】
前記プレーストコンテンツサーバは、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記サブセット内の各プレーストコンテンツに得点を割り当てるように構成される、請求項21に記載のシステム。
【請求項24】
検索クエリに関連するプレーストコンテンツをパーソナライズするためのシステムであって、
ユーザプロファイルと、
複数のプレーストコンテンツを含むプレーストコンテンツサーバとを備え、前記プレーストコンテンツサーバは、検索クエリに適合する、前記複数のプレーストコンテンツのサブセットを識別し、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札値と、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記サブセット内の各プレーストコンテンツに得点を割り当て、前記プレーストコンテンツの前記それぞれの得点に基づいて前記サブセットをランク付けするシステム。
【請求項25】
前記ユーザプロファイルは、以前に発行された複数の検索クエリ内のクエリタームに、少なくとも部分的に基づいている、請求項24に記載のシステム。
【請求項26】
前記ユーザプロファイルは、一組の文書から導き出される情報を含む、ユーザに関する情報に基づき、前記一組の文書は、検索エンジンからの検索結果によって識別される文書と、前記検索エンジンからの検索結果によって識別される前記文書にリンクされた文書と、前記ユーザによってアクセスされた文書にリンクされた文書と、前記ユーザによって閲覧された文書とからなる組から選択された複数の文書を含む、請求項24に記載のシステム。
【請求項27】
前記得点は、前記ユーザプロファイルと、各プレーストコンテンツに関連付けられたプレーストコンテンツプロファイルとの間の類似性得点に基づいている、請求項24に記載のシステム。
【請求項28】
前記類似性得点は、前記ユーザプロファイルのユーザプロファイルベクトルであって、カテゴリとそれぞれの重みとの第1のペアを含むユーザプロファイルベクトルと、前記プレーストコンテンツのプレーストコンテンツプロファイルベクトルであって、カテゴリとそれぞれの重みとの第2のペアを含むプレーストコンテンツプロファイルベクトルとの間の数学的距離に基づいている、請求項27に記載のシステム。
【請求項29】
前記類似性得点に関連付けられたスケーリングファクタをさらに含む、請求項27に記載のシステム。
【請求項30】
前記スケーリングファクタは複数のサブファクタのうちの1つであり、前記サブファクタのそれぞれは前記類似性得点の値の各範囲に関連付けられる、請求項29に記載のシステム。
【請求項31】
前記プレーストコンテンツの組の中の各プレーストコンテンツの前記得点は、前記プレーストコンテンツについての、前記それぞれのスケーリングファクタと、前記それぞれのクリックスルーレートと、前記それぞれの入札値とを乗算した積に対応する、請求項29に記載のシステム。
【請求項32】
最大の類似性得点に関連付けられる前記スケーリングファクタは、中位の類似性得点に関連付けられる前記スケーリングファクタよりも小さい、請求項31に記載のシステム。
【請求項33】
前記スケーリングファクタは、類似性得点をクリックスルーレートに関連付ける統計情報に基づいている、請求項29に記載のシステム。
【請求項34】
前記プレーストコンテンツは広告である、請求項24に記載のシステム。
【請求項35】
コンピュータシステムと組み合わせて使用するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、
ユーザの関心を識別するための命令と、
前記ユーザに関連付けられたユーザプロファイルにアクセスするための命令と、
前記識別されたユーザの関心に対応する一組のプレーストコンテンツを識別するための命令と、
前記ユーザプロファイルに従って前記一組のプレーストコンテンツを順序付けするための命令とを含むコンピュータプログラム製品。
【請求項36】
前記順序付けするための命令は、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札とに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるための命令を含む、請求項35に記載のコンピュータプログラム製品。
【請求項37】
前記順序付けするための命令は、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるための命令を含む、請求項35に記載のコンピュータプログラム製品。
【請求項38】
コンピュータシステムと組み合わせて使用するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、
ユーザから検索クエリを受信するための命令と、
前記ユーザに関連付けられたユーザプロファイルにアクセスするための命令と、
前記検索クエリに適合する一組のプレーストコンテンツを識別するための命令と、
前記ユーザプロファイルに従って前記一組のプレーストコンテンツのそれぞれに得点を割り当てるための命令と、
前記一組のプレーストコンテンツを、それらの得点に従ってランク付けするための命令とを含むコンピュータプログラム製品。
【請求項39】
前記ランク付けするための命令は、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札とに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるための命令を含む、請求項38に記載のコンピュータプログラム製品。
【請求項40】
前記ランク付けするための命令は、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるための命令を含む、請求項38に記載のコンピュータプログラム製品。
【請求項41】
コンピュータシステムと組み合わせて使用するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、
ユーザから検索クエリを受信するための命令と、
前記ユーザに関連付けられたユーザプロファイルにアクセスするための命令と、
前記検索クエリに適合する一組のプレーストコンテンツを識別するための命令と、
前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札値と、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるための命令と、
前記一組のプレーストコンテンツを、それらの得点に従ってランク付けするための命令とを含むコンピュータプログラム製品。
【請求項42】
前記ユーザプロファイルは、以前に発行された複数の検索クエリ内のクエリタームに、少なくとも部分的に基づいている、請求項41に記載のコンピュータプログラム製品。
【請求項43】
前記ユーザプロファイルは、一組の文書から導き出される情報を含む、前記ユーザに関する情報に基づき、前記一組の文書は、検索エンジンからの検索結果によって識別される文書と、前記検索エンジンからの検索結果によって識別される前記文書にリンクされた文書と、前記ユーザによってアクセスされた文書にリンクされた文書と、前記ユーザによって閲覧された文書とからなる組から選択された複数の文書を含む、請求項41に記載のコンピュータプログラム製品。
【請求項44】
前記得点を割り当てるための前記命令は、前記ユーザプロファイルと、各プレーストコンテンツに関連付けられたプレーストコンテンツプロファイルとの間の類似性得点を判定するための命令を含む、請求項41に記載のコンピュータプログラム製品。
【請求項45】
前記類似性得点を判定するための前記命令は、前記ユーザプロファイルのユーザプロファイルベクトルであって、カテゴリとそれぞれの重みとの第1のペアを含むユーザプロファイルベクトルと、前記プレーストコンテンツのプレーストコンテンツプロファイルベクトルであって、カテゴリとそれぞれの重みとの第2のペアを含むプレーストコンテンツプロファイルベクトルとの間の数学的距離を判定するための命令を含む、請求項44に記載のコンピュータプログラム製品。
【請求項46】
前記類似性得点をスケーリングファクタに関連付けるための命令をさらに含む、請求項44に記載のコンピュータプログラム製品。
【請求項47】
前記類似性得点をスケーリングファクタに関連付けるための命令をさらに含み、前記スケーリングファクタは複数のサブファクタのうちの1つから選択され、前記サブファクタのそれぞれは前記数学的距離の正規化された値の各範囲に関連付けられる、請求項45に記載のコンピュータプログラム製品。
【請求項48】
前記一組のプレーストコンテンツのそれぞれに前記得点を割り当てるための前記命令は、前記スケーリングファクタと、前記それぞれのクリックスルーレートと、前記それぞれの入札値とを乗算するための命令を含む、請求項46に記載のコンピュータプログラム製品。
【請求項49】
最大の類似性得点に関連付けられる前記スケーリングファクタは、中位の類似性得点に関連付けられる前記スケーリングファクタよりも小さい、請求項48に記載のコンピュータプログラム製品。
【請求項50】
前記スケーリングファクタは、類似性得点をクリックスルーレートに関連付ける統計情報に従って決定される、請求項46に記載のコンピュータプログラム製品。
【請求項51】
前記プレーストコンテンツは広告である、請求項41に記載のコンピュータプログラム製品。
【請求項52】
検索クエリに関連するプレーストコンテンツをパーソナライズするためのシステムであって、
ユーザから検索クエリを受信するための手段と、
前記ユーザについてのユーザプロファイルにアクセスするための手段と、
前記検索クエリに適合する一組のプレーストコンテンツを識別するための手段と、
前記ユーザプロファイルに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるための手段と、
前記一組のプレーストコンテンツを、それらの得点に従ってランク付けするための手段とを備えるシステム。
【請求項1】
プレーストコンテンツをパーソナライズする方法であって、
ユーザの関心を判定するステップと、
前記ユーザに関連付けられたユーザプロファイルにアクセスするステップと、
前記ユーザの前記関心に対応する一組のプレーストコンテンツを識別するステップと、
前記ユーザプロファイルに従って前記一組のプレーストコンテンツを順序付けするステップとを含む方法。
【請求項2】
前記順序付けするステップは、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札とに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるステップを含む、請求項1に記載の方法。
【請求項3】
前記順序付けするステップは、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるステップを含む、請求項1に記載の方法。
【請求項4】
検索クエリに関連するプレーストコンテンツをパーソナライズする方法であって、
ユーザから検索クエリを受信するステップと、
前記ユーザに関連付けられたユーザプロファイルにアクセスするステップと、
前記検索クエリに適合する一組のプレーストコンテンツを識別するステップと、
前記ユーザプロファイルに従って前記一組のプレーストコンテンツを順序付けするステップとを含む方法。
【請求項5】
前記順序付けするステップは、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札とに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるステップを含む、請求項4に記載の方法。
【請求項6】
前記順序付けするステップは、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるステップを含む、請求項4に記載の方法。
【請求項7】
検索クエリに関連するプレーストコンテンツをパーソナライズする方法であって、
ユーザから検索クエリを受信するステップと、
前記ユーザに関連付けられたユーザプロファイルにアクセスするステップと、
前記検索クエリに適合する一組のプレーストコンテンツを識別するステップと、
前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札値と、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるステップと、
前記一組のプレーストコンテンツを、それらの得点に従ってランク付けするステップとを含む方法。
【請求項8】
前記ユーザプロファイルは、以前に発行された複数の検索クエリ内のクエリタームに、少なくとも部分的に基づいている、請求項7に記載の方法。
【請求項9】
前記ユーザプロファイルは、一組の文書から導き出される情報を含む、前記ユーザに関する情報に基づき、前記一組の文書は、検索エンジンからの検索結果によって識別される文書と、前記検索エンジンからの検索結果によって識別される前記文書にリンクされた文書と、前記ユーザによってアクセスされた文書にリンクされた文書と、前記ユーザによって閲覧された文書とからなる組から選択された複数の文書を含む、請求項7に記載の方法。
【請求項10】
前記得点を割り当てる前記ステップは、
前記ユーザプロファイルと、各プレーストコンテンツに関連付けられたプレーストコンテンツプロファイルとの間の類似性得点を判定するステップを含む、請求項7に記載の方法。
【請求項11】
前記類似性得点を判定する前記ステップは、
前記ユーザプロファイルのユーザプロファイルベクトルであって、カテゴリとそれぞれの重みとの第1のペアを含むユーザプロファイルベクトルと、前記プレーストコンテンツのプレーストコンテンツプロファイルベクトルであって、カテゴリとそれぞれの重みとの第2のペアを含むプレーストコンテンツプロファイルベクトルとの間の数学的距離を判定するステップを含む、請求項10に記載の方法。
【請求項12】
前記類似性得点をスケーリングファクタに関連付けるステップをさらに含む、請求項10に記載の方法。
【請求項13】
前記類似性得点をスケーリングファクタに関連付けるステップをさらに含み、前記スケーリングファクタは複数のサブファクタのうちの1つから選択され、前記サブファクタのそれぞれは前記類似性得点の値の各範囲に関連付けられる、請求項10に記載の方法。
【請求項14】
前記一組のプレーストコンテンツのそれぞれに前記得点を割り当てる前記ステップは、前記スケーリングファクタと、前記それぞれのクリックスルーレートと、前記それぞれの入札値とを乗算するステップを含む、請求項12に記載の方法。
【請求項15】
最大の類似性得点に関連付けられる前記スケーリングファクタは、中位の類似性得点に関連付けられる前記スケーリングファクタよりも小さい、請求項14に記載の方法。
【請求項16】
前記スケーリングファクタは、類似性得点をクリックスルーレートに関連付ける統計情報に従って決定される、請求項12に記載の方法。
【請求項17】
前記プレーストコンテンツを広告として提供するステップをさらに含む、請求項71に記載の方法。
【請求項18】
プレーストコンテンツをパーソナライズするためのシステムであって、
ユーザプロファイルと、
複数のプレーストコンテンツを含むプレーストコンテンツサーバとを備え、前記プレーストコンテンツサーバは、識別されたユーザの関心に対応する、前記複数のプレーストコンテンツのサブセットを識別し、前記ユーザプロファイルに従って、前記サブセット内の各プレーストコンテンツに得点を割り当て、前記プレーストコンテンツの前記それぞれの得点に基づいて前記サブセットをランク付けするシステム。
【請求項19】
前記プレーストコンテンツサーバは、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札とに従って、前記サブセット内の各プレーストコンテンツに得点を割り当てるように構成される、請求項18に記載のシステム。
【請求項20】
前記プレーストコンテンツサーバは、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記サブセット内の各プレーストコンテンツに得点を割り当てるように構成される、請求項18に記載のシステム。
【請求項21】
検索クエリに関連するプレーストコンテンツをパーソナライズするためのシステムであって、
ユーザプロファイルと、
複数のプレーストコンテンツを含むプレーストコンテンツサーバとを備え、前記プレーストコンテンツサーバは、検索クエリに適合する、前記複数のプレーストコンテンツのサブセットを識別し、前記ユーザプロファイルに従って、前記サブセット内の各プレーストコンテンツに得点を割り当て、前記プレーストコンテンツの前記それぞれの得点に基づいて前記サブセットをランク付けするシステム。
【請求項22】
前記プレーストコンテンツサーバは、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札とに従って、前記サブセット内の各プレーストコンテンツに得点を割り当てるように構成される、請求項21に記載のシステム。
【請求項23】
前記プレーストコンテンツサーバは、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記サブセット内の各プレーストコンテンツに得点を割り当てるように構成される、請求項21に記載のシステム。
【請求項24】
検索クエリに関連するプレーストコンテンツをパーソナライズするためのシステムであって、
ユーザプロファイルと、
複数のプレーストコンテンツを含むプレーストコンテンツサーバとを備え、前記プレーストコンテンツサーバは、検索クエリに適合する、前記複数のプレーストコンテンツのサブセットを識別し、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札値と、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記サブセット内の各プレーストコンテンツに得点を割り当て、前記プレーストコンテンツの前記それぞれの得点に基づいて前記サブセットをランク付けするシステム。
【請求項25】
前記ユーザプロファイルは、以前に発行された複数の検索クエリ内のクエリタームに、少なくとも部分的に基づいている、請求項24に記載のシステム。
【請求項26】
前記ユーザプロファイルは、一組の文書から導き出される情報を含む、ユーザに関する情報に基づき、前記一組の文書は、検索エンジンからの検索結果によって識別される文書と、前記検索エンジンからの検索結果によって識別される前記文書にリンクされた文書と、前記ユーザによってアクセスされた文書にリンクされた文書と、前記ユーザによって閲覧された文書とからなる組から選択された複数の文書を含む、請求項24に記載のシステム。
【請求項27】
前記得点は、前記ユーザプロファイルと、各プレーストコンテンツに関連付けられたプレーストコンテンツプロファイルとの間の類似性得点に基づいている、請求項24に記載のシステム。
【請求項28】
前記類似性得点は、前記ユーザプロファイルのユーザプロファイルベクトルであって、カテゴリとそれぞれの重みとの第1のペアを含むユーザプロファイルベクトルと、前記プレーストコンテンツのプレーストコンテンツプロファイルベクトルであって、カテゴリとそれぞれの重みとの第2のペアを含むプレーストコンテンツプロファイルベクトルとの間の数学的距離に基づいている、請求項27に記載のシステム。
【請求項29】
前記類似性得点に関連付けられたスケーリングファクタをさらに含む、請求項27に記載のシステム。
【請求項30】
前記スケーリングファクタは複数のサブファクタのうちの1つであり、前記サブファクタのそれぞれは前記類似性得点の値の各範囲に関連付けられる、請求項29に記載のシステム。
【請求項31】
前記プレーストコンテンツの組の中の各プレーストコンテンツの前記得点は、前記プレーストコンテンツについての、前記それぞれのスケーリングファクタと、前記それぞれのクリックスルーレートと、前記それぞれの入札値とを乗算した積に対応する、請求項29に記載のシステム。
【請求項32】
最大の類似性得点に関連付けられる前記スケーリングファクタは、中位の類似性得点に関連付けられる前記スケーリングファクタよりも小さい、請求項31に記載のシステム。
【請求項33】
前記スケーリングファクタは、類似性得点をクリックスルーレートに関連付ける統計情報に基づいている、請求項29に記載のシステム。
【請求項34】
前記プレーストコンテンツは広告である、請求項24に記載のシステム。
【請求項35】
コンピュータシステムと組み合わせて使用するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、
ユーザの関心を識別するための命令と、
前記ユーザに関連付けられたユーザプロファイルにアクセスするための命令と、
前記識別されたユーザの関心に対応する一組のプレーストコンテンツを識別するための命令と、
前記ユーザプロファイルに従って前記一組のプレーストコンテンツを順序付けするための命令とを含むコンピュータプログラム製品。
【請求項36】
前記順序付けするための命令は、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札とに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるための命令を含む、請求項35に記載のコンピュータプログラム製品。
【請求項37】
前記順序付けするための命令は、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるための命令を含む、請求項35に記載のコンピュータプログラム製品。
【請求項38】
コンピュータシステムと組み合わせて使用するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、
ユーザから検索クエリを受信するための命令と、
前記ユーザに関連付けられたユーザプロファイルにアクセスするための命令と、
前記検索クエリに適合する一組のプレーストコンテンツを識別するための命令と、
前記ユーザプロファイルに従って前記一組のプレーストコンテンツのそれぞれに得点を割り当てるための命令と、
前記一組のプレーストコンテンツを、それらの得点に従ってランク付けするための命令とを含むコンピュータプログラム製品。
【請求項39】
前記ランク付けするための命令は、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札とに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるための命令を含む、請求項38に記載のコンピュータプログラム製品。
【請求項40】
前記ランク付けするための命令は、前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるための命令を含む、請求項38に記載のコンピュータプログラム製品。
【請求項41】
コンピュータシステムと組み合わせて使用するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、
ユーザから検索クエリを受信するための命令と、
前記ユーザに関連付けられたユーザプロファイルにアクセスするための命令と、
前記検索クエリに適合する一組のプレーストコンテンツを識別するための命令と、
前記ユーザプロファイルと、前記プレーストコンテンツについてのそれぞれの入札値と、前記プレーストコンテンツについてのそれぞれのクリックスルーレートとに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるための命令と、
前記一組のプレーストコンテンツを、それらの得点に従ってランク付けするための命令とを含むコンピュータプログラム製品。
【請求項42】
前記ユーザプロファイルは、以前に発行された複数の検索クエリ内のクエリタームに、少なくとも部分的に基づいている、請求項41に記載のコンピュータプログラム製品。
【請求項43】
前記ユーザプロファイルは、一組の文書から導き出される情報を含む、前記ユーザに関する情報に基づき、前記一組の文書は、検索エンジンからの検索結果によって識別される文書と、前記検索エンジンからの検索結果によって識別される前記文書にリンクされた文書と、前記ユーザによってアクセスされた文書にリンクされた文書と、前記ユーザによって閲覧された文書とからなる組から選択された複数の文書を含む、請求項41に記載のコンピュータプログラム製品。
【請求項44】
前記得点を割り当てるための前記命令は、前記ユーザプロファイルと、各プレーストコンテンツに関連付けられたプレーストコンテンツプロファイルとの間の類似性得点を判定するための命令を含む、請求項41に記載のコンピュータプログラム製品。
【請求項45】
前記類似性得点を判定するための前記命令は、前記ユーザプロファイルのユーザプロファイルベクトルであって、カテゴリとそれぞれの重みとの第1のペアを含むユーザプロファイルベクトルと、前記プレーストコンテンツのプレーストコンテンツプロファイルベクトルであって、カテゴリとそれぞれの重みとの第2のペアを含むプレーストコンテンツプロファイルベクトルとの間の数学的距離を判定するための命令を含む、請求項44に記載のコンピュータプログラム製品。
【請求項46】
前記類似性得点をスケーリングファクタに関連付けるための命令をさらに含む、請求項44に記載のコンピュータプログラム製品。
【請求項47】
前記類似性得点をスケーリングファクタに関連付けるための命令をさらに含み、前記スケーリングファクタは複数のサブファクタのうちの1つから選択され、前記サブファクタのそれぞれは前記数学的距離の正規化された値の各範囲に関連付けられる、請求項45に記載のコンピュータプログラム製品。
【請求項48】
前記一組のプレーストコンテンツのそれぞれに前記得点を割り当てるための前記命令は、前記スケーリングファクタと、前記それぞれのクリックスルーレートと、前記それぞれの入札値とを乗算するための命令を含む、請求項46に記載のコンピュータプログラム製品。
【請求項49】
最大の類似性得点に関連付けられる前記スケーリングファクタは、中位の類似性得点に関連付けられる前記スケーリングファクタよりも小さい、請求項48に記載のコンピュータプログラム製品。
【請求項50】
前記スケーリングファクタは、類似性得点をクリックスルーレートに関連付ける統計情報に従って決定される、請求項46に記載のコンピュータプログラム製品。
【請求項51】
前記プレーストコンテンツは広告である、請求項41に記載のコンピュータプログラム製品。
【請求項52】
検索クエリに関連するプレーストコンテンツをパーソナライズするためのシステムであって、
ユーザから検索クエリを受信するための手段と、
前記ユーザについてのユーザプロファイルにアクセスするための手段と、
前記検索クエリに適合する一組のプレーストコンテンツを識別するための手段と、
前記ユーザプロファイルに従って、前記一組のプレーストコンテンツのそれぞれに得点を割り当てるための手段と、
前記一組のプレーストコンテンツを、それらの得点に従ってランク付けするための手段とを備えるシステム。
【図1】
【図2】
【図3】
【図4A】
【図4B】
【図5】
【図6】
【図7A】
【図7B】
【図8】
【図9A】
【図9B】
【図10】
【図11】
【図2】
【図3】
【図4A】
【図4B】
【図5】
【図6】
【図7A】
【図7B】
【図8】
【図9A】
【図9B】
【図10】
【図11】
【公開番号】特開2011−227922(P2011−227922A)
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−145885(P2011−145885)
【出願日】平成23年6月30日(2011.6.30)
【分割の表示】特願2007−521656(P2007−521656)の分割
【原出願日】平成17年7月12日(2005.7.12)
【出願人】(502208397)グーグル インコーポレイテッド (161)
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願番号】特願2011−145885(P2011−145885)
【出願日】平成23年6月30日(2011.6.30)
【分割の表示】特願2007−521656(P2007−521656)の分割
【原出願日】平成17年7月12日(2005.7.12)
【出願人】(502208397)グーグル インコーポレイテッド (161)
[ Back to top ]