JP2017513115A - ユーザーの明示宣言に基づく個別化された推薦 - Google Patents

ユーザーの明示宣言に基づく個別化された推薦 Download PDF

Info

Publication number
JP2017513115A
JP2017513115A JP2016557286A JP2016557286A JP2017513115A JP 2017513115 A JP2017513115 A JP 2017513115A JP 2016557286 A JP2016557286 A JP 2016557286A JP 2016557286 A JP2016557286 A JP 2016557286A JP 2017513115 A JP2017513115 A JP 2017513115A
Authority
JP
Japan
Prior art keywords
user
recommendation
explicit
rule
explicit declaration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016557286A
Other languages
English (en)
Inventor
パルチュリ,サンディープ
ハワード,ロバート
ブラウン,ジャレッド・アダム
ハミルトン,コリーン・エリザベス
ナッシュ,ポール・ロバート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2017513115A publication Critical patent/JP2017513115A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement

Abstract

ユーザーに対する推薦を生成するために使用される明示的宣言をユーザーが提供することを可能にする方法、システム、およびコンピュータープログラム製品が提供される。明示的宣言は、ユーザーデバイスのユーザーから受信される。明示的宣言は、後続の推薦に影響を与えるように構成される。明示的宣言の単語は、記録を生成するように処理される。推薦ルールは、生成された記録に基づいて生成される。推薦ルールは、ユーザーに対する推薦を生成するように実行される。生成された推薦は、ユーザーに提供される。

Description

本願発明の一実施例は、例えば、ユーザーの明示宣言に基づく個別化された推薦に関する。
[0001]コンピューターの分野の中で、種々の信号に基づいて個人に関する情報を推論し、改良されたサービスおよび個別化されたコンテンツを個人に提供するためにそのような情報を使用することができる多くのシステムが存在する。例えば、電子商取引のウェブサイトは、個人の前の購入から得られた推論に基づいて、個人に関心のある製品を推薦することができる。別の例として、検索エンジンは、ユーザーに関してなされた推論に基づいて、検索結果およびユーザーに対する関連するコンテンツを個別化することができる。従来から、検索エンジンは、そのような推論を、ユーザーのクエリー、クリック、ビューから、および時にはデータマイニングソーシャルネットワークによって導出する。
本願発明の一実施例は、例えば、ユーザーの明示宣言に基づく個別化された推薦に関する。
[0002]この概要は、概念の選択を、発明を実施するための形態において以下でさらに説明される簡易的な形式で導入するために提供される。この概要は、特許請求される主題の重要な特徴または必須の特徴を特定することを意図してなく、特許請求される主題の範囲を限定するために使用されることも意図していない。
[0003]ユーザーが、ユーザーに対する推薦を個別化するために使用される明示的宣言を提供することを可能にする、方法、システム、およびコンピュータープログラム製品が提供される。そのような明示的宣言は、ユーザーが誰であるか、およびユーザーが実際に何を見ることを望んでいるかに関する情報を提供する。ユーザーは、明示的宣言が後続の推薦に影響を与えるのに使用されることになることを示す方式で明示的宣言を話し、またはそうでない場合、明示的宣言を提供することができる。推薦は、ユーザーが明示的宣言を提供した後直ちに生成され、ユーザーに提供されてもよく、または推薦は、後に提供されてもよい。推薦は、時間、ユーザーの位置、ユーザーと共にいる1人もしくは複数の人物、ユーザーの活動、データに対するユーザーからの要求、推薦に対するユーザーからの要求、および/または別のトリガーに基づいて、ユーザーに提供されるようにトリガーされてもよい。
[0004]1つの例示的な実装形態では、明示的宣言は、デバイスのユーザーから受信される。明示的宣言は、後続の推薦に影響を与えるようにユーザーによって構成される。明示的宣言の単語は、記録を生成するように処理される。推薦ルールは、生成された記録に基づいて生成される。推薦ルールは、ユーザーに対して推薦を生成するように実行される。生成された推薦は、ユーザーに提供される。
[0005]例えば、1つの態様では、自然言語処理は、1つまたは複数の重要な特徴を抽出するために、明示的宣言の一連の単語に関して実行されてもよい。記録は、抽出された重要な特徴を含むように生成されてもよい。抽出された重要な特徴は、明示的宣言に対応する推薦ルールを生成するために使用されてもよい。
[0006]態様では、ルールと環境的トリガーとの間で一致が存在するかが判定されてもよい。環境的トリガーの例は、現在時刻、未来の時刻、ユーザーの現在位置、ユーザーの未来の位置、ユーザーと共にいる人物、ユーザーの活動、アプリケーションまたはサービス、データに対するユーザーからの要求、推薦に対するユーザーからの要求などを含む。一致が存在するとき、ユーザーに対する推薦を生成するように一致した推薦ルールが実行される。
[0007]別の実装形態では、1つまたは複数のコンピューティングデバイスで実装される推薦システムが提供される。推薦システムは、音声入力インターフェース、発話処理モジュール、ルールジェネレーター、および推薦エンジンを含む。音声入力インターフェースは、明示的宣言をコンピューティングデバイスのユーザーから受信するように構成される。明示的宣言は、一連の単語を含み、後続の推薦に影響を与えるように構成される。発話処理モジュールは、明示的宣言の一連の単語を処理して記録を生成するように構成される。ルールジェネレーターは、生成された記録に基づいて推薦ルールを生成するように構成される。推薦エンジンは、ユーザーに対する推薦を生成するために推薦ルールを実行するように構成される。
[0008]本明細書で説明される実施形態に従って、ユーザーが、明示的宣言を提供し、明示的宣言に少なくとも部分的に基づいて、ユーザーに対して推薦を生成させることを可能にする、そこに記憶されたコンピュータープログラム命令を有するコンピューター可読記憶媒体がまた本明細書で開示される。
[0009]本発明の種々の実施形態の構造および動作と共に、本発明のさらなる特徴および利点が、添付図面を参照して以下で詳細に説明される。本明細書で説明される特定の実施形態に本発明が限定されないことに留意されたい。そのような実施形態は、例示のみを目的として本明細書で提示される。追加の実施形態が、本明細書に含まれる教示に基づいて、当業者にとって明らかであろう。
[0010]本明細書に組み込まれ、明細書の一部を形成する添付図面は、本出願の実施形態を示し、説明と共に、実施形態の原理を説明し、当業者が実施形態を作成および使用することを可能にする役割をさらに果たす。
[0011]例示的な一実施形態に従った、明示的信号対応推薦システムを含むユーザーデバイスが1つもしくは複数のサーバーおよび/または他のユーザーデバイスと通信して、情報を交換するシステムのブロック図を示す。 [0012]例示的な一実施形態に従った、明示的宣言に基づいてユーザーに対する推薦を生成する処理を提供するフローチャートを示す。 [0013]一実施形態に従った、図2のフローチャートの例示的な一実装形態を提供するフローチャートを示す。 [0014]例示的な一実施形態に従った、任意選択でサーバーと通信して、明示的宣言に基づいてユーザーに対する推薦を生成するユーザーデバイスのブロック図を示す。 [0015]例示的な一実施形態に従った、受信された明示的宣言を処理して記録を生成するための処理を提供するフローチャートを示す。 [0016]例示的な一実施形態に従った、受信された明示的宣言を処理して記録およびルールを生成するために使用されるシステムのブロック図を示す。 [0017]例示的な一実施形態に従った、ユーザーに対する推薦を生成するために推薦ルールを実行するための処理を提供するフローチャートを示す。 [0018]例示的な一実施形態に従った、推薦ルールを受信して、ユーザーに対する推薦を生成する推薦エンジンのブロック図を示す。 [0019]実施形態が実装されてもよい例示的なユーザーデバイスのブロック図を示す。 [0020]実施形態を実装するために使用されてもよい例示的なコンピューティングデバイスのブロック図を示す。
[0021]本発明の特徴および利点が、図面と併用されるときに以下で示される詳細な説明からより明らかとなり、図面では、全体を通じて同一の参照符号が対応する要素を特定する。図面では、同一の参照番号は概して、同一、機能的類似、および/または構造的類似の要素を示す。要素が最初に現れる図面は、対応する参照番号における最も左の桁によって示される。
1.導入
[0022]本明細書および添付図面は、本発明の特徴を組み込んだ1つまたは複数の実施形態を開示する。本発明の範囲は、開示される実施形態に限定されない。開示される実施形態は、本発明を例示するに過ぎず、開示される実施形態の変形バージョンがまた、本発明に包含される。本発明の実施形態は、以下に添付される特許請求の範囲によって定義される。
[0023]明細書における「1つの実施形態(one embodiment)」、「一実施形態(an embodiment)」、「例示的な一実施形態(an example embodiment)」などへの参照は、説明される実施形態が特定の特徴、構造、または特性を含んでもよいが、あらゆる実施形態が必ずしも特定の特徴、構造、または特性を含まなくてもよいことを示す。さらに、そのようなフレーズは必ずしも同一の実施形態を指すわけではない。さらに、特定の特徴、構造、または特性が一実施形態に関連して説明されるとき、それは、明示的に説明されるか否かに関わらず、他の実施形態に関連してそのような特徴、構造、または特性をもたらすのは当業者の知識内であると考えられる。
[0024]多数の例示的な実施形態が以下のように説明される。本明細書で提供される任意のセクション/サブセクションの表題は、限定すると意図されないことに留意されたい。この文書の全体を通じて実施形態が説明され、任意のタイプの実施形態が、任意のセクション/サブセクションの下に含まれてもよい。さらに、任意のセクション/サブセクションで開示される実施形態は、同一のセクション/サブセクションおよび/または異なるセクション/サブセクションで説明される任意の他の実施形態と任意の方式で組み合わされてもよい。
[0025]本明細書で説明される実施形態は、明示的宣言に基づいて、個別化された推薦がユーザーに対して生成されることを可能にする。ユーザーは、明示的宣言をコンピューティングデバイス(「ユーザーデバイス」とも称される)に話し、またはその他の方法で、明示的宣言を提供してもよい(例えば、テキスト入力などによって)。例えば、ユーザーデバイスは、デジタルパーソナルアシスタントまたは本明細書で開示されるような明示的宣言を処理するように構成された他のエンティティーを含んでもよい。明示的宣言は、明示的宣言を提供したユーザーに対してなされることになる後続の推薦に影響を与えるように構成される。そのような明示的宣言は、ユーザーがユーザーのデバイスをルーチン方式で使用している間に、「リアルタイム」でユーザーによってなされる。そのような明示的宣言のリアルタイムの提供は、1つまたは複数の質問および/または選択が、回答するためにユーザーに投稿されてもよいトレーニングルーチンと区別される。一方で、明示的宣言は、ユーザーデバイスによって促すことなくユーザーによって提供される。
[0026]明示的宣言は、物事の評価もしくはレビュー(例えば、「Remember that I really didn’t like the food at the Baja Beach House」)を提供してもよく、ユーザーにとって関心のある(もしくは、関心のない)物事を特定してもよく、および/または後続の推薦に影響を与えることによって後続の推薦を個別化するのに使用されることをユーザーが望み得る他の情報を提供してもよい。
[0027]一実施形態では、明示的宣言をなすとき、ユーザーは、デジタルパーソナルアシスタント識別子/名を有する明示的宣言(例えば、「Assistant,remember that…」)を開始することによってなど、明示的宣言をユーザーデバイスに話してもよい。この方式では、ユーザーデバイスは、明示的宣言が提供されていると認識することができる。しかしながら、これは全ての実施形態では要求されない。別の実施形態では、ユーザーデバイスは、明示的宣言がデジタルパーソナルアシスタントに話されない場合でさえ、明示的宣言をユーザーから受信するように構成されてもよい。例えば、ユーザーが、ユーザーデバイスによって立ち聞きされる友人への発言をなしてもよく、ユーザーデバイスは、発言を明示的宣言として認識および処理してもよい。そのような一実施形態では、ユーザーは、ユーザーデバイスがこの方式で明示的宣言を聞きおよび処理することが可能となるように、「オプトイン」することが要求されることがある。
[0028]例えば、ユーザーは、「Remember that Sophie says I should try Thai Tom restaurant」(すなわち、物事に関して別の人物から受信された推薦を思い出すことを推薦システムに命じる)、「Remember that I would like to check out a London museum sometime」(例えば、ユーザーの自身の観察または思考に基づいて物事に関してユーザーに思い出させることを推薦システムに命じる)、などを述べることによってなど、推薦システムが後続のアプリケーションに対しそれを思い出すべきであることを示す単語を有する明示的宣言を検索エンジンに提供してもよい。
[0029]したがって、1つまたは複数の明示的宣言は、ユーザーから受信されてもよく、ルール、またはユーザーに対する推薦を生成するように処理することができる他の形式に変換されてもよい。例えば、時間、ユーザーの位置、ユーザーと共にいる1人もしくは複数の人物の存在、および/またはユーザーの活動などの1つまたは複数の環境的トリガーが発生してもよい。特定の環境的トリガーの発生は、対応する推薦を生成させ、ユーザーに提供させることができる。
[0030]推薦は、任意の適切な環境で、明示的宣言に基づいてユーザーに提供されてもよい。例えば、図1は、例示的な一実施形態に従った、通信システム100のブロック図を示す。システム100では、ユーザーは、明示的宣言を提供し、それに基づいて推薦を受信するために第1のユーザーデバイス102と対話してもよい。図1に示されるように、システム100は、第1のユーザーデバイス102、バックエンドサーバー104、第1のサーバー106a、第2のサーバー106b、および第2のユーザーデバイス108を含む。さらに、第1のユーザーデバイス102は、ユーザーインターフェース122、および明示的信号対応推薦システム114を含むオンデバイスパーソナル電子アシスタント112を含む。またさらに、バックエンドサーバー104は、ネットワークベースアシスタントサービス120を含み、第1のサーバー106aは、第三者サービス116を含み、第2のサーバー106bは、第三者サービス118を含む。システム100の特徴が以下のように説明される。
[0031]第1のユーザーデバイス102および第2のユーザーデバイス108は各々、モバイルコンピューターもしくはモバイルコンピューティングデバイス(例えば、Microsoft(登録商標)Surface(登録商標)デバイス、携帯情報端末(PDA)、ラップトップコンピューター、ノートブックコンピューター、Apple iPad(登録商標)などのタブレットコンピューター、ネットブックなど)、モバイル電話(例えば、携帯電話、Microsoft Windows(登録商標)フォン、Apple iPhones(登録商標)、Google(登録商標)Android(商標)オペレーティングシステムを実装した電話、Palm(登録商標)デバイス、Blackberry(登録商標)デバイスなどのスマートフォン)、ウェアラブルコンピューティングデバイス(例えば、スマートウォッチ、Google(登録商標)Glass(商標)などのスマートグラスを含むヘッドマウンティングデバイス)、もしくは他のタイプのモバイルデバイス(例えば、自動車)、またはデスクトップコンピューターもしくはPC(パーソナルコンピューター)などの静止式コンピューティングデバイスを含む、任意のタイプのステーショナリーまたはモバイルコンピューティングデバイスであってもよい。またさらに、第1のユーザーデバイス102および第2のユーザーデバイス108は各々、ポータブルメディアプレイヤー、ステーショナリーもしくはハンドヘルドゲームコンソール、パーソナルナビゲーションアシスタント、カメラ、または他のタイプのステーショナリーもしくはモバイルデバイスであってもよい。第1および第2のユーザーデバイス102および108が図1に示されるが、他の実施形態では、数10,数100、数1000、および数100万のユーザーデバイスを含む、他の数のユーザーデバイスがシステム100に存在してもよい。
[0032]バックエンドサーバー104、第1のサーバー106a、および第2のサーバー106bは各々、情報を供給することが可能な1つまたは複数のコンピューティングデバイスから形成されてもよい。図1に示されるよりも少ない数、または多い数のサーバーが、実施形態においてシステム100に存在してもよい。
[0033]ユーザーデバイス102および108、ならびにサーバー104、106a、および106bの各々は、ネットワーク110上で通信を可能にするネットワークインターフェースを含んでもよい。そのようなネットワークインターフェースは、任意のタイプのネットワークインターフェース(例えば、ネットワークインターフェースカード(NIC))、IEEE802.11無線LAN(WLAN)無線インターフェース、Worldwide Interoperability for Microwave Access(Wi−MAX)インターフェース、イーサネット(登録商標)インターフェース、ユニバーサルシリアルバス(USB)インターフェース、セルラーネットワークインターフェース、Bluetooth(商標)インターフェース、近接場通信(NFC)インターフェースなどの有線または無線のうちの1つまたは複数を含んでもよい。ネットワークインターフェースのさらなる例は、本明細書において他で説明される。ネットワーク110の例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、および/またはインターネットなどの通信ネットワークの組合せを含む。
[0034]ユーザーインターフェース122は、ユーザーが質問、コマンド、または他の口頭および/もしくは非口頭入力を提示することを可能にし、そのような入力に対する応答をユーザーに配信する。1つの実施形態では、入力は、ユーザーデバイス102の1つまたは複数のマイクロフォンによって捕捉されるユーザー発話を備えてもよいが、この例は、限定することと意図されず、ユーザー入力は、他の方法でも提供されてもよい(例えば、テキストなど)。電子パーソナルアシスタント112によって生成された応答は、ユーザーデバイス102のディスプレイ上でユーザーインターフェース122によって示される(例えば、グラフィカルユーザーインターフェース内で)テキスト、画像、または他のビジュアルコンテンツの形式で、ユーザーに可視的とされてもよい。応答はまた、ユーザーデバイス102の1つもしくは複数のスピーカーを介して再生されるコンピューター生成発話または他の音声コンテンツを備えてもよい。またさらに応答(ビジュアルコンテンツおよび/または音声コンテンツ)はまた、物理的にユーザーデバイス102とは別個であるが、ユーザーデバイス102と通信可能に結合された(例えば、WiFiまたはWLANインターフェース、USBインターフェース、セルラーネットワークインターフェース、Bluetooth(商標)インターフェース、近接場通信(NFC)インターフェース、MirrorLink(商標)インターフェース、Miracast(商標)インターフェースなどによって)ディスプレイ、1つもしくは複数のスピーカー、および/または他のユーザーインターフェース出力デバイスを介してユーザーに提供されてもよい。
[0035]電子パーソナルアシスタント112は、ユーザーがユーザーデバイス102のユーザーインターフェース122を通じて対話することができるアプリケーション(例えば、ユーザーデバイス102のプロセッサーで実行される1つまたは複数のコンピュータープログラム)である。電子パーソナルアシスタント112は、タスクおよび/またはサービスを実行する要求など、ユーザーによって提供される要求を処理することによって、全体的な支援をユーザーに提供するように構成される。例えば、実施形態では、電子パーソナルアシスタント112は、質問に回答し、推薦を作成し、および/または行動を実行するように構成されてもよい。
[0036]電子パーソナルアシスタント112は、ユーザーデバイス102に完全に含まれてもよく、または要求を処理し、および/もしくはウェブサービスの組に対して要求を委譲するネットワーク/クラウドベースバックエンドをさらに含んでもよい。そのようなバックエンドサービスの例は、ネットワークベースアシスタントサービス120としてバックエンドサーバー104に含まれるとして示される。ネットワークベースアシスタントサービス120は、オンデバイス電子パーソナルアシスタント112およびネットワークベースアシスタントサービス120の両方を含む電子パーソナルアシスタントサービスのバックエンド部分であってもよい。ネットワークベースアシスタントサービス120は、ユーザーに支援を提供することに関して処理/推論が実行されることをさらに可能にしてもよい。さらに、ネットワークベースアシスタントサービス120は、第1のサーバー106aにおける第三者サービス116および第2のサーバー106bにおける第三者サービス118など、1つまたは複数のサービスにおけるサービスと対話して、情報を読み出し、情報処理を委譲するなどしてもよく、情報は、ユーザーに支援を提供するよう電子パーソナルアシスタント112を支援するために使用されてもよい。代わりに、電子パーソナルアシスタント112は、第三者サービス116および118などのサービスに直接アクセスしてもよい(図1において破線矢印によって示されるように)。
[0037]このように、電子パーソナルアシスタント112(ネットワークベースアシスタントサービス120を有し、または有さない)は、全体的なユーザー支援を提供するように構成された電子パーソナルアシスタント、検索エンジン、または他のシステムであってもよい。電子パーソナルアシスタント112に適用可能な商業的に利用可能な検索エンジンの例は、Microsoft(登録商標)Bing(商標)(http://www.bing.comにおいて)およびGoogle(商標)(http://www.google.comにおいて)を含む。電子パーソナルアシスタント112に適用可能な商業的に利用可能な電子パーソナルアシスタントの例は、Cupertino、CaliforniaのApple Inc.によって開発されたSiri(登録商標)、およびMountain View、Californiaの開発されたGoogle Now(商標)を含む。
[0038]実施形態では、電子パーソナルアシスタント112は、位置認識などの特徴およびオンラインソース(天気または交通状況、ニュース、株価、ユーザースケジュール、小売価格など)を含む様々なソースからの情報にアクセスする能力に基づくと共に、ユーザー入力に基づいて、ユーザー要求を処理してもよい。ユーザーの代わりに電子パーソナルアシスタント112によって実行されてもよいタスクの例は、ユーザー指定の人物に電話をかけること、ユーザー指定のアプリケーションを開始すること、ユーザー指定の電子メールもしくはテキストメッセージをユーザー指定の受信者に送信すること、ユーザー指定の音楽を再生すること、ユーザーカレンダー上でミーティングもしくは他のイベントをスケジューリングすること、ユーザー指定の位置に対する方向を取得すること、ユーザー指定のスポーツイベントと関連付けられたスコアを取得すること、ユーザー指定のコンテンツをソーシャルメディアウェブサイトもしくはマイクロブログ投稿サービスに投稿すること、ユーザー指定のリマインダーもしくは注記を記録すること、天気レポートを取得すること、現在時刻を取得すること、ユーザー指定の時間にアラームを設定すること、ユーザー指定の会社に対する株価を取得すること、近くの商業施設を発見すること、またはインターネット検索を実行すること、などを含んでもよいが、それらに限定されない。電子パーソナルアシスタント112は、ユーザーとの継続した対話を通じて、時間と共にその性能を改善するために様々な人工知能技術のいずれかを使用してもよい。いくつかの実施形態では、電子パーソナルアシスタント112はまた、検索エンジン、デジタルパーソナルアシスタント、インテリジェントパーソナルアシスタント、インテリジェントソフトウェアアシスタント、または仮想パーソナルアシスタントなどと称されてもよい。
[0039]図1に示されるように、電子パーソナルアシスタント112は、明示的信号対応推薦システム114を含む。明示的信号対応推薦システム114は、電子パーソナルアシスタント112が、明示的宣言をユーザーから受信し、明示的宣言に部分的に基づいているユーザーに対する推薦を生成することを可能にする。
[0040]一実施形態では、明示的信号対応推薦システム114の一部は、バックエンドサーバー104におけるネットワークベースアシスタントサービス120に含まれてもよいことに留意されたい。このように、ネットワークベースアシスタントサービス120はさらに、明示的宣言に関して推論が実行され、ユーザーに対する推薦を生成するために使用されることを可能にしてもよい。例えば、ネットワークベースアシスタントサービス120は、ユーザーデバイス102に対して増大した処理/コンピューティング能力を提供することができ、検索エンジン能力を提供することができ、ユーザー(例えば、第三者サービス116および/もしくは118のうちの1つもしくは両方における)に対するソーシャルネットワーク情報もしくは他のプロファイル情報を維持もしくはこれにアクセスすることによって、ならびに/または他の機能性を提供することによって、ユーザーの増大した理解を提供することができる。
[0041]例えば、サーバー106aにおける第三者サービス116が、任意選択で存在してもよく、第三者サービス116は、ユーザーに対するソーシャルネットワークプロファイルを含むソーシャルネットワーク情報を維持するソーシャルネットワークであってもよい。電子パーソナルアシスタント112および/またはネットワークベースアシスタントサービス120は、ネットワーク110を通じてソーシャルネットワークプロファイル情報にアクセスしてもよい。ソーシャルネットワーク情報は、明示的宣言に加えて、ユーザーに対する推薦を生成するために、電子パーソナルアシスタント112および/またはネットワークベースアシスタントサービス120によって使用されてもよい。
[0042]サーバー106aにおける第三者サービス118がまた、任意選択で存在してもよく(さらに第三者任意選択サービスと共に)、第三者サービス118は、ユーザーに対する推薦を生成するのを支援するために電子パーソナルアシスタント112および/またはネットワークベースアシスタントサービス120によって明示的宣言124と共に使用されてもよい情報を生成および/または記憶してもよい。例えば、第三者サービス118は、ユーザープロファイル情報を維持し、推薦を作成し、および/またはユーザーに関する関連情報を記憶もしくは生成するレストラン推薦サービス、トラベル推薦ウェブサイト、製品推薦ウェブサイト、または他のサイトもしくはサービスであってもよい。
[0043]一実施形態では、明示的信号対応推薦システム114は、図2に従って動作してもよい。図2は、例示的な一実施形態に従った、明示的宣言に基づいてユーザーに対する推薦を生成するためのユーザーデバイスにおける処理を提供するフローチャート200を示す。フローチャート200は、図1に関して以下のように説明される。さらなる構造的および動作的な実施形態が、以下の説明に基づいて当業者にとって明らかになるであろう。
[0044]フローチャート200は、ステップ202で開始する。ステップ202では、明示的宣言がユーザーデバイスのユーザーから受信される。例えば、図1を参照して、ユーザーは、ユーザーインターフェース122と対話することによって、明示的宣言124を明示的信号対応推薦システム114に提供することを可能にされてもよい。ユーザーは、ユーザーインターフェース122のマイクロフォンに話して、明示的宣言124を提供してもよく、または明示的宣言124をテキストで、もしくは別の方式で提供してもよい。明示的宣言124は、一連の単語として、または別の方式で提供されてもよく、後続の推薦に影響を与えることの意図と共にユーザーによって提供される。明示的宣言124は、ユーザーインターフェース122を通じて明示的信号対応推薦システム114によって受信される。
[0045]例えば、明示的宣言124の1つの例示的な例は、ユーザーは、「Assistant,remind me to check out the Soho neighborhood sometime.」と言ってもよい。この明示的宣言を通じて、ユーザーは、この例ではユーザーによって「Assistant」として話される、電子パーソナルアシスタント112に対するユーザーの意図を示して、Sohoの近隣(Soho neighborhood)に関する未来の推薦をユーザーに提供する。アシスタント(Assistant)に向けられた単語「remind me」、「remember」または同様の単語は、未来の推薦に対するこの明示的宣言を記録するためにAssistantに対するユーザーの意図を示す。
[0046]ステップ204では、明示的宣言に部分的に基づいてユーザーに対して推薦が生成される。電子パーソナルアシスタント112の明示的信号対応推薦システム114(任意選択で、ネットワークベースアシスタントサービス120と共に)は、明示的宣言124に少なくとも基づいて、ユーザーに対する推薦を生成するように構成される。推薦はさらに、1つまたは複数の環境的トリガーと共に、ユーザーに関する推論情報、ユーザーに関するユーザープロファイル情報に基づいて、および/またはユーザーに関連する他の情報に基づいて生成されてもよい。図1に示されるように、ユーザーインターフェース122は、明示的信号対応推薦システム114によって生成された推薦126をユーザーに提供してもよい。推薦126は、ユーザーインターフェース122の1つもしくは複数のスピーカーから再生される発話もしくは他の音声の形式で提供されてもよく、ユーザーインターフェース122においてテキストとして表示されてもよく、またはユーザーインターフェース122によって別の方式でユーザーに提供されてもよい。
[0047]上記例示的な例を続けると、推薦126は、ユーザーに対し「Hello Sophie,you are now near the Soho neighborhood that you wanted to check out − you should try Mexican food at La Esquina.」として再生されてもよい。別の例では、推薦126は、
Hello Sophie!
You wanted to check out Soho,which is nearby.Here are some Soho restaurants to try:
− La Esquina
− Dos Caminos Soho
などの表示されたリストとしてユーザーに提供されてもよい。そのような例では、ユーザーが、レストランの位置(および、任意選択で、レストランへの経路)において表示されることになるリスト化された推薦されたレストランを選択することを可能にされてもよい。
[0048]これらの例示的な推薦では、Assistantは、ユーザーによってAssistantに提供される明示的宣言に少なくとも基づいて、Sohoの近隣におけるレストランを試みるようユーザー(この例では「Sophie」)に推薦を示している。この推薦は、ユーザーの位置(例えば、Sohoの近隣の近くにいる)、時間(例えば、食事時間の近くにある)など、1つまたは複数の環境的トリガーに基づいてトリガーされていてもよい。1つの例では、ユーザーがSohoの近隣の近くにいたと判定されると、検索エンジンクエリーは、Sohoの近隣において推薦するようレストランに対してトリガーされていてもよい。したがって、一実施形態では、推薦の生成は、推薦に含まれることになる1つまたは複数の項目を生成するようにクエリーを発行することを含んでもよい。1つまたは複数のレストランが推薦されることをもたらす検索クエリーは、Sohoのアトラクション(例えば、「Soho tourist attractions」)に対する複数の単語クエリー、Sohoのレストランに対するクエリー(例えば、「Soho restaurants」)、Sophieのプロファイル(「Soho Mexican restaurants」)に基づく彼女によるお気に入りのタイプのレストランに対するクエリーであるなど、任意の適切な形式を有していてもよい。
[0049]図1の実施形態では、推薦126は、明示的宣言124が提供された同一のユーザーデバイス(ユーザーデバイス102)によってユーザーに提供されることに留意されたい。別の実施形態では、推薦126は、明示的宣言124が提供されたデバイスとは異なるデバイスによってユーザーに提供されてもよいことに留意されたい。
[0050]したがって、実施形態では、ユーザーは、明示的宣言を提供することを可能にされてもよく、後続の推薦は、明示的宣言に少なくとも部分的に基づいて、ユーザーに対して生成されてもよい。これらの実施形態およびさらなる実施形態のさらなる詳細は、以下のセクションにおいて提供される。例えば、このセクションに続くセクション2は、明示的宣言を提供し、推薦を生成するための例示的な方法およびシステムを説明する。セクション3は、本明細書で説明される実施形態を実装するために使用されてもよい例示的なモバイルおよびデスクトップコンピューティングデバイスを説明する。セクション4は、いくつかの結論を提供する。
2.明示的宣言を提供し、推薦を生成するための例示的な実施形態
[0051]上記説明されたように、明示的信号対応推薦システム114は、明示的宣言が提供されること、および推薦を生成することを可能にするように種々の方法で構成されてもよい。例えば、図3は、一実施形態に従った、明示的宣言に基づいて推薦を生成する処理を提供するフローチャート300を示す。明示的信号対応推薦システム114は、一実施形態においてフローチャート300に従って動作してもよい。フローチャート300は、図4に関して以下のように説明される。図4は、例示的な一実施形態に従った、明示的宣言に基づいてユーザーに対する推薦を生成するように構成された図1のユーザーデバイス102およびサーバー104のブロック図を示す。図4に示されるように、ユーザーデバイス102は、明示的信号対応推薦システム(RS)432を含むオンデバイスアシスタントサービス112を含む。明示的信号対応RS432は、明示的信号対応RS114の例である。明示的信号対応RS432は、発話処理モジュール404、ルールジェネレーター406、推薦エンジン408、およびUI(ユーザーインターフェース)430を含む。サーバー104は、明示的信号対応RS434を含むネットワークベースアシスタントサービス120を含む。明示的信号対応RS434は、ルールジェネレーター412および推薦エンジン414を含む。
[0052]サーバー104における明示的信号対応RS434およびユーザーデバイス102の明示的信号対応RS432は、組み合わされた明示的信号対応RSを形成してもよく、または相互に別個であってもよい。明示的信号対応RS434および明示的信号対応RS432は、両方が全ての実施形態に存在する必要はない。
[0053]1つの実施形態では、フローチャート300は全体的に、ユーザーデバイス102で実行されてもよいことに留意されたい。別の実施形態では、ユーザーデバイス102およびサーバー104は各々、フローチャート300の一部を実行してもよい。さらなる構造的および動作的実施形態が、以下の説明に基づいて、関連する分野における当業者にとって明らかになるであろう。
[0054]図3のフローチャート300は、ステップ302で開始する。ステップ302では、明示的宣言がユーザーデバイスのユーザーから受信され、明示的宣言は、後続の推薦に影響を与えるように構成される。図4を参照して、ユーザーは、UI430によって提供される音声入力インターフェース402と対話することによって、明示的宣言416を明示的信号対応RS432に提供することを可能にされてもよい。UI430は、図1のユーザーインターフェース122の例であり、一実施形態では、音声入力インターフェース402は、発話の形式で明示的宣言416を受信するように構成されたマイクロフォンおよび回路を含む。別の実施形態では、UI430は、別の形式で明示的宣言416を受信するために、テキスト入力インターフェース、プッシュボタン(例えば、物理および/もしくは仮想ボタン)、ならびに/または他のインターフェースを含むことができる非音声入力インターフェース436を含んでもよい。明示的宣言416は、一連の単語として、または他の形式で提供されてもよく、後続の推薦に影響を与えることの意図と共にユーザーによって提供される。明示的宣言416は、発話処理モジュール404によって、一連の単語418として、UI430の音声入力インターフェース402から受信されてもよい。一連の単語418は、記録された発話の形式、または話された単語を提供する他の形式で提供されてもよい。代わりに、明示的宣言416は、発話処理モジュール404によって、UI430の非音声インターフェース436から非口頭宣言インジケーション438として受信されてもよい。非口頭宣言インジケーション438は、明示的宣言416が非音声インターフェース436によってユーザーからどのように受信されるかに応じて、テキスト、ボタン選択により示されるデータの形式、または他の形式で提供されてもよい。
[0055]ステップ304では、明示的宣言は、記録を生成するように処理される。例えば、一実施形態では、発話処理モジュール404は、一連の単語418を処理して記録420を生成するように構成される。記録420は、明示的宣言416を表し、任意選択で、記憶装置(図4には示されない)に記憶されてもよい。例えば、記録420は、一連の単語418、明示的宣言416が受信された時間、明示的宣言416が受信された位置、および一連の単語418を処理することによって発話処理モジュール404によって生成されたいずれかの情報(例えば、一連の単語418において識別された位置、一連の単語418において識別された人物、一連の単語418において識別された時間、一連の単語418において識別されたコンテキスト、および/または一連の単語418において識別された類似性)のコンテンツのうちの1つまたは複数を含んでもよい。一連の単語418は、自然言語処理、機械学習、人工知能、および/または明示的宣言416の意味を導出するための他の処理を実行または適用することと共に、重要な特徴抽出を実行するために一連の単語418を構文解析することによって、発話認識を使用すること(提供された明示的宣言416が発話の形式で提供される場合)を含む任意の方式で処理されてもよい。
[0056]例えば、一実施形態では、ステップ304は、図5に従って実行されてもよい。図5は、例示的な一実施形態に従った、受信された明示的宣言を処理して記録を生成するためのフローチャート500を示す。例示を目的に、フローチャート500は、図6を参照して説明される。図6は、例示的な一実施形態に従った、記憶装置604と関連した発話処理モジュール404およびルールジェネレーター602のブロック図を示す。さらなる構造的および動作的実施形態が、以下の説明に基づいて、関連する分野における当業者にとって明らかになるであろう。
[0057]フローチャート500は、ステップ502で開始する。ステップ502では、自然言語処理が明示的宣言の一連の単語に関して実行されて、1つまたは複数の重要な特徴を抽出する。例えば、図6に示されるように、発話処理モジュール404は任意選択で、データコンバーター620を含む。データコンバーター620は、非口頭宣言インジケーション438(存在するとき)を受信するように構成される。上記説明されたように、非口頭宣言インジケーション438は、テキストの形式で提供された明示的宣言を、ボタン選択によって示され、または別の形式によって示されるデータとして示してもよい。データコンバーター620は、非口頭宣言インジケーション438を、変換された非口頭宣言622としてデータコンバーター620によって出力される、1つまたは複数の単語(例えば、一連の単語418に類似した)に変換するように構成されてもよい。このようにして、ボタン押下などの形式で提供される明示的宣言明示的宣言は、意味のために発話処理モジュール404によって処理することができる単語に変換されてもよい。例えば、検索結果文字列、別の人物によって提供される推薦などがそれに続く「Remember that」とラベル付けされた(または、同様にラベル付けされた)ボタン、データコンバーター620は、検索結果文字列、推薦テキスト、などと組み合わされた単語「Remember that」(または他のラベル)を含む文字列を含むように、変換された非口頭宣言622を生成してもよい。
[0058]非口頭宣言インジケーション438が、ユーザーからテキストの形式で受信された(例えば、テキスト入力ボックスにタイプされた、またはそうでなければ、ユーザーからテキストとして受信された)明示的宣言を示すとき、データコンバーター620が必要でないことがある(および、非口頭宣言インジケーション438が下記に説明されるように処理のために自然言語処理モジュール606に提供されてもよい)ことに留意されたい。
[0059]ユーザーによって提供されてもよく、非口頭宣言インジケーション438で受信されてもよい非口頭明示的宣言の例は、ユーザーがどこで物理または仮想ボタンをクリックして明示的宣言を提供したか(例えば、エンティティー上でFacebook(登録商標)の「いいね!」ボタンをクリックし、www.yelp.comにおけるYelp!(登録商標)などのレストランレビューウェブサイト上でレストランを高く評価し、何かを好みとして示すなどによって)のインジケーションを含む。そのようなケースでは、クリックまたはボタン押下と関連付けられたメタデータは、非口頭宣言インジケーション438で提供されてもよい。例示的なケースでは、ユーザーは、別の人物によって推薦が提供されてもよく、ユーザーは、UI430と対話して、推薦を受け付けてもよい。例えば、Sophieは、推薦をAnnaと共有してもよく、Annaは、推薦をメッセージ(例えば、電子メール、テキストメッセージ、インスタントメッセージ、ソーシャルネットワークメッセージなど)でSophieから受信してもよい。Annaは、UI430によって、単に単語「accept」と言うこと、または「accept」とラベル付けされた仮想ボタンを押下して、彼女が自身のアシスタント(例えば、オンデバイスアシスタントサービス112)を望む彼女の明示的宣言を提供して、Sophieからの推薦を思い出すことを可能にされてもよい。別の実施形態では、Annaのアシスタントは、それがAnnaの代わりにSophieから受信されるとき、Sophieの推薦などを静かに受け付けることを可能にされてもよい。例えば、Annaのアシスタントは、Annaから受信されたメッセージにおいて推薦を検出してもよい。Annaのアシスタントによる静かな受け付けは、AnnaがSophieを信頼する可能性があり、AnnaがSophieの推薦を自動的に受け付けることを望むことをAnnaが積極的に示した(例えば、UI430において)ことの前の結論に基づいて可能にされてもよい。
[0060]さらに、発話処理モジュール404は、一連の単語418に関して(および/または、変換された非口頭宣言622に関して)自然言語処理(NLP)を実行するように構成された自然言語処理モジュール606を含んでもよい。一実施形態では、自然言語処理は、構文解析ツリーを生成すること、単語意味曖昧除去を実行すること、命名されたエンティティー認識を実行すること、自然言語理解を実行することなど、のうちの1つまたは複数によって、一連の単語418および/または変換された非口頭宣言622から重要な特徴を抽出してもよい。位置単語(または「トークン」)などの重要な特徴、人物関連単語、時間関連単語、類似性を表現する単語、および/またはコンテキスト関連単語などの重要な特徴がそれらから抽出されてもよい。
[0061]例えば、一実施形態では、NLPモジュール606は、一連の単語418および/または変換された非口頭宣言622に関して構文解析を実行して、下記表1にリスト化された重要な特徴タイプのうちの1つまたは複数でカテゴリー化された1つまたは複数の単語を抽出してもよい。
Figure 2017513115
表1では、各列が特定の特徴タイプカテゴリーである、位置、時間、人物、コンテキスト、および類似性に向けられる。さらに、各特徴タイプカテゴリーは、その包括的でない例が表1の対応する列に示される1つまたは複数のサブカテゴリーを有してもよい。
[0062]よって、NLPモジュール606は、一連の単語418および/または変換された非口頭宣言622のうちの1つまたは複数の単語を、これらのおよび/または他の特徴タイプカテゴリーにカテゴリー化してもよい。このカテゴリー化は、一連の単語418および/または変換された非口頭宣言622の自然言語理解を実行するために、NLPモジュール606によって使用されてもよい。しかしながら、表1のカテゴリーは、例示を目的に提供され、および限定を意図していないことに留意されたい。NLPモジュール606は、単語を、任意のタイプの、表1で提供されるそれらのカテゴリーを含むカテゴリー、ならびに/または他に、関連する分野における当業者にとって既知であり、および/もしくは明らかであることがある任意の他のカテゴリーにカテゴリー化してもよい。任意の特定の単語または一連の単語は、NLPモジュール606によって、単一のカテゴリー、または複数のカテゴリーを含む任意の数のカテゴリーにカテゴリー化されてもよい。実施形態では、推薦は、任意の数のカテゴリーにカテゴリー化された単語/データに基づいて形成されてもよい。
[0063]図5を再度参照して、ステップ504では、記録は、抽出された1つまたは複数の重要な特徴を含むように生成される。例えば、図6に示されるように、発話処理モジュール404は、受信された明示的宣言に対応する記録420を生成する。図6に示されるように、記録420は、ユーザー記録ログ610における記録装置604に新たな記録614nとして記憶されてもよい。一連の単語418および/または変換された非口頭宣言622の自然言語理解を示す情報は、記録420(図4)に関して上記説明された情報を含む抽出された重要な特徴と共に新たな記録614aに記憶されてもよい。ユーザー記録ログ610は、ユーザーによって提供された明示的宣言に基づいて生成された記録のログである。図6に示されるように、ユーザーは、ユーザーから受信された明示的宣言の数「n」に対応して、記録614a〜614nをユーザー記録ログ610に記憶させてもよい。ルールジェネレーター602に関して以下でさらに説明されるように、1つまたは複数のルールは、ユーザーに対する推薦を生成するために使用されることになる記録614a〜614nの各々に基づいて生成されてもよい。
[0064]フローチャート500の1つの例示的な例では、Annaと命名された第1の人物(ユーザー)は、友人Sophie(第2の人物)と話していることがある。Sophieは、Annaが試すべきと彼女が言う素晴らしい新たなレストラン(「Thai Tom」)についてAnnaに対し言及することがある。Annaは、彼女のスマートフォン(例えば、ユーザーデバイス102)を引き出し、彼女の電子パーソナルアシスタントを活性化し、「Assistant、remember that Sophie says I should try Thai Tom.」と言うことがある。電子パーソナルアシスタントは、「Got it」と応答してもよく、または明示的宣言を受信する別の確認を提供してもよい。
[0065]したがって、発話処理モジュール404のNLPモジュール606は、この受信された明示的宣言の自然言語処理を実行して、「remember」(この発言を未来の推薦に対する明示的宣言として使用するためのアシスタントに対する意図のインジケーション)、第2の人物としての「Sophie」、Sophieが推薦をユーザーに提供したことを示すものとしての「I should try」、およびSophieが試みるべき推薦された位置としての「Thai Tom」などの重要な特徴を構文解析してもよい。この情報は、任意の方式で、記録614nなどの記録において示されてもよい。例えば、記録614nは、重要な特徴のカテゴリー名および重要な特徴の値に対応する属性および値と共にデータ構造として記憶されてもよく、本明細書で他に言及された明示的宣言に関する任意の追加の情報を記憶してもよい。
[0066]図4を再度参照して、発話処理モジュール404がユーザーデバイス102に位置していると示されるが、別の実施形態では、受信された明示的宣言のいくつかまたは全ての発話処理が、代わりに、サーバー104において実行されてもよいことに留意されたい。
[0067]図3におけるフローチャート300を再度参照して、ステップ306では、生成された記録に基づいて推薦ルールが生成される。例えば、図4に示されるように、特定の実装形態に応じて、ルールジェネレーター406および推薦エンジン408は、明示的信号対応RS432(ユーザーデバイス102)に含まれてもよく、ルールジェネレーター412および推薦エンジン414は、明示的信号対応RS434(サーバー104)に含まれてもよい。例えば、ユーザーデバイス102が十分な処理能力を有し、適切なデータリソースにアクセスする場合、ルールジェネレーター406および推薦エンジン408は、記録を処理して、明示的宣言の記録に基づいてルールおよび推薦を生成してもよい、別の実施形態では、サーバー104においてルールジェネレーター412および推薦エンジン414を使用して、明示的宣言の記録に基づいてルールおよび/または推薦を生成することが望まれることがあり、なぜならば、より高い処理能力がサーバー104において利用可能であることがあり、所望のデータリソースがサーバー104においてより容易にアクセス可能であることがあり、および/または他の理由があるからである。実施形態では、ルールジェネレーター406、推薦エンジン408、ルールジェネレーター412、および推薦エンジン414の任意の組合せが、本明細書で説明されるようなルールおよび/または推薦を生成するために使用されてもよい。
[0068]特定の実施形態に応じて、ルールジェネレーター406および/またはルールジェネレーター412は、記録420を受信してもよい。ルールジェネレーター406および/またはルールジェネレーター412は、記録420に基づいて、1つまたは複数の推薦ルールを生成するように構成されてもよい。各推薦ルールは、対応する推薦がいつ提供されるか、およびどのように提供されるかを定義する。推薦ルールは、任意の所望のフォーマットを有してもよい、例えば、ルールジェネレーター406および/またはルールジェネレーター412は、OR、XOR、AND、ELSE、NOT、IF−THENなどの演算子を使用して論理ベースのルールを生成してもよく、ならびに/または他のフォーマットで推薦ルールを生成してもよい。図4に示されるように、ルールジェネレーター406(ユーザーデバイス102)は、記録420に基づいて推薦ルール422を生成してもよく、ルールジェネレーター412(サーバー104)は、記録420に基づいて推薦ルール426を生成してもよい。
[0069]例示を目的として、ルールジェネレーター406およびルールジェネレーター412が図6に関してさらに詳細に説明される。図6は、ルールジェネレーター406およびルールジェネレーター412の例示的な一実施形態であるルールジェネレーター602を示す。ルールジェネレーター602は、記録420に基づいて、1つまたは複数の推薦ルールを生成するように構成される。図6に示されるように、一実施形態では、ルールジェネレーター602は論理文ジェネレーター608を含んでもよい。論理文ジェネレーター608は、記録420を受信し、IF−THENルールなどの論理演算子に基づいて、1つまたは複数の対応するルール(例えば、論理的表現または発言)を生成するように構成される。例示を目的としてIF−THENルールが以下のように例として示されるが、実施形態では、任意のフォーマットのルールが使用されてもよい。各IF−THENルールは、IF<第1の論理的表現>THEN<第2の論理的表現>のフォーマットを有する。第1の論理的表現は、ルールに一致するための条件を定義し、第2の論理的表現は、第1の論理的表現に従ってルールが一致するときにどの行動が実行されるかを定義する。
[0070]図6に示されるように、論理文ジェネレーター608は、生成されたルールを記憶装置604に記憶するように構成される。例えば、論理文ジェネレーター608は、記録412に対応する新たなルール616mを記憶装置604に記憶する。ユーザーに対して生成されたルールは、ユーザーに対応するユーザールールログ612に記憶されてもよい。図6に示されるように、ユーザールールログ612は、第1〜第mのルール616a〜616mを含む。第1〜第mのルール616a〜616mは、記録614a〜614nの各々に対応する1つまたは複数のルールを含んでもよい。
[0071]Sophieが「Thai Tom」の推薦をAnnaに提供する上記例を参照して、論理文ジェネレーター608は、以下の推薦ルール、
IF<user requests restaurant>THEN<recommend restaurant“Thai Tom”>
を生成してもよい。
この例では、Annaがレストランを彼女に推薦することを彼女のデジタルパーソナルアシスタントに依頼する場合、上記IF論理文が一致する。したがって、レストラン「Thai Tom」の推薦がTHEN論理文ごとに彼女に提供される。
[0072]任意の複合度のIF−THEN文が論理文ジェネレーター608によって生成されてもよく、それによって、第1の論理文が、満たされることになる2つ以上の条件を有することができ、第2の論理文が、2つ以上の推薦行動を提供することができることに留意されたい。例えば、Sophieが「Thai Tom」の推薦をAnnaに提供する上記例を参照して、Annaは、彼女の現在位置の16.09km(10マイル)以内の推薦されているレストランのみに対し、ユーザープロファイルモデル618で示される選好を有することがある。したがって、論理文ジェネレーター608は、以下の推薦ルール
IF<user requests restaurant AND restaurant“Thai Tom”is within 10 miles of current location>THEN<recommend restaurant“Thai Tom”>
を生成してもよい。
この例では、Annaがレストランを彼女に推薦することを彼女のデジタルパーソナルアシスタントに依頼し、Annaがレストラン「Thai Tom」の16.09km(10マイル)以内に位置している場合(GPSモジュールなどのユーザーデバイス102の位置判定子によって判定されるように)、レストラン「Thai Tom」の推薦が彼女に提供される。そうでない場合、Annaには推薦が提供されない。
[0073]記憶装置604に記憶されて示されるユーザープロファイルモデル618が、ユーザー(彼女のレストランの距離の選好を含む)と関連付けられた個人データの集合を含むことに留意されたい。各ユーザーは、対応するユーザープロファイルモデルを有してもよい。ユーザープロファイルモデル618は、ユーザーの名前および年齢、興味、スキルおよび知識、選好、嫌いなものなどの、ユーザーを説明した情報を示してもよい。ユーザープロファイルモデル618に含まれる情報は、ユーザーによって(例えば、トレーニングによって)積極的に提供されてもよく、またはウェブサイトに訪れる際のユーザーの振る舞いを追跡することによって、ページと対話することによって、他のユーザーと対話することによってなど、黙示的に判定されてもよい。ユーザーは、ユーザーに対して維持されているユーザープロファイルモデル618のいくつかまたは全ての態様を有することをオプトインおよびオプトアウトすることを可能にされてもよい。ユーザープロファイルモデル618は静的または動的であってもよい。ユーザープロファイルモデル618は、ユーザーに対し、ソーシャルネットワーク情報(例えば、友人、家族のメンバー、リンクされたエンティティーなどのインジケーション)を組み込んでもよい。
[0074]ユーザープロファイルモデル618は、任意のフォーマットで記憶および/または表されてもよい。一実施形態では、ユーザープロファイルモデル618は、ユーザーに対するグラフとして表されてもよい。グラフのノードは、ユーザーがそれと関係(例えば、人物、場所、目的など)を有するエンティティーを表してもよく、各ノードは、ユーザーとの関係の強さを示す重み(例えば、好まれ、または嫌われた)を有してもよい。重み付けられたラインは、異なるノード間の関係の強さを示すノード間でつながれてもよい。代わりに、ユーザープロファイルモデル618は、他の方法で表されてもよい。
[0075]記憶装置604(および、存在するとき、ユーザープロファイルモデル618)は、ユーザーデバイス102、バックエンドサーバー104、もしくは別のサーバー(例えば、サーバー106a、サーバー106bなど)に位置してもよく、または複数のデバイスおよび/もしくはサーバーに渡って分散されてもよい。記憶装置604は、磁気ディスク(例えば、ハードディスクドライブ内)、光ディスク(例えば、光ディスクドライブ内)、磁気テープ(例えば、テープドライブ内)、RAMデバイス、ROMデバイスなどのメモリーデバイス、および/または任意の他の適切なタイプの記憶媒体/デバイスを含む、データを記憶するための任意のタイプの記憶媒体/デバイスのうちの1つまたは複数を含んでもよい。
[0076]図3におけるフローチャート300を再度参照して、ステップ308では、ユーザーに対する推薦を生成するために推薦ルールが実行される。例えば、図4に示されるように、推薦エンジン408(ユーザーデバイス102)は、推薦ルール422をルールジェネレーター406から受信してもよく、および/または推薦エンジン414(サーバー104)は、ルールジェネレーター412によって生成された推薦ルール426を受信してもよい。推薦エンジン408および/または推薦エンジン414は、推薦ルール422および/または426を実行して、推薦をユーザーに提供してもよい。
[0077]例えば、推薦エンジン408(ユーザーデバイス102)が推薦ルール422を実行するとき、推薦エンジン408は、推薦424を生成してもよい。推薦424は、UI430に提供されて、UI430の出力インターフェース430によって、提供される推薦426としてユーザーに提供される。出力インターフェース430は、提供される推薦426を、発話もしくは他の音声の形式で再生するスピーカーであってもよく、提供される推薦426を、テキストもしくはグラフィックスの形式で表示するグラフィカルユーザーインターフェース(GUI)であってもよく、または提供される推薦426をユーザーに提供するために使用される別の形式を有してもよい。
[0078]代わりに、推薦エンジン414(サーバー104)が推薦ルール426を実行するとき、推薦エンジン414は、ユーザーデバイス102に送信される推薦428を生成してもよい。推薦428は、出力インターフェース410に、推薦エンジン408によって、推薦424として提供されて、提供される推薦426としてユーザーに提供されてもよく、またはユーザーに別の方式で提供されてもよい。
[0079]推薦エンジン408および/または推薦エンジン414は、ステップ308において任意の方式で推薦ルールを実行してもよい。例えば、図7は、例示的な一実施形態に従った、ユーザーに対する推薦を生成するために推薦ルールを実行するための処理を提供するフローチャート700を示す。例示を目的として、フローチャート700が、図8を参照して説明される。図8は、例示的な一実施形態に従った、推薦ルールを受信してユーザーに対する推薦を生成する推薦エンジン802のブロック図を示す。推薦エンジン802は、推薦エンジン408および推薦エンジン414の例である。さらなる構造的および動作的実施形態が、以下の説明に基づいて、関連する分野における当業者にとって明らかになるであろう。
[0080]フローチャート700は、ステップ702で開始する。ステップ702では、推薦ルールが1つまたは複数の環境的トリガーに一致する。例えば、推薦エンジン802は、1つまたは複数の環境的トリガー804を受信してもよい。環境的トリガー804は、現在時刻、未来の時刻、現在位置、未来の位置(例えば、予想され、または既知の/計画された未来の位置)、ユーザーと現在共にいる人物、未来ユーザーと共にいることになる人物(例えば、未来の時刻および/または位置においてユーザーと共にいると予想され、もしくは既知/計画された人物)、ユーザーの活動、アプリケーションまたはサービスから受信された信号、ユーザーが推薦を望むことのユーザーによるインジケーションなどのうちの1つまたは複数を含んでもよい。アプリケーションまたはサービスは、ユーザーデバイス102上に存在してもよく、またはリモートであってもよい(例えば、第2のユーザーデバイス108、サーバー106aにおける第三者サービス116、サーバー106bにおける第三者サービス118になど)。
[0081]例えば、上記説明されたように、時間、位置、および/または人物は、環境的トリガーであってもよい。1つの例では、ユーザーAnnaは、Sophieと偶然出会うことがあり、Sophieの存在は、Annaの推薦システムに対する環境的トリガーであってもよい。Sophieの存在は、Annaのユーザーデバイスによって(例えば、Sophieの自身のモバイルデバイスの位置判定によって、Sophieの声を検出することによって、Annaが「Hi Sophie」または他の挨拶を言うことを検出されることによって、AnnaがユーザーデバイスのUI上でインジケーションを提供することによってなど)任意の方式で検出されてもよい。Sophieの存在は、Sophieの周囲のAnnaに対する1つまたは複数の推薦をトリガーしてもよい。
[0082]別の例では、ユーザーは、「Find me a restaurant for next Saturday night.」の発言を提供してもよい。そのような発言は、ユーザーがその時間枠においてシカゴにいることを計画していると推薦システムが認識している場合(例えば、ユーザーのカレンダー、ユーザーによってなされた前の発言などから)シカゴなどの未来の位置が推薦に対する環境的トリガーであると予測するために使用されてもよい。未来の位置および/または未来ユーザーと共にいる人物の予測は、ユーザーの過去のトラベルパターン、カレンダーイベントなどの観察されたプラン、他のアシスタントの対話からの学習されたデータ、または位置自体の固有の特性から判定されてもよい。例えば、「Alinea」が、シカゴのみに存在するレストランであり、ユーザーがAlineaをレストランとして推薦する場合、レストランAlineaと関連付けられたメタデータは、位置などの追加の特徴を示すことができる。多くの位置を有するレストランまたは他のビジネス(例えば、「Starbucks(登録商標)」)に対し、予測を改善するために追加の情報(例えば、ユーザーによる他の発言など)が使用されてもよい。
[0083]ステップ702に従って、1つまたは複数の示された環境的トリガーがユーザールールログ612の推薦ルール616a〜616mと比較される。推薦ルール616a〜616mのうちの1つまたは複数との一致が発見された場合、1つまたは複数の対応する推薦が実行されてもよい。
[0084]例えば、一実施形態では、環境的トリガー804は、推薦ルール616a〜616mがIF−THEN推薦ルールであるときに推薦ルール616a〜616mのIF論理文と比較されてもよい。環境的トリガーと一致するIF論理文を有する推薦ルール616a〜616mのいずれかが、実行のために選択されてもよい。
[0085]Sophieが「Thai Tom」の推薦をAnnaに提供する上記例を継続して、Annaは、授業の後に即時的な遅い夜の食事を探していることがある。このように、Annaは、「What’s a good place for dinner?」と電子パーソナルアシスタントに依頼することがある。夕食の推薦に対するこの要求は、環境的トリガー804として推薦エンジン802に提供されてもよい。したがって、推薦エンジン802は、レストランの推薦に対する要求の環境的トリガーを、ユーザーに対するユーザールールログ612におけるルール616a〜616nと一致させることを試みてもよい。推薦エンジン802は、以下の推薦ルール
IF<user requests restaurant>then<recommend restaurant“Thai Tom”>
との一致を発見することができる。
この推薦ルールのIF論理文がさらに、一致されるために、位置制約、時間制約などの制約を含んでもよいことに留意されたい。このように、現在時刻、現在位置、および/または他の環境的トリガーは、レストランの推薦要求に従って、ルール616a〜616nと一致することになる環境的トリガー804において推薦エンジンに提供されてもよい。
[0086]ステップ704では、推薦ルールは、ユーザーに対する推薦を生成するために1つまたは複数の環境的トリガーに関して実行される。一実施形態では、図8に示されるように、推薦エンジン802がステップ702において一致を判定する場合、推薦802は、一致する推薦ルールに対応する推薦を、推薦424または428として提供するように構成される。複数の推薦ルールがステップ702において一致すると判定される場合、一致する推薦ルールは、任意の方式で優先付けされてもよく、優先付けによって判定された順序でユーザーに提供されてもよいことに留意されたい。代わりに、まさに最高優先度の推薦がユーザーに提供されてもよい。
[0087]別の実施形態では、ステップ704においてユーザーに対する推薦を生成することに加えて、またはその代わりに、推薦ルールは、追加のデータを収集するように構成されたものが実行されてもよいことに留意されたい。よって、ステップ704において、ユーザーに推薦を提供するのではなく、推薦ルールは、追加のデータをユーザーおよび/または他のソースから(例えば、別のアプリケーションもしくはサービスなどから)収集するように構成されてもよい。例えば、推薦ルールは、質問をユーザーに提示させてもよい(例えば、「You are now in the Soho neighborhood that you asked me to remember and it is time to eat.What kind of food are you in the mood for?」)。質問への回答は、ユーザーが質問に回答した直後、1つまたは複数のさらなる質問が提示された後、および/または他の後のある時に、ユーザーに対する推薦を生成するために使用されてもよい。
[0088]一実施形態では、推薦ルール616a〜616mがIF−THEN推薦ルールであるとき、推薦エンジン802は、一致する推薦ルールに対してTHEN論理文の行動を実行してもよい。例えば、Sophieが「Thai Tom」の推薦をAnnaに提供する上記例を継続して、推薦エンジン802は、対応するIF論理文(ユーザーがレストランを要求する)との一致が発見されたことに起因して、Annaにレストラン「Thai Tom」を、彼女の質問「what’s a good place for dinner?」に対する応答での推薦として提供してもよい。
[0089]1つの例では、推薦ルールに対するTHEN論理文は、特定のクエリーを検索エンジンなどのクエリー処理エンティティーに提供するための行動などの行動を含んでもよいことに留意されたい。SophieおよびAnnaの現在の例では、THEN論理文は、近くのThaiフードレストランに対するクエリーであってもよい。この方式では、複数の検索結果の推奨が、一致に応答して提供されてもよい。
[0090]別の例では、推薦ルールは、推薦に対する環境的トリガーが未来に発生するとして既知であるときに、推薦の態様をユーザーに思い出させるように構成されてもよい。例えば、人物、Bobは、ユーザーに、ユーザーがシカゴにいる次の時の夕食のためにAlineaレストランをチェックアウトするよう伝えることがある。したがって、ユーザーは、アシスタントに「Remember that I should check out the Alinea restaurant next time I am in Chicago.」と伝えてもよい。推薦ルールは、レストランAlineaの予約がブックされるべきことを(例えば、レストランがポピュラーであるとして既知であるから)、シカゴへのユーザーの次の旅行(それは翌月に計画されていてもよい)の計画の間にユーザーに思い出させるように構成されてもよい。旅行に対する計画段階の間に予約をブックすることをユーザーに思い出させることによって、ユーザーが実際に旅行でシカゴに到着するとき、予約が既になされている(それは、予約をなすのに遅すぎない)。
[0091]一実施形態では、複数の推奨が、ユーザーのユーザープロファイルモデル618に含まれるユーザーのユーザープロファイル情報に基づいてランク付けされてもよい。例えば、Sophieがユーザープロファイルモデル618において示されるように、Annaによって比較的高く評価される場合、推奨されたレストランのリストのトップではないにしても、「Thai Tom」のSophieの推薦は、高くランク付けされてもよい。SophieがAnnaによって高く評価されない場合、「Thai Tom」のSophieの推薦は、低くランク付けされてもよく、または推奨されたレストランのリストに全く含まれなくてもよい。
[0092]実施形態では、明示的な行動は、他の黙示的な信号を修正または通知することができることに留意されたい。例えば、Annaが上記レストラン「Thai Tom」に対するSophieの推薦を実行した場合(例えば、Thai Tomレストランの位置に行くことによって、およびその位置で検出されることによって)、Annaに提供される未来のレストランのランク付けは、Sophieの選好を考慮することができる。そのような一実施形態では、ルールジェネレーター602および/または推薦エンジン802は、ルールおよび/または推薦を生成するときにSophieの選好を考慮することができる。Sophieは、彼女の選好をAnna、よって、図1の第三者サービス116などのサービス(例えば、ソーシャルネットワークもしくはその他)において、または第2のユーザーデバイス108(Sophieのユーザーデバイスであってもよい)において、ルールジェネレーター602に利用可能にすることができる。例えば、ルールジェネレーター602および/または推薦エンジン802は、1つまたは複数のこれらの位置において、Sophieのユーザープロファイルモデルにアクセスすることを可能にされてもよい。
[0093]このように、Sophieは、未来にAnnaに提供される検索結果および推薦に対するマーク付けされた高「インフルエンサー(influencer」になることができる。これはまた、AnnaがSophieの推薦を実行し、および/または好んだので、Sophieに提供される検索結果および推薦を修正するために使用されることになるAnnaのユーザープロファイル情報を、Sophieが提供され得るように逆にされてもよい。
[0094]一実施形態では、Annaは、Sophieが推薦したレストラン行き、次いで、レビュー上でレストランを低く点数付けし、または彼女がレストランを好まなかったと彼女のデジタルパーソナルアシスタントに伝えるなど、1つまたは複数の消極的な行動をとることがある。そのような消極的な行動は、Annaに関してSophieを低インフルエンサーにさせ(消極的なインフルエンサーになることを含む)、および/またはAnnaのユーザープロファイル情報を減少させ、もしくはSophieに提供されることを回避する強力な消極的信号を提供することができる。したがって、ユーザーに推薦をインフルエンサーとして提供する人物の状態は、推薦に対するユーザーによる反応に応じてより高くまたはより低く調整されてもよい。例えば、ユーザーが積極的に反応する(例えば、推薦を実行し、および/または好んだ)場合、推薦を提供する人物の状態は、ユーザーに関して高インフルエンサーである方向に移動されてもよい。ユーザーが消極的に反応する(例えば、推薦を実行せず、および/または推薦に対して嫌いであると示した)場合、推薦を提供する人物の状態は、ユーザーに関して低インフルエンサーである方向に移動されてもよい。
[0095]1つの実施形態では、第2のユーザー(例えば、Sophie)は、第1のユーザー(例えば、Anna)に対して全ての領域(例えば、レストラン、映画、トラベル位置、活動、服、または他の小売項目など)に渡って、高または低インフルエンサーとして考えられてもよいことに留意されたい。別の実施形態では、第2のユーザーは、領域ごとをベースに第1のユーザーに対して高または低インフルエンサーとして考えられてもよい。例えば、Sophieは、レストランの推薦に関してAnnaに対する高インフルエンサーとして考えられてもよく(例えば、彼らが食べ物において同様の嗜好を有しているから)、Sophieは、映画の推薦に関してAnnaに対して低インフルエンサーとして考えられてもよい(例えば、彼らは映画において同一の趣味を共有しないから)。
[0096]この方式では、ユーザーに対するユーザープロファイルモデルは、実世界の対話(例えば、ユーザーが実際に推薦を使用させたか、さもなければ推奨と対話したか?)に基づいて、興味のある、かつ信頼されたインフルエンサーのプロファイルを含むように構築されてもよい。したがって、ユーザーのユーザープロファイルモデルへの修正に基づいて、ユーザーに対する未来の検索結果および推薦が同調されてもよい。
[0097]一実施形態では、これらの技術は、特に、デジタルパーソナルアシスタントが前にこれらのカテゴリーがユーザーの興味でなかったことを認識していなかった場合、興味カテゴリーの周囲の雑談を構築することによって拡張されてもよい。例えば、ユーザーによって提供される特定の明示的宣言は、デジタルパーソナルアシスタントによる即時的なget−to−know−youの質疑応答セッションに対する開始点として使用されてもよい。例えば、ユーザーは、以下の明示的宣言、「Assistant,remind me to try and see Gravity in the theater once it’s out.」を提供してもよい。これに応答して、デジタルパーソナルアシスタントは、「Cool,I’ll remind you」と述べてもよく、これに「I didn’t know you were a sci−fi fan,I’ll remember that. Or,do you just adore George Clooney?」などの1つまたは複数の質問文を付け加えてもよい。
[0098]実施形態では、検索および推薦は、デバイスに渡って生じてもよく、ユーザーにリンクされるデバイスのいずれかから受信される明示的または黙示的信号によって同調されてもよいことに留意されたい。
[0099]別の実施形態では、明示的宣言は、単一のエンティティーに対して正確である必要があるが(例えば、「Thai Tom」などの特定のレストランに関して)、より一般的であってもよい。例えば、以下の明示的宣言、「Assistant,remind me to check out this neighborhood some other time.」がユーザーによって提供されてもよい。近隣についてのこの一般的な発言は、週末にその近隣を探索することを推奨し、その近隣と関連付けられたビジネスの推薦をより高くランク付けするように推薦エンジンを訓練するために使用されてもよい。別の実施形態では、単一のレストランのタイプの代わりに、料理(例えば、メキシカン)またはチェーン(「McDonalds(登録商標)」が表現されてもよい。そのような一般性が任意のタイプの明示的宣言で使用されてもよい。
[00100]実施形態では、明示的宣言は、同調情報の複数の態様を含むことができる。例えば、以下の例示的な明示的宣言、「Assistant,remind me that Miles and I should shop at Urban Outfitters(商標)sometime」は、場所(Urban Outfitters(商標))に対する類似性および特定の人物(Miles)と共にその場所に行くことに対する類似性の両方を通信する。同様に、類似性は、例示的な明示的宣言「remind me to check out the Bounce Palace when I’m planning Luca’s next birthday party.」などにあるように、重要な日などの他の情報のタイプに対して存在してもよい。
[00101]一実施形態では、明示的宣言は、商業的供給を備えるために、位置共有および言及要素と相関付けされてもよい。例えば、Sophieは、彼女がそこに行くときの次の時に、彼女がレストランに対してAnnaに言及したので、「Thai Tom」レストランにおいて割引を受けることができる(「例えば、Annaは、Annaがレストランにチェックインし、もしくはBluetoothビーコンでタグ付けされたとき、またはレストランにおける彼女の存在の他の証明のときに、「Sophieの友人」割引を受けたかもしれない)。
[00102]またさらに、Annaの明示的な推薦をSophieのデジタルパーソナルアシスタントの注記に入力する代替的な方法として、地図のお気に入りの共有リストが使用されてもよい。例えば、Annaは、「oh, I’ll share you my list of favorite Chicago restaurants.」と言うことを可能にされてもよい。彼女がこれを行うとき、Sophieは、彼女のデジタルパーソナルアシスタントに、リスト全体を思い出すよう、または特に注意すべきように見えるいくつかのことを選定するよう伝えることができる。
3.例示的なモバイルおよびステーショナリーデバイスの実施形態
[00103]ユーザーデバイス102、バックエンドサーバー104、サーバー106a、サーバー106b、第2のユーザーデバイス108、オンデバイスアシスタントサービス112、明示的信号対応推薦システム114、第三者サービス116、第三者サービス118、ネットワークベースアシスタントサービス120、音声入力インターフェース402、発話処理モジュール404、ルールジェネレーター406、推薦エンジン408、出力インターフェース410、UIモジュール412、ルールジェネレーター412、推薦エンジン414、明示的信号対応推薦システム432、明示的信号対応推薦システム434、非音声入力インターフェース436、NLPモジュール606、論理文ジェネレーター608、データコンバーター620、推薦エンジン802、フローチャート200、フローチャート300、フローチャート500、およびフローチャート700は、ハードウェア、またはソフトウェアおよび/もしくはファームウェアと組み合わされたハードウェアで実装されてもよい。例えば、オンデバイスアシスタントサービス112、明示的信号対応推薦システム114、第三者サービス116、118、ネットワークベースアシスタントサービス120、音声入力インターフェース402、発話処理モジュール404、ルールジェネレーター406、推薦エンジン408、出力インターフェース410、UIモジュール412、ルールジェネレーター412、推薦エンジン414、明示的信号対応推薦システム432、明示的信号対応推薦システム434、非音声入力インターフェース436、NLPモジュール606、論理文ジェネレーター608、データコンバーター620、および/または推薦エンジン802と共に、フローチャート200、フローチャート300、フローチャート500、および/またはフローチャート700のうちの1つまたは複数のステップは、1つまたは複数のプロセッサーにおいて実行され、コンピューター可読記憶媒体に記憶されるように構成されたコンピュータープログラムコード/命令として実装されてもよい。代わりに、ユーザーデバイス102、バックエンドサーバー104、サーバー106a、サーバー106b、第2のユーザーデバイス108、オンデバイスアシスタントサービス112、明示的信号対応推薦システム114、第三者サービス116、第三者サービス118、ネットワークベースアシスタントサービス120、音声入力インターフェース402、発話処理モジュール404、ルールジェネレーター406、推薦エンジン408、出力インターフェース410、UIモジュール412、ルールジェネレーター412、推薦エンジン414、明示的信号対応推薦システム432、明示的信号対応推薦システム434、非音声入力インターフェース436、NLPモジュール606、論理文ジェネレーター608、データコンバーター620、および/または推薦エンジン802と共に、フローチャート200、フローチャート300、フローチャート500、および/またはフローチャート700のうちの1つまたは複数のステップは、ハードウェア論理/電気回路として実装されてもよい。
[00104]例えば、一実施形態では、任意の組合せにあるオンデバイスアシスタントサービス112、明示的信号対応推薦システム114、第三者サービス116、第三者サービス118、ネットワークベースアシスタントサービス120、音声入力インターフェース402、発話処理モジュール404、ルールジェネレーター406、推薦エンジン408、出力インターフェース410、UIモジュール412、ルールジェネレーター412、推薦エンジン414、明示的信号対応推薦システム432、明示的信号対応推薦システム434、非音声入力インターフェース436、NLPモジュール606、論理文ジェネレーター608、データコンバーター620、推薦エンジン802、フローチャート200、フローチャート300、フローチャート500、および/またはフローチャート700のうちの1つまたは複数は、SoCで共に実装されてもよい。SoCは、プロセッサー(例えば、中央処理装置(CPU)、マイクロコントローラー、マイクロプロセッサー、デジタルシグナルプロセッサー(DSP)など)、メモリー、1つもしくは複数の通信インターフェース、および/またはさらなる回路のうちの1つまたは複数を含む集積回路チップを含んでもよく、任意選択で、受信されたプログラムコードを実行してもよく、および/または機能を実行するために組み込みファームウェアを含んでもよい。
[00105]図9は、全体的にコンポーネント902として示される、様々な任意選択ハードウェアおよびソフトウェアコンポーネントを含む例示的なモバイルデバイス900のブロック図を示す。例えば、モバイルデバイス900のコンポーネント902は、モバイルデバイスの実施形態における、ユーザーデバイス102、バックエンドサーバー104、サーバー106a、サーバー106b、および/または第2のユーザーデバイス108に含まれてもよいコンポーネントの例である。任意の数および組合せのコンポーネント902の特徴/要素は、モバイルデバイスの実施形態と共に、関連する分野における当業者にとって既知であるように、追加のおよび/または代替的な特徴/要素に含まれてもよい。コンポーネント902のいずれかが、コンポーネント902のいずれかその他と通信することができるが、説明を簡潔にするために、全ての接続が示されるわけではないことに留意されたい。モバイルデバイス900は、本明細書の他で説明もしくは言及され、または他に知られている様々なモバイルデバイスのいずれかであってもよく(例えば、携帯電話、スマートフォン、ハンドヘルドコンピューター、携帯情報端末(PDA)など)、およびセルラーもしくはサテライトネットワークなどの1つもしくは複数の通信ネットワーク904上で1つもしくは複数のモバイルデバイスと、またはローカルエリアもしくはワイドエリアネットワークとの無線双方向通信を可能にすることができる。
[00106]示されたモバイルデバイス900は、信号符号化、画像処理、データ処理、入力/出力処理、電力制御、および/または他の機能などのタスクを実行するためのプロセッサー回路910と称されるコントローラーまたはプロセッサーを含むことができる。プロセッサー回路910は、中央処理装置(CPU)としての1つもしくは複数の物理ハードウェア電気回路デバイス要素および/もしくは集積回路デバイス(半導体材料チップもしくはダイ)、マイクロコントローラー、マイクロプロセッサー、ならびに/または他の物理ハードウェアプロセッサー回路で実装される電気および/または光回路である。プロセッサー回路910は、メモリー920に記憶された1つまたは複数のアプリケーション914、オペレーティングシステム912、任意のプログラムコードのプログラムコードなど、コンピューター可読媒体に記憶されたプログラムコードを実行することができる。オペレーティングシステム912は、コンポーネント902の割り当ておよび使用を制御することができ、1つまたは複数のアプリケーションプログラム914(別名アプリケーション、「app」など)をサポートすることができる。アプリケーションプログラム914は、共通モバイルコンピューティングアプリケーション(例えば、電子メールアプリケーション、カレンダー、コンタクトマネージャー、ウェブブラウザ、メッセージングアプリケーション)、および任意の他のコンピューティングアプリケーション(例えば、文書処理アプリケーション、マップアプリケーション、メディアプレイヤーアプリケーション)を含むことができる。
[00107]示されたように、モバイルデバイス900は、メモリー920を含むことができる。メモリー920は、着脱不能メモリー922および/または着脱可能メモリー924を含むことができる。着脱不能メモリー922は、RAM、ROM、フラッシュメモリー、ハードディスク、または他の周知のメモリー記憶技術を含むことができる。着脱可能メモリー924は、GSM(登録商標)通信システムで周知のフラッシュメモリーもしくは加入者識別モジュール(SIM)カード、または「スマートカード」などの他の周知のメモリー記憶技術を含むことができる。メモリー920は、オペレーティングシステム912およびアプリケーション914を実行するためのデータおよび/またはコードを記憶するために使用されてもよい。例示的なデータは、ウェブページ、テキスト、画像、音声ファイル、ビデオデータ、または1つもしくは複数の有線もしくは無線ネットワークを介して1つもしくは複数のネットワークサーバーもしくは他のデバイスに送信され、および/もしくはそれらから受信されることになる他のデータセットを含むことができる。メモリー920は、国際移動加入者識別番号(IMSI)などの加入者識別子、および国際移動装置識別番号(IMEI)などの装置識別子を記憶するために使用されてもよい。そのような識別子は、ユーザーおよび装置を識別するためにネットワークサーバーに送信されてもよい。
[00108]いくつかのプログラムがメモリー920に記憶されてもよい。これらのプログラムは、オペレーティングシステム912、1つまたは複数のアプリケーションプログラム914、ならびに他のプログラムモジュールおよびプログラムデータを含む。そのようなアプリケーションプログラムまたはプログラムモジュールの例は、例えば、オンデバイスアシスタントサービス112、明示的信号対応推薦システム114、第三者サービス116、第三者サービス118、ネットワークベースアシスタントサービス120、音声入力インターフェース402、発話処理モジュール404、ルールジェネレーター406、推薦エンジン408、出力インターフェース410、UIモジュール412、ルールジェネレーター412、推薦エンジン414、明示的信号対応推薦システム432、明示的信号対応推薦システム434、非音声入力インターフェース436、NLPモジュール606、論理文ジェネレーター608、データコンバーター620、推薦エンジン802、フローチャート200、フローチャート300、フローチャート500、および/またはフローチャート700(フローチャート200、300、500、および700の任意の適切なステップを含む)、ならびに/または本明細書で説明されるさらなる実施形態を実装するためのコンピュータープログラム論理(例えば、コンピュータープログラムコードまたは命令)を含んでもよい。
[00109]モバイルデバイス900は、タッチスクリーン932、マイクロフォン934、カメラ936、物理キーボード938および/もしくはトラックボール940などの1つまたは複数の入力デバイス930、ならびにスピーカー952およびディスプレイ954などの1つまたは複数の出力デバイス950をサポートすることができる。タッチスクリーン932などのタッチスクリーンは、異なる方法で入力を検出することができる。例えば、容量性タッチスクリーンは、目的物(例えば、指先)が表面を駆ける電流を歪めまたは妨げるときのタッチ入力を検出する。別の例として、タッチスクリーンは、光センサーからのビームが妨げられるときのタッチ入力を検出するために光センサーを使用することができる。画面の表面との物理接触は、いくつかのタッチスクリーンによって入力が検出されることに必要ではない。例えば、タッチスクリーン932は、本分野でよく理解されるように、容量性検知を使用して、指のホバリング検出をサポートするように構成されてもよい。既に上記説明されたように、カメラベースの検出および超音波ベースの検出を含む他の検出技術が使用されてもよい。指のホバリングを実装するために、ユーザーの指は主として、0.254〜0.635cm(0.1〜0.25インチ)の間、0.635〜0.127cm(0.25〜0.05インチ)の間、1.27〜1.905cm(0.5〜0.75インチ)の間、1.905〜2.54cm(0.75〜1インチ)の間、または2.54〜3.81cm(1〜1.5インチ)の間など、タッチスクリーン上の所定の間隔を空けた距離以内にある。
[00110]タッチスクリーン932は、例示を目的に、制御インターフェース992を含むとして示される。制御インターフェース992は、タッチスクリーン932上に表示される仮想要素と関連付けられたコンテンツを制御するように構成される。例示的な一実施形態では、制御インターフェース992は、アプリケーション914のうちの1つまたは複数によって提供されるコンテンツを制御するように構成される。例えば、モバイルデバイス900のユーザーがアプリケーションを利用するとき、制御インターフェース992は、タッチスクリーン932上でユーザーに提示されて、ユーザーが、そのようなコンテンツを制御する制御にアクセスすることを可能にしてもよい。制御インターフェース992の提示は、タッチスクリーン932から指定された距離以内での動きの検出、またはそのような動きがないことに基づいても(例えば、それによってトリガーされても)よい。動きまたはそれがないことに基づいて制御インターフェース(例えば、制御インターフェース992)をタッチスクリーン(例えば、タッチスクリーン932)上で提示させるための例示的な実施形態は、以下でさらに詳細に説明される。
[00111]他の考えられる出力デバイス(図示せず)は、圧電性または他の触覚出力デバイスを含むことができる。いくつかのデバイスは、2つ以上の入力/出力機能を供給することができる。例えば、タッチスクリーン932およびディスプレイ954は、単一の入力/出力デバイスに組み合わされてもよい。入力デバイス930は、自然ユーザーインターフェース(NUI)を含むことができる。NUIは、ユーザーが、マウス、キーボード、およびリモート制御などの入力デバイスによって課される人工的制約から解放する、「自然な」方式でデバイスと対話することを可能にする任意のインターフェース技術である。NUI方法の例は、発話認識、タッチおよびスタイラス認識、画面および画面の隣の両方でのジェスチャー認識、空気ジェスチャー、ヘッドおよびアイトラッキング、音声および発話、視覚、タッチ、ジェスチャー、ならびにマシンインテリジェンスに依存する方法を含む。NUIの他の例は、加速度計/ジャイロスコープを使用した動きジェスチャー検出、顔認識、3D表示、ヘッド、アイ、およびゲイズトラッキング、没入型拡張現実および仮想現実システムであり、それらは全て、さらに自然なインターフェースと共に、電場・電界検知電極(EEGおよび関連する方法)を使用した脳活動を検知するための技術を提供する。よって、1つの特定の例では、オペレーティングシステム912またはアプリケーション914は、音声コマンドを介してユーザーがデバイス900を動作させることを可能にする音声制御インターフェースの一部としての発話認識ソフトウェアを含むことができる。さらに、デバイス900は、入力デバイス、ならびにジェスチャーを検出および解釈して、ゲームアプリケーションに入力を提供することなど、ユーザーの空間的ジェスチャーを介したユーザー対話を可能にするソフトウェアを含むことができる。
[00112]無線モデム960は、本分野でよく理解されるように、アンテナ(図示せず)に結合されてもよく、プロセッサー回路910と外部デバイスとの間の双方向通信をサポートすることができる。モデム960が全体的に示され、モバイル通信ネットワーク904と通信するためのセルラーモデム966、および/または他の無線ベースのモデム(例えば、Bluetooth(登録商標)964および/またはWi−Fi962)を含むことができる。セルラーモデム966は、GSM、3G、4G、5Gなどの任意の適切な通信規格または技術に従って、通話を可能にする(および任意選択で、データを送信する)ように構成されてもよい。無線モデム960の少なくとも1つは主として、セルラーネットワーク間で、またはモバイルデバイスと公衆交換電話網(PSTN)との間で、単一のセルラーネットワーク内でデータおよび音声通信に対するGSMネットワークなど、1つまたは複数のセルラーネットワークとの通信のために構成される。
[00113]モバイルデバイス900はさらに、少なくとも1つの入力/出力ポート980、電力供給装置982、グローバルポジショニングシステム(GPS)受信機などのサテライトナビゲーションシステム受信機984、加速度計986、および/またはUSBポート、IEEE1394(Fire Wire)ポート、および/もしくはRS−232ポートとすることができる物理コネクター990を含むことができる。示されたコンポーネント902は必要ではなく、または包含的であり、当業者によって認識されるように、いずれかのコンポーネントが存在しなくてもよく、他のコンポーネントが追加的に存在してもよい。
[00114]さらに、図10は、実施形態を実装することができるコンピューティングデバイス1000の例示的な一実装形態を示す。例えば、ユーザーデバイス102、バックエンドサーバー104、サーバー106a、サーバー106b、および/または第2のユーザーデバイス108は、コンピューティングデバイス1000の1つもしくは複数の特徴および/または代替的な特徴を含む、静止コンピューターの実施形態におけるコンピューティングデバイス1000と同様の1つまたは複数のコンピューティングデバイスにおいて実装されてもよい。本明細書で提供されるコンピューティングデバイス1000の説明は、例示を目的として提供され、限定するものと意図されない。関連する分野における当業者にとって既知のように、さらなるタイプのコンピューターシステムで実施形態が実装されてもよい。
[00115]図10に示されるように、コンピューティングデバイス1000は、プロセッサー回路1002と称される1つまたは複数のプロセッサー、システムメモリー1004、およびシステムメモリー1004を含む種々のシステムコンポーネントをプロセッサー回路1002に結合するバス1006を含む。プロセッサー回路1002は、中央処理装置(CPU)、マイクロコントローラー、マイクロプロセッサー、および/または他の物理ハードウェアプロセッサー回路としての1つまたは複数の物理ハードウェア電気回路デバイス要素および/または集積回路デバイス(半導体材料チップまたはダイ)で実装される電気および/または光回路である。プロセッサー回路1002は、オペレーティングシステム1030、アプリケーションプログラム1032、他のプログラム1034などのプログラムコードなど、コンピューター可読媒体に記憶されたプログラムコードを実行することができる。バス1006は、メモリーバスまたはメモリーコントローラー、周辺バス、加速化グラフィックポート、および様々なバスアーキテクチャーのうちのいずれかを使用したプロセッサーもしくはローカルバスを含む、いくつかのタイプのバス構造のうちのいずれかの1つまたは複数を表す。システムメモリー1004は、リードオンリーメモリー(ROM)1008およびランダムアクセスメモリー(RAM)1010を含む。基本入力/出力システム1012(BIOS)は、ROM1008に記憶される。
[00116]コンピューティングデバイス1000はまた、以下のドライブ、ハードディスクから読み込みおよびそれに書き込むためのハードディスクドライブ1014、着脱可能磁気ディスク1018から読み込みおよびそれに書き込むための磁気ディスクライブ1016、ならびにCD ROM、DVD ROM、または他の光学媒体などの着脱可能光ディスク1022から読み込みおよびそれに書き込むための光ディスクドライブ1020のうちの1つまたは複数を有する。ハードディスクドライブ1014、磁気ディスクドライブ1016、および光ディスクドライブ1020は、ハードディスクドライブインターフェース1024、磁気ディスクドライブインターフェース1026、および光学ドライブインターフェース1028のそれぞれによってバス1006に接続される。ドライブおよびそれらの関連するコンピューター可読媒体は、コンピューター可読命令、データ構造、プログラムモジュールおよびコンピューターに対する他のデータの不揮発性記憶を提供する。ハードディスク、着脱可能磁気ディスクおよび着脱可能光ディスクが説明されるが、フラッシュメモリーカード、デジタルビデオディスク、RAM、ROMおよび他のハードウェア記憶媒体などの他のタイプのハードウェアベースのコンピューター可読記憶媒体が、データを記憶するために使用されてもよい。
[00117]いくつかのプログラムモジュールは、ハードディスク、磁気ディスク、光ディスク、ROM、またはRAMに記憶されてもよい。これらのプログラムは、オペレーティングシステム1030、1つまたは複数のアプリケーションプログラム1032、他のプログラム1034、およびプログラムデータ1036を含む。アプリケーションプログラム1032または他のプログラム1034は、例えば、オンデバイスアシスタントサービス112、明示的信号対応推薦システム114、第三者サービス116、第三者サービス118、ネットワークベースアシスタントサービス120、音声入力インターフェース402、発話処理モジュール404、ルールジェネレーター406、推薦エンジン408、出力インターフェース410、UIモジュール412、ルールジェネレーター412、推薦エンジン414、明示的信号対応推薦システム432、明示的信号対応推薦システム434、非音声入力インターフェース436、NLPモジュール606、論理文ジェネレーター608、データコンバーター620、推薦エンジン802、フローチャート200、フローチャート300、フローチャート500、および/もしくはフローチャート700(フローチャート200、300、500、および700の任意の適切なステップを含む)、ならびに/または本明細書で説明されるさらなる実施形態を実装するためのコンピュータープログラム論理(例えば、コンピュータープログラムコードまたは命令)を含んでもよい。
[00118]ユーザーは、コマンドおよび情報を、キーボード1038およびポインティングデバイス1040などの入力デバイスを通じてコンピューティングデバイス1000に入力することができる。他の入力デバイス(図示せず)は、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナー、タッチスクリーンおよび/もしくはタッチパッド、音声入力を受信するための音声認識システム、またはジェスチャー入力を受信するためのジェスチャー認識システム、などを含んでもよい。これらおよび他の入力デバイスは、バス1006に結合されたシリアルポートインターフェース1042を通じてプロセッサー回路1002に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)などの他のインターフェースによって接続されてもよい。
[00119]ディスプレイ画面1044はまた、ビデオアダプター1046などのインターフェースを介してバス1006に接続される。ディスプレイ画面1044は、コンピューティングデバイス1000の外部であってもよく、またはコンピューティングデバイス1000に組み込まれてもよい。ディスプレイ画面1044は、情報を表示すると共に、ユーザーコマンドおよび/または他の情報を(例えば、タッチ、指のジェスチャー、仮想キーボードなどによって)受信するためのユーザーインターフェースであってもよい。ディスプレイ画面1044に加えて、コンピューティングデバイス1000は、スピーカーおよびプリンターなどの他の周辺出力デバイス(図示せず)を含んでもよい。
[00120]コンピューティングデバイス1000は、アダプターもしくはネットワークインターフェース1050、モデム1052、またはネットワーク上で通信を確立するための他の手段を通じてネットワーク1048(例えば、インターネット)に接続される。内部または外部であってもよいモデム1052は、図10に示されるように、シリアルポートインターフェース1042を介してバス1006に接続されてもよく、またはパラレルインターフェースを含む別のインターフェースタイプを使用してバス1006に接続されてもよい。
[00121]本明細書で使用されるように、用語「コンピュータープログラム媒体」、「コンピューター可読媒体」、および「コンピューター可読記憶媒体」は、ハードディスクドライブ1014と関連付けられたハードディスク、着脱可能磁気ディスク1018、着脱可能光ディスク1022などの物理ハードウェア媒体、RAM、ROM、フラッシュメモリーカード、デジタルビデオディスク、zipディスク、MEM、ナノ技術ベースの記憶デバイスなどの他の物理ハードウェア媒体、ならびにさらなるタイプの物理/有形ハードウェア記憶媒体(図9のメモリー920を含む)を全体的に指すために使用される。そのようなコンピューター可読記憶媒体は、通信媒体と区別され、通信媒体と重複しない(通信媒体を含まない)。通信媒体は主として、コンピューター可読命令、データ構造、プログラムモジュールまたは搬送波などの変調データ信号における他のデータを具体化する。用語「変調データ信号」は、信号において情報をエンコードする方式で設定または変更されたその特性のうちの1つまたは複数を有する信号を意味する。例として、非限定的に、通信媒体は、アコースティック、RF、赤外線および他の無線媒体などの無線媒体と共に、有線媒体を含む。実施形態がまた、そのような通信媒体に向けられる。
[00122]上記留意されるように、コンピュータープログラムおよびモジュール(アプリケーションプログラム1032および他のプログラム1034を含む)は、ハードディスク、磁気ディスク、光ディスク、ROM、RAM、または他のハードウェア記憶媒体に記憶されてもよい。そのようなコンピュータープログラムはまた、ネットワークインターフェース1050、シリアルポートインターフェース1042、または任意の他のインターフェースタイプを介して受信されてもよい。そのようなコンピュータープログラムは、アプリケーションによって実行またはロードされるとき、コンピューティングデバイス1000に、本明細書で議論された実施形態の特徴を実行することを可能にする。したがって、そのようなコンピュータープログラムは、コンピューティングデバイス1000のコントローラーを表す。
[00123]実施形態はまた、任意のコンピューター可読媒体に記憶されたコンピューターコードまたは命令を含むコンピュータープログラム製品に向けられる。そのようなコンピュータープログラム製品は、ハードディスクドライブ、光ディスクドライブ、メモリーデバイスパッケージ、ポータブルメモリースティック、メモリーカード、および他のタイプの物理記憶ハードウェアを含む。
4.結論
[00124]本発明の種々の実施形態が上記説明されてきたが、それらは例示のみであり、かつ非限定的に提示されてきたことが理解されるべきである。添付の特許請求の範囲で定義される発明の精神および範囲から逸脱することなく、形式および詳細において種々の変更がなされてもよいことが当業者によって理解される。したがって、本発明の幅および範囲は、上記説明された例示的な実施形態のいずれかによって限定されるべきでないが、以下の特許請求の範囲およびその均等物に従ってのみ定義されるべきである。

Claims (14)

  1. ユーザーデバイスにおける方法であって、
    明示的宣言(explicit declaration)を前記ユーザーデバイスのユーザーから受信するステップであって、前記明示的宣言は、後続の推薦(subsequent recommendation)に影響を与えるように構成される、ステップと、
    前記明示的宣言を処理して記録を生成するステップと、
    前記生成された記録に基づいて推薦ルールを生成するステップと、
    前記ユーザーに対する推薦を生成するために前記推薦ルールを実行するステップと
    を備える方法。
  2. 前記明示的宣言を処理して記録を生成する前記ステップは、
    前記明示的宣言の一連の単語に関して自然言語処理を実行して、1つまたは複数の重要な特徴(key features)を抽出するステップと、
    前記抽出された1つまたは複数の重要な特徴を含むように前記記録を生成するステップと
    を備える、請求項1に記載の方法。
  3. 実行する前記ステップは、
    前記推薦ルールを1つまたは複数の環境的トリガー(environmental triggers)と一致させるステップと、
    前記ユーザーに対する前記推薦を生成すること、または前記ユーザーに対する前記推薦の後続の生成に対する追加のデータを収集する(collecting)ことのうちの少なくとも1つを実行するために前記一致した推薦ルールを実行するステップと
    を備える、請求項1に記載の方法。
  4. 前記1つまたは複数の環境的トリガーは、時間、位置、人物、アプリケーションもしくはサービス、データに対する前記ユーザーからの要求、または推薦に対する前記ユーザーによる要求のうちの少なくとも1つを含む、請求項3に記載の方法。
  5. 前記ユーザーに対する推薦を生成するために前記推薦ルールを実行する前記ステップは、
    クエリーを発行して、クエリー結果を生成するステップを備え、
    前記方法は、
    前記クエリー結果の少なくとも一部を前記推薦において前記ユーザーに提供するステップをさらに備える、請求項1に記載の方法。
  6. 前記明示的宣言は、人物(person)から提供される推薦を含み、前記方法は、
    前記人物によって提供される前記推薦に対する前記ユーザーによる反応、前記人物によって提供される前記推薦を前記ユーザーが実行または好むことの少なくとも1つによって示される前記ユーザーによる積極的な反応、および前記人物によって提供される前記推薦を前記ユーザーが実行しないことまたは嫌いであると示すことの少なくとも1つによって示される前記ユーザーによる積極的な反応に基づいて、前記人物の状態を、前記ユーザーに対するインフルエンサー(influencer)として調節するステップをさらに備える、請求項1に記載の方法。
  7. 前記明示的宣言に対応して前記ユーザーとの質疑応答セッションを開始するステップをさらに備える、請求項1に記載の方法。
  8. 少なくとも1つのコンピューティングデバイスにおいて実行される推薦システムであって、
    明示的宣言を、コンピューティングデバイスのユーザーから発話(speech)の形式で受信するように構成された音声入力インターフェースであって、前記明示的宣言は一連の単語を含み、後続の推薦に影響を与えるように構成される、音声入力インターフェースと、
    1つまたは複数のプロセッサー回路と、
    前記1つまたは複数のプロセッサー回路にアクセス可能な1つまたは複数のメモリーであって、前記1つまたは複数のメモリーは、前記1つまたは複数のプロセッサー回路による実行のためのプログラムコードを記憶し、前記プログラムコードは、
    前記明示的宣言の前記一連の単語を処理して記録を生成するように構成された発話処理モジュールと、
    前記生成された記録に基づいて推薦ルールを生成するように構成されたルールジェネレーターであって、前記推薦ルールは論理的表現を含む、ルールジェネレーターと、
    前記ユーザーに対する推薦を生成するために前記推薦ルールを実行するように構成された推薦エンジンと、
    前記生成された推薦を前記ユーザーに提供するように構成された出力インターフェースとを含む、1つまたは複数のメモリーと
    を備える推薦システム。
  9. 前記発話処理モジュールは、
    前記明示的宣言の前記一連の単語に関して自然言語処理を実行して、1つまたは複数の重要な特徴を抽出し、
    前記抽出された1つまたは複数の重要な特徴を含むように前記記録を生成する
    ように構成される、請求項8に記載の推薦システム。
  10. 前記推薦エンジンは、
    前記推薦ルールを1つまたは複数の環境的トリガーと一致させ、
    前記ユーザーに対する前記推薦を生成すること、または前記ユーザーに対する前記推薦の後続の生成に対する追加のデータを収集することのうちの少なくとも1つを実行するために前記一致した推薦ルールを実行する
    ように構成される、請求項8に記載の推薦システム。
  11. 前記1つまたは複数の環境的トリガーは、時間、位置、人物、アプリケーションもしくはサービス、データに対する前記ユーザーからの要求、または推薦に対する前記ユーザーによる要求のうちの少なくとも1つを含む、請求項10に記載の推薦システム。
  12. 前記音声入力インターフェース、前記発話処理モジュール、前記ルールジェネレーター、および前記推薦エンジンは、前記ユーザーのユーザーデバイスに位置する、請求項8に記載の推薦システム。
  13. 前記ルールジェネレーターまたは前記推薦エンジンのうちの少なくとも1つは、前記ユーザーが前記明示的宣言を提供したユーザーデバイスとは別個のサーバーに少なくとも部分的に位置する、請求項8に記載の推薦システム。
  14. コンピュータープログラム論理が記録されたコンピューター可読媒体を備えるコンピュータープログラム製品であって、プロセッサーに請求項1乃至7のいずれか一項に記載の方法を実行させることを可能にするコンピュータープログラム論理を備える、コンピュータープログラム製品。
JP2016557286A 2014-03-28 2015-03-25 ユーザーの明示宣言に基づく個別化された推薦 Pending JP2017513115A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/229,304 US9710546B2 (en) 2014-03-28 2014-03-28 Explicit signals personalized search
US14/229,304 2014-03-28
PCT/US2015/022347 WO2015148584A1 (en) 2014-03-28 2015-03-25 Personalized recommendation based on the user's explicit declaration

Publications (1)

Publication Number Publication Date
JP2017513115A true JP2017513115A (ja) 2017-05-25

Family

ID=52815343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016557286A Pending JP2017513115A (ja) 2014-03-28 2015-03-25 ユーザーの明示宣言に基づく個別化された推薦

Country Status (10)

Country Link
US (2) US9710546B2 (ja)
EP (1) EP3123429A1 (ja)
JP (1) JP2017513115A (ja)
KR (1) KR20160137556A (ja)
CN (1) CN106164962A (ja)
AU (1) AU2015236219A1 (ja)
CA (1) CA2940290A1 (ja)
MX (1) MX2016012199A (ja)
RU (1) RU2016137787A (ja)
WO (1) WO2015148584A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019537050A (ja) * 2016-10-17 2019-12-19 ハーマン インターナショナル インダストリーズ インコーポレイテッド 音声能力を備えたポータブルオーディオデバイス

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US20090187477A1 (en) * 2008-01-18 2009-07-23 Bardin Ariel H Universal Ad Creative
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
CN104969289B (zh) 2013-02-07 2021-05-28 苹果公司 数字助理的语音触发器
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9904450B2 (en) 2014-12-19 2018-02-27 At&T Intellectual Property I, L.P. System and method for creating and sharing plans through multimodal dialog
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10455031B2 (en) * 2015-12-16 2019-10-22 Facebook, Inc. Systems and methods to determine location recommendations
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10198433B2 (en) * 2016-03-22 2019-02-05 Facebook, Inc. Techniques to predictively respond to user requests using natural language processing
US10275529B1 (en) 2016-04-29 2019-04-30 Rich Media Ventures, Llc Active content rich media using intelligent personal assistant applications
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US20180007433A1 (en) * 2016-06-30 2018-01-04 Intel Corporation Filtering streamed content by content-display device
US10699181B2 (en) * 2016-12-30 2020-06-30 Google Llc Virtual assistant generation of group recommendations
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US20180247191A1 (en) 2017-02-03 2018-08-30 Milestone Entertainment Llc Architectures, systems and methods for program defined entertainment state system, decentralized cryptocurrency system and system with segregated secure functions and public functions
US11010601B2 (en) * 2017-02-14 2021-05-18 Microsoft Technology Licensing, Llc Intelligent assistant device communicating non-verbal cues
US11100384B2 (en) 2017-02-14 2021-08-24 Microsoft Technology Licensing, Llc Intelligent device user interactions
US10467509B2 (en) 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Computationally-efficient human-identifying smart assistant computer
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10887423B2 (en) 2017-05-09 2021-01-05 Microsoft Technology Licensing, Llc Personalization of virtual assistant skills based on user profile information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
CN110140110B (zh) * 2017-12-08 2024-01-02 谷歌有限责任公司 计算设备之间的内容源分配
KR102392717B1 (ko) * 2017-12-08 2022-04-29 구글 엘엘씨 네트워크 시스템의 분산 식별
US10726843B2 (en) * 2017-12-20 2020-07-28 Facebook, Inc. Methods and systems for responding to inquiries based on social graph information
US11586415B1 (en) 2018-03-15 2023-02-21 Allstate Insurance Company Processing system having a machine learning engine for providing an output via a digital assistant system
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
CN108874935B (zh) * 2018-06-01 2021-03-30 广东小天才科技有限公司 一种基于语音搜索的复习内容推荐方法及电子设备
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
AU2020231241A1 (en) * 2019-03-07 2021-10-07 Yao The Bard, LLC. Systems and methods for transposing spoken or textual input to music
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
JP2023513095A (ja) * 2020-02-05 2023-03-30 ループ ナウ テクノロジーズ インコーポレイテッド 選択および表示のための機械学習によるビデオのキュレーション
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11043220B1 (en) 2020-05-11 2021-06-22 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
JP7084463B2 (ja) * 2020-11-24 2022-06-14 株式会社野村総合研究所 利用明細・店舗情報リンク装置、プログラム及び方法

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6662177B1 (en) * 2000-03-29 2003-12-09 Koninklijke Philips Electronics N.V. Search user interface providing mechanism for manipulation of explicit and implicit criteria
EP1484692B1 (en) * 2003-06-04 2013-07-24 Intel Corporation Content recommendation device with user feedback
US7225187B2 (en) * 2003-06-26 2007-05-29 Microsoft Corporation Systems and methods for performing background queries from content and activity
US7165119B2 (en) * 2003-10-14 2007-01-16 America Online, Inc. Search enhancement system and method having rankings, explicitly specified by the user, based upon applicability and validity of search parameters in regard to a subject matter
US7890526B1 (en) * 2003-12-30 2011-02-15 Microsoft Corporation Incremental query refinement
US8949899B2 (en) * 2005-03-04 2015-02-03 Sharp Laboratories Of America, Inc. Collaborative recommendation system
US8620915B1 (en) * 2007-03-13 2013-12-31 Google Inc. Systems and methods for promoting personalized search results based on personal information
US7644374B2 (en) * 2005-04-14 2010-01-05 Microsoft Corporation Computer input control for specifying scope with explicit exclusions
US7377747B2 (en) * 2005-06-06 2008-05-27 General Electric Company Turbine airfoil with integrated impingement and serpentine cooling circuit
US9058406B2 (en) * 2005-09-14 2015-06-16 Millennial Media, Inc. Management of multiple advertising inventories using a monetization platform
US9703892B2 (en) * 2005-09-14 2017-07-11 Millennial Media Llc Predictive text completion for a mobile communication facility
US7796578B2 (en) * 2005-10-05 2010-09-14 Cingular Wireless Ii, Llc Resolution of IP addresses associated with a telephone number utilizing query flags
EP1783632B1 (en) 2005-11-08 2012-12-19 Intel Corporation Content recommendation method with user feedback
US7664746B2 (en) * 2005-11-15 2010-02-16 Microsoft Corporation Personalized search and headlines
US8024329B1 (en) * 2006-06-01 2011-09-20 Monster Worldwide, Inc. Using inverted indexes for contextual personalized information retrieval
US7818176B2 (en) 2007-02-06 2010-10-19 Voicebox Technologies, Inc. System and method for selecting and presenting advertisements based on natural language processing of voice-based input
US8383092B2 (en) * 2007-02-16 2013-02-26 Knc Ner Acquisition Sub, Inc. Bioadhesive constructs
US9977827B2 (en) * 2007-03-30 2018-05-22 Innography, Inc. System and methods of automatic query generation
US7752201B2 (en) * 2007-05-10 2010-07-06 Microsoft Corporation Recommendation of related electronic assets based on user search behavior
JP2010536102A (ja) * 2007-08-08 2010-11-25 ベイノート,インク. コンテキストに基づくコンテンツレコメンデーションの方法及び装置
US8037080B2 (en) * 2008-07-30 2011-10-11 At&T Intellectual Property Ii, Lp Recommender system utilizing collaborative filtering combining explicit and implicit feedback with both neighborhood and latent factor models
US7991650B2 (en) * 2008-08-12 2011-08-02 Amazon Technologies, Inc. System for obtaining recommendations from multiple recommenders
CN101437220A (zh) * 2008-09-18 2009-05-20 广州五度信息技术有限公司 实现用户间相互点评、推荐彩铃的系统和方法
US8934406B2 (en) 2009-02-27 2015-01-13 Blackberry Limited Mobile wireless communications device to receive advertising messages based upon keywords in voice communications and related methods
US9215423B2 (en) * 2009-03-30 2015-12-15 Time Warner Cable Enterprises Llc Recommendation engine apparatus and methods
EP2239695A1 (en) * 2009-04-10 2010-10-13 ACCENTURE Global Services GmbH System for transmitting an electronic recommendation
US20100318535A1 (en) * 2009-06-11 2010-12-16 Microsoft Corporation Providing search results to a computing device
US8082247B2 (en) * 2009-07-30 2011-12-20 Microsoft Corporation Best-bet recommendations
US10013489B2 (en) * 2009-08-12 2018-07-03 Oath Inc. System and method for providing recommendations
US10102278B2 (en) * 2010-02-03 2018-10-16 Gartner, Inc. Methods and systems for modifying a user profile for a recommendation algorithm and making recommendations based on user interactions with items
US8180804B1 (en) * 2010-04-19 2012-05-15 Facebook, Inc. Dynamically generating recommendations based on social graph information
US8751521B2 (en) * 2010-04-19 2014-06-10 Facebook, Inc. Personalized structured search queries for online social networks
US20110289015A1 (en) * 2010-05-21 2011-11-24 Microsoft Corporation Mobile device recommendations
US8799280B2 (en) * 2010-05-21 2014-08-05 Microsoft Corporation Personalized navigation using a search engine
US10805102B2 (en) 2010-05-21 2020-10-13 Comcast Cable Communications, Llc Content recommendation system
US20140180760A1 (en) * 2011-03-18 2014-06-26 Telefonica, S.A. Method for context-aware recommendations based on implicit user feedback
US8694442B2 (en) * 2011-03-29 2014-04-08 Manyworlds, Inc. Contextually integrated learning layer
US9129225B2 (en) * 2011-05-25 2015-09-08 Nokia Technologies Oy Method and apparatus for providing rule-based recommendations
US20140222622A1 (en) * 2011-05-27 2014-08-07 Nokia Corporation Method and Apparatus for Collaborative Filtering for Real-Time Recommendation
US8386457B2 (en) * 2011-06-22 2013-02-26 International Business Machines Corporation Using a dynamically-generated content-level newsworthiness rating to provide content recommendations
US9092802B1 (en) * 2011-08-15 2015-07-28 Ramakrishna Akella Statistical machine learning and business process models systems and methods
GB2495222B (en) * 2011-09-30 2016-10-26 Apple Inc Using context information to facilitate processing of commands in a virtual assistant
US8463295B1 (en) * 2011-12-07 2013-06-11 Ebay Inc. Systems and methods for generating location-based group recommendations
US20140025490A1 (en) * 2012-07-17 2014-01-23 Bharathi Shekar Automated recommendations based on historic location-preference information
US20140031060A1 (en) * 2012-07-25 2014-01-30 Aro, Inc. Creating Context Slices of a Storyline from Mobile Device Data
US9189802B2 (en) * 2012-08-23 2015-11-17 Seoul National University R&Db Foundation Method for contents recommendation
US8863162B2 (en) * 2012-12-03 2014-10-14 At&T Intellectual Property I, L.P. System and method of content and merchandise recommendation
US20140235484A1 (en) * 2013-02-19 2014-08-21 The Johns Hopkins University Methods for detection and differentiation of origin of viral dna
KR101759009B1 (ko) * 2013-03-15 2017-07-17 애플 인크. 적어도 부분적인 보이스 커맨드 시스템을 트레이닝시키는 것
US20140330770A1 (en) * 2013-05-03 2014-11-06 Gface Gmbh Context-aware implicit and explicit search
AU2014278344A1 (en) * 2013-06-10 2015-12-24 Opentable, Inc. Providing personalized recommendations relating to group actions
US9021429B1 (en) * 2013-10-16 2015-04-28 Sybase Inc. Recommending applications to portable electronic devices
US20150187024A1 (en) * 2013-12-27 2015-07-02 Telefonica Digital España, S.L.U. System and Method for Socially Aware Recommendations Based on Implicit User Feedback
US9959559B2 (en) * 2014-01-31 2018-05-01 Ebay Inc. Ranking and recommendation algorithms for search listings
US9619470B2 (en) * 2014-02-04 2017-04-11 Google Inc. Adaptive music and video recommendations
US10521833B2 (en) * 2014-02-12 2019-12-31 Transform Sr Brands Llc Method and system for determining level of influence in a social e-commerce environment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019537050A (ja) * 2016-10-17 2019-12-19 ハーマン インターナショナル インダストリーズ インコーポレイテッド 音声能力を備えたポータブルオーディオデバイス
JP7191819B2 (ja) 2016-10-17 2022-12-19 ハーマン インターナショナル インダストリーズ インコーポレイテッド 音声能力を備えたポータブルオーディオデバイス

Also Published As

Publication number Publication date
EP3123429A1 (en) 2017-02-01
US20170286530A1 (en) 2017-10-05
RU2016137787A (ru) 2018-03-23
MX2016012199A (es) 2017-01-05
US9710546B2 (en) 2017-07-18
KR20160137556A (ko) 2016-11-30
CN106164962A (zh) 2016-11-23
US11093536B2 (en) 2021-08-17
WO2015148584A1 (en) 2015-10-01
CA2940290A1 (en) 2015-10-01
US20150278348A1 (en) 2015-10-01
AU2015236219A1 (en) 2016-09-08

Similar Documents

Publication Publication Date Title
US11093536B2 (en) Explicit signals personalized search
US11688159B2 (en) Engaging users by personalized composing-content recommendation
US11676220B2 (en) Processing multimodal user input for assistant systems
US11307880B2 (en) Assisting users with personalized and contextual communication content
EP3557502A1 (en) Aggregating semantic information for improved understanding of users
EP3557498A1 (en) Processing multimodal user input for assistant systems
EP3557501A1 (en) Assisting users with personalized and contextual communication content