(57)【特許請求の範囲】
【請求項１】
意思決定プロセスを容易にするために、１組のユーティリティモデルを適応するように組み合わせることによって項目の推薦を生成する推薦システムであって、
前記１組のユーティリティモデルを含むユーティリティモデルデータベースと、
照会エンティティから前記項目についての少なくとも１つの照会を受け取る照会モジュールと、
前記項目に適用されるべきユーティリティモデルの１つのサブセットを規定し、前記規定されたユーティリティモデルの重み関数を規定するためのルールエンジンと、
前記ユーティリティモデルデータベース、前記照会モジュール、および前記ルールエンジンに結合された設定生成器であって、前記サブセット内の前記ユーティリティモデルのそれぞれを前記項目に適用することによって１組の格付けを計算し、前記重み関数に基づいて前記項目に関する全体的格付けを生成するための設定生成器と、
前記全体的格付けを戻すための通信モジュールと、
を備え、
前記１組のユーティリティモデルは、自動的にデータから情報を抽出する機械学習機構によって構築され、
前記ルールエンジンは、前記照会エンティティに関連したコンテキスト情報および優先情報の両方又は一方を受け取るためのユーザコンテキストモジュールを含み、
前記コンテキスト情報は、
現在の時刻と、
現在の気象条件と、
前記照会エンティティに関連した位置と、
前記照会エンティティに関連した動きと、
ユーザの過去、現在および将来のいずれか又は全ての予定を反映する予定表項目と、
１名以上のユーザが、興味および計画のいずれか又は両方を議論する、電子メールおよびインスタントメッセージのいずれか又は両方から抽出されたテキストを有する１組のメッセージングデータと、
ユーザがアクセスしたウェブページまたは他のソースから抽出された内容を含み、内容が前記ユーザの興味および好みのいずれか又は両方を反映する読取り履歴と、
のうちの少なくとも１つを含むことを特徴とする推薦システム。
【請求項２】
請求項１に記載の推薦システムであって、
前記ルールエンジンは、
前記ユーザコンテキストモジュールによって受け取られた前記コンテキスト情報および優先情報のいずれか又は両方に基づいて、ユーティリティモデルの前記サブセットを選択することを特徴とする推薦システム。
【請求項３】
請求項１または請求項２に記載の推薦システムであって、
前記機械学習機構は、発見的解決法を含むことを特徴とする推薦システム。
【請求項４】
請求項１または請求項２に記載の推薦システムであって、
前記機械学習機構は、統計的手法を含むことを特徴とする推薦システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は推薦システム(レコメンデーションシステム：a recommender system)に関する。より具体的には、本開示は１つ以上の項目を推薦するために特別な動的モデル合成を容易にする包括的推薦システムに関する。
【背景技術】
【０００２】
個々の意思決定プロセスの重要な態様は、信頼性のあるソースからの推薦を受け入れることである。過去数十年ではこの種の推薦は、口頭、消費者調査、または新聞、雑誌、もしくはインターネット上の調査によって生成され受け取られた。技術が急激に進歩すると同様に推薦を受け取る方法も急激に進歩している。現在、推薦の主要なプロバイダは、ユーザが興味を持っている人、場所、物体、抽象的観念などの推薦の種類を示す照会を、ユーザがサブミットした後に、推薦を生成するコンピュータベースの「推薦システム」である。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
推薦システムは、ユーザの意思決定を容易にする個別の提案(personalized suggestions)をユーザに提供する。これらの個別の推薦によってユーザは、本の購入から映画を借りるまで、学校を選択することまでさえ多種多様のタスクを実行するときに推薦システムに頼ることができる。
【０００４】
本発明では、従来よりも、一層自由度が高く拡張性のある推薦システムを提供する。
【課題を解決するための手段】
【０００５】
本発明の１つの実施形態は、意思決定プロセスを容易にするために１組のユーティリティモデルを適応するように組み合わせる(combining)ことによって項目の推薦を生成する推薦システムを提供する。前記システムは、ユーティリティモデルの組を含むユーティリティモデルデータベースと、照会エンティティ(querying entity)から項目についての少なくとも１つの照会を受け取る照会モジュール(query module)と、を含む。前記システムは、項目に適用されるべきユーティリティモデルのサブセットを規定し、規定されたユーティリティモデルの重み（加重）関数(weight function)を規定するためのルールエンジンも含む。ユーティリティモデルデータベース、照会モジュール、およびルールエンジンに結合された設定生成器(set generator)がシステム内にさらに含まれる。該設定生成器は、サブセット内のユーティリティモデルのそれぞれを項目に適用することによって１組の格付け（評点、ランキング付け）(rating)を計算し、重み関数に基づいて項目に関する全体的格付けを生成する。そのシステムは、全体的格付けを戻すための通信モジュールをさらに含む。
【０００６】
この実施形態の他の態様において、前記ルールエンジンは、照会エンティティに関連したコンテキスト情報(contextual information)および／または優先情報(preferential information)を受け取るためのユーザコンテキストモジュール(user context module)を含む。
【０００７】
さらなる変形態様において、コンテキスト情報は、現在の時刻と、現在の気象条件と、照会エンティティに関連した位置と、照会エンティティに関連した動きと、ユーザの過去、現在、および／または将来の予定(schedule)を反映する予定表項目(calendar entry)と、１名以上のユーザが興味および／または計画を議論する、とりわけ電子メールおよび／またはインスタントメッセージから抽出されたテキストから成る１組のメッセージングデータと、ユーザがアクセスしたウェブページまたは他のソースから抽出された内容を含み、内容がユーザの興味および／または好みを反映する読取り履歴と、のうちの少なくとも１つを含む。
【０００８】
この実施形態の変形態様において、ルールエンジンは、ユーザコンテキストモジュールによって受け取られたコンテキスト情報および／または優先情報に基づいてユーティリティモデルのサブセットを選択する。
【０００９】
この実施形態の変形態様において、ルールエンジンは、重み関数を適応するように調整するために照会エンティティによって行われる決定を重み関数と関連付ける。
【００１０】
この実施形態の変形態様において、規定されたユーティリティモデルの重み関数は、発見的解決法(heuristic approach)を使用することによって構築される。
【００１１】
この実施形態の変形態様において、規定されたユーティリティモデルの重み関数は、統計的手法(statistical approach)を使用することによって構築される。
【発明を実施するための最良の形態】
【００１２】
ほとんどの推薦システムでは、典型的には推薦は、ユーザの入力およびフィードバックによる１つの特定の態様での項目の格付け(rating)に基づいている。言い換えれば、従来の推薦システムは、項目の格付けを計算するために１つのユーティリティモデルだけを使用する。ユーティリティモデル（この説明では「モデル」とも呼ばれる）は、その項目に関する使用価値または格付けを生成するために項目に適用されることができ、次いで推薦を行うために使用されることができるモデルである。一般に使用されるユーティリティモデルは、「最近傍計算(nearest-neighbor computation)」などの統計的技法がユーザおよび項目を類似のプロフィールのグループに分類するために使用される「協調フィルタリング(collaborative filtering)」である。ユーザおよびユーザが評価しなかった項目を与えられると、推薦システムは、類似モデルを使用して項目に関する点数を予測する。次いで、最高点の項目がユーザに推薦される。
【００１３】
全部ではないがほとんどの従来の推薦システムは１つのユーティリティモデルだけに頼る。協調フィルタリングの場合には従来の改良は、類似度測定基準の計算精度を改良する方法に主として重点を置いた。オントロジ(Ontology)は、しばしば、階層構造のクラスに、項目を分類するために使用される。より高いレベルのクラスでの項目の格付けは、その格付けが不十分な情報により直接決定されることができないとき、サブクラスの格付けを推測するために使用されることができる。例えば、照会ユーザがどの程度タイ食品を望むかを評価するために十分な情報がない場合、推薦システムは、代わりにアジアレストランに関する照会ユーザおよび他のユーザの経験についての情報を使用することができる。しかし、協調フィルタモデルの精度が高まるものの、ほとんどの推薦システムは依然として１つのモデルだけに限定的に頼っている。
【００１４】
図１は、従来の単一モデルの推薦システムのアーキテクチャ構成図を示す。従来の推薦システムは、ユーティリティモデル１２０および格付けデータベース１３０を含む。
【００１５】
動作中、システムは未評価項目１１０を受け取る。次いでシステムは、格付けデータベース１３０内に格納された情報に基づいてユーティリティモデル１２０を未評価項目(未格付け項目：unrated item)１１０に適用する。例えば、ユーティリティモデル１２０は協調フィルタモデルであってよく、格付けデータベース１３０はユーザのプロフィール情報と共に類似項目についての情報を格納することができる。項目１１０、ユーティリティモデル１２０、および格付けデータベース１３０からの情報に基づいてシステムは、項目に関する予測される格付け１４０を計算することができる。
【００１６】
本発明の実施形態は、項目の格付けを計算するために２つ以上のユーティリティモデルを使用する包括的推薦システムを提供する。この推薦システムは、ユーザまたは他のコンピュータシステムであってよい照会エンティティの要求により動的に更新されることができる１組のユーティリティモデルを含むユーティリティモデルデータベースを含む。項目を受け取った後、推薦システムは、照会エンティティに関するコンテキスト情報および優先情報に任意選択的に基づいて照会ごとにユーティリティモデルデータベースからユーティリティモデルの１つのサブセットを選択する。システムは、項目に関する全体的点数または格付けを計算するために重み関数をユーティリティモデルのサブセットにさらに適用する。コンテキスト情報（例えば、空間的情報および一時的情報）ならびに優先情報（例えば、好み）が照会エンティティから得られる。その結果、この推薦システムは、既存システムより著しく自由度があり拡張性がある。さらに、アプリケーション開発者は、自由自在にモデルを挿入(plug in)するまたは除去(remove)することができる。システムは、ユーザの習性に基づき、経時的に、既存システムでは利用できない特徴に適用可能であり、かつ発展させることができる。
【００１７】
１つの実施形態において、包括的推薦システムは、照会エンティティについてのコンテキスト情報および優先情報により重み関数での各ユーティリティモデルの重みを適応するように調整することができる。その結果、格付けの精度が非常に改良される。さらに、推薦システムは、推薦が行われた後、ユーザの習性についての情報を保持し、したがって将来のユーザの嗜好をより良く予測するためにユーザの動作の変化に適応することができる。
【００１８】
システムはモデルデータベースから任意の数のモデルを選択することができ、モデルの選択は評価されるべき項目の種類および／または照会エンティティの特徴に依存することができることに留意されたい。モデルの選択は、ユーザからの入力および／またはシステムの他のモジュールからの入力に応じて特別な方法または動的方法で実行されることができる。モデルが合成される方法は、１組のルール内で規定される、または現在のユーザのコンテキストから推測されることができる。システムは、どのモデルが所定のコンテキスト内でどのユーザにとってより適切であるかを経時的に知ることも可能である。
【００１９】
図２は、本発明の１つの実施形態による特別な動的モデル合成を容易にする推薦システムに関する例示のアーキテクチャを示す。推薦システム２００は、照会モジュール２１０と、ユーザコンテキストモジュール２２０と、ルールエンジン２３０と、設定生成器２４０と、ユーティリティモデルデータベース２６０と、通信モジュール２８０とを備える。
【００２０】
照会モジュール２１０が未評価項目を受け取った後、ルールエンジン２３０は、ユーザコンテキストモジュール２２０から得られた情報に基づいてユーティリティモデルデータベース２６０からユーティリティモデルの１つのサブセットを動的に選択することができる。１つの実施形態では、ユーザコンテキストモジュール２２０は、現在の時刻、気象条件、ユーザの位置、ユーザの動き、ユーザの過去、現在、および／または将来の予定を反映する予定表項目、１つ以上のユーザが興味および／または計画を議論するとりわけ電子メールおよび／またはインスタントメッセージから抽出されたテキストから成る１組のメッセージングデータ、ならびにユーザがアクセスしたウェブページまたは他のソースから抽出された内容を含み、内容がユーザの興味および／または好みを反映する読取り履歴などの様々なユーザコンテキスト情報を得ることができる。他の環境的、社会的、および動作のパラメータは、ユーザコンテキスト情報内に含まれてもよい。
【００２１】
ルールエンジン２３０は、その特定の区分(category)での項目の格付けを計算するために使用されるユーティリティモデルのサブセットの重み関数を生成する。１つの実施形態では、各ユーティリティモデルの重みは、ユーザコンテキストモジュール２２０から得られたコンテキスト情報および優先情報に基づいて動的に決定されることができる。優先情報は、項目タイプの任意の態様に関連付けられていてもよいことに留意されたい。例えば、優先情報は、映画のジャンル、本の種類、料理の種類、音楽のジャンルなどでありうる。
【００２２】
ユーティリティモデルデータベース２６０は、１組のユーティリティモデル２６２〜２６８を含む。各ユーティリティモデルは、その項目を評価するために項目に適用されることができる。例えば、どの本を書店がユーザに推薦すべきであるかを決定するために協調フィルタリングモデルは、ユーザについての情報を収集し、グループプロフィールにユーザを適合し、同一のプロフィールグループの他のメンバによって購入された本も推薦する。過去に動的に収集された本およびユーザの統計的情報を使用することによって協調フィルタリングモデルは、本の格付けを計算し、最高の格付けを有する１組の本を照会ユーザに推薦する。協調フィルタリングのほかに他のユーティリティモデルがユーティリティモデルデータベース内に含まれてもよい。この種のモデルは、限定はされないが、ユーザの嗜好を示すユーザ嗜好モデル、ユーザに関連した環境的パラメータを説明するユーザコンテキスト情報モデル、またはユーザに関連したもしくはユーザによって提供された情報を考慮するインプリシットモデル（潜在的モデル：implicit model）の任意の明示を含む。図２に示されるように各ユーティリティモデルは、各モデルによって使用されるべき関連のデータを格納する関連のデータベースも含むことができることを留意されたい。
【００２３】
設定生成器２２０は、関連した１組のユーティリティモデルおよび関連のデータベースを選択する。例えば、格付けデータベースは協調フィルタリングモデルと関連していてよく、費用関数データベースはユーザ嗜好モデルと関連していてよい。さらに、内容嗜好(content preference)データベースは、ウェブ検索または電子メールのキーワードなどのユーザの過去の動作の内容に基づいて項目の格付けを評価する内容嗜好ユーティリティモデルに関連していてよい。
【００２４】
設定生成器２２０は、ルールエンジン２３０によって規定される重み関数を使用して所定の式を使用することによって項目に関する重み付けされた格付けを生成する。その後、通信モジュール２８０が項目に関する予測される格付けを戻す。
【００２５】
図３は、本発明の１つの実施形態によるユーティリティモデルに基づいて項目に関する格付けを計算する例示のプロセスを示す流れ図を示す。動作中、照会モジュールは、未評価項目についての照会を受け取る（動作３１０）。次いで、ルールエンジンは、ユーザコンテキストモジュールを用いてチェックし、照会エンティティについてのコンテキスト情報および／またはユーザ優先情報を取り出す（動作３２０）。この種の情報を取り出した後、ルールエンジンは、ユーティリティモデルデータベースからユーティリティモデルの１つのサブセットを選択し、選択されたユーティリティモデルの重み関数を構築する（動作３３０）。１つの実施形態では、ユーティリティモデルのサブセットの選択ならびに選択されたユーティリティモデルの重み関数は、照会ごとにユーザコンテキストモジュールから取り出されたコンテキスト情報および優先情報に基づいて動的に決定される。
【００２６】
さらに、ルールエンジンは、どのユーティリティモデルが推薦された項目のユーザの実際の選択を注目することによって、所定のコンテキスト内でユーザにとってもっとも適切かを経時的に知ることができる。ユーザによって行われる決定を、格付けを生成するために使用される重み関数と関連付けることによって、ルールエンジンの学習機構は各ユーティリティモデルの重みを動的に調整することができる。
【００２７】
動作３４０では設定生成器は、ルールエンジンによって規定される重み関数を適用することによって項目に関する全体的格付けを計算する。ルールの所定の組は、どのようにモデルのサブセットが合成されることができるかを決定する。最高の格付けを有する項目を含む応答が、動作３５０で通信モジュールを介して照会エンティティに戻される。
【００２８】
図４は、本発明の１つの実施形態によるルールエンジンおよび設定生成器の動作の例示のシーケンスを示す流れ図を示す。動作中、ルールエンジンは、照会内に示された項目の種類により重み関数を構築するためにユーティリティモデルの特定のサブセットを選択するように構成されることができる。ルールエンジンは、照会エンティティについてのコンテキスト情報および優先情報を使用して重み関数の構成要素を選択するために統計的方法または発見的方法を使用することもできる（動作４１０）。１つの実施形態ではルールエンジンは、重み関数を構築するためにベイジアン(Bayesian)ネットワークまたはロジスティック回帰(logistic regression)を使用することができる。
【００２９】
１つの実施形態ではルールエンジンは、ユーザの動作に注目し、重み関数の構成要素を適応するように選択する。例えば、ユーザは特定の出来事(occasion)に関するアクティビティについての提案に関する照会をサブミットすることができる。出来事についての情報に基づいてルールエンジンは、２つのユーティリティモデル（協調フィルタリングモデルおよびソフト照会モデル）を選択する。協調フィルタリングモデルは１群の人の嗜好を取ることによって様々なアクティビティの格付けを計算するが、ソフト照会モデルはユーザによって提供される嗜好に基づいて様々なアクティビティの格付けを計算する。
【００３０】
動作４２０ではルールエンジンは、照会に関連したコンテキスト情報を使用することによって各ユーティリティモデルの重みを決定する。例えば、照会が１群の人に関するアクティビティに関係される場合、ルールエンジンはより高い重みを協調フィルタリングモデルに割り当てることができる。しかし、照会が個人に関するアクティビティに関係される場合、ルールエンジンはより高い重みをソフト照会モデルに割り当てることができる。
【００３１】
動作４３０では２つのユーティリティモデルの重み関数は、計算方法および統計的方法によって自動的にデータから情報を抽出する機械学習機構(machine learning mechanism)を使用して構築される。設定生成器は、選択されたユーティリティモデルを個別に使用して項目に関する様々な格付けを生成する。その後、重みされた格付けは各ユーティリティモデルに対応する格付けを組み合わせることによって計算される。
【００３２】
図５は、本発明の１つの実施形態による特別な動的モデル合成を容易にする例示のコンピュータベースの推薦システムを示す。コンピュータおよび通信システム５００は、プロセッサ５１０と、メモリ５２０と、記憶装置５３０と、通信モジュール５４０とを含む。記憶装置５３０は、照会モジュール５３０１と、ユーザコンテキストモジュール５３０５を含むルールエンジン５３０３と、設定生成器５３０７と、ユーティリティモデルデータベース５３０９とを含んでアプリケーションを格納する。動作中、ユーティリティモデルデータベース５３０９以外のすべてのアプリケーションは、記憶装置５３０からメモリ５２０にロードされ、次いでプロセッサ５１０によって実行される。アプリケーションを実行する間、プロセッサ５１０は上述の１つ以上の関数を実行する。
【図面の簡単な説明】
【００３３】
【図１】従来の単一モデルの推薦システムのアーキテクチャ構成図である。
【図２】本発明の１実施形態に係る特別な動的モデル合成を容易にする推薦システムの例示的アーキテクチャを示す図である。
【図３】本発明の１実施形態に係るユーティリティモデルに基づいて項目に関する格付けを計算する例示的プロセスを示す流れ図である。
【図４】本発明の１実施形態に係るルールエンジンおよび設定生成器の動作の例示的シーケンスを示す流れ図である。
【図５】本発明の１実施形態に係る特別な動的モデル合成を容易にする例示的コンピュータベースの推薦システムを示す図である。
【符号の説明】
【００３４】
１２０  ユーティリティモデル、１３０  格付けデータベース、１１０  未評価項目、１４０  予測される格付け、２００  推薦システム、２１０  照会モジュール、２２０  ユーザコンテキストモジュール、２３０  ルールエンジン、２４０  設定生成器、２６０  ユーティリティモデルデータベース、２６２〜２６８  ユーティリティモデル、２８０  通信モジュール、３１０，３２０，３３０，３４０，３５０，４１０，４２０，４３０  動作、５００  コンピュータおよび通信システム、５１０  プロセッサ、５２０  メモリ、５３０  記憶装置、５４０  通信モジュール、５３０１  照会モジュール、５３０３  ルールエンジン、５３０５  ユーザコンテキストモジュール、５３０７  設定生成器、５３０９  ユーティリティモデルデータベース。
【図１】
0005700906.tif 000002
【図２】
0005700906.tif 000003
【図３】
0005700906.tif 000004
【図４】
0005700906.tif 000005
【図５】
0005700906.tif 000006