(57)【要約】コンピュータに実装された方法であって、ユーザに関連付いた識別入力データを取得するステップと、前記識別入力データを用いてユーザを識別するステップと、センサデータを受信するステップと、前記センサデータに基づいて、予め定義された状況データおよび関連するパラメータによって表された、１つまたは複数の予め定義された状況から、前記ユーザに関連付いた現在の状況を判定するステップと、候補アイテムのセットを表すデータを取得するステップと、前記現在の状況と、前記ユーザに関連付いたユーザ有効性モデルとに基づいて、前記候補アイテムのセットに対応する有効性スコアのセットを生成するステップと、前記候補アイテムのセットから１つまたは複数の候補アイテムを除去し、１つまたは複数の残りの候補アイテムを取得するステップと、前記１つまたは複数の残りの候補アイテムに関連付いた１つまたは複数の有効性スコアに基づいて、前記１つまたは複数の残りの候補アイテムをランク付けするステップと、前記１つまたは複数のランク付けされた残りの候補アイテムから、１つまたは複数の推奨アイテムを前記ユーザに対して提供するステップと、を含む。【選択図】図１
2016541054.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに実装された方法であって、
ユーザに関連付いた識別入力データを取得するステップと、
前記識別入力データを用いてユーザを識別するステップと、
センサデータを受信するステップと、
前記センサデータに基づいて、予め定義された状況データおよび関連するパラメータによって表された、１つまたは複数の予め定義された状況から、前記ユーザに関連付いた現在の状況を判定するステップと、
候補アイテムのセットを表すデータを取得するステップと、
前記現在の状況と、前記ユーザに関連付いたユーザ有効性モデルとに基づいて、前記候補アイテムのセットに対応する有効性スコアのセットを生成するステップと、
前記候補アイテムのセットから１つまたは複数の候補アイテムを除去し、１つまたは複数の残りの候補アイテムを取得するステップと、
前記１つまたは複数の残りの候補アイテムに関連付いた１つまたは複数の有効性スコアに基づいて、前記１つまたは複数の残りの候補アイテムをランク付けするステップと、
前記１つまたは複数のランク付けされた残りの候補アイテムから、１つまたは複数の推奨アイテムを前記ユーザに対して提供するステップと、
を含む方法。
【請求項２】
ステークホルダによって定義されたステークホルダ有効性データを受信するステップと、
前記現在の状況および前記ステークホルダ有効性データのうちの１つまたは複数に基づいて前記ユーザ有効性モデルを生成するステップと、
前記ステークホルダ有効性データに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに含む、
請求項１に記載の方法。
【請求項３】
モバイルコンピュータに関連付いたデバイスデータを収集するステップと、
前記モバイルコンピュータ向けに構成された、１つまたは複数のスコアリングにおける好ましさを表すデバイスバイアスデータを判定するステップと、
前記デバイスデータおよび前記デバイスバイアスデータに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに含む、
請求項１に記載の方法。
【請求項４】
前記現在の状況に基づいて、充足されるべき１つ又は複数の状況制約を表す状況バイアスモデルを判定するステップと、
前記現在の状況および前記状況バイアスモデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに含む、
請求項１に記載の方法。
【請求項５】
前記ユーザに関連付いた履歴ユーザ有効性モデルが存在していると判定するステップと、
前記現在の状況および前記履歴ユーザ有効性モデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに含む、
請求項１に記載の方法。
【請求項６】
前記ユーザに関連付いたグループ有効性モデルを取得するステップと、
前記現在の状況および前記グループ有効性モデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに含む、
請求項１に記載の方法。
【請求項７】
前記ユーザに関連付いたユーザプロファイルデータを取得するステップと、
前記ユーザに関連付いたユーザソーシャルデータを取得するステップと、
前記ユーザプロファイルデータおよび前記ユーザソーシャルデータに基づいて、前記ユーザに関連付いたユーザ属性データを生成するステップと、
前記ユーザ属性データおよび前記現在の状況のうちの１つまたは複数に基づいて前記ユーザ有効性モデルを生成するステップと、
前記ユーザ属性データに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに含む、
請求項１に記載の方法。
【請求項８】
前記ユーザが消費した１つまたは複数のアイテムを識別するステップと、
前記１つまたは複数の消費されたアイテムの、１つまたは複数の親和性状態を識別するステップと、
前記１つまたは複数の消費されたアイテムに関連付いたアイテムソーシャルデータを取得するステップと、
前記１つまたは複数の親和性状態および前記アイテムソーシャルデータに基づいて、前記１または複数の消費されたアイテムに関連付いたアイテム属性データを生成するステップと、
前記１つまたは複数の消費されたアイテムを、１つまたは複数のグループに分類するステップと、
前記１つまたは複数のグループを識別する１つまたは複数のグループ識別子を判定するステップと、
前記アイテム属性データ、前記現在の状況、前記１つまたは複数のグループ識別子、のうちの１つまたは複数に基づいて、前記ユーザ有効性モデルを生成するステップと、をさらに含む、
請求項１に記載の方法。
【請求項９】
前記センサデータに基づいて、移動に関連付いた移動開始地点、立寄り地点、および移動終了地点を判定するステップと、
前記ユーザに関連付いた移動履歴を表すデータを取得するステップと、
前記移動履歴、前記移動開始地点、前記立寄り地点、前記移動終了地点のうちの１つまたは複数に基づいて移動オフセット距離を判定するステップと、
モバイルコンピュータに関連付いたデバイスデータを収集するステップと、
前記モバイルコンピュータに関連付いた移動モビリティデータを生成するステップであって、前記移動モビリティデータは、前記移動開始地点、前記移動終了地点、前記立寄り地点、前記移動オフセット距離、前記装置データのうちの１つ又は複数を含む、ステップと、
前記移動モビリティデータに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに含む、
請求項１に記載の方法。
【請求項１０】
コンピュータが処理可能なプログラムを含んだコンピュータ可読媒体を有するコンピュータプログラム製品であって、
前記プログラムは、前記コンピュータに、
ユーザに関連付いた識別入力データを取得するステップと、
前記識別入力データを用いてユーザを識別するステップと、
センサデータを受信するステップと、
前記センサデータに基づいて、予め定義された状況データおよび関連するパラメータに
よって表された、１つまたは複数の予め定義された状況から、前記ユーザに関連付いた現在の状況を判定するステップと、
候補アイテムのセットを表すデータを取得するステップと、
前記現在の状況と、前記ユーザに関連付いたユーザ有効性モデルとに基づいて、前記候補アイテムのセットに対応する有効性スコアのセットを生成するステップと、
前記候補アイテムのセットから１つまたは複数の候補アイテムを除去し、１つまたは複数の残りの候補アイテムを取得するステップと、
前記１つまたは複数の残りの候補アイテムに関連付いた１つまたは複数の有効性スコアに基づいて、前記１つまたは複数の残りの候補アイテムをランク付けするステップと、
前記１つまたは複数のランク付けされた残りの候補アイテムから、１つまたは複数の推奨アイテムを前記ユーザに対して提供するステップと、
を実行させる、コンピュータプログラム製品。
【請求項１１】
前記プログラムは、前記コンピュータに、
ステークホルダによって定義されたステークホルダ有効性データを受信するステップと、
前記現在の状況および前記ステークホルダ有効性データのうちの１つまたは複数に基づいて前記ユーザ有効性モデルを生成するステップと、
前記ステークホルダ有効性データに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに実行させる、
請求項１０に記載のコンピュータプログラム製品。
【請求項１２】
前記プログラムは、前記コンピュータに、
モバイルコンピュータに関連付いたデバイスデータを収集するステップと、
前記モバイルコンピュータ向けに構成された、１つまたは複数のスコアリングの好ましさを表すデバイスバイアスデータを判定するステップと、
前記デバイスデータおよび前記デバイスバイアスデータに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに実行させる、
請求項１０に記載のコンピュータプログラム製品。
【請求項１３】
前記プログラムは、前記コンピュータに、
前記現在の状況に基づいて、充足されるべき１つ又は複数の状況制約を表す状況バイアスモデルを判定するステップと、
前記現在の状況および前記状況バイアスモデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに実行させる、
請求項１０に記載のコンピュータプログラム製品。
【請求項１４】
前記プログラムは、前記コンピュータに、
前記ユーザに関連付いた履歴ユーザ有効性モデルが存在していると判定するステップと、
前記現在の状況および前記履歴ユーザ有効性モデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに実行させる、
請求項１０に記載のコンピュータプログラム製品。
【請求項１５】
前記プログラムは、前記コンピュータに、
前記ユーザに関連付いたグループ有効性モデルを取得するステップと、
前記現在の状況および前記グループ有効性モデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに実行させる、
請求項１０に記載のコンピュータプログラム製品。
【請求項１６】
前記プログラムは、前記コンピュータに、
前記ユーザに関連付いたユーザプロファイルデータを取得するステップと、
前記ユーザに関連付いたユーザソーシャルデータを取得するステップと、
前記ユーザプロファイルデータおよび前記ユーザソーシャルデータに基づいて、前記ユーザに関連付いたユーザ属性データを生成するステップと、
前記ユーザ属性データおよび前記現在の状況のうちの１つまたは複数に基づいて前記ユーザ有効性モデルを生成するステップと、
前記ユーザ属性データに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに実行させる、
請求項１０に記載のコンピュータプログラム製品。
【請求項１７】
前記プログラムは、前記コンピュータに、
前記ユーザが消費した１つまたは複数のアイテムを識別するステップと、
前記１つまたは複数の消費されたアイテムの、１つまたは複数の親和性状態を識別するステップと、
前記１つまたは複数の消費されたアイテムに関連付いたアイテムソーシャルデータを取得するステップと、
前記１つまたは複数の親和性状態および前記アイテムソーシャルデータに基づいて、前記１または複数の消費されたアイテムに関連付いたアイテム属性データを生成するステップと、
前記１つまたは複数の消費されたアイテムを、１つまたは複数のグループに分類するステップと、
前記１つまたは複数のグループを識別する１つまたは複数のグループ識別子を判定するステップと、
前記アイテム属性データ、前記現在の状況、前記１つまたは複数のグループ識別子、のうちの１つまたは複数に基づいて、前記ユーザ有効性モデルを生成するステップと、をさらに実行させる、
請求項１０に記載のコンピュータプログラム製品。
【請求項１８】
前記プログラムは、前記コンピュータに、
前記センサデータに基づいて、移動に関連付いた移動開始地点、立寄り地点、および移動終了地点を判定するステップと、
前記ユーザに関連付いた移動履歴を表すデータを取得するステップと、
前記移動履歴、前記移動開始地点、前記立寄り地点、前記移動終了地点のうちの１つまたは複数に基づいて移動オフセット距離を判定するステップと、
モバイルコンピュータに関連付いたデバイスデータを収集するステップと、
前記モバイルコンピュータに関連付いた移動モビリティデータを生成するステップであって、前記移動モビリティデータは、前記移動開始地点、前記移動終了地点、前記立寄り地点、前記移動オフセット距離、前記装置データのうちの１つ又は複数を含む、ステップと、
前記移動モビリティデータに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに実行させる、
請求項１０に記載のコンピュータプログラム製品。
【請求項１９】
プロセッサと、メモリと、を含むシステムであって、
前記メモリには、前記システムに、
ユーザに関連付いた識別入力データを取得するステップと、
前記識別入力データを用いてユーザを識別するステップと、
センサデータを受信するステップと、
前記センサデータに基づいて、予め定義された状況データおよび関連するパラメータに
よって表された、１つまたは複数の予め定義された状況から、前記ユーザに関連付いた現在の状況を判定するステップと、
候補アイテムのセットを表すデータを取得するステップと、
前記現在の状況と、前記ユーザに関連付いたユーザ有効性モデルとに基づいて、前記候補アイテムのセットに対応する有効性スコアのセットを生成するステップと、
前記候補アイテムのセットから１つまたは複数の候補アイテムを除去し、１つまたは複数の残りの候補アイテムを取得するステップと、
前記１つまたは複数の残りの候補アイテムに関連付いた１つまたは複数の有効性スコアに基づいて、前記１つまたは複数の残りの候補アイテムをランク付けするステップと、
前記１つまたは複数のランク付けされた残りの候補アイテムから、１つまたは複数の推奨アイテムを前記ユーザに対して提供するステップと、
を、実行させる命令が記憶されている、システム。
【請求項２０】
前記命令は、前記システムに、
ステークホルダによって定義されたステークホルダ有効性データを受信するステップと、
前記現在の状況および前記ステークホルダ有効性データのうちの１つまたは複数に基づいて前記ユーザ有効性モデルを生成するステップと、
前記ステークホルダ有効性データに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに実行させる、
請求項１９に記載のシステム。
【請求項２１】
前記命令は、前記システムに、
モバイルコンピュータに関連付いたデバイスデータを収集するステップと、
前記モバイルコンピュータ向けに構成された、１つまたは複数のスコアリングにおける好ましさを表すデバイスバイアスデータを判定するステップと、
前記デバイスデータおよび前記デバイスバイアスデータに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに実行させる、
請求項１９に記載のシステム。
【請求項２２】
前記命令は、前記システムに、
前記現在の状況に基づいて、充足されるべき１つ又は複数の状況制約を表す状況バイアスモデルを判定するステップと、
前記現在の状況および前記状況バイアスモデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに実行させる、
請求項１９に記載のシステム。
【請求項２３】
前記命令は、前記システムに、
前記ユーザに関連付いた履歴ユーザ有効性モデルが存在していると判定するステップと、
前記現在の状況および前記履歴ユーザ有効性モデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに実行させる、
請求項１９に記載のシステム。
【請求項２４】
前記命令は、前記システムに、
前記ユーザに関連付いたグループ有効性モデルを取得するステップと、
前記現在の状況および前記グループ有効性モデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに実行させる、
請求項１９に記載のシステム。
【請求項２５】
前記命令は、前記システムに、
前記ユーザに関連付いたユーザプロファイルデータを取得するステップと、
前記ユーザに関連付いたユーザソーシャルデータを取得するステップと、
前記ユーザプロファイルデータおよび前記ユーザソーシャルデータに基づいて、前記ユーザに関連付いたユーザ属性データを生成するステップと、
前記ユーザ属性データおよび前記現在の状況のうちの１つまたは複数に基づいて前記ユーザ有効性モデルを生成するステップと、
前記ユーザ属性データに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに実行させる、
請求項１９に記載のシステム。
【請求項２６】
前記命令は、前記システムに、
前記ユーザが消費した１つまたは複数のアイテムを識別するステップと、
前記１つまたは複数の消費されたアイテムの、１つまたは複数の親和性状態を識別するステップと、
前記１つまたは複数の消費されたアイテムに関連付いたアイテムソーシャルデータを取得するステップと、
前記１つまたは複数の親和性状態および前記アイテムソーシャルデータに基づいて、前記１または複数の消費されたアイテムに関連付いたアイテム属性データを生成するステップと、
前記１つまたは複数の消費されたアイテムを、１つまたは複数のグループに分類するステップと、
前記１つまたは複数のグループを識別する１つまたは複数のグループ識別子を判定するステップと、
前記アイテム属性データ、前記現在の状況、前記１つまたは複数のグループ識別子、のうちの１つまたは複数に基づいて、前記ユーザ有効性モデルを生成するステップと、をさらに実行させる、
請求項１９に記載のシステム。
【請求項２７】
前記命令は、前記システムに、
前記センサデータに基づいて、移動に関連付いた移動開始地点、立寄り地点、および移動終了地点を判定するステップと、
前記ユーザに関連付いた移動履歴を表すデータを取得するステップと、
前記移動履歴、前記移動開始地点、前記立寄り地点、前記移動終了地点のうちの１つまたは複数に基づいて移動オフセット距離を判定するステップと、
モバイルコンピュータに関連付いたデバイスデータを収集するステップと、
前記モバイルコンピュータに関連付いた移動モビリティデータを生成するステップであって、前記移動モビリティデータは、前記移動開始地点、前記移動終了地点、前記立寄り地点、前記移動オフセット距離、前記装置データのうちの１つ又は複数を含む、ステップと、
前記移動モビリティデータに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに実行させる、
請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、コンテンツの推奨に関する。更に詳しくは、本明細書は、有効性モデルに基づいて推奨アイテムをユーザに提供するシステムに関する。
【背景技術】
【０００２】
車両を運転しているユーザが、コンテンツ推奨システムに対して、コンテンツアイテムを要求する場合がある。例えば、ユーザが、車内インフォテインメントシステムにおいてポッドキャストの再生を要求する場合がある。しかし、既存のコンテンツ推奨システムは、多くの場合、コンテンツアイテムをユーザが所望する内容に基づいて推奨しており、「ユーザが特定の状況において必要としているもの」に基づいて推奨してはいない。例えば、既存のコンテンツ推奨システムは、オーディオアイテムを推奨すべきでない状況（ユーザの注意を運転から逸らせてしまう状況）においてオーディオアイテムをユーザに提供する場合がある。
【発明の概要】
【０００３】
上記課題を解決するための、本発明の革新的な一形態に係るシステムは、有効性モデルに基づいてユーザに対してアイテムを推奨するシステムであって、
プロセッサと、メモリと、を含み、前記メモリには、前記システムに、ユーザに関連付いた識別入力データを取得するステップと、前記識別入力データを用いてユーザを識別するステップと、センサデータを受信するステップと、前記センサデータに基づいて、予め定義された状況データおよび関連するパラメータによって表された、１つまたは複数の予め定義された状況から、前記ユーザに関連付いた現在の状況を判定するステップと、候補アイテムのセットを表すデータを取得するステップと、前記現在の状況と、前記ユーザに関連付いたユーザ有効性モデルとに基づいて、前記候補アイテムのセットに対応する有効性スコアのセットを生成するステップと、前記候補アイテムのセットから１つまたは複数の候補アイテムを除去し、１つまたは複数の残りの候補アイテムを取得するステップと、前記１つまたは複数の残りの候補アイテムに関連付いた１つまたは複数の有効性スコアに基づいて、前記１つまたは複数の残りの候補アイテムをランク付けするステップと、前記１つまたは複数のランク付けされた残りの候補アイテムから、１つまたは複数の推奨アイテムを前記ユーザに対して提供するステップと、を、実行させる命令が記憶されていることを特徴とする。
【０００４】
また、本発明の革新的な他の一形態に係る方法は、
コンピュータに実装された方法であって、ユーザに関連付いた識別入力データを取得するステップと、前記識別入力データを用いてユーザを識別するステップと、センサデータを受信するステップと、前記センサデータに基づいて、予め定義された状況データおよび関連するパラメータによって表された、１つまたは複数の予め定義された状況から、前記ユーザに関連付いた現在の状況を判定するステップと、候補アイテムのセットを表すデータを取得するステップと、前記現在の状況と、前記ユーザに関連付いたユーザ有効性モデルとに基づいて、前記候補アイテムのセットに対応する有効性スコアのセットを生成するステップと、前記候補アイテムのセットから１つまたは複数の候補アイテムを除去し、１つまたは複数の残りの候補アイテムを取得するステップと、前記１つまたは複数の残りの候補アイテムに関連付いた１つまたは複数の有効性スコアに基づいて、前記１つまたは複数の残りの候補アイテムをランク付けするステップと、前記１つまたは複数のランク付けされた残りの候補アイテムから、１つまたは複数の推奨アイテムを前記ユーザに対して提供するステップと、を含むことを特徴とする。
【０００５】
その他の態様は、これらのおよびその他の革新的な態様における対応した方法、システム、装置、およびコンピュータプログラムプロダクトを含む。
【０００６】
これらのおよびその他の実装形態は、それぞれ、任意選択により、以下の特徴のうちの１つまたは複数を含んでいてもよい。
例えば、ステークホルダによって定義されたステークホルダ有効性データを受信するステップと、前記現在の状況および前記ステークホルダ有効性データのうちの１つまたは複数に基づいて前記ユーザ有効性モデルを生成するステップと、前記ステークホルダ有効性データに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに含んでもよい。
また、モバイルコンピュータに関連付いたデバイスデータを収集するステップと、前記モバイルコンピュータ向けに構成された、１つまたは複数のスコアリングにおける好ましさを表すデバイスバイアスデータを判定するステップと、前記デバイスデータおよび前記デバイスバイアスデータに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに含んでもよい。
また、前記現在の状況に基づいて、充足されるべき１つ又は複数の状況制約を表す状況バイアスモデルを判定するステップと、前記現在の状況および前記状況バイアスモデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに含んでもよい。
また、前記ユーザに関連付いた履歴ユーザ有効性モデルが存在していると判定するステップと、前記現在の状況および前記履歴ユーザ有効性モデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに含んでもよい。
また、前記ユーザに関連付いたグループ有効性モデルを取得するステップと、前記現在の状況および前記グループ有効性モデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに含んでもよい。
また、前記ユーザに関連付いたユーザプロファイルデータを取得するステップと、前記ユーザに関連付いたユーザソーシャルデータを取得するステップと、前記ユーザプロファイルデータおよび前記ユーザソーシャルデータに基づいて、前記ユーザに関連付いたユーザ属性データを生成するステップと、前記ユーザ属性データおよび前記現在の状況のうちの１つまたは複数に基づいて前記ユーザ有効性モデルを生成するステップと、前記ユーザ属性データに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに含んでもよい。
また、前記ユーザが消費した１つまたは複数のアイテムを識別するステップと、前記１つまたは複数の消費されたアイテムの、１つまたは複数の親和性状態を識別するステップと、前記１つまたは複数の消費されたアイテムに関連付いたアイテムソーシャルデータを取得するステップと、前記１つまたは複数の親和性状態および前記アイテムソーシャルデータに基づいて、前記１または複数の消費されたアイテムに関連付いたアイテム属性データを生成するステップと、前記１つまたは複数の消費されたアイテムを、１つまたは複数のグループに分類するステップと、前記１つまたは複数のグループを識別する１つまたは複数のグループ識別子を判定するステップと、前記アイテム属性データ、前記現在の状況、前記１つまたは複数のグループ識別子、のうちの１つまたは複数に基づいて、前記ユーザ有効性モデルを生成するステップと、をさらに含んでもよい。
また、前記センサデータに基づいて、移動に関連付いた移動開始地点、立寄り地点、および移動終了地点を判定するステップと、前記ユーザに関連付いた移動履歴を表すデータを取得するステップと、前記移動履歴、前記移動開始地点、前記立寄り地点、前記移動終了地点のうちの１つまたは複数に基づいて移動オフセット距離を判定するステップと、モバイルコンピュータに関連付いたデバイスデータを収集するステップと、前記モバイルコンピュータに関連付いた移動モビリティデータを生成するステップであって、前記移動モビリティデータは、前記移動開始地点、前記移動終了地点、前記立寄り地点、前記移動オフセット距離、前記装置データのうちの１つ又は複数を含む、ステップと、前記移動モビリティデータに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに
含んでもよい。
【０００７】
本開示は、いくつかの観点において特に有利である。第１に、本システムは、ユーザが所望する内容に基づいてアイテムをユーザに推奨することができるだけでなく、ユーザが本当に必要としている内容に基づいてアイテムをユーザに推奨することができる。
例えば、本システムは、ユーザに関連付いたユーザ有効性モデルを生成し、当該ユーザ有効性モデルを適用することで、ユーザに対するコンテンツの推奨が望ましい効果を得られるように、ユーザ向けの推奨アイテムを生成する。
コンテンツの推奨は、いくつかのケースにおいて、適法性、安全性、経済的事項、状況的事項、またはその他の事項について効果を達成する。
第２に、候補アイテムに対応する有効性スコアを生成するために、動的であり、かつ、ユーザの現在の状況、ステークホルダ有効性データ、およびその他のデータに基づいて構成されるユーザ有効性モデルを使用する。
従って、ユーザ有効性モデルに基づいて、効果的で、望ましく、かつ、適切なコンテンツの推奨をユーザに対して提供することができる。上述の利点は、例として提供されるものであり、かつ、本システムは、多数のその他の利点および利益を有しうることを理解されたい。
【０００８】
本開示は、限定ではなく、例として示されたものであり、添付図面において、類似の要素が、同一の参照符号を使用して参照されている。
【図面の簡単な説明】
【０００９】
【図１】有効性モデルに基づいて推奨アイテムをユーザに提供するシステムの例を示すブロック図である。
【図２】有効性アプリケーションの一例を示すブロック図である。
【図３Ａ】モデル生成器の例を示すブロック図である。
【図３Ｂ】モデル生成器の例を示すブロック図である。
【図４Ａ】スコア推定器の例を示すブロック図である。
【図４Ｂ】スコア推定器の例を示すブロック図である。
【図５Ａ】有効性モデルに基づいて推奨アイテムをユーザに提供する方法例のフローチャートである。
【図５Ｂ】有効性モデルに基づいて推奨アイテムをユーザに提供する方法例のフローチャートである。
【図６】ユーザを識別する方法例のフローチャートである。
【図７Ａ】ユーザ有効性モデルを生成する方法例のフローチャートである。
【図７Ｂ】ユーザ有効性モデルを生成する方法例のフローチャートである。
【図７Ｃ】ユーザ有効性モデルを生成する方法例のフローチャートである。
【図８Ａ】候補アイテムの有効性スコアを生成する方法例のフローチャートである。
【図８Ｂ】候補アイテムの有効性スコアを生成する方法例のフローチャートである。
【図８Ｃ】候補アイテムの有効性スコアを生成する方法例のフローチャートである。
【図９】ユーザが消費したアイテムを判定する方法例のフローチャートである。
【図１０】ユーザが消費したアイテムの親和性状態を判定する方法例のフローチャートである。
【図１１】移動モビリティデータを生成する方法例のフローチャートである。
【図１２】ユーザに関連付いた現在の状況を判定する方法例のフローチャートである。
【図１３】ユーザが消費した場所の例を示すグラフィック表現である。
【図１４】ユーザがアイテムの親和性状態を入力するユーザインターフェイス例を示すグラフィック表現である。
【図１５】グループの例を示すグラフィック表現である。
【図１６】候補アイテムの親和性状態を予測する方法例のフローチャートである。
【発明を実施するための形態】
【００１０】
図１は、いくつかの実施形態における、有効性（Efficacy）モデルに基づいて推奨アイテムをユーザに対して提供するシステム１００のブロック図を示している。図示のシステム１００は、サーバ１０１と、クライアント装置１１５と、モバイルコンピュータ１３５と、ソーシャルネットワークサーバ１３０と、データサーバ１２０と、を含む。システム１００のエンティティは、ネットワーク１０５を介して通信自在に接続されている。
【００１１】
ネットワーク１０５は、有線または無線の従来タイプのネットワークであり、スター構成、トークンリング構成、または当業者に周知の他の構成などの任意の数の構成を有しても良い。さらに、ネットワーク１０５は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）（例えばインターネット）、および／または、多数の装置が通信できる任意の他の相互接続されたデータ経路を含む。いくつかの実施形態において、ネットワーク１０５は、ピアツーピアネットワークである。ネットワーク１０５は、様々な異なる通信プロトコルでデータを送信するための電気通信ネットワークに接続されるか、またはその一部を含む。一実施形態において、ネットワーク１０５は、ショートメッセージサービス（ＳＭＳ）、マルチメディアメッセージサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、無線アプリケーションプロトコル（ＷＡＰ）、電子メールなどのデータを送受信するための、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信ネットワークまたはセルラー通信ネットワークを含む。
なお、図１には、一つのネットワーク１０５に接続されたサーバ１０１、クライアント装置１１５、モバイルコンピュータ１３５、ソーシャルネットワークサーバ１３０、データサーバ１２０が示されているが、実際は、複数のネットワーク１０５が各エンティティに接続されていてもよい。
【００１２】
いくつかの実施形態において、有効性アプリケーション１０９ａは、サーバ１０１上において動作可能であり、サーバ１０１は、信号線１０４を介してネットワーク１０５に接続されている。サーバ１０１は、プロセッサ、メモリ、およびネットワーク通信能力を含むハードウェアおよび／または仮想サーバを含む。いくつかの実施形態において、サーバ１０１は、ソーシャルネットワークサーバ１３０、クライアント装置１１５、データサーバ１２０、およびモバイルコンピュータ１３５のうちの１つまたは複数との間においてデータを送受信する。図１は、１つのサーバ１０１を示しているが、システム１００は、１つまたは複数のサーバ１０１を含むことができる。
【００１３】
いくつかの実施形態において、有効性アプリケーション１０９ｂは、クライアント装置１１５上において動作可能であり、クライアント装置１１５は、信号線１０８を介してネットワーク１０５に接続されている。いくつかの実施形態において、クライアント装置１１５は、サーバ１０１、データサーバ１２０、ソーシャルネットワークサーバ１３０、およびモバイルコンピュータ１３５のうちの１つまたは複数との間においてデータを送受信する。クライアント装置１１５は、例えば、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、携帯電話機、パーソナルデジタルアシスタント（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ：ＰＤＡ）、モバイル電子メール装置、またはネットワーク１０５にアクセスする能力を有する任意のその他の電子装置などの、メモリおよびプロセッサを含む演算装置である。図示の実施形態では、ユーザ１２５は、クライアント装置１１５とインタラクションする。なお、図１では、１つのクライアント装置１１５を示しているが、システム１００は、１つまたは複数のクライアント装置１１５を含むことができる。
【００１４】
いくつかの例において、有効性アプリケーション１０９ｂは、部分的に、クライアント
装置１１５上に保存されるシンクライアントアプリケーションとして、かつ、部分的に、サーバ１０１およびモバイルコンピュータ１３５のうちの１つまたは複数上に保存されるコンポーネントとして機能する。
例えば、サーバ１０１は、ユーザ向けの推奨アイテムを決定し、かつ、ユーザに対して推奨アイテムを示すユーザインターフェイスを提供するためのグラフィカルデータを生成する。有効性アプリケーション１０９ｂは、クライアント装置１１５に接続された表示装置（不図示）上においてユーザインターフェイスを提示するため、クライアント装置１１５上にインストールされたブラウザ（不図示）に対して命令を送信してもよい。
【００１５】
いくつかの実施形態において、有効性アプリケーション１０９ｃは、モバイルコンピュータ１３５上において動作可能であり、モバイルコンピュータ１３５は、信号線１３４を介してネットワーク１０５に接続されている。いくつかの実施形態において、モバイルコンピュータ１３５は、サーバ１０１、ソーシャルネットワークサーバ１３０、データサーバ１２０、およびクライアントサーバ１１５のうちの１つまたは複数との間においてデータを送受信する。モバイルコンピュータ１３５は、メモリと、プロセッサと、を含む任意の演算装置である。いくつかの実施形態において、モバイルコンピュータ１３５は、車両、自動車、バス、生体インプラント、または、非一時的コンピュータ電子回路（例えば、プロセッサ、メモリ、または非一時的コンピュータ電子回路の任意の組合せ）を有する、任意の他のモバイルシステムのうちの１つである。図示の実施形態において、ユーザ１２５は、モバイルコンピュータ１３５とインタラクションする。いくつかの例において、ユーザ１２５は、車両を運転する運転者であってもよく、乗員座席に着座する乗員であってもよい。図１は、１つのモバイルコンピュータ１３５を示しているが、システム１００は、１つまたは複数のモバイルコンピュータ１３５を含むことができる。
【００１６】
有効性アプリケーション１０９は、有効性モデルに基づいて推奨アイテムをユーザに提供するためのコードおよびルーチンである。いくつかの実施形態において、有効性アプリケーション１０９は、フィールドプログラム可能なゲートアレイ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ：ＦＰＧＡ）または用途固有の集積回路（Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）を含むハードウェアを使用して実装することができる。更なる実施形態において、有効性アプリケーション１０９は、ハードウェアとソフトウェアの組合せを使用して実装することができる。いくつかの実施形態において、有効性アプリケーション１０９は、装置およびサーバの組合せ、または、装置またはサーバのうちの１つに保存されてもよい。有効性アプリケーション１０９については、図２〜図１２および図１６を参照して後ほど説明する。
【００１７】
図１に示した実施形態においては、１つまたは複数の第１センサ１４０ａ〜１４０ｎが、モバイルコンピュータ１３５に接続されている。例えば、第１センサ１４０ａは、信号線１４１を介してモバイルコンピュータ１３５に接続され、かつ、第１センサ１４０ｎは、信号線１４３を介してモバイルコンピュータ１３５に接続されている。図１および残りの図において、例えば、「１４０ａ」などの参照符号の後の文字は、その特定の参照符号を有する要素に対する参照を表している。例えば、「１４０」などの後続する文字を有していないテキストにおける参照符号は、その参照符号を有する要素のインスタンスに対する総合的な参照を表している。
【００１８】
第１センサ１４０は、１つまたは複数の物理パラメータを計測するデバイスである。例えば、第１センサ１４０は、現在の燃費効率、車両内のエンジンのオンまたはオフ、駐車ブレーキ、ＣＡＮバス、速度、時刻、場所（例えば、現在の緯度、経度、および高度）、車両に関係付いたシステム安全上のパラメータ（例えば、エアバッグシステムやＡＢＳシステムなど）、車両から他の物体（例えば、沿道の構造物や信号機など）までの距離、車
両から近傍の車両までの距離、車両の加速度、移動の方向、燃料レベル、電池の充電レベル、温度、湿度、および／または車両に関連付いた任意のその他の物理パラメータなどのうちの１つまたは複数を計測する。いくつかの実施形態において、第１センサ１４０は、全地球測位システム（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ：ＧＰＳ）、カメラ、オンボード診断（Ｏｎ−Ｂｏａｒｄ  Ｄｉａｇｎｏｓｔｉｃｓ：ＯＢＤ）システム、キーボード、タッチスクリーン、ハンドル上のハードウェアボタン、ハンドルコントローラ、エンジン制御ユニット（ＥＣＵやＰＣＭなど）、指紋読取器、または任意のその他のタイプのセンサのうちの１つである。いくつかの実施形態において、第１センサ１４０は、車両などのモバイルコンピュータ１３５内に設置されたセンサである。
【００１９】
図示の実施形態においては、１つまたは複数の第２センサ１６０ａ〜１６０ｎが、クライアント装置１１５に接続されている。例えば、第２センサ１６０ａは、信号線１６１を介してクライアント装置１１５に接続され、かつ、第２センサ１６０ｎは、信号線１６３を介してクライアント装置１１５に接続されている。第２センサ１６０は、１つまたは複数の物理パラメータを計測するデバイスである。例えば、第２センサ１６０は、速度、加速度、時刻、場所（場所の緯度、経度、および高度）、温度、湿度、および／または任意のその他の物理パラメータなどのうちの１つまたは複数を計測する。いくつかの実施形態において、第２センサ１６０は、全地球測位システム（ＧＰＳ）、カメラ、キーボード、タッチスクリーン、指紋読取器、または任意のその他のセンサのうちの１つである。いくつかの実施形態において、第２センサ１６０は、クライアント装置１１５上に設置されたセンサである。
【００２０】
ソーシャルネットワークサーバ１３０は、プロセッサ、メモリ、およびネットワーク通信能力を含むハードウェアおよび／または仮想サーバである。いくつかの実施形態において、ソーシャルネットワークサーバ１３０は、クライアント装置１１５、サーバ１０１、モバイルコンピュータ１３５、およびデータサーバ１２０のうちの１つまたは複数との間においてネットワーク１０５を介してデータを送受信する。ソーシャルネットワークサーバ１３０は、ソーシャルネットワークアプリケーション１３２を含む。ソーシャルネットワークは、ユーザが共通の特徴によって結び付けられる、所定のタイプのソーシャル構造である。共通の特徴とは、例えば、交友関係、家族、仕事、関心などのような関係ないし繋がりである。共通の特徴は、その他のオンラインユーザとの間における明示的に定義された関係およびソーシャル接続によって含意された関係を含む１つまたは複数のソーシャルネットワーキングシステムによって提供され、この関係はソーシャルグラフを形成する。いくつかの例において、ソーシャルグラフは、これらのユーザのマッピングと、それらのユーザが関係付けられうる方法と、を反映したものである。
更には、ソーシャルネットワークサーバ１３０およびソーシャルネットワークアプリケーション１３２は、１つのソーシャルネットワークを表してもよく、かつ、それぞれがその独自のサーバ、アプリケーション、およびソーシャルグラフを有する複数のソーシャルネットワークがネットワーク１０５に対して接続されていてもよい。例えば、第１ソーシャルネットワークは、相対的にビジネスネットワーキングを対象としたものであってもよく、第２のものは、相対的に研究活動を対象とするかまたはこれにセンタリングされたものであってもよく、第３のものは、相対的にローカルビジネスを対象としたものであってもよく、第４のものは、デートを対象としたものであってもよく、かつ、その他のものは、一般的な関心または特定の焦点を有するものであってもよい。
【００２１】
データサーバ１２０は、プロセッサと、メモリと、ネットワーク通信能力と、を含むハードウェアおよび／または仮想サーバである。いくつかの実施形態において、データサーバ１２０は、ソーシャルネットワークサーバ１３０、サーバ１０１、クライアント装置１１５、およびモバイルコンピュータ１３５のうちの１つまたは複数との間においてデータを送受信する。図１は、１つのデータサーバ１２０を示しているが、システム１００は、
１つまたは複数のデータサーバ１２０を含むことができる。図示の実施形態において、データサーバ１２０は、マッピングアプリケーション１２２と、記憶装置１４５と、を含む。
【００２２】
マッピングアプリケーション１２２は、有効性アプリケーション１０９から受信された要求または問合せを処理するためのコードおよびルーチンである。例えば、マッピングアプリケーション１２２は、有効性アプリケーション１０９から、マップに対する要求を受信する。マッピングアプリケーション１２２は、要求を処理し、かつ、マップを記述したデータを有効性アプリケーション１０９に返す。別の例において、マッピングアプリケーション１２２は、有効性アプリケーション１０９から、問合せ（例えば、車両のアップデートに対する要求）を受け取り、記憶装置１４５から、問合せにマッチしたデータを取得し、かつ、データを有効性アプリケーション１０９に送信する。
【００２３】
記憶装置１４５は、本明細書に記述されている動作および／または機能を提供するためのデータを保存する非一時的なメモリである。記憶装置１４５は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）装置、スタティックランダムアクセスメモリ（ＳＲＡＭ）装置、フラッシュメモリ、またはいくつかのその他のメモリ装置であってもよい。また、いくつかの実施形態において、記憶装置１４５は、ハードディスクドライブ、フロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュメモリ装置、または相対的に永久的な方式で情報を保存する、なんらかのその他のマスストレージデバイスを含む不揮発性のメモリまたは類似の永久的な記憶装置および媒体を含む。
【００２４】
いくつかの実施形態において、記憶装置１４５は、データを保存し、当該データに対するアクセスを提供するデータベース管理システム（Ｄａｔａｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ：ＤＢＭＳ）を含んでいてもよい。いくつかの実施形態において、記憶装置１４５は、クラウド記憶装置として機能する。いくつかの実施形態において、記憶装置１４５は、ユーザに関連付いた履歴識別データ、１つまたは複数のアイテムを記述したアイテムデータ、アイテムのグループ、ユーザに関連付いた消費履歴、様々なアイテムの親和性スケール、アイテムに関連付いた親和性状態、ユーザに関連付いたユーザプロファイル、マップ、標準状況バイアスモデル、ユーザ要求履歴、ユーザ状況履歴、ユーザに関連付いた移動履歴、標準グループ有効性モデル、平均グループ有効性モデル、様々なユーザのユーザ有効性モデル、および様々なアイテムの有効性スコアのうちの１つまたは複数を保存する。記憶装置１４５は、本明細書において記述されている動作および／または機能を提供するためのその他のデータを保存してもよい。記憶装置１４５内において保存されるデータについては、後ほど説明する。
【００２５】
（有効性アプリケーションの例）
図２は、有効性アプリケーション１０９の一例を示す図である。図２は、いくつかの実施形態による、有効性アプリケーション１０９、プロセッサ２３５、メモリ２３７、通信ユニット２４１、入出力装置２４３、記憶装置２４５、およびステークホルダ有効性データベース２４７を含む演算装置２００のブロック図である。演算装置２００のコンポーネントは、バス２２０によって通信自在に接続されている。入出力装置２４３は、信号線２３０を介してバス２２０に通信自在に接続されている。様々な実施形態において、演算装置２００は、サーバ１０１、クライアント装置１１５、および／またはモバイルコンピュータ１３５であってもよい。
【００２６】
プロセッサ２３５は、算術論理ユニットと、マイクロプロセッサと、計算を実行し、表示装置に画像信号を供給する汎用コントローラまたは他のプロセッサアレイ等を含む。プロセッサ２３５は、他のコンポーネントと通信を行うため、信号線２２２を介してバス２
２０に通信可能に接続される。プロセッサ２３５は、データ信号を処理し、かつ複雑命令セットコンピュータ（ＣＩＳＣ）アーキテクチャ、縮小命令セットコンピュータ（ＲＩＳＣ）アーキテクチャ、または命令セットの組み合わせを実行するアーキテクチャを含む様々なコンピューティングアーキテクチャを含んでも良い。なお、図２には、単一のプロセッサ２３５が示されているが、多数のプロセッサ２３５が含まれても良い。他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、および物理的構成も可能である。
【００２７】
メモリ２３７は、プロセッサ２３５によって実行される命令および／またはデータを記憶する。メモリ２３７は、他のコンポーネントと通信を行うため、信号線２２４を介してバス２２０に通信可能に接続される。命令および／またはデータは、本明細書で説明される技術を実行するためのコードを含んでも良い。メモリ２３７は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）装置、スタティックランダムアクセスメモリ（ＳＲＡＭ）装置、フラッシュメモリ、または或る他のメモリ装置であっても良い。いくつかの実施形態において、メモリ２３７はまた、不揮発性メモリまたは類似の永久記憶装置と、ハードディスクドライブ、フロッピーディスクドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュメモリ装置、またはより永続的に情報を記憶するための或る他の大容量記憶装置を含む媒体と、を含む。
【００２８】
図示の実施形態において、通信ユニット２４１は、信号線２２６を介してバス２２０に通信自在に接続されている。通信ユニット２４１は、有効性アプリケーション１０９が保存されている場所に応じて、サーバ１０１、モバイルコンピュータ１３５、クライアント装置１１５、データサーバ１２０、およびソーシャルネットワークサーバ１３０のうちの１つまたは複数との間においてデータを送受信する。いくつかの実施形態において、通信ユニット２４１は、ネットワーク１０５または別の通信チャネルに対する直接的な物理接続用のポートを含む。例えば、通信ユニット２４１は、ＵＳＢ、ＳＤ、ＣＡＴ−５、またはクライアント装置１１５との間における有線通信用の類似のポートを含む。いくつかの実施形態において、通信ユニット２４１は、クライアント装置１１５との間においてデータを交換するための無線トランシーバ、あるいは、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１６、Ｂｌｕｅｔｏｏｔｈ（登録商標）、専用狭域通信（Ｄｅｄｉｃａｔｅｄ  Ｓｈｏｒｔ−ｒａｎｇｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ：ＤＳＲＣ）、または別の適切な無線通信方法を含む１つまたは複数の無線通信方法を使用したその他の通信チャネルを含む。
【００２９】
いくつかの実施形態において、通信ユニット２４１は、ショートメッセージサービス（ＳＭＳ）、マルチメディアメッセージサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、ＷＡＰ、電子メール、または別の適切なタイプの電子通信経由を含むセルラー通信ネットワークを通じてデータを送信および受信するためのセルラー通信トランシーバを含む。いくつかの実施形態において、通信ユニット２４１は、有線ポートまたは無線トランシーバを含む。また、通信ユニット２４１は、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＨＴＴＰＳ、およびＳＭＴＰ等を含む標準ネットワークプロトコルを用いて、ファイルおよび／またはメディアオブジェクトを分配するために、ネットワーク１０５への他の従来型の接続を提供する。
【００３０】
記憶装置２４５は、本明細書に記述されている動作および／または機能を提供するためのデータを保存する非一時的なメモリである。記憶装置２４５は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）装置、スタティックランダムアクセスメモリ（ＳＲＡＭ）装置、フラッシュメモリ、またはいくつかのその他のメモリ装置であってもよい。また、いくつかの実施形態において、記憶装置２４５は、ハードディスクドライブ、フロッピーディスクドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ
−ＲＷ装置、フラッシュメモリ装置、または相対的に永久的な方式で情報を保存する、なんらかのその他のマスストレージデバイスを含む不揮発性のメモリまたは類似の永久的な記憶装置および媒体を含む。
【００３１】
図示の実施形態において、記憶装置２４５は、信号線２２８を介してバス２２０に通信自在に接続されている。いくつかの実施形態において、記憶装置２４５は、ユーザに関連付いたユーザ有効性モデル、グループ有効性モデル、有効性スコア、ユーザに関連付いた履歴識別データ、ユーザを識別するユーザ識別子（ＩＤ）、ユーザ属性データ、アイテム属性データ、様々なアイテムの親和性スケール、様々なアイテムに関連付いた親和性状態、移動モビリティデータ、状況データ、ユーザ状況履歴、状況バイアスモデル、標準状況バイアスモデル、様々なアイテムのグループ、グループＩＤ、ユーザに関連付いた消費履歴、ユーザプロファイル、マップ、標準状況バイアスモデル、ユーザ要求履歴、ユーザに関連付いた移動履歴、標準グループ有効性モデル、および平均グループ有効性モデルのうちの１つまたは複数を記憶する。記憶装置２４５内において記憶されるデータについては、後ほど説明する。いくつかの実施形態において、記憶装置２４５は、本明細書に記述されている動作および／または機能を提供するためのその他のデータを記憶してもよい。
【００３２】
ステークホルダ有効性データベース２４７は、ステークホルダによって定義されたステークホルダ有効性データを保存するデータベースである。ステークホルダ有効性データベース２４７は、信号線２３８を介してバス２２０に通信自在に接続されている。本例におけるステークホルダは、例えば、モバイルコンピュータ１３５の製造者（例えば、車両製造者）、モバイルコンピュータ１３５の販売者、およびモバイルコンピュータ１３５をユーザに貸与する者（例えば、レンタカー会社）を含むが、これに限定されない。
【００３３】
ステークホルダ有効性データは、１つまたは複数のステークホルダによって構成された、１つまたは複数のコンテンツ推奨制約を記述したデータである。例えば、ステークホルダ有効性データは、ユーザにとって有効である推奨アイテムの種類を定義する、１つまたは複数の制約を記述している。いくつかの実施形態において、制約とは、ステークホルダが所望するユーザ経験、安全性優先順位、適法性考慮事項、経済的考慮事項、およびその他の考慮事項のうちの１つまたは複数に基づいて構成されている。
ステークホルダ有効性データにおける制約とは、例えば、『ユーザが高速道路上において車線変更をしている際には、ユーザが音楽の推奨を要求した場合であっても、ユーザに対して音楽を推奨しない』旨を示すものである。
別の例において、ステークホルダ有効性データにおける制約は、『２１歳未満の運転者に対して、アルコールを提供する店を推奨しない』旨を示すものである。
ステークホルダ有効性データにおいては他の制約も利用可能である。
【００３４】
図示の実施形態において、有効性アプリケーション１０９は、コントローラ２０２と、識別モジュール２０４と、消費モジュール２０６と、親和性状態モジュール２０７と、モデル生成器２０８と、スコア推定器２１０と、推奨モジュール２１２と、ユーザインターフェイスモジュール２１４と、を含む。有効性アプリケーション１０９のこれらのコンポーネントは、バス２２０を介して通信自在に接続されている。
【００３５】
コントローラ２０２は、有効性アプリケーション１０９と演算装置２００のその他のコンポーネントの間の通信を処理するためのルーチンを含むソフトウェアである。いくつかの実施形態において、コントローラ２０２は、有効性アプリケーション１０９と演算装置２００のその他のコンポーネントの間の通信を処理するため、後述される動作および／または機能を提供するための、プロセッサ２３５によって実行可能である命令のセットであってもよい。いくつかの実施形態において、コントローラ２０２は、演算装置２００のメモリ２３７内において保存され、かつ、プロセッサ２３５によってアクセスかつ実行可能
であってもよい。コントローラ２０２は、プロセッサ２３５および演算装置２００のその他のコンポーネントとの間における協働および通信のために適合されてもよい。
【００３６】
コントローラ２０２は、有効性アプリケーション１０９が保存されている場所に応じて、通信ユニット２４１を介して、クライアント装置１１５、ソーシャルネットワークサーバ１３０、サーバ１０１、データサーバ１２０、およびモバイルコンピュータ１３５のうちの１つまたは複数との間においてデータを送受信する。例えば、コントローラ２０２は、通信ユニット２４１を介して、ソーシャルネットワークサーバ１３０から、ソーシャルネットワークデータ（例えば、ユーザソーシャルデータやアイテムソーシャルデータ）を受信し、かつ、ソーシャルネットワークデータをモデル生成器２０８およびスコア推定器２１０のうちの１つまたは複数に対して送信する。別の例において、コントローラ２０２は、ユーザインターフェイスモジュール２１４から、ユーザにユーザインターフェイスを提供するためのグラフィックデータを受信し、かつ、グラフィックデータをクライアント装置１１５またはモバイルコンピュータ１３５に送信することにより、クライアント装置１１５またはモバイルコンピュータ１３５に、ユーザインターフェイスをユーザに対して提示させる。
【００３７】
いくつかの実施形態において、コントローラ２０２は、有効性アプリケーション１０９のその他のコンポーネントからデータを受信し、かつ、データを記憶装置２４５内に記憶させる。例えば、コントローラ２０２は、ユーザインターフェイスモジュール２１４からグラフィックデータを受信し、かつ、グラフィックデータを記憶装置２４５内に記憶させる。いくつかの実施形態において、コントローラ２０２は、記憶装置２４５からデータを取得し、かつ、取得したデータを有効性アプリケーション１０９のその他のコンポーネントに送信する。例えば、コントローラ２０２は、記憶装置２４５から候補アイテムに関連付いた有効性スコアを記述したデータを取得し、かつ、データを推奨モジュール２１２に送信する。
【００３８】
識別モジュール２０４は、ユーザを識別するためのルーチンを含むソフトウェアである。いくつかの実施形態において、識別モジュール２０４は、ユーザを識別するための、後述する動作および／または機能を提供するためのプロセッサ２３５によって実行可能である命令のセットであってもよい。いくつかの実施形態において、識別モジュール２０４は、演算装置２００のメモリ２３７内に保存され、かつ、プロセッサ２３５によってアクセスかつ実行可能であってもよい。識別モジュール２０４は、プロセッサ２３５および演算装置２００のその他のコンポーネントとの間における協働および通信のために適合されてもよい。
【００３９】
いくつかの実施形態において、識別モジュール２０４は、１つまたは複数の第１センサ１４０および／または１つまたは複数の第２センサ１６０から、ユーザに関連付いた識別入力データを取得する。例えば、ユーザは、指紋をモバイルコンピュータ１３５に接続された指紋読取器に入力し、指紋読取器が、ユーザの指紋を識別モジュール２０４に送信する。本例における識別入力データは、例えば、ユーザ名およびパスワード、指紋、ユーザを代理する装置（例えば、カード、ハンドヘルド装置、ユーザ名義で登録された車両）によって提供されるその他の識別データ、顔認識に基づいた識別データ、並びに、その他の生物計測データ（例えば、音声や網膜など）などを含むが、これらに限られない。
【００４０】
識別モジュール２０４は、記憶装置２４５および／または記憶装置１４５からユーザに関連付いた履歴識別データを取得する。識別モジュール２０４は、識別入力データが履歴識別データとマッチするかどうかを判定する。例えば、識別モジュール２０４は、ユーザが入力した指紋が記憶装置２４５内に保存されているユーザの履歴指紋とマッチするかどうかを判定する。識別入力データが履歴識別データとマッチした場合、識別モジュール２
０４は、ユーザが認証されたと判定し、かつ、ユーザを識別するユーザ識別子（ＩＤ）を確認する。識別モジュール２０４は、有効性アプリケーション１０９のその他のコンポーネントがユーザＩＤを使用してユーザに関連付いたデータを取得しうるように、ユーザＩＤを有効性アプリケーション１０９のその他のコンポーネントに送信する。識別入力データが履歴識別データとマッチしない場合には、識別モジュール２０４は、ユーザの認証に失敗したと判定する。
【００４１】
いくつかの実施形態において、識別モジュール２０４は、ユーザＩＤを有効性アプリケーション１０９のその他のコンポーネントに送信する。更なる実施形態において、識別モジュール２０４は、ユーザＩＤを記憶装置２４５および／または記憶装置１４５内に記憶させる。
【００４２】
消費モジュール２０６は、ユーザが消費したアイテムを識別するためのルーチンを含むソフトウェアである。いくつかの実施形態において、消費モジュール２０６は、ユーザが消費したアイテムを識別するための後述する動作および／または機能を提供するためにプロセッサ２３５によって実行可能である命令のセットであってもよい。いくつかの実施形態において、消費モジュール２０６は、演算装置２００のメモリ２３７内において保存され、かつ、プロセッサ２３５によってアクセスかつ実行可能であってもよい。消費モジュール２０６は、プロセッサ２３５および演算装置２００のその他のコンポーネントとの間における協働および通信のために適合されてもよい。
【００４３】
いくつかの実施形態において、消費モジュール２０６は、識別モジュール２０４からユーザを識別するユーザＩＤを受信する。消費モジュール２０６は、ユーザＩＤを用いて、記憶装置２４５および／または記憶装置１４５から、ユーザに関連付いた消費履歴を取得する。ユーザに関連付いた消費履歴は、ユーザが消費したアイテムを記述したデータを含む。例えば、ユーザの消費履歴は、ユーザが再生した楽曲、ユーザが閲覧したビデオ、ユーザが聴取したラジオ番組、ユーザが過去に訪問した場所、ユーザが行った移動、およびユーザがやり取りした人々（例えば、ユーザが通話した人々）を表したものである。
消費モジュール２０６は、１つまたは複数の第１センサ１４０および／または１つまたは複数の第２センサ１６０からセンサデータを受信し、かつ、センサデータおよび／またはユーザの消費履歴に基づいて、ユーザが消費したアイテムを識別する。
【００４４】
いくつかの例において、消費モジュール２０６は、１つまたは複数の第１センサ１４０および／または１つまたは複数の第２センサ１６０からセンサデータを受信し、かつ、センサデータおよび過去にユーザが訪問した１つまたは複数の場所を含むユーザの消費履歴に基づいて、ユーザが現在訪問している場所を推定する。例えば、消費モジュール２０６は、ユーザの車両内に設置されたＧＰＳから現在位置および時刻を表すデータを受信する。また、消費モジュール２０６は、ユーザの車両のエンジンを監視する第１センサ１４０から、ユーザが運転している車両が現在位置において停止していることを通知するデータ（エンジン停止を表すデータ）を受信する。消費モジュール２０６は、データサーバ１２０から現在位置に関連付いた地図データを取得し、かつ、現在位置に近接した１つまたは複数の候補場所を判定する。
そして、消費モジュール２０６は、時刻、車両が現在位置において停止している継続時間、および／または現在位置からの歩行可能な距離に基づいて、ユーザが現在訪問している場所を、過去にユーザが訪問したことがある場所（候補場所）として推定する。例えば、消費モジュール２０６は、時刻が午後７：１０であることを理由に、ユーザが現在訪問している場所を、ユーザが訪れたことがあるレストランとして推定する。ユーザが現在訪問している場所を推定するための処理の例については、図１３を参照して後ほど説明する。ユーザが現在訪問している場所は、ユーザが消費したアイテムの一例である。
【００４５】
いくつかの例において、消費モジュール２０６は、スピーカアクチュエータを使用して、車両内インフォテインメントシステム内において再生されているアイテムを追跡し、かつ／または、クライアント装置１１５内において再生されているアイテムを追跡する。例えば、消費モジュール２０６は、ラジオで放送されている楽曲、あるいは、ケーブルまたは無線接続（例えば、Ｂｌｕｅｔｏｏｔｈ接続）を介してモバイルコンピュータ１３５に接続されたクライアント装置１１５によって再生されている楽曲を追跡する。そして、例えば、消費モジュール２０６は、当該楽曲をユーザが消費したアイテムとして識別する。
【００４６】
消費モジュール２０６は、ユーザが消費したアイテムを識別するアイテムＩＤを判定し、かつ、消費されたアイテムを用いてユーザの消費履歴を更新する。例えば、消費モジュール２０６は、ユーザが再生した楽曲を識別する楽曲ＩＤ、ユーザが訪問した場所を識別する場所ＩＤ、および、ユーザとやり取りした人々を識別する連絡先ＩＤを判定し、かつ、楽曲ＩＤ、場所ＩＤ、および連絡先ＩＤをユーザの消費履歴に追加する。いくつかの実施形態において、消費モジュール２０６は、アイテムＩＤを有効性アプリケーション１０９のその他のコンポーネントに送信する。更なる実施形態において、消費モジュール２０６は、アイテムＩＤを記憶装置２４５および／または記憶装置１４５内に記憶させる。
【００４７】
親和性状態（Affinity state）モジュール２０７は、ユーザが消費したアイテムの親和性状態を判定するためのルーチンを含むソフトウェアである。いくつかの実施形態において、親和性状態モジュール２０７は、ユーザが消費したアイテムの親和性状態を判定するための後述する動作および／または機能を提供するためにプロセッサ２３５によって実行可能である命令のセットであってもよい。いくつかの実施形態において、親和性状態モジュール２０７は、演算装置２００のメモリ２３７内に記憶されることが可能であり、かつ、プロセッサ２３５によってアクセスかつ実行可能であってもよい。親和性状態モジュール２０７は、プロセッサ２３５および演算装置２００のその他のコンポーネントとの間における協働および通信のために適合されてもよい。
【００４８】
親和性状態は、アイテムに対するユーザの親和性の程度を識別するデータである。例えば、アイテムに関連付いた親和性状態は、ユーザが、『アイテムを好んでいる』、『アイテムを嫌っている』、あるいは、『アイテムとの間に親和性を有していない』ことを表すデータである。別の例において、アイテムに関連付いた親和性状態は、親和性スケールが１つ星〜５つ星である状態において、『ユーザがアイテムを５つ星によって評価した』ことを表すデータである。いくつかの実施形態において、親和性状態は、個別の値を有している。例えば、ユーザが、アイテムを４つ星（満点が５つ星）によって評価した場合に、アイテムの親和性状態は、４／５という値を有する。いくつかの実施形態において、異なる親和性状態は、ユーザ親和性の異なる程度を通知する親和性スケールにおける異なる値と関連付けられている。例えば、５つ星を表す親和性状態は、４つ星を表す親和性状態よりもユーザの親和性が高いことを意味する。本例における親和性スケールは、例えば、好き／嫌い／親和性なしというスケール、星による評価のスケール（例えば、１つ星〜５つ星）、１６ビットコンピュータレジスタの個別の状態によって表されるスケール、０〜１００ポイントまでのスケール、あるいは、親和性の任意のその他の離散化された表現を含むが、これらに限られない。
【００４９】
いくつかの実施形態において、親和性状態モジュール２０７は、ユーザを識別するユーザＩＤを識別モジュール２０４から受信し、かつ、ユーザが消費したアイテムを識別するアイテムＩＤを消費モジュール２０６から受信する。親和性状態モジュール２０７は、消費されたアイテムの親和性スケールを記述したデータを記憶装置２４５から取得する。親和性状態モジュール２０７は、消費されたアイテムに関連付いた親和性スケールをユーザに対して提示し、かつ、消費されたアイテムの親和性状態を入力するように、ユーザに対して要求する。いくつかの実施形態において、親和性状態モジュール２０７は、モバイル
コンピュータ１３５またはクライアント装置１１５内において、ユーザに対してユーザインターフェイスを提供するためのグラフィカルデータを生成するように、ユーザインターフェイスモジュール２１４に対して命令し、これにより、ユーザがユーザインターフェイスを介して消費されたアイテムの親和性状態を入力する。例えば、ユーザは、車両内ヘッドユニット内のタッチスクリーンを介して、消費されたアイテムの「５つ星」または「好き」ボタンを押下することができる。図１４は、ユーザインターフェイスの例である。いくつかの実施形態において、ユーザは、読取りセンサ（例えば、ハンドル上のハードウェアボタンまたは車両内ヘッドユニット内のハードウェアボタン）を用いて、消費されたアイテムの親和性状態を入力する。例えば、ユーザは、消費されたアイテムについて４つ星の選択をするため、ハンドルのハードウェアボタンを４回押下する。
【００５０】
親和性状態モジュール２０７は、ユーザが入力したデータに基づいて、消費されたアイテムの親和性状態を判定する。例えば、親和性状態モジュール２０７は、ユーザが、タッチスクリーン内に示されたユーザインターフェイス内の「好き」ボタンを選択した場合、消費されたアイテムの親和性状態を「好きなアイテム」として判定する。いくつかの実施形態において、親和性状態モジュール２０７は、消費されたアイテムに関連付いた親和性状態を記述したデータをモデル生成器２０８またはスコア推定器２１０のうちの１つまたは複数に送信する。更なる実施形態において、親和性状態モジュール２０７は、親和性状態を記述したデータを、記憶装置２４５および／または記憶装置１４５内に記憶させる。
【００５１】
モデル生成器２０８は、ユーザに関連付いたユーザ有効性モデルを生成するためのルーチンを含むソフトウェアである。いくつかの実施形態において、モデル生成器２０８は、ユーザに関連付いたユーザ有効性モデルを生成するための後述する動作および／または機能を提供するためにプロセッサ２３５によって実行可能である命令のセットであってもよい。いくつかの実施形態において、モデル生成器２０８は、演算装置２００のメモリ２３７内において保存されることが可能であり、かつ、プロセッサ２３５によってアクセスかつ実行可能であってもよい。モデル生成器２０８は、プロセッサ２３５および演算装置２００のその他のコンポーネントとの間における協働および通信のために適合されてもよい。
【００５２】
ユーザに関連付いたユーザ有効性モデルは、アイテムに関連付いた有効性スコアを生成するために使用されるモデルである。アイテムに関連付いた有効性スコアは、アイテムに関連付いた有効性の程度を表すデータである。例えば、アイテムに関連付いた大きな有効性スコアは、ユーザビリティ、適法性、パーソナライゼーション、経済的考慮事項、および／またはその他の考慮事項などの１つまたは複数の考慮事項に基づいて、アイテムがユーザにとって効果的であるか、望ましいか、かつ／または適切であるか、あるいはそのようになることを表したものである。
例えば、有効な推奨アイテムとは、必ずしもユーザが所望するアイテムでなくてもよく、ユーザビリティ、適法性、パーソナライゼーション、経済的考慮事項、および／またはその他の考慮事項などの１つまたは複数の要件に基づいて、ユーザが必要としているとされたアイテムであってもよい。
いくつかの実施形態において、アイテムに関連付いた有効性スコアは、アイテムの推奨が生成しうる有効性の程度を表す個別の数値スコアである。有効性は、例えば、ユーザビリティ、適法性、パーソナライゼーション、経済的考慮事項、その他の考慮事項などの１つまたは複数の要件の満足の程度を含む。モデル生成器２０８およびユーザ有効性モデルについては、図３Ａおよび図３Ｂを参照して後ほど説明する。
【００５３】
スコア推定器２１０は、アイテムの有効性スコアを生成するためのルーチンを含むソフトウェアである。いくつかの実施形態において、スコア推定器２１０は、アイテムの有効性スコアを生成するための後述する動作および／または機能を提供するためにプロセッサ
２３５によって実行可能である命令のセットであってもよい。いくつかの実施形態において、スコア推定器２１０は、演算装置２００のメモリ２３７内において保存されることが可能であり、かつ、プロセッサ２３５によってアクセスかつ実行可能であってもよい。スコア推定器２１０は、プロセッサ２３５および演算装置２００のその他のコンポーネントとの間における協働および通信のために適合されてもよい。
【００５４】
いくつかの実施形態において、スコア推定器２１０は、アイテムの有効性スコアを生成し、当該有効性スコアを推奨モジュール２１２に送信する。更なる実施形態において、スコア推定器２１０は、有効性スコアを記憶装置２４５および／または記憶装置１４５内に記憶させる。有効性スコアおよびスコア推定器２１０については、図４Ａおよび図４Ｂを参照して後ほど説明する。
【００５５】
推奨モジュール２１２は、推奨アイテムをユーザに提供するためのルーチンを含むソフトウェアである。いくつかの実施形態において、推奨モジュール２１２は、推奨アイテムをユーザに対して提供するための後述する動作および／または機能を提供するためにプロセッサ２３５によって実行可能である命令のセットであってもよい。いくつかの実施形態において、推奨モジュール２１２は、演算装置２００のメモリ２３７内において保存されることが可能であり、かつ、プロセッサ２３５によってアクセスかつ実行可能であってもよい。推奨モジュール２１２は、プロセッサ２３５および演算装置２００のその他のコンポーネントとの間における協働および通信のために適合されてもよい。
【００５６】
いくつかの実施形態において、推奨モジュール２１２は、データサーバ１２０、サーバ１０１、および／またはソーシャルネットワークサーバ１３０から候補アイテムのセットを受信する。本例における候補アイテムは、例えば、レストラン、ホテル、催し物、ラジオ番組、オーディオファイル（例えば、楽曲やポッドキャスト）、ビデオ、ラジオ局、およびニュースアイテムなどを含むが、これらに限られない。推奨モジュール２１２は、それぞれの候補アイテムの有効性スコアを生成するように、スコア推定器２１０に対して命令する。推奨モジュール２１２は、候補アイテムのセットに関連付いた有効性スコアのセットをスコア推定器２１０から受け取る。推奨モジュール２１２は、有効性スコアのセットに基づいて候補アイテムのセットをランク付けする。推奨モジュール２１２は、１つまたは複数の推奨アイテムを、候補アイテムのセットのうちの、最も高いランクを有する１つまたは複数の候補アイテムとして生成する。
【００５７】
更なる実施形態において、推奨モジュール２１２は、ステークホルダ有効性データをステークホルダ有効性データベース２４７から取得する。そして、推奨モジュール２１２は、ステークホルダ有効性データに基づいて、候補アイテムのセットから１つまたは複数の候補アイテムを除去する。例えば、ユーザが１８才である場合には、推奨モジュール２１２は、候補アイテムのセットの中からバーを除去する。その理由は、ステークホルダ有効性データが、２１歳未満のユーザに対してバーを推奨しない旨を示しているからである。別の例において、ユーザが高速道路上において車線変更をしている場合には、推奨モジュール２１２は、ユーザに対するオーディオアイテムの推奨を一時中断する。その理由は、ステークホルダ有効性データが、ユーザが高速道路上において車線変更をしている際には、オーディオアイテムをユーザに対して推奨しない旨を示しているからである。
推奨モジュール２１２は、対応する有効性スコアに基づいて残りの候補アイテムをランク付けし、かつ、ランク付けされた残りの候補アイテムから１つまたは複数の推奨アイテムを生成する。例えば、推奨モジュール２１２は、１つまたは複数の推奨アイテムを、最高のランクを有する１つまたは複数の残りの候補アイテムとして生成する。
【００５８】
いくつかの例において、ユーザ有効性モデルは、ユーザが、通常、特定の時刻において、または特定の移動の際に、特定タイプのオーディオアイテム（例えば、音楽またはラジ
オ番組）を聴取することを示しており、かつ、推奨モジュール２１２は、特定の時刻において、または特定の移動の際に、特定タイプのオーディオアイテムを含む、ユーザ向けの推奨アイテムを生成する。
例えば、ユーザ有効性モデルは、自宅から職場に通勤している間に、ユーザが、通常、ニュースを聴取することを示しており、かつ、推奨モジュール２１２は、ユーザが自宅から職場へ車を走らせる際に、ニュースラジオをユーザに対して推奨する。
いくつかの例において、ユーザ有効性モデルは、ユーザが、通常、平日の午後３：００〜３：３０の間に、学校に子供を迎えに行くことを示しており、かつ、推奨モジュール２１２は、学校から自宅に至る途中において子供が視聴するために好みのアニメが利用可能となるように、平日には、子供の好みのアニメを午後３：００以前にダウンロードし、モバイルコンピュータ１３５内に保存する。
いくつかの例において、ユーザ有効性モデルは、ユーザが、通常、特定の時刻において、または特定の移動の際に、特定の連絡先に電話をかけることを示しており、かつ、推奨モジュール２１２は、ユーザが電話番号にアクセスし、容易に通話ができるように、特定の時刻において、または特定の移動の際に、連絡先の電話番号をユーザに提示する。
【００５９】
推奨モジュール２１２は、１つまたは複数の推奨アイテムをユーザに対して提供する。例えば、推奨モジュール２１２は、１つまたは複数の推奨アイテムをユーザに対して提示するユーザインターフェイスを提供するためのグラフィカルデータを生成するように、ユーザインターフェイスモジュール２１４に対して命令する。別の例において、推奨モジュール２１２は、１つまたは複数のオーディオ推奨アイテムをモバイルコンピュータ１３５またはクライアント装置１１５に供給することにより、モバイルコンピュータ１３５またはクライアント装置１１５に接続されたスピーカシステムに、１つまたは複数のオーディオ推奨アイテムをユーザに対して再生させている。いくつかの実施形態において、推奨モジュール２１２は、１つまたは複数の推奨アイテムを記憶装置２４５および／または記憶装置１４５内に記憶させる。
【００６０】
ユーザインターフェイスモジュール２１４は、ユーザインターフェイスをユーザに提供するためのグラフィカルデータを生成するためのルーチンを含むソフトウェアである。いくつかの実施形態において、ユーザインターフェイスモジュール２１４は、ユーザインターフェイスをユーザに提供するためのグラフィカルデータを生成するための後述する動作および／または機能を提供するためにプロセッサ２３５によって実行可能である命令のセットであってもよい。いくつかの実施形態において、ユーザインターフェイス２１４は、演算装置２００のメモリ２３７内において保存されることが可能であり、かつ、プロセッサ２３５によってアクセスかつ実行可能であってもよい。ユーザインターフェイスモジュール２１４は、プロセッサ２３５および演算装置２００のその他のコンポーネントとの間における協働および通信のために適合されてもよい。
【００６１】
いくつかの実施形態において、ユーザインターフェイスモジュール２１４は、１つまたは複数の推奨アイテムをユーザに提示するユーザインターフェイスを提供するためのグラフィカルデータを生成する。ユーザインターフェイスモジュール２１４は、グラフィカルデータをクライアント装置１１５および／またはモバイルコンピュータ１３５に送信することにより、クライアント装置１１５および／またはモバイルコンピュータ１３５に、ユーザインターフェイスをユーザに対して提示させる。
いくつかの実施形態において、ユーザインターフェイスモジュール２１４は、ユーザがアイテムの親和性状態を入力できるようにするユーザインターフェイスを提供するためのグラフィカルデータを生成する。ユーザインターフェイスの例については、図１４を参照して後ほど説明する。
いくつかの実施形態において、ユーザインターフェイスモジュール２１４は、ステークホルダがステークホルダ有効性データを入力できるようにするユーザインターフェイスを
提供するためのグラフィカルデータを生成する。ユーザインターフェイスモジュール２１４は、その他のユーザインターフェイスをユーザに対して提供するためのグラフィカルデータを生成してもよい。
【００６２】
有効性アプリケーション１０９の使用例は、車両内におけるコンテンツの推奨をユーザに対して提供するステップを含む。例えば、車両内のユーザ（例えば、運転者または乗員）は、例えば、場所（例えば、レストラン、ガソリンスタンド、ホテルなど）、異なる目的地までのルート、オーディオアイテム、およびユーザが音声コマンドに基づいて通信することを所望する連絡先などを含む推奨アイテムを提供するように、有効性アプリケーション１０９に対して要求することができるが、これらに限られない。
有効性アプリケーション１０９は、ユーザ向けのコンテンツ推奨が有効なものとなるように、ユーザに関連付いたユーザ有効性モデルに少なくとも部分的に基づいて、ユーザ向けの推奨アイテムを判定する。例えば、コンテンツの推奨は、適法性、安全性、移動性、状況要件、経済的要件、およびステークホルダによって構成されたその他の要件を含む１つまたは複数の有効性要件を充足している。
【００６３】
（モデル生成器の例）
次に図３Ａを参照して、モデル生成器２０８の一例を更に詳細に示す。本例におけるモデル生成器２０８は、ユーザ属性モジュール３０２と、アイテム属性モジュール３０４と、グループモジュール３０６と、デバイスデータ収集器３０８と、状況検出器３１０と、状況バイアスモデル生成器３１２と、移動モビリティ検出器３１４と、親和性サブシステム３１５と、ユーザ有効性モジュール３１６と、グループ有効性モジュール３１８と、ステークホルダ有効性モジュール３２０と、を含む。モデル生成器２０８のコンポーネントは、バス２２０を介して互いに通信自在に接続されている。
【００６４】
ユーザ属性モジュール３０２は、ユーザ属性データを生成するため、ユーザに関連付いたデータを収集するためのコードおよびルーチンである。いくつかの実施形態において、ユーザ属性モジュール３０２は、識別モジュール２０４から、ユーザを識別するユーザＩＤを受信する。いくつかの実施形態において、ユーザ属性モジュール３０２は、ユーザＩＤを使用することにより、ソーシャルネットワークサーバ１３０から、ユーザに関連付いたユーザプロファイルを記述したデータを受信する。いくつかの実施形態において、ユーザ属性モジュール３０２は、記憶装置２４５および／または記憶装置１４５から、ユーザプロファイルを記述したデータを取得する。いくつかの例において、ユーザに関連付いたユーザプロファイルは、関心、趣味、学歴、職歴、人口統計情報、ユーザが属するコミュニティ、およびユーザが購読するトピックなどを含む。ユーザプロファイルは、ユーザに関連付いたその他のデータを含んでいてもよい。
【００６５】
ユーザ属性モジュール２０４は、ソーシャルネットワークサーバ１３０から、ユーザに関連付いたユーザソーシャルデータを取得してもよい。ユーザソーシャルデータは、ソーシャルネットワーク内においてユーザが実行する１つまたは複数のソーシャル活動を記述したデータである。例えば、ユーザソーシャルデータは、ソーシャルネットワーク内においてユーザがチェックした場所、ユーザが公開した投稿、ユーザが公開したコメント、ユーザが行ったシェア、ユーザが行った承認、ユーザが購読したトピック、およびユーザがフォローしたコミュニティなどの１つまたは複数を記述するものである。ユーザソーシャルデータは、その他のものであってもよい。
【００６６】
いくつかの実施形態において、ユーザ属性モジュール３０２は、ユーザプロファイルとユーザソーシャルデータのうちの１つまたは複数に基づいて、ユーザに対応するユーザ属性データを生成する。ユーザに関連付いたユーザ属性データは、ユーザを記述した１つまたは複数の属性を表すデータである。例えば、ユーザ属性データは、ユーザを記述した１
つまたは複数の属性および１つまたは複数の属性の対応した値を含む。ユーザを記述した属性は、例えば、ユーザが居住する都市、職名、ユーザが在籍するまたは卒業した大学、関心、性別、年齢、趣味、トピック、および／またはコミュニティへの加入などを含むが、これらに限られない。ユーザに関連付いた属性は、その他のものであってもよい。属性の値として、例えば、ゼロ値、非ゼロの数値、記述、リンク（例えば、ユニフォームリソースロケータ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ：ＵＲＬ））、およびシンボルなどが挙げられるが、これらに限られない。属性の値は、その他のものであってもよい。
【００６７】
例えば、ユーザ属性データは、「１」の値を有する第１属性「関心：技術」、および、「０」の値を有する第２属性「関心：詩」を含み、これにより、ユーザが、技術を好み、かつ、詩を好まないことを表す。別の例において、ユーザ属性データは、１〜１０の親和性スケールに関連付いた「８」の値を有する第１属性「トピック：サイエンスフィクション」、および、「５」の値を有する第２属性「トピック：恋愛小説」を含み、これにより、ユーザが恋愛小説よりもサイエンスフィクションを好むことを表す。更に別の例において、ユーザ属性データは、「サンフランシスコ」という値を有する第１属性「場所」および「ＸＹＺ大学」という値、および、ＸＹＺ大学に対するリンクを有する第２属性「教育」を含む。ユーザ属性は、その他のものであってもよい。
【００６８】
いくつかの実施形態において、ユーザ属性モジュール３０２は、ユーザ属性データをユーザ有効性モジュール３１６および図４Ａおよび図４Ｂに示されているスコア生成器４０２に送信する。更なる実施形態において、ユーザ属性モジュール３０２は、ユーザ属性データを記憶装置２４５および／または記憶装置１４５内に記憶させる。
【００６９】
アイテム属性モジュール３０４は、アイテム属性データを生成するため、アイテムに関連付いたデータを収集するためのコードおよびルーチンである。いくつかの実施形態において、アイテム属性モジュール３０４は、消費モジュール２０６からアイテムを識別するアイテムＩＤを受信し、かつ、親和性状態モジュール２０７からアイテムに関連付いた親和性状態を記述したデータを受信する。アイテム属性モジュール３０４は、アイテムを記述したアイテムデータを記憶装置２４５および／または記憶装置１４５から取得する。例えば、アイテム属性モジュール３０４は、アイテムを保存する記憶装置２４５から、構造化されたアイテムデータを取得する。
【００７０】
いくつかの実施形態において、アイテム属性モジュール３０４は、ソーシャルネットワークサーバ１３０からアイテムに関連付いたアイテムソーシャルデータを受信する。アイテムに関連付いたアイテムソーシャルデータは、アイテムと関係付けられたソーシャルネットワーク内において実行される１つまたは複数のソーシャル活動を記述したデータである。例えば、アイテムソーシャルデータは、ソーシャルネットワーク内におけるアイテムの人気（例えば、アイテムに関連付いた閲覧の合計数、コメント、レポート、および／またはシェア）、アイテムが話題になっているアイテムであるかどうか、アイテムがトップリストに含まれているかどうか、アイテムが注目のアイテムであるかどうか、かつ／または、アイテムが有名な発行元によって公開されているかどうかなどのうちの１つまたは複数を記述している。アイテムソーシャルデータは、その他のものであってもよい。
【００７１】
いくつかの実施形態において、アイテム属性モジュール３０４は、親和性状態、アイテムソーシャルデータ、およびアイテムデータのうちの１つまたは複数に基づいて、アイテムのアイテム属性データを生成する。アイテムに関連付いたアイテム属性データは、アイテムを記述した１つまたは複数の属性を表すデータであってもよい。例えば、アイテム属性データは、アイテムの親和性状態を含む。いくつかの実施形態において、アイテム属性データは、アイテムを記述した１つまたは複数の属性と、１つまたは複数の属性の対応し
た値と、を含む。例えば、アイテムに関連付いた属性は、タイトル、著者、発行元、アイテムを取得するためのアドレス、ソーシャルネットワーク内におけるアイテムの閲覧の合計数、コメント、レポート、および／またはシェアなどを含む。別の例において、アイテムに関連付いた属性は、アイテムの名称（例えば、ホテル名）、アイテムに関連付いた場所（例えば、ホテルの住所）、ユーザ評価、およびアイテムに関連付いたコメントを含む。更に別の例において、アイテムに関連付いた属性は、連絡先の名称、連絡先とユーザの関係、電話番号、および連絡先の電子メールアドレスなどを含む。属性は、その他のものであってもよい。属性の値は、例えば、ゼロ値、非ゼロの数値、記述、リンク（例えば、ユニフォームリソースロケータ（ＵＲＬ））、およびシンボルなどを含むが、これらに限られない。属性の値は、その他のものであってもよい。
【００７２】
例えば、ニュースアイテムを表すアイテム属性データは、「Ｍａｒｙ  ＡＢＣ」という値を有する第１属性「著者」と、「１，２３４」という値を有する第２属性「閲覧の合計数」と、「ニュースアイテム」という値を有する第３属性「カテゴリ」と、を含む。
別の例において、ユーザが訪問したホテルを表すアイテム属性データは、「ホテルＸＹＺ」という値を有する第１属性「ホテル名」と、「２０１３年４月１日」という値を有する第２属性「チェックイン日」と、「２０１３年４月５日」という値を有する第３属性「チェックアウト日」と、「５つ星」という値を有する第４属性「ユーザ評価」と、を含む。
更に別の例において、楽曲を記述したアイテム属性データは、「Ｋｅｌｌｙ  ＤＥＦ」という値を有する第１属性「アーティスト」と、「１０」という値を有する第２属性「ユーザが楽曲を再生した合計数」と、「昨日」という値を有する第３属性「楽曲が再生された最終日時」と、を含む。アイテム属性データは、その他のものであってもよい。
【００７３】
いくつかの実施形態において、アイテム属性モジュール３０４は、アイテム属性データをユーザ有効性モジュール３１６およびスコア生成器４０２に送信する。更なる実施形態において、アイテム属性モジュール３０４は、アイテム属性データを記憶装置２４５および／または記憶装置１４５内に記憶させる。
【００７４】
グループモジュール３０６は、アイテムを１つまたは複数のグループに分類するためのコードおよびルーチンである。いくつかの実施形態において、グループモジュール３０６は、アイテム属性モジュール３０４からアイテムに関連付いたアイテム属性データを受信する。また、グループモジュール３０６は、アイテム属性データに基づいてアイテムを１つまたは複数のグループに分類する。例えば、グループモジュール３０６は、バーを有するレストランを、「場所のグループ」、「レストラン」のサブグループ、「アルコールを成人に提供するバー」のサブグループに分類する。
アイテムのグループは、１つまたは複数の類似の属性を共有するアイテムの集合体を記述したデータであってもよい。グループは、例えば、ガソリンスタンドやレストランというサブグループを含む「場所」のグループ、友達や親族というサブグループを含む「人々」のグループ、移動およびルートのグループ、音楽ファイルのグループ、ビデオのグループおよびニュースアイテムのグループなどを含むが、これらに限られない。図１５には、グループの更なる例が示されている。
【００７５】
グループモジュール３０６は、１つまたは複数のグループを識別する１つまたは複数のグループＩＤを判定し、かつ、アイテムを１つまたは複数のグループＩＤと関連付ける。アイテムに関連付いた１つまたは複数のグループを識別することは有利である。その理由は、例えば、第１グループからの推奨アイテムによって生成される有効性が、第２グループからの推奨アイテムによって生成される有効性と異なりうるからである。例えば、ユーザに推奨される「場所」の有効性は、ユーザに推奨される「楽曲」の有効性とは異なる場合がある。
【００７６】
いくつかの実施形態において、グループモジュール３０６は、アイテムに関連付いた１つまたは複数のグループを識別する１つまたは複数のグループＩＤを、ユーザ有効性モジュール３１６、グループ有効性モジュール３１８、および／またはスコア生成器４０２に送信する。更なる実施形態において、グループモジュール３０６は、１つまたは複数のグループＩＤと、１つまたは複数のグループＩＤとアイテムの間の関連と、を記憶装置２４５および／または記憶装置１４５内に記憶させる。
【００７７】
デバイスデータ収集器３０８は、モバイルコンピュータ１３５に関連付いたデバイスデータを収集するためのコードおよびルーチンである。デバイスデータは、モバイルコンピュータ１３５を記述したデータである。いくつかの実施形態において、デバイスデータは、装置のタイプ、装置のモデル、モバイルコンピュータ１３５に接続された第１センサ１４０から受信されたセンサデータ、およびネットワーク１０５を介してデータサーバ１２０から取得されたリモートデバイスデータなどを含む。
例えば、モバイルコンピュータ１３５が車両である場合には、デバイスデータは、車両タイプ（例えば、ガソリン、電気、ハイブリッド）、車両のモデル、車両から得たセンサデータ（例えば、現在の燃費効率、カメラ、ＧＰＳ、またはＯＢＤシステムから得たその他のデータ）、記憶装置２４５内に保存されているデータ（例えば、車両ＩＤを含むローカル車両データ）、およびデータサーバ１２０から取得されたデータ（例えば、データサーバ１２０内に保存されている車両更新を含むリモート車両データ）を含む車両データを含んでいてもよい。いくつかの実施形態において、デバイスデータは、モバイルコンピュータ１３５に関連付いたその他のデータを含んでいてもよい。
【００７８】
いくつかの実施形態において、デバイスデータ収集器３０８は、１つまたは複数の第１センサ１４０から得られたモバイルコンピュータ１３５に関連付いたセンサデータ、記憶装置２４５から得たローカルデータ（例えば、ローカル車両データ）、および／またはネットワーク１０５を介したデータサーバ１２０内の記憶装置１４５から得たリモートデータ（例えば、リモート車両データ）のうちの１つまたは複数を取得する。デバイスデータ収集器３０８は、取得したデータをモバイルコンピュータ１３５に関連付いたデバイスデータとして収集する。いくつかの実施形態において、デバイスデータ収集器３０８は、収集したデバイスデータを記憶装置２４５内に記憶させる。更なる実施形態において、デバイスデータ収集器３０８は、デバイスデータを移動モビリティ検出器３１４およびスコア生成器４０２に送信する。
【００７９】
状況検出器３１０は、ユーザに関連付いた状況を記述した状況データを生成するためのコードおよびルーチンである。状況とは、例えば、車による子供の学校への送迎、職場への通勤、食料品の買い物、行楽地への移動、ガソリンスタンドへの移動、および空港への移動などであるが、これらに限られない。状況はその他のものであっても良い。
【００８０】
いくつかの実施形態において、状況検出器３１０は、識別モジュール２０４から、ユーザを識別するユーザＩＤを受信する。状況検出器３１０は、ユーザＩＤを用いて、記憶装置２４５から、ユーザに関連付いたユーザ要求履歴を記述したデータを取得する。ユーザ要求履歴は、過去においてユーザが実施した１つまたは複数の履歴要求を記述したデータである。例えば、ユーザ要求履歴は、ユーザが要求した１つまたは複数の目的地、１つまたは複数のホテル、１つまたは複数の楽曲、１つまたは複数のレストランなどを記述したデータである。また、いくつかの例において、ユーザ要求履歴は、ユーザが要求したその他のデータを含んでいてもよい。
【００８１】
いくつかの実施形態において、状況検出器３１０は、記憶装置２４５および／または記憶装置１４５から、ユーザに関連付いたユーザ状況履歴を記述したデータを取得する。ユ
ーザ状況履歴は、ユーザが行った移動、ユーザが指定した場所、ユーザが過去に行った運転、ソーシャル活動、エンターテインメント活動（例えば、聴取した音楽）などの履歴を記述したデータである。例えば、ユーザ状況履歴は、ユーザが食料品を購入するため毎週移動することを表す。別の例において、ユーザ状況履歴は、ユーザが子供を車で学校まで送迎するため平日に移動することを表す。また、状況検出器３１０は、センサデータを第１センサ１４０および／または第２センサ１６０から受信する。例えば、状況検出器３１０は、ＧＰＳから、時刻およびユーザの現在位置を記述したデータを受信する。また、状況検出器３１０は、データサーバ１２０から、ユーザの現在位置に関連付いた地図を表すマップデータを取得する。
【００８２】
状況検出器３１０は、ユーザ要求履歴、ユーザ状況履歴、センサデータ、およびマップデータのうちの１つまたは複数に基づいて、ユーザに関連付いた現在の状況を判定する。現在の状況は、運転、エンターテインメント活動、ソーシャル活動、消費活動など、ユーザが実行している活動であれば、どのようなものであってもよい。
例えば、時刻が午前７：４０であり、かつ、ユーザの現在位置が、高速道路上を職場に向って走行していることを示していると仮定しよう。ユーザが通常、午前７：３０〜８：３０の間に運転しているとユーザ状況履歴が示している場合、状況検出器３１０は、ユーザに関連付いた現在の状況を「職場までの通勤」と判定する。
別の例において、ユーザが空港までの経路を２分前に要求したことをユーザ要求履歴が示しており、かつ、ユーザが、現在、空港に接続する高速道路に向って運転している場合、状況検出器３１０は、ユーザに関連付いた現在の状況を「空港までの移動」と判定する。
【００８３】
いくつかの実施形態において、演算装置２００の管理者またはユーザは、ユーザに対応する、１つまたは複数の、予め定義された状況を取得する。予め定義された状況は、予め定義された状況データおよび関連付けられたパラメータ（例えば、時刻、曜日、現在位置、移動方向など）によって表される。
例えば、管理者またはユーザは、午前８：００〜９：００という時間帯用の予め定義された状況が「職場への通勤」となるように、午後３：００〜４：００という時間帯用の予め定義された状況が「学校からの車による子供のお迎え」となるように、かつ、午後６：００〜７：００という時間帯用の予め定義された状況が「仕事場からの帰宅途中におけるレストランでの夕食」となるなどのように、予め定義された状況のリストを、時刻に基づいて構成する。
更なる実施形態において、状況検出器３１０は、ユーザ状況履歴およびユーザ要求履歴のうちの１つまたは複数に基づいて、１つまたは複数の予め定義された状況を判定する。例えば、状況検出器３１０は、ユーザ状況履歴から取得されたユーザの履歴状況を収集し、かつ、予め定義された状況のリストを、ユーザの履歴状況から１つまたは複数の状況として生成する。
【００８４】
状況検出器３１０は、センサデータ（例えば、時刻、ユーザの現在位置、移動方向など）を、１つまたは複数の第１センサ１４０および／または１つまたは複数の第２センサ１６０から受信する。また、状況検出器３１０は、センサデータに基づいて、現在の状況が、センサデータにマッチした予め定義された状況となるように、予め定義された状況のリストからユーザの現在の状況を決定する。例えば、時刻が午前８：００である場合、状況検出器３１０は、時刻にマッチした予め定義された状況のリストから、現在の状況（例えば、職場への通勤）を決定する。
【００８５】
いくつかの実施形態において、状況検出器３１０は、ユーザの現在の状況を使用することにより、ユーザ状況履歴を更新する。例えば、状況検出器３１０は、現在の状況をユーザ状況履歴に追加する。いくつかの実施形態において、状況検出器３１０は、現在の状況
を記述した状況データを状況バイアスモデル生成器３１２、親和性サブシステム３１５、ユーザ有効性モジュール３１６、およびスコア生成器４０２のうちの１つまたは複数に送信する。更なる実施形態において、状況検出器３１０は、状況データを記憶装置２４５および／または記憶装置１４５内に記憶させる。
【００８６】
状況バイアスモデル生成器３１２は、ユーザに関連付いた状況に対応する状況バイアスモデルを生成するためのコードおよびルーチンである。状況バイアスモデルは、望ましい有効性を実現するため、所定の状況において充足されるべき１つまたは複数の状況的制約を記述したデータである。
状況的制約は、例えば、目的地までの時間的制約、距離的制約、価格的制約、最高速ルート制約、安全的制約、適法性制約、経済的制約、またはユーザが構成した任意のその他の状況的制約などを含むが、これらに限られない。異なる状況は、異なる状況的制約を有してもよい。
【００８７】
例えば、「学校への子供の送迎」という状況の場合、状況バイアスモデルは、目的地までの時間制約を含んでいてもよく、「食料品の購入」という状況の場合、状況バイアスモデルは、目的地までの時間制約ではなく、最短距離制約を含んでいてもよい。
別の例において、ユーザが夕食のためのレストランを探していると現在の状況が示している場合、状況バイアスモデル生成器３１２は、決まった閉店時間を有するレストランが、ユーザの現在位置からの目的地までの時間制約を充足するような、目的地までの時間制約を含んだ、現在の状況に対応する状況バイアスモデルを生成してもよい。
【００８８】
いくつかの実施形態において、状況バイアスモデル生成器３１２は、状況検出器３１０から、現在の状況を記述した状況データを受信する。状況バイアスモデル生成器３１２は、記憶装置２４５および／または記憶装置１４５から、１つまたは複数の標準状況バイアスモデルを記述したデータを取得する。標準状況バイアスモデルは、既定の構成を有する状況バイアスモデルであってもよい。例えば、１つまたは複数の状況的制約を含む標準状況バイアスモデルの構成が、記憶装置１４５および／または記憶装置２４５内に記憶されている。状況バイアスモデル生成器３１２は、１つまたは複数の標準状況バイアスモデルに基づいて、現在の状況に対応する状況バイアスモデルを生成する。
例えば、状況バイアスモデル生成器３１２は、現在の状況に対応する状況バイアスモデルを、現在の状況にマッチした標準状況バイアスモデルとして設定する。
別の例において、状況バイアスモデル生成器３１２は、現在の状況に最も近い状況を有する標準状況バイアスモデルを選択し、かつ、選択された標準状況バイアスモデルの構成（例えば、状況的制約）を現在の状況に従って調整することにより、現在の状況に対応する状況バイアスモデルを生成する。
【００８９】
いくつかの実施形態において、状況バイアスモデル生成器３１２は、状況バイアスモデルに対応する１つまたは複数の制約を記述した構成データを、ユーザおよび／またはステークホルダから受信し、かつ、受け取った構成データに少なくとも部分的に基づいて状況バイアスモデルを生成する。
いくつかの実施形態において、状況バイアスモデル生成器３１２は、１つまたは複数の推奨アイテムとの間におけるユーザのやり取りを記述したデータを記録し、かつ、ユーザのやり取りに基づいて、ユーザに対応する状況バイアスモデルを生成する。
例えば、状況バイアスモデル生成器３１２は、ユーザのやり取りデータから、「ユーザが特定のタイプの示唆を拒絶または無視すると共に／または、特定のタイプの推奨アイテムを特定の状況において選択する」ことを学習する。状況バイアスモデル生成器３１２は、ユーザとのやり取りデータに記述されている振る舞いに基づいて、ユーザに対応する状況バイアスモデルを生成する。
【００９０】
いくつかの実施形態において、状況バイアスモデル生成器３１２は、状況バイアスモデルをユーザ有効性モジュール３１６およびスコア生成器４０２に送信する。更なる実施形態において、状況バイアスモデル生成器３１２は、状況バイアスモデルを記憶装置１４５および／または記憶装置２４５内に記憶させる。
【００９１】
移動モビリティ検出器３１４は、ユーザに関連付いた移動モビリティデータを生成するためのコードおよびルーチンである。移動モビリティデータは、ユーザが行った１つまたは複数の移動を記述したデータである。移動モビリティデータは、例えば、計画された移動における経路、最適な移動経路、移動オフセット距離（例えば、計画された経路から立寄り地点までの距離）、移動時間、移動開始地点、移動終了地点、移動距離、立寄り地点、移動開始時刻、移動終了時刻、モバイルコンピュータ１３５に関連付いた経路、およびデバイスデータに関連付いたマップ（例えば、車両タイプを含む車両データや車両が移動することになる距離など）を含むが、これらに限られない。
例えば、ユーザが、通常、自宅と職場の間を通勤するため、特定のルートを辿っていることをユーザの移動履歴が示していると仮定しよう。ユーザは、しばしば、職場からの帰宅の途中で食料品店において食料品を購入しており、かつ、当該食料品店は、特定のルートから約０．２マイルだけ外れたところにある。この例において、ユーザに関連付いた移動モビリティデータは、ユーザの移動履歴、経路、食料品店を表す立寄り地点、および０．２マイルの移動オフセット距離などを含む。この他にも、移動モビリティデータは、ユーザの移動に関連付いたその他のデータを含んでいてもよい。
【００９２】
いくつかの実施形態において、移動モビリティ検出器３１４は、１つまたは複数の第１センサ１４０および／または第２センサ１６０からセンサデータを受信する。例えば、移動モビリティ検出器３１４は、車両のエンジンの始動状態、車両のエンジンの停止状態、車両の駐車ブレーキ、移動速度、現在位置および時刻のうちの１つまたは複数を表すセンサデータを第１センサ１４０および／または第２センサ１６０から受信する。移動モビリティ検出器３１４は、移動開始地点、立寄り地点、および／または移動終了地点をセンサデータに基づいて判定する。例えば、移動モビリティ検出器３１４は、車両のエンジンが始動した場所を移動開始地点とし、車両のエンジンが停止した場所を移動終了地点とし、かつ、移動速度がゼロになるとともに駐車ブレーキがオンになった場所を立寄り地点とする。
【００９３】
いくつかの実施形態において、移動モビリティ検出器３１４は、記憶装置１４５および／または記憶装置２４５内に保存されているユーザの移動履歴から、移動開始地点から移動終了地点までにユーザが実施した１つまたは複数の類似の移動履歴を取得する。移動モビリティ検出器３１４は、現在の移動を１つまたは複数の類似の移動履歴と比較することにより、移動オフセット距離を判定する。例えば、ユーザが、職場から自宅までの移動において、立寄り地点（例えば、ドライブスルーのドライクリーニング店）まで移動し、かつ、立寄り地点は、職場から自宅までの履歴ルートから０．５マイルだけ離れていると仮定しよう。移動モビリティ検出器３１４は、移動オフセット距離を履歴ルートから外れた０．５マイルであるとして判定する。
【００９４】
いくつかの実施形態において、移動モビリティ検出器３１４は、ユーザが行っている現在の移動に関連付いたマップを表すマップデータを取得する。移動モビリティ検出器３１４は、デバイスデータ収集器３０８からモバイルコンピュータ１３５に関連付いたデバイスデータを受信する。また、移動モビリティ検出器３１４は、移動開始地点、立寄り地点、移動終了地点、移動オフセット距離、マップデータ、およびデバイスデータのうちの１つまたは複数を含む移動モビリティデータを生成する。
いくつかの実施形態において、移動モビリティ検出器３１４は、移動モビリティデータをユーザ有効性モジュール３１６およびスコア生成器４０２に送信する。更なる実施形態
において、移動モビリティ検出器３１４は、移動モビリティデータを記憶装置１４５および／または記憶装置２４５内に記憶させる。
【００９５】
親和性サブシステム３１５は、アイテムの親和性状態を予測するためのコードおよびルーチンである。例えば、親和性サブシステム３１５は、候補アイテムの親和性状態を予測し、かつ、候補アイテムの親和性状態をスコア生成器４０２に送信する。いくつかの実施形態において、親和性サブシステム３１５は、識別モジュール２０４からのユーザを識別するユーザＩＤ、候補アイテムを識別するアイテムＩＤ、記憶装置１４５および／または記憶装置２４５からのユーザに関連付いた１つまたは複数のユーザの好みを記述したデータ、および状況検出器３１０からの現在の状況を記述したデータを受信する。親和性サブシステム３１５は、記憶装置１４５および／または記憶装置２４５から、ユーザに関連付いた消費履歴を記述したデータを取得する。消費履歴は、ユーザが消費した１つまたは複数のアイテムを含む。親和性サブシステム３１５は、消費されたアイテムの履歴親和性状態を記述したデータを取得し、かつ、消費されたアイテムの履歴親和性状態に基づいて候補アイテムの親和性状態の予測をトレーニングする。
【００９６】
親和性サブシステム３１５は、ユーザの好み、現在の状況、ユーザの消費履歴、および消費されたアイテムに関連付いた履歴親和性状態のうちの１つまたは複数に基づいて、候補アイテムの親和性状態を予測する。
例えば、親和性サブシステム３１５は、ユーザが過去において再生された類似の楽曲を評価している場合に、楽曲の親和性状態をリンクされたアイテムとして推定する。別の例において、ユーザが学校からの車による子供のお迎えの途上にあることを現在の状況が示している場合、親和性サブシステム３１５は、子供が好む新作アニメーションについて、ニュースアイテムよりも高度な親和性状態を推定する。更に別の例において、親和性サブシステム３１５は、あるコーヒーショップについて、その他のコーヒーショップよりも高い親和性状態を推定する。その理由は、ユーザが過去においてそのコーヒーショップを訪問したことをユーザの消費履歴が示しているからである。
【００９７】
いくつかの実施形態において、親和性サブシステム３１５は、予測された親和性状態をユーザ有効性モジュール３１６およびスコア生成器４０２に送信する。更なる実施形態において、親和性サブシステム３１５は、予測された親和性状態を記憶装置１４５および／または記憶装置２４５内に記憶させる。
【００９８】
ユーザ有効性モジュール３１６は、ユーザに対応するユーザ有効性モデルを生成するためのコードおよびルーチンである。いくつかの実施形態において、ユーザ有効性モジュール３１６は、ステークホルダ有効性モジュール３２０から送信されたステークホルダ有効性データ、ユーザ属性モジュール３０２から送信されたユーザに関連付いたユーザ属性データ、アイテム属性モジュール３０４から送信されたユーザが消費したアイテムに関連付いたアイテム属性データ、親和性状態モジュール２０７から送信された消費されたアイテムの親和性状態、グループモジュール３０６から送信された消費されたアイテムに関連付いたグループＩＤ、状況検出器３１０から送信された現在の状況を記述した状況データ、状況バイアスモデル生成器３１２から送信された現在の状況の状況バイアスモデル、および移動モビリティ検出器３１４から送信された移動モビリティデータのうちの１つまたは複数を受信する。
【００９９】
ユーザ有効性モジュール３１６は、ユーザに関連付いた履歴ユーザ有効性モデルが存在しているかどうかを判定する。ユーザに関連付いた履歴ユーザ有効性モデルが存在していない場合（例えば、過去においてユーザ向けに生成されたユーザ有効性モデルが存在しない場合）には、ユーザ有効性モジュール３１６は、グループ有効性モジュール３１８からグループ有効性モデルを表したデータを受信する。いくつかの実施形態において、ユーザ
有効性モジュール３１６は、ユーザＩＤおよびユーザプロファイルに基づいて、グループ有効性モジュール３１８からグループ有効性モデルを取得する。例えば、ユーザが都市の住民である場合には、ユーザ有効性モジュール３１６は、第１の自宅までの距離属性を満たすグループ有効性モデルを取得するが、ユーザが田舎の住民である場合には、ユーザ有効性モジュール３１６は、第２の自宅までの距離属性を満たすグループ有効性モデルを取得する。いくつかの実施形態において、ユーザ有効性モジュール３１６は、アイテムが属するグループに基づいて、グループ有効性モジュール３１８からグループ有効性モデルを取得する。例えば、ユーザ有効性モジュール３１６は、アイテムに関連付いたグループＩＤとマッチしたグループ有効性モデルを取得する。グループ有効性モデルについては、後ほど説明する。
【０１００】
ユーザ有効性モジュール３１６は、ステークホルダ有効性データ、グループ有効性モデル、ユーザ属性データ、親和性状態を含むアイテム属性データ、グループＩＤ、状況バイアスモデル、および移動モビリティデータのうちの１つまたは複数に基づいて、ユーザに対応するユーザ有効性モデルを生成する。
例えば、ユーザ有効性モジュール３１６は、ユーザ有効性モデルが使用された際に望ましい効果（例えば、ユーザビリティ、パーソナライゼーション、適法性、経済的考慮事項などの有効性）を生むように、ステークホルダ有効性データ、グループ有効性モデル、ユーザ属性データ、親和性状態を含むアイテム属性データ、グループＩＤ、状況バイアスモデル、および移動モビリティデータをエンコードするユーザ有効性モデルを生成する。
【０１０１】
例えば、ユーザ有効性モジュール３１６は、スコア生成器４０２が、目的地までの時間制約を満たす候補場所に対してより高い有効性スコアを生成するため、状況バイアスモデル内の「目的地までの時間制約」をエンコードするユーザ有効性モデルを生成する。
別の例において、ユーザ有効性モジュール３１６は、ユーザが２１歳未満である場合に、スコア生成器４０２が、バーを含む候補場所に対してより小さい有効性スコア（例えばゼロ）を生成するため、２１歳未満のユーザに対してバーを推奨しないように示されたステークホルダ有効性データをエンコードするユーザ有効性モデルを生成する。
更に別の例において、ユーザ有効性モジュール３１６は、スコア生成器４０２が、（１）現在の経路から候補場所が移動オフセット距離内にある場合に、より大きな親和性スコアを生成し、現在の経路から候補場所が移動オフセット距離内にはない場合に、より小さな親和性スコアを生成するため、移動モビリティデータ内に含まれる移動オフセット距離をエンコードするユーザ有効性モデルを生成する。
【０１０２】
ユーザに関連付いた履歴ユーザ有効性モデル（例えば、以前生成された、ユーザに対応するユーザ有効性モデル）が既に存在している場合、ユーザ有効性モジュール３１６は、記憶装置１４５および／または記憶装置２４５から、履歴ユーザ有効性モデルを記述したデータを取得する。そして、ユーザ有効性モジュール３１６は、ステークホルダ有効性データ、履歴ユーザ有効性モデル、ユーザ属性データ、親和性状態を含むアイテム属性データ、グループＩＤ、状況バイアスモデル、および移動モビリティデータのうちの１つまたは複数に基づいて、ユーザに対応するユーザ有効性モデルを生成する。
例えば、ユーザ有効性モジュール３１６は、ステークホルダ有効性データ、履歴ユーザ有効性モデル、ユーザ属性データ、親和性状態を含むアイテム属性データ、グループＩＤ、状況バイアスモデル、および移動モビリティデータのうちの１つまたは複数に基づいて、新しいユーザ有効性モデルを生成するため、履歴ユーザ有効性モデルを更新する。
【０１０３】
いくつかの実施形態において、ユーザ有効性モジュール３１６は、ユーザ有効性モデルをスコア生成器４０２に送信する。更なる実施形態において、ユーザ有効性モジュール３１６は、ユーザ有効性モデルを記憶装置１４５および／または記憶装置２４５内に記憶させる。
【０１０４】
グループ有効性モジュール３１８は、グループ有効性モデルを生成するためのコードおよびルーチンである。いくつかの実施形態において、グループ有効性モデルは、アイテムのグループに対応する有効性モデルである。
例えば、第１グループ有効性モデルは、ホテルのグループに対応する有効性モデルであり、かつ、第２グループ有効性モデルは、音楽のグループに対応する有効性モデルである。
別の例において、グループ有効性モデルは、特定のグループ内のアイテム属性に基づいてバイアスをエンコードした標準有効性モデルであってもよい。例えば、ユーザが特定のバーを好み、かつ、そのバーがその時刻において開店している場合であっても、バーのグループに対応する標準有効性モデルは、２１歳未満のユーザにはバーを推奨しない。
いくつかの実施形態において、グループ有効性モジュール３０８は、アイテムのグループに対応する標準有効性モデルを決定し、かつ、標準有効性モデルを記憶装置１４５および／または記憶装置２４５内に記憶させる。例えば、グループ有効性モジュール３０８は、ステークホルダ有効性データをステークホルダ有効性モジュール３２０から受信し、かつ、ステークホルダ有効性データを特定のグループに対応する標準有効性モデル内において望ましい効果を実現するための構成としてエンコードする。
【０１０５】
いくつかの実施形態において、グループ有効性モデルは、ユーザのグループに対応する有効性モデルであってもよい。例えば、第１グループ有効性モデルは、２１歳未満のユーザのグループに対応する有効性モデルであり、かつ、第２グループ有効性モデルは、２１歳以上のユーザのグループに対応する有効性モデルである。
別の例において、グループ有効性モデルは、同一グループ内のユーザに関連付いたユーザ有効性モデルの平均である平均グループ有効性モデルであってもよい。いくつかの実施形態において、グループ有効性モジュール３１６は、同一グループ内のユーザに関連付いたユーザ有効性モデルのリストを編成し、かつ、このユーザ有効性モデルのリストから、平均グループ有効性モデルを生成する。グループ有効性モジュール３１８は、平均グループ有効性モデルを定期的に更新および公開してもよい。いくつかの例において、平均グループ有効性モデルは、サーバ１０１内において更新および公開される。
【０１０６】
いくつかの実施形態において、グループ有効性モジュール３１８は、グループ有効性モデルを記憶装置１４５および／または記憶装置２４５内に記憶させる。更なる実施形態において、グループ有効性モジュール３１８は、グループ有効性モデルをユーザ有効性モジュール３１６に送信する。
【０１０７】
ステークホルダ有効性モジュール３２０は、ステークホルダ有効性データを構成するためのコードおよびルーチンである。いくつかの実施形態において、ステークホルダ有効性モジュール３２０は、ステークホルダ有効性データをステークホルダから受信し、かつ、ステークホルダ有効性データをステークホルダ有効性データベース２４７内に記憶させる。更なる実施形態において、ステークホルダ有効性モジュール３２０は、ステークホルダ有効性データをユーザ有効性モジュール３１６およびスコア生成器４０２に送信する。
【０１０８】
次に図３Ｂを参照して、モデル生成器２０８の別の例を更に詳細に示す。ユーザ属性モジュール３０２は、ユーザに関連付いたユーザ属性データを生成し、かつ、ユーザ属性データをユーザ有効性モジュール３１６に送信する。アイテム属性モジュール３０４は、アイテム属性データを生成し、かつ、アイテム属性データをグループモジュール３０６およびユーザ有効性モジュール３１６に送信する。グループモジュール３０６は、アイテムが関連付けられたグループＩＤを生成し、かつ、グループＩＤをグループ有効性モジュール３１８およびユーザ有効性モジュール３１６に送信する。ステークホルダ有効性モジュール３２０は、ステークホルダ有効性データをステークホルダ有効性データベース２４７か
ら取得し、かつ、ステークホルダ有効性データをグループ有効性モジュール３１８に送信する。グループ有効性モジュール３１８は、グループ有効性モデルをグループＩＤおよびステークホルダ有効性データに基づいて生成し、かつ、グループ有効性モデルをユーザ有効性モジュール３１６に送信する。
【０１０９】
デバイスデータ収集器３０８は、モバイルコンピュータ１３５に関連付いたデバイスデータを生成し、かつ、デバイスデータを移動モビリティ検出器３１４に送信する。移動モビリティ検出器３１４は、移動モビリティデータを生成し、かつ、移動モビリティデータをユーザ有効性モジュール３１６に送信する。状況検出器３１０は、現在の状況を表した状況データを生成し、かつ、状況データをユーザ有効性モジュール３１６および状況バイアスモデル生成器３１２に送信する。状況バイアスモデル生成器３１２は、現在の状況に対応する状況バイアスモデルを生成し、かつ、状況バイアスモデルをユーザ有効性モジュール３１６に送信する。親和性サブシステム３１５は、アイテムの親和性状態を予測し、かつ、親和性状態を親和性データとしてユーザ有効性モジュール３１６に送信する。
【０１１０】
ユーザ有効性モジュール３１６は、ステークホルダ有効性データベース２４７からステークホルダ有効性データを取得する。ユーザ有効性モジュール３１６は、ユーザ属性データ、アイテム属性データ、グループＩＤ、グループ有効性モデル、ステークホルダ有効性データ、親和性状態、状況バイアスモデル、状況データ、および移動モビリティデータのうちの１つまたは複数に基づいて、ユーザに対応するユーザ有効性モデルを生成する。ユーザ有効性モジュール３１６は、ユーザ有効性モデルを記憶装置２４５内に記憶させる。いくつかの実施形態において、ユーザ有効性モジュール３１６は、ユーザ有効性モデルをグループ有効性モジュール３１８に送信する。
【０１１１】
（スコア推定器の例）
次に図４Ａを参照して、スコア推定器２１０の一例を更に詳細に示す。図示の実施形態において、スコア生成器２１０は、ユーザ属性モジュール３０２と、アイテム属性モジュール３０４と、グループモジュール３０６と、デバイスデータ収集器３０８と、状況検出器３１０と、状況バイアスモデル生成器３１２と、移動モビリティ検出器３１４と、親和性サブシステム３１５と、スコア生成器４０２と、ステークホルダ有効性モジュール３２０と、を含む。
ユーザ属性モジュール３０２、アイテム属性モジュール３０４、グループモジュール３０６、デバイスデータ収集器３０８、状況検出器３１０、状況バイアスモデル生成器３１２、移動モビリティ検出器３１４、親和性サブシステム３１５、およびステークホルダ有効性モジュール３２０の構造、動作、機能については、上述したとおりであり、これらの説明は、ここでは省略する。
【０１１２】
スコア生成器４０２は、アイテムの有効性スコアを生成するためのコードおよびルーチンである。いくつかの実施形態において、スコア生成器４０２は、ステークホルダ有効性モジュール３２０から得たステークホルダ有効性データ、ユーザ属性モジュール３０２から得た、ユーザに関連付いたユーザ属性データ、アイテム属性モジュール３０４から得た、候補アイテムのセットに関連付いたアイテム属性データ、親和性サブシステム３１５から得た、候補アイテムのセットの親和性状態、グループモジュール３０６から得た、候補アイテムに関連付いたグループＩＤ、状況検出器３１０から得た、現在の状況を記述した状況データ、状況バイアスモデル生成器３１２から得た、現在の状況に対応する状況バイアスモデル、移動モビリティ検出器３１４から得た移動モビリティデータ、およびユーザ有効性モジュール３１６から得た、ユーザに関連付いたユーザ有効性モデル、のうちの１つまたは複数を受信する。
【０１１３】
いくつかの実施形態において、スコア生成器４０２は、デバイスデータ収集器３０８か
らモバイルコンピュータ１３５に関連付いたデバイスデータを受信する。スコア生成器４０２は、デバイスデータに基づいてモバイルコンピュータ１３５のデバイスバイアスデータを生成する。デバイスバイアスデータは、モバイルコンピュータ１３５に対応するように構成された、１つまたは複数のスコアリングにおける好ましさを表すデータである。
例えば、モバイルコンピュータ１３５が車両であり、かつ、デバイスデータが車両のモデルおよびタイプを含むものと仮定する。スコア生成器４０２は、デバイスバイアスデータを、異なるタイプの車両の有効性スコア生成に基づいてバイアスされるように構成された車両バイアスデータとして生成する。
例えば、ユーザが電気自動車を運転している場合、車両バイアスデータは、近傍の充電ステーションに対して相対的に大きな有効性スコアを生成する旨を示す、ユーザがガソリン車を運転している場合には、車両バイアスデータは、近傍のガソリンスタンドに対して相対的に大きな有効性スコアを生成する旨を示す。
なお、デバイスバイアスデータ（例えば、車両バイアスデータ）は、ユーザ有効性モデル内にエンコードされない。これは、ユーザが異なるモバイルコンピュータ１３５（例えば、異なるタイプの車両）を運用している場合であっても、スコア生成器４０２が、有効性スコアを生成するために同一のユーザ有効性モデルを適用しうるためである。
【０１１４】
スコア生成器４０２は、ステークホルダ有効性データ、ユーザ有効性モデル、ユーザ属性データ、親和性状態を含むアイテム属性データ、グループＩＤ、状況データ、状況バイアスモデル、移動モビリティデータ、デバイスデータ、およびデバイスバイアスデータのうちの１つまたは複数に基づいて、各候補アイテムに対応する有効性スコアを生成する。
例えば、（１）ユーザ有効性モデルが、２１歳未満のユーザにバーの推奨を提供しない旨を示すステークホルダ有効性データをエンコードしており、かつ、（２）ユーザが１９歳であることをユーザ属性データが示している場合には、スコア生成器４０２は、バーを含む候補場所に対してより小さい有効性スコア（例えばゼロ）を生成する。
スコア生成器４０２は、候補アイテムのセットから、バーを含む候補場所を除去してもよい。別の例において、ユーザ有効性モデルが、１０マイルとなるように最大移動オフセット距離をエンコードしている場合に、スコア生成器４０２は、最大移動オフセット距離内にある候補場所に対して相対的に大きな親和性スコアを生成し、かつ、最大移動オフセット距離内にはない候補場所に対して相対的に小さな親和性スコアを生成する。
更に別の例において、ユーザが電気自動車を運転している場合に、スコア生成器４０２は、車両バイアスデータに従って近傍の充電ステーションに対して相対的に大きな有効性スコアを生成し、ユーザがガソリン車を運転している場合には、スコア生成器４０２は、近傍のガソリンスタンドに対して相対的に大きな有効性スコアを生成する。
更に別の例において、ユーザが高速道路上において車線変更をしていることを状況データが示している場合には、スコア生成器４０２は、ユーザの注意を運転から逸らせうる候補アイテムに対して小さな有効性スコアを生成する。
【０１１５】
いくつかの実施形態において、スコア生成器４０２は、候補アイテムのセット向けに生成した有効性スコアを推奨モジュール２１２に送信する。更なる実施形態において、スコア生成器４０２は、生成した有効性スコアを記憶装置１４５および／または記憶装置２４５内に記憶させる。
【０１１６】
図４Ｂを参照して、スコア推定器２１０の別の例が更に詳細に示す。図４Ｂに示されているように、スコア生成器４０２は、ユーザ属性モジュール３０２から受信したユーザ属性データ、アイテム属性モジュール３０４から受信したアイテム属性データ、グループモジュール３０６から受信したグループＩＤ、ステークホルダ有効性データベース２４７から取得したステークホルダ有効性データ、移動モビリティ検出器３１４から受信した移動モビリティデータ、デバイスデータ収集器３０８から受信したデバイスデータ、状況検出器３１０から受信した状況データ、状況バイアスモデル生成器３１２から受信した状況バ
イアスモデル、親和性サブシステム３１５から受信した親和性状態データ、記憶装置２４５から取得したユーザ有効性モデル、および記憶装置２４５から取得したデバイスバイアスデータのうちの１つまたは複数に基づいて、候補アイテムに対応する有効性スコアを生成する。
【０１１７】
図３Ａ〜図４Ｂに示されている様々なモジュールの説明は、例として提供されたものであり、かつ、多数のその他の変形が可能であることを理解されたい。いくつかの実施形態において、様々なモジュールは、記憶装置１４５および／または記憶装置２４５からデータを取得してもよく、かつ、データを使用して本明細書に記述されている動作および／または機能を提供してもよい。様々なモジュールは、データを記憶装置１４５および／または記憶装置２４５内において保存してもよい。更なる実施形態において、様々なモジュールは、その他のモジュールから直接的にデータを受信してもよく、かつ、データを使用して本明細書に記述されている動作および／または機能を提供してもよい。様々なモジュールは、データをその他のモジュールに直接的に送信してもよい。
【０１１８】
（方法）
図５Ａおよび図５Ｂは、有効性モデルに基づいて推奨アイテムをユーザに提供する方法例５００のフローチャートである。
図５Ａにおいて、コントローラ２０２が、ユーザに関連付いた識別入力データを受信する（ステップ５０２）。
識別モジュール２０４が、識別入力データを用いてユーザを識別する（ステップ５０４）。ユーザを識別する方法例６００については、図６を参照して後ほど説明する。
モデル生成器２０８が、ユーザの識別に成功したかどうかを判定する（ステップ５０５）。ユーザの識別に成功した場合には、方法５００は、ステップ５０６に遷移する。さもなければ、方法５００は、終了するかまたは反復する。
ステップ５０６において、モデル生成器２０８が、ユーザに関連付いた履歴ユーザ有効性モデルが利用可能であるかどうかを判定する。ユーザに関連付いた履歴ユーザ有効性モデルが存在している場合、方法５００は、ステップ５１０に遷移する。さもなければ、コントローラ２０２が、グループ有効性モデルを記述したデータを記憶装置２４５から取得し（ステップ５０８）、かつ、ステップ５１２に遷移する。
ステップ５１０では、コントローラ２０２が、記憶装置２４５から履歴ユーザ有効性モデルを記述したデータを取得する。
モデル生成器２０８が、ユーザに対応するユーザ有効性モデルを生成する（ステップ５１２）。ユーザ有効性モデルを生成する方法例７００については、図７Ａ〜図７Ｃを参照して後ほど説明する。いくつかの実施形態において、コントローラ２０２は、候補アイテムのセットを記述したデータを受信する（ステップ５１４）。
【０１１９】
図５Ｂにおいて、スコア推定器２１０が、候補アイテムのセットに含まれる各候補アイテムが有効性スコアを有しているかどうかを判定する（ステップ５１６）。
各候補アイテムが有効性スコアを有している場合、方法５００は、ステップ５２０に遷移する。さもなければ、方法５００は、ステップ５１８に移動する。
ステップ５１８において、スコア推定器２１０が、有効性スコアを有していないそれぞれの候補アイテムの有効性スコアを判定し、その後、方法５００は、ステップ５１６に遷移する。候補アイテムに対応する有効性スコアを生成する方法例８００については、図８Ａ〜図８Ｃを参照して後ほど説明する。
【０１２０】
ステップ５２０で、推奨モジュール２１２が、候補アイテムのセットから１つまたは複数の候補アイテムを除去する。例えば、推奨モジュール２１２は、候補アイテムのセットから、ステークホルダ有効性データを充足していない１つまたは複数の候補アイテムを除去する。
推奨モジュール２１２が、関連付けられた有効性スコアに基づいて残りの候補アイテムをランク付けする（ステップ５２２）。
推奨モジュール２１２が、ランク付けされた候補アイテムから１つまたは複数の推奨アイテムを生成する（ステップ５２４）。たとえば、推奨モジュール２１２は、ランク付けされた候補アイテムに基づいて、ユーザに推奨するための１つまたは複数の候補アイテムを判定してもよい。
推奨モジュール２１２が、ユーザに対して１つまたは複数の推奨アイテムを提供する（ステップ５２６）。
【０１２１】
図６は、ユーザを識別する方法例６００のフローチャートである。
まず、コントローラ２０２が、１つまたは複数の第１センサ１４０および／または１つまたは複数の第２センサ１６０から、ユーザに関連付いた識別入力データを受信する（ステップ６０２）。
コントローラ２０２が、記憶装置２４５および／または記憶装置１４５からユーザに関連付いた履歴識別データを取得する（ステップ６０４）。
識別モジュール２０４が、識別入力データが履歴識別データとマッチしているかどうかを判定する（ステップ６０６）。識別入力データが履歴識別データとマッチしている場合、識別モジュール２０４は、ユーザを識別するユーザＩＤを確認する（ステップ６０８）。さもなければ、識別モジュール２０４は、ユーザの識別に失敗したと判定する（ステップ６１０）。
【０１２２】
図７Ａ〜図７Ｃは、ユーザ有効性モデルを生成する方法例７００のフローチャートである。
図７Ａにおいて、コントローラ２０２が、ステークホルダ有効性データベース２４７からステークホルダ有効性データを受信する（ステップ７０１）。
コントローラ２０２が、ユーザ識別モジュール２０４からユーザＩＤを受信する（ステップ７０２）。
コントローラ２０２が、ユーザＩＤを用いて、記憶装置２４５および／または記憶装置１４５からユーザプロファイルを記述したデータを受信する（ステップ７０４）。
コントローラ２０２が、ユーザＩＤを用いて、ソーシャルネットワークサーバ１３０からソーシャルデータを受信する（ステップ７０６）。
ユーザ属性モジュール３０２が、ユーザＩＤ、ユーザプロファイルデータ、およびユーザソーシャルデータに基づいてユーザ属性データを生成する（ステップ７０８）。
消費モジュール２０６が、ユーザが消費したアイテムを識別する（ステップ７１０）。ユーザが消費したアイテムを識別する方法例９００については、図９を参照して後ほど説明する。
消費モジュール２０６が、消費されたアイテムを識別するアイテムＩＤを判定する（ステップ７１２）。
親和性状態モジュール２０７が、消費されたアイテムを識別する個々のアイテムＩＤを用いて、それぞれの消費されたアイテムの親和性状態を識別する（ステップ７１４）。アイテムの親和性状態を識別する方法例１０００については、図１０を参照して後ほど説明する。
コントローラ２０２が、個々のアイテムＩＤを用いて、それぞれの消費されたアイテムのアイテムソーシャルデータを受信する（ステップ７１６）。
【０１２３】
図７Ｂにおいて、コントローラ２０２が、個々のアイテムＩＤを用いて、記憶装置２４５および／または記憶装置１４５からそれぞれの消費されたアイテムのアイテムデータを取得する（ステップ７１８）。
アイテム属性モジュール３０４が、対応するアイテムＩＤ、親和性状態、アイテムソーシャルデータ、およびアイテムデータに基づいて、それぞれの消費されたアイテムのアイ
テム属性データを生成する（ステップ７２０）。
グループモジュール３０６が、消費されたアイテムに関連付いたアイテム属性データに基づいて、それぞれの消費されたアイテムを１つまたは複数のグループに分類する（ステップ７２２）。
グループモジュール３０６が、１つまたは複数のグループを識別する１つまたは複数のグループＩＤを判定する（ステップ７２４）。
移動モビリティ検出器３１４が、移動モビリティデータを生成する（ステップ７２６）。移動モビリティデータを生成する方法例１１００については、図１１を参照して後ほど説明する。
状況検出器３１０は、現在の状況を記述した状況データを生成する（ステップ７２８）。状況データを生成する方法例１２００については、図１２を参照して後ほど説明する。
状況バイアスモデル生成器３１２が、現在の状況に基づいて状況バイアスモデルを生成する（ステップ７３０）。
【０１２４】
図７Ｃにおいて、ユーザ有効性モジュール３１６が、ユーザに関連付いた履歴ユーザ有効性モデルが利用可能であるかどうかを判定する（ステップ７３２）。ユーザに関連付いた履歴ユーザ有効性モデルが存在している場合、方法７００は、ステップ７３４に遷移する。さもなければ、方法７００は、ステップ７３８に遷移する。
ステップ７３４では、コントローラ２０２が、記憶装置２４５および／または記憶装置１４５から、ユーザに関連付いた履歴ユーザ有効性モデルを記述したデータを取得する。
ユーザ有効性モジュール３１６が、ステークホルダ有効性データ、履歴ユーザ有効性モデル、ユーザ属性データ、親和性状態を含むアイテム属性データ、グループＩＤ、状況データ、状況バイアスモデル、および移動モビリティデータのうちの１つまたは複数に基づいて、ユーザに対応するユーザ有効性モデルを生成する（ステップ７３６）。
ステップ７３８で、コントローラ２０２は、記憶装置２４５および／または記憶装置１４５からグループ有効性モデルを記述したデータを取得する。
ユーザ有効性モジュール３１６が、ステークホルダ有効性データ、グループ有効性モデル、ユーザ属性データ、親和性状態を含むアイテム属性データ、グループＩＤ、状況データ、状況バイアスモデル、および移動モビリティデータのうちの１つまたは複数に基づいて、ユーザに対応するユーザ有効性モデルを生成する（ステップ７４０）。
【０１２５】
図８Ａ〜図８Ｃは、候補アイテムの有効性スコアを生成する方法例８００のフローチャートである。
図８Ａにおいて、コントローラ２０２が、ステークホルダ有効性データベース２４７からステークホルダ有効性データを受信する（ステップ８０１）。
コントローラ２０２が、候補アイテムを記述したデータを受信する（ステップ８０２）。
コントローラ２０２が、ユーザ識別モジュール２０４からユーザＩＤを受信する（ステップ８０４）。
コントローラ２０２が、ユーザＩＤを用いて、記憶装置２４５および／または記憶装置１４５からユーザプロファイルデータを受信する（ステップ８０６）。
コントローラ２０２が、ユーザＩＤを用いて、ソーシャルネットワークサーバ１３０からユーザソーシャルデータを受信する（ステップ８０８）。
ユーザ属性モジュール３０２が、ユーザＩＤ、ユーザプロファイルデータ、およびユーザソーシャルデータに基づいてユーザ属性データを生成する（ステップ８１０）。
消費モジュール２０６が、候補アイテムを識別するアイテムＩＤを判定する（ステップ８１２）。
親和性サブシステム３１５が、アイテムＩＤを用いて、候補アイテムの親和性状態を予測する（ステップ８１４）。アイテムの親和性状態を予測する方法例１６００については、図１６を参照して後ほど説明する。
コントローラ２０２が、アイテムＩＤを用いて、ソーシャルネットワークサーバ１３０から候補アイテムに対応するアイテムソーシャルデータを受信する（ステップ８１６）。
【０１２６】
図８Ｂにおいて、コントローラ２０２が、アイテムＩＤを用いて、記憶装置２４５および／または記憶装置１４５から候補アイテムのアイテムデータを取得する（ステップ８１８）。
アイテム属性モジュール３０４が、アイテムＩＤ、親和性状態、アイテムソーシャルデータ、およびアイテムデータに基づいて候補アイテムのアイテム属性データを生成する（ステップ８２０）。
グループモジュール３０６が、候補アイテムに関連付いたアイテム属性データに基づいて候補アイテムを１つまたは複数のグループに分類する（ステップ８２２）。
グループモジュール３０６が、１つまたは複数のグループを識別する１つまたは複数のグループＩＤを判定する（ステップ８２４）。
移動モビリティ検出器３１４が、移動モビリティデータを生成する（ステップ８２６）。移動モビリティデータを生成する方法例１１００については、図１１を参照して後ほど説明する。
状況検出器３１０が、ユーザに関連付いた現在の情報を表す状況データを生成する（ステップ８２８）。状況データを生成する方法例１２００については、図１２を参照して後ほど説明する。
状況バイアスモデル生成器３１２が、現在の状況に基づいて状況バイアスモデルを生成する（ステップ８３０）。
【０１２７】
図８Ｃにおいて、コントローラ２０２が、記憶装置２４５および／または記憶装置１４５からユーザに関連付いたユーザ有効性モデルを記述したデータを取得する（ステップ８３２）。
コントローラ２０２が、デバイスデータ収集器３０８からデバイスデータを受信する（ステップ８３４）。
スコア生成器４０２が、デバイスデータに基づいてモバイルコンピュータ１３５に関連付いたデバイスバイアスデータを判定する（ステップ８３６）。
スコア生成器４０２が、ステークホルダ有効性データ、ユーザ有効性モデル、デバイスデータ、デバイスバイアスデータ、ユーザ属性データ、状況データ、移動モビリティデータ、グループＩＤ、およびアイテム属性データのうちの１つまたは複数に基づいて候補アイテムの有効性スコアを判定する（ステップ８３８）。
【０１２８】
図９は、ユーザが消費したアイテムを判定する方法例９００のフローチャートである。
コントローラ２０２が、１つまたは複数の第１センサ１４０および／または１つまたは複数の第２センサ１６０からセンサデータを受信する（ステップ９０２）。
コントローラ２０２が、識別モジュール２０４から、ユーザを識別するユーザＩＤを受信する（ステップ９０４）。
コントローラ２０２が、ユーザＩＤに基づいて記憶装置１４５および／または記憶装置２４５から、ユーザの消費履歴を記述したデータを取得する（ステップ９０６）。
消費モジュール２０６が、センサデータおよびユーザの消費履歴に基づいて、ユーザが消費したアイテムを識別する（ステップ９０８）。
消費モジュール２０６が、消費されたアイテムを識別するアイテムＩＤを判定する（ステップ９１０）。
消費モジュール２０６が、アイテムＩＤに基づいてユーザの消費履歴を更新する（ステップ９１２）。
【０１２９】
図１０は、ユーザが消費したアイテムの親和性状態を判定する方法例１０００のフローチャートである。
コントローラ２０２が、ユーザを識別するユーザＩＤを受信する（ステップ１００２）。
コントローラ２０２が、アイテムを識別するアイテムＩＤを受信する（ステップ１００４）。
コントローラ２０２が、アイテムＩＤに基づいてアイテムに対応する親和性スケールを記述したデータを受信する（ステップ１００６）。
親和性状態モジュール２０７が、ユーザＩＤによって識別されたユーザに、親和性スケールを提示する（ステップ１００７）。
コントローラ２０２が、１つまたは複数の第１センサ１４０および／または１つまたは複数の第２センサ１６０からユーザ入力データを受信する（ステップ１００８）。
親和性状態モジュール２０７が、ユーザ入力データに基づいてアイテムの親和性状態を判定する（ステップ１０１０）。
【０１３０】
図１１は、移動モビリティデータを生成する方法例１１００のフローチャートである。
コントローラ２０２が、１つまたは複数の第１センサ１４０および／または１つまたは複数の第２センサ１６０からセンサデータを受信する（ステップ１１０２）。
移動モビリティ検出器３１４が、センサデータに基づいて、ユーザが行った移動における移動開始地点、立寄り地点、移動終了地点のうちの１つまたは複数を判定する（ステップ１１０４）。
コントローラ２０２が、ユーザの移動履歴を記述したデータを取得する（ステップ１１０６）。
移動モビリティ検出器３１４が、移動オフセット距離を判定する（ステップ１１０８）。
コントローラ２０２が、移動に関連付いたマップを表すマップデータを取得する（ステップ１１１０）。
デバイスデータ収集器３０８が、モバイルコンピュータ１３５に関連付いたデバイスデータを収集する（ステップ１１１２）。
移動モビリティ検出器３１４が、移動開始地点、立寄り地点、移動終了地点、移動オフセット距離、マップデータ、およびデバイスデータのうちの１つまたは複数を含む移動モビリティデータを生成する（ステップ１１１４）。
【０１３１】
図１２は、ユーザに関連付いた現在の状況を判定する方法例１２００のフローチャートである。
コントローラ２０２が、ユーザを識別するユーザＩＤを受信する（ステップ１２０２）。
コントローラ２０２が、ユーザＩＤに基づいて記憶装置１４５および／または記憶装置２４５からユーザに関連付いたユーザ要求履歴を記述したデータを取得する（ステップ１２０４）。
コントローラ２０２が、ユーザＩＤに基づいてユーザ状況履歴を記述したデータを取得する（ステップ１２０６）。
コントローラ２０２が、１つまたは複数の第１センサ１４０および／または１つまたは複数の第２センサ１６０からセンサデータを受信する（ステップ１２０８）。例えば、１つまたは複数の第１センサ１４０および／または１つまたは複数の第２センサ１６０は、ユーザのモバイルコンピュータ１３５と関連付けられてもよい。
コントローラ２０２が、ユーザに関連付いた現在位置に関連付いたマップを記述したマップデータを取得する（ステップ１２１０）。
状況検出器３１０が、ユーザ要求履歴、ユーザ状況履歴、センサデータ、およびマップデータのうちの１つまたは複数に基づいて、ユーザに関連付いた現在の状況を判定する（ステップ１２１２）。
状況検出器３１０が、現在の状況を用いて、ユーザ状況履歴を更新する（ステップ１２
１４）。
【０１３２】
図１６は、候補アイテムの親和性状態を予測する方法例１６００のフローチャートである。
コントローラ２０２が、ユーザを識別するユーザＩＤを受信する（ステップ１６０２）。
コントローラ２０２が、候補アイテムを識別するアイテムＩＤを受信する（ステップ１６０４）。
コントローラ２０２が、ユーザＩＤに基づいて１つまたは複数のユーザの好みを記述したデータを受信する（ステップ１６０５）。
コントローラ２０２が、ユーザＩＤに基づいてユーザの現在の状況を記述したデータを受信する（ステップ１６０６）。
コントローラ２０２が、ユーザが消費し、ユーザが入力したアイテムに関連付いた履歴親和性状態を記述したデータを受信する（ステップ１６０７）。
親和性サブシステム３１５が、履歴親和性状態を用いて、候補アイテムの親和性状態の予測をトレーニングする（ステップ１６０８）。
親和性サブシステム３１５が、ユーザの現在の状況、１つまたは複数のユーザの好み、および１つまたは複数の履歴親和性状態のうちの１つまたは複数に基づいて、アイテムＩＤによって識別された候補アイテムの親和性状態を予測する（ステップ１６１０）。
【０１３３】
（グラフィック表現）
図１３は、ユーザが消費した場所の例を表すグラフィック表現１３００である。
例えば、消費モジュール２０６は、ユーザが操作するモバイルコンピュータ１３５の現在位置１３０２を判定する。消費モジュール２０６は、現在位置１３０２から歩行可能な距離１３０３内にある１つまたは複数の候補場所を決定する。１つまたは複数の候補場所は、ユーザの消費履歴に含まれる、かつて消費された場所である。消費された場所は、ユーザが過去において訪問した場所であってもよい。
消費モジュール２０６は、ユーザが現在訪問している現在位置１３０４を、例えば、消費された場所をユーザが以前訪問した以降の消費履歴における、消費された場所として推定する。
【０１３４】
別の例において、消費モジュール２０６は、モバイルコンピュータ１３５が現在配置されている現在位置１３０６を判定する。消費モジュール２０６は、現在位置１３０６から歩行可能な距離１３０７内にある１つまたは複数の候補場所を判定する。消費モジュール２０６は、モバイルコンピュータ１３５が現在位置１３０６において停止した時刻、および、停止している継続時間に基づいて、ユーザが訪問している現在位置１３０８を推定する。例えば、時刻が午後７：３０であり、かつ、モバイルコンピュータ１３５が、既に４５分にわたって現在位置１３０６に停止している場合、消費モジュール２０６は、ユーザが訪問している現在位置１３０８をレストランと推定する。
【０１３５】
更に別の例において、消費モジュール２０６は、モバイルコンピュータ１３５の現在位置１３１０を判定する。消費モジュール２０６は、現在位置１３１０から歩行可能内距離１３１１内には、１つの歩行可能な候補場所しか存在していないことを判定する。そして、消費モジュール２０６は、当該歩行可能な候補場所を、ユーザが訪問している現在位置１３１２として推定する。
【０１３６】
図１４は、ユーザがアイテムの親和性状態を入力するグラフィック表現の例１４００である。いくつかの実施形態において、ユーザインターフェイスは、タッチスクリーンを有する車両内ヘッドユニット内に表示されている。ユーザは、再生されている楽曲の４／５という親和性を示すべく、４つ星を押下することができる。
【０１３７】
図１５は、グループの例を表すグラフィック表現１５００である。本例は、場所のグループ、人々のグループ、移動および経路のグループ、並びに、音楽のグループを含む。また、グループのそれぞれは、１つまたは複数のサブグループを有する。
【０１３８】
以上の説明では、本発明を十分に理解できるように、多くの詳細について説明した。しかしながら、各実施形態はこれらの具体的な詳細無しでも良いことは当業者にとって明らかであろう。また、説明が不明瞭になることを避けるために、構造や装置をブロック図の形式で表すこともある。例えば、実施形態は、ユーザインタフェースおよび特定のハードウェアとともに説明される。しかし、ここでの説明は、データおよびコマンドを受信する任意のタイプの計算装置および任意の周辺機器について適用できる。
【０１３９】
本明細書における「一実施形態」または「他の実施形態」等という用語は、その実施形態と関連づけて説明される特定の特徴・構造・性質が少なくとも本発明の一つの実施形態に含まれることを意味する。「１つの実施形態における」等という用語は本明細書内で複数用いられるが、これらは必ずしも同一の実施形態を示すものとは限らない。
【０１４０】
本明細書の詳細な説明の一部は、非一時的（non-transitory）なコンピュータ可読記憶媒体に記憶されたデータビットに対する動作のアルゴリズムおよび記号的表現として提供される。これらのアルゴリズム的な説明および表現は、データ処理技術分野の当業者によって、他の当業者に対して自らの成果の本質を最も効果的に説明するために用いられるものである。なお、本明細書において（また一般に）アルゴリズムとは、所望の結果を得るための論理的な手順を意味する。処理のステップは、物理量を物理的に操作するものである。必ずしも必須ではないが、通常は、これらの量は記憶・伝送・結合・比較およびその他の処理が可能な電気的または磁気的信号の形式を取る。通例にしたがって、これらの信号をビット・値・要素・エレメント・シンボル・キャラクタ・項・数値などとして称することが簡便である。
【０１４１】
なお、これらの用語および類似する用語はいずれも、適切な物理量と関連付いているものであり、これら物理量に対する簡易的なラベルに過ぎないということに留意する必要がある。以下の説明から明らかなように、特に断らない限りは、本明細書において「処理」「計算」「コンピュータ計算（処理）」「判断」「表示」等の用語を用いた説明は、コンピュータシステムや類似の電子的計算装置の動作および処理であって、コンピュータシステムのレジスタやメモリ内の物理的（電子的）量を、他のメモリやレジスタまたは同様の情報ストレージや通信装置、表示装置内の物理量として表される他のデータへ操作および変形する動作および処理を意味する。
【０１４２】
本発明は、本明細書で説明される動作を実行する装置にも関する。この装置は要求される目的のために特別に製造されるものであっても良いし、汎用コンピュータを用いて構成しコンピュータ内に格納されるプログラムによって選択的に実行されたり再構成されたりするものであっても良い。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な、例えばフロッピー（登録商標）ディスク・光ディスク・ＣＤ−ＲＯＭ・ＭＯディスク・磁気ディスクなど任意のタイプのディスク、読み込み専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード、フラッシュメモリ、光学式カード、電子的命令を格納するために適した任意のタイプの媒体などのコンピュータ可読記憶媒体に記憶される。
【０１４３】
発明の具体的な実施形態は、完全にハードウェアによって実現されるものでも良いし、完全にソフトウェアによって実現されるものでも良いし、ハードウェアとソフトウェアの両方によって実現されるものでも良い。好ましい実施形態は、ソフトウェアによって実現
される。ここでソフトウェアとは、ファームウェア、常駐ソフトウェア、マイクロコードやその他のソフトウェアを含むものである。
【０１４４】
さらに、ある実施形態は、コンピュータが利用あるいは読み込み可能な記憶媒体からアクセス可能なコンピュータプログラムプロダクトの形態を取る。この記憶媒体は、コンピュータや任意の命令実行システムによってあるいはそれらと共に利用されるプログラムコードを提供する。コンピュータが利用あるいは読み込み可能な記憶媒体とは、命令実行システムや装置によってあるいはそれらと共に利用されるプログラムを、保持、格納、通信、伝搬および転送可能な任意の装置を指す。
【０１４５】
プログラムコードを格納・実行するために適したデータ処理システムは、システムバスを介して記憶素子に直接または間接的に接続された少なくとも１つのプロセッサを有する。記憶素子は、プログラムコードの実際の実行に際して使われるローカルメモリや、大容量記憶装置や、実行中に大容量記憶装置からデータを取得する回数を減らすためにいくつかのプログラムコードを一時的に記憶するキャッシュメモリなどを含む。
【０１４６】
入力／出力（Ｉ／Ｏ）装置は、例えばキーボード、ディスプレイ、ポインティング装置などであるが、これらはＩ／Ｏコントローラを介して直接あるいは間接的にシステムに接続される。
【０１４７】
システムにはネットワークアダプタも接続されており、これにより、私的ネットワークや公共ネットワークを介して他のデータ処理システムやリモートにあるプリンタや記憶装置に接続される。モデム、ケーブルモデム、イーサネット（登録商標）は、現在利用可能なネットワークアダプタのほんの一例である。
【０１４８】
最後に、本明細書において提示されるアルゴリズムおよび表示は特定のコンピュータや他の装置と本来的に関連するものではない。本明細書における説明にしたがったプログラムを有する種々の汎用システムを用いることができるし、また要求された処理ステップを実行するための特定用途の装置を製作することが適した場合もある。これら種々のシステムに要求される構成は、以下の説明において明らかにされる。さらに、本発明は、特定のプログラミング言語と関連づけられるものではない。本明細書で説明される本発明の内容を実装するために種々のプログラミング言語を利用できることは明らかであろう。
【０１４９】
実施形態の前述の説明は、例示と説明を目的として行われたものである。したがって、開示された実施形態が本発明の全てではないし、本発明を上記の実施形態に限定するものでもない。本発明は、上記の開示にしたがって、種々の変形が可能である。本発明の範囲は上述の実施形態に限定解釈されるべきではなく、特許請求の範囲にしたがって解釈されるべきである。本発明の技術に詳しい者であれば、本発明はその思想や本質的特徴から離れることなくその他の種々の形態で実現できることを理解できるであろう。同様に、モジュール・処理・特徴・属性・方法およびその他の本発明の態様に関する名前付けや分割方法は必須なものでものないし重要でもない。また、本発明やその特徴を実装する機構は異なる名前や分割方法や構成を備えていても構わない。さらに、当業者であれば、モジュール・処理・特徴・属性・方法およびその他の本発明の態様は、ソフトウェア、ハードウェア、ファームウェアもしくはこれらの組合せとして実装できることを理解できるであろう。また、本発明をソフトウェアとして実装する場合には、モジュールなどの各要素は、どのような様式で実装されても良い。例えば、スタンドアローンのプログラム、大きなプログラムの一部、異なる複数のプログラム、静的あるいは動的なリンクライブラリー、カーネルローダブルモジュール、デバイスドライバー、その他コンピュータプログラミングの当業者にとって既知な方式として実装することができる。さらに、本発明の実装は特定のプログラミング言語に限定されるものではないし、特定のオペレーティングシステムや環
境に限定されるものでもない。以上のように、上記の本発明の説明は限定的なものではなく例示的なものであり、本発明の範囲は添付の特許請求の範囲にしたがって定められる。
【図１】
2016541054.tif 000003
【図２】
2016541054.tif 000004
【図３Ａ】
2016541054.tif 000005
【図３Ｂ】
2016541054.tif 000006
【図４Ａ】
2016541054.tif 000007
【図４Ｂ】
2016541054.tif 000008
【図５Ａ】
2016541054.tif 000009
【図５Ｂ】
2016541054.tif 000010
【図６】
2016541054.tif 000011
【図７Ａ】
2016541054.tif 000012
【図７Ｂ】
2016541054.tif 000013
【図７Ｃ】
2016541054.tif 000014
【図８Ａ】
2016541054.tif 000015
【図８Ｂ】
2016541054.tif 000016
【図８Ｃ】
2016541054.tif 000017
【図９】
2016541054.tif 000018
【図１０】
2016541054.tif 000019
【図１１】
2016541054.tif 000020
【図１２】
2016541054.tif 000021
【図１３】
2016541054.tif 000022
【図１４】
2016541054.tif 000023
【図１５】
2016541054.tif 000024
【図１６】
2016541054.tif 000025
【手続補正書】
【提出日】平成28年5月12日(2016.5.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータに実装された方法であって、
ユーザに関連付いた識別入力データを取得するステップと、
前記識別入力データを用いてユーザを識別するステップと、
センサデータを受信するステップと、
前記センサデータに基づいて、予め定義された状況データおよび関連するパラメータによって表された、１つまたは複数の予め定義された状況から、前記ユーザに関連付いた現在の状況を判定するステップと、
候補アイテムのセットを表すデータを取得するステップと、
前記現在の状況と、前記ユーザに関連付いたユーザ有効性モデルとに基づいて、前記候補アイテムのセットに対応する有効性スコアのセットを生成するステップと、
前記候補アイテムのセットから１つまたは複数の候補アイテムを除去し、１つまたは複数の残りの候補アイテムを取得するステップと、
前記１つまたは複数の残りの候補アイテムに関連付いた１つまたは複数の有効性スコアに基づいて、前記１つまたは複数の残りの候補アイテムをランク付けするステップと、
前記１つまたは複数のランク付けされた残りの候補アイテムから、１つまたは複数の推奨アイテムを前記ユーザに対して提供するステップと、
を含む方法。
【請求項２】
ステークホルダによって定義されたステークホルダ有効性データを受信するステップと、
前記現在の状況および前記ステークホルダ有効性データのうちの１つまたは複数に基づいて前記ユーザ有効性モデルを生成するステップと、
前記ステークホルダ有効性データに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに含む、
請求項１に記載の方法。
【請求項３】
モバイルコンピュータに関連付いたデバイスデータを収集するステップと、
前記モバイルコンピュータ向けに構成された、１つまたは複数のスコアリングにおける好ましさを表すデバイスバイアスデータを判定するステップと、
前記デバイスデータおよび前記デバイスバイアスデータに更に基づいて前記有効性スコ
アのセットを生成するステップと、をさらに含む、
請求項１に記載の方法。
【請求項４】
前記現在の状況に基づいて、充足されるべき１つ又は複数の状況制約を表す状況バイアスモデルを判定するステップと、
前記現在の状況および前記状況バイアスモデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに含む、
請求項１に記載の方法。
【請求項５】
前記ユーザに関連付いた履歴ユーザ有効性モデルが存在していると判定するステップと、
前記現在の状況および前記履歴ユーザ有効性モデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに含む、
請求項１に記載の方法。
【請求項６】
前記ユーザに関連付いたグループ有効性モデルを取得するステップと、
前記現在の状況および前記グループ有効性モデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに含む、
請求項１に記載の方法。
【請求項７】
前記ユーザに関連付いたユーザプロファイルデータを取得するステップと、
前記ユーザに関連付いたユーザソーシャルデータを取得するステップと、
前記ユーザプロファイルデータおよび前記ユーザソーシャルデータに基づいて、前記ユーザに関連付いたユーザ属性データを生成するステップと、
前記ユーザ属性データおよび前記現在の状況のうちの１つまたは複数に基づいて前記ユーザ有効性モデルを生成するステップと、
前記ユーザ属性データに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに含む、
請求項１に記載の方法。
【請求項８】
前記ユーザが消費した１つまたは複数のアイテムを識別するステップと、
前記１つまたは複数の消費されたアイテムの、１つまたは複数の親和性状態を識別するステップと、
前記１つまたは複数の消費されたアイテムに関連付いたアイテムソーシャルデータを取得するステップと、
前記１つまたは複数の親和性状態および前記アイテムソーシャルデータに基づいて、前記１または複数の消費されたアイテムに関連付いたアイテム属性データを生成するステップと、
前記１つまたは複数の消費されたアイテムを、１つまたは複数のグループに分類するステップと、
前記１つまたは複数のグループを識別する１つまたは複数のグループ識別子を判定するステップと、
前記アイテム属性データ、前記現在の状況、前記１つまたは複数のグループ識別子、のうちの１つまたは複数に基づいて、前記ユーザ有効性モデルを生成するステップと、をさらに含む、
請求項１に記載の方法。
【請求項９】
前記センサデータに基づいて、移動に関連付いた移動開始地点、立寄り地点、および移動終了地点を判定するステップと、
前記ユーザに関連付いた移動履歴を表すデータを取得するステップと、
前記移動履歴、前記移動開始地点、前記立寄り地点、前記移動終了地点のうちの１つまたは複数に基づいて移動オフセット距離を判定するステップと、
モバイルコンピュータに関連付いたデバイスデータを収集するステップと、
前記モバイルコンピュータに関連付いた移動モビリティデータを生成するステップであって、前記移動モビリティデータは、前記移動開始地点、前記移動終了地点、前記立寄り地点、前記移動オフセット距離、前記装置データのうちの１つ又は複数を含む、ステップと、
前記移動モビリティデータに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに含む、
請求項１に記載の方法。
【請求項１０】
請求項１から９のいずれかに記載の方法をコンピュータに実行させるプログラム。
【請求項１１】
プロセッサと、メモリと、を含むシステムであって、
前記メモリには、前記システムに、
ユーザに関連付いた識別入力データを取得するステップと、
前記識別入力データを用いてユーザを識別するステップと、
センサデータを受信するステップと、
前記センサデータに基づいて、予め定義された状況データおよび関連するパラメータによって表された、１つまたは複数の予め定義された状況から、前記ユーザに関連付いた現在の状況を判定するステップと、
候補アイテムのセットを表すデータを取得するステップと、
前記現在の状況と、前記ユーザに関連付いたユーザ有効性モデルとに基づいて、前記候補アイテムのセットに対応する有効性スコアのセットを生成するステップと、
前記候補アイテムのセットから１つまたは複数の候補アイテムを除去し、１つまたは複数の残りの候補アイテムを取得するステップと、
前記１つまたは複数の残りの候補アイテムに関連付いた１つまたは複数の有効性スコアに基づいて、前記１つまたは複数の残りの候補アイテムをランク付けするステップと、
前記１つまたは複数のランク付けされた残りの候補アイテムから、１つまたは複数の推奨アイテムを前記ユーザに対して提供するステップと、
を、実行させる命令が記憶されている、システム。
【請求項１２】
前記命令は、前記システムに、
ステークホルダによって定義されたステークホルダ有効性データを受信するステップと、
前記現在の状況および前記ステークホルダ有効性データのうちの１つまたは複数に基づいて前記ユーザ有効性モデルを生成するステップと、
前記ステークホルダ有効性データに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに実行させる、
請求項１１に記載のシステム。
【請求項１３】
前記命令は、前記システムに、
モバイルコンピュータに関連付いたデバイスデータを収集するステップと、
前記モバイルコンピュータ向けに構成された、１つまたは複数のスコアリングの好ましさを表すデバイスバイアスデータを判定するステップと、
前記デバイスデータおよび前記デバイスバイアスデータに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに実行させる、
請求項１１に記載のシステム。
【請求項１４】
前記命令は、前記システムに、
前記現在の状況に基づいて、充足されるべき１つ又は複数の状況制約を表す状況バイアスモデルを判定するステップと、
前記現在の状況および前記状況バイアスモデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに実行させる、
請求項１１に記載のシステム。
【請求項１５】
前記命令は、前記システムに、
前記ユーザに関連付いた履歴ユーザ有効性モデルが存在していると判定するステップと、
前記現在の状況および前記履歴ユーザ有効性モデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに実行させる、
請求項１１に記載のシステム。
【請求項１６】
前記命令は、前記システムに、
前記ユーザに関連付いたグループ有効性モデルを取得するステップと、
前記現在の状況および前記グループ有効性モデルに基づいて前記ユーザ有効性モデルを生成するステップと、をさらに実行させる、
請求項１１に記載のシステム。
【請求項１７】
前記命令は、前記システムに、
前記ユーザに関連付いたユーザプロファイルデータを取得するステップと、
前記ユーザに関連付いたユーザソーシャルデータを取得するステップと、
前記ユーザプロファイルデータおよび前記ユーザソーシャルデータに基づいて、前記ユーザに関連付いたユーザ属性データを生成するステップと、
前記ユーザ属性データおよび前記現在の状況のうちの１つまたは複数に基づいて前記ユーザ有効性モデルを生成するステップと、
前記ユーザ属性データに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに実行させる、
請求項１１に記載のシステム。
【請求項１８】
前記命令は、前記システムに、
前記ユーザが消費した１つまたは複数のアイテムを識別するステップと、
前記１つまたは複数の消費されたアイテムの、１つまたは複数の親和性状態を識別するステップと、
前記１つまたは複数の消費されたアイテムに関連付いたアイテムソーシャルデータを取得するステップと、
前記１つまたは複数の親和性状態および前記アイテムソーシャルデータに基づいて、前記１または複数の消費されたアイテムに関連付いたアイテム属性データを生成するステップと、
前記１つまたは複数の消費されたアイテムを、１つまたは複数のグループに分類するステップと、
前記１つまたは複数のグループを識別する１つまたは複数のグループ識別子を判定するステップと、
前記アイテム属性データ、前記現在の状況、前記１つまたは複数のグループ識別子、のうちの１つまたは複数に基づいて、前記ユーザ有効性モデルを生成するステップと、をさらに実行させる、
請求項１１に記載のシステム。
【請求項１９】
前記命令は、前記システムに、
前記センサデータに基づいて、移動に関連付いた移動開始地点、立寄り地点、および移
動終了地点を判定するステップと、
前記ユーザに関連付いた移動履歴を表すデータを取得するステップと、
前記移動履歴、前記移動開始地点、前記立寄り地点、前記移動終了地点のうちの１つまたは複数に基づいて移動オフセット距離を判定するステップと、
モバイルコンピュータに関連付いたデバイスデータを収集するステップと、
前記モバイルコンピュータに関連付いた移動モビリティデータを生成するステップであって、前記移動モビリティデータは、前記移動開始地点、前記移動終了地点、前記立寄り地点、前記移動オフセット距離、前記装置データのうちの１つ又は複数を含む、ステップと、
前記移動モビリティデータに更に基づいて前記有効性スコアのセットを生成するステップと、をさらに実行させる、
請求項１１に記載のシステム。
【国際調査報告】
2016541054.tif 000026
2016541054.tif 000027
2016541054.tif 000028