(57)【要約】  本明細書に記載された方法、装置、およびコンピュータ読み取り可能媒体は、推薦と関連付けられたセレンディピティを増大させることがあるレコメンダシステムを提供することがある。レコメンダシステムは、明らかな共起アイテム、稀なアイテムを除外し、アイテムテーブルと関連付けられた共起アイテムの個数を限定する。ローカル重み付け値およびグローバル重み付け値は、共起重みを導出するために計算されることがある。共起重みは、明らかな共起アイテムおよび稀な共起アイテムを除外するために最大閾共起値および最小閾共起値と比較されることがある。
2013508878.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツの推薦をユーザに提供する装置（１２５）によってネットワーク（１００）において実施される方法において、
前記装置（１２５）によって格納されたアイテムテーブル内のアイテムを分散するステップ（４１０）と、
アイテムが前記アイテムテーブルのうちの１つと関連付けられている他のアイテムと共起しているかどうかを計算するステップ（４１５）であって、
前記他のアイテムと前記アイテムテーブルのうちの前記１つに含まれる共起アイテムとの間の共起を表現するローカル重み付け係数を計算するステップ（５０５）、
前記アイテムと前記アイテムテーブル内の前記複数のアイテムとの間の共起を表現するグローバル重み付け係数を計算するステップ（５１０）、
前記ローカル重み付け係数および前記グローバル重み付け係数に基づいて共起重みを計算するステップ（５１５）、ならびに
前記共起重みが１つまたは複数の規準を満たすかどうかを判定するステップ（５２０）
を含む計算するステップ（４１５）と、
前記共起重みが前記１つまたは複数の規準を満たすことが判定されたとき、前記アイテムを共起アイテムとして前記アイテムテーブルのうちの前記１つに格納するステップ（５２５）と
によって特徴づけられる方法。
【請求項２】
前記１つまたは複数の規準は、各アイテムテーブルに対する共起アイテムの限定された個数、前記共起重みに対する最大値、または前記共起重みに対する最小値のうちの１つまたは複数を含む、請求項１に記載の方法。
【請求項３】
前記共起重みに対する前記最大値は、明白性の指標に対応し、前記共起重みに対する前記最小値は、希少性の指標に対応する、請求項２に記載の方法。
【請求項４】
前記ユーザから推薦要求を受信するステップ（４２０）と、
前記アイテムテーブルに基づいて推薦応答を前記ユーザに送信するステップ（４３５）と
をさらに備える、請求項１に記載の方法。
【請求項５】
前記アイテムは、本、映画、消費者製品、サービス、レストラン、または音楽のうちの１つまたは複数に対応する、請求項１に記載の方法。
【請求項６】
前記装置（１２５）は、Ｃｈｏｒｄプロトコルに従って動作する、請求項１に記載の方法。
【請求項７】
前記グローバル重み付け係数は、逆文書頻度（ＩＤＦ）表現、エントロピ表現、グローバル重み逆文書頻度（ＧＦＩＤＦ）、正規表現、または修正エントロピ表現のうちの１つに基づいて計算される、請求項１に記載の方法。
【請求項８】
前記ローカル重み付け係数は、ログ（ターム頻度＋１）表現、頻度表現、またはバイナリ表現のうちの１つに基づいて計算される、請求項１に記載の方法。
【請求項９】
前記他のアイテムおよび前記共起アイテムに対応する前記アイテムテーブルのうちの前記１つのエントリは、ユーザ識別子、アイテム識別子、および特定のアイテムに対するユーザ格付けを含む、請求項１に記載の方法。
【請求項１０】
装置（１２５）上でアイテムテーブル内のアイテムを分散する命令（４１０）と、
アイテムが前記アイテムテーブルのうちの１つと関連付けられている他のアイテムと共起しているかどうかを計算する命令（４１５）であって、
前記他のアイテムと前記アイテムテーブルのうちの前記１つに含まれる共起アイテムとの間の共起を表現するローカル重み付け係数を計算するための命令（５０５）、
前記アイテムと前記アイテムテーブル内の前記複数のアイテム間の共起を表現するグローバル重み付け係数を計算するための命令（５１０）、
前記ローカル重み付け係数および前記グローバル重み付け係数に基づいて共起重みを計算する命令（５１５）、ならびに
前記共起重みが１つまたは複数の規準を満たすかどうかを判定する命令（５２０）
を含む計算する命令（４１５）と、
前記共起重みが前記１つまたは複数の規準を満たすことが判定されたとき、前記アイテムを共起アイテムとして前記アイテムテーブルのうちの前記１つに格納する命令（５２５）と
を格納する１つまたは複数のコンピュータ読み取り可能な媒体。
【請求項１１】
前記１つまたは複数の規準は、各アイテムテーブルに対する共起アイテムの限定された個数、前記共起重みに対する最大値、または前記共起重みに対する最小値のうちの１つまたは複数を含む、請求項１０に記載の１つまたは複数のコンピュータ読み取り可能な媒体。
【請求項１２】
前記共起重みに対する前記最大値は、明白性の指標に対応し、前記共起重みに対する前記最小値は、希少性の指標に対応する、請求項１１に記載の１つまたは複数のコンピュータ読み取り可能な媒体。
【請求項１３】
前記判定する命令は、
前記共起重みに対する前記最大値を前記共起重みと比較するための命令と、
前記共起重みに対する前記最小値を前記共起重みと比較するための命令と
を含む、請求項１２に記載の１つまたは複数のコンピュータ読み取り可能な媒体。
【請求項１４】
前記共起重みは、前記ローカル重み付け係数と前記グローバル重み付け係数との間の乗算演算からの結果に等しい値である、請求項１０に記載の１つまたは複数のコンピュータ読み取り可能な媒体。
【請求項１５】
前記装置（１２５）は、アイテムベースの共同フィルタリング推薦システムに対応する、請求項１０に記載の１つまたは複数のコンピュータ読み取り可能な媒体。
【請求項１６】
ネットワーク（１００）内の装置（１２５）において、
前記１台または複数の装置（１２５）によって格納されたアイテムテーブル内のアイテムを分散するための命令（４１０）と、
アイテムが前記アイテムテーブルのうちの１つと関連付けられている他のアイテムと共起しているかどうかを計算するための命令（４１５）であって、前記計算するときに、１台または複数のプロセッサが、
前記他のアイテムと前記アイテムテーブルのうちの前記１つに含まれる共起アイテムとの間の共起を表現するローカル重み付け係数を計算し（５０５）、
前記アイテムと前記アイテムテーブル内の前記複数のアイテム間の共起を表現するグローバル重み付け係数を計算し（５１０）、
前記ローカル重み付け係数および前記グローバル重み付け係数に基づいて共起重みを計算し（５１５）、かつ
前記共起重みが１つまたは複数の規準を満たすかどうかを判定（５２０）することになる命令（４１５）と、
前記共起重みが前記１つまたは複数の規準を満たすことが判定されたとき、前記アイテムを共起アイテムとして前記アイテムテーブルのうちの前記１つに格納するための命令（５２５）と、
ユーザから推薦要求を受信する命令（４２０）と、
前記アイテムテーブルに基づいて推薦応答を前記ユーザに送信する命令（４３５）とを
前記１台または複数のプロセッサ（２１０）、ならびに１つまたは複数のメモリ（２１５）が実行することによって特徴づけられる装置（１２５）。
【請求項１７】
前記１つまたは複数の規準は、各アイテムテーブルに対する共起アイテムの限定された個数、前記共起重みに対する最大値、または前記共起重みに対する最小値のうちの１つまたは複数を含む、請求項１６に記載の装置。
【請求項１８】
前記共起重みに対する前記最大値は、明白性の指標に対応し、前記共起重みに対する前記最小値は、希少性の指標に対応する、請求項１７に記載の装置。
【請求項１９】
前記１台または複数の装置は、前記Ｃｈｏｒｄプロトコルに従って動作する、請求項１６に記載の装置。
【請求項２０】
前記アイテムは、本、映画、消費者製品、サービス、レストラン、または音楽のうちの１つまたは複数に対応する、請求項１６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に記載された実施態様は、広くはレコメンダシステムに関する。より具体的には、本明細書に記載された実施態様は、分散ベースのレコメンダシステムに関する。
【背景技術】
【０００２】
レコメンダシステムは、情報空間と相互作用しながら、自己の意思決定を行うユーザを支援することを目的とするシステムである。レコメンダシステムは、推薦を支援するデータと、このデータを操作するアルゴリズムとに基づいて分類されることがある。たとえば、レコメンダシステムは、共同制作、コンテンツベース、知識ベース、人口統計、およびユーティリティベースのような様々なカテゴリに分類されることがある。たとえば、個人化、社会的、アイテム、またはこれらの組み合わせのような多種多様の推薦アプローチが存在する。
【０００３】
共同レコメンダシステムは、所与のユーザと他のユーザとの間の共通点を発見し、類似したユーザが好意的に格付けしたアイテムを推薦するために、ユーザからの格付けを使用する。共同レコメンダシステムは、アイテム推薦を行うためにアイテム共同フィルタリングアルゴリズムを利用する。しかし、この型式のレコメンダシステムと関連付けられた１つの課題は、このレコメンダシステムの成長性である。すなわち、共同レコメンダシステムは、アイテム、アイテムの格付け、およびそのユーザに由来するデータの増大し続けるリポジトリを管理できることが必要である。この問題を取り扱う１つのアプローチは、データを分散することである。たとえば、Ｃｈｏｒｄベースのレコメンダシステムが実現されることがある。
【０００４】
Ｃｈｏｒｄベースのレコメンダシステムは、データを一定数の装置によってホストされることがある一定数のアイテムテーブルに分散する。アイテムテーブルは、共起アイテムおよびこれらの格付けと一緒に、すべてのユーザと、特定のアイテムに対するすべてのユーザの格付けとを含むことができる。アイテムテーブルは、Ｃｈｏｒｄプロトコルに従って装置に分散させられる。たとえば、Ｃｈｏｒｄプロトコルは、各装置ならびにネットワークに関与しているデータをＣｈｏｒｄリングにマップする。ハッシュ関数が、Ｃｈｏｒｄリング上の各装置のためのノード識別子を生成するために使用される。Ｃｈｏｒｄベースのレコメンダシステムでは、各ユーザは、ユーザが利用し、格付けしたアイテムのリストを含むユーザプロファイルを有する。ユーザが推薦を要求するとき、Ｃｈｏｒｄベースのレコメンダシステムは、ユーザプロファイルを調べ、その後、ハッシュ関数を使用して、ユーザプロファイルの中のアイテムと関連付けられたアイテムテーブルの場所を探し出すために探索を実施する。Ｃｈｏｒｄベースのレコメンダシステムは、アイテムテーブル上でアイテムベースの共同フィルタリングを実施し、推薦結果がユーザへ提示される。
【０００５】
しかし、共同レコメンダシステムの欠点は、最も類似したアイテムがユーザに典型的に推薦されることである。たとえば、ユーザが好意的に映画（たとえば、ターミネータ）を格付けした場合、ターミネータ２：ジャッジメント・デイ、ターミネータ３：ライズ・オブ・ザ・マシーン、および／または、ターミネータ・サルベーションのような映画をユーザに推薦することは、非常に明白な推薦と同じでもよい。特定のコンテンツの続編は、非常に明白な推薦の例示に過ぎないこと、および、非常に明白な推薦を構成することがあるコンテンツの間に他の関係が存在してもよいことが理解されるであろう。付加的に、または、代替的に、あまり類似していないと考えられるアイテムは、（たとえば、ある特定の閾に起因して、アイテム推薦結果の順序に起因して、その他に起因して）ユーザに推薦されないことがある。
【０００６】
共同レコメンダシステムのさらなる欠点は、データの分散が実質的なデータ冗長性をもたらす可能性があることである（すなわち、共起アイテムが他のユーザのアイテムテーブルのそれぞれに含まれる）。このようにして、共同レコメンダシステムは、より多くのリソース（たとえば、記憶装置リソース、プロセッシングリソースなど）を必要とすることがあり、かつ／または、様々な性能測定基準（たとえば、応答時間）に悪影響を与えることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記不利点のうちの少なくとも一部を取り除き、推薦システムと、ユーザに提供される推薦サービスとを改善することが目的である。本明細書に記載された例示的な実施態様では、レコメンダシステムは、推薦と関連付けられたセレンディピティを増大することがある。例示的な実施態様では、レコメンダシステムは、推薦から明白な共起アイテムおよび／または稀な共起アイテムを除外すること、および／または、アイテムと関連付けられた共起アイテムの個数を限定することがある。例示的な実施態様では、明白な共起アイテムおよび稀な共起アイテムは、グローバル重み付け係数およびローカル重み付け係数に基づいて共起重みを計算することにより除外されることがある。計算された共起重みは、明白性の指標を表現することがある最大閾共起重みと比較されることがある。付加的に、計算された共起重みは、希少性（またはユーザにとっての不愉快さ）の指標を表現することがある最小閾共起重みと比較されることがある。
【課題を解決するための手段】
【０００８】
例示的な実施態様では、レコメンダシステムは、分散ベースのレコメンダシステムに対応することがある。たとえば、レコメンダシステムは、Ｃｈｏｒｄプロトコルに基づいて実現されることがある。
【０００９】
一態様によれば、コンテンツの推薦をユーザに提供する装置によって方法が実施されることがある。この方法は、装置によって格納されたアイテムテーブルにアイテムを分散するステップと、アイテムがアイテムテーブルのうちの１つと関連付けられている他のアイテムと共起しているかどうかを計算するステップであって、アイテムテーブルのうちの１つに含まれる他のアイテムと共起アイテムとの間の共起を表現するローカル重み付け係数を計算するステップ、アイテムとアイテムテーブル内の複数のアイテム間の共起を表現するグローバル重み付け係数を計算するステップ、ローカル重み付け係数およびグローバル重み付け係数に基づいて共起重みを計算するステップ、ならびに共起重みが１つまたは複数の規準を満たすかどうかを判定するステップを備える計算するステップと、共起重みが１つまたは複数の規準を満たすことが判定されたとき、アイテムを共起アイテムとしてアイテムテーブルのうちの１つに格納するステップとを含む。
【００１０】
別の態様によれば、１つまたは複数のコンピュータ読み取り可能な媒体は、装置上でアイテムテーブル内のアイテムを分散する命令と、アイテムがアイテムテーブルのうちの１つと関連付けられている他のアイテムと共起しているかどうかを計算するための命令であって、アイテムテーブルのうちの１つに含まれる他のアイテムと共起アイテムとの間の共起を表現するローカル重み付け係数を計算する命令、アイテムとアイテムテーブル内の複数のアイテム間の共起を表現するグローバル重み付け係数を計算する命令、ローカル重み付け係数およびグローバル重み付け係数に基づいて共起重みを計算する命令、ならびに共起重みが１つまたは複数の規準を満たすかどうかを判定する命令を備える計算するための命令と、共起重みが１つまたは複数の規準を満たすことが判定されたとき、アイテムを共起アイテムとしてアイテムテーブルのうちの１つに格納する命令とを格納することがある。
【００１１】
さらに別の態様によれば、ネットワーク内の装置は、装置によって格納されたアイテムテーブル内のアイテムを分散するための命令と、アイテムがアイテムテーブルのうちの１つと関連付けられている他のアイテムと共起しているかどうかを計算する命令であって、計算するときに、１台または複数のプロセッサが、アイテムテーブルのうちの１つに含まれる他のアイテムと共起アイテムとの間の共起を表現するローカル重み付け係数を計算し、アイテムとアイテムテーブル内の複数のアイテム間の共起を表現するグローバル重み付け係数を計算し、ローカル重み付け係数およびグローバル重み付け係数に基づいて共起重みを計算し、かつ、共起重みが１つまたは複数の規準を満たすかどうかを判定することになる命令と、共起重みが１つまたは複数の規準を満たすことが判定されたとき、アイテムを共起アイテムとしてアイテムテーブルのうちの１つに格納するための命令と、ユーザから推薦要求を受信する命令と、アイテムテーブルに基づいて推薦応答をユーザに送信する命令とを実行するために１台または複数のプロセッサ、ならびに１つまたは複数のメモリを含むことがある。
【図面の簡単な説明】
【００１２】
【図１】本明細書に記載された例示的なレコメンダシステムが実現されることがある例示的な環境を示す図である。
【図２】例示的な環境に示された１台または複数の装置に対応することがある装置の例示的なコンポーネントを示す図である。
【図３Ａ】例示的なレコメンダシステムと関連付けられた例示的な機能コンポーネントを示す図である。
【図３Ｂ】アクティブアイテムおよび共起アイテムを含むことがある例示的なアイテムテーブルを示す図である。
【図４】レコメンダシステムおよびサービスを提供する例示的なプロセスを示す流れ図である。
【図５】アイテムがアイテムテーブルに共起アイテムとして追加されることがあるかどうかを判定する例示的なプロセスを示す流れ図である。
【図６】明白なアイテムおよび稀なアイテムを含む例示的なアイテムの分散を示す図である。
【発明を実施するための形態】
【００１３】
以下の詳細な説明は、添付図面を参照する。異なった図面中の同じ符号は、同一のまたは類似した要素を特定することがある。同様に、以下の説明は、本発明を限定しない。それどころか、発明の範囲は、付加された特許請求の範囲によって定められる。
【００１４】
本明細書に記載された実施態様は、推薦のため非常に明白であると考えられるアイテムを除外することがあり、かつ／または、推薦のため非常に稀であると考えられることがあるアイテム（たとえば、ユーザにとって不愉快なことがあるアイテム）を除外するレコメンダシステムを提供する。例示的な実施態様では、レコメンダシステムは、１つまたは複数の規準に基づいてアイテムを除外することがある。たとえば、レコメンダシステムは、アイテムテーブルの中に含まれるべき共起アイテムの個数を限定することがある。付加的に、または代替的に、レコメンダシステムは、アイテムが共起アイテムとしてアイテムテーブルに追加される前に最大閾共起重み、および／または最小閾共起重みを満たすことを要求することがある。従来型のレコメンダシステムとは異なって、本明細書に記載されたレコメンダシステムは、明白なアイテム、稀なアイテムを除外することによって、および／または、アイテムテーブルの中に含まれるアイテムの個数を限定することによってユーザへ推薦されるアイテムと関連付けられるセレンディピティを増大させることがある。
【００１５】
図１は、本明細書に記載された例示的なレコメンダシステムが実現されることがある例示的な環境１００を示す図である。図示されるように、環境１００は、ユーザ１０５と、ユーザ装置１１０と、アクセスネットワーク１２０と、分散型レコメンダシステム１２５−１から１２５−Ｎ（ここで、Ｎ＞１）（全体的に、レコメンダシステム１２５と呼ばれる）とを含むことがある。
【００１６】
環境１００内の装置の台数および構成は、例示的であり、簡略化のため与えられている。実際上、環境１００は、より多数の装置および／またはネットワーク、より少数の装置および／またはネットワーク、異なった装置および／またはネットワーク、ならびに／あるいは、図１に示された装置および／またはネットワークと異なるように構成された装置および／またはネットワークを含むことがある。たとえば、他の実施態様では、レコメンダシステム１２５は、単独のネットワーク装置（たとえば、集中型レコメンダシステム）で実現されることがある。さらに、特定の装置によって実施されるように記載された一部の機能は、異なった装置または装置の組み合わせによって実施されることがある。
【００１７】
ユーザ１０５は、アイテムの推薦を求める人に対応することがある。アイテムは、たとえば、本、映画、音楽、消費者製品（たとえば、電器製品、衣服、自動車など）、サービス（たとえば、医師、弁護士のような専門家サービスなど）、レストラン、休暇スポットなどのような種々の事物に対応することがある。
【００１８】
ユーザ装置１１０は、他の装置、システム、ネットワークなどと通信する能力がある装置を含むことがある。ユーザ装置１１０は、携帯型装置、移動型装置、または据置き型装置に対応することがある。一例として、ユーザ装置１１０は、コンピュータ（たとえば、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータなど）、携帯情報端末（ＰＤＡ）、ワイヤレス電話機、車両ベースの装置、ウェブアクセス装置、または、何らかの他の型式の通信装置の形をとることがある。ユーザ装置１１０は、レコメンダシステム１２５へのユーザインターフェースを提供することがある。
【００１９】
アクセスネットワーク１２０は、ユーザ装置１１０にレコメンダシステム１２５へのアクセス権を与えることがある。アクセスネットワーク１２０は、いずれかの型式（有線および／または無線）の１つまたは複数のネットワークを含むことがある。たとえば、アクセスネットワーク１２０は、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、データネットワーク、プライベートネットワーク、パブリックネットワーク、インターネット、および／または、ネットワークの組み合わせを含むことがある。アクセスネットワーク１２０は、どのような数のプロトコル、規格などに従って動作してもよい。
【００２０】
レコメンダシステム１２５は、レコメンダシステム１２５−１からレコメンダシステム１２５−Ｎに対応する複数のネットワーク装置を含むことがある。ネットワーク装置は、たとえば、ネットワークコンピュータ、サーバ、または、他の型式の計算装置の形をとることがある。例示的な実施態様では、レコメンダシステム１２５は、Ｃｈｏｒｄプロトコルに従って動作することがある。他の実施態様では、レコメンダシステム１２５は、他のプロトコルに従って動作することがある。たとえば、レコメンダシステム１２５は、他の分散型ハッシュ・テーブル・プロトコル（たとえば、コンテンツ・アドレス可能ネットワーク（ＣＡＮ）、Ｔａｐｅｓｔｒｙ、Ｋａｄｅｍｌｉａ、Ｋｏｏｒｄｅ、またはＰａｓｔｒｙ）、またはピア・ツー・ピア（Ｐ２Ｐ）探索アルゴリズムに従って動作することがある。しかし、検討の目的のため、レコメンダシステム１２５は、Ｃｈｏｒｄプロトコルに関連して記載することにする。このような実施態様では、ネットワーク装置は、Ｃｈｏｒｄリングを形成することがある。Ｃｈｏｒｄリング内のノード識別子（ＩＤ）は、ネットワーク装置と関連付けられたネットワークアドレスに適用されるハッシュ関数を使用して判定されることがある。
【００２１】
レコメンダシステム１２５は、Ｃｈｏｒｄリングに基づいてデータをアイテムテーブルに分散することがある。例示的な実施態様では、各アイテムは、対応するアイテムテーブルを有することがある。たとえば、レコメンダシステム１２５が１千のアイテムを管理する場合、レコメンダシステム１２５は、１千のアイテムテーブルを管理することがある。例示的な実施態様では、アイテムテーブルに格納された情報は、ユーザ識別子、アイテム識別子、格付け、および共起アイテムを含むことがある。各ユーザ１０５は、ユーザ１０５が使用したすべてのアイテムユーザ１０５のリストと、これらのアイテムのユーザ１０５の格付けとを含むユーザプロファイルを有することがある。例示的な実施態様では、ユーザプロファイルは、ユーザ装置１１０に格納されることがある。
【００２２】
記載されるように、レコメンダシステム１２５は、アイテム推薦をユーザ１０５に提供することがある。しかし、従来型のレコメンダシステムと比べると、レコメンダシステム１２５は、推薦のため非常に明白であると考えられることがあるアイテムを除外することがあり、かつ／または、推薦のため非常に稀であると考えられることがあるアイテム（たとえば、ユーザ１０５にとって不愉快であるかもしれないアイテム）を除外することがある。例示的な実施態様では、レコメンダシステム１２５は、１つまたは複数の規準に基づいてアイテムを除外することがある。たとえば、レコメンダシステム１２５は、アイテムテーブルに含まれるべき共起アイテムの個数を限定することがある。付加的に、または代替的に、レコメンダシステム１２５は、アイテムテーブルに追加されるべきアイテムが最大閾共起重みを満たすこと、および／または、最小閾共起重みを満たすことを要求することがある。
【００２３】
図１を参照すると、例示的なシナリオでは、ユーザ１０５が特定のアイテムのための推薦を必要とし、アクセスネットワーク１２０を介して推薦要求１３５をレコメンダシステム１２５に送信すると仮定する。
【００２４】
レコメンダシステム１２５は、ユーザ１０５が使用し、格付けしたすべてのアイテムを挙げるユーザ１０５のユーザプロファイルを取得することがあり、これらのアイテムと関連付けられた共起アイテムをこれらの対応するアイテムテーブルから取り出すことがある。しかし、これらのアイテムと関連付けられた共起アイテムは、前述された１つまたは複数の規準を満たしているので、レコメンダシステム１２５は、ユーザ１０５への推薦用の思いがけないアイテムを含む推薦応答を生成する１４０。図示されるように、レコメンダシステム１２５は、推薦応答を１４５に提供することがある。
【００２５】
図１では、ユーザ１０５は、推薦応答を受信するために推薦を要求することが記載されているが、他の実施態様では、レコメンダシステム１２５は、ユーザ起動に基づいていない推薦を提供することがある。一例として、ビジネスの場面では、小売業者は、推薦（広告）を選択し、顧客に押し付けるためにレコメンダシステム１２５を利用することがある。
【００２６】
図２は、環境１００内に図示された１台または複数の装置に対応することがある装置２００の例示的なコンポーネントを示す図である。たとえば、装置２００は、レコメンダシステム１２５と関連付けられたユーザ装置１１０、および／または、ネットワーク装置に対応する。図示されるように、装置２００は、バス２０５と、プロセッサ２１０と、メモリ２１５と、記憶装置２２０と、入力装置２２５と、出力装置２３０と、通信インターフェース２３５とを含むことがある。
【００２７】
バス２０５は、装置２００のコンポーネント間での通信を可能にする経路を含むことがある。たとえば、バス２０５は、システムバス、アドレスバス、データバス、および／または、制御バスを含むことがある。バス２０５は、バスドライバ、バスアービタ、バスインターフェース、および／または、クロックをさらに含むことがある。
【００２８】
プロセッサ２０５は、命令および／またはデータを解釈および／または実行することがある。たとえば、プロセッサ２０５は、１台または複数のプロセッサ、マイクロプロセッサ、データプロセッサ、コプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、システム・オン・チップ（ＳＯＣ）、特定用途向け命令セットプロセッサ（ＡＳＩＰ）、コントローラ、プログラマブルロジック装置（ＰＬＤ）、チップセット、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、ならびに／あるいは、命令および／またはデータを解釈および／または実行することがある他のプロセシングロジックを含むことがある。プロセッサ２０５は、たとえば、オペレーティングシステムおよび／または種々のアプリケーションに基づいて装置２００の全体的な動作、または、動作の一部分を制御することがある。プロセッサ２０５は、装置２００のメモリ２１５、記憶装置２２０、他のコンポーネントから、および／または、装置２００の外部のソース（たとえば、別の装置またはネットワーク）からの命令にアクセスすることがある。
【００２９】
メモリ２１５は、情報（たとえば、データ、命令など）を格納することがある。メモリ２１５は、１つまたは複数の揮発性メモリ、ならびに／あるいは、１つまたは複数の不揮発性メモリを含むことがある。たとえば、メモリ２１５は、ランダム・アクセス・メモリ（ＲＡＭ）、動的ランダム・アクセス・メモリ（ＤＲＡＭ）、静的ランダム・アクセス・メモリ（ＳＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、プログラマブル・リード・オンリ・メモリ（ＰＲＯＭ）、強誘電性ランダム・アクセス・メモリ（ＦＲＡＭ）（登録商標）、消去可能プログラマブル・リード・オンリ・メモリ（ＥＰＲＯＭ）、フラッシュメモリ、および／または、他の形式の記憶用ハードウェアを含むことがある。
【００３０】
記憶装置２２０は、情報（たとえば、データ、アプリケーションなど）を格納することがある。たとえば、記憶装置２２０は、１つまたは複数のハードディスク（たとえば、磁気ディスク、光ディスク、光磁気ディスク、固体ディスクなど）および／または他の形式の記憶媒体（たとえば、コンピュータ読み取り可能な媒体、コンパクトディスク（ＣＤ）、デジタル多用途ティスク（ＤＶＤ）など）を含むことがある。
【００３１】
入力装置２２５は、情報が装置２００に入力されることを許可することがある。たとえば、入力装置２２５は、キーボード、キーパッド、タッチスクリーン、タッチパッド、マウス、ポート、ボタン、スイッチ、マイクロホン、音声認識ロジック、入力ポート、ノブ、および／または他の型式の入力コンポーネントを含むことがある。出力装置２３０は、情報が装置２００から出力されることを許可することがある。たとえば、出力装置２３０は、ディスプレイ、スピーカ、発光ダイオード（ＬＥＤ）、出力ポート、または他の型式の出力コンポーネントを含むことがある。
【００３２】
通信インターフェース２３５は、装置２００が他の装置、システム、ネットワークなどと通信することを可能にすることがある。たとえば、通信インターフェース２３５は、イーサネット（登録商標）インターフェース、光インターフェース、同軸インターフェース、ワイヤレスインターフェースなどを含むことがある。通信インターフェース２３５は、トランシーバコンポーネントを含むことがある。
【００３３】
図２は、装置２００の例示的なコンポーネントを示すが、他の実施態様では、装置２００は、より少数のコンポーネント、付加コンポーネント、および／または、図２に表され、かつ、本明細書に記載されたコンポーネントとは異なったコンポーネントを含むことがある。さらに、図２に表されたコンポーネントの構成は、他の実施態様では異なっていてもよいことが理解されるであろう。
【００３４】
例示的な実施態様では、レコメンダシステム１２５は、明白なアイテム、稀なアイテムを除外すること、および／または、アイテムテーブルに含まれるアイテムの個数を限定することによって、ユーザに推薦されたアイテムと関連付けられたセレンディピティを増大することがある。後述されるように、レコメンダシステム１２５は、重み付け係数および共起重みを計算することにより、新アイテムｊがアイテムｉのアイテムテーブルに追加されるべきかどうかを判定することがある。
【００３５】
たとえば、アクティブアイテムテーブルをアイテムテーブルｉに対応させ、アイテムテーブルｉが集合Ｓｉ＝｛ｉｉ，ｉ２，ｉ３．．．ｉｋ｝内のアイテムと格付け重複を有すると仮定する。さらに、集合Ｓｉ内に存在しない別のアイテムｊは、新格付けを受信し、その結果、アイテムテーブルｉとの重複を生じさせると仮定する。新アイテムｊは、集合Ｓｊ＝｛ｊ１，ｊ２，ｊ３．．．ｊｌ｝内のアイテムとの重複を有することがある。Ｃｉは、Ｃｉ＝｛ｃｉ，ｉ１，ｃｉ，ｉ２．．．ｃｉ，ｉｋ｝として、アイテムｉとＳｉ内のすべてのアイテムとの間の共同格付けの集合として定義されることがあり、Ｃｊは、Ｃｊ＝｛ｃｊ，ｊ１，ｃｊ，ｊ２．．．ｃｊ，ｊｋ｝として、アイテムｊとＳｊ内のアイテムとの間のすべての共同格付けの集合として定義されることがある。
【００３６】
例示的な事例では、アイテムｉおよびアイテムｊが２０を共起する場合、２０が高レベルの共起を表現するか、または、低レベルの共起を表現するかを判定することは難しいかもしれない。２０が高レベル共起であるか、または、低レベル共起であるかを判定するために、２０は、Ｃｉ内の共起の回数と比較されることがある。例示的な事例では、Ｃｉの平均回数が２００である場合、２０は、高レベルの共起ではない、と結論付けることが合理的であるかもしれない。しかし、アイテムｉとアイテムｊとの間の共起の回数は、Ｃｊ内の共起の回数と比較されることがある。例示的な事例では、Ｃｊの平均回数が４である場合、２０は、非常に高い共起を示すことがある。アイテムｉとアイテムｊとの間の共起、すなわち、アイテムｉおよびアイテムｊの両方が、他のアイテムとそれぞれどの程度共起するかに影響を与える２つの要因が存在することがある。
【００３７】
図３Ａは、レコメンダシステム１２５と関連付けられた例示的な機能コンポーネントを示す図である。図示されるように、レコメンダシステム１２５は、ローカル重み付け係数（ＬＷＦ）計算器３０５、グローバル重み付け係数（ＧＷＦ）計算器３１０、共起重み（ＣＷ）計算器３１５、および共起アイテム判定器（ＣＩＤ）３２０を含むことがある。ＬＷＦ計算器３０５、ＧＷＦ計算器３１０、ＣＷ計算器３１５、および／またはＣＩＤ３２０は、図２に示され、本明細書に記載されたコンポーネントに基づいて、ハードウェアとソフトウェアとの組み合わせ、ハードウェア、または、ソフトウェアとして実現されることがある。
【００３８】
ＬＷＦ計算器３０５は、ＬＷＦを計算することがある。ＬＷＦは、レコメンダシステム１２５のｉのネットワーク装置でのアイテムｉの共起に基づいて計算されることがある。ＬＷＦを計算するために必要とされるデータは、レコメンダシステム１２５のネットワーク装置のうちの１台で利用できることがあるので、ＬＷＦは、「ローカル」であると考えられることがある。たとえば、アイテムｉのアイテムテーブルがレコメンダシステム１２５−１に格納されている場合、レコメンダシステム１２５−１は、ＬＷＦを計算するためにレコメンダシステム１２５−２からデータ（たとえば、共起アイテム）を取得しなくてもよい。
【００３９】
ＬＷＤ計算器３０５は、様々なアルゴリズム、方法、または表現に基づいてＬＷＦを計算することがある。たとえば、ＬＷＦ計算器３０５は、頻度、バイナリ、ターム頻度のログに基づいてＬＷＦを計算することがある。頻度アプローチは、所与のアイテムがアイテムテーブルの中に出現する頻度の指標を提供する。バイナリアプローチは、値が１以上であるアイテム頻度を値１で置き換える。ターム頻度ログアプローチは、未加工の共起のログをとる。このようにして、ターム頻度ログアプローチは、ターム頻度の大きい差の影響を緩和することがある。ターム頻度ログアプローチは、
ｌｏｇ（ｃｉ，ｊ＋１）
として表現されることがある。
【００４０】
利用可能な異なるローカル重み付けアプローチの数から考えると、本明細書に具体的に記載されていない他のアルゴリズム、方法、または表現がＬＷＦを計算するのに利用されてもよいことが理解されるであろう。
【００４１】
ＧＷＦ計算器３１０は、ＧＷＦを計算することがある。ＧＷＦは、ｉのネットワーク装置だけでなく、レコメンダシステム１２５のすべてのネットワーク装置におけるアイテムｊに対するすべての共起に基づいて計算されることがある。ＧＷＦを計算するために必要とされるデータは、レコメンダシステム１２５の複数のネットワーク装置で利用できることがあるので、ＧＷＦは、「グローバル」であると考えられることがある。
【００４２】
ＧＷＦ計算器３１０は、様々なアルゴリズム、方法、または表現に基づいてＧＷＦを計算することがある。たとえば、ＧＷＦ計算器３１０は、逆文書頻度（ＩＤＦ）、エントロピ、グローバル重み逆文書頻度（ＧＦＩＤＦ）、正規、または修正エントロピに基づいてＧＷＦを計算することがある。これらの重み付けスキームの適用は、ｃｉ，ｊがアイテムｉとアイテムｊとの間の共起を表現し、ｓｉｚｅ（ＣＪ）が、アイテムｊが他のアイテムと共に有する共起の回数を表現し、ｓｕｍ（ＣＪ）がＣＪを有するすべての共起の合計を表現するとして、以下の例示的な表現：
【００４３】
正規：
【数１】
2013508878.tif 000003
【００４４】
ＧＦＩＤＦ：
【数２】
2013508878.tif 000004
【００４５】
ＩＤＦ：
【数３】
2013508878.tif 000005
ここで、ｎはアイテムの総数である、
【００４６】
エントロピ：
【数４】
2013508878.tif 000006
【００４７】
修正エントロピ：
【数５】
2013508878.tif 000007
を生じることがある。
【００４８】
しかし、エントロピは、アイテムの個数が増大するにつれて、非常に低い共起値を有する共起が優勢になるという１つの欠点を有することが理解されるであろう。しかし、修正エントロピは、エポックサイズを包含することにより、優勢になることから非常に低い共起値を有する共起の可能性を低減することがある。１つのエポックは、アイテムテーブル（たとえば、アイテムテーブルｊ）内のデータを通る１つのループを構成することになる。これは、共起に関してより低い限界を１エポック当たりに１回の共起に設定することと等価的である。このようにして、中間レベル共起アイテムは、より一層重要になることがある。さらに、修正エントロピは、増分的に動作することがあり、ストリーミングデータへの修正エントロピの使用を許可することがある。
【００４９】
利用可能なグローバル重み付けアプローチの数から考えると、本明細書に具体的に記載されていない他のアルゴリズム、方法、または表現がＧＷＦを計算するのに利用されてもよいことが理解されるであろう。
【００５０】
ＣＷ計算器３１５は、ＣＷを計算することがある。例示的な実施態様では、ＣＷ計算器３１５は、ＬＷＦおよびＧＷＦに基づいてＣＷを計算することがある。たとえば、ＣＷ計算器３１５は、ＬＷＦとＧＷＦとが乗じられる以下の表現：
ＣＷ＝ＧＷＦ＊ＬＷＦ
に基づいてＣＷを計算することがある。他の実施態様では、ＣＷ計算器３１５は、異なる表現に基づいてＣＷを計算することがある。たとえば、ＣＷは、ＬＷＦとＧＷＦとの間の比などとして表現されることがある。
【００５１】
ＣＩＤ３２０は、ＣＷ値が１つまたは複数の規準を満たすかどうかを判定することがある。例示的な実施態様では、ＣＩＤ３２０は、ＣＷ値を最大閾ＣＷ値および／または最小閾ＣＷ値と比較することがある。閾値は、静的でも動的でもよい。付加的に、または代替的に、閾値は、アイテム型式毎に合わされることがある。付加的に、または代替的に、ＣＩＤ３２０は、アイテムテーブルのサイズ（たとえば、アイテムの個数）を限定することがある。たとえば、アイテムテーブル内の共起アイテムの個数は、指定個数に限定されることがある。指定個数は、静的でも動的でもよい。指定個数は、アイテム型式に合わされることがある。
【００５２】
前述されているように、例示的な実施態様では、レコメンダシステム１２５は、データをアイテムテーブルに分散することがある。アイテムテーブルは、Ｃｈｏｒｄプロトコルに従って分散されることがある。例示的な実施態様では、各アイテムは、対応するアイテムテーブルを有することがある。
【００５３】
図３Ｂは、アクティブアイテムおよび共起アイテムを含むことがある例示的なアイテムテーブル３５０を示す図である。図示されるように、アイテムテーブル３５０は、ユーザＩＤフィールド３５５と、アイテムＩＤフィールド３６０と、格付けフィールド３６５とを含むことがある。本明細書で使用されるような用語「アイテムテーブル」は、アイテム近傍に対応するために広義に解釈されることが意図されている。
【００５４】
ユーザＩＤフィールド３５５は、各ユーザ１０５に対しある種の固有識別子を含むことがある。たとてば、ユーザ識別子は、文字列（たとえば、数値文字列、英数文字列、英文字列など）の形式をとることがある。
【００５５】
アイテムＩＤフィールド３６０は、各ユーザ１０５に対しある種の固有識別子を含むことがある。たとてば、アイテム識別子は、文字列（たとえば、数値文字列、英数文字列、英文字列など）の形式をとることがある。たとえば、本のアイテムＩＤは、国際標準図書番号（ＩＳＢＮ）に対応することがある。
【００５６】
格付けフィールド３６５は、格付けシステムを示す格付け情報を含むことがある。たとえば、格付け情報は、文字列（たとえば、数値文字列、英数文字列、英文字列など）の形式をとることがある。たとえば、格付けシステムは、ユーザが整数値の範囲から選択することを許可することがある。
【００５７】
さらに図示されるように、ユーザＩＤフィールド３５５、アイテムＩＤフィールド、および格付けフィールド３６５に基づいて、アイテムテーブル３５０は、アクティブアイテム３７０および共起アイテム３７５と関連付けられたデータを含むことがある。たとえば、アクティブアイテム３７０は、映画に対応することがあり、共起アイテム３７５は、他の映画、または、他の型式のアイテム（たとえば、本、音楽など）を含むことがある類似したアイテムに対応することがある。共起アイテム３７５は、アクティブアイテム３７０に関して類似度（または共起）の指標を有することがある。しかし、本明細書に記載されているように、レコメンダシステム１２５は、明白な共起アイテム、稀な共起アイテムを除外することがあり、かつ／または、アイテムテーブル３５０のサイズ（たとえば、共起アイテム３７５の個数）を限定することがある。
【００５８】
図３Ｂは、例示的なアイテムテーブル３５０を示すが、他の実施では、アイテムテーブル３５０は、追加および／または異なるフィールドを含むことがある。たとえば、アイテムテーブル３５０は、タイム・スタンプ・フィールド、ハッシュＩＤフィールド、別のアイテムテーブルを参照するフィールドなどを含むことがある。
【００５９】
図４は、レコメンダシステムおよび推薦サービスを提供する例示的なプロセス４００を示す流れ図である。例示的なプロセス４００は、レコメンダシステム１２５によって実施されることがある。検討の目的のため、データのコーパスが存在することが仮定されることがある。たとえば、データのコーパスは、アイテム、ユーザ、および格付けを識別する情報を含むことがある。
【００６０】
プロセス４００は、レコメンダシステムのための装置の台数を設定するステップを含むことがある（４０５）。たとえば、レコメンダシステム１２５は、レコメンダシステム１２５−１から１２５−Ｎに対応する特定の台数のネットワーク装置を含むことがあり、ここで、Ｎは、ネットワーク装置の台数を表現する。しかし、Ｃｈｏｒｄプロトコルは、ネットワーク装置がＣｈｏｒｄネットワークに出入りすることを可能にすることが理解されるであろう。例示的な実施態様では、これらのネットワーク装置は、Ｃｈｏｒｄネットワークを形成することがある。レコメンダシステム１２５は、ノードＩＤをレコメンダシステム１２５と関連付けられた各ネットワーク装置に割り当てることがある。たとえば、ネットワーク装置と関連付けられたネットワークアドレスは、ノードＩＤを形成するためにハッシュ化されることがある。他の実施態様では、他の型式の属性（たとえば、装置ＩＤなど）がノードＩＤを形成するのに使用されることがある。
【００６１】
アイテムテーブルのためのアイテムは、分散されることがある（ブロック４１０）。たとえば、データは、レコメンダシステム１２５によって受信され、格納される。データは、ユーザ、アイテム、および格付けを識別する情報を含むことがある。レコメンダシステム１２５は、受信データに基づいてアイテムテーブル３５０を生成することがある。例示的な実施態様では、レコメンダシステム１２５は、Ｃｈｏｒｄプロトコルを使用してアイテムテーブル３５０を分散することがある。たとえば、Ｎ＝２０（すなわち、レコメンダシステム１２５と関連付けられたネットワーク装置の台数）であり、かつ、１０００個のアイテムテーブル３５０が存在する場合、一様な分散を用いて、レコメンダシステム１２５と関連付けられた各ネットワーク装置は、５０個のアイテムテーブル３５０を格納することがある。前述されているように、例示的な実施態様では、アイテムテーブル３５０は、特に、ユーザＩＤフィールド３５５、アイテムＩＤフィールド３６０、および格付けフィールド３６５を含むことがある。レコメンダシステム１２５と関連付けられたネットワーク装置は、特に、ノードＩＤをアイテムＩＤフィールド３６０にマップすることがあるルーティングテーブル（Ｃｈｏｒｄプロトコルではフィンガーテーブルと称される）を生成することがある。
【００６２】
アイテムに対する共起アイテムは、計算され、アイテムテーブルの中に格納されることがある（ブロック４１５）。たとえば、レコメンダシステム１２５は、アクティブアイテム３７０間の類似度を計算し、類似しているとして判定されたアイテムを共起アイテム３７５として格納することがある。例示的な実施態様では、レコメンダシステム１２５は、アクティブアイテム３７０間の類似度を判定するために様々な方法を利用することがある。例示的な実施態様では、レコメンダシステム１２５は、相関ベースの類似度（たとえば、ピアソン相関係数、スピアマンの順位相関係数、ケンドールの相関係数など）に基づいてアイテム間でこの類似度を計算することがある。他の実施態様では、レコメンダシステム１２５は、類似度（コサインベースの類似度、調整コサインなど）を判定するために他の方法を利用することがある。付加的に、または代替的に、レコメンダシステム１２５は、後述のプロセスに基づいてアイテムテーブル３５０に対する共起アイテムを計算することがある。
【００６３】
図５は、アイテムがアイテムテーブルの中に共起アイテムとして追加されることがあるかどうかを判定する例示的なプロセス５００を示す流れ図である。たとえば、レコメンダシステム１２５は、アイテムｊがアイテムｉのアイテムテーブルに追加されることがあるかどうかを判定していると仮定する。
【００６４】
プロセス５００は、アイテムテーブルに対するＬＷＦを計算するステップを含むことがある（ブロック５０５）。ＬＷＦ計算器３０５は、ＬＷＦを計算することがある。ＬＷＦは、アイテムｉと関連付けられた共起アイテムに基づいて計算されることがある。例示的な実施態様では、ＬＷＦを計算するために必要とされるデータがアイテムｉのアイテムテーブルをホストするネットワーク装置（たとえば、レコメンダシステム１２５）上で利用できることがあるので、ＬＷＦは、「ローカル」重み付け係数と考えられることがある。このように、レコメンダシステム１２５−１は、リソース稼働率、時間などを最小化することがある別のネットワーク装置（たとえば、レコメンダシステム１２５−２）からのデータを取得しなくてもよい。
【００６５】
ＬＷＦ計算器３０５は、様々なアルゴリズム、方法、または表現に基づいてＬＷＦを計算することがある。たとえば、前述されているように、ＬＷＦ計算器３０５は、頻度、バイナリ、またはターム頻度のログに基づいてＬＷＦを計算することがある。
【００６６】
利用可能なローカル重み付けアプローチの数から考えると、本明細書に具体的に記載されていない他のアルゴリズム、方法、または表現がＬＷＦを計算するために利用されてもよいことが理解されるであろう。
【００６７】
アイテムテーブルに対するＧＷＦは、計算されることがある（ブロック５１０）。ＧＷＦ計算器３１０は、ＧＷＦを計算することがある。ＧＷＦは、アイテムｊに対する（すなわち、アイテムｉのネットワーク装置だけでなく、レコメンダシステム１２５のすべてのネットワーク装置において）すべての共起に基づいて計算されることがある。例示的な実施形態では、ＧＷＦ計算器３１０は、様々なアルゴリズム、方法、または表現に基づいてＧＷＦを計算することがある。たとえば、ＧＷＦ計算器３１０は、逆文書頻度（ＩＤＦ）、エントロピ、グローバル重み逆文書頻度（ＧＦＩＤＦ）、正規、または修正エントロピに基づいてＧＷＦを計算することがある。これらの重み付けスキームの適用は、ｃｉ，ｊがアイテムｉとアイテムｊとの間の共起を表現し、ｓｉｚｅ（ＣＪ）が、ｊが他のアイテムと共に有する共起の回数を表現し、ｓｕｍ（ＣＪ）がＣＪを有するすべての共起の合計を表現するとして、以下の例示的な表現：
【００６８】
正規：
【数６】
2013508878.tif 000008
【００６９】
ＧＦＩＤＦ：
【数７】
2013508878.tif 000009
【００７０】
ＩＤＦ：
【数８】
2013508878.tif 000010
ここで、ｎはアイテムの総数である、
【００７１】
エントロピ：
【数９】
2013508878.tif 000011
【００７２】
修正エントロピ：
【数１０】
2013508878.tif 000012
を生じることがある。
【００７３】
利用可能なグローバル重み付けアプローチの数から考えると、本明細書に具体的に記載されていない他のアルゴリズム、方法、または表現がＧＷＦを計算するために利用されてもよいことが理解されるであろう。
【００７４】
共起重み（ＣＷ）は、ＬＷＦおよびＧＷＦに基づいて計算されることがある（ブロック５１５）。たとえば、レコメンダシステム１２５のＣＷ計算器３１５は、ＬＷＦおよびＧＷＦに基づいてＣＷを計算することがある。例示的な実施態様では、ＣＷ計算器３１５は、ＬＷＦとＧＷＦとが乗じられる以下の表現：
ＣＷ＝ＧＷＦ＊ＬＷＦ
に基づいてＣＷを計算することがある。他の実施では、ＣＷ計算器３１５は、異なる表現に基づいてＣＷを計算することがある。たとえば、ＣＷは、ＬＷＦとＧＷＦとの間の比などとして表現されることがある。
【００７５】
ＣＷが１つまたは複数の規準を満たすかどうかが判定されることがある（ブロック５２０）。たとえば、ＣＩＤ３２０は、計算されたＣＷが１つまたは複数の規準を満たすかどうかを判定することがある。例示的な実施態様では、１つまたは複数の規準は、最大閾ＣＷ値、最小閾ＣＷ値、および／またはアイテムテーブル（たとえば、アイテムｉのアイテムテーブル）の（たとえば、アイテムの個数に関して）限定されたサイズを含むことがある。本明細書に記載されるように、ＣＩＤ３２０は、ＣＷ値を最大閾ＣＷ値および最小閾ＣＷ値の一方または両方と比較することにより、最大閾ＣＷ値および／または最小閾ＣＷ値を満たすかどうかを判定することがある。付加的に、ＣＩＤ３２０は、アイテムｉのアイテムテーブルに含まれるアイテムの個数を認識し、この個数をアイテムテーブル限界値と比較する。
【００７６】
特定のアイテム（たとえば、アイテムｉ、アイテムｊなど）と関連付けられた最大閾ＣＷ値および最小閾ＣＷ値と、アイテムテーブル（たとえば、アイテムｉのアイテムテーブル）と関連付けられたアイテムテーブル限界値とは、レコメンダシステム１２５の管理者によって（初期的に）設定されることがある。しかし、最大閾ＣＷ値、最小ＣＷ閾値、および／またはアイテムテーブル限界値は、静的な値でも動的な（たとえば、レコメンダシステムのユーザ１０５稼働率から受信されたフィードバックなどに適合する）値でもよいことが理解されるであろう。付加的に、または代替的に、最大閾ＣＷ値、最小ＣＷ閾値、および／またはアイテムテーブル限界値は、特定のアイテム（たとえば、特定の映画、特定の本など）、１つまたは複数のアイテムと関連付けられたジャンル（たとえば、アクション映画など）、あるいはアイテムと関連付けられた他の特性に合わせられることがある。
【００７７】
アイテムが１つまたは複数の規準を満たすと判定された場合（ブロック５２０−はい）、アイテムは、共起アイテムとしてアイテムテーブルに追加されることがある（ブロック５２５）。たとえば、ＣＩＤ３２０が、ＣＷ値は１つまたは複数の規準を満たすことを判定した場合、ＣＩＤ３２０は、共起アイテムとしてこのアイテムをアイテムテーブルの中に追加することがある。たとえば、アイテムｊは、共起アイテムとしてアイテムｉのアイテムテーブルに追加されることがある。
【００７８】
アイテムが１つまたは複数の規準を満たさないと判定された場合（ブロック５２０−いいえ）、アイテムは、共起アイテムとしてアイテムテーブルに追加されることがない（ブロック５３０）。たとえば、ＣＩＤ３２０がＣＷ値は１つまたは複数の規準を満たさないことを判定した場合、ＣＩＤ３２０は、共起アイテムとしてこのアイテムをアイテムテーブルの中に追加しないことがある。たとえば、アイテムｊは、共起アイテムとしてアイテムｉのアイテムテーブルに追加されることがない。
【００７９】
図４を振り返ってみると、ユーザ推薦要求が受信されることがある（ブロック４２０）。たとえば、ユーザ１０５は、ユーザ装置１１０を介して推薦要求１３５をレコメンダシステム１２５に送信することがある。
【００８０】
ユーザプロファイルは、取得されることがある（ブロック４２５）。たとえば、レコメンダシステム１２５は、推薦要求１３５を受信することに応答してユーザ装置１１０からユーザプロファイルを取得することがある。前述されているように、例示的な実施態様では、ユーザプロファイルは、ユーザ１０５が使用したすべてのアイテムと、これらのアイテムのユーザ１０５の格付けとのリストを含むことがある。たとえば、ユーザプロファイルは、フォーマット［アイテムＩＤ，格付け］＝［１，３］、［２，４］、［５，５］などに対応することがある。
【００８１】
推薦応答は、生成されることがある（ブロック４３０）。たとえば、レコメンダシステム１２５は、Ｃｈｏｒｄプロトコルに基づいて、ユーザ１０５のユーザプロファイル内に含まれるアイテムと関連付けられたすべての共起アイテムを取得することがある。たとえば、アイテムｉがユーザ１０５のユーザプロファイルに含まれる場合、レコメンダシステム１２５は、アイテムｉの（アイテムｊを含むことがあり、または、含まないことがある）アイテムテーブルからすべての共起アイテムを取得することがある。レコメンダシステム１２５は、前述された方法（たとえば、相関ベースの類似度、コサインベースの類似度、調整コサインなど）に基づいて各アイテムテーブル内のすべての共起アイテムに対する類似度を計算することがある。
【００８２】
推薦応答は、ユーザに送信されることがある（ブロック４３５）。たとえば、レコメンダシステム１２５は、推薦応答１４５をユーザ１０５に送信することがある。例示的な実施態様では、推薦応答１４５は、格付け値によって拡大・縮小された類似したアイテムのリストを含むことがある。しかし、従来型のレコメンダシステムとは異なって、アイテムテーブル内の共起アイテムは、前述されているように１つまたは複数の規準に基づいて限定されているので、類似したアイテムのリストは、思いがけないアイテムを含むことがある。
【００８３】
ユーザ装置１１０は、推薦応答１４５を受信することがある。ユーザ装置１１０および／またはレコメンダシステム１２５によって提供されるユーザインターフェースに依存して、ユーザ１０５は、様々な形式（たとえば、指定規準（たとえば、上位１０）に基づくソートされたリストなど）で（複数の）アイテム推薦を提示されることがある。
【００８４】
図４は、例示的なプロセス４００を示すが、他の実施態様では、より少数の動作、付加的な動作、および／または異なる動作が実施されることがある。たとえば、様々な重み付け係数（たとえば、ＬＷＦおよびＧＷＦ）が、計算されてもよいことが記載されているが、例示的な実施態様では、重み付け係数は、予め計算されることがある。たとえば、アイテムと関連付けられたＧＷＦは、比較的静的な値と考えられることがある。このようにして、アイテムテーブル３５０は、特定のアイテムと関連付けられたＧＷＦを格納することがある。付加的に、ある一定の数の新共起アイテムが追加されていない（すなわち、ほとんど変化していないか、または全く変化していない）アイテムテーブル３５０は、予め計算されたＬＷＦを利用することがある。このようにして、一部の事例では、ＧＷＦおよび／またはＬＷＦは、予め計算されることがあり、効率、リソース稼働率、レコメンダシステム１２５のネットワーク装置間の通信などを改善することがある。さらに、ＧＷＦは、アイテムのメタデータとして管理されることがある。例示的な事例では、アイテムｉのアイテムテーブルに関して共起アイテムとみなすと判定されたアイテムｊは、アイテムｊと関連付けられたＧＷＦを格納することがある。この場合も同様に、このような実施態様は、効率、リソース稼働率、レコメンダシステムのネットワーク装置間の通信などを改善することがある。
【００８５】
本明細書に記載されるように、レコメンダシステムは、推薦（たとえば、アイテム）と関連付けられたセレンディピティを増大することがある。付加的に、または代替的に、レコメンダシステムは、各アイテムテーブルに格納されたデータの量を削減することがある。たとえば、本明細書に記載されるように、共起アイテムが１つまたは複数の規準を満たさない場合、共起アイテムは、除外されることがある。換言すると、非常に明白、または、非常に稀と考えられる共起アイテムは、図６に示されるように、閾ＣＷ値に基づいてアイテムテーブルから除外されることがある。たとえば、最大閾ＣＷ値は、明白なアイテムを除外することがあり、最小閾ＣＷ値は、稀なアイテムを除外することがある。付加的に、または代替的に、アイテムテーブルのサイズは、限定されることがある。その結果、推薦を生成することと関連付けられた複雑さは、著しく改善されることがあり、次には、レコメンダシステムの性能および効率指標（たとえば、応答時間）と共にここから必然的に溢れ出すことになる他の利点を改善することがある。これらの恩恵は、リアルタイムシステムでは特に有益であるかもしれない。同様に、リソース稼働率を最小化することにより、レコメンダシステムのコスト（たとえば、削減されたデータ記憶装置、削減されたプロセッシングなど）は、最小化されることがある。
【００８６】
レコメンダシステム内のセレンディピティのレベルを増大することは、推薦を受信する人のための探索係数を対応して増大することがある。一例として、ビジネス環境では、探索係数の増大は、通常なら顧客が発見していなかったか、かつ／または、考慮していなかったかもしれない製品を顧客に紹介することによって、顧客の関心を潜在的に拡張することがある。顧客が自己の受信した推薦に満足しているとき、顧客満足度は、潜在的な収益と共に増大することがある。さらに、満足している顧客は、レコメンダシステムをより頻繁に利用することがあり、これは、次に、レコメンダシステムに、より一層のフィードバックを提供することがある。この正ループの結果として、レコメンダシステムは、このシステムの推薦をさらに改善するためにより多くの知識を取得することがある。
【００８７】
上記実施態様の説明は、例示を与えるが、網羅的であること、または、実施態様を開示されたそのままの形式に限定することが意図されていない。修正形態および変形形態は、上記説明に鑑みて可能であるか、または、教示の実践から獲得されることがある。
【００８８】
その上に、一連のブロックが図４および５に例示されたプロセスに関して記載されているが、ブロックの順序は、他の実施形態では、変更されることがある。さらに、依存性のないブロックは、並行して実施されることがある。本明細書に記載されたプロセスおよび／または動作は、コンピュータプログラムとして実現されてもよいことが理解されるであろう。コンピュータプログラムは、コンピュータ読み取り可能な媒体（たとえば、メモリ、ハードディスク、ＣＤ、ＤＶＤなど）に格納されるか、または、他の型式の媒体（たとえば、伝送媒体）に提示されてもよいことが理解されるであろう。
【００８９】
本明細書に記載された態様が図示された実施において多数の異なる形式のソフトウェア、ファームウェア、および／またはハードウェアで実現されてもよいことは、明白であろう。態様を実現するために使用された実際のソフトウェアコードまたは専用の制御ハードウェアは、本発明を限定しない。したがって、これらの態様の動作および挙動は、具体的なソフトウェアコードを参照することなく説明され、ソフトウェア、ファームウェア、および／または制御ハードウェアは、本明細書の説明に基づいて態様を実現するために設計できることが理解される。
【００９０】
特徴の特定の組み合わせが請求項に記載されるか、および／または、明細書に開示されるとしても、これらの組み合わせは、本発明の開示内容を限定することが意図されていない。実際上、これらの特徴のうちの多くは、請求項に具体的に記載されていない方法、および／または、明細書に開示されていない方法で組み合わされることがある。
【００９１】
用語「備える（ｃｏｍｐｒｉｓｅ）」または「備えている（ｃｏｍｐｒｉｓｉｎｇ）」は、明細書で使用されるとき、規定された特徴、整数、ステップ、またはコンポーネントの存在を指定することになっているが、１つまたは複数の他の特徴、整数、ステップ、コンポーネント、あるいはこれらのグループの存在または追加を除外しないことを指摘しておく。
【００９２】
本願において使用された要素、行為、または指示は、明示的に断らない限り、本明細書に記載された実施態様にとって決定的または不可欠なものとして解釈されるべきではない。
【００９３】
表現「することがある、してもよい（ｍａｙ）」は、本願の全体を通じて使用され、強制的な意味（たとえば、「しなければならない（ｍｕｓｔ）」としてではなく、たとえば、「する可能性がある（ｈａｖｉｎｇ  ｔｈｅ  ｐｏｔｅｎｔｉａｌ  ｔｏ」、「するように構成されている（ｃｏｎｆｉｇｕｒｅｄ  ｔｏ」、または、「する能力がある（ｃａｐａｂｌｅ  ｏｆ」として解釈されるべきことが意図されている。「単数形冠詞（ａ）」および「単数形冠詞（ａｎ）」は、たとえば、１つまたは複数のアイテムを包含するように解釈されるべきことが意図されている。１つのアイテムだけが意図されている場合、表現「１つの（ｏｎｅ）」または類似した言葉が使用される。さらに、「に基づく（ｂａｓｅｄ  ｏｎ）」という句は、明示的に断らない限り、たとえば、「少なくとも部分的に基づいている（ｂａｓｅｄ，  ａｔ  ｌｅａｓｔ  ｉｎ  ｐａｒｔ，  ｏｎ」を意味するために解釈されるべきことが意図されている。表現「および／または（ａｎｄ／ｏｒ）」は、関連付けられたリストアイテムのうちの１つまたは複数のありとあらゆる組み合わせを包含するために解釈されるべきことが意図されている。
【図１】
2013508878.tif 000013
【図２】
2013508878.tif 000014
【図３Ａ】
2013508878.tif 000015
【図３Ｂ】
2013508878.tif 000016
【図４】
2013508878.tif 000017
【図５】
2013508878.tif 000018
【図６】
2013508878.tif 000019
【国際調査報告】
2013508878.tif 000020
2013508878.tif 000021
2013508878.tif 000022