JP6827479B2 - パーソナルアシスタントモジュールによる非決定的なタスク開始 - Google Patents

パーソナルアシスタントモジュールによる非決定的なタスク開始 Download PDF

Info

Publication number
JP6827479B2
JP6827479B2 JP2018562603A JP2018562603A JP6827479B2 JP 6827479 B2 JP6827479 B2 JP 6827479B2 JP 2018562603 A JP2018562603 A JP 2018562603A JP 2018562603 A JP2018562603 A JP 2018562603A JP 6827479 B2 JP6827479 B2 JP 6827479B2
Authority
JP
Japan
Prior art keywords
user
response action
declaration
candidate response
computing device
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.)
Active
Application number
JP2018562603A
Other languages
English (en)
Other versions
JP2019523907A (ja
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2019523907A publication Critical patent/JP2019523907A/ja
Application granted granted Critical
Publication of JP6827479B2 publication Critical patent/JP6827479B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72457User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、パーソナルアシスタントモジュールによる非決定的なタスク開始に関する。
パーソナルアシスタントモジュールは、自然言語コマンドをユーザが発行するためのユーザフレンドリなインタフェースを提供するために、スマートフォン、タブレット、車両ナビゲーションシステム、およびスマートウォッチなどのコンピューティングデバイスにインストールされるソフトウェアプロセスである。ユーザは自分の音声を使用して自然言語コマンドを発行することが多いが、パーソナルアシスタントモジュールは、様々な形のテキスト入力など、他のモダリティにも応答することができる。既存のパーソナルアシスタントモジュールは、ユーザの以前の宣言および/または選好を想起するのに十分な知能に欠けることがある。結果的に、複数の方法で潜在的に応答される可能性のある曖昧な宣言(例えば、要求、言明、コマンド)をユーザが発行した場合、パーソナルアシスタントモジュールは、どのように進行するかを決定するために、追加情報をユーザに要請する必要があることがある。ユーザが自分の電話機に「ボブに電話する」という語を話すが、ユーザの電話帳には、名前「ボブ」に合致する連絡先が複数あると仮定する。ユーザの電話機上で動作するパーソナルアシスタントモジュールは、ユーザがどのボブを意味したのか、および/または、ボブの家の電話にダイヤルするのかそれとも職場の電話にダイヤルするのかを尋ねる場合がある。あるいは、別のユーザが自分のスマートウォッチに「明日、食料雑貨を買うよう私に注意喚起してください」という語を話すと仮定する。ユーザのスマートウォッチ上で、またはスマートウォッチと通信するスマートフォン上で動作するパーソナルアシスタントモジュールは、ユーザがどのアプリケーション(例えば、カレンダ、タスクリスト、ソーシャルネットワーキングアプリケーション)を使用してリマインダを設定したいかを尋ねる場合がある。このような追加情報の要請は、いくつかの理由で、とりわけ情報の要請および処理に関連する計算リソースの消費の理由で、望ましくないであろう。
本明細書は一般に、受け取られた宣言に応答してどの応答アクションを行うか、または応答アクションに対する入力としてどのパラメータが提供されるべきかを識別するためにパーソナルアシスタントモジュールが追加情報をユーザに要請する必要を低減するための様々な技法を対象とする。したがって、これらの技法は、ユーザの宣言に対する応答アクションを決定するのに必要とされる計算リソースの消費を削減することができる。例えば、追加情報を要請する必要をなくすかまたは低減することによって、追加情報の要請および処理に必要とされるユーザのデバイスおよび/またはネットワークのコンポーネントへの負荷を低減することができる。このようなコンポーネントは、画面、スピーカ、マイクロフォン、タッチセンシティブ入力デバイス、および/または任意の関連するプロセッサを含む場合がある。また、状況によっては、例えばユーザが運転中のときは、デバイスが応答を要請することはユーザにとって特に適切というわけではない場合もある。したがって、このような状況では、追加情報を要請する必要を低減することが、ユーザにとって特に有益であろう。
いくつかの実装形態では、ユーザと、ユーザによって操作されるコンピューティングデバイスの調和的な「生態系」を集合的に形成する1つまたは複数のコンピューティングデバイス(例えば、ユーザの電話機、タブレット、スマートウォッチ、自動車ナビゲーションシステムなど)との間の対話の履歴へのアクセスが、パーソナルアシスタントモジュールに提供されることが可能である。ユーザが宣言を発行すると、パーソナルアシスタントモジュールは、ユーザの宣言に潜在的に応答することになる複数の候補応答アクションを識別する非決定的なタスク開始プロセスを開始することができる。例えば、ユーザが宣言を発行した場合、パーソナルアシスタントモジュールは、ユーザ宣言に潜在的に応答することになる複数の候補応答アクションを識別する非決定的なタスク開始プロセスを開始することができる。いくつかの実装形態では、対話履歴および/または他の情報信号(ユーザの過去/現在のコンテキストなど)に基づいて、パーソナルアシスタントモジュールは、複数の候補応答アクションがユーザ宣言に応答する確率を決定することができる。様々な実装形態では、「宣言」は、応答アクションを求めるユーザ要求のことを指すものとすることができ、または単に、1つまたは複数のアクションが潜在的にそれに応答する可能性のある、ユーザによって発行された言明のことを指すものとすることができる。例えば、ユーザは単に「お腹がすいた」と言明することができ、候補応答アクションは、レストランレビューアプリや予約アプリなど、レストランに関係する1つまたは複数のアプリケーションの開始を含むことがある。
次いで、少なくともこれらの確率に基づいて、複数の候補応答アクションのうちの単一の応答アクションが、非決定的に(例えば確率的に)選択されてよい(例えば、少なくとも何らかの見込み要素を用いて)。例えば、候補Aがユーザ宣言に応答する見込みが51%であり、候補Bがユーザ宣言に応答する見込みが49%である場合は、候補Aは約51%の確率で選択される可能性があり、候補Bは約49%の確率で選択される可能性がある。単一の応答アクションのみを選択することにより、ユーザに複数の応答アクションが殺到することがない。そうではなく、単一の選択肢がユーザに提示され、ユーザはこの選択肢を受諾または拒否することができる。非決定的に選択された単一の応答アクションに対するユーザの受諾または拒否は、将来にその応答アクション(または十分に類似する応答アクション)について決定される確率のための強力なフィードバックとなることができる。
したがって、いくつかの実装形態では、方法は、1つまたは複数のプロセッサによって、コンピューティングデバイスにおいて受け取られたユーザ宣言を識別するステップと、プロセッサのうちの1つまたは複数によって、ユーザ宣言に基づいて、ユーザ宣言に応答してコンピューティングデバイスによって開始できる複数の候補応答アクションを識別するステップと、ユーザ宣言に応答してコンピューティングデバイス上で排他的に開始されることになる、複数の候補応答アクションのうちの単一の候補応答アクションを、プロセッサのうちの1つまたは複数によって非決定的に選択するステップと、プロセッサのうちの1つまたは複数によって、単一の候補応答アクションをコンピューティングデバイス上で排他的に開始するステップとを含むことができる。
様々な実装形態では、この方法はさらに、プロセッサのうちの1つまたは複数によって、ユーザと、ユーザによって操作される1つまたは複数のコンピューティングデバイスとの間の対話の履歴に基づいて、各候補応答アクションの開始がユーザ宣言に応答する確率を決定するステップを含むことができる。様々な実装形態では、非決定的に選択するステップは、複数の候補応答アクションの確率に少なくとも部分的に基づくことができる。
様々な実装形態では、この方法はさらに、プロセッサのうちの1つまたは複数によって、選択されたアクションの開始に続くユーザとコンピューティングデバイスとの間の1つまたは複数の対話に基づいて、開始された応答アクションに関連する確率を改変するステップを含むことができる。様々な実装形態では、ユーザとコンピューティングデバイスとの間の1つまたは複数の対話は、選択された応答アクションを拒否して代替の候補応答アクションを手動で開始することを含むことができる。様々な実装形態では、改変するステップは、選択された応答アクションに関連する確率を、選択された応答アクションと代替の候補応答アクションとの間の類似度に反比例する量だけ改変するステップを含むことができる。候補応答アクションに関連する確率を改変することによって、システムは、時間の経過に伴って、どの応答アクションを開始するかを正しく予期するのに一層効果的となることができる。したがって、正しくない応答アクションの開始に関連する計算リソースの消費が削減されることになる。
様々な実装形態では、確率はさらに、ユーザの現在のコンテキストに少なくとも部分的に基づくことができる。様々な実装形態では、ユーザの現在のコンテキストは、コンピューティングデバイスによって決定されたユーザの現在場所、および/または、ユーザの現在場所における現在時刻とすることができる。様々な実装形態では、少なくとも1つの候補応答アクションに関連する確率は、ユーザの現在のコンテキストと、ユーザが過去に少なくとも1つの応答アクションを開始したときのユーザのコンテキストとの間の類似度に基づくことができる。
様々な実装形態では、複数の候補応答アクションは、コンピューティングデバイスにインストールされた複数のソフトウェアアプリケーションを含むことができる。様々な実装形態では、ユーザ宣言は、電話通話を開始する要求を含むことができ、複数の候補応答アクションは、コンピューティングデバイスにインストールされた複数の電話アプリケーションを含む。様々な実装形態では、ユーザ宣言は、メッセージを送る要求を含むことができ、複数の候補応答アクションは、コンピューティングデバイスにインストールされた複数のメッセージングアプリケーションを含むことができる。様々な実装形態では、ユーザ宣言は、リマインダを設定する要求を含むことができ、複数の候補応答アクションは、コンピューティングデバイスにインストールされた、リマインダ機能を備える複数のアプリケーションを含むことができる。様々な実装形態では、ユーザ宣言は、名前との通信を開始する要求を含むことができ、複数の候補応答アクションは、ユーザの、この名前を含む複数の連絡先を含む。
加えて、いくつかの実装形態は、メモリと、メモリに記憶された命令を実行するように動作可能な1つまたは複数のプロセッサとを備える装置を含み、命令は、前述の方法のいずれかを実施するように構成されている。いくつかの実装形態はまた、前述の方法のいずれかを実施するために1つまたは複数のプロセッサによって実行可能なコンピュータ命令を記憶した非一時的なコンピュータ可読記憶媒体を含む。
前述の概念、および本明細書でより詳細に記述される追加の概念の、すべての組合せは、本明細書で開示される主題の一部であるものとして企図されることを認識されたい。例えば、本開示の最後に現れる特許請求される主題のすべての組合せは、本明細書で開示される主題の一部であるものとして企図される。
コンピュータシステムの例示的なアーキテクチャを示す図である。 例示的な分散型の音声入力処理環境のブロック図である。 図2の環境を使用して音声入力を処理する例示的な方法を示すフローチャートである。 ユーザ宣言に対するパーソナルアシスタントモジュールの応答の複数の態様がどのように非決定的に選択され得るかに関する例を示す図である。 パーソナルアシスタントモジュールによる非決定的なタスク開始の例示的な方法を示すフローチャートである。
以下で検討する実装形態では、ユーザと、ユーザによって操作されるデバイスの生態系中の1つまたは複数のコンピューティングデバイス(例えば、ユーザの電話機、タブレット、スマートウォッチ、自動車ナビゲーションシステムなど)との間の対話の履歴へのアクセスが、パーソナルアシスタントモジュール(「インテリジェントパーソナルアシスタント」または「モバイルアシスタント」とも呼ばれる)に提供されることが可能である。ユーザが宣言を発行する(必須ではないが通常は発話を使用して)と、パーソナルアシスタントモジュールは、ユーザの宣言に応答する可能性のある複数の候補応答アクションを識別する非決定的なタスク開始プロセスを開始することができる。対話履歴に基づいて、いくつかの実装形態では、モバイルアシスタントは、複数の候補応答アクションがユーザの宣言に応答する確率を決定することができる。
次いで、場合によっては確率に少なくとも部分的に基づいて、複数の候補応答アクションのうちの単一の応答アクションが非決定的に選択されてよい(例えば、少なくとも何らかの見込み要素を用いて、確率的に)。例えば、候補アクションAがユーザ宣言に応答する見込みが51%であり、候補応答アクションBがユーザ宣言に応答する見込みが49%である場合は、候補応答アクションAは51%に近い確率で選択される可能性があり、候補応答アクションBは49%に近い確率で選択される可能性がある。他の実装形態では、1つまたは複数のしきい値を満たす確率を有する候補のみが、予備的に選択されてよく、次いで、残りの候補から応答アクションが非決定的に(例えば、完全にランダムに、または確率に基づいてランダムに)選択されてよい。単一の応答アクションのみを選択することにより、ユーザに複数の応答アクションが殺到することがない。そうではなく、単一の選択肢がユーザに提示され、ユーザはこの選択肢を受諾または拒否することができる。
非決定的に選択された応答アクションの開始に続くコンピューティングデバイスとのユーザ対話に基づいて、選択された応答アクションに関連する確率が改変されてよい。例えば、応答アクションが、インターネット電話発信アプリケーションを開いて実際の通話の開始なしに特定ユーザの番号を事前ダイヤルすることであり、ユーザが「話す」ボタンを叩いて通話を開始した場合、これは、このアクションに関連する確率を高めることができる。対照的に、ユーザが通話を完了せずにインターネット電話発信アプリケーションを閉じることによってこのアプリケーションを拒否した場合は、この応答アクションに関連する確率は下げられるものとすることができる。
選択された実装形態に関するさらに他の詳細について、以下で検討する。しかし、他の実装形態も企図され、したがって本明細書で開示される実装形態は排他的なものではないことを認識されたい。
次に図面に目を向けるが、いくつかの図を通して、同じ番号は同じ部分を示す。図1は、例示的なコンピュータシステム10の電子コンポーネントのブロック図である。システム10は通常、バスサブシステム14を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ12を備える。これらの周辺デバイスは、記憶サブシステム16(例えば、メモリサブシステム18およびファイル記憶サブシステム20を含む)、ユーザインタフェース入力デバイス22、ユーザインタフェース出力デバイス24、ならびにネットワークインタフェースサブシステム26を含むことができる。入力デバイスおよび出力デバイスは、システム10とのユーザ対話を可能にする。ネットワークインタフェースサブシステム26は、外部ネットワークへのインタフェースを提供し、他のコンピュータシステム中の対応するインタフェースデバイスに結合される。
いくつかの実装形態では、ユーザインタフェース入力デバイス22は、キーボード、ポインティングデバイス(マウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなど)、スキャナ、ディスプレイに組み込まれたタッチスクリーン、オーディオ入力デバイス(音声認識システム、マイクロフォンなど)、および/または他のタイプの入力デバイスを含むことができる。一般に、用語「入力デバイス」の使用は、情報をコンピュータシステム10または通信ネットワークに入力するための、可能なすべてのタイプのデバイスおよび方法を含むものとする。
ユーザインタフェース出力デバイス24は、ディスプレイサブシステム、プリンタ、ファクス機、または、オーディオ出力デバイスなどの非視覚的ディスプレイを含むことができる。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、プロジェクションデバイス、または、可視画像を生み出すための他の何らかのメカニズムを含むことができる。ディスプレイサブシステムはまた、オーディオ出力デバイスなどを介して非視覚的な表示を提供することもできる。一般に、用語「出力デバイス」の使用は、情報をコンピュータシステム10からユーザに、または別の機械もしくはコンピュータシステムに出力するための、可能なすべてのタイプのデバイスおよび方法を含むものとする。
記憶サブシステム16は、本明細書に記載のモジュールのうちのいくつかまたはすべての機能を提供するプログラミングおよびデータ構成体を記憶する。例えば、記憶サブシステム16は、以下で開示される方法の選択された態様を実施するためのロジックを含むことができる。
これらのソフトウェアモジュールは一般に、プロセッサ12単独によって、または他のプロセッサとの組合せで実行される。記憶サブシステム16中で使用されるメモリサブシステム18は、いくつかのメモリを含むことができ、これらは、プログラム実行中に命令およびデータを記憶するための主要ランダムアクセスメモリ(RAM)28と、固定された命令が記憶される読取専用メモリ(ROM)30とを含む。ファイル記憶サブシステム20は、プログラムおよびデータファイルのための永続的な記憶域を提供することができ、ハードディスクドライブ、関連するリムーバブルメディアを伴うフロッピーディスクドライブ、CD-ROMドライブ、光学ドライブ、またはリムーバブルメディアカートリッジを含むことができる。いくつかの実装形態の機能を実装するモジュールは、ファイル記憶サブシステム20によって、記憶サブシステム16に記憶されるか、またはプロセッサ12からアクセス可能な他の機械に記憶されるものとすることができる。
バスサブシステム14は、システム10の様々なコンポーネントおよびサブシステムが相互と意図されたように通信できるようにするためのメカニズムを提供する。バスサブシステム14は単一のバスとして概略的に示されているが、バスサブシステムの代替実装形態は、複数のバスを使用してもよい。
システム10は、モバイルデバイス、ポータブル電子デバイス、組込みデバイス、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブルデバイス、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または他のいずれかのデータ処理システムもしくはコンピューティングデバイスを含めた、種々のタイプのものであってよい。加えて、システム10によって実装される機能は、1つまたは複数のネットワークを介して(例えば、クライアント-サーバ、ピアツーピア、または他のネットワーキング配置構成において)相互接続された複数のシステム間で分散されてもよい。コンピュータおよびネットワークは絶えず変化する性質を持つので、図1に描かれるシステム10に関する記述は、いくつかの実装形態を例証するための具体例とするに過ぎない。図1に描かれるコンピュータシステムよりも多いかまたは少ないコンポーネントを有する、システム10の他の多くの構成も可能である。
以下で検討される実装形態は、本明細書で開示される機能の様々な組合せを実装する1つまたは複数の方法を含むことができる。他の実装形態は、本明細書に記載の方法のうちの1つまたは複数などの方法を実施するためにプロセッサによって実行可能な命令を記憶した非一時的なコンピュータ可読記憶媒体を含むことができる。さらに他の実装形態は、メモリと、メモリに記憶された命令を実行して本明細書に記載の方法のうちの1つまたは複数などの方法を実施するように動作可能な1つまたは複数のプロセッサとを備える装置を含むことができる。
後述の様々なプログラムコードは、それが具体的な実装形態において実装される応用例に基づいて識別される場合がある。しかし、後続のいずれかの特定のプログラム命名法は、便宜上使用されるに過ぎないことを認識されたい。さらに、コンピュータプログラムがルーチン、手続き、メソッド、モジュール、オブジェクトなどに編成され得る方式は無数にあり、また、通常のコンピュータ内にある様々なソフトウェア層(例えば、オペレーティングシステム、ライブラリ、API、アプリケーション、アプレットなど)の間でプログラム機能が割り振られ得る方式は様々であることから、いくつかの実装形態は、本明細書に記載のプログラム機能の具体的な編成および割振りに限定されない場合があることを認識されたい。
さらに、任意のプログラムコードによって実施できる、または任意のルーチンやワークフローなどにおいて実施できる、本明細書に記載の様々な動作は、結合、分離、並べ替え、省略、逐次的実施もしくは並行実施、および/または他の技法による補足がなされてもよく、したがって、いくつかの実装形態は本明細書に記載の特定の動作シーケンスに限定されないことは、認識されるであろう。
図2に、例えばオンラインセマンティックプロセッサ54などのオンラインサービスと通信する音声対応デバイス52と共に使用するための、例示的な分散型の音声入力処理環境50を示す。以下で検討される実装形態では、例えば、音声対応デバイス52は、セルラーフォンやタブレットコンピュータなどのモバイルデバイスとして記述される。しかし、他の実装形態は、他の多様な音声対応デバイスを利用することができ、したがって、以下でモバイルデバイスに言及する場合、これは、以下の検討を単純にするために過ぎない。数えきれない他のタイプの音声対応デバイスが、本明細書に記載の機能を使用することができ、例えばこれらのデバイスは、ラップトップコンピュータ、腕時計、頭部搭載デバイス、仮想または拡張現実デバイス、他のウェアラブルデバイス、オーディオ/ビデオシステム、ナビゲーションシステム、自動車および他の車両システムなどを含む。さらに、このような音声対応デバイスの多くは、リソース制約を受けると考えることができる。すなわち、ほぼ無限のコンピューティングリソースを個々のタスクに充てることができるオンラインまたはクラウドベースのサービスのキャパシティと比較したときは特に、このようなデバイスのメモリおよび/または処理キャパシティが、技術的、経済的、または他の理由に基づいて制約される場合があるという点で、リソース制約を受けると考えることができる。いくつかのこのようなデバイスはまた、例えばこのようなデバイスが通常使用の下で一時的なネットワーク接続性停止を時々経験するであろうという予想に基づいて、このようなデバイスが少なくとも一部の時間にわたりオンラインサービスに接続されずに「オフライン」で動作可能とすることができる限り、オフラインデバイスと考えることもできる。
いくつかの実装形態におけるオンラインセマンティックプロセッサ54は、クラウドインフラストラクチャを採用するクラウドベースのサービスとして実装されるものとすることができる(例えば、複数のユーザからの高ボリュームの宣言を扱うのに適したソフトウェアを実行する、サーバファーム、または高性能コンピュータのクラスタを使用して)。オンラインセマンティックプロセッサ54は、音声ベースの宣言に限定されるとは限らず、例えばテキストベースの宣言や画像ベースの宣言など、他のタイプの宣言を扱うことができる場合もある。いくつかの実装形態では、オンラインセマンティックプロセッサ54は、電話やテキストや電子メールなどを介してアラームもしくはリマインダを設定すること、リストを管理すること、他のユーザとの通信を開始すること、または、音声入力を介して開始できる他のアクションを実施することなど、音声ベースの宣言を扱うことができる。本開示においては、音声ベースの宣言、宣言、および他の形の音声入力は、音声ベースの宣言が検索の開始、質問の提起、コマンドの発行のどれを求めるものか、さらには無駄話(例えば、ユーザの個人的選好に関するユーザとパーソナルアシスタントモジュールとの間の)を含むものかにかかわらず、音声ベースの宣言と総称される場合がある。したがって、一般に、1つまたは複数の単語または句を例えば含むどんな音声入力も、例証される実装形態のコンテキスト内で、音声ベースの宣言と考えることができる。
図2の実装形態では、音声対応デバイス52から受け取られた音声入力は、音声対応アプリケーション(または「アプリ」)によって処理され、このアプリは、図2ではパーソナルアシスタントモジュール56の形をとっている。他の実装形態では、音声入力は、音声対応デバイス52のオペレーティングシステムまたはファームウェア内で扱われる場合がある。例証される実装形態におけるパーソナルアシスタントモジュール56は、音声アクションモジュール58、オンラインインタフェースモジュール60、およびレンダリング/同期モジュール62を備える。音声アクションモジュール58は、パーソナルアシスタントモジュール56に向けられた音声入力を受け取り、音声入力の分析と、音声対応デバイス52のユーザのための1つまたは複数のアクションの実施とを調和させる。オンラインインタフェースモジュール60は、音声入力をオンラインセマンティックプロセッサ54に転送することおよびそれに対する応答を受け取ることを含めて、オンラインセマンティックプロセッサ54とのインタフェースを提供する。レンダリング/同期モジュール62は、例えば特定の音声対応デバイスに適した視覚表示、話されるオーディオ、または他のフィードバックインタフェースを介した、ユーザへの応答のレンダリングを管理する。加えて、いくつかの実装形態では、モジュール62は、オンラインセマンティックプロセッサ54との同期も扱う。これは例えば、応答またはアクションが、オンライン検索サービス中でユーザについて維持されているデータに影響を及ぼすときは常に行われる(例えば、音声入力が、クラウドベースのカレンダ中で維持される予約の作成を要求する場合)。
パーソナルアシスタントモジュール56は、音声入力を扱うために、様々なミドルウェア、フレームワーク、オペレーティングシステム、および/またはファームウェアモジュールに依拠することができ、これらは例えば、ストリーミング音声-テキストモジュール64およびセマンティックプロセッサモジュール66を含む。セマンティックプロセッサモジュール66は、パーサモジュール68、ダイアログマネージャモジュール70、およびアクションビルダモジュール72を備える。
モジュール64は、音声入力のオーディオ録音を、例えばディジタルオーディオデータの形で受け取り、ディジタルオーディオデータを1つまたは複数のテキスト単語または句(本明細書では「トークン」とも呼ばれる)に変換する。例証される実装形態では、モジュール64はストリーミングモジュールでもあり、したがって、音声入力は、リアルタイムまたはほぼリアルタイムでトークンごとにテキストに変換され、それにより、トークンは、ユーザの発話と実質的に同時に、したがってユーザが完全な口頭宣言を発音する前に、モジュール64から出力されることが可能である。モジュール64は、ローカルに記憶された1つまたは複数のオフライン音響および/または言語モデル74に依拠することができ、これらは共に、オーディオ信号と、言語における音声学的単位(言語における単語シーケンスと共に)との関係をモデリングする。いくつかの実装形態では、単一のモデル74が使用される場合があるが、他の実装形態では、複数のモデルがサポートされる場合があり、例えばそれにより、複数の言語や複数の話者などがサポートされる。
モジュール64が発話をテキストに変換するのに対して、モジュール66は、適切な応答を形成するために、モジュール64によって出力されたテキストのセマンティクスまたは意味を見分けようとする。パーサモジュール68は、例えば、1つまたは複数のオフライン文法モデル76に依拠して、テキストを特定のアクションにマッピングし、そのようなアクションの実施を制約する属性(例えば、そのようなアクションへの入力変数)を識別する。いくつかの実装形態では、単一のモデル76が使用される場合があるが、他の実装形態では、複数のモデルがサポートされる場合があり、例えばそれにより、異なる複数のアクションまたはアクション領域(すなわち、通信関係アクション、検索関係アクション、視聴覚関係アクション、カレンダ関係アクション、デバイス制御関係アクションなど、関係するアクションの集合)がサポートされる。
例として、オフライン文法モデル76は、「リマインダを設定する」などのアクションをサポートすることができ、このアクションは、どんなタイプのリマインダを設定するかを指定するリマインダタイプパラメータと、リマインダに関連する1つまたは複数のアイテムを指定するアイテムパラメータと、リマインダをアクティブ化してユーザに注意喚起する時刻を指定する時刻パラメータとを有する。パーサモジュール68は、「〜するよう注意喚起してください」、「買う」、「パン」、および「仕事の後で」などの一連のトークンを受け取り、一連のトークンを、「買物リマインダ」に設定されたリマインダタイプパラメータと、「パン」に設定されたアイテムパラメータと、「午後5時00分」の時刻パラメータとを有するリマインダ設定アクションにマッピングすることができ、それにより、この日の午後5時00分にユーザは「パンを買う」リマインダを受け取る。
パーサモジュール68はまた、ユーザとのダイアログを管理するダイアログマネージャモジュール70と共に働くこともできる。ダイアログは、このコンテキスト内では、2人の個人間の会話に類似する音声入力および応答のセットのことを指す。したがって、モジュール70は、ダイアログの「状態」を維持して、前の音声入力においてユーザから得られた情報が後続の音声入力の処理時に使用されるのを可能にする。よって、例えば、ユーザが「パンを買うよう注意喚起してください」と言う場合、応答は、「わかりました。いつ注意喚起されたいですか?」と言うように生成されてよく、それにより、後続の音声入力「仕事の後で」が元の要求に逆戻りに結び付けられて、リマインダが作成されることになる。いくつかの実装形態では、モジュール70は、パーソナルアシスタントモジュール56の一部として実装されてもよい。
アクションビルダモジュール72は、音声入力解釈を表す解析されたテキストをパーサモジュール68から受け取り、パーソナルアシスタントモジュール56のモジュール62によって処理されるように、1つまたは複数の応答アクションまたは「タスク」を、関連するパラメータがあればそれと共に生成する。アクションビルダモジュール72は、解析されたテキストからアクションを作成するための様々な規則を組み込んだ1つまたは複数のオフラインアクションモデル78に依拠することができる。いくつかの実装形態では、例えば、アクションは、F(IT)=AUのような関数Fとして定義されてよく、ここで、Tは、入力された解釈のタイプを表し、Uは、出力されるアクションを表す。したがって、Fは、相互に(例えばf(it)=auとして)マッピングされる複数の入力ペア(T,U)を含むことができ、ここで、itは、タイプtの入力プロト変数であり、auは、タイプuの出力モジュラー引数またはパラメータである。いくつかのパラメータは、音声入力として直接受け取られる場合があり、いくつかのパラメータは、他の方式で、例えば、ユーザの場所や人口統計情報に基づいて、またはユーザに特有な他の情報に基づいて決定される場合があることは、認識されるであろう。例えば、ユーザが「食料雑貨店でパンを買うよう注意喚起してください」と言う場合、ユーザの現在場所や、職場と家との間のユーザの既知の経路や、ユーザがいつも行く食料雑貨店などの追加情報なしでは、場所パラメータは決定可能でないことがある。
上で言及したように、いくつかの実装形態では、パーソナルアシスタントモジュール56は、ユーザからコマンドを受け取り、様々なオフラインおよびオンラインリソースを使用して1つまたは複数の応答アクションを開始することができる。ユーザがタスクを開始するために音声入力をパーソナルアシスタントモジュール56に提供すると、アクションビルダモジュール72は、ユーザ宣言に潜在的に応答する可能性のある複数の候補アクションを識別することができる。複数の候補応答アクションから選択する機会(例えば音声ダイアログを介した)がユーザに提供されることも可能だが、これは、ユーザがすでに運転など他のアクティビティに携わっている場合には、理想的でないことがある。さらに、いくつかの候補応答アクションがある場合、これらをすべて提示することは、過多な情報および/または選択肢でユーザの気を散らすことがあり、それによりユーザは、将来にパーソナルアシスタントモジュール56との対話を避けるかもしれない。
したがって、いくつかの実装形態では、パーソナルアシスタントモジュール56は、非決定的なタスク開始プロセスを開始することができ、このプロセスは、対応するユーザ宣言応答確率を有する複数の候補応答アクションから、ユーザ宣言に応答して音声対応デバイス52によって排他的に開始されることになる単一の応答アクションを非決定的に選択する。したがって、ユーザが宣言を行うと、ユーザからの追加入力をほとんどまたは全く伴わずに、アクションが自動的に開始される。
様々な実装形態では、複数の候補応答アクションに対応する確率は、ユーザと、音声対応デバイス52など、ユーザによって操作されるデバイスの生態系の1つまたは複数のコンピューティングデバイスとの間の対話の履歴に、少なくとも部分的に基づくことができる。様々な実装形態では、選択された応答アクションに関連する確率は、選択されたタスクの開始に続くユーザと音声対応デバイス52(または生態系中の他のデバイス)との間の1つまたは複数の対話に基づいて、後で改変されるものとすることができる。
いくつかの実装形態では、モデル74、76、および78は、より少ないモデルに結合させるかまたは追加のモデルに分離させることができること、またモジュール64、68、70、および72の機能も同様とすることができることは、認識されるであろう。さらに、モデル74〜78が音声対応デバイス52上にローカルに記憶され、したがってデバイス52がオンラインセマンティックプロセッサ54と通信していないときにオフラインでアクセス可能である限り、これらのモデルは本明細書ではオフラインモデルと呼ばれる。さらに、モジュール56は、本明細書ではパーソナルアシスタントモジュールであるものとして記述されるが、これは限定とするものではない。様々な実装形態では、音声対応デバイス52上で動作する任意のタイプのアプリが、本明細書に記載の技法を実施して、ユーザ宣言およびクエリに応答して応答アクションを非決定的に選択することおよび/または呼び出すことができる。
様々な実装形態では、オンラインセマンティックプロセッサ54は、様々な音響/言語、文法、および/またはアクションモデル82に依拠する音声ベースのクエリプロセッサ80を例えば使用して音声入力を扱うための補足的機能を備えることができる。いくつかの実装形態では、音声対応デバイス52がリソース制約付きデバイスであるときは特に、音声ベースのクエリプロセッサ80およびそれによって使用されるモデル82は、音声対応デバイス52に対してローカルである場合よりも複雑で計算リソース集約的な音声処理機能を実装することができることは、認識されるであろう。
いくつかの実装形態では、複数の音声ベースのクエリプロセッサ80が採用されてよく、各音声ベースのクエリプロセッサ80は、1つまたは複数の個別のパーソナルアシスタントモジュール56に対するオンライン相対物としての働きをする。例えば、いくつかの実装形態では、ユーザの生態系中の各デバイスが、ユーザに関連する(例えば、ユーザの選好で構成される、同じ対話履歴に関連する、など)パーソナルアシスタントモジュール56のインスタンスを動作させるように構成されることがある。ユーザがその時にどのデバイスを操作しているかに応じて、パーソナルアシスタントモジュール56のこれらの複数のインスタンスのそれぞれから、音声ベースのクエリプロセッサ80の単一のユーザ中心オンラインインスタンスにアクセス可能とすることができる。
いくつかの実装形態では、オンライン機能とオフライン機能の両方がサポートされてよく、例えばそれにより、オンライン機能は、デバイスがオンラインサービスと通信しているときはいつでも使用され、オフライン機能は、接続性が存在しないときに使用される。他の実装形態では、オンライン機能とオフライン機能に、異なるアクションまたはアクション領域が割り振られてよく、さらに他の実装形態では、オンライン機能は、オフライン機能が特定の音声入力を適切に扱うことができないときにのみ使用されるものとすることができる。しかし、他の実装形態では、補足的なオンライン機能は使用されないものとすることができる。
例えば、図3に、音声入力を扱うために音声対応デバイス52によって実行できる音声処理ルーチン100を示す。ルーチン100は、ブロック102で、音声入力を例えばディジタルオーディオ信号の形で受け取ることによって開始する。この実装形態では、音声入力をオンライン検索サービスに転送する最初の試みがなされる(ブロック104)。不成功であった場合、例えば接続性がないかまたはオンライン検索サービスからの応答がないせいで不成功であった場合は、ブロック106は制御をブロック108に渡して、音声入力をテキストトークンに変換し(ブロック108。例えば図2のモジュール64を使用して)、テキストトークンを解析し(ブロック110。例えば図2のモジュール68を使用して)、解析されたテキストからアクションを構築する(ブロック112。例えば図2のモジュール72を使用して)。次いで、得られたアクションを使用してクライアント側のレンダリングおよび同期が実施され(ブロック114。例えば図2のモジュール62を使用して)、音声入力の処理は完了する。
ブロック106に戻り、音声入力をオンライン検索サービスに転送する試みが成功した場合は、ブロック106はブロック108〜112を迂回し、制御をブロック114に直接渡して、クライアント側のレンダリングおよび同期を実施する。次いで、音声入力の処理は完了する。他の実装形態では、上で言及したように、例えば音声入力をローカルに扱えるときに不要なデータ通信を回避するために、オンライン処理の前にオフライン処理が試みられてもよいことは、認識されるであろう。
図4で、パーソナルアシスタントモジュール56が、単独でまたは対応するオンライン音声ベースプロセッサ80と共に、どのように非決定的なタスク開始プロセスを呼び出して、ユーザ宣言422に応答して実施するための1つまたは複数の応答アクションを非決定的に選択/開始することができるかに関する例示的なシナリオ420を概略的に実証する。この例では、ユーザ宣言422は、話された句「ジョンに連絡を取ろう」の形の音声入力を含む。ユーザ宣言422に応答して、複数の候補応答アクション4241〜Nおよび4261〜Mが、例えばアクションビルダモジュール72および/またはパーソナルアシスタントモジュール56によって識別されるものとすることができる。各候補応答アクション424/426には、ユーザ宣言422を満たす確率が関連する。
ユーザ宣言422を発行したユーザが「John」または「Jon」という名前の複数の連絡先を有すると仮定すると、ユーザ宣言422は、ユーザがどの「ジョン」に言及しているのかに関して曖昧である。したがって、第1「レベル」の候補応答アクション424は、ユーザの連絡先リスト(または、ソーシャルネットワークもしくは他のソース)中の、名前「John」または「Jon」を有する連絡先を含む。第1の連絡先4241であるジョンアダムズは、ユーザ宣言422に応答する確率が20%である。第2の連絡先4242であるジョンブラッドリーは、ユーザ宣言422に応答する確率が15%である。第3の連絡先4243であるジョンクラークは、ユーザ宣言422に応答する確率が5%である。連絡先424Nであるジョンゼニスは、ユーザ宣言422に応答する確率が40%である。様々な実装形態では、描かれていない1つまたは複数の連絡先が、図4に示される確率と共に含められると合計100%になる確率を有してよいが、これは必須ではない。
本明細書に記載の技法を使用して、パーソナルアシスタントモジュール56は、少なくともこれらの確率に基づいて、ユーザ宣言422に応答して単一の連絡先424を非決定的かつ排他的に選択することができる。したがって、ジョンアダムズが選択される見込みは20%であり、ジョンゼニスが選択される見込みは40%であり、その他同様である。結果的に、ユーザが同じユーザ宣言422を10回提供した場合、おそらく、ジョンアダムズが2回選択されることになり、ジョンゼニスが4回選択されることになり、残りの4つのインスタンスは、残りの連絡先424の間で分散されることになる。他の実装形態では、1つまたは複数のしきい値を満たさない確率を有する候補は廃棄されてよく、残りの候補から応答候補が非決定的に(例えば、完全にランダムに、または確率に基づいてランダムに)選択されてよい。
図4の例では、ユーザ宣言422「ジョンに連絡を取ろう」はまた、どのようにジョンに連絡が取られることになるのかに関しても曖昧である。音声対応デバイス52には、ユーザ宣言422に潜在的に応答するかもしれない様々なアプリ4261〜Mがインストールされている可能性がある。したがって、第2「レベル」の候補応答アクションは、音声対応デバイス52にインストールされている、かつ開始された場合にユーザ宣言422に潜在的に応答する可能性のある、候補アプリ426を含む。図4では、連絡先が最初に選択され、次いでアプリが選択される。しかし、これは限定とするものではなく、他の実装形態および/またはシナリオでは、アプリが連絡先の前に選択されてもよい。さらに、特定のアプリおよび連絡先のうちの一方を選択することは、下流で特定のアプリおよび連絡先のうちの他方を選択することに関連する確率に、影響を及ぼすことがある。
この例では、第1の候補アプリ4261は「電話アプリA」であり、これは、スマートフォン上で通常見られる標準的なセルラーフォンアプリケーションとすることができる。このアプリには60%の確率が関連する。第2の候補アプリ4262は「電話アプリB」であり、これは、ボイスオーバIP(VoIP)または他の類似技術を使用して電話会話を容易にするいわゆる「インターネット電話」アプリケーションとすることができる。このアプリには5%の確率が関連し、このことは、ユーザが電話アプリB 4262を通信モードとして使用することがめったにないことを示唆する。第3の候補アプリ4263は、ショートメッセージングサービス(SMS)アプリである。このアプリには20%の確率が関連する。別の候補アプリ426Mはソーシャルネットワーキングアプリケーションであり、ユーザはこれを使用してソーシャルネットワークメッセージを送ることができる。このアプリには5%の確率が関連し、このことはやはり、ユーザがこのアプリを通信モードとして使用することがめったにないことを示唆する。
候補連絡先424の場合と同様、パーソナルアシスタントモジュール56は、少なくともこれらの確率に基づいて、ユーザ宣言422に応答して排他的に開始するための単一のアプリ426を非決定的に選択することができる。よって、電話アプリAが自動的に開始される見込みは60%であり、SMSアプリ4263が自動的に開始される見込みは20%である。残りのアプリ426は、比較的低い確率を有し、したがって自動的に開始される可能性ははるかに低い(また、いくつかの実装形態では、考慮から完全に外されてもよい)。結果的に、ユーザが同じユーザ宣言422を10回提供した場合、おそらく、電話アプリA 4261が6回選択されることになり、SMSアプリ4263が2回選択されることになり、残りの2つのインスタンスは、残りのアプリ426の間で分散されることになる。当然、上で言及したように、候補応答アプリ4261〜Mに関連する確率は、どの連絡先424が非決定的に選択されるかに影響を受けることがある。例えば、ジョンブラッドリーが非決定的に選択され、ユーザが普通はSMSアプリ4263を介してジョンブラッドリーと通信する場合は、SMSアプリ4263に関連する確率が高められるものとすることができる。
候補応答アクション(例えば424、426)に関連する確率は、様々な情報信号に基づいて決定されてよい。いくつかの実装形態では、確率は、ユーザと、前に言及したデバイスの「生態系」など、ユーザによって操作される1つまたは複数のコンピューティングデバイスとの間の対話の履歴に、少なくとも部分的に基づくことができる。ユーザと1つまたは複数のコンピューティングデバイスとの間の対話の履歴は、共にまたは別々に記憶されている場合のある様々なユーザ対話記録を含むことができる。例えば、ユーザの対話の履歴は、通話ログ(または、複数の代替的な電話発信アプリケーションがある場合は、1つよりも多い通話ログ)、テキストメッセージ履歴、電子メール履歴(例えば、受信箱および送信済みメール)、ならびに、ユーザによって操作されるデバイスの生態系のうちの1つまたは複数にインストールされた様々なアプリとのユーザ対話に関する他の記録を含むことができる。
例として、また図4を再び参照すると、ユーザ宣言422を発行したユーザが連絡先リスト中の「John」または「Jon」という名前の誰かとの通信を開始するとき、ジョンゼニスが、履歴的に、ユーザによって標的にされた最もポピュラーな「John/Jon」であり(40%の確率によって反映されるように)、その次にジョンアダムズが続き、次いでジョンブラッドリー、次いでジョンクラーク、などと続くことが、例えば通話ログ、テキストメッセージ履歴、電子メール履歴などから決定される場合がある。例えば、ユーザが「John/Jon」に接触した最後のN回のうち、ジョンゼニスが40%の確率で標的であり、ジョンアダムズが20%の確率で標的であり、以下続くものとすることができる。同様に、ユーザが誰かとの通信を開始するとき、ユーザが電話アプリAを使用して最も頻繁に通信を開始し(例えば、別のユーザとの接触を開始する最後のN回のインスタンスうちの60%)、次いでSMSアプリが続き、以下続くことが、同じまたは異なるソースから決定される場合がある。
いくつかの実装形態では、ある応答アクションに関連する確率は、十分に類似すると見なされる別のタスクに関連する1つまたは複数の情報信号に少なくとも部分的に基づいて決定されるものとすることができる。例えば、図4の候補連絡先4241〜Nに関連する確率を計算する際、電話アプリAを使用した以前の電話通話や、SMSアプリを使用して送られた以前のテキストなど、特定の連絡先との任意の形の以前の接触が、別のアプリを使用したこの特定の連絡先との接触の開始に関連する確率を決定するときに一括して考慮されるものとすることができる。ユーザが宣言「ボブにメッセージを送る」を発行するが、「ボブにメッセージを送る」というパーソナルアシスタントモジュールへの宣言に応答して特に、ユーザのメッセージング履歴中で検出された以前のメッセージングアクティビティがないと仮定する。しかし、「ボブに電話する」というパーソナルアシスタントモジュールへの以前のユーザ宣言に応答して、「ボブスミス」という名前の連絡先への発信呼をユーザがかけた記録がある。このメッセージング応答アクションと電話発信応答アクションは十分に類似すると見なすことができ、したがって、「ボブにメッセージを送る」宣言に応答して、パーソナルアシスタントモジュールは、ボブスミスにメッセージを送ることによって宣言が達成される確率を計算することができる。
生ポピュラリティに加えて、またはそれに代えて、様々な実装形態では、候補応答アクションに関連する確率は、応答アクション(または十分に類似する応答アクション)がどれくらい最近にユーザの対話履歴中で検出されるかに、少なくとも部分的に基づいて決定されてもよい。ユーザが履歴的に、宣言「ジョンに電話する」を発行した後で「ジョンゼニス」を「ジョンアダムズ」よりも頻繁に選んだと仮定する。しかし、ユーザが、最近の事例では(例えば先週にわたって)、「ジョンアダムズ」を「ジョンゼニス」よりも頻繁に選択したと仮定する。いくつかの実装形態では、このことが考慮に入れられて、「ジョンアダムズ」に関連する確率が、普通なら得られるであろう確率よりもわずかに高く計算されるものとすることができる。
候補応答アクション(例えば424、426)に関連する確率はまた、様々な信号に応答して時間の経過に伴って変化することもある。いくつかの実装形態では、非決定的に選択された応答アクションに関連する確率は、選択されたタスクの開始に続くユーザと生態系の1つまたは複数の音声対応デバイス52との間の1つまたは複数の対話に基づいて、改変されるものとすることができる。ジョンアダムズ(4241)が非決定的に選択され、電話アプリA(4261)が、ジョンアダムズの電話番号が事前ダイヤルされた状態で非決定的に開始されると仮定する。さらに、ユーザが「話す」を押して通話を開始すると仮定する。このユーザ対話はポジティブフィードバックと解釈されてよく、したがってこれは、ジョンアダムズおよび電話アプリAに割り当てられる将来の確率を高めることができる。同様に、ユーザが、ジョンアダムズの番号が事前ダイヤルされた状態での電話アプリAのインスタンス化を拒否し、その代わりに新しい番号を手動でダイヤルした場合は、この対話はネガティブフィードバックと解釈されてよく、これは、同じ確率を低下させる。
様々な実装形態では、候補応答アクションに関連する確率がポジティブまたはネガティブフィードバックに応答して改変され得る量は、様々な尺度に基づいて決定されるものとすることができる。いくつかの実装形態では、非決定的に選択された応答アクションに関連する確率は、非決定的に選択された応答アクションと代替の応答アクション(例えば、非決定的に選択されたタスクを拒否した後でユーザが手動で開始した応答アクション)との間の類似度に反比例する量だけ改変されるものとすることができる。ユーザが「明日の朝にごみを持って出るようリマインダを設定する」要求を発行し、非決定的に選択される応答アクションが、ユーザの仕事カレンダ中でエントリが作成されることであると仮定する。さらに、ユーザがこの応答アクションを拒否し、その代わり、明日の朝にごみを持って出るためのエントリを自分の個人カレンダ中で手動で定義すると仮定する。この2つのタスク、すなわち仕事カレンダ中でリマインダを作成することと個人カレンダ中でリマインダを作成することは、いくぶん類似するので、ユーザが後者を好んで前者を拒否したことは、各タスクに関連する確率に、比較的わずかな量しか影響しないものとすることができる。対照的に、完全に異質な、カレンダに関係しないタスクリマインダアプリケーション(例えばオペレーティングシステムに関連するもの)中でタスクを手動で設定することの方を好んで前者を拒否した場合は、確率はより劇的に影響を受けたであろう。
2つの候補応答アクション間の「類似性」は、様々な技法を使用して決定することができる。いくつかの実装形態では、各候補応答アクションから様々な特徴が抽出されて、特徴ベクトルが形成されるものとすることができる。次いで、候補応答アクション特徴ベクトルは、カルバック-ライブラー(KL)ダイバージェンス、コサイン類似度(「ソフトコサイン尺度(soft cosine measure)」と呼ばれることもある)、レーベンシュタイン距離など、様々なアルゴリズムを使用して相互と比較されて、これらの間の類似度が決定されてよい。
いくつかの実装形態では、候補応答アクションに関連する確率は、追加または代替として、ユーザの現在および/または過去のコンテキストに関連する情報信号に基づいて決定されるものとすることができる。様々な実装形態では、ユーザの現在のコンテキストは、ユーザの現在場所(例えば、音声対応デバイス52上のGPSセンサによって提供される位置座標)、ユーザの場所における現在時刻、ユーザのカレンダ上の現在スケジュールされているエントリ、ユーザのソーシャルネットワーキングステータス、および/または、様々なセンサから決定できる他の信号を含むことができる。例えば、音声対応デバイス52には、動いている自動車または飛行機の中にユーザがいることを明らかにする加速度計が備わる場合がある。追加または代替として、ユーザのコンテキストは、音声対応デバイス52に現在インストールされている、かつ/または音声対応デバイス52上で現在稼働中/非稼働中の、1つまたは複数のアプリを含むことができる。
ユーザが、図4のユーザ宣言422によって表される音声コマンドを音声対応デバイス52に発行すると仮定する。さらに、SMSアプリ4263がすでにバックグラウンドで開いており、ユーザが最近、ジョンブラッドリーとテキスト通信していたと仮定する。SMSアプリ4263がすでに開いていることは、このアプリがユーザ宣言422に応答する確率を高めることができる(例えば、図4に描かれる20%から、より高い確率に)。同様に、ユーザが最近にジョンブラッドリーとテキスト通信していたことはまた、ジョンブラッドリーの候補連絡先4242に関連する確率を高めることができる(例えば、図4に描かれる15%から、相応により高い確率に)。結果的に、SMSアプリ4263が非決定的に選択されてジョンブラッドリー(やはり非決定的に選択された)へのテキストメッセージが起草される可能性は、図4に描かれる確率に基づいた場合よりも高いであろう。
別の例として、ユーザが「デイヴィッドに電話する」要求を発行するとき、ユーザは普通、同じ時間帯に住むデイヴィッドスミスを意味すると仮定する。しかし、ユーザが遠くの時間帯に移動し、ユーザがこの遠くの時間帯に住むデイヴィッドジョーンズという名前の別の連絡先を有すると仮定する。通常は、デイヴィッドスミスへの通話を非決定的に開始する確率の方が、デイヴィッドジョーンズへの通話を非決定的に開始する確率よりも高いものとすることができる。しかし、ユーザの現在場所および時刻など、音声対応デバイス52からの1つまたは複数の信号に基づいて決定できるユーザの現在のコンテキストに基づいて、デイヴィッドジョーンズへの非決定的な通話を開始する確率が高められるものとすることができる。結果的に、ユーザがデイヴィッドジョーンズの時間帯において移動している間は、「デイヴィッドに電話する」ユーザ要求は、デイヴィッドスミスよりもデイヴィッドジョーンズへの通話を非決定的に開始させる可能性が高いものとすることができる。反対に、ユーザが家にいるときは、「デイヴィッドに電話する」ユーザ要求は、デイヴィッドジョーンズよりもデイヴィッドスミスへの通話を非決定的に開始させる可能性が高いものとすることができる。
対応する時間帯に加えて、連絡先に関連する他の情報信号を使用して、パーソナルアシスタントモジュールに発行された曖昧な宣言の中でユーザの言及している人物がその連絡先である確率が決定されてもよい。例えば、「スヴェン」という名前の2つの連絡先を有するユーザが、「スヴェンに電話する」要求を発行すると仮定する。一方のスヴェン連絡先が、通常は好まれる(すなわち、より高い確率が割り当てられる)ものとすることができるが、ユーザが近い将来に他方のスヴェンとスケジュールされたミーティングを有する場合は、他方のスヴェンの確率が、ミーティングまで、ミーティング中、およびおそらくはミーティング後しばらくの間、少なくとも一時的に高められるものとすることができる。同様に、一方のスヴェンの誕生日が近づいている場合、または一方のスヴェンが特定のフライトで町に到着するようスケジュールされている場合は、このスヴェンの確率が、少なくとも一時的に他方のスヴェンよりも高められるものとすることができる。
いくつかの実装形態では、少なくとも1つの応答アクションに関連する確率は、ユーザの現在のコンテキストと、ユーザが過去に少なくとも1つの応答アクション(または十分に類似するタスク)を開始したときのユーザのコンテキストとの間の類似度に基づくことができる。ユーザが通常、平日は同僚のデイヴィッドスミスに電話し、週末は兄弟のデイヴィッドジョーンズに電話すると仮定する。ユーザが平日に宣言「デイヴに電話する」を発行した場合、ユーザのコンテキストは、ユーザがデイヴィッドスミスに電話した以前の事例に、より類似するであろう。それにより、デイヴィッドスミスとの通話が非決定的に開始される確率が高まる。同様に、ユーザが週末にこの宣言を発行した場合、ユーザのコンテキストは、ユーザがデイヴィッドジョーンズに電話した以前の事例に、より類似するであろう。このことは、デイヴィッドジョーンズとの通話が非決定的に開始される確率を高めることができる。
確率を決定するために、より複雑なコンテキスト上の比較が実施されてもよい。いくつかの実装形態では、以前および現在のコンテキストから特徴が抽出されて、これらが比較されて類似度が決定されてよい。代替の候補応答アクションを伴う上記の場合と同様、様々な技法を採用してコンテキスト間の類似度が計算されてよく、これらの技法は、次のものに限定されないが、KLダイバージェンス、コサイン類似度、レーベンシュタイン距離などを含む。例えば、宣言が発行されると、ユーザの現在のコンテキストに対応する特徴ベクトルが、複数の候補応答アクションのそれぞれの以前の実施中にユーザのコンテキストについて生成された特徴ベクトルと比較されるものとすることができる。ユーザの現在のコンテキストを表す特徴ベクトルに最も類似する特徴ベクトルを有する候補応答アクションは、応答となる見込みが最も高いと見なされるものとすることができ、したがって最も高い確率が割り振られるものとすることができる。ユーザの現在のコンテキストを表す特徴ベクトルに最も類似しない特徴ベクトルを有する候補応答アクションは、応答となる見込みが最も低いと見なされるものとすることができ、したがって最も低い確率が割り振られるものとすることができる。その他も同様である。
図5に、ユーザ宣言に潜在的に応答する1つまたは複数のタスクを非決定的に選択および/または開始するためにパーソナルアシスタントモジュールによって実行するのに適したルーチン550を示す。ルーチン550は、音声ベースのクエリを処理するサービスと同じサービスによって実行されてもよく、または全く異なるサービスであってもよい。
ルーチン550のブロック552〜556は、図3に描かれるルーチン100の様々なブロックと同様である。ブロック552で、音声入力が、例えばディジタルオーディオ信号の形で受け取られる。ブロック554で、音声入力はテキストトークンに変換される(例えば、図2のモジュール64および/またはモデル82を使用して)。ブロック556で、テキストトークンは解析されてよい(例えば、図2のモジュール68および/またはモデル82を使用して)。
ブロック558で、例えばパーソナルアシスタントモジュール56によって、ブロック556で識別された宣言に応答するアクションを非決定的に選択および/または開始するための非決定的なタスク開始プロセス(例えばサブルーチン)が開始されてよい。ブロック560で、非決定的なタスク開始プロセスは、ブロック556で識別されたユーザ宣言に潜在的に応答する可能性のある複数のアクションを、候補として識別ことができる(または、識別するようアクションビルダモジュール72に要求することができる)。例えば、ユーザ宣言が「電話する」という言葉を含む場合は、1つまたは複数の電話アプリケーションなど、電話発信のアクションに意味論的に関係する任意のアプリケーションが、潜在的に応答する候補として識別されるものとすることができる。
任意選択のブロック562で、ブロック560で識別された1つまたは複数の候補応答アクションに関連する1つまたは複数の確率が決定されてよい。上で言及したように、これらの確率は、ユーザ対話履歴、ユーザの現在のコンテキスト、ユーザが以前に候補応答アクションを開始したときのユーザのコンテキストなど、様々な情報信号に基づくことができる。ブロック564で、場合によってはブロック562で決定された確率に少なくとも部分的に基づいて、単一の応答アクションが音声対応デバイス52上で非決定的に選択および/または開始されてよい。
ブロック566で、ユーザと音声対応デバイス52(および/または、ユーザの生態系の一部をなす他のコンピューティングデバイス)との間の後続の対話の履歴が分析されてよい。ブロック568で、対応して(例えば、後続のユーザ宣言に応答して)、1つまたは複数の候補応答アクションに関連する1つまたは複数の確率が相応に改変されてよい。前に言及したように、後続の対話の履歴は、例えば、非決定的に開始された応答アクションをユーザが受諾または拒否したことを含むことができる。
ユーザと、このユーザによって操作されるコンピューティングデバイスの生態系との間の対話履歴は、これらのコンピューティングデバイスのメモリに加えてまたはそれに代えて、様々なメモリ場所に保存されている場合がある。例えば、いくつかの実装形態では、1つまたは複数の履歴記録は、例えば1つまたは複数の音声ベースのクエリプロセッサ80に関連付けられて、クラウド上に記憶されているものとすることができる。この意味で、あるコンピューティングデバイスにおいてユーザ宣言が提供されるとき、生態系の1つまたは複数の他のコンピューティングデバイスが、かつ/またはクラウド上に記憶された記録が調べられて、これらを使用して候補応答アクションに確率が割り当てられるものとすることができる。ユーザの後続の対話の履歴もまた、将来の使用のためにこれらの様々な場所のうちの1つまたは複数に記憶されてよい。少なくともいくらかの対話履歴記録をクラウド上に記憶することによって、これらの記録は、ユーザの生態系のすべてのコンピューティングデバイスにわたって利用可能とすることができる。このことは、ユーザが自分のすべてのデバイスにわたってより一貫性のある体験を持つことにつながるであろう。加えて、ユーザが新しいデバイスを自分の生態系に追加したとき、この新しいデバイス上で動作するパーソナルアシスタントモジュールは、ユーザの対話履歴へのアクセスをすぐに有することができる。
本明細書に記載の実装形態では、主に電話およびメッセージング応答アクションの使用を実証してきたが、これは限定とするものではない。本明細書に記載の技法を使用して、他の様々なタイプの応答アクションに確率を割り当てることができる。例えば、ユーザが「自分へのアラームをXX時に設定してください」と言うとき、ユーザの生態系のコンピューティングデバイスとのユーザの以前の対話が分析されて、アラーム設定に関するユーザの習慣が決定されてよい。これらの習慣および他の様々な情報信号(日付、時刻、および場所など)に基づいて、ユーザが受諾または拒否するためのアラーム時間が非決定的に選択されることが可能である。
いくつかの実装形態では、可能なすべての候補応答アクションに関連する確率が何らかのしきい値(例えば、>15%)を満たさない場合、このことは、いずれか特定の応答アクションが正しいという信頼度がほとんどないことを示唆する。このような場合、パーソナルアシスタントモジュール56は、追加情報をユーザに要請することができる。いくつかの実装形態では、このような状況でユーザに提供される1つまたは複数のプロンプトは、本明細書に記載の技法を使用して選択されてよい。例えば、関連する確率が最も高い2つまたはそれ以上の候補応答アクション間の曖昧さを除くための情報を提供するよう、ユーザは特に促されるものとすることができる。また、上で言及したように、他の実装形態では、候補がその中から非決定的に選択される候補プールの中には、1つまたは複数のしきい値を満たす確率を有する候補応答アクションのみ(または、確率が最も高いN個の候補のみ)が含まれるものとすることができる。
加えて、いくつかの実装形態では、非決定的に選択された応答アクションに関連する確率は、応答アクションがどのように開始されるか、かつ/またはどのようにユーザに提示されるかに影響を及ぼすことがある。例えば、確率が何らかの比較的高いしきい値(例えば、>95%)を満たす場合は、応答アクションは完全に開始されるものとすることができる(例えば、電話がかけられるものとすることができる)。確率がこのしきい値を満たさない場合は、応答アクションは、より低い程度まで開始されるものとすることができる(例えば、電話アプリが開かれて番号が事前ダイヤルされるが、ユーザが「話す」を押すまでは電話はかけられないものとすることができる)。
本明細書ではいくつかの実装形態について記述および例証したが、本明細書に記載の機能を実施するため、ならびに/あるいは、本明細書に記載の結果、および/または利点の1つもしくは複数を得るための、他の様々な手段および/または構造を利用することができ、そのような各変形および/または修正は、本明細書に記載の実装形態の範囲内と見なされる。より一般的には、本明細書に記載のすべてのパラメータ、寸法、材料、および構成は、例示的なものとし、実際のパラメータ、寸法、材料、および/または構成は、本教示が使用される具体的な応用例に依存することになる。本明細書に記載の具体的な実装形態に対する多くの均等物を、当業者なら認識するであろうし、またはルーチン実験より多くのものを使用せずに確認できるであろう。したがって、前述の実装形態は例として提示されるに過ぎないこと、および、添付の特許請求の範囲およびその均等物の範囲内で、具体的に記述され特許請求されるのとは別の方法で実装形態が実践されてもよいことを理解されたい。本開示の実装形態は、本明細書に記載の個別の各特徴、システム、物品、材料、キット、および/または方法を対象とする。加えて、2つまたはそれ以上のそのような特徴、システム、物品、材料、キット、および/または方法のどんな組合せも、そのような特徴、システム、物品、材料、キット、および/または方法が相互に矛盾しない場合には、本開示の範囲内に含まれる。
10 コンピュータシステム
12 プロセッサ
14 バスサブシステム
16 記憶サブシステム
18 メモリサブシステム
20 ファイル記憶サブシステム
22 ユーザインタフェース入力デバイス
24 ユーザインタフェース出力デバイス
26 ネットワークインタフェースサブシステム
28 ランダムアクセスメモリ(RAM)
30 読取専用メモリ(ROM)
50 分散型の音声入力処理環境
52 音声対応デバイス
54 オンラインセマンティックプロセッサ
56 パーソナルアシスタントモジュール
58 音声アクションモジュール
60 オンラインインタフェースモジュール
62 レンダリング/同期モジュール
64 ストリーミング音声-テキストモジュール
66 セマンティックプロセッサモジュール
68 パーサモジュール
70 ダイアログマネージャモジュール
72 アクションビルダモジュール
74 オフライン音響/言語モデル
76 オフライン文法モデル
78 オフラインアクションモデル
80 音声ベースのクエリプロセッサ
82 オンライン音響/言語、文法、およびアクションモデル
422 ユーザ宣言
4241 候補応答アクション、連絡先
4242 候補応答アクション、連絡先
4243 候補応答アクション、連絡先
424N 候補応答アクション、連絡先
4261 候補応答アクション、アプリ
4262 候補応答アクション、アプリ
4263 候補応答アクション、アプリ
426M 候補応答アクション、アプリ

Claims (12)

1つまたは複数のプロセッサによって、コンピューティングデバイスにおいて受け取られたユーザ宣言を識別するステップと、
前記プロセッサのうちの1つまたは複数によって、前記ユーザ宣言に基づいて、前記ユーザ宣言に応答して前記コンピューティングデバイスによって開始できる複数の候補応答アクションを識別するステップと、
前記プロセッサのうちの1つまたは複数によって、ユーザと、前記ユーザによって操作される1つまたは複数のコンピューティングデバイスとの間の対話の履歴に基づいて、各候補応答アクションの開始が前記ユーザ宣言に応答する確率を決定するステップと、
前記ユーザ宣言に応答して前記コンピューティングデバイス上で排他的に開始されることになる、前記複数の候補応答アクションのうちの単一の候補応答アクションを、前記プロセッサのうちの1つまたは複数によって、前記複数の候補応答アクションの前記確率に少なくとも部分的に基づいて非決定的に選択するステップと、
前記プロセッサのうちの1つまたは複数によって、前記単一の候補応答アクションを前記コンピューティングデバイス上で排他的に開始するステップと、
前記プロセッサのうちの1つまたは複数によって、前記選択されたアクションの開始に続く前記ユーザと前記コンピューティングデバイスとの間の1つまたは複数の対話に基づいて、前記開始された応答アクションに関連する確率を改変するステップと
を含み、
前記ユーザと前記コンピューティングデバイスとの間の前記1つまたは複数の対話が、前記選択された応答アクションを拒否すること、および代替の候補応答アクションを手動で開始することを含み、
前記改変するステップが、前記選択された応答アクションに関連する前記確率を、前記選択された応答アクションと前記代替の候補応答アクションとの間の類似度に反比例する量だけ改変するステップを含む、コンピュータ実装方法。
前記確率がさらに前記ユーザの現在のコンテキストに少なくとも部分的に基づく、請求項1に記載のコンピュータ実装方法。
前記ユーザの前記現在のコンテキストが、前記コンピューティングデバイスによって決定された前記ユーザの現在場所を含む、請求項2に記載のコンピュータ実装方法。
前記ユーザの前記現在のコンテキストが、前記ユーザの現在場所における現在時刻を含む、請求項2または3に記載のコンピュータ実装方法。
少なくとも1つの候補応答アクションに関連する確率が、前記ユーザの現在のコンテキストと、前記ユーザが過去に前記少なくとも1つの応答アクションを開始したときの前記ユーザのコンテキストとの間の類似度に基づく、請求項2から4のいずれか一項に記載のコンピュータ実装方法。
前記複数の候補応答アクションが、前記コンピューティングデバイスにインストールされた複数のソフトウェアアプリケーションを含む、請求項1から5のいずれか一項に記載のコンピュータ実装方法。
記ユーザ宣言が、電話通話を開始する要求を含み、前記複数の候補応答アクションが、前記コンピューティングデバイスにインストールされた複数の電話アプリケーションを含む、請求項1に記載のコンピュータ実装方法。
記ユーザ宣言が、メッセージを送る要求を含み、前記複数の候補応答アクションが、前記コンピューティングデバイスにインストールされた複数のメッセージングアプリケーションを含む、請求項1に記載のコンピュータ実装方法。
記ユーザ宣言が、リマインダを設定する要求を含み、前記複数の候補応答アクションが、前記コンピューティングデバイスにインストールされた、リマインダ機能を備える複数のアプリケーションを含む、請求項1に記載のコンピュータ実装方法。
前記ユーザ宣言が、名前との通信を開始する要求を含み、前記複数の候補応答アクションが、前記ユーザの、前記名前を含む複数の連絡先を含む、請求項1から6のいずれか一項に記載のコンピュータ実装方法。
1つまたは複数のプロセッサと、命令を記憶したメモリとを備えるシステムであって、前記命令が、
コンピューティングデバイスにおいて受け取られたユーザ宣言を識別するステップと、
前記ユーザ宣言に基づいて、前記コンピューティングデバイスによって開始されて前記ユーザ宣言を潜在的に満たすことができる複数の候補応答アクションを識別するステップと、
ユーザと、前記ユーザによって操作される1つまたは複数のコンピューティングデバイスとの間の対話の履歴に基づいて、各候補応答アクションの開始が前記ユーザ宣言を満たす確率を決定するステップと、
前記ユーザ宣言に応答して前記コンピューティングデバイス上で排他的に開始されることになる、前記複数の候補応答アクションのうちの単一の候補応答アクションを、前記決定された確率に基づいて非決定的に選択するステップと、
前記単一の候補応答アクションを前記コンピューティングデバイス上で排他的に開始するステップと、
前記単一の候補応答アクションの開始に続く前記ユーザと前記コンピューティングデバイスとの間の1つまたは複数の対話に基づいて、前記単一の候補応答アクションに関連する前記確率を改変するステップと
を前記1つまたは複数のプロセッサに行わせ、
前記ユーザと前記コンピューティングデバイスとの間の前記1つまたは複数の対話が、前記選択された応答アクションを拒否すること、および代替の候補応答アクションを手動で開始することを含み、
前記改変するステップが、前記選択された応答アクションに関連する前記確率を、前記選択された応答アクションと前記代替の候補応答アクションとの間の類似度に反比例する量だけ改変するステップを含む、システム。
コンピューティングシステムによって実行されたときに請求項1から10のいずれか一項に記載の方法を前記コンピューティングシステムに実行させる、コンピュータ実行可能命令。
JP2018562603A 2016-06-07 2016-12-28 パーソナルアシスタントモジュールによる非決定的なタスク開始 Active JP6827479B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/175,639 2016-06-07
US15/175,639 US10282218B2 (en) 2016-06-07 2016-06-07 Nondeterministic task initiation by a personal assistant module
PCT/US2016/068909 WO2017213702A1 (en) 2016-06-07 2016-12-28 Nondeterministic task initiation by a personal assistant module

Publications (2)

Publication Number Publication Date
JP2019523907A JP2019523907A (ja) 2019-08-29
JP6827479B2 true JP6827479B2 (ja) 2021-02-10

Family

ID=57838519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018562603A Active JP6827479B2 (ja) 2016-06-07 2016-12-28 パーソナルアシスタントモジュールによる非決定的なタスク開始

Country Status (8)

Country Link
US (2) US10282218B2 (ja)
EP (1) EP3465676B1 (ja)
JP (1) JP6827479B2 (ja)
KR (1) KR102189853B1 (ja)
CN (1) CN107481719B (ja)
DE (2) DE102016125801A1 (ja)
GB (1) GB2551216A (ja)
WO (1) WO2017213702A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10257314B2 (en) * 2016-06-22 2019-04-09 Microsoft Technology Licensing, Llc End-to-end user experiences with a digital assistant
US10671602B2 (en) * 2017-05-09 2020-06-02 Microsoft Technology Licensing, Llc Random factoid generation
CN116679903A (zh) * 2017-10-03 2023-09-01 谷歌有限责任公司 车辆环境中的多个数字助理协调
CN110136701B (zh) * 2018-02-09 2023-03-31 阿里巴巴集团控股有限公司 语音交互服务处理方法、装置和设备
EP3816789A1 (en) * 2018-05-07 2021-05-05 Google LLC Methods, systems, and apparatus for providing composite graphical assistant interfaces for controlling connected devices
CN108762851A (zh) * 2018-06-04 2018-11-06 联想(北京)有限公司 电子设备的操作方法和电子设备
US10360304B1 (en) 2018-06-04 2019-07-23 Imageous, Inc. Natural language processing interface-enabled building conditions control system
US20190386840A1 (en) * 2018-06-18 2019-12-19 Cisco Technology, Inc. Collaboration systems with automatic command implementation capabilities
CN108962261A (zh) * 2018-08-08 2018-12-07 联想(北京)有限公司 信息处理方法、信息处理装置和蓝牙耳机
US11151986B1 (en) * 2018-09-21 2021-10-19 Amazon Technologies, Inc. Learning how to rewrite user-specific input for natural language understanding
KR102582513B1 (ko) * 2018-09-27 2023-09-26 구글 엘엘씨 자동 내비게이션을 용이하게 하기 위한 웹 페이지 분석
KR102613210B1 (ko) * 2018-11-08 2023-12-14 현대자동차주식회사 차량 및 그 제어방법
DE102018221712B4 (de) * 2018-12-13 2022-09-22 Volkswagen Aktiengesellschaft Verfahren zum Betreiben eines interaktiven Informationssystems für ein Fahrzeug, sowie ein Fahrzeug
US11455987B1 (en) * 2019-03-06 2022-09-27 Amazon Technologies, Inc. Multiple skills processing
EP3757991A1 (en) 2019-06-26 2020-12-30 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
CN110780956A (zh) * 2019-09-16 2020-02-11 平安科技(深圳)有限公司 一种智能远程协助方法、装置、计算机设备及存储介质
CN110674338B (zh) * 2019-09-27 2022-11-01 百度在线网络技术(北京)有限公司 语音技能推荐方法、装置、设备及存储介质
US11798538B1 (en) * 2020-09-21 2023-10-24 Amazon Technologies, Inc. Answer prediction in a speech processing system
EP4064279A4 (en) * 2021-01-28 2022-12-21 Samsung Electronics Co., Ltd. DEVICE AND METHOD FOR PROVIDING RECOMMENDED SENTENCES ASSOCIATED WITH USER STATEMENT INPUT
DE202021001939U1 (de) * 2021-06-01 2021-07-15 Tigacall Gmbh Smartphone-Applikation zur effizienten Anrufhandhabung

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0451799A (ja) * 1990-06-20 1992-02-20 Hitachi Ltd 遠隔制御方式
JP3662780B2 (ja) * 1999-07-16 2005-06-22 日本電気株式会社 自然言語を用いた対話システム
JP3523213B2 (ja) * 2001-03-28 2004-04-26 株式会社ジャストシステム コマンド処理装置、コマンド処理方法、及びコマンド処理プログラム
JP4405370B2 (ja) * 2004-11-15 2010-01-27 本田技研工業株式会社 車両用機器制御装置
US8131718B2 (en) 2005-12-13 2012-03-06 Muse Green Investments LLC Intelligent data retrieval system
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
EP1914639A1 (en) 2006-10-16 2008-04-23 Tietoenator Oyj System and method allowing a user of a messaging client to interact with an information system
US8140335B2 (en) 2007-12-11 2012-03-20 Voicebox Technologies, Inc. System and method for providing a natural language voice user interface in an integrated voice navigation services environment
US9858925B2 (en) * 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
JP2011107603A (ja) * 2009-11-20 2011-06-02 Sony Corp 音声認識装置、および音声認識方法、並びにプログラム
GB2476964A (en) * 2010-01-15 2011-07-20 Anatoly Verenchikov Electrostatic trap mass spectrometer
US8694313B2 (en) * 2010-05-19 2014-04-08 Google Inc. Disambiguation of contact information using historical data
WO2012135226A1 (en) * 2011-03-31 2012-10-04 Microsoft Corporation Augmented conversational understanding architecture
JP5658641B2 (ja) * 2011-09-15 2015-01-28 株式会社Nttドコモ 端末装置、音声認識プログラム、音声認識方法および音声認識システム
KR101683083B1 (ko) 2011-09-30 2016-12-07 애플 인크. 가상 비서에서 커맨드 처리를 용이하게 하기 위한 컨텍스트 정보의 이용
US9411639B2 (en) * 2012-06-08 2016-08-09 Alcatel Lucent System and method for managing network navigation
US8949334B2 (en) 2012-07-26 2015-02-03 Microsoft Corporation Push-based recommendations
JP6068901B2 (ja) * 2012-09-26 2017-01-25 京セラ株式会社 情報端末、音声操作プログラムおよび音声操作方法
US9104487B2 (en) * 2012-09-28 2015-08-11 Alcatel Lucent Reducing response time variance of virtual processors
US20140095172A1 (en) * 2012-10-01 2014-04-03 Nuance Communications, Inc. Systems and methods for providing a voice agent user interface
EP2741477B1 (en) * 2012-12-06 2020-02-05 BlackBerry Limited Method Of Identifying Contacts For Initiating A Communication Using Speech Recognition
KR101759009B1 (ko) * 2013-03-15 2017-07-17 애플 인크. 적어도 부분적인 보이스 커맨드 시스템을 트레이닝시키는 것
WO2014197336A1 (en) * 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
CN103442138A (zh) * 2013-08-26 2013-12-11 华为终端有限公司 语音控制方法、装置及终端
CN104427109B (zh) * 2013-08-30 2017-04-19 联想(北京)有限公司 使用语音创建联系人项的方法及电子设备
US9286892B2 (en) 2014-04-01 2016-03-15 Google Inc. Language modeling in speech recognition
JP5968578B2 (ja) * 2014-04-22 2016-08-10 三菱電機株式会社 ユーザインターフェースシステム、ユーザインターフェース制御装置、ユーザインターフェース制御方法およびユーザインターフェース制御プログラム
JP6390264B2 (ja) * 2014-08-21 2018-09-19 トヨタ自動車株式会社 応答生成方法、応答生成装置及び応答生成プログラム
JP2016151928A (ja) * 2015-02-18 2016-08-22 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US20170018268A1 (en) * 2015-07-14 2017-01-19 Nuance Communications, Inc. Systems and methods for updating a language model based on user input

Also Published As

Publication number Publication date
CN107481719A (zh) 2017-12-15
DE102016125801A1 (de) 2017-12-07
WO2017213702A1 (en) 2017-12-14
CN107481719B (zh) 2020-12-29
US20190235888A1 (en) 2019-08-01
US10282218B2 (en) 2019-05-07
JP2019523907A (ja) 2019-08-29
KR20190016552A (ko) 2019-02-18
EP3465676A1 (en) 2019-04-10
US20170351532A1 (en) 2017-12-07
KR102189853B1 (ko) 2020-12-11
GB201621097D0 (en) 2017-01-25
DE202016008238U1 (de) 2017-05-05
EP3465676B1 (en) 2022-10-26
GB2551216A (en) 2017-12-13

Similar Documents

Publication Publication Date Title
JP6827479B2 (ja) パーソナルアシスタントモジュールによる非決定的なタスク開始
JP6789320B2 (ja) 選択的に辿ることが可能な状態機械のパーソナルアシスタントモジュールへの提供
EP3510593B1 (en) Task initiation using long-tail voice commands
KR102043365B1 (ko) 음성 인식 전자 디바이스에서 선택적으로 오프라인으로 실행가능한 음성 액션을 위한 데이터의 로컬 유지
KR20200054338A (ko) 다이얼로그 시스템들에서의 파라미터 수집 및 자동 다이얼로그 생성
KR20230003253A (ko) 인간 사용자를 대신하여 대화형 음성 응답(ivr) 트리 자동 탐색
JP2022539674A (ja) 特定話者スピーチモデルを使用した話者認識
KR20220143683A (ko) 전자 개인 비서 조정
JP2024020472A (ja) 人間の参加者の代理の自動アシスタントによる準委任通話
JP2024510698A (ja) アシスタントコマンドの文脈的抑制
US11756533B2 (en) Hot-word free pre-emption of automated assistant response presentation

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210119

R150 Certificate of patent or registration of utility model

Ref document number: 6827479

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250