(57)【特許請求の範囲】
【請求項１】
ユーザに対して活動を推薦するためのコンピュータシステムであって、
個人プロファイルと母集団事前情報が保存されるデータベースと、
活動種類分布モジュールと、予測メカニズムと、スコアリングメカニズムと、推薦メカニズムとを含むプログラムを記憶する記憶装置と、
記憶装置からプログラムをロードするメモリと、
メモリによりロードされたプログラムを実行するプロセッサと、
を有し、
活動種類分布モジュールが、ユーザの個人プロファイルに基づいてユーザに対して、１つまたは複数の活動種類を含むとともに、それぞれの時間の長さの間、前記ユーザがそれぞれの活動種類に関連付けられた１つまたは複数の活動に従事する確率を含む活動種類分布を検索するように構成され、さらに、検索する活動種類分布がないものに対して一般集団の一部に対応するプロファイルである母集団事前情報に基づいて前記ユーザのための前記活動種類分布を決定するように構成され、
予測メカニズムが、前記活動種類分布に基づいて、将来ユーザが従事する活動を予測するように構成され、
スコアリングメカニズムが、一連のメトリックに基づいて、それぞれの予想される活動にスコアをつけるように構成され、さらに、前記ユーザが将来の活動に従事する確率を示すスコアがメトリック重み分布に基づいて加重平均されるように構成され、
推薦メカニズムが、前記スコアに基づいて１つまたは複数の予測される活動を推薦するように構成される、
ことを特徴とするコンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムであって、
データベースは、さらに、前記活動種類分布と重み分布に基づく多数の会場を保存することを特徴とするコンピュータシステム。
【請求項３】
請求項１に記載のコンピュータシステムであって、
前記活動種類分布は、さらに、データベースに保存された、
時刻、
曜日、
日にち、
休日の表示、
前記ユーザにとって個人的に重要な日付の表示、
天気、
前記ユーザが過去にアクセスしたコンテンツ、
のうちの少なくとも１つに基づいて決定されることを特徴とするコンピュータシステム。
【請求項４】
請求項１に記載のコンピュータシステムであって、
記憶装置は、さらに、ユーザプロファイル構築メカニズムを含むプログラムを記憶し、
ユーザプロファイル構築メカニズムは、特定のコンテキストにおける前記ユーザの過去の活動を示す情報に基づいて前記ユーザの個人プロファイルを構築するように構成されることを特徴とするコンピュータシステム。
【請求項５】
請求項１に記載のコンピュータシステムであって、
予測メカニズムは、さらに、前記ユーザが現在従事している、またはこれまでに従事した現在または過去の活動の種類を予測するように構成され、
前記活動の推薦中に、前記推薦メカニズムは、前記予測されたコンテンツまたは過去の活動と矛盾する活動をフィルタにかけるように構成されていることを特徴とするコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願の開示は、推薦システムに関する。より詳しくは、本願の開示は、将来のゴール指向活動を予測、推薦するための推薦システムに関する。
【背景技術】
【０００２】
今日のような科学技術社会において、主要情報源は推薦システムである。推薦システムは、個人が必ずしも自力では見つけることのできない品目を発見するのに役立つ。しばしば、個人に合った、満足できる推薦を実現することは困難である。なぜなら、多くの場合、推薦の内容が有効か否かは、そのシステムがユーザのニーズと嗜好をどれだけ正確にマッチさせることができるかによって決まるからである。たとえばオンラインショッピングサイト等のシステムは、ユーザ調査またはユーザの選択履歴を利用してこのような情報を導き出す。
【０００３】
【特許文献１】米国特許第６２３６７６８号明細書
【特許文献２】米国特許出願公開第２００３／０００４９３７号明細書
【特許文献３】米国特許出願公開第２００４／００３９６３０号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ユーザのニーズと嗜好を正確に予測することは、特に明白なユーザデータが限定される場合、あるいは利用できない状態にある場合において、依然として困難である。
【課題を解決するための手段】
【０００５】
本発明の１つの実施例は、ユーザに対して活動を推薦するシステムである。動作中、システムはユーザの個人プロファイルおよび／または母集団の事前情報に基づいて活動の種類分布を決定し、これをそのユーザのための将来の活動の予測に役立てる。システムはさらに、活動種類分布に基づいて、１つまたは複数の活動を検索し、検索結果を受け取る。次に、システムは、受け取った各活動に従事する確率を示す少なくとも１つのスコアを生成する。
【０００６】
この実施例の１つのバリエーションとして、システムは将来ユーザによって行われるべき多数の活動を推薦する。
【０００７】
この実施例の１つのバリエーションとして、システムは、活動種類分布と重み分布に基づいて、多数の会場(venue)を推薦する。
【０００８】
この実施例の１つのバリエーションとして、活動種類分布はさらに、時刻、曜日、日にち、休日の表示、そのユーザにとって個人的に重要な日の表示、天気、そのユーザが過去にアクセスしたコンテンツの中の少なくとも１つに基づいて決定される。
【０００９】
さらに別のバリエーションとして、ユーザのアクセスしたコンテンツには、電子メール、インスタントメッセージ、ウェブページ、約束、カレンダの入力情報および電話番号の中のひとつまたは複数を含めることができる。
【００１０】
さらに別のバリエーションとして、活動種類分布はさらに、場所と、その場所の付近にある会場に関連付けられる１つまたは複数の活動種類に基づいて決定される。
【００１１】
この実施例の１つのバリエーションとして、システムは具体的なコンテキストにおけるユーザの過去の活動を示す情報に基づいて、ユーザの個人プロファイルを構成する。
【００１２】
この実施例の１つのバリエーションとして、システムはユーザが現在従事している、またはこれまでに従事した現在または過去の活動種類を予想する。さらに、活動を推薦するステップは、予想された現在または過去の活動と矛盾する活動をフィルタにかけて除外するステップを含む。
【００１３】
この実施例の１つのバリエーションとして、システムは推薦された活動の実行に役立つサポート活動を推薦する。
【００１４】
この実施例の１つのバリエーションとして、システムは、ユーザが初めて少なくとも１人の他のユーザと一緒にいることを判断する。すると、システムはそれらのユーザ全員の個人的活動種類分布を重ね合わせ、統合活動種類分布を生成し、それらのユーザ全員の個人的なメトリック重み分布のすべてを重ね合わせ、統合メトリック重み分布を生成する。さらに、統合活動種類分布と統合メトリック重み分布に基づいて、推薦が行われる。
【００１５】
この実施例の１つのバリエーションとして、システムはユーザが少なくとも１人の他のユーザと繰返し一緒にいることを判断し、一緒にいたユーザ全員の個人的プロファイルを構成する。
【００１６】
この実施例の１つのバリエーションとして、システムは、ユーザが推薦された活動を表するデバイスと対話したときに、そのユーザの活動の嗜好に関するデータを収集する。
【００１７】
今日の世界において、人はどこにランチに行くか、どこで買い物をするか等、たとえ小さな事柄であっても、日常的にさまざまな選択に遭遇する。これは、今では選択肢が増えたからでもあり、またインターネット、無線技術等の情報技術によって情報へのアクセスが以前よりはるかに容易となったからでもある。しかしながら、このような情報過負荷の時代にあっても、ある都市の中で、ある時間と関係のある何かを見つけることは依然として難しい。多くの選択肢がありうるが、オンラインであれ、紙であれ、その都市のシティガイドからは検索しにくい。ロケーションベースの検索サービスでも、ユーザは何らかの選択を行って（たとえば、店、レストラン、博物館等、検索対象を決定する等）、情報を入力する必要があり、面倒で、時間がかかることもある。
【００１８】
本発明の実施例は、ユーザの活動の嗜好または習慣を予測し、そのユーザが明確に検索基準を入力したり、個人データを提供したりせずに、ユーザの個人的挙動パターンに合わせた将来の活動を推薦できる活動推薦システムを提供する。
【００１９】
本願の開示において、「活動」という用語はユーザが意識的に認知目的(cognitive goal)を達成するための身体的または精神的行動の集合あるいは、ある程度の長さの時間（通常、少なくとも数分間）で実行される身体的および精神的行動の組み合わせを指す。たとえば、活動とは仕事、買い物、食事、ゲーム、スポーツ、映画鑑賞、観劇等である。活動は、歩く、ボタンを押す、物を取り上げる、キーボードを打つ、マウスを動かす等の単純な身体的運動とは区別されるべきである点に注意する。本願の解釈において、これらの身体的な運動は活動ではなく、１つの活動を実行する過程の行動と考える。
【発明の効果】
【００２０】
本発明による推薦システムによれば、ユーザが将来どの活動に従事するかを予測することができる。
【発明を実施するための最良の形態】
【００２１】
本発明による推薦システムは、そのユーザの活動を、ある人のいる場所、メールの内容、カレンダの入力情報、現在時刻、過去のユーザの活動履歴等の複数の情報源を組み合わせることによって検出し、予測することができる。特に、本発明による推薦システムは、ユーザが将来どの活動に従事するかを予測し、１つまたは複数の将来の活動を推薦し、予測または推薦された活動に関するコンテンツを推薦することができる。
【００２２】
ある実施例において、本発明の推薦システムは、クライアント−サーバアーキテクチャを利用する。図１は、本発明の１つの実施例による活動推薦システムの動作モードの例を示す。ユーザの携帯機器１０６は、推薦システムのクライアント側ソフトウェアを実行する。携帯機器１０６は、無線サーバプロバイダのネットワーク１０４の一部である無線タワー１０８と通信している。無線サービスプロバイダのネットワーク１０４は、また、インターネット１０２にも接続されている。動作中、携帯機器１０６はサーバ１１２にクエリを送る。サーバ１１２はデータベース１１０とも通信しており、データベース１１０には位置データ、会場／活動データ、任意で複数のユーザのためのユーザプロファイルデータが保存されている。
【００２３】
ある実施例において、携帯機器１０６は、全地球測位システム（ＧＰＳ）等、ユーザに関連付けられた物理的状態を観察する感知装置を備える。携帯機器１０６は、この状態情報をクエリサーバ１１２に送信できる。サーバ１１２は、活動の種類に関するユーザプロファイルまたは一般的母集団データに基づいて、この状態情報にマッチする活動種類分布を計算する。この活動種類分布を用い、ユーザが各種の活動に従事するであろう確率あるいは従事したいと考える確率がどれだけあるかが予測される。次にサーバ１１２は、データベース１１０を検索し、確率がゼロではない活動種類に適合する活動種類に利用可能で、機器１０６の指定場所から所定の距離範囲内にある会場を返す。次に、ユーザが指定した嗜好と、アクセスされたコンテンツ、過去の会場評価結果、推論される会場訪問等の過去の挙動から導き出されるユーザのプロファイルとの適合という点でのメトリック重み分布に応じて、会場のランク付けを行う。最後に、サーバ１１２は対応する活動種類の確率に応じて適合する活動種類に利用可能な会場のリストを編集し、このリストを携帯機器１０６に送り返して、表示させる。
【００２４】
図２は、本発明の１つの実施例による活動推薦システムのアーキテクチャ例を示すブロック図である。１つの実施例において、この推薦システムの動作はオフラインプロセスとランタイムプロセスを含む。オフラインプロセスは、そのユーザが従事する可能性のある将来の活動種類を予測するのに使用できる特定ユーザ活動種類分布を導き出す。ランタイムプロセスは、メトリック重み分布を生成し、このメトリック重み分布に基づいて具体的な活動をランク付けし、推薦される活動の最終リストを作成する。
【００２５】
本発明の１つの実施例において、活動種類は、「食べる」、「買う」、「行う」、「見る」、「読む」を含む。各活動種類には、異なる具体的活動が含まれることがある。たとえば、「食べる」は、ランチを食べる、コーヒーを飲む、一杯やる、ディナーを食べる等を含む。さらに、１つの具体的な活動が異なるコンテンツを含むこともある。たとえば、「ランチを食べる」はさらに、「ＡＢＣレストランでランチにメキシカン料理を食べる」、あるいは「ＡＢＣレストランで中華のテイクアウトを注文する」とさらに具体化することができる。本発明の推薦システムは、上記のような３段階の抽出レベルで予測および／または推薦を行うことができる。
【００２６】
活動種類分布の計算がオフラインプロセスとして指定されていても、システムはサーバまたはクライアントのいずれかで、リアルタイムでこの計算を行うこともできる点に注意する。同様に、メトリック重さ分布の計算も、サーバまたはクライアントで実行できる。図２の例は、説明のために示されているにすぎない。このアーキテクチャの実際の実装は、実施例によって異なっていてもよい。
【００２７】
図２に示されているように、動作中、推薦アプリケーション２０２はまず、クエリ２０３をサーバに送信し、そのユーザにとっての活動種類分布２１８を取得する。クエリ２０３には、そのユーザに関連付けられた文脈情報群、たとえば、ユーザの識別子、現在時刻、曜日、週、ユーザの居場所、過去１時間のユーザの居場所追跡等を含めてもよい。クエリ２０３にはまた、ユーザが明確に提供する、異なる時刻や異なる場所等の文脈情報を含めることもできる。サーバは、クエリ２０３を受け取ると、ユーザの文脈情報およびそのユーザまたは一般民衆もしくは年齢、性別、労働時間等の具体的基準においてユーザと一致する母集団に関連付けられた統計的情報群の分析を行う。
【００２８】
１つの実施例において、システムは、一人または複数のユーザに関するユーザプロファイル２０４を保持する。このユーザプロファイルは、ユーザの過去の活動または文脈データによって生成できる。１つの実施例において、システムはユーザの過去のＧＰＳ追跡結果２０６を使ってユーザプロファイルを構築する。ＧＰＳ追跡結果には一般に、一連の座標とこれに対応する時刻スタンプが含まれる。このシステムは、ＧＰＳ追跡結果を会場マップにマッピングし、ユーザが一箇所に過ごす時間の長さとその場所の付近にある会場との相関関係を特定する。これらの会場は活動種類に関連付けられることが多い。たとえば、レストランは「食べる」の種類に関連付けられ、店は「買う」の種類に関連付けられる。このようにして、システムは履歴データに基づいて、ユーザが特定の時間に特定の場所の付近でどの種類の活動を通常行うかを示すユーザプロファイルを構築することができる。システムは次に、このユーザプロファイルとクエリ２０３と一緒に受け取った文脈情報とを併せて使用し、活動種類分布２１８を導き出す。
【００２９】
たとえば、ユーザの過去のＧＰＳ追跡結果がしばしば、そのユーザが日常的に多数のレストランの中の１つにおいて正午付近の１時間に過ごすことを示していれば、システムはそのユーザが通常正午に食べることを示すそのユーザのプロファイルを構築することができる。そして、クエリ２０３が正午に近い時刻を示すと、システムは活動種類分布２１８を計算する際、「食べる」の活動種類の確率を高くする。１つの実施例において、システムはまた、文脈情報に基づいて、活動種類の格下げを行うこともできる。上記の例では、文脈情報が、ユーザは過去１時間をレストランで過ごしたことを示していれば、システムはユーザがすでに食べ終わったと推測し、したがって、活動種類分布２１８における「食べる」の活動種類の確率を低くする。
【００３０】
場合により、ユーザのプロファイルが利用できないこともある（たとえば、ユーザが始めて推薦システムを使用し、システムがこのユーザに関する過去のデータを持たない場合）。この場合、システムは一般集団またはその中の小集団のプロファイルである母集団事前情報群を使用して、活動種類分布２１８を予測できる。母集団事前情報２０８は、時刻２１０、曜日２１２、季節２１４および／または天気２１６等、各種の文脈情報で条件付けることができる。１つの実施例において、システムは、母集団事前情報２０８のように、国勢調査局の発表するデータ等、公に入手可能な情報を使用することができる。
【００３１】
推薦アプリケーション２０２は、活動種類分布２１８を受け取った後、会場／活動データベース２４２にクエリ２４１を行う。会場／活動データベース２４２には、各種の活動のための多数の会場に関する情報が保存される。クエリ２４１は、感知された、あるいはユーザにより提供された時間と場所を特定し、また活動種類分布２１８に従って活動種類を特定する。たとえば、活動種類分布２１８が「食べる」６０％、「買う」２０％、「行う」２０％の分布を示すと、クエリ２４１は「食べる」、「買う」、「行う」を活動種類として特定する。これに応答し、会場／活動データベース２４２は、営業時間が特定された時間とマッチし、特定の場所の付近でこれら３種類の活動を実行できる会場だけを返す。
【００３２】
会場／活動データベース２４２からの多数の活動（および会場）を受け取ると、推薦アプリケーション２０２は次に、各活動について活動スコアリングモジュール２２１を実行させ、このスコアリングモジュールは、ある実施例において、一連のメトリックおよび活動メトリック重み分布２１９に基づいて各活動に正規化されたスコアをつける。活動には異なるメトリックでスコアが付けられ、最終スコアはメトリック重み分布２１９に基づいて加重平均される。異なるスコアメトリックは、ユーザが過去にアクセスしたコンテンツ２２０、活動の場所とユーザの現在の居場所あるいは指定された場所との間の距離２２２、および任意でユーザの一連の嗜好２２４をはじめとする各種の情報に基づくものとすることができる。
【００３３】
具体的には、コンテンツ２２０は、ウェブページ２２６、電子メール２２８、ユーザの約束またはカレンダの入力情報２３０または過去に閲覧したあらゆる種類のテキスト２３２等が含まれる。ある実施例において、システムはコンテンツから（たとえば、ユーザのシステムのキャッシュまたは一時的なインターネットファイルから）キーワードを抽出し、活動の内容とこれらのキーワードを比較することができる。マッチすれば、その活動には高いスコアが付与される。
【００３４】
距離メトリック２２２は、ユーザの感知された、または指定されたＧＰＳデータ２３４と活動の場所に基づいて計算される。距離が大きければ、システムは、その活動の距離メトリックのスコアを減らし、その活動を降格させることができる。
【００３５】
システムはまた、ユーザの入力２３６に基づく明確なユーザ嗜好２２４を受け取ることもできる。活動がユーザ嗜好２２４にマッチすれば、システムはその活動に高い嗜好スコアをつける。マッチしなければ、低いスコアがつけられる。
【００３６】
スコアリングメカニズムは再構成可能で、各メトリックに特定のものとすることができる点に注意する。それだけでなく、システムはメトリックを追加、削除または変更できる。さらに、システムはユーザのコンテキストとコンテキストレポジトリ２３８に基づくコンテキストメトリックも使用して、コンテキストごとのスコアを生成することができる。コンテキストレポジトリ２３８は、コンテキストと活動の特定の組み合わせに関するスコアリングスキームを指定できる。たとえば、特定のレストランについて、その活動がランチタイムあるいは１年の中の特定の時期について照会された場合は、高いコンテキストスコアを付与する。
【００３７】
各活動にスコアが付与されると、推薦アプリケーション２０２は、１つの種類の中で会場により代表されるすべての活動をランク付けし、活動種類分布２１８にしたがって上位にランキングされた活動が可能な会場を多数選択する。たとえば、活動種類分布２１８が「食べる」６０％、「買う」２０％、「行う」２０％であると、推薦アプリケーション２０２が生成する会場リストは１０の活動からなる推薦される活動２０４を表し、その中の６つが「食べる」、２つが「買う」、２つが「行う」に関係する。
【００３８】
別の実施例において、システムはまたユーザが別のユーザと一緒にいるか否かを検出する。たとえば、システムはユーザが初めて別のユーザと一緒にいるか否かを検出することができる。これが当てはまれば、システムは両ユーザの個人的活動種類分布を重ね合わせて、統合活動種類分布を生成する。または、両ユーザの個人的メトリック重み分布を重ね合わせて、統合メトリック重み分布を生成することもできる。２人またはそれ以上のユーザが過去において何度も一緒にいたことがある場合、システムはこのユーザグループに関するユーザプロファイルを構築し、単独のメトリック重み分布を作ることができる。つまり、このシステムはユーザグループを１人のユーザとして扱い、上記と同じ活動予測と推薦工程を適用することができる。
【００３９】
さらに別の実施例において、システムは推薦された活動の実行に役立つポート活動を推薦することもできる。たとえば、推薦された活動のひとつが「コンサートに行く」であれば、システムはユーザがそのコンサートのチケットを買うことのできる場所を推薦できる。
【００４０】
図３は、本発明の１つの実施例によって活動種類を予測し、各種の会場において実行可能な将来の活動を推薦するための工程の一例を示すフローチャートである。動作中、システムは活動種類のクエリとこれに対応する文脈情報を受け取る（動作３０２）。システムは次に、ユーザプロファイルが利用可能か判断する（動作３０４）。ユーザプロファイルを利用できれば、システムはユーザプロファイルをロードする（動作３０６）。利用できなければ、システムは母集団事前情報群をロードする（動作３０８）。次にシステムは、ユーザプロファイルまたは母集団事前情報および文脈情報に基づいて活動種類分布を計算する（動作３１０）。
【００４１】
続いて、システムはユーザの居場所と、活動種類分布の中で特定された活動の種類に基づいて会場／活動データベースを検索する（動作３１２）。システムは次に、返された活動にスコアをつける（動作３１４）。次に、システムは活動種類分布に基づいて、最も高いランクの活動とこれに対応する会場を推薦する（動作３１６）。
【００４２】
図４は、本発明の１つの実施例による、食事と買い物の活動に関する一般的な時間確率ｐを示す母集団事前情報群の例を示す。図４に示されるように、２つの曲線は、一方が１日の異なる時間中に食事か買い物のいずれかである確率を示す。これらの曲線は、大勢の人々の調査に基づいて生成される。一般に、このようなデータは米国国勢調査局等の行政機関から入手できる。１つの実施例において、推薦システムは、大勢のユーザから長期間にわたって収集されたＧＰＳ追跡結果から独自の母集団事前データを構築することもできる。
【００４３】
図５は、本発明にしたがって活動種類を予測し、将来の活動を推薦する推薦システムを支援するコンピュータおよび通信システムの一例を示す。コンピュータおよび通信システム５００は、通信モジュール５４０に連結され、プロセッサ５１０、メモリ５２０、記憶装置５３０を備える。記憶装置５３０は、推薦アプリケーション５３２およびアプリケーション５４２，５４４を記憶する。推薦アプリケーション５３２は、活動種類分布モジュール５３４と活動スコアリングモジュール５３５を備える。動作中、推薦アプリケーション５３２は記憶装置５３０からメモリ５２０の中にロードされ、プロセッサ５１０によって実行される。
【図面の簡単な説明】
【００４４】
【図１】本発明の１つの実施例による活動推薦システムの動作モードの一例を示す図である。
【図２】本発明の１つの実施例による活動推薦システムのアーキテクチャの一例を示すブロック図である。
【図３】本発明の１つの実施例により活動の種類を予測し、将来の活動を推薦する工程の一例を示すフローチャートである。
【図４】本発明の１つの実施例に従って食事およびショッピング活動に関する一般的時間嗜好を示す母集団事前情報群の例を示す図である。
【図５】本発明にしたがって活動の種類を予測して将来の活動を推薦する推薦システムに役立つコンピュータおよび通信システムの一例を示す図である。
【符号の説明】
【００４５】
１０２  インターネット、１０４  無線サービスプロバイダのネットワーク、１０６  携帯機器、１１０，２４２  データベース、１１２  サーバ、２０２，５３２  推薦アプリケーション、２０３，２４１  クエリ、２０４  個人プロファイル、２０６  ＧＰＳ追跡結果、２０８  母集団事前情報、２１０  時刻、２１２  曜日、２１４  季節、２１６  天気、２１８  活動種類分布、２１９  活動メトリック重み分布、２２０  コンテンツ、２２２  距離、２２４  嗜好、２２６  ウェブページ、２２８  電子メール、２３０  約束、２３２  過去に閲覧したテキスト、２３６  ユーザの入力、２３８  コンテキストレポジトリ、２４０  推薦された活動のリスト、５００  コンピュータおよび通信システム、５１０  プロセッサ、５２０  メモリ、５３０  記憶装置、５３４  活動種類分布モジュール、５３５  活動スコアリングモジュール、５４０  通信モジュール、５４２，５４４  アプリケーション。
【図１】
0005248914.tif 000002
【図２】
0005248914.tif 000003
【図３】
0005248914.tif 000004
【図４】
0005248914.tif 000005
【図５】
0005248914.tif 000006