(57)【要約】      （修正有）【課題】多数の潜在的推薦項目を含み、多数の同時ユーザをサポートすることができるコンテキストベースの推薦システムを提供する。【解決手段】システムは、ユーザに関連付けられたコンテキスト情報を受信し、受信したコンテキスト情報に基づいて複数のユーザモデルを更新し、複数の項目を記憶する少なくとも１つの空間データ構造を識別する。各項目は、項目に関連付けられたベクトル値に基づいて空間データ構造内に記憶される。そして、システムは、所定範囲内のベクトル値を有する推薦項目の第１のセットを得るために空間データ構造を照会し、複数のユーザモデル及び各項目に関連付けられた特性評価ベクトルに基づいて推薦項目のセット内の各項目についてのスコアを算出し、算出されたスコアに基づいて推薦項目のセット内の項目をランク付けし、ユーザに対して１つ以上のトップランクの項目を推薦する。【選択図】図１
2015099593.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに対して推薦を提供する推薦システムにおいて、
ユーザに関連付けられたコンテキスト情報に基づいてユーザ活動及び／又は関心を検出するように構成された活動検出モジュールと、
活動検出モジュールの出力に基づいて複数のユーザモデルを更新するように構成されたモデル更新機構と、
各項目が項目に関連付けられたベクトル値に基づいて空間データ構造内に記憶される複数の項目を記憶するように構成され、ベクトル空間に対応する空間データ構造と、
所定範囲内のベクトル値を有する推薦項目の第１のセットを得るために空間データ構造を照会するように構成された照会機構と、
複数のユーザモデル及び各項目に関連付けられた特性評価ベクトルに基づいて推薦項目のセット内の各項目についてのスコアを算出し、
算出されたスコアに基づいて推薦項目のセット内の項目をランク付けし、
１つ以上のトップランクの項目をユーザに対して推薦する
ように構成された混合モデル推薦部とを備える、推薦システム。
【請求項２】
スコアを算出するときに、混合モデル推薦部が、さらに、
各ユーザモデルについてのモデル固有出力を算出し、
複数のユーザモデルにわたるモデル固有出力の加重和を算出する
ように構成されている、請求項１に記載の推薦システム。
【請求項３】
モデル固有出力を算出するときに、混合モデル推薦部が、さらに、
ユーザモデルのパラメータに対応する特性評価ベクトルにおける要素を識別し、
識別された要素の及び対応するユーザモデルのパラメータの関数としてモデル固有出力を算出する
ように構成されている、請求項２に記載の推薦システム。
【請求項４】
さらに、
異なるベクトル空間に対応する追加の空間データ構造を備え、
照会機構が、さらに、
推薦項目の第２のセットを得るために追加の空間データ構造を照会し、
推薦項目の第１及び第２のセットを使用して推薦項目の組み合わせセットを生成する
ように構成されている、請求項１に記載の推薦システム。
【請求項５】
複数の項目が、
ウェブページと、
消費項目と、
活動と、
会場と、
位置とのうちの１つ以上を含む、請求項１に記載の推薦システム。
【請求項６】
さらに、活動検出モジュールの出力に基づいてコンテキストグラフを更新するように構成されたコンテキストグラフ更新機構を備える、請求項１に記載の推薦システム。
【請求項７】
空間データ構造がセルにセグメント化され、各セルがセルの境界内のベクトル値を有する項目を記憶する、請求項１に記載の推薦システム。
【請求項８】
さらに、項目についての特性評価ベクトルを生成するように構成された項目特性評価モジュールを備える、請求項１に記載の推薦システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、推薦システムに関する。より具体的には、本開示は、複数の領域にわたって推薦を提供することができる汎用推薦システムに関する。
【背景技術】
【０００２】
物理的環境等のユーザコンテキストを検出するための技術を搭載したモバイル機器が我々の日常生活により広がるようになるのにともない、物理的環境を検出及び利用するコンテキストを意識した推薦アプリケーションは、ますますモバイル機器のユーザのライフスタイルの向上に寄与することができる。そのようなソフトウェアは、物理的環境を含むコンピューティング環境に適応することができ且つ物理的環境に基づいて推薦を行うことができるコンテキストを意識したシステムを含む。モバイル機器におけるコンテキストを意識したシステムは、コンピューティング環境を検出し、モバイル機器の位置や移動、近くの機器、並びに、他の周囲状況等の環境から検出される変化状況に適応する。追加のユーザコンテキストはまた、ユーザによって閲覧されるウェブページ又は文書、ユーザの過去の活動、ユーザによって表現される関心等の様々なユーザイベントから抽出されることができる。
【０００３】
そのようなコンテキストを意識したシステムは、異なるユーザコンテキストに基づいて様々なユーザモデルを確立することができる。ユーザモデルは、ユーザの行動や関心を記述するために使用されることができる。そして、コンテキストベースの推薦システムは、ユーザモデルに基づいて、レジャー活動等の活動を推薦することができる。しかしながら、多数の潜在的推薦項目を含み、多数の同時ユーザをサポートすることができるコンテキストベースの推薦システムを提供することは、計算的に困難な場合がある。さらに、従来の推薦システムは、大抵の場合、異なるユーザモデルを組み込むことができない。
【発明の概要】
【課題を解決するための手段】
【０００４】
本発明の１つの実施形態は、推薦システムを提供する。動作中において、システムは、ユーザに関連付けられたコンテキスト情報を受信し、受信したコンテキスト情報に基づいて複数のユーザモデルを更新し、複数の項目を記憶する少なくとも１つの空間データ構造を識別する。各項目は、項目に関連付けられたベクトル値に基づいて空間データ構造内に記憶される。そして、システムは、所定範囲内のベクトル値を有する推薦項目の第１のセットを得るために空間データ構造を照会し、複数のユーザモデル及び各項目に関連付けられた特性評価ベクトルに基づいて推薦項目のセット内の各項目についてのスコアを算出し、算出されたスコアに基づいて推薦項目のセット内の項目をランク付けし、１つ以上のトップランクの項目をユーザに推薦する。
【０００５】
この実施形態の変形例において、スコアを算出することは、各ユーザモデルについてのモデル固有出力を算出することと、複数のユーザモデルにわたるモデル固有出力の加重和を算出することとを含む。
【０００６】
さらなる変形例において、モデル固有出力を算出することは、ユーザモデルのパラメータに対応する特性評価ベクトルの要素を識別することと、識別された要素及びユーザモデルの対応するパラメータの関数としてモデル固有出力を算出することとを含む。
【０００７】
本実施形態の変形例において、システムは、異なるベクトル空間に対応する追加の空間データ構造を識別し、推薦項目の第２のセットを得るために追加の空間データ構造を照会し、推薦項目の第１及び第２のセットを使用して推薦項目の組み合わせセットを生成する。
【０００８】
この実施形態の変形例において、複数の項目は、以下のうちの１つ以上を含む：ウェブページ、消費項目、活動、会場及び位置。
【０００９】
この実施形態の変形例において、システムは、受信したコンテキスト情報に基づいて、ユーザに関連付けられたコンテキストグラフを更新する。
【００１０】
この実施形態の変形例において、空間データ構造はセルに分割され、各セルは、セルの境界内のベクトル値を有する項目を記憶する。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の実施形態にかかるコンテキストベースの推薦システムの例示的なアーキテクチャを図示する図を提示している。
【図２Ａ】図２Ａは、本発明の実施形態にかかる例示的な空間データ構造を図示する図を提示している。
【図２Ｂ】図２Ｂは、本発明の実施形態にかかる例示的な空間データ構造を図示する図を提示している。
【図３】図３は、本発明の実施形態にかかる例示的なコンテキストグラフを提示している。
【図４】図４は、本発明の実施形態にかかる項目についての特性評価ベクトルを生成する例示的なプロセスを図示するフローチャートを提示している。
【図５】図５は、本発明の実施形態にかかる空間データ構造を生成するための例示的なプロセスを図示するフローチャートを提示している。
【図６】図６は、本発明の実施形態にかかるユーザに対する推薦を行う例示的なプロセスを図示するフローチャートを提示している。
【図７】図７は、本発明の１つの実施形態にかかるユーザに対する推薦を提供するための例示的なコンピュータシステムを図示している。
【発明を実施するための形態】
【００１２】
図面において、同様の参照符号は、同一の図要素を指している。
【００１３】
以下の詳細な説明は、任意の当業者が実施形態を作製して使用するのを可能とするように提示され、特定の用途及びその要件の文脈において提供される。開示された実施形態に対する様々な変更は、当業者にとって容易に明らかであり、本願明細書において定義された一般的原理は、本開示の精神及び範囲から逸脱することなく他の実施形態及び用途に適用可能である。それゆえに、本発明は、示された実施形態に限定されるものではなく、本願明細書に開示された原理及び特徴と一致する最も広い範囲を与えられるべきである。
【００１４】
本発明の実施形態は、多数の異なる領域におけるコンテキストベースの推薦を提供する方法及びシステムを提供する。より具体的には、システムは、それぞれ特定のコンテンツ種類についての多数の異なる特性評価システムを含む。特性評価システムは、潜在的推薦項目についての特性評価ベクトルを生成するために使用されることができ、特性評価ベクトルにおける要素は、対応する推薦項目に関連付けられた正規化されたスコアを受け取る。特性評価ベクトルは、システムが推薦を行ったときに照会されることができる項目データベースに記憶される。推薦計算を加速するために、システムは、特性評価ベクトル要素の範囲によって項目の空間を分割する。推薦を行うとき、（ユーザコンテキストによって判定される）所定範囲内の特性評価ベクトルを有する項目のみが推薦項目として考えられる。システムは、さらに、推薦項目にスコア付けしてランク付けするように様々なユーザモデルスコアを組み合わせる混合モデル関数を呼び出す。
【００１５】
図１は、本発明の実施形態にかかるコンテキストベースの推薦システムの例示的なアーキテクチャを図示する図を提示している。図１において、推薦システム１００は、項目特性評価モジュール１０２と、活動検出モジュール１１２と、項目データベース１２０と、コンテキストグラフ生成部１２２と、空間構造生成部１２４と、混合モデル推薦部１２６とを含む。
【００１６】
項目特性評価モジュール１０２は、様々な潜在的推薦項目を特性評価する責を負う。この特性評価プロセスは、オフラインで行われることができる。図１に示されるように、項目特性評価モジュール１０２は、特性評価部１０４、１０６、１０８及び１１０等の複数の特性評価部を含む。なお、各特性評価部は、異なるコンテンツ種類に使用されることができることに留意すべきである。例えば、特性評価部１０４は、ウェブページ又はウェブ文書を特性評価するために使用されてもよい。１つの実施形態において、ウェブページ特性評価部は、ＯｐｅｎＣａｌａｉｓ（商標）（ニューヨーク、ＮＹのトムソン・ロイター社の商標）等のエンティティ抽出サービスに基づくシステムを含むことができる。より具体的には、ウェブページ特性評価部は、エンティティのリスト又は標準的な用語を抽出するＯｐｅｎＣａｌａｉｓ（商標）にウェブコンテンツを供給することができる。そして、特性評価部は、これらの抽出された用語についてのスコアを特性評価ベクトルに挿入することができる。なお、特性評価ベクトルは、項目の態様を表す各要素による任意数の要素又は次元を有するベクトルであることに留意すべきである。レストランについての例示的な特性評価ベクトルは、多数の地域的要素（アジアン、ヨーロピアン、南方等）、民族的要素（中華、タイ、イタリアン等）、価格範囲要素（高価、中程度、安価等）等を含むことができる。１つの実施形態において、（緯度及び経度を含む位置要素以外の）特性評価ベクトルにおける全ての要素は、０．０から１．０の間の範囲の正規化されたスコアを受け取る。さらなる実施形態において、これらの正規化されたスコアは、特性評価部によって与えられる。ウェブページ特性評価部の例において、それは、ウェブページから標準的な用語を抽出し、１つ以上のトップランクの用語に１．０のスコアを割り当て、低ランクの用語には低スコアを割り当てる。そして、特性評価部は、（対応する標準的な用語によって索引付けられた）これらの正規化されたスコアを特性評価ベクトルに挿入する。なお、最低ランクの用語の一部は、０のスコアを受け取ることができ、特性評価ベクトルに含まれないことに留意すべきである。特性評価ベクトルは、要素名によって索引付けられた値のハッシュマップに記憶されることができる。例えば、ウェブページのコンテンツがレストランのレビューを含んでいる場合、特定のレストランについて生成された特性評価ベクトルは、以下のようになる。｛レストラン＝１、緯度＝４０°２０’、経度＝９０°、タイ＝１、イタリアン＝０、アジアン＝１、高級料理＝０．５、カジュアルダイニング＝０．５、・・・｝。なお、ハッシュに存在しない要素は、０の値を有すると考えられることに留意すべきである。わかるように、特性評価ベクトルは、項目の様々な態様を定量的に記述するための方法である。この例において、特性評価ベクトルは、タイレストランを表しており、したがって、その「タイ」の度合いを測定するベクトル要素は、１．０の値が与えられる。逆に、その「イタリアン」の度合いを測定するベクトル要素は、０．０の値が与えられる。レストランの種類（又は価格範囲）は、高級レストランとカジュアルダイニングとの��とすることができ、それゆえに、双方の要素は、０．５の値が与えられる。同様に、ウェブページのコンテンツが政治的コメントを含む場合、特性評価ベクトルは、以下のようになる。｛民主主義者＝０．２、共和主義者＝０．３、自由主義者＝０．５、・・・｝。１つの実施形態において、標準的な用語を抽出してスコア付けするとき、特性評価部は、自然言語パーサ及び用語頻度−逆文書頻度（ＴＦ−ＩＤＦ）ランク付けアルゴリズムを使用することができる。
【００１７】
ウェブページ特性評価部に加えて、他の種類の特性評価部もまた、異なる種類の項目を特性評価するために含められることができる。例えば、特性評価部１０６は、（レビューウェブサイト、個人ブログ、広告等におけるエントリを含むことができる）目的地に関連した特定のウェブサイトから又はユーザレビューからデータを「リッピング」する責を負う多数の特定のパーサを含む旅行目的地特性評価部とすることができる。他の種類の項目は、これらに限定されるものではないが、以下を含むことができる：（書籍、電子機器、衣服、家庭用品等の）消費項目、（スポーツ活動、レジャー活動、特別利益活動等の）活動、（店舗、スポーツ会場、クラブ、劇場、医療施設等の）会場、地理的位置及び他の種類。特定の種類の項目のそれぞれについて、（特性評価部又は特定の種類の特性評価部内のモジュール等の）特定のモジュールが特性評価ベクトルを生成するために使用されることができる。１つの実施形態において、特定の項目は、特定の項目に関連する情報の様々な形式があるかもしれないことから、複数の特性評価部によって特性評価されることができる。例えば、推薦項目が会場Ｂにおける活動Ａに従事している場合、活動特性評価部及び会場特性評価部の双方が、この特定の項目についての特性評価ベクトルを生成するために使用される。なお、項目を特性評価する際に所定の機械学習技術が使用されてもよいことに留意すべきである。例えば、トレーニングされた分類器は、特性評価ベクトルを生成するために、大量のオンライン及びオフラインデータをマイニングするために使用することができる。
【００１８】
項目データベース１２０は、項目特性評価モジュール１０２からの出力を受信して記憶する。１つの実施形態において、項目データベース１２０は、多数の項目と、それらの関連する特性評価ベクトルとを記憶する。１つの実施形態において、各項目は、巨大ベクトルであり得る特性評価ベクトルに関連付けられている。なお、特性評価して特性評価ベクトルを記憶する処理は、オフラインで発生する可能性があることに留意すべきである。１つの実施形態において、推薦システム１００は、膨大な量のオンライン及びオフラインデータを収集して分析することによって、項目データベース１２０を継続的に構築することができる。さらなる実施形態において、項目データベース１２０は、手動で生成された特性評価ベクトルを含むことができる。例えば、人間である作業者は、レストランのレビューを読むか又はレストランを試し、レストランの様々な態様に対して正規化されたスコアを手動で与えることができ、それゆえに、レストランについての特性評価ベクトルを生成することができる。さらなる実施形態において、特性評価部は、レストランのレビューを読んだ人等の人間である作業者によって最初にトレーニングされることができる分類器を使用することができる。分類器がトレーニングされると、それは、収集されたデータに基づいて自動的にレストランを分類（又は特性評価）するために使用されることができる。
【００１９】
推薦システム１００が知識を蓄積することから、項目データベース１２０内の潜在的推薦項目の数は増加する。従来のアプローチにおいては、全ての項目にわたって網羅的な探索が必要とされることから、システムが推薦を行ったときに、多数の項目は、必要とされる多数の計算につながる可能性がある。推薦システム１００がまた、多数のユーザをサポートし、複数のユーザに対して同時に推薦を行う必要がある可能性がある場合には、これは問題であり得る。この問題を解決するために、本発明の実施形態においては、項目データベース１２０内の項目は、任意の特性評価ベクトル空間内の範囲によって項目の空間を分割することにより、これらの項目についての空間構造を生成する空間構造生成部１２４に供給される。もはやシステムが全ての可能な項目を検索する必要がないことから、項目空間の分割は、推薦計算を加速する。代わりに、システムは、（特定の範囲内の要素値を有する）項目の小さなセットを考慮してこれらの項目のみについて推薦計算を実行する必要があるのみとすることができ、それゆえに、必要とされる計算数を低減することができる。モデリングのニーズに応じて、空間構造は、異なる次元を有することができる。各空間構造は、項目空間の次元のサブセットを表すことができる。例えば、ユーザモデルが料理に関するものである場合、項目についての特性評価ベクトル内の（中華料理、タイ料理、イタリア料理等の）料理関連ベクトル要素のみが、ユーザモデルについての入力として必要とされる。したがって、空間データ構造は、それらの料理関連ベクトル要素に基づいて構築されることができる。
【００２０】
図２Ａは、本発明の実施形態にかかる例示的な空間データ構造を図示する図を提示している。図２Ａにおいて、空間データ構造２００は、項目データベース内の項目に対応する各ベクトルを有する多数の２次元ベクトルを含む２次元ベクトル空間である。２次元ベクトルの水平成分及び垂直成分は、特性評価において選択された要素の値に対応する。図２Ａに示される例において、空間データ構造２００は、水平成分が「中華料理」であり且つ垂直成分が「イタリア料理」である料理関連空間データ構造である。レストランとすることができる項目は、その特性評価ベクトルの「中華」成分及び「イタリアン」成分に基づいて空間データ構造２００に配置される。例えば、あまり中華の影響がないイタリアンレストランよりも多いレストラン２０２は、（０．１、０．８）のベクトル値を有し、あまりイタリアンの影響がない中華レストランよりも多いレストラン２０４は、（０．９、０．１）のベクトル値を有し、中華−イタリアンフュージョンレストランであるレストラン２０６のベクトル値は、（０．５、０．５）のように表される。図２Ｂは、本発明の実施形態にかかる例示的な空間データ構造を図示する図を提示している。図２Ｂに示される例において、空間データ構造２１０は、地理的位置に関するものであり、空間データ構造２１０におけるベクトルの水平成分及び垂直成分は、それぞれ、項目の緯度及び経度である。レストラン２０２、２０４及び２０６は、空間データ構造２１０における異なるベクトルによって表される。
【００２１】
空間データ構造における項目を配置することの１つの利点は、図２Ａにおけるケージ２１２及び図２Ｂにおけるケージ２１４等の空間構造内の「ケージ」を配置することにより、システムがここで推薦計算を加速することができるということである。ケージの形状は、ユーザ又は推薦システムのいずれかによって任意に定義されることができる。ケージの境界内の項目のみが推薦計算において考慮されている。図２Ａに示される例において、システムは、ユーザの嗜好が（ケージ２１２によってマーキングされた）所定範囲内で中華−イタリアンフュージョンを含む旨を（所定のユーザ嗜好モデルに基づいて）判定し、その範囲内に含まれる中華−イタリアンベクトルを有するレストランについての推薦計算のみを実行することができる。他の種類のレストランは、推薦計算のために考慮される必要はない。同様に、システムは、ユーザが（ケージ２１４によってマーキングされた）所定の地理的境界内のレストランにのみ興味がある可能性がある旨を（ユーザの現在位置及びその他の制約に基づいて）判定し、そのような地理的境界内のレストランについて推薦計算を実行することができる。
【００２２】
そのベクトル値を使用した各項目ベクトルの索引付けに加えて、１つ以上の項目ベクトルを含む各セグメントによって多数のセグメントに空間データ構造を分割することもまた可能である。そして、項目は、対応するセグメントの索引を使用して索引付けすることができる。図２Ａ及び図２Ｂに示される例において、グリッド線のセットは、セル２１６及びセル２１８等の多数のセルに空間データ構造を分割するために使用されることができる。各セルは、セル境界内に含まれるベクトル値を有する項目を含む。さらなる実施形態において、各セルは、水平及び垂直索引を有することができる。例えば、セル２１６は、３の水平索引及び３の垂直索引を有することができる。なお、空間データ構造は、必ずしもセルのグリッド構造を有する必要はないが、より一般的には、セルのグラフ構造を包含することができることに留意すべきである。特定のセグメント方法に関係なく、セグメントの１つの目的は、空間的に近似された項目の効率的な取り出しを可能とすることである。例えば、図２Ａ又は図２Ｂに示されるもの等のグリッド状の空間データ構造において、関心のある特定のセルの近くのセルは、関心のあるセルの索引から１を加算又は減算することによって容易に取り出されることができる。この動作は、より離れたセルに関連する項目を探索することなく完了することができる。
【００２３】
なお、説明の簡略化のために図２Ａにおける２次元の例を使用していることに留意すべきである。実際には、空間データ構造は、より多くの（３、４、５、・・・等の）又はより少ない次元を有することができる。
【００２４】
再度図１を参照すると、項目の特性評価及び項目に関連付けられた空間構造の生成を含むオフラインプロセスに加えて、推薦システム１００は、リアルタイムの情報フローを含む。より具体的には、活動検出モジュール１１２は、ユーザの活動、関心又はユーザの現在及び／又は将来の活動及びプロセスに関連する他の関心のある状態をリアルタイムで検出し、到来イベントがユーザの行動及び関心に関する高レベルの主張を生成するために流れる。１つの実施形態において、活動検出モジュール１１２は、活動検出器１１４、１１６及び１１８等の複数の活動検出器を含む。活動検出器は、ユーザに関連付けられたモバイル機器上にある各種センサからＧＰＳ追跡、加速度計出力、アプリケーションにおけるボタン選択、画面キャプチャ等の低レベルのユーザ活動追跡を受信する責を負う。活動検出器は、さらに、検出されたユーザコンテキストに基づいてユーザの行動及び関心に関するより高レベルのイベントや主張を生成することができる。より高レベルのイベントは、例えば、ユーザが電子メールを読むこととすることができる。より高レベルの主張は、例えば、作業するために電車に乗ってユーザが電子メールを読むことを好むこととすることができる。
【００２５】
ユーザの行動及び関心の高レベルのイベント又は主張は、コンテキストグラフを生成又は変更するコンテキストグラフ生成部１２２に送信されることができる。コンテキストグラフは、ユーザの行動及び関心に関する事実及び主張を記憶するインメモリモデルである。図３は、本発明の実施形態にかかる例示的なコンテキストグラフを提示している。図３に示される例において、コンテキストグラフ３００は、アジアン、アメリカン又はヨーロピアン等の料理の様々なスタイルについてのユーザの嗜好を記述する。エッジに隣接する数は、ユーザの嗜好の重みである。グラフは、ユーザが、アジアン料理の中で、中華、ベトナム又はタイ料理について異なる嗜好を有することができることを示している。１つの実施形態において、クライアント・サーバシステムは、コンテキストグラフを生成するために使用されることができる。例えば、（ユーザのモバイル機器上にある）クライアントは、コンテキストグラフを生成又は変更するようにイベント情報を分析するリモートサーバに対してユーザの行動及び関心に関するより高レベルのイベント又は主張を送信する。
【００２６】
そして、コンテキストグラフは、ユーザモデル１２８、１３０及び１３２等の多数のユーザモデルを含む混合モデル推薦部１２６に送信される。コンテキストグラフに含まれるパラメータは、複数のユーザモデルを更新するために混合モデル推薦部１２６によって使用されることができる。例えば、ユーザによって書かれたレストランのレビューに基づいて、ユーザの料理嗜好に関連付けられたコンテキストグラフが更新されてもよく、そして、更新されるべきユーザの料理嗜好を記述するユーザモデルにつながる。または、現在時刻及びユーザの位置に基づいて、コンテキストグラフ及びユーザモデルは、双方とも、更新されてもよい。例えば、外国に旅行しているユーザは、前にそのような料理についての強力な嗜好を表明していないかもしれないが、地元の料理を探求するように望むことができる。なお、コンテキストグラフに加えて、データベース又はインメモリ記憶装置等の他の種類の構造もまた、ユーザのコンテキストパラメータを記憶するために使用されることができることに留意すべきである。
【００２７】
混合モデル推薦部１２６は、複数のユーザモデルに基づいて推薦計算を実行する責を負う。１つの実施形態において、混合モデル推薦部１２６は、空間構造生成部１２４から空間構造を受信し、空間構造がモデルの積極的表現をもたらすことができる推薦項目を含むモデルパラメータに基づいて判定する。例えば、ユーザの料理嗜好に関するユーザモデルについて、特性評価ベクトルにおける料理関連要素を含む空間データ構造が選択されることができる。なお、項目についての特性評価ベクトル内の要素は、（グループ間の重複の可能性を有する）複数のグループにグループ化されてもよいことに留意すべきである。要素の各グループは、ユーザモデル及び１つ以上のデータ構造に対応してもよい。
【００２８】
動作時には、ユーザに対する項目のユーティリティは、ユーザモデル及び項目の特性評価ベクトルのパラメータに基づいて算出される。１つの実施形態において、ユーティリティは、全てのモデル出力の加重和として算出されることができる。各モデル出力は、モデルに含まれる全てのベクトル要素にわたるモデリング関数の和とすることができる。例えば、レストラン推薦を行うとき、ユーザの料理嗜好モデルは、料理関連モデルへの入力として特性評価ベクトル内の料理関連要素を使用することができる。位置モデル又は経済モデル等の他のモデルは、入力として特性評価ベクトル内の異なる要素を使用することができる。１つの実施形態において、ユーザモデルの出力は、数値を含むことができる。そして、異なるユーザモデルからの異なる出力は、ユーザに対して項目についてのモデル組み合わせスコアを生成するために組み合わされる。そして、項目は、数値スコアに基づいてランク付けされることができ、トップランクの項目が推薦としてユーザに提示される。
【００２９】
なお、受信した空間データ構造における全ての項目についての計算ユーティリティ（又はモデル組み合わせスコア）の代わりに、１つの実施形態において、システムは、まず、ユーザモデルにおけるパラメータに基づいて特性評価ベクトルにおける要素についてのラフな境界を算出することによって各空間データ構造内の推薦項目のセットを組み立てることに留意すべきである。例えば、ユーザモデルへの空間データ構造の入力が地理的位置に関連している場合、システムは、ユーザの現在及び将来の位置に基づいてラフな境界を描くことができる。空間データ構造が料理関連である場合には、境界は、最小の「中華」ベクトル要素が０．５であり且つ最小の「アジアンフュージョン」ベクトルが０．７である中華−アジアンベクトル空間内の領域として定義されることができる。そして、システムは、そのような境界内の項目について空間データ構造を照会する。なお、セグメント化された空間データ構造について、照会は、はるかに高速に実行されることができることに留意すべきである。さらに、推薦項目のセット内の項目のみがユーティリティ関数計算に含まれる。時間がかかる可能性があるユーティリティの計算から他の全ての項目を排除することにより、本発明の実施形態は、加速された推薦処理を可能とする。
【００３０】
推薦項目のセットを組み立てると、システムは、同時に、全ての関連する空間データ構造を照会し、その結果を組み合わせることができる。１つの実施形態において、照会の結果を組み合わせることは、全ての推薦項目セット間の共通部分を見出すことを含むことができる。例えば、レストランを推薦する際に、システムは、（料理関連ベクトル要素の異なるセットを含むことができる）多数の料理関連空間データ構造、位置ベースの空間データ構造及び経済価値ベースの空間データ構造を照会することができる。図２Ａ及び図２Ｂに示される例において、（図２Ａに示される）ケージ２１２によって定義された境界は、４つの項目を含む一方で、（図２Ｂに示される）ケージ２１４によって定義された境界は、２つの項目を含む。照会についての組み合わせ結果は、項目２０６等の２つのセットの境界内の２つのセットの項目間の交点としなければならない。なお、実際には、境界は、大きくすることができ、組み合わせ照会は、推薦項目の比較的大きいセットをなおももたらすことに留意すべきである。
【００３１】
図４は、本発明の実施形態にかかる項目についての特性評価ベクトルを生成する例示的なプロセスを図示するフローチャートを提示している。動作中、システムは、項目に関連付けられた情報を収集する（動作４０２）。なお、項目に関連付けられているオンライン及びオフライン情報の双方を含む様々な種類の情報が収集されることができることに留意すべきである。例えば、項目がレストランである場合には、それ自身のウェブサイト上のコンテンツ及び様々なレビューウェブサイトにおけるカスタマーレビューが全て収集されることができる。１つの実施形態において、ウェブクローラは、情報を収集するために使用されることができる。そして、システムは、収集された情報を分析する（動作４０４）。情報の種類に基づいて、異なる分析器が使用されることができる。例えば、収集された情報がウェブ文書を含む場合には、エンティティ抽出機構は、文書から標準的な用語を抽出するために使用されることができる。分析に基づいて、システムは、特性評価ベクトルにおける要素についての値を割り当てることができる（動作４０６）。１つの実施形態において、値は、０と１．０との間の範囲内で正規化されたスコアとすることができる。さらなる実施形態において、そのような値は、手動で割り当てられてもよい。なお、特性評価ベクトルは、任意数の要素を有し且つ任意の項目を記述するために使用されることができる大量のベクトルとすることができることに留意すべきである。特性評価ベクトルにおける各要素は、項目の属性を測定するために使用されることができる。なお、ほとんどの項目について、それらの特性評価ベクトルにおける非常に多数の要素がゼロ値を割り当てられているが、特性評価ベクトルが有することができる要素数には制限がないことに留意すべきである。
【００３２】
図５は、本発明の実施形態にかかる空間データ構造を生成するための例示的なプロセスを図示するフローチャートである。動作中、システムは、多数の項目についての特性評価ベクトルを受信し（動作５０２）、特性評価ベクトルから１つ以上の要素を選択する（動作５０４）。次に、システムは、特性評価ベクトルから選択されたベクトル要素を抽出することによって項目ベクトルの新たなセットを生成する（動作５０６）。各項目は、選択される１つ以上のベクトル要素を含む項目ベクトルによって表される。例えば、レストランについての一般化された特性評価ベクトルは、数百の要素とすることができる。しかしながら、中華−アジアンベクトル空間内のベクトルは、「中華」要素及び「アジアン」要素しか有しない。そして、項目ベクトルは、それらのベクトル値に基づいて異なるセルにグループ化される（動作５０８）。各セルは、境界を定義し、セル境界内に含まれる項目ベクトルを有する項目は、セル内に配置される。異なるセルに項目を配置することは、高速な照会を可能とする。
【００３３】
図６は、本発明の実施形態にかかるユーザに対して推薦を行う例示的なプロセスを図示するフローチャートである。動作中、システムは、ユーザコンテキスト情報を受信する（動作６０２）。なお、ユーザコンテキスト情報は、ユーザに関連付けられたモバイル機器上に配置された多数のセンサによって検出される低レベルのユーザ活動追跡を含むことができることに留意すべきである。センサは、これらに限定されるものではないが、クロック、ＧＰＳ、加速度計、温度センサ、光センサ、音センサ及び画面キャプチャラ等を含むことができる。ユーザコンテキスト情報は、さらに、低レベルの活動追跡から推定されたユーザの行動又は関心のより高レベルの主張を含むことができる。
【００３４】
その後、システムは、受信したユーザコンテキストに基づいてユーザに関連付けられたコンテキストグラフを更新する（動作６０４）。そして、更新されたコンテキストグラフに含まれるパラメータは、ユーザモデルを更新するために複数のユーザモデル間で追加される（動作６０６）。なお、ユーザコンテキストにおける変更を反映するためにコンテキストグラフを使用することに加えて、規則ベースのシステム等の他のシステムはまた、ユーザモデルを更新するためにここで使用されることができることに留意すべきである。ユーザモデルの更新に続いて、システムは、ユーザモデルに対応する多数の空間データ構造を選択し、ユーザモデルのパラメータに基づいて空間データ構造についての境界を判定する（動作６０８）。なお、システムニーズに応じて、空間データ構造は、様々な次元を有することができることに留意すべきである。各ユーザモデルは、１つ以上の空間データ構造に対応することができる。境界は、対応するベクトル要素の値の許容範囲を定義する。境界に基づいて、システムは、推薦項目のセットを組み立てる（動作６１０）。１つの実施形態において、推薦項目のセットを組み立てるために、システムは、判定された境界内の項目についての複数の選択された空間データ構造を同時に照会した後、照会出力を組み合わせる。
【００３５】
推薦項目のセット内の各項目について及び各ユーザモデルについて、システムは、（ユーザモデルについての入力として使用されることができるベクトル要素を含む）対応する項目ベクトル及びモデルパラメータに基づいてモデル固有スコアを算出する（動作６１２）。１つの実施形態において、モデル固有スコアは、（ユーザモデルパラメータに基づいて）項目ベクトル及びユーザ嗜好ベクトルに対して（ユーザモデルによって定義される）モデリング関数を適用することによって算出されることができる。例えば、ユーザモデルが異なる民族の料理についてのユーザの嗜好に関するものである場合には、レストランの項目ベクトルは、レストランの民族性を記述するために使用される要素を含むことができる。そして、モデリング関数の計算は、（レストランの民族性等の）抽出されたベクトル要素及び（様々な民族の料理についてのユーザの嗜好等の）対応するユーザモデルパラメータを含む。１つの実施形態において、モデリング関数は、特性化ベクトルにおける要素と抽出された全てのベクトル要素にわたる対応するユーザ嗜好との積の合計であるドット積とすることができる。例えば、レストランが０．５の値を有する「中華」ベクトル要素と０．７の値を有する「アジアンフュージョン」ベクトル要素とを有し、中華料理及びアジアンフュージョン料理についてのユーザの嗜好レベルが、それぞれ、０．３及び０．１である場合には、中華−アジアンフュージョン料理モデル（モデルは、中華要素及びアジアンフュージョン要素の２つの要素のみを考慮する）の出力は、以下のように算出されることができる。０．５×０．３＋０．７×０．１＝０．２２。ユーザモデルの出力は、ユーザに対する項目についてのモデル固有スコアである。１つの実施形態において、ユーザモデルの出力は、単一の数値を含む。
【００３６】
その後、各項目について、システムは、モデル組み合わせスコアを生成するために全てのユーザモデルのモデル固有スコアを組み合わせる（動作６１４）。この組み合わせスコアは、混合モデル出力である。１つの実施形態において、この組み合わせスコアは、全てのモデル固有スコアの加重和である。例えば、レストランの推薦を行う際に、システムは、混合モデル出力を生成するために料理・民族モデル、位置モデル及び経済モデルを組み合わせることができる。各モデルは、ユーザによって手動で入力されることができる又は観察されたユーザ行動に基づいてシステムによって自動的に割り当てられることができる重みを割り当てられることができる。例えば、位置モデルは、ユーザが料理の種類よりも迅速にレストランに到着することについてより懸念している場合には、料理・民族モデルよりも高い重みを受けることができる。同様に、経済モデルは、ユーザがタイトな予算である場合には、最高の重みを受けることができる。推薦項目のセット内の全ての項目についての混合モデル出力を算出することに続いて、システムは、それらのモデル組み合わせスコアに基づいてこれらの項目をランク付けし（動作６１６）、ユーザに１つ以上のトップランクの項目を推薦する（動作６１８）。
【００３７】
一般に、提示された本発明の実施形態は、一般的で高速応答の推薦システムを提供する。より具体的には、推薦計算は、利用可能な全ての項目のサブセットである推薦項目のセットを予め選択することによって加速されることができる。さらに、項目は、各空間データ構造がデータベースに記憶された情報の異なるファセットを取り込む多数の空間データ構造に配置されている。推薦項目のセットを予め選択する場合、複数の空間データ構造は、組み合わされた結果を生成するために使用されることができる。プロセスをさらに加速するために、空間データ構造はまた、項目ベクトルが、それらのベクトル値に基づいて、これらのセルに記憶された異なるセルにセグメント化されることができ、したがって、より高速に空間データ構造に照会するのを可能とする。
【００３８】
図７は、本発明の実施形態にかかるユーザに対する推薦を提供するための例示的なコンピュータシステムを図示している。１つの実施形態において、コンピュータ及び通信システム７００は、プロセッサ７０２と、メモリ７０４と、記憶装置７０６とを含む。記憶装置７０６は、推薦アプリケーション７０８とともに、アプリケーション７１０及び７１２等の他のアプリケーションを記憶する。動作時には、推薦アプリケーション７０８は、記憶装置７０６からメモリ７０４にロードされ、プロセッサ７０２によって実行される。プログラムの実行時に、プロセッサ７０２は、上述した機能を実行する。コンピュータ及び通信システム７００は、任意のディスプレイ７１４、キーボード７１６及びポインティングデバイス７１８に接続される。
【００３９】
この詳細な説明に記載されたデータ構造及びコードは、典型的には、コンピュータシステムによって使用するためのコード及び／又はデータを記憶することができる任意のデバイス又は媒体とすることができるコンピュータ読み取り可能な記憶媒体に記憶される。コンピュータ読み取り可能な記憶媒体は、これらに限定されるものではないが、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（ディジタル多用途ディスク若しくはディジタルビデオディスク）等の磁気及び光記憶装置、又は、現在既知の又は後に開発されるコンピュータ読み取り可能な媒体を記憶可能な他の媒体を含む。
【００４０】
詳細な説明のセクションに記載された方法及びプロセスは、上述したようにコンピュータ読み取り可能な記憶媒体に記憶されることができるコード及び／又はデータとして具体化されることができる。コンピュータシステムがコンピュータ読み取り可能な記憶媒体に記憶されたコード及び／又はデータを読み取って実行すると、コンピュータシステムは、データ構造及びコードとして具体化されてコンピュータ読み取り可能な記憶媒体内に記憶された方法及びプロセスを実行する。
【００４１】
さらにまた、本願明細書に記載された方法及びプロセスは、ハードウェアモジュール又は装置に含まれることができる。これらのモジュール又は装置は、これらに限定されるものではないが、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定の時間に特定のソフトウェアモジュール若しくはコードの一部を実行する専用又は共有プロセッサ、及び／又は、現在既知の又は後に開発される他のプログラマブル論理デバイスを含むことができる。ハードウェアモジュール又は装置が起動されると、それらは、それらの内部に含まれる方法及びプロセスを実行する。
【図１】
2015099593.tif 000003
【図２Ａ】
2015099593.tif 000004
【図２Ｂ】
2015099593.tif 000005
【図３】
2015099593.tif 000006
【図４】
2015099593.tif 000007
【図５】
2015099593.tif 000008
【図６】
2015099593.tif 000009
【図７】
2015099593.tif 000010