(57)【要約】  ユーザーに対する推薦を生成するために使用される明示的宣言をユーザーが提供することを可能にする方法、システム、およびコンピュータープログラム製品が提供される。明示的宣言は、ユーザーデバイスのユーザーから受信される。明示的宣言は、後続の推薦に影響を与えるように構成される。明示的宣言の単語は、記録を生成するように処理される。推薦ルールは、生成された記録に基づいて生成される。推薦ルールは、ユーザーに対する推薦を生成するように実行される。生成された推薦は、ユーザーに提供される。
2017513115.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーデバイスにおける方法であって、
明示的宣言(explicit declaration)を前記ユーザーデバイスのユーザーから受信するステップであって、前記明示的宣言は、後続の推薦(subsequent recommendation)に影響を与えるように構成される、ステップと、
前記明示的宣言を処理して記録を生成するステップと、
前記生成された記録に基づいて推薦ルールを生成するステップと、
前記ユーザーに対する推薦を生成するために前記推薦ルールを実行するステップと
を備える方法。
【請求項２】
前記明示的宣言を処理して記録を生成する前記ステップは、
前記明示的宣言の一連の単語に関して自然言語処理を実行して、１つまたは複数の重要な特徴(key features)を抽出するステップと、
前記抽出された１つまたは複数の重要な特徴を含むように前記記録を生成するステップと
を備える、請求項１に記載の方法。
【請求項３】
実行する前記ステップは、
前記推薦ルールを１つまたは複数の環境的トリガー(environmental triggers)と一致させるステップと、
前記ユーザーに対する前記推薦を生成すること、または前記ユーザーに対する前記推薦の後続の生成に対する追加のデータを収集する(collecting)ことのうちの少なくとも１つを実行するために前記一致した推薦ルールを実行するステップと
を備える、請求項１に記載の方法。
【請求項４】
前記１つまたは複数の環境的トリガーは、時間、位置、人物、アプリケーションもしくはサービス、データに対する前記ユーザーからの要求、または推薦に対する前記ユーザーによる要求のうちの少なくとも１つを含む、請求項３に記載の方法。
【請求項５】
前記ユーザーに対する推薦を生成するために前記推薦ルールを実行する前記ステップは、
クエリーを発行して、クエリー結果を生成するステップを備え、
前記方法は、
前記クエリー結果の少なくとも一部を前記推薦において前記ユーザーに提供するステップをさらに備える、請求項１に記載の方法。
【請求項６】
前記明示的宣言は、人物(person)から提供される推薦を含み、前記方法は、
前記人物によって提供される前記推薦に対する前記ユーザーによる反応、前記人物によって提供される前記推薦を前記ユーザーが実行または好むことの少なくとも１つによって示される前記ユーザーによる積極的な反応、および前記人物によって提供される前記推薦を前記ユーザーが実行しないことまたは嫌いであると示すことの少なくとも１つによって示される前記ユーザーによる積極的な反応に基づいて、前記人物の状態を、前記ユーザーに対するインフルエンサー(influencer)として調節するステップをさらに備える、請求項１に記載の方法。
【請求項７】
前記明示的宣言に対応して前記ユーザーとの質疑応答セッションを開始するステップをさらに備える、請求項１に記載の方法。
【請求項８】
少なくとも１つのコンピューティングデバイスにおいて実行される推薦システムであって、
明示的宣言を、コンピューティングデバイスのユーザーから発話(speech)の形式で受信するように構成された音声入力インターフェースであって、前記明示的宣言は一連の単語を含み、後続の推薦に影響を与えるように構成される、音声入力インターフェースと、
１つまたは複数のプロセッサー回路と、
前記１つまたは複数のプロセッサー回路にアクセス可能な１つまたは複数のメモリーであって、前記１つまたは複数のメモリーは、前記１つまたは複数のプロセッサー回路による実行のためのプログラムコードを記憶し、前記プログラムコードは、
前記明示的宣言の前記一連の単語を処理して記録を生成するように構成された発話処理モジュールと、
前記生成された記録に基づいて推薦ルールを生成するように構成されたルールジェネレーターであって、前記推薦ルールは論理的表現を含む、ルールジェネレーターと、
前記ユーザーに対する推薦を生成するために前記推薦ルールを実行するように構成された推薦エンジンと、
前記生成された推薦を前記ユーザーに提供するように構成された出力インターフェースとを含む、１つまたは複数のメモリーと
を備える推薦システム。
【請求項９】
前記発話処理モジュールは、
前記明示的宣言の前記一連の単語に関して自然言語処理を実行して、１つまたは複数の重要な特徴を抽出し、
前記抽出された１つまたは複数の重要な特徴を含むように前記記録を生成する
ように構成される、請求項８に記載の推薦システム。
【請求項１０】
前記推薦エンジンは、
前記推薦ルールを１つまたは複数の環境的トリガーと一致させ、
前記ユーザーに対する前記推薦を生成すること、または前記ユーザーに対する前記推薦の後続の生成に対する追加のデータを収集することのうちの少なくとも１つを実行するために前記一致した推薦ルールを実行する
ように構成される、請求項８に記載の推薦システム。
【請求項１１】
前記１つまたは複数の環境的トリガーは、時間、位置、人物、アプリケーションもしくはサービス、データに対する前記ユーザーからの要求、または推薦に対する前記ユーザーによる要求のうちの少なくとも１つを含む、請求項１０に記載の推薦システム。
【請求項１２】
前記音声入力インターフェース、前記発話処理モジュール、前記ルールジェネレーター、および前記推薦エンジンは、前記ユーザーのユーザーデバイスに位置する、請求項８に記載の推薦システム。
【請求項１３】
前記ルールジェネレーターまたは前記推薦エンジンのうちの少なくとも１つは、前記ユーザーが前記明示的宣言を提供したユーザーデバイスとは別個のサーバーに少なくとも部分的に位置する、請求項８に記載の推薦システム。
【請求項１４】
コンピュータープログラム論理が記録されたコンピューター可読媒体を備えるコンピュータープログラム製品であって、プロセッサーに請求項１乃至７のいずれか一項に記載の方法を実行させることを可能にするコンピュータープログラム論理を備える、コンピュータープログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明の一実施例は、例えば、ユーザーの明示宣言に基づく個別化された推薦に関する。
【背景技術】
【０００２】
[0001]コンピューターの分野の中で、種々の信号に基づいて個人に関する情報を推論し、改良されたサービスおよび個別化されたコンテンツを個人に提供するためにそのような情報を使用することができる多くのシステムが存在する。例えば、電子商取引のウェブサイトは、個人の前の購入から得られた推論に基づいて、個人に関心のある製品を推薦することができる。別の例として、検索エンジンは、ユーザーに関してなされた推論に基づいて、検索結果およびユーザーに対する関連するコンテンツを個別化することができる。従来から、検索エンジンは、そのような推論を、ユーザーのクエリー、クリック、ビューから、および時にはデータマイニングソーシャルネットワークによって導出する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本願発明の一実施例は、例えば、ユーザーの明示宣言に基づく個別化された推薦に関する。
【課題を解決するための手段】
【０００４】
[0002]この概要は、概念の選択を、発明を実施するための形態において以下でさらに説明される簡易的な形式で導入するために提供される。この概要は、特許請求される主題の重要な特徴または必須の特徴を特定することを意図してなく、特許請求される主題の範囲を限定するために使用されることも意図していない。
【０００５】
[0003]ユーザーが、ユーザーに対する推薦を個別化するために使用される明示的宣言を提供することを可能にする、方法、システム、およびコンピュータープログラム製品が提供される。そのような明示的宣言は、ユーザーが誰であるか、およびユーザーが実際に何を見ることを望んでいるかに関する情報を提供する。ユーザーは、明示的宣言が後続の推薦に影響を与えるのに使用されることになることを示す方式で明示的宣言を話し、またはそうでない場合、明示的宣言を提供することができる。推薦は、ユーザーが明示的宣言を提供した後直ちに生成され、ユーザーに提供されてもよく、または推薦は、後に提供されてもよい。推薦は、時間、ユーザーの位置、ユーザーと共にいる１人もしくは複数の人物、ユーザーの活動、データに対するユーザーからの要求、推薦に対するユーザーからの要求、および／または別のトリガーに基づいて、ユーザーに提供されるようにトリガーされてもよい。
【０００６】
[0004]１つの例示的な実装形態では、明示的宣言は、デバイスのユーザーから受信される。明示的宣言は、後続の推薦に影響を与えるようにユーザーによって構成される。明示的宣言の単語は、記録を生成するように処理される。推薦ルールは、生成された記録に基づいて生成される。推薦ルールは、ユーザーに対して推薦を生成するように実行される。生成された推薦は、ユーザーに提供される。
【０００７】
[0005]例えば、１つの態様では、自然言語処理は、１つまたは複数の重要な特徴を抽出するために、明示的宣言の一連の単語に関して実行されてもよい。記録は、抽出された重要な特徴を含むように生成されてもよい。抽出された重要な特徴は、明示的宣言に対応する推薦ルールを生成するために使用されてもよい。
【０００８】
[0006]態様では、ルールと環境的トリガーとの間で一致が存在するかが判定されてもよい。環境的トリガーの例は、現在時刻、未来の時刻、ユーザーの現在位置、ユーザーの未来の位置、ユーザーと共にいる人物、ユーザーの活動、アプリケーションまたはサービス、データに対するユーザーからの要求、推薦に対するユーザーからの要求などを含む。一致が存在するとき、ユーザーに対する推薦を生成するように一致した推薦ルールが実行される。
【０００９】
[0007]別の実装形態では、１つまたは複数のコンピューティングデバイスで実装される推薦システムが提供される。推薦システムは、音声入力インターフェース、発話処理モジュール、ルールジェネレーター、および推薦エンジンを含む。音声入力インターフェースは、明示的宣言をコンピューティングデバイスのユーザーから受信するように構成される。明示的宣言は、一連の単語を含み、後続の推薦に影響を与えるように構成される。発話処理モジュールは、明示的宣言の一連の単語を処理して記録を生成するように構成される。ルールジェネレーターは、生成された記録に基づいて推薦ルールを生成するように構成される。推薦エンジンは、ユーザーに対する推薦を生成するために推薦ルールを実行するように構成される。
【００１０】
[0008]本明細書で説明される実施形態に従って、ユーザーが、明示的宣言を提供し、明示的宣言に少なくとも部分的に基づいて、ユーザーに対して推薦を生成させることを可能にする、そこに記憶されたコンピュータープログラム命令を有するコンピューター可読記憶媒体がまた本明細書で開示される。
【００１１】
[0009]本発明の種々の実施形態の構造および動作と共に、本発明のさらなる特徴および利点が、添付図面を参照して以下で詳細に説明される。本明細書で説明される特定の実施形態に本発明が限定されないことに留意されたい。そのような実施形態は、例示のみを目的として本明細書で提示される。追加の実施形態が、本明細書に含まれる教示に基づいて、当業者にとって明らかであろう。
【００１２】
[0010]本明細書に組み込まれ、明細書の一部を形成する添付図面は、本出願の実施形態を示し、説明と共に、実施形態の原理を説明し、当業者が実施形態を作成および使用することを可能にする役割をさらに果たす。
【図面の簡単な説明】
【００１３】
【図１】[0011]例示的な一実施形態に従った、明示的信号対応推薦システムを含むユーザーデバイスが１つもしくは複数のサーバーおよび／または他のユーザーデバイスと通信して、情報を交換するシステムのブロック図を示す。
【図２】[0012]例示的な一実施形態に従った、明示的宣言に基づいてユーザーに対する推薦を生成する処理を提供するフローチャートを示す。
【図３】[0013]一実施形態に従った、図２のフローチャートの例示的な一実装形態を提供するフローチャートを示す。
【図４】[0014]例示的な一実施形態に従った、任意選択でサーバーと通信して、明示的宣言に基づいてユーザーに対する推薦を生成するユーザーデバイスのブロック図を示す。
【図５】[0015]例示的な一実施形態に従った、受信された明示的宣言を処理して記録を生成するための処理を提供するフローチャートを示す。
【図６】[0016]例示的な一実施形態に従った、受信された明示的宣言を処理して記録およびルールを生成するために使用されるシステムのブロック図を示す。
【図７】[0017]例示的な一実施形態に従った、ユーザーに対する推薦を生成するために推薦ルールを実行するための処理を提供するフローチャートを示す。
【図８】[0018]例示的な一実施形態に従った、推薦ルールを受信して、ユーザーに対する推薦を生成する推薦エンジンのブロック図を示す。
【図９】[0019]実施形態が実装されてもよい例示的なユーザーデバイスのブロック図を示す。
【図１０】[0020]実施形態を実装するために使用されてもよい例示的なコンピューティングデバイスのブロック図を示す。
【発明を実施するための形態】
【００１４】
[0021]本発明の特徴および利点が、図面と併用されるときに以下で示される詳細な説明からより明らかとなり、図面では、全体を通じて同一の参照符号が対応する要素を特定する。図面では、同一の参照番号は概して、同一、機能的類似、および／または構造的類似の要素を示す。要素が最初に現れる図面は、対応する参照番号における最も左の桁によって示される。
【００１５】
１．導入
[0022]本明細書および添付図面は、本発明の特徴を組み込んだ１つまたは複数の実施形態を開示する。本発明の範囲は、開示される実施形態に限定されない。開示される実施形態は、本発明を例示するに過ぎず、開示される実施形態の変形バージョンがまた、本発明に包含される。本発明の実施形態は、以下に添付される特許請求の範囲によって定義される。
【００１６】
[0023]明細書における「１つの実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」、「一実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」、「例示的な一実施形態（ａｎ  ｅｘａｍｐｌｅ  ｅｍｂｏｄｉｍｅｎｔ）」などへの参照は、説明される実施形態が特定の特徴、構造、または特性を含んでもよいが、あらゆる実施形態が必ずしも特定の特徴、構造、または特性を含まなくてもよいことを示す。さらに、そのようなフレーズは必ずしも同一の実施形態を指すわけではない。さらに、特定の特徴、構造、または特性が一実施形態に関連して説明されるとき、それは、明示的に説明されるか否かに関わらず、他の実施形態に関連してそのような特徴、構造、または特性をもたらすのは当業者の知識内であると考えられる。
【００１７】
[0024]多数の例示的な実施形態が以下のように説明される。本明細書で提供される任意のセクション／サブセクションの表題は、限定すると意図されないことに留意されたい。この文書の全体を通じて実施形態が説明され、任意のタイプの実施形態が、任意のセクション／サブセクションの下に含まれてもよい。さらに、任意のセクション／サブセクションで開示される実施形態は、同一のセクション／サブセクションおよび／または異なるセクション／サブセクションで説明される任意の他の実施形態と任意の方式で組み合わされてもよい。
【００１８】
[0025]本明細書で説明される実施形態は、明示的宣言に基づいて、個別化された推薦がユーザーに対して生成されることを可能にする。ユーザーは、明示的宣言をコンピューティングデバイス（「ユーザーデバイス」とも称される）に話し、またはその他の方法で、明示的宣言を提供してもよい（例えば、テキスト入力などによって）。例えば、ユーザーデバイスは、デジタルパーソナルアシスタントまたは本明細書で開示されるような明示的宣言を処理するように構成された他のエンティティーを含んでもよい。明示的宣言は、明示的宣言を提供したユーザーに対してなされることになる後続の推薦に影響を与えるように構成される。そのような明示的宣言は、ユーザーがユーザーのデバイスをルーチン方式で使用している間に、「リアルタイム」でユーザーによってなされる。そのような明示的宣言のリアルタイムの提供は、１つまたは複数の質問および／または選択が、回答するためにユーザーに投稿されてもよいトレーニングルーチンと区別される。一方で、明示的宣言は、ユーザーデバイスによって促すことなくユーザーによって提供される。
【００１９】
[0026]明示的宣言は、物事の評価もしくはレビュー（例えば、「Ｒｅｍｅｍｂｅｒ  ｔｈａｔ  Ｉ  ｒｅａｌｌｙ  ｄｉｄｎ’ｔ  ｌｉｋｅ  ｔｈｅ  ｆｏｏｄ  ａｔ  ｔｈｅ  Ｂａｊａ  Ｂｅａｃｈ  Ｈｏｕｓｅ」）を提供してもよく、ユーザーにとって関心のある（もしくは、関心のない）物事を特定してもよく、および／または後続の推薦に影響を与えることによって後続の推薦を個別化するのに使用されることをユーザーが望み得る他の情報を提供してもよい。
【００２０】
[0027]一実施形態では、明示的宣言をなすとき、ユーザーは、デジタルパーソナルアシスタント識別子／名を有する明示的宣言（例えば、「Ａｓｓｉｓｔａｎｔ，ｒｅｍｅｍｂｅｒ  ｔｈａｔ…」）を開始することによってなど、明示的宣言をユーザーデバイスに話してもよい。この方式では、ユーザーデバイスは、明示的宣言が提供されていると認識することができる。しかしながら、これは全ての実施形態では要求されない。別の実施形態では、ユーザーデバイスは、明示的宣言がデジタルパーソナルアシスタントに話されない場合でさえ、明示的宣言をユーザーから受信するように構成されてもよい。例えば、ユーザーが、ユーザーデバイスによって立ち聞きされる友人への発言をなしてもよく、ユーザーデバイスは、発言を明示的宣言として認識および処理してもよい。そのような一実施形態では、ユーザーは、ユーザーデバイスがこの方式で明示的宣言を聞きおよび処理することが可能となるように、「オプトイン」することが要求されることがある。
【００２１】
[0028]例えば、ユーザーは、「Ｒｅｍｅｍｂｅｒ  ｔｈａｔ  Ｓｏｐｈｉｅ  ｓａｙｓ  Ｉ  ｓｈｏｕｌｄ  ｔｒｙ  Ｔｈａｉ  Ｔｏｍ  ｒｅｓｔａｕｒａｎｔ」（すなわち、物事に関して別の人物から受信された推薦を思い出すことを推薦システムに命じる）、「Ｒｅｍｅｍｂｅｒ  ｔｈａｔ  Ｉ  ｗｏｕｌｄ  ｌｉｋｅ  ｔｏ  ｃｈｅｃｋ  ｏｕｔ  ａ  Ｌｏｎｄｏｎ  ｍｕｓｅｕｍ  ｓｏｍｅｔｉｍｅ」（例えば、ユーザーの自身の観察または思考に基づいて物事に関してユーザーに思い出させることを推薦システムに命じる）、などを述べることによってなど、推薦システムが後続のアプリケーションに対しそれを思い出すべきであることを示す単語を有する明示的宣言を検索エンジンに提供してもよい。
【００２２】
[0029]したがって、１つまたは複数の明示的宣言は、ユーザーから受信されてもよく、ルール、またはユーザーに対する推薦を生成するように処理することができる他の形式に変換されてもよい。例えば、時間、ユーザーの位置、ユーザーと共にいる１人もしくは複数の人物の存在、および／またはユーザーの活動などの１つまたは複数の環境的トリガーが発生してもよい。特定の環境的トリガーの発生は、対応する推薦を生成させ、ユーザーに提供させることができる。
【００２３】
[0030]推薦は、任意の適切な環境で、明示的宣言に基づいてユーザーに提供されてもよい。例えば、図１は、例示的な一実施形態に従った、通信システム１００のブロック図を示す。システム１００では、ユーザーは、明示的宣言を提供し、それに基づいて推薦を受信するために第１のユーザーデバイス１０２と対話してもよい。図１に示されるように、システム１００は、第１のユーザーデバイス１０２、バックエンドサーバー１０４、第１のサーバー１０６ａ、第２のサーバー１０６ｂ、および第２のユーザーデバイス１０８を含む。さらに、第１のユーザーデバイス１０２は、ユーザーインターフェース１２２、および明示的信号対応推薦システム１１４を含むオンデバイスパーソナル電子アシスタント１１２を含む。またさらに、バックエンドサーバー１０４は、ネットワークベースアシスタントサービス１２０を含み、第１のサーバー１０６ａは、第三者サービス１１６を含み、第２のサーバー１０６ｂは、第三者サービス１１８を含む。システム１００の特徴が以下のように説明される。
【００２４】
[0031]第１のユーザーデバイス１０２および第２のユーザーデバイス１０８は各々、モバイルコンピューターもしくはモバイルコンピューティングデバイス（例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｓｕｒｆａｃｅ（登録商標）デバイス、携帯情報端末（ＰＤＡ）、ラップトップコンピューター、ノートブックコンピューター、Ａｐｐｌｅ  ｉＰａｄ（登録商標）などのタブレットコンピューター、ネットブックなど）、モバイル電話（例えば、携帯電話、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）フォン、Ａｐｐｌｅ  ｉＰｈｏｎｅs（登録商標）、Ｇｏｏｇｌｅ（登録商標）Ａｎｄｒｏｉｄ（商標）オペレーティングシステムを実装した電話、Ｐａｌｍ（登録商標）デバイス、Ｂｌａｃｋｂｅｒｒｙ（登録商標）デバイスなどのスマートフォン）、ウェアラブルコンピューティングデバイス（例えば、スマートウォッチ、Ｇｏｏｇｌｅ（登録商標）Ｇｌａｓｓ（商標）などのスマートグラスを含むヘッドマウンティングデバイス）、もしくは他のタイプのモバイルデバイス（例えば、自動車）、またはデスクトップコンピューターもしくはＰＣ（パーソナルコンピューター）などの静止式コンピューティングデバイスを含む、任意のタイプのステーショナリーまたはモバイルコンピューティングデバイスであってもよい。またさらに、第１のユーザーデバイス１０２および第２のユーザーデバイス１０８は各々、ポータブルメディアプレイヤー、ステーショナリーもしくはハンドヘルドゲームコンソール、パーソナルナビゲーションアシスタント、カメラ、または他のタイプのステーショナリーもしくはモバイルデバイスであってもよい。第１および第２のユーザーデバイス１０２および１０８が図１に示されるが、他の実施形態では、数１０，数１００、数１０００、および数１００万のユーザーデバイスを含む、他の数のユーザーデバイスがシステム１００に存在してもよい。
【００２５】
[0032]バックエンドサーバー１０４、第１のサーバー１０６ａ、および第２のサーバー１０６ｂは各々、情報を供給することが可能な１つまたは複数のコンピューティングデバイスから形成されてもよい。図１に示されるよりも少ない数、または多い数のサーバーが、実施形態においてシステム１００に存在してもよい。
【００２６】
[0033]ユーザーデバイス１０２および１０８、ならびにサーバー１０４、１０６ａ、および１０６ｂの各々は、ネットワーク１１０上で通信を可能にするネットワークインターフェースを含んでもよい。そのようなネットワークインターフェースは、任意のタイプのネットワークインターフェース（例えば、ネットワークインターフェースカード（ＮＩＣ））、ＩＥＥＥ８０２．１１無線ＬＡＮ（ＷＬＡＮ）無線インターフェース、Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ（Ｗｉ−ＭＡＸ）インターフェース、イーサネット（登録商標）インターフェース、ユニバーサルシリアルバス（ＵＳＢ）インターフェース、セルラーネットワークインターフェース、Ｂｌｕｅｔｏｏｔｈ（商標）インターフェース、近接場通信（ＮＦＣ）インターフェースなどの有線または無線のうちの１つまたは複数を含んでもよい。ネットワークインターフェースのさらなる例は、本明細書において他で説明される。ネットワーク１１０の例は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、および／またはインターネットなどの通信ネットワークの組合せを含む。
【００２７】
[0034]ユーザーインターフェース１２２は、ユーザーが質問、コマンド、または他の口頭および／もしくは非口頭入力を提示することを可能にし、そのような入力に対する応答をユーザーに配信する。１つの実施形態では、入力は、ユーザーデバイス１０２の１つまたは複数のマイクロフォンによって捕捉されるユーザー発話を備えてもよいが、この例は、限定することと意図されず、ユーザー入力は、他の方法でも提供されてもよい（例えば、テキストなど）。電子パーソナルアシスタント１１２によって生成された応答は、ユーザーデバイス１０２のディスプレイ上でユーザーインターフェース１２２によって示される（例えば、グラフィカルユーザーインターフェース内で）テキスト、画像、または他のビジュアルコンテンツの形式で、ユーザーに可視的とされてもよい。応答はまた、ユーザーデバイス１０２の１つもしくは複数のスピーカーを介して再生されるコンピューター生成発話または他の音声コンテンツを備えてもよい。またさらに応答（ビジュアルコンテンツおよび／または音声コンテンツ）はまた、物理的にユーザーデバイス１０２とは別個であるが、ユーザーデバイス１０２と通信可能に結合された（例えば、ＷｉＦｉまたはＷＬＡＮインターフェース、ＵＳＢインターフェース、セルラーネットワークインターフェース、Ｂｌｕｅｔｏｏｔｈ（商標）インターフェース、近接場通信（ＮＦＣ）インターフェース、ＭｉｒｒｏｒＬｉｎｋ（商標）インターフェース、Ｍｉｒａｃａｓｔ（商標）インターフェースなどによって）ディスプレイ、１つもしくは複数のスピーカー、および／または他のユーザーインターフェース出力デバイスを介してユーザーに提供されてもよい。
【００２８】
[0035]電子パーソナルアシスタント１１２は、ユーザーがユーザーデバイス１０２のユーザーインターフェース１２２を通じて対話することができるアプリケーション（例えば、ユーザーデバイス１０２のプロセッサーで実行される１つまたは複数のコンピュータープログラム）である。電子パーソナルアシスタント１１２は、タスクおよび／またはサービスを実行する要求など、ユーザーによって提供される要求を処理することによって、全体的な支援をユーザーに提供するように構成される。例えば、実施形態では、電子パーソナルアシスタント１１２は、質問に回答し、推薦を作成し、および／または行動を実行するように構成されてもよい。
【００２９】
[0036]電子パーソナルアシスタント１１２は、ユーザーデバイス１０２に完全に含まれてもよく、または要求を処理し、および／もしくはウェブサービスの組に対して要求を委譲するネットワーク／クラウドベースバックエンドをさらに含んでもよい。そのようなバックエンドサービスの例は、ネットワークベースアシスタントサービス１２０としてバックエンドサーバー１０４に含まれるとして示される。ネットワークベースアシスタントサービス１２０は、オンデバイス電子パーソナルアシスタント１１２およびネットワークベースアシスタントサービス１２０の両方を含む電子パーソナルアシスタントサービスのバックエンド部分であってもよい。ネットワークベースアシスタントサービス１２０は、ユーザーに支援を提供することに関して処理／推論が実行されることをさらに可能にしてもよい。さらに、ネットワークベースアシスタントサービス１２０は、第１のサーバー１０６ａにおける第三者サービス１１６および第２のサーバー１０６ｂにおける第三者サービス１１８など、１つまたは複数のサービスにおけるサービスと対話して、情報を読み出し、情報処理を委譲するなどしてもよく、情報は、ユーザーに支援を提供するよう電子パーソナルアシスタント１１２を支援するために使用されてもよい。代わりに、電子パーソナルアシスタント１１２は、第三者サービス１１６および１１８などのサービスに直接アクセスしてもよい（図１において破線矢印によって示されるように）。
【００３０】
[0037]このように、電子パーソナルアシスタント１１２（ネットワークベースアシスタントサービス１２０を有し、または有さない）は、全体的なユーザー支援を提供するように構成された電子パーソナルアシスタント、検索エンジン、または他のシステムであってもよい。電子パーソナルアシスタント１１２に適用可能な商業的に利用可能な検索エンジンの例は、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｂｉｎｇ（商標）（ｈｔｔｐ：／／ｗｗｗ．ｂｉｎｇ．ｃｏｍにおいて）およびＧｏｏｇｌｅ（商標）（ｈｔｔｐ：／／ｗｗｗ．ｇｏｏｇｌｅ．ｃｏｍにおいて）を含む。電子パーソナルアシスタント１１２に適用可能な商業的に利用可能な電子パーソナルアシスタントの例は、Ｃｕｐｅｒｔｉｎｏ、ＣａｌｉｆｏｒｎｉａのＡｐｐｌｅ  Ｉｎｃ．によって開発されたＳｉｒｉ（登録商標）、およびＭｏｕｎｔａｉｎ  Ｖｉｅｗ、Ｃａｌｉｆｏｒｎｉａの開発されたＧｏｏｇｌｅ  Ｎｏｗ（商標）を含む。
【００３１】
[0038]実施形態では、電子パーソナルアシスタント１１２は、位置認識などの特徴およびオンラインソース（天気または交通状況、ニュース、株価、ユーザースケジュール、小売価格など）を含む様々なソースからの情報にアクセスする能力に基づくと共に、ユーザー入力に基づいて、ユーザー要求を処理してもよい。ユーザーの代わりに電子パーソナルアシスタント１１２によって実行されてもよいタスクの例は、ユーザー指定の人物に電話をかけること、ユーザー指定のアプリケーションを開始すること、ユーザー指定の電子メールもしくはテキストメッセージをユーザー指定の受信者に送信すること、ユーザー指定の音楽を再生すること、ユーザーカレンダー上でミーティングもしくは他のイベントをスケジューリングすること、ユーザー指定の位置に対する方向を取得すること、ユーザー指定のスポーツイベントと関連付けられたスコアを取得すること、ユーザー指定のコンテンツをソーシャルメディアウェブサイトもしくはマイクロブログ投稿サービスに投稿すること、ユーザー指定のリマインダーもしくは注記を記録すること、天気レポートを取得すること、現在時刻を取得すること、ユーザー指定の時間にアラームを設定すること、ユーザー指定の会社に対する株価を取得すること、近くの商業施設を発見すること、またはインターネット検索を実行すること、などを含んでもよいが、それらに限定されない。電子パーソナルアシスタント１１２は、ユーザーとの継続した対話を通じて、時間と共にその性能を改善するために様々な人工知能技術のいずれかを使用してもよい。いくつかの実施形態では、電子パーソナルアシスタント１１２はまた、検索エンジン、デジタルパーソナルアシスタント、インテリジェントパーソナルアシスタント、インテリジェントソフトウェアアシスタント、または仮想パーソナルアシスタントなどと称されてもよい。
【００３２】
[0039]図１に示されるように、電子パーソナルアシスタント１１２は、明示的信号対応推薦システム１１４を含む。明示的信号対応推薦システム１１４は、電子パーソナルアシスタント１１２が、明示的宣言をユーザーから受信し、明示的宣言に部分的に基づいているユーザーに対する推薦を生成することを可能にする。
【００３３】
[0040]一実施形態では、明示的信号対応推薦システム１１４の一部は、バックエンドサーバー１０４におけるネットワークベースアシスタントサービス１２０に含まれてもよいことに留意されたい。このように、ネットワークベースアシスタントサービス１２０はさらに、明示的宣言に関して推論が実行され、ユーザーに対する推薦を生成するために使用されることを可能にしてもよい。例えば、ネットワークベースアシスタントサービス１２０は、ユーザーデバイス１０２に対して増大した処理／コンピューティング能力を提供することができ、検索エンジン能力を提供することができ、ユーザー（例えば、第三者サービス１１６および／もしくは１１８のうちの１つもしくは両方における）に対するソーシャルネットワーク情報もしくは他のプロファイル情報を維持もしくはこれにアクセスすることによって、ならびに／または他の機能性を提供することによって、ユーザーの増大した理解を提供することができる。
【００３４】
[0041]例えば、サーバー１０６ａにおける第三者サービス１１６が、任意選択で存在してもよく、第三者サービス１１６は、ユーザーに対するソーシャルネットワークプロファイルを含むソーシャルネットワーク情報を維持するソーシャルネットワークであってもよい。電子パーソナルアシスタント１１２および／またはネットワークベースアシスタントサービス１２０は、ネットワーク１１０を通じてソーシャルネットワークプロファイル情報にアクセスしてもよい。ソーシャルネットワーク情報は、明示的宣言に加えて、ユーザーに対する推薦を生成するために、電子パーソナルアシスタント１１２および／またはネットワークベースアシスタントサービス１２０によって使用されてもよい。
【００３５】
[0042]サーバー１０６ａにおける第三者サービス１１８がまた、任意選択で存在してもよく（さらに第三者任意選択サービスと共に）、第三者サービス１１８は、ユーザーに対する推薦を生成するのを支援するために電子パーソナルアシスタント１１２および／またはネットワークベースアシスタントサービス１２０によって明示的宣言１２４と共に使用されてもよい情報を生成および／または記憶してもよい。例えば、第三者サービス１１８は、ユーザープロファイル情報を維持し、推薦を作成し、および／またはユーザーに関する関連情報を記憶もしくは生成するレストラン推薦サービス、トラベル推薦ウェブサイト、製品推薦ウェブサイト、または他のサイトもしくはサービスであってもよい。
【００３６】
[0043]一実施形態では、明示的信号対応推薦システム１１４は、図２に従って動作してもよい。図２は、例示的な一実施形態に従った、明示的宣言に基づいてユーザーに対する推薦を生成するためのユーザーデバイスにおける処理を提供するフローチャート２００を示す。フローチャート２００は、図１に関して以下のように説明される。さらなる構造的および動作的な実施形態が、以下の説明に基づいて当業者にとって明らかになるであろう。
【００３７】
[0044]フローチャート２００は、ステップ２０２で開始する。ステップ２０２では、明示的宣言がユーザーデバイスのユーザーから受信される。例えば、図１を参照して、ユーザーは、ユーザーインターフェース１２２と対話することによって、明示的宣言１２４を明示的信号対応推薦システム１１４に提供することを可能にされてもよい。ユーザーは、ユーザーインターフェース１２２のマイクロフォンに話して、明示的宣言１２４を提供してもよく、または明示的宣言１２４をテキストで、もしくは別の方式で提供してもよい。明示的宣言１２４は、一連の単語として、または別の方式で提供されてもよく、後続の推薦に影響を与えることの意図と共にユーザーによって提供される。明示的宣言１２４は、ユーザーインターフェース１２２を通じて明示的信号対応推薦システム１１４によって受信される。
【００３８】
[0045]例えば、明示的宣言１２４の１つの例示的な例は、ユーザーは、「Ａｓｓｉｓｔａｎｔ，ｒｅｍｉｎｄ  ｍｅ  ｔｏ  ｃｈｅｃｋ  ｏｕｔ  ｔｈｅ  Ｓｏｈｏ  ｎｅｉｇｈｂｏｒｈｏｏｄ  ｓｏｍｅｔｉｍｅ．」と言ってもよい。この明示的宣言を通じて、ユーザーは、この例ではユーザーによって「Ａｓｓｉｓｔａｎｔ」として話される、電子パーソナルアシスタント１１２に対するユーザーの意図を示して、Ｓｏｈｏの近隣（Ｓｏｈｏ  ｎｅｉｇｈｂｏｒｈｏｏｄ）に関する未来の推薦をユーザーに提供する。アシスタント（Ａｓｓｉｓｔａｎｔ）に向けられた単語「ｒｅｍｉｎｄ  ｍｅ」、「ｒｅｍｅｍｂｅｒ」または同様の単語は、未来の推薦に対するこの明示的宣言を記録するためにＡｓｓｉｓｔａｎｔに対するユーザーの意図を示す。
【００３９】
[0046]ステップ２０４では、明示的宣言に部分的に基づいてユーザーに対して推薦が生成される。電子パーソナルアシスタント１１２の明示的信号対応推薦システム１１４（任意選択で、ネットワークベースアシスタントサービス１２０と共に）は、明示的宣言１２４に少なくとも基づいて、ユーザーに対する推薦を生成するように構成される。推薦はさらに、１つまたは複数の環境的トリガーと共に、ユーザーに関する推論情報、ユーザーに関するユーザープロファイル情報に基づいて、および／またはユーザーに関連する他の情報に基づいて生成されてもよい。図１に示されるように、ユーザーインターフェース１２２は、明示的信号対応推薦システム１１４によって生成された推薦１２６をユーザーに提供してもよい。推薦１２６は、ユーザーインターフェース１２２の１つもしくは複数のスピーカーから再生される発話もしくは他の音声の形式で提供されてもよく、ユーザーインターフェース１２２においてテキストとして表示されてもよく、またはユーザーインターフェース１２２によって別の方式でユーザーに提供されてもよい。
【００４０】
[0047]上記例示的な例を続けると、推薦１２６は、ユーザーに対し「Ｈｅｌｌｏ  Ｓｏｐｈｉｅ，ｙｏｕ  ａｒｅ  ｎｏｗ  ｎｅａｒ  ｔｈｅ  Ｓｏｈｏ  ｎｅｉｇｈｂｏｒｈｏｏｄ  ｔｈａｔ  ｙｏｕ  ｗａｎｔｅｄ  ｔｏ  ｃｈｅｃｋ  ｏｕｔ  −  ｙｏｕ  ｓｈｏｕｌｄ  ｔｒｙ  Ｍｅｘｉｃａｎ  ｆｏｏｄ  ａｔ  Ｌａ  Ｅｓｑｕｉｎａ．」として再生されてもよい。別の例では、推薦１２６は、
Ｈｅｌｌｏ  Ｓｏｐｈｉｅ！
Ｙｏｕ  ｗａｎｔｅｄ  ｔｏ  ｃｈｅｃｋ  ｏｕｔ  Ｓｏｈｏ，ｗｈｉｃｈ  ｉｓ  ｎｅａｒｂｙ．Ｈｅｒｅ  ａｒｅ  ｓｏｍｅ  Ｓｏｈｏ  ｒｅｓｔａｕｒａｎｔｓ  ｔｏ  ｔｒｙ：
−  Ｌａ  Ｅｓｑｕｉｎａ
−  Ｄｏｓ  Ｃａｍｉｎｏｓ  Ｓｏｈｏ
などの表示されたリストとしてユーザーに提供されてもよい。そのような例では、ユーザーが、レストランの位置（および、任意選択で、レストランへの経路）において表示されることになるリスト化された推薦されたレストランを選択することを可能にされてもよい。
【００４１】
[0048]これらの例示的な推薦では、Ａｓｓｉｓｔａｎｔは、ユーザーによってＡｓｓｉｓｔａｎｔに提供される明示的宣言に少なくとも基づいて、Ｓｏｈｏの近隣におけるレストランを試みるようユーザー（この例では「Ｓｏｐｈｉｅ」）に推薦を示している。この推薦は、ユーザーの位置（例えば、Ｓｏｈｏの近隣の近くにいる）、時間（例えば、食事時間の近くにある）など、１つまたは複数の環境的トリガーに基づいてトリガーされていてもよい。１つの例では、ユーザーがＳｏｈｏの近隣の近くにいたと判定されると、検索エンジンクエリーは、Ｓｏｈｏの近隣において推薦するようレストランに対してトリガーされていてもよい。したがって、一実施形態では、推薦の生成は、推薦に含まれることになる１つまたは複数の項目を生成するようにクエリーを発行することを含んでもよい。１つまたは複数のレストランが推薦されることをもたらす検索クエリーは、Ｓｏｈｏのアトラクション（例えば、「Ｓｏｈｏ  ｔｏｕｒｉｓｔ  ａｔｔｒａｃｔｉｏｎｓ」）に対する複数の単語クエリー、Ｓｏｈｏのレストランに対するクエリー（例えば、「Ｓｏｈｏ  ｒｅｓｔａｕｒａｎｔｓ」）、Ｓｏｐｈｉｅのプロファイル（「Ｓｏｈｏ  Ｍｅｘｉｃａｎ  ｒｅｓｔａｕｒａｎｔｓ」）に基づく彼女によるお気に入りのタイプのレストランに対するクエリーであるなど、任意の適切な形式を有していてもよい。
【００４２】
[0049]図１の実施形態では、推薦１２６は、明示的宣言１２４が提供された同一のユーザーデバイス（ユーザーデバイス１０２）によってユーザーに提供されることに留意されたい。別の実施形態では、推薦１２６は、明示的宣言１２４が提供されたデバイスとは異なるデバイスによってユーザーに提供されてもよいことに留意されたい。
【００４３】
[0050]したがって、実施形態では、ユーザーは、明示的宣言を提供することを可能にされてもよく、後続の推薦は、明示的宣言に少なくとも部分的に基づいて、ユーザーに対して生成されてもよい。これらの実施形態およびさらなる実施形態のさらなる詳細は、以下のセクションにおいて提供される。例えば、このセクションに続くセクション２は、明示的宣言を提供し、推薦を生成するための例示的な方法およびシステムを説明する。セクション３は、本明細書で説明される実施形態を実装するために使用されてもよい例示的なモバイルおよびデスクトップコンピューティングデバイスを説明する。セクション４は、いくつかの結論を提供する。
【００４４】
２．明示的宣言を提供し、推薦を生成するための例示的な実施形態
[0051]上記説明されたように、明示的信号対応推薦システム１１４は、明示的宣言が提供されること、および推薦を生成することを可能にするように種々の方法で構成されてもよい。例えば、図３は、一実施形態に従った、明示的宣言に基づいて推薦を生成する処理を提供するフローチャート３００を示す。明示的信号対応推薦システム１１４は、一実施形態においてフローチャート３００に従って動作してもよい。フローチャート３００は、図４に関して以下のように説明される。図４は、例示的な一実施形態に従った、明示的宣言に基づいてユーザーに対する推薦を生成するように構成された図１のユーザーデバイス１０２およびサーバー１０４のブロック図を示す。図４に示されるように、ユーザーデバイス１０２は、明示的信号対応推薦システム（ＲＳ）４３２を含むオンデバイスアシスタントサービス１１２を含む。明示的信号対応ＲＳ４３２は、明示的信号対応ＲＳ１１４の例である。明示的信号対応ＲＳ４３２は、発話処理モジュール４０４、ルールジェネレーター４０６、推薦エンジン４０８、およびＵＩ（ユーザーインターフェース）４３０を含む。サーバー１０４は、明示的信号対応ＲＳ４３４を含むネットワークベースアシスタントサービス１２０を含む。明示的信号対応ＲＳ４３４は、ルールジェネレーター４１２および推薦エンジン４１４を含む。
【００４５】
[0052]サーバー１０４における明示的信号対応ＲＳ４３４およびユーザーデバイス１０２の明示的信号対応ＲＳ４３２は、組み合わされた明示的信号対応ＲＳを形成してもよく、または相互に別個であってもよい。明示的信号対応ＲＳ４３４および明示的信号対応ＲＳ４３２は、両方が全ての実施形態に存在する必要はない。
【００４６】
[0053]１つの実施形態では、フローチャート３００は全体的に、ユーザーデバイス１０２で実行されてもよいことに留意されたい。別の実施形態では、ユーザーデバイス１０２およびサーバー１０４は各々、フローチャート３００の一部を実行してもよい。さらなる構造的および動作的実施形態が、以下の説明に基づいて、関連する分野における当業者にとって明らかになるであろう。
【００４７】
[0054]図３のフローチャート３００は、ステップ３０２で開始する。ステップ３０２では、明示的宣言がユーザーデバイスのユーザーから受信され、明示的宣言は、後続の推薦に影響を与えるように構成される。図４を参照して、ユーザーは、ＵＩ４３０によって提供される音声入力インターフェース４０２と対話することによって、明示的宣言４１６を明示的信号対応ＲＳ４３２に提供することを可能にされてもよい。ＵＩ４３０は、図１のユーザーインターフェース１２２の例であり、一実施形態では、音声入力インターフェース４０２は、発話の形式で明示的宣言４１６を受信するように構成されたマイクロフォンおよび回路を含む。別の実施形態では、ＵＩ４３０は、別の形式で明示的宣言４１６を受信するために、テキスト入力インターフェース、プッシュボタン（例えば、物理および／もしくは仮想ボタン）、ならびに／または他のインターフェースを含むことができる非音声入力インターフェース４３６を含んでもよい。明示的宣言４１６は、一連の単語として、または他の形式で提供されてもよく、後続の推薦に影響を与えることの意図と共にユーザーによって提供される。明示的宣言４１６は、発話処理モジュール４０４によって、一連の単語４１８として、ＵＩ４３０の音声入力インターフェース４０２から受信されてもよい。一連の単語４１８は、記録された発話の形式、または話された単語を提供する他の形式で提供されてもよい。代わりに、明示的宣言４１６は、発話処理モジュール４０４によって、ＵＩ４３０の非音声インターフェース４３６から非口頭宣言インジケーション４３８として受信されてもよい。非口頭宣言インジケーション４３８は、明示的宣言４１６が非音声インターフェース４３６によってユーザーからどのように受信されるかに応じて、テキスト、ボタン選択により示されるデータの形式、または他の形式で提供されてもよい。
【００４８】
[0055]ステップ３０４では、明示的宣言は、記録を生成するように処理される。例えば、一実施形態では、発話処理モジュール４０４は、一連の単語４１８を処理して記録４２０を生成するように構成される。記録４２０は、明示的宣言４１６を表し、任意選択で、記憶装置（図４には示されない）に記憶されてもよい。例えば、記録４２０は、一連の単語４１８、明示的宣言４１６が受信された時間、明示的宣言４１６が受信された位置、および一連の単語４１８を処理することによって発話処理モジュール４０４によって生成されたいずれかの情報（例えば、一連の単語４１８において識別された位置、一連の単語４１８において識別された人物、一連の単語４１８において識別された時間、一連の単語４１８において識別されたコンテキスト、および／または一連の単語４１８において識別された類似性）のコンテンツのうちの１つまたは複数を含んでもよい。一連の単語４１８は、自然言語処理、機械学習、人工知能、および／または明示的宣言４１６の意味を導出するための他の処理を実行または適用することと共に、重要な特徴抽出を実行するために一連の単語４１８を構文解析することによって、発話認識を使用すること（提供された明示的宣言４１６が発話の形式で提供される場合）を含む任意の方式で処理されてもよい。
【００４９】
[0056]例えば、一実施形態では、ステップ３０４は、図５に従って実行されてもよい。図５は、例示的な一実施形態に従った、受信された明示的宣言を処理して記録を生成するためのフローチャート５００を示す。例示を目的に、フローチャート５００は、図６を参照して説明される。図６は、例示的な一実施形態に従った、記憶装置６０４と関連した発話処理モジュール４０４およびルールジェネレーター６０２のブロック図を示す。さらなる構造的および動作的実施形態が、以下の説明に基づいて、関連する分野における当業者にとって明らかになるであろう。
【００５０】
[0057]フローチャート５００は、ステップ５０２で開始する。ステップ５０２では、自然言語処理が明示的宣言の一連の単語に関して実行されて、１つまたは複数の重要な特徴を抽出する。例えば、図６に示されるように、発話処理モジュール４０４は任意選択で、データコンバーター６２０を含む。データコンバーター６２０は、非口頭宣言インジケーション４３８（存在するとき）を受信するように構成される。上記説明されたように、非口頭宣言インジケーション４３８は、テキストの形式で提供された明示的宣言を、ボタン選択によって示され、または別の形式によって示されるデータとして示してもよい。データコンバーター６２０は、非口頭宣言インジケーション４３８を、変換された非口頭宣言６２２としてデータコンバーター６２０によって出力される、１つまたは複数の単語（例えば、一連の単語４１８に類似した）に変換するように構成されてもよい。このようにして、ボタン押下などの形式で提供される明示的宣言明示的宣言は、意味のために発話処理モジュール４０４によって処理することができる単語に変換されてもよい。例えば、検索結果文字列、別の人物によって提供される推薦などがそれに続く「Ｒｅｍｅｍｂｅｒ  ｔｈａｔ」とラベル付けされた（または、同様にラベル付けされた）ボタン、データコンバーター６２０は、検索結果文字列、推薦テキスト、などと組み合わされた単語「Ｒｅｍｅｍｂｅｒ  ｔｈａｔ」（または他のラベル）を含む文字列を含むように、変換された非口頭宣言６２２を生成してもよい。
【００５１】
[0058]非口頭宣言インジケーション４３８が、ユーザーからテキストの形式で受信された（例えば、テキスト入力ボックスにタイプされた、またはそうでなければ、ユーザーからテキストとして受信された）明示的宣言を示すとき、データコンバーター６２０が必要でないことがある（および、非口頭宣言インジケーション４３８が下記に説明されるように処理のために自然言語処理モジュール６０６に提供されてもよい）ことに留意されたい。
【００５２】
[0059]ユーザーによって提供されてもよく、非口頭宣言インジケーション４３８で受信されてもよい非口頭明示的宣言の例は、ユーザーがどこで物理または仮想ボタンをクリックして明示的宣言を提供したか（例えば、エンティティー上でＦａｃｅｂｏｏｋ（登録商標）の「いいね！」ボタンをクリックし、ｗｗｗ．ｙｅｌｐ．ｃｏｍにおけるＹｅｌｐ！（登録商標）などのレストランレビューウェブサイト上でレストランを高く評価し、何かを好みとして示すなどによって）のインジケーションを含む。そのようなケースでは、クリックまたはボタン押下と関連付けられたメタデータは、非口頭宣言インジケーション４３８で提供されてもよい。例示的なケースでは、ユーザーは、別の人物によって推薦が提供されてもよく、ユーザーは、ＵＩ４３０と対話して、推薦を受け付けてもよい。例えば、Ｓｏｐｈｉｅは、推薦をＡｎｎａと共有してもよく、Ａｎｎａは、推薦をメッセージ（例えば、電子メール、テキストメッセージ、インスタントメッセージ、ソーシャルネットワークメッセージなど）でＳｏｐｈｉｅから受信してもよい。Ａｎｎａは、ＵＩ４３０によって、単に単語「ａｃｃｅｐｔ」と言うこと、または「ａｃｃｅｐｔ」とラベル付けされた仮想ボタンを押下して、彼女が自身のアシスタント（例えば、オンデバイスアシスタントサービス１１２）を望む彼女の明示的宣言を提供して、Ｓｏｐｈｉｅからの推薦を思い出すことを可能にされてもよい。別の実施形態では、Ａｎｎａのアシスタントは、それがＡｎｎａの代わりにＳｏｐｈｉｅから受信されるとき、Ｓｏｐｈｉｅの推薦などを静かに受け付けることを可能にされてもよい。例えば、Ａｎｎａのアシスタントは、Ａｎｎａから受信されたメッセージにおいて推薦を検出してもよい。Ａｎｎａのアシスタントによる静かな受け付けは、ＡｎｎａがＳｏｐｈｉｅを信頼する可能性があり、ＡｎｎａがＳｏｐｈｉｅの推薦を自動的に受け付けることを望むことをＡｎｎａが積極的に示した（例えば、ＵＩ４３０において）ことの前の結論に基づいて可能にされてもよい。
【００５３】
[0060]さらに、発話処理モジュール４０４は、一連の単語４１８に関して（および／または、変換された非口頭宣言６２２に関して）自然言語処理（ＮＬＰ）を実行するように構成された自然言語処理モジュール６０６を含んでもよい。一実施形態では、自然言語処理は、構文解析ツリーを生成すること、単語意味曖昧除去を実行すること、命名されたエンティティー認識を実行すること、自然言語理解を実行することなど、のうちの１つまたは複数によって、一連の単語４１８および／または変換された非口頭宣言６２２から重要な特徴を抽出してもよい。位置単語（または「トークン」）などの重要な特徴、人物関連単語、時間関連単語、類似性を表現する単語、および／またはコンテキスト関連単語などの重要な特徴がそれらから抽出されてもよい。
【００５４】
[0061]例えば、一実施形態では、ＮＬＰモジュール６０６は、一連の単語４１８および／または変換された非口頭宣言６２２に関して構文解析を実行して、下記表１にリスト化された重要な特徴タイプのうちの１つまたは複数でカテゴリー化された１つまたは複数の単語を抽出してもよい。
【００５５】
【表１】
2017513115.tif 000003
【００５６】
表１では、各列が特定の特徴タイプカテゴリーである、位置、時間、人物、コンテキスト、および類似性に向けられる。さらに、各特徴タイプカテゴリーは、その包括的でない例が表１の対応する列に示される１つまたは複数のサブカテゴリーを有してもよい。
【００５７】
[0062]よって、ＮＬＰモジュール６０６は、一連の単語４１８および／または変換された非口頭宣言６２２のうちの１つまたは複数の単語を、これらのおよび／または他の特徴タイプカテゴリーにカテゴリー化してもよい。このカテゴリー化は、一連の単語４１８および／または変換された非口頭宣言６２２の自然言語理解を実行するために、ＮＬＰモジュール６０６によって使用されてもよい。しかしながら、表１のカテゴリーは、例示を目的に提供され、および限定を意図していないことに留意されたい。ＮＬＰモジュール６０６は、単語を、任意のタイプの、表１で提供されるそれらのカテゴリーを含むカテゴリー、ならびに／または他に、関連する分野における当業者にとって既知であり、および／もしくは明らかであることがある任意の他のカテゴリーにカテゴリー化してもよい。任意の特定の単語または一連の単語は、ＮＬＰモジュール６０６によって、単一のカテゴリー、または複数のカテゴリーを含む任意の数のカテゴリーにカテゴリー化されてもよい。実施形態では、推薦は、任意の数のカテゴリーにカテゴリー化された単語／データに基づいて形成されてもよい。
【００５８】
[0063]図５を再度参照して、ステップ５０４では、記録は、抽出された１つまたは複数の重要な特徴を含むように生成される。例えば、図６に示されるように、発話処理モジュール４０４は、受信された明示的宣言に対応する記録４２０を生成する。図６に示されるように、記録４２０は、ユーザー記録ログ６１０における記録装置６０４に新たな記録６１４ｎとして記憶されてもよい。一連の単語４１８および／または変換された非口頭宣言６２２の自然言語理解を示す情報は、記録４２０（図４）に関して上記説明された情報を含む抽出された重要な特徴と共に新たな記録６１４ａに記憶されてもよい。ユーザー記録ログ６１０は、ユーザーによって提供された明示的宣言に基づいて生成された記録のログである。図６に示されるように、ユーザーは、ユーザーから受信された明示的宣言の数「ｎ」に対応して、記録６１４ａ〜６１４ｎをユーザー記録ログ６１０に記憶させてもよい。ルールジェネレーター６０２に関して以下でさらに説明されるように、１つまたは複数のルールは、ユーザーに対する推薦を生成するために使用されることになる記録６１４ａ〜６１４ｎの各々に基づいて生成されてもよい。
【００５９】
[0064]フローチャート５００の１つの例示的な例では、Ａｎｎａと命名された第１の人物（ユーザー）は、友人Ｓｏｐｈｉｅ（第２の人物）と話していることがある。Ｓｏｐｈｉｅは、Ａｎｎａが試すべきと彼女が言う素晴らしい新たなレストラン（「Ｔｈａｉ  Ｔｏｍ」）についてＡｎｎａに対し言及することがある。Ａｎｎａは、彼女のスマートフォン（例えば、ユーザーデバイス１０２）を引き出し、彼女の電子パーソナルアシスタントを活性化し、「Ａｓｓｉｓｔａｎｔ、ｒｅｍｅｍｂｅｒ  ｔｈａｔ  Ｓｏｐｈｉｅ  ｓａｙｓ  Ｉ  ｓｈｏｕｌｄ  ｔｒｙ  Ｔｈａｉ  Ｔｏｍ．」と言うことがある。電子パーソナルアシスタントは、「Ｇｏｔ  ｉｔ」と応答してもよく、または明示的宣言を受信する別の確認を提供してもよい。
【００６０】
[0065]したがって、発話処理モジュール４０４のＮＬＰモジュール６０６は、この受信された明示的宣言の自然言語処理を実行して、「ｒｅｍｅｍｂｅｒ」（この発言を未来の推薦に対する明示的宣言として使用するためのアシスタントに対する意図のインジケーション）、第２の人物としての「Ｓｏｐｈｉｅ」、Ｓｏｐｈｉｅが推薦をユーザーに提供したことを示すものとしての「Ｉ  ｓｈｏｕｌｄ  ｔｒｙ」、およびＳｏｐｈｉｅが試みるべき推薦された位置としての「Ｔｈａｉ  Ｔｏｍ」などの重要な特徴を構文解析してもよい。この情報は、任意の方式で、記録６１４ｎなどの記録において示されてもよい。例えば、記録６１４ｎは、重要な特徴のカテゴリー名および重要な特徴の値に対応する属性および値と共にデータ構造として記憶されてもよく、本明細書で他に言及された明示的宣言に関する任意の追加の情報を記憶してもよい。
【００６１】
[0066]図４を再度参照して、発話処理モジュール４０４がユーザーデバイス１０２に位置していると示されるが、別の実施形態では、受信された明示的宣言のいくつかまたは全ての発話処理が、代わりに、サーバー１０４において実行されてもよいことに留意されたい。
【００６２】
[0067]図３におけるフローチャート３００を再度参照して、ステップ３０６では、生成された記録に基づいて推薦ルールが生成される。例えば、図４に示されるように、特定の実装形態に応じて、ルールジェネレーター４０６および推薦エンジン４０８は、明示的信号対応ＲＳ４３２（ユーザーデバイス１０２）に含まれてもよく、ルールジェネレーター４１２および推薦エンジン４１４は、明示的信号対応ＲＳ４３４（サーバー１０４）に含まれてもよい。例えば、ユーザーデバイス１０２が十分な処理能力を有し、適切なデータリソースにアクセスする場合、ルールジェネレーター４０６および推薦エンジン４０８は、記録を処理して、明示的宣言の記録に基づいてルールおよび推薦を生成してもよい、別の実施形態では、サーバー１０４においてルールジェネレーター４１２および推薦エンジン４１４を使用して、明示的宣言の記録に基づいてルールおよび／または推薦を生成することが望まれることがあり、なぜならば、より高い処理能力がサーバー１０４において利用可能であることがあり、所望のデータリソースがサーバー１０４においてより容易にアクセス可能であることがあり、および／または他の理由があるからである。実施形態では、ルールジェネレーター４０６、推薦エンジン４０８、ルールジェネレーター４１２、および推薦エンジン４１４の任意の組合せが、本明細書で説明されるようなルールおよび／または推薦を生成するために使用されてもよい。
【００６３】
[0068]特定の実施形態に応じて、ルールジェネレーター４０６および／またはルールジェネレーター４１２は、記録４２０を受信してもよい。ルールジェネレーター４０６および／またはルールジェネレーター４１２は、記録４２０に基づいて、１つまたは複数の推薦ルールを生成するように構成されてもよい。各推薦ルールは、対応する推薦がいつ提供されるか、およびどのように提供されるかを定義する。推薦ルールは、任意の所望のフォーマットを有してもよい、例えば、ルールジェネレーター４０６および／またはルールジェネレーター４１２は、ＯＲ、ＸＯＲ、ＡＮＤ、ＥＬＳＥ、ＮＯＴ、ＩＦ−ＴＨＥＮなどの演算子を使用して論理ベースのルールを生成してもよく、ならびに／または他のフォーマットで推薦ルールを生成してもよい。図４に示されるように、ルールジェネレーター４０６（ユーザーデバイス１０２）は、記録４２０に基づいて推薦ルール４２２を生成してもよく、ルールジェネレーター４１２（サーバー１０４）は、記録４２０に基づいて推薦ルール４２６を生成してもよい。
【００６４】
[0069]例示を目的として、ルールジェネレーター４０６およびルールジェネレーター４１２が図６に関してさらに詳細に説明される。図６は、ルールジェネレーター４０６およびルールジェネレーター４１２の例示的な一実施形態であるルールジェネレーター６０２を示す。ルールジェネレーター６０２は、記録４２０に基づいて、１つまたは複数の推薦ルールを生成するように構成される。図６に示されるように、一実施形態では、ルールジェネレーター６０２は論理文ジェネレーター６０８を含んでもよい。論理文ジェネレーター６０８は、記録４２０を受信し、ＩＦ−ＴＨＥＮルールなどの論理演算子に基づいて、１つまたは複数の対応するルール（例えば、論理的表現または発言）を生成するように構成される。例示を目的としてＩＦ−ＴＨＥＮルールが以下のように例として示されるが、実施形態では、任意のフォーマットのルールが使用されてもよい。各ＩＦ−ＴＨＥＮルールは、ＩＦ＜第１の論理的表現＞ＴＨＥＮ＜第２の論理的表現＞のフォーマットを有する。第１の論理的表現は、ルールに一致するための条件を定義し、第２の論理的表現は、第１の論理的表現に従ってルールが一致するときにどの行動が実行されるかを定義する。
【００６５】
[0070]図６に示されるように、論理文ジェネレーター６０８は、生成されたルールを記憶装置６０４に記憶するように構成される。例えば、論理文ジェネレーター６０８は、記録４１２に対応する新たなルール６１６ｍを記憶装置６０４に記憶する。ユーザーに対して生成されたルールは、ユーザーに対応するユーザールールログ６１２に記憶されてもよい。図６に示されるように、ユーザールールログ６１２は、第１〜第ｍのルール６１６ａ〜６１６ｍを含む。第１〜第ｍのルール６１６ａ〜６１６ｍは、記録６１４ａ〜６１４ｎの各々に対応する１つまたは複数のルールを含んでもよい。
【００６６】
[0071]Ｓｏｐｈｉｅが「Ｔｈａｉ  Ｔｏｍ」の推薦をＡｎｎａに提供する上記例を参照して、論理文ジェネレーター６０８は、以下の推薦ルール、
ＩＦ＜ｕｓｅｒ  ｒｅｑｕｅｓｔｓ  ｒｅｓｔａｕｒａｎｔ＞ＴＨＥＮ＜ｒｅｃｏｍｍｅｎｄ  ｒｅｓｔａｕｒａｎｔ“Ｔｈａｉ  Ｔｏｍ”＞
を生成してもよい。
【００６７】
この例では、Ａｎｎａがレストランを彼女に推薦することを彼女のデジタルパーソナルアシスタントに依頼する場合、上記ＩＦ論理文が一致する。したがって、レストラン「Ｔｈａｉ  Ｔｏｍ」の推薦がＴＨＥＮ論理文ごとに彼女に提供される。
【００６８】
[0072]任意の複合度のＩＦ−ＴＨＥＮ文が論理文ジェネレーター６０８によって生成されてもよく、それによって、第１の論理文が、満たされることになる２つ以上の条件を有することができ、第２の論理文が、２つ以上の推薦行動を提供することができることに留意されたい。例えば、Ｓｏｐｈｉｅが「Ｔｈａｉ  Ｔｏｍ」の推薦をＡｎｎａに提供する上記例を参照して、Ａｎｎａは、彼女の現在位置の１６．０９ｋｍ（１０マイル）以内の推薦されているレストランのみに対し、ユーザープロファイルモデル６１８で示される選好を有することがある。したがって、論理文ジェネレーター６０８は、以下の推薦ルール
ＩＦ＜ｕｓｅｒ  ｒｅｑｕｅｓｔｓ  ｒｅｓｔａｕｒａｎｔ  ＡＮＤ  ｒｅｓｔａｕｒａｎｔ“Ｔｈａｉ  Ｔｏｍ”ｉｓ  ｗｉｔｈｉｎ  １０  ｍｉｌｅｓ  ｏｆ  ｃｕｒｒｅｎｔ  ｌｏｃａｔｉｏｎ＞ＴＨＥＮ＜ｒｅｃｏｍｍｅｎｄ  ｒｅｓｔａｕｒａｎｔ“Ｔｈａｉ  Ｔｏｍ”＞
を生成してもよい。
【００６９】
この例では、Ａｎｎａがレストランを彼女に推薦することを彼女のデジタルパーソナルアシスタントに依頼し、Ａｎｎａがレストラン「Ｔｈａｉ  Ｔｏｍ」の１６．０９ｋｍ（１０マイル）以内に位置している場合（ＧＰＳモジュールなどのユーザーデバイス１０２の位置判定子によって判定されるように）、レストラン「Ｔｈａｉ  Ｔｏｍ」の推薦が彼女に提供される。そうでない場合、Ａｎｎａには推薦が提供されない。
【００７０】
[0073]記憶装置６０４に記憶されて示されるユーザープロファイルモデル６１８が、ユーザー（彼女のレストランの距離の選好を含む）と関連付けられた個人データの集合を含むことに留意されたい。各ユーザーは、対応するユーザープロファイルモデルを有してもよい。ユーザープロファイルモデル６１８は、ユーザーの名前および年齢、興味、スキルおよび知識、選好、嫌いなものなどの、ユーザーを説明した情報を示してもよい。ユーザープロファイルモデル６１８に含まれる情報は、ユーザーによって（例えば、トレーニングによって）積極的に提供されてもよく、またはウェブサイトに訪れる際のユーザーの振る舞いを追跡することによって、ページと対話することによって、他のユーザーと対話することによってなど、黙示的に判定されてもよい。ユーザーは、ユーザーに対して維持されているユーザープロファイルモデル６１８のいくつかまたは全ての態様を有することをオプトインおよびオプトアウトすることを可能にされてもよい。ユーザープロファイルモデル６１８は静的または動的であってもよい。ユーザープロファイルモデル６１８は、ユーザーに対し、ソーシャルネットワーク情報（例えば、友人、家族のメンバー、リンクされたエンティティーなどのインジケーション）を組み込んでもよい。
【００７１】
[0074]ユーザープロファイルモデル６１８は、任意のフォーマットで記憶および／または表されてもよい。一実施形態では、ユーザープロファイルモデル６１８は、ユーザーに対するグラフとして表されてもよい。グラフのノードは、ユーザーがそれと関係（例えば、人物、場所、目的など）を有するエンティティーを表してもよく、各ノードは、ユーザーとの関係の強さを示す重み（例えば、好まれ、または嫌われた）を有してもよい。重み付けられたラインは、異なるノード間の関係の強さを示すノード間でつながれてもよい。代わりに、ユーザープロファイルモデル６１８は、他の方法で表されてもよい。
【００７２】
[0075]記憶装置６０４（および、存在するとき、ユーザープロファイルモデル６１８）は、ユーザーデバイス１０２、バックエンドサーバー１０４、もしくは別のサーバー（例えば、サーバー１０６ａ、サーバー１０６ｂなど）に位置してもよく、または複数のデバイスおよび／もしくはサーバーに渡って分散されてもよい。記憶装置６０４は、磁気ディスク（例えば、ハードディスクドライブ内）、光ディスク（例えば、光ディスクドライブ内）、磁気テープ（例えば、テープドライブ内）、ＲＡＭデバイス、ＲＯＭデバイスなどのメモリーデバイス、および／または任意の他の適切なタイプの記憶媒体／デバイスを含む、データを記憶するための任意のタイプの記憶媒体／デバイスのうちの１つまたは複数を含んでもよい。
【００７３】
[0076]図３におけるフローチャート３００を再度参照して、ステップ３０８では、ユーザーに対する推薦を生成するために推薦ルールが実行される。例えば、図４に示されるように、推薦エンジン４０８（ユーザーデバイス１０２）は、推薦ルール４２２をルールジェネレーター４０６から受信してもよく、および／または推薦エンジン４１４（サーバー１０４）は、ルールジェネレーター４１２によって生成された推薦ルール４２６を受信してもよい。推薦エンジン４０８および／または推薦エンジン４１４は、推薦ルール４２２および／または４２６を実行して、推薦をユーザーに提供してもよい。
【００７４】
[0077]例えば、推薦エンジン４０８（ユーザーデバイス１０２）が推薦ルール４２２を実行するとき、推薦エンジン４０８は、推薦４２４を生成してもよい。推薦４２４は、ＵＩ４３０に提供されて、ＵＩ４３０の出力インターフェース４３０によって、提供される推薦４２６としてユーザーに提供される。出力インターフェース４３０は、提供される推薦４２６を、発話もしくは他の音声の形式で再生するスピーカーであってもよく、提供される推薦４２６を、テキストもしくはグラフィックスの形式で表示するグラフィカルユーザーインターフェース（ＧＵＩ）であってもよく、または提供される推薦４２６をユーザーに提供するために使用される別の形式を有してもよい。
【００７５】
[0078]代わりに、推薦エンジン４１４（サーバー１０４）が推薦ルール４２６を実行するとき、推薦エンジン４１４は、ユーザーデバイス１０２に送信される推薦４２８を生成してもよい。推薦４２８は、出力インターフェース４１０に、推薦エンジン４０８によって、推薦４２４として提供されて、提供される推薦４２６としてユーザーに提供されてもよく、またはユーザーに別の方式で提供されてもよい。
【００７６】
[0079]推薦エンジン４０８および／または推薦エンジン４１４は、ステップ３０８において任意の方式で推薦ルールを実行してもよい。例えば、図７は、例示的な一実施形態に従った、ユーザーに対する推薦を生成するために推薦ルールを実行するための処理を提供するフローチャート７００を示す。例示を目的として、フローチャート７００が、図８を参照して説明される。図８は、例示的な一実施形態に従った、推薦ルールを受信してユーザーに対する推薦を生成する推薦エンジン８０２のブロック図を示す。推薦エンジン８０２は、推薦エンジン４０８および推薦エンジン４１４の例である。さらなる構造的および動作的実施形態が、以下の説明に基づいて、関連する分野における当業者にとって明らかになるであろう。
【００７７】
[0080]フローチャート７００は、ステップ７０２で開始する。ステップ７０２では、推薦ルールが１つまたは複数の環境的トリガーに一致する。例えば、推薦エンジン８０２は、１つまたは複数の環境的トリガー８０４を受信してもよい。環境的トリガー８０４は、現在時刻、未来の時刻、現在位置、未来の位置（例えば、予想され、または既知の／計画された未来の位置）、ユーザーと現在共にいる人物、未来ユーザーと共にいることになる人物（例えば、未来の時刻および／または位置においてユーザーと共にいると予想され、もしくは既知／計画された人物）、ユーザーの活動、アプリケーションまたはサービスから受信された信号、ユーザーが推薦を望むことのユーザーによるインジケーションなどのうちの１つまたは複数を含んでもよい。アプリケーションまたはサービスは、ユーザーデバイス１０２上に存在してもよく、またはリモートであってもよい（例えば、第２のユーザーデバイス１０８、サーバー１０６ａにおける第三者サービス１１６、サーバー１０６ｂにおける第三者サービス１１８になど）。
【００７８】
[0081]例えば、上記説明されたように、時間、位置、および／または人物は、環境的トリガーであってもよい。１つの例では、ユーザーＡｎｎａは、Ｓｏｐｈｉｅと偶然出会うことがあり、Ｓｏｐｈｉｅの存在は、Ａｎｎａの推薦システムに対する環境的トリガーであってもよい。Ｓｏｐｈｉｅの存在は、Ａｎｎａのユーザーデバイスによって（例えば、Ｓｏｐｈｉｅの自身のモバイルデバイスの位置判定によって、Ｓｏｐｈｉｅの声を検出することによって、Ａｎｎａが「Ｈｉ  Ｓｏｐｈｉｅ」または他の挨拶を言うことを検出されることによって、ＡｎｎａがユーザーデバイスのＵＩ上でインジケーションを提供することによってなど）任意の方式で検出されてもよい。Ｓｏｐｈｉｅの存在は、Ｓｏｐｈｉｅの周囲のＡｎｎａに対する１つまたは複数の推薦をトリガーしてもよい。
【００７９】
[0082]別の例では、ユーザーは、「Ｆｉｎｄ  ｍｅ  ａ  ｒｅｓｔａｕｒａｎｔ  ｆｏｒ  ｎｅｘｔ  Ｓａｔｕｒｄａｙ  ｎｉｇｈｔ．」の発言を提供してもよい。そのような発言は、ユーザーがその時間枠においてシカゴにいることを計画していると推薦システムが認識している場合（例えば、ユーザーのカレンダー、ユーザーによってなされた前の発言などから）シカゴなどの未来の位置が推薦に対する環境的トリガーであると予測するために使用されてもよい。未来の位置および／または未来ユーザーと共にいる人物の予測は、ユーザーの過去のトラベルパターン、カレンダーイベントなどの観察されたプラン、他のアシスタントの対話からの学習されたデータ、または位置自体の固有の特性から判定されてもよい。例えば、「Ａｌｉｎｅａ」が、シカゴのみに存在するレストランであり、ユーザーがＡｌｉｎｅａをレストランとして推薦する場合、レストランＡｌｉｎｅａと関連付けられたメタデータは、位置などの追加の特徴を示すことができる。多くの位置を有するレストランまたは他のビジネス（例えば、「Ｓｔａｒｂｕｃｋｓ（登録商標）」）に対し、予測を改善するために追加の情報（例えば、ユーザーによる他の発言など）が使用されてもよい。
【００８０】
[0083]ステップ７０２に従って、１つまたは複数の示された環境的トリガーがユーザールールログ６１２の推薦ルール６１６ａ〜６１６ｍと比較される。推薦ルール６１６ａ〜６１６ｍのうちの１つまたは複数との一致が発見された場合、１つまたは複数の対応する推薦が実行されてもよい。
【００８１】
[0084]例えば、一実施形態では、環境的トリガー８０４は、推薦ルール６１６ａ〜６１６ｍがＩＦ−ＴＨＥＮ推薦ルールであるときに推薦ルール６１６ａ〜６１６ｍのＩＦ論理文と比較されてもよい。環境的トリガーと一致するＩＦ論理文を有する推薦ルール６１６ａ〜６１６ｍのいずれかが、実行のために選択されてもよい。
【００８２】
[0085]Ｓｏｐｈｉｅが「Ｔｈａｉ  Ｔｏｍ」の推薦をＡｎｎａに提供する上記例を継続して、Ａｎｎａは、授業の後に即時的な遅い夜の食事を探していることがある。このように、Ａｎｎａは、「Ｗｈａｔ’ｓ  ａ  ｇｏｏｄ  ｐｌａｃｅ  ｆｏｒ  ｄｉｎｎｅｒ？」と電子パーソナルアシスタントに依頼することがある。夕食の推薦に対するこの要求は、環境的トリガー８０４として推薦エンジン８０２に提供されてもよい。したがって、推薦エンジン８０２は、レストランの推薦に対する要求の環境的トリガーを、ユーザーに対するユーザールールログ６１２におけるルール６１６ａ〜６１６ｎと一致させることを試みてもよい。推薦エンジン８０２は、以下の推薦ルール
ＩＦ＜ｕｓｅｒ  ｒｅｑｕｅｓｔｓ  ｒｅｓｔａｕｒａｎｔ＞ｔｈｅｎ＜ｒｅｃｏｍｍｅｎｄ  ｒｅｓｔａｕｒａｎｔ“Ｔｈａｉ  Ｔｏｍ”＞
との一致を発見することができる。
【００８３】
この推薦ルールのＩＦ論理文がさらに、一致されるために、位置制約、時間制約などの制約を含んでもよいことに留意されたい。このように、現在時刻、現在位置、および／または他の環境的トリガーは、レストランの推薦要求に従って、ルール６１６ａ〜６１６ｎと一致することになる環境的トリガー８０４において推薦エンジンに提供されてもよい。
【００８４】
[0086]ステップ７０４では、推薦ルールは、ユーザーに対する推薦を生成するために１つまたは複数の環境的トリガーに関して実行される。一実施形態では、図８に示されるように、推薦エンジン８０２がステップ７０２において一致を判定する場合、推薦８０２は、一致する推薦ルールに対応する推薦を、推薦４２４または４２８として提供するように構成される。複数の推薦ルールがステップ７０２において一致すると判定される場合、一致する推薦ルールは、任意の方式で優先付けされてもよく、優先付けによって判定された順序でユーザーに提供されてもよいことに留意されたい。代わりに、まさに最高優先度の推薦がユーザーに提供されてもよい。
【００８５】
[0087]別の実施形態では、ステップ７０４においてユーザーに対する推薦を生成することに加えて、またはその代わりに、推薦ルールは、追加のデータを収集するように構成されたものが実行されてもよいことに留意されたい。よって、ステップ７０４において、ユーザーに推薦を提供するのではなく、推薦ルールは、追加のデータをユーザーおよび／または他のソースから（例えば、別のアプリケーションもしくはサービスなどから）収集するように構成されてもよい。例えば、推薦ルールは、質問をユーザーに提示させてもよい（例えば、「Ｙｏｕ  ａｒｅ  ｎｏｗ  ｉｎ  ｔｈｅ  Ｓｏｈｏ  ｎｅｉｇｈｂｏｒｈｏｏｄ  ｔｈａｔ  ｙｏｕ  ａｓｋｅｄ  ｍｅ  ｔｏ  ｒｅｍｅｍｂｅｒ  ａｎｄ  ｉｔ  ｉｓ  ｔｉｍｅ  ｔｏ  ｅａｔ．Ｗｈａｔ  ｋｉｎｄ  ｏｆ  ｆｏｏｄ  ａｒｅ  ｙｏｕ  ｉｎ  ｔｈｅ  ｍｏｏｄ  ｆｏｒ？」）。質問への回答は、ユーザーが質問に回答した直後、１つまたは複数のさらなる質問が提示された後、および／または他の後のある時に、ユーザーに対する推薦を生成するために使用されてもよい。
【００８６】
[0088]一実施形態では、推薦ルール６１６ａ〜６１６ｍがＩＦ−ＴＨＥＮ推薦ルールであるとき、推薦エンジン８０２は、一致する推薦ルールに対してＴＨＥＮ論理文の行動を実行してもよい。例えば、Ｓｏｐｈｉｅが「Ｔｈａｉ  Ｔｏｍ」の推薦をＡｎｎａに提供する上記例を継続して、推薦エンジン８０２は、対応するＩＦ論理文（ユーザーがレストランを要求する）との一致が発見されたことに起因して、Ａｎｎａにレストラン「Ｔｈａｉ  Ｔｏｍ」を、彼女の質問「ｗｈａｔ’ｓ  ａ  ｇｏｏｄ  ｐｌａｃｅ  ｆｏｒ  ｄｉｎｎｅｒ？」に対する応答での推薦として提供してもよい。
【００８７】
[0089]１つの例では、推薦ルールに対するＴＨＥＮ論理文は、特定のクエリーを検索エンジンなどのクエリー処理エンティティーに提供するための行動などの行動を含んでもよいことに留意されたい。ＳｏｐｈｉｅおよびＡｎｎａの現在の例では、ＴＨＥＮ論理文は、近くのＴｈａｉフードレストランに対するクエリーであってもよい。この方式では、複数の検索結果の推奨が、一致に応答して提供されてもよい。
【００８８】
[0090]別の例では、推薦ルールは、推薦に対する環境的トリガーが未来に発生するとして既知であるときに、推薦の態様をユーザーに思い出させるように構成されてもよい。例えば、人物、Ｂｏｂは、ユーザーに、ユーザーがシカゴにいる次の時の夕食のためにＡｌｉｎｅａレストランをチェックアウトするよう伝えることがある。したがって、ユーザーは、アシスタントに「Ｒｅｍｅｍｂｅｒ  ｔｈａｔ  Ｉ  ｓｈｏｕｌｄ  ｃｈｅｃｋ  ｏｕｔ  ｔｈｅ  Ａｌｉｎｅａ  ｒｅｓｔａｕｒａｎｔ  ｎｅｘｔ  ｔｉｍｅ  Ｉ  ａｍ  ｉｎ  Ｃｈｉｃａｇｏ．」と伝えてもよい。推薦ルールは、レストランＡｌｉｎｅａの予約がブックされるべきことを（例えば、レストランがポピュラーであるとして既知であるから）、シカゴへのユーザーの次の旅行（それは翌月に計画されていてもよい）の計画の間にユーザーに思い出させるように構成されてもよい。旅行に対する計画段階の間に予約をブックすることをユーザーに思い出させることによって、ユーザーが実際に旅行でシカゴに到着するとき、予約が既になされている（それは、予約をなすのに遅すぎない）。
【００８９】
[0091]一実施形態では、複数の推奨が、ユーザーのユーザープロファイルモデル６１８に含まれるユーザーのユーザープロファイル情報に基づいてランク付けされてもよい。例えば、Ｓｏｐｈｉｅがユーザープロファイルモデル６１８において示されるように、Ａｎｎａによって比較的高く評価される場合、推奨されたレストランのリストのトップではないにしても、「Ｔｈａｉ  Ｔｏｍ」のＳｏｐｈｉｅの推薦は、高くランク付けされてもよい。ＳｏｐｈｉｅがＡｎｎａによって高く評価されない場合、「Ｔｈａｉ  Ｔｏｍ」のＳｏｐｈｉｅの推薦は、低くランク付けされてもよく、または推奨されたレストランのリストに全く含まれなくてもよい。
【００９０】
[0092]実施形態では、明示的な行動は、他の黙示的な信号を修正または通知することができることに留意されたい。例えば、Ａｎｎａが上記レストラン「Ｔｈａｉ  Ｔｏｍ」に対するＳｏｐｈｉｅの推薦を実行した場合（例えば、Ｔｈａｉ  Ｔｏｍレストランの位置に行くことによって、およびその位置で検出されることによって）、Ａｎｎａに提供される未来のレストランのランク付けは、Ｓｏｐｈｉｅの選好を考慮することができる。そのような一実施形態では、ルールジェネレーター６０２および／または推薦エンジン８０２は、ルールおよび／または推薦を生成するときにＳｏｐｈｉｅの選好を考慮することができる。Ｓｏｐｈｉｅは、彼女の選好をＡｎｎａ、よって、図１の第三者サービス１１６などのサービス（例えば、ソーシャルネットワークもしくはその他）において、または第２のユーザーデバイス１０８（Ｓｏｐｈｉｅのユーザーデバイスであってもよい）において、ルールジェネレーター６０２に利用可能にすることができる。例えば、ルールジェネレーター６０２および／または推薦エンジン８０２は、１つまたは複数のこれらの位置において、Ｓｏｐｈｉｅのユーザープロファイルモデルにアクセスすることを可能にされてもよい。
【００９１】
[0093]このように、Ｓｏｐｈｉｅは、未来にＡｎｎａに提供される検索結果および推薦に対するマーク付けされた高「インフルエンサー（ｉｎｆｌｕｅｎｃｅｒ」になることができる。これはまた、ＡｎｎａがＳｏｐｈｉｅの推薦を実行し、および／または好んだので、Ｓｏｐｈｉｅに提供される検索結果および推薦を修正するために使用されることになるＡｎｎａのユーザープロファイル情報を、Ｓｏｐｈｉｅが提供され得るように逆にされてもよい。
【００９２】
[0094]一実施形態では、Ａｎｎａは、Ｓｏｐｈｉｅが推薦したレストラン行き、次いで、レビュー上でレストランを低く点数付けし、または彼女がレストランを好まなかったと彼女のデジタルパーソナルアシスタントに伝えるなど、１つまたは複数の消極的な行動をとることがある。そのような消極的な行動は、Ａｎｎａに関してＳｏｐｈｉｅを低インフルエンサーにさせ（消極的なインフルエンサーになることを含む）、および／またはＡｎｎａのユーザープロファイル情報を減少させ、もしくはＳｏｐｈｉｅに提供されることを回避する強力な消極的信号を提供することができる。したがって、ユーザーに推薦をインフルエンサーとして提供する人物の状態は、推薦に対するユーザーによる反応に応じてより高くまたはより低く調整されてもよい。例えば、ユーザーが積極的に反応する（例えば、推薦を実行し、および／または好んだ）場合、推薦を提供する人物の状態は、ユーザーに関して高インフルエンサーである方向に移動されてもよい。ユーザーが消極的に反応する（例えば、推薦を実行せず、および／または推薦に対して嫌いであると示した）場合、推薦を提供する人物の状態は、ユーザーに関して低インフルエンサーである方向に移動されてもよい。
【００９３】
[0095]１つの実施形態では、第２のユーザー（例えば、Ｓｏｐｈｉｅ）は、第１のユーザー（例えば、Ａｎｎａ）に対して全ての領域（例えば、レストラン、映画、トラベル位置、活動、服、または他の小売項目など）に渡って、高または低インフルエンサーとして考えられてもよいことに留意されたい。別の実施形態では、第２のユーザーは、領域ごとをベースに第１のユーザーに対して高または低インフルエンサーとして考えられてもよい。例えば、Ｓｏｐｈｉｅは、レストランの推薦に関してＡｎｎａに対する高インフルエンサーとして考えられてもよく（例えば、彼らが食べ物において同様の嗜好を有しているから）、Ｓｏｐｈｉｅは、映画の推薦に関してＡｎｎａに対して低インフルエンサーとして考えられてもよい（例えば、彼らは映画において同一の趣味を共有しないから）。
【００９４】
[0096]この方式では、ユーザーに対するユーザープロファイルモデルは、実世界の対話（例えば、ユーザーが実際に推薦を使用させたか、さもなければ推奨と対話したか？）に基づいて、興味のある、かつ信頼されたインフルエンサーのプロファイルを含むように構築されてもよい。したがって、ユーザーのユーザープロファイルモデルへの修正に基づいて、ユーザーに対する未来の検索結果および推薦が同調されてもよい。
【００９５】
[0097]一実施形態では、これらの技術は、特に、デジタルパーソナルアシスタントが前にこれらのカテゴリーがユーザーの興味でなかったことを認識していなかった場合、興味カテゴリーの周囲の雑談を構築することによって拡張されてもよい。例えば、ユーザーによって提供される特定の明示的宣言は、デジタルパーソナルアシスタントによる即時的なｇｅｔ−ｔｏ−ｋｎｏｗ−ｙｏｕの質疑応答セッションに対する開始点として使用されてもよい。例えば、ユーザーは、以下の明示的宣言、「Ａｓｓｉｓｔａｎｔ，ｒｅｍｉｎｄ  ｍｅ  ｔｏ  ｔｒｙ  ａｎｄ  ｓｅｅ  Ｇｒａｖｉｔｙ  ｉｎ  ｔｈｅ  ｔｈｅａｔｅｒ  ｏｎｃｅ  ｉｔ’ｓ  ｏｕｔ．」を提供してもよい。これに応答して、デジタルパーソナルアシスタントは、「Ｃｏｏｌ，Ｉ’ｌｌ  ｒｅｍｉｎｄ  ｙｏｕ」と述べてもよく、これに「Ｉ  ｄｉｄｎ’ｔ  ｋｎｏｗ  ｙｏｕ  ｗｅｒｅ  ａ  ｓｃｉ−ｆｉ  ｆａｎ，Ｉ’ｌｌ  ｒｅｍｅｍｂｅｒ  ｔｈａｔ．  Ｏｒ，ｄｏ  ｙｏｕ  ｊｕｓｔ  ａｄｏｒｅ  Ｇｅｏｒｇｅ  Ｃｌｏｏｎｅｙ？」などの１つまたは複数の質問文を付け加えてもよい。
【００９６】
[0098]実施形態では、検索および推薦は、デバイスに渡って生じてもよく、ユーザーにリンクされるデバイスのいずれかから受信される明示的または黙示的信号によって同調されてもよいことに留意されたい。
【００９７】
[0099]別の実施形態では、明示的宣言は、単一のエンティティーに対して正確である必要があるが（例えば、「Ｔｈａｉ  Ｔｏｍ」などの特定のレストランに関して）、より一般的であってもよい。例えば、以下の明示的宣言、「Ａｓｓｉｓｔａｎｔ，ｒｅｍｉｎｄ  ｍｅ  ｔｏ  ｃｈｅｃｋ  ｏｕｔ  ｔｈｉｓ  ｎｅｉｇｈｂｏｒｈｏｏｄ  ｓｏｍｅ  ｏｔｈｅｒ  ｔｉｍｅ．」がユーザーによって提供されてもよい。近隣についてのこの一般的な発言は、週末にその近隣を探索することを推奨し、その近隣と関連付けられたビジネスの推薦をより高くランク付けするように推薦エンジンを訓練するために使用されてもよい。別の実施形態では、単一のレストランのタイプの代わりに、料理（例えば、メキシカン）またはチェーン（「ＭｃＤｏｎａｌｄｓ（登録商標）」が表現されてもよい。そのような一般性が任意のタイプの明示的宣言で使用されてもよい。
【００９８】
[00100]実施形態では、明示的宣言は、同調情報の複数の態様を含むことができる。例えば、以下の例示的な明示的宣言、「Ａｓｓｉｓｔａｎｔ，ｒｅｍｉｎｄ  ｍｅ  ｔｈａｔ  Ｍｉｌｅｓ  ａｎｄ  Ｉ  ｓｈｏｕｌｄ  ｓｈｏｐ  ａｔ  Ｕｒｂａｎ  Ｏｕｔｆｉｔｔｅｒｓ（商標）ｓｏｍｅｔｉｍｅ」は、場所（Ｕｒｂａｎ  Ｏｕｔｆｉｔｔｅｒｓ（商標））に対する類似性および特定の人物（Ｍｉｌｅｓ）と共にその場所に行くことに対する類似性の両方を通信する。同様に、類似性は、例示的な明示的宣言「ｒｅｍｉｎｄ  ｍｅ  ｔｏ  ｃｈｅｃｋ  ｏｕｔ  ｔｈｅ  Ｂｏｕｎｃｅ  Ｐａｌａｃｅ  ｗｈｅｎ  Ｉ’ｍ  ｐｌａｎｎｉｎｇ  Ｌｕｃａ’ｓ  ｎｅｘｔ  ｂｉｒｔｈｄａｙ  ｐａｒｔｙ．」などにあるように、重要な日などの他の情報のタイプに対して存在してもよい。
【００９９】
[00101]一実施形態では、明示的宣言は、商業的供給を備えるために、位置共有および言及要素と相関付けされてもよい。例えば、Ｓｏｐｈｉｅは、彼女がそこに行くときの次の時に、彼女がレストランに対してＡｎｎａに言及したので、「Ｔｈａｉ  Ｔｏｍ」レストランにおいて割引を受けることができる（「例えば、Ａｎｎａは、Ａｎｎａがレストランにチェックインし、もしくはＢｌｕｅｔｏｏｔｈビーコンでタグ付けされたとき、またはレストランにおける彼女の存在の他の証明のときに、「Ｓｏｐｈｉｅの友人」割引を受けたかもしれない）。
【０１００】
[00102]またさらに、Ａｎｎａの明示的な推薦をＳｏｐｈｉｅのデジタルパーソナルアシスタントの注記に入力する代替的な方法として、地図のお気に入りの共有リストが使用されてもよい。例えば、Ａｎｎａは、「ｏｈ，  Ｉ’ｌｌ  ｓｈａｒｅ  ｙｏｕ  ｍｙ  ｌｉｓｔ  ｏｆ  ｆａｖｏｒｉｔｅ  Ｃｈｉｃａｇｏ  ｒｅｓｔａｕｒａｎｔｓ．」と言うことを可能にされてもよい。彼女がこれを行うとき、Ｓｏｐｈｉｅは、彼女のデジタルパーソナルアシスタントに、リスト全体を思い出すよう、または特に注意すべきように見えるいくつかのことを選定するよう伝えることができる。
【０１０１】
３．例示的なモバイルおよびステーショナリーデバイスの実施形態
[00103]ユーザーデバイス１０２、バックエンドサーバー１０４、サーバー１０６ａ、サーバー１０６ｂ、第２のユーザーデバイス１０８、オンデバイスアシスタントサービス１１２、明示的信号対応推薦システム１１４、第三者サービス１１６、第三者サービス１１８、ネットワークベースアシスタントサービス１２０、音声入力インターフェース４０２、発話処理モジュール４０４、ルールジェネレーター４０６、推薦エンジン４０８、出力インターフェース４１０、ＵＩモジュール４１２、ルールジェネレーター４１２、推薦エンジン４１４、明示的信号対応推薦システム４３２、明示的信号対応推薦システム４３４、非音声入力インターフェース４３６、ＮＬＰモジュール６０６、論理文ジェネレーター６０８、データコンバーター６２０、推薦エンジン８０２、フローチャート２００、フローチャート３００、フローチャート５００、およびフローチャート７００は、ハードウェア、またはソフトウェアおよび／もしくはファームウェアと組み合わされたハードウェアで実装されてもよい。例えば、オンデバイスアシスタントサービス１１２、明示的信号対応推薦システム１１４、第三者サービス１１６、１１８、ネットワークベースアシスタントサービス１２０、音声入力インターフェース４０２、発話処理モジュール４０４、ルールジェネレーター４０６、推薦エンジン４０８、出力インターフェース４１０、ＵＩモジュール４１２、ルールジェネレーター４１２、推薦エンジン４１４、明示的信号対応推薦システム４３２、明示的信号対応推薦システム４３４、非音声入力インターフェース４３６、ＮＬＰモジュール６０６、論理文ジェネレーター６０８、データコンバーター６２０、および／または推薦エンジン８０２と共に、フローチャート２００、フローチャート３００、フローチャート５００、および／またはフローチャート７００のうちの１つまたは複数のステップは、１つまたは複数のプロセッサーにおいて実行され、コンピューター可読記憶媒体に記憶されるように構成されたコンピュータープログラムコード／命令として実装されてもよい。代わりに、ユーザーデバイス１０２、バックエンドサーバー１０４、サーバー１０６ａ、サーバー１０６ｂ、第２のユーザーデバイス１０８、オンデバイスアシスタントサービス１１２、明示的信号対応推薦システム１１４、第三者サービス１１６、第三者サービス１１８、ネットワークベースアシスタントサービス１２０、音声入力インターフェース４０２、発話処理モジュール４０４、ルールジェネレーター４０６、推薦エンジン４０８、出力インターフェース４１０、ＵＩモジュール４１２、ルールジェネレーター４１２、推薦エンジン４１４、明示的信号対応推薦システム４３２、明示的信号対応推薦システム４３４、非音声入力インターフェース４３６、ＮＬＰモジュール６０６、論理文ジェネレーター６０８、データコンバーター６２０、および／または推薦エンジン８０２と共に、フローチャート２００、フローチャート３００、フローチャート５００、および／またはフローチャート７００のうちの１つまたは複数のステップは、ハードウェア論理／電気回路として実装されてもよい。
【０１０２】
[00104]例えば、一実施形態では、任意の組合せにあるオンデバイスアシスタントサービス１１２、明示的信号対応推薦システム１１４、第三者サービス１１６、第三者サービス１１８、ネットワークベースアシスタントサービス１２０、音声入力インターフェース４０２、発話処理モジュール４０４、ルールジェネレーター４０６、推薦エンジン４０８、出力インターフェース４１０、ＵＩモジュール４１２、ルールジェネレーター４１２、推薦エンジン４１４、明示的信号対応推薦システム４３２、明示的信号対応推薦システム４３４、非音声入力インターフェース４３６、ＮＬＰモジュール６０６、論理文ジェネレーター６０８、データコンバーター６２０、推薦エンジン８０２、フローチャート２００、フローチャート３００、フローチャート５００、および／またはフローチャート７００のうちの１つまたは複数は、ＳｏＣで共に実装されてもよい。ＳｏＣは、プロセッサー（例えば、中央処理装置（ＣＰＵ）、マイクロコントローラー、マイクロプロセッサー、デジタルシグナルプロセッサー（ＤＳＰ）など）、メモリー、１つもしくは複数の通信インターフェース、および／またはさらなる回路のうちの１つまたは複数を含む集積回路チップを含んでもよく、任意選択で、受信されたプログラムコードを実行してもよく、および／または機能を実行するために組み込みファームウェアを含んでもよい。
【０１０３】
[00105]図９は、全体的にコンポーネント９０２として示される、様々な任意選択ハードウェアおよびソフトウェアコンポーネントを含む例示的なモバイルデバイス９００のブロック図を示す。例えば、モバイルデバイス９００のコンポーネント９０２は、モバイルデバイスの実施形態における、ユーザーデバイス１０２、バックエンドサーバー１０４、サーバー１０６ａ、サーバー１０６ｂ、および／または第２のユーザーデバイス１０８に含まれてもよいコンポーネントの例である。任意の数および組合せのコンポーネント９０２の特徴／要素は、モバイルデバイスの実施形態と共に、関連する分野における当業者にとって既知であるように、追加のおよび／または代替的な特徴／要素に含まれてもよい。コンポーネント９０２のいずれかが、コンポーネント９０２のいずれかその他と通信することができるが、説明を簡潔にするために、全ての接続が示されるわけではないことに留意されたい。モバイルデバイス９００は、本明細書の他で説明もしくは言及され、または他に知られている様々なモバイルデバイスのいずれかであってもよく（例えば、携帯電話、スマートフォン、ハンドヘルドコンピューター、携帯情報端末（ＰＤＡ）など）、およびセルラーもしくはサテライトネットワークなどの１つもしくは複数の通信ネットワーク９０４上で１つもしくは複数のモバイルデバイスと、またはローカルエリアもしくはワイドエリアネットワークとの無線双方向通信を可能にすることができる。
【０１０４】
[00106]示されたモバイルデバイス９００は、信号符号化、画像処理、データ処理、入力／出力処理、電力制御、および／または他の機能などのタスクを実行するためのプロセッサー回路９１０と称されるコントローラーまたはプロセッサーを含むことができる。プロセッサー回路９１０は、中央処理装置（ＣＰＵ）としての１つもしくは複数の物理ハードウェア電気回路デバイス要素および／もしくは集積回路デバイス（半導体材料チップもしくはダイ）、マイクロコントローラー、マイクロプロセッサー、ならびに／または他の物理ハードウェアプロセッサー回路で実装される電気および／または光回路である。プロセッサー回路９１０は、メモリー９２０に記憶された１つまたは複数のアプリケーション９１４、オペレーティングシステム９１２、任意のプログラムコードのプログラムコードなど、コンピューター可読媒体に記憶されたプログラムコードを実行することができる。オペレーティングシステム９１２は、コンポーネント９０２の割り当ておよび使用を制御することができ、１つまたは複数のアプリケーションプログラム９１４（別名アプリケーション、「ａｐｐ」など）をサポートすることができる。アプリケーションプログラム９１４は、共通モバイルコンピューティングアプリケーション（例えば、電子メールアプリケーション、カレンダー、コンタクトマネージャー、ウェブブラウザ、メッセージングアプリケーション）、および任意の他のコンピューティングアプリケーション（例えば、文書処理アプリケーション、マップアプリケーション、メディアプレイヤーアプリケーション）を含むことができる。
【０１０５】
[00107]示されたように、モバイルデバイス９００は、メモリー９２０を含むことができる。メモリー９２０は、着脱不能メモリー９２２および／または着脱可能メモリー９２４を含むことができる。着脱不能メモリー９２２は、ＲＡＭ、ＲＯＭ、フラッシュメモリー、ハードディスク、または他の周知のメモリー記憶技術を含むことができる。着脱可能メモリー９２４は、ＧＳＭ（登録商標）通信システムで周知のフラッシュメモリーもしくは加入者識別モジュール（ＳＩＭ）カード、または「スマートカード」などの他の周知のメモリー記憶技術を含むことができる。メモリー９２０は、オペレーティングシステム９１２およびアプリケーション９１４を実行するためのデータおよび／またはコードを記憶するために使用されてもよい。例示的なデータは、ウェブページ、テキスト、画像、音声ファイル、ビデオデータ、または１つもしくは複数の有線もしくは無線ネットワークを介して１つもしくは複数のネットワークサーバーもしくは他のデバイスに送信され、および／もしくはそれらから受信されることになる他のデータセットを含むことができる。メモリー９２０は、国際移動加入者識別番号（ＩＭＳＩ）などの加入者識別子、および国際移動装置識別番号（ＩＭＥＩ）などの装置識別子を記憶するために使用されてもよい。そのような識別子は、ユーザーおよび装置を識別するためにネットワークサーバーに送信されてもよい。
【０１０６】
[00108]いくつかのプログラムがメモリー９２０に記憶されてもよい。これらのプログラムは、オペレーティングシステム９１２、１つまたは複数のアプリケーションプログラム９１４、ならびに他のプログラムモジュールおよびプログラムデータを含む。そのようなアプリケーションプログラムまたはプログラムモジュールの例は、例えば、オンデバイスアシスタントサービス１１２、明示的信号対応推薦システム１１４、第三者サービス１１６、第三者サービス１１８、ネットワークベースアシスタントサービス１２０、音声入力インターフェース４０２、発話処理モジュール４０４、ルールジェネレーター４０６、推薦エンジン４０８、出力インターフェース４１０、ＵＩモジュール４１２、ルールジェネレーター４１２、推薦エンジン４１４、明示的信号対応推薦システム４３２、明示的信号対応推薦システム４３４、非音声入力インターフェース４３６、ＮＬＰモジュール６０６、論理文ジェネレーター６０８、データコンバーター６２０、推薦エンジン８０２、フローチャート２００、フローチャート３００、フローチャート５００、および／またはフローチャート７００（フローチャート２００、３００、５００、および７００の任意の適切なステップを含む）、ならびに／または本明細書で説明されるさらなる実施形態を実装するためのコンピュータープログラム論理（例えば、コンピュータープログラムコードまたは命令）を含んでもよい。
【０１０７】
[00109]モバイルデバイス９００は、タッチスクリーン９３２、マイクロフォン９３４、カメラ９３６、物理キーボード９３８および／もしくはトラックボール９４０などの１つまたは複数の入力デバイス９３０、ならびにスピーカー９５２およびディスプレイ９５４などの１つまたは複数の出力デバイス９５０をサポートすることができる。タッチスクリーン９３２などのタッチスクリーンは、異なる方法で入力を検出することができる。例えば、容量性タッチスクリーンは、目的物（例えば、指先）が表面を駆ける電流を歪めまたは妨げるときのタッチ入力を検出する。別の例として、タッチスクリーンは、光センサーからのビームが妨げられるときのタッチ入力を検出するために光センサーを使用することができる。画面の表面との物理接触は、いくつかのタッチスクリーンによって入力が検出されることに必要ではない。例えば、タッチスクリーン９３２は、本分野でよく理解されるように、容量性検知を使用して、指のホバリング検出をサポートするように構成されてもよい。既に上記説明されたように、カメラベースの検出および超音波ベースの検出を含む他の検出技術が使用されてもよい。指のホバリングを実装するために、ユーザーの指は主として、０．２５４〜０．６３５ｃｍ（０．１〜０．２５インチ）の間、０．６３５〜０．１２７ｃｍ（０．２５〜０．０５インチ）の間、１．２７〜１．９０５ｃｍ（０．５〜０．７５インチ）の間、１．９０５〜２．５４ｃｍ（０．７５〜１インチ）の間、または２．５４〜３．８１ｃｍ（１〜１．５インチ）の間など、タッチスクリーン上の所定の間隔を空けた距離以内にある。
【０１０８】
[00110]タッチスクリーン９３２は、例示を目的に、制御インターフェース９９２を含むとして示される。制御インターフェース９９２は、タッチスクリーン９３２上に表示される仮想要素と関連付けられたコンテンツを制御するように構成される。例示的な一実施形態では、制御インターフェース９９２は、アプリケーション９１４のうちの１つまたは複数によって提供されるコンテンツを制御するように構成される。例えば、モバイルデバイス９００のユーザーがアプリケーションを利用するとき、制御インターフェース９９２は、タッチスクリーン９３２上でユーザーに提示されて、ユーザーが、そのようなコンテンツを制御する制御にアクセスすることを可能にしてもよい。制御インターフェース９９２の提示は、タッチスクリーン９３２から指定された距離以内での動きの検出、またはそのような動きがないことに基づいても（例えば、それによってトリガーされても）よい。動きまたはそれがないことに基づいて制御インターフェース（例えば、制御インターフェース９９２）をタッチスクリーン（例えば、タッチスクリーン９３２）上で提示させるための例示的な実施形態は、以下でさらに詳細に説明される。
【０１０９】
[00111]他の考えられる出力デバイス（図示せず）は、圧電性または他の触覚出力デバイスを含むことができる。いくつかのデバイスは、２つ以上の入力／出力機能を供給することができる。例えば、タッチスクリーン９３２およびディスプレイ９５４は、単一の入力／出力デバイスに組み合わされてもよい。入力デバイス９３０は、自然ユーザーインターフェース（ＮＵＩ）を含むことができる。ＮＵＩは、ユーザーが、マウス、キーボード、およびリモート制御などの入力デバイスによって課される人工的制約から解放する、「自然な」方式でデバイスと対話することを可能にする任意のインターフェース技術である。ＮＵＩ方法の例は、発話認識、タッチおよびスタイラス認識、画面および画面の隣の両方でのジェスチャー認識、空気ジェスチャー、ヘッドおよびアイトラッキング、音声および発話、視覚、タッチ、ジェスチャー、ならびにマシンインテリジェンスに依存する方法を含む。ＮＵＩの他の例は、加速度計／ジャイロスコープを使用した動きジェスチャー検出、顔認識、３Ｄ表示、ヘッド、アイ、およびゲイズトラッキング、没入型拡張現実および仮想現実システムであり、それらは全て、さらに自然なインターフェースと共に、電場・電界検知電極（ＥＥＧおよび関連する方法）を使用した脳活動を検知するための技術を提供する。よって、１つの特定の例では、オペレーティングシステム９１２またはアプリケーション９１４は、音声コマンドを介してユーザーがデバイス９００を動作させることを可能にする音声制御インターフェースの一部としての発話認識ソフトウェアを含むことができる。さらに、デバイス９００は、入力デバイス、ならびにジェスチャーを検出および解釈して、ゲームアプリケーションに入力を提供することなど、ユーザーの空間的ジェスチャーを介したユーザー対話を可能にするソフトウェアを含むことができる。
【０１１０】
[00112]無線モデム９６０は、本分野でよく理解されるように、アンテナ（図示せず）に結合されてもよく、プロセッサー回路９１０と外部デバイスとの間の双方向通信をサポートすることができる。モデム９６０が全体的に示され、モバイル通信ネットワーク９０４と通信するためのセルラーモデム９６６、および／または他の無線ベースのモデム（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）９６４および／またはＷｉ−Ｆｉ９６２）を含むことができる。セルラーモデム９６６は、ＧＳＭ、３Ｇ、４Ｇ、５Ｇなどの任意の適切な通信規格または技術に従って、通話を可能にする（および任意選択で、データを送信する）ように構成されてもよい。無線モデム９６０の少なくとも１つは主として、セルラーネットワーク間で、またはモバイルデバイスと公衆交換電話網（ＰＳＴＮ）との間で、単一のセルラーネットワーク内でデータおよび音声通信に対するＧＳＭネットワークなど、１つまたは複数のセルラーネットワークとの通信のために構成される。
【０１１１】
[00113]モバイルデバイス９００はさらに、少なくとも１つの入力／出力ポート９８０、電力供給装置９８２、グローバルポジショニングシステム（ＧＰＳ）受信機などのサテライトナビゲーションシステム受信機９８４、加速度計９８６、および／またはＵＳＢポート、ＩＥＥＥ１３９４（Ｆｉｒｅ  Ｗｉｒｅ）ポート、および／もしくはＲＳ−２３２ポートとすることができる物理コネクター９９０を含むことができる。示されたコンポーネント９０２は必要ではなく、または包含的であり、当業者によって認識されるように、いずれかのコンポーネントが存在しなくてもよく、他のコンポーネントが追加的に存在してもよい。
【０１１２】
[00114]さらに、図１０は、実施形態を実装することができるコンピューティングデバイス１０００の例示的な一実装形態を示す。例えば、ユーザーデバイス１０２、バックエンドサーバー１０４、サーバー１０６ａ、サーバー１０６ｂ、および／または第２のユーザーデバイス１０８は、コンピューティングデバイス１０００の１つもしくは複数の特徴および／または代替的な特徴を含む、静止コンピューターの実施形態におけるコンピューティングデバイス１０００と同様の１つまたは複数のコンピューティングデバイスにおいて実装されてもよい。本明細書で提供されるコンピューティングデバイス１０００の説明は、例示を目的として提供され、限定するものと意図されない。関連する分野における当業者にとって既知のように、さらなるタイプのコンピューターシステムで実施形態が実装されてもよい。
【０１１３】
[00115]図１０に示されるように、コンピューティングデバイス１０００は、プロセッサー回路１００２と称される１つまたは複数のプロセッサー、システムメモリー１００４、およびシステムメモリー１００４を含む種々のシステムコンポーネントをプロセッサー回路１００２に結合するバス１００６を含む。プロセッサー回路１００２は、中央処理装置（ＣＰＵ）、マイクロコントローラー、マイクロプロセッサー、および／または他の物理ハードウェアプロセッサー回路としての１つまたは複数の物理ハードウェア電気回路デバイス要素および／または集積回路デバイス（半導体材料チップまたはダイ）で実装される電気および／または光回路である。プロセッサー回路１００２は、オペレーティングシステム１０３０、アプリケーションプログラム１０３２、他のプログラム１０３４などのプログラムコードなど、コンピューター可読媒体に記憶されたプログラムコードを実行することができる。バス１００６は、メモリーバスまたはメモリーコントローラー、周辺バス、加速化グラフィックポート、および様々なバスアーキテクチャーのうちのいずれかを使用したプロセッサーもしくはローカルバスを含む、いくつかのタイプのバス構造のうちのいずれかの１つまたは複数を表す。システムメモリー１００４は、リードオンリーメモリー（ＲＯＭ）１００８およびランダムアクセスメモリー（ＲＡＭ）１０１０を含む。基本入力／出力システム１０１２（ＢＩＯＳ）は、ＲＯＭ１００８に記憶される。
【０１１４】
[00116]コンピューティングデバイス１０００はまた、以下のドライブ、ハードディスクから読み込みおよびそれに書き込むためのハードディスクドライブ１０１４、着脱可能磁気ディスク１０１８から読み込みおよびそれに書き込むための磁気ディスクライブ１０１６、ならびにＣＤ  ＲＯＭ、ＤＶＤ  ＲＯＭ、または他の光学媒体などの着脱可能光ディスク１０２２から読み込みおよびそれに書き込むための光ディスクドライブ１０２０のうちの１つまたは複数を有する。ハードディスクドライブ１０１４、磁気ディスクドライブ１０１６、および光ディスクドライブ１０２０は、ハードディスクドライブインターフェース１０２４、磁気ディスクドライブインターフェース１０２６、および光学ドライブインターフェース１０２８のそれぞれによってバス１００６に接続される。ドライブおよびそれらの関連するコンピューター可読媒体は、コンピューター可読命令、データ構造、プログラムモジュールおよびコンピューターに対する他のデータの不揮発性記憶を提供する。ハードディスク、着脱可能磁気ディスクおよび着脱可能光ディスクが説明されるが、フラッシュメモリーカード、デジタルビデオディスク、ＲＡＭ、ＲＯＭおよび他のハードウェア記憶媒体などの他のタイプのハードウェアベースのコンピューター可読記憶媒体が、データを記憶するために使用されてもよい。
【０１１５】
[00117]いくつかのプログラムモジュールは、ハードディスク、磁気ディスク、光ディスク、ＲＯＭ、またはＲＡＭに記憶されてもよい。これらのプログラムは、オペレーティングシステム１０３０、１つまたは複数のアプリケーションプログラム１０３２、他のプログラム１０３４、およびプログラムデータ１０３６を含む。アプリケーションプログラム１０３２または他のプログラム１０３４は、例えば、オンデバイスアシスタントサービス１１２、明示的信号対応推薦システム１１４、第三者サービス１１６、第三者サービス１１８、ネットワークベースアシスタントサービス１２０、音声入力インターフェース４０２、発話処理モジュール４０４、ルールジェネレーター４０６、推薦エンジン４０８、出力インターフェース４１０、ＵＩモジュール４１２、ルールジェネレーター４１２、推薦エンジン４１４、明示的信号対応推薦システム４３２、明示的信号対応推薦システム４３４、非音声入力インターフェース４３６、ＮＬＰモジュール６０６、論理文ジェネレーター６０８、データコンバーター６２０、推薦エンジン８０２、フローチャート２００、フローチャート３００、フローチャート５００、および／もしくはフローチャート７００（フローチャート２００、３００、５００、および７００の任意の適切なステップを含む）、ならびに／または本明細書で説明されるさらなる実施形態を実装するためのコンピュータープログラム論理（例えば、コンピュータープログラムコードまたは命令）を含んでもよい。
【０１１６】
[00118]ユーザーは、コマンドおよび情報を、キーボード１０３８およびポインティングデバイス１０４０などの入力デバイスを通じてコンピューティングデバイス１０００に入力することができる。他の入力デバイス（図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナー、タッチスクリーンおよび／もしくはタッチパッド、音声入力を受信するための音声認識システム、またはジェスチャー入力を受信するためのジェスチャー認識システム、などを含んでもよい。これらおよび他の入力デバイスは、バス１００６に結合されたシリアルポートインターフェース１０４２を通じてプロセッサー回路１００２に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースによって接続されてもよい。
【０１１７】
[00119]ディスプレイ画面１０４４はまた、ビデオアダプター１０４６などのインターフェースを介してバス１００６に接続される。ディスプレイ画面１０４４は、コンピューティングデバイス１０００の外部であってもよく、またはコンピューティングデバイス１０００に組み込まれてもよい。ディスプレイ画面１０４４は、情報を表示すると共に、ユーザーコマンドおよび／または他の情報を（例えば、タッチ、指のジェスチャー、仮想キーボードなどによって）受信するためのユーザーインターフェースであってもよい。ディスプレイ画面１０４４に加えて、コンピューティングデバイス１０００は、スピーカーおよびプリンターなどの他の周辺出力デバイス（図示せず）を含んでもよい。
【０１１８】
[00120]コンピューティングデバイス１０００は、アダプターもしくはネットワークインターフェース１０５０、モデム１０５２、またはネットワーク上で通信を確立するための他の手段を通じてネットワーク１０４８（例えば、インターネット）に接続される。内部または外部であってもよいモデム１０５２は、図１０に示されるように、シリアルポートインターフェース１０４２を介してバス１００６に接続されてもよく、またはパラレルインターフェースを含む別のインターフェースタイプを使用してバス１００６に接続されてもよい。
【０１１９】
[00121]本明細書で使用されるように、用語「コンピュータープログラム媒体」、「コンピューター可読媒体」、および「コンピューター可読記憶媒体」は、ハードディスクドライブ１０１４と関連付けられたハードディスク、着脱可能磁気ディスク１０１８、着脱可能光ディスク１０２２などの物理ハードウェア媒体、ＲＡＭ、ＲＯＭ、フラッシュメモリーカード、デジタルビデオディスク、ｚｉｐディスク、ＭＥＭ、ナノ技術ベースの記憶デバイスなどの他の物理ハードウェア媒体、ならびにさらなるタイプの物理／有形ハードウェア記憶媒体（図９のメモリー９２０を含む）を全体的に指すために使用される。そのようなコンピューター可読記憶媒体は、通信媒体と区別され、通信媒体と重複しない（通信媒体を含まない）。通信媒体は主として、コンピューター可読命令、データ構造、プログラムモジュールまたは搬送波などの変調データ信号における他のデータを具体化する。用語「変調データ信号」は、信号において情報をエンコードする方式で設定または変更されたその特性のうちの１つまたは複数を有する信号を意味する。例として、非限定的に、通信媒体は、アコースティック、ＲＦ、赤外線および他の無線媒体などの無線媒体と共に、有線媒体を含む。実施形態がまた、そのような通信媒体に向けられる。
【０１２０】
[00122]上記留意されるように、コンピュータープログラムおよびモジュール（アプリケーションプログラム１０３２および他のプログラム１０３４を含む）は、ハードディスク、磁気ディスク、光ディスク、ＲＯＭ、ＲＡＭ、または他のハードウェア記憶媒体に記憶されてもよい。そのようなコンピュータープログラムはまた、ネットワークインターフェース１０５０、シリアルポートインターフェース１０４２、または任意の他のインターフェースタイプを介して受信されてもよい。そのようなコンピュータープログラムは、アプリケーションによって実行またはロードされるとき、コンピューティングデバイス１０００に、本明細書で議論された実施形態の特徴を実行することを可能にする。したがって、そのようなコンピュータープログラムは、コンピューティングデバイス１０００のコントローラーを表す。
【０１２１】
[00123]実施形態はまた、任意のコンピューター可読媒体に記憶されたコンピューターコードまたは命令を含むコンピュータープログラム製品に向けられる。そのようなコンピュータープログラム製品は、ハードディスクドライブ、光ディスクドライブ、メモリーデバイスパッケージ、ポータブルメモリースティック、メモリーカード、および他のタイプの物理記憶ハードウェアを含む。
【０１２２】
４．結論
[00124]本発明の種々の実施形態が上記説明されてきたが、それらは例示のみであり、かつ非限定的に提示されてきたことが理解されるべきである。添付の特許請求の範囲で定義される発明の精神および範囲から逸脱することなく、形式および詳細において種々の変更がなされてもよいことが当業者によって理解される。したがって、本発明の幅および範囲は、上記説明された例示的な実施形態のいずれかによって限定されるべきでないが、以下の特許請求の範囲およびその均等物に従ってのみ定義されるべきである。
【図１】
2017513115.tif 000004
【図２】
2017513115.tif 000005
【図３】
2017513115.tif 000006
【図４】
2017513115.tif 000007
【図５】
2017513115.tif 000008
【図６】
2017513115.tif 000009
【図７】
2017513115.tif 000010
【図８】
2017513115.tif 000011
【図９】
2017513115.tif 000012
【図１０】
2017513115.tif 000013
【国際調査報告】
2017513115.tif 000014
2017513115.tif 000015