JP6671379B2 - 音声および接続プラットフォーム - Google Patents

音声および接続プラットフォーム Download PDF

Info

Publication number
JP6671379B2
JP6671379B2 JP2017538155A JP2017538155A JP6671379B2 JP 6671379 B2 JP6671379 B2 JP 6671379B2 JP 2017538155 A JP2017538155 A JP 2017538155A JP 2017538155 A JP2017538155 A JP 2017538155A JP 6671379 B2 JP6671379 B2 JP 6671379B2
Authority
JP
Japan
Prior art keywords
user
action
context
engine
information
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.)
Expired - Fee Related
Application number
JP2017538155A
Other languages
English (en)
Other versions
JP2017535823A (ja
Inventor
グレゴリー・レナード
マティアス・ハーボ—
マティアス・ハーボ―
Original Assignee
エクスブレイン・インコーポレーテッド
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 エクスブレイン・インコーポレーテッド filed Critical エクスブレイン・インコーポレーテッド
Publication of JP2017535823A publication Critical patent/JP2017535823A/ja
Application granted granted Critical
Publication of JP6671379B2 publication Critical patent/JP6671379B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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
    • 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/24Speech recognition using non-acoustical features
    • 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
    • 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/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/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • 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/227Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of the speaker; Human-factor methodology
    • 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)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephonic Communication Services (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、音声および接続プラットフォームに関する。
現在の音声アシスタントは、AppleのSiri、GoogleのGoogle Now、およびMicrosoftのCortanaを含む。そのような現行システムの第1の問題は、ユーザが、人間と会話するようにパーソナルアシスタントと対話することができないという点である。そのような現行システムの第2の問題は、ユーザの言うことが、理解されないもしくは誤解されることがあまりにも多すぎる点、または現行システムが既定の動作ですぐにウェブ検索に向かう点である。そのような現行システムの第3の問題は、システムがユーザを支援することにプロアクティブでないという点である。第4の問題は、そのような現行システムが、これらが対話するアプリケーションに関して制限されている、たとえば、そのような音声アシスタントが、限られた数のアプリケーションとしか対話し得ないという点である。第5の問題は、そのような現行システムがユーザのコンテキストを利用していないという点である。第6の問題は、そのような現行システムが他の音声アシスタントと一体化しないという点である。
一実施形態において、この音声および接続エンジンは、既存の音声アシスタントの前述の欠点のうちの1つまたは複数を訂正した音声アシスタントを実現する。一実施形態において、この音声および接続エンジンは、自動音声認識コンポーネント、自然言語理解コンポーネント、およびテキスト読み上げコンポーネントのうちの1つまたは複数への不可知論的およびモジュール的なアプローチを使用しており、それにより、それらのコンポーネントへの頻繁な更新を可能にし、さらには異なる言語へのシステムの適応を簡素化する。一実施形態において、この音声および接続エンジンは、ユーザとのより自然な、人間のようなダイアログを提供し、またユーザの要求に対する理解の正確さを向上させ、要求を受け取ってから要求に基づき実行するまでの時間の長さを短縮するためにコンテキストを管理する。一実施形態において、この音声および接続エンジンは、既定の動作で即座にウェブ検索に向かうのではなくユーザの意図する要求をくみ取るワークアラウンド(work around)を提供する。一実施形態において、この音声および接続エンジンは、モジュールを利用してユーザデバイスの様々なアプリケーション(たとえば、電話、統合メッセンジャ、ニュース、メディア、天気、ウェブ検索用ブラウザなど)と対話し、モジュールはアプリケーションが追加され更新されるときに時間の経過とともに個別に追加または修正され得る。一実施形態において、アプリケーションと対話するためのモジュールは、ユーザコマンドにおいて一定レベルの標準化をもたらす。たとえば、ユーザは、口頭による要求「send a message」を使用して、Facebook、電子メール、またはtwitterを介してメッセージを送信し得る。
一実施形態において、方法は、第1のデバイスで、第1のアクションを要求する第1の音声入力をユーザから受信するステップと、第1の音声入力上で自動音声認識を実行するステップと、ユーザのコンテキストを取得するステップと、第1の音声入力の音声認識に基づき自然言語理解を実行するステップと、ユーザのコンテキストおよび自然言語理解に基づき第1のアクションを行うステップとを含む。
他の態様は、これらのおよび他の革新的な特徴に対する対応する方法、システム、装置、およびコンピュータプログラム製品を含む。これらの態様および他の実装はそれぞれ、以下の特徴のうちの1つまたは複数を適宜含み得る。たとえば、オペレーションは、第1の音声入力が内部イベントに応答して受信される、というオペレーションをさらに含む。たとえば、オペレーションは、ユーザ入力なしで音声アシスタントを開始するステップと、音声アシスタントの開始後にユーザから第1の音声入力を受信するステップとをさらに含む。たとえば、オペレーションは、コンテキストがコンテキスト履歴、ダイアログ履歴、ユーザプロファイル、ユーザ履歴、ロケーション、および現在のコンテキストドメインのうちの1つまたは複数を含むステップをさらに含む。たとえば、オペレーションは、アクションを実行した後に、第1のアクションに無関係の第2のアクションを要求する第2の音声入力をユーザから受信するステップと、第2のアクションを実行するステップと、第1のアクションに関係する第3のアクションを要求する第3の音声入力をユーザから受信するステップであって、第3の音声入力には第3のアクションを実行するために使用される情報が欠落している、ステップと、コンテキストを使用して欠落情報を取得するステップと、第3のアクションを実行するステップとをさらに含む。たとえば、オペレーションは、欠落情報は、アクション、アクター、およびエンティティのうちの1つまたは複数であるステップをさらに含む。たとえば、オペレーションは、第2のデバイスで、第1のアクションに関係する第2のアクションを要求する第2の音声入力をユーザから受信するステップであって、第2の音声入力には第2のアクションを実行するために使用される情報が欠落している、ステップと、コンテキストを使用して欠落情報を取得するステップと、コンテキストに基づき第2のアクションを実行するステップとをさらに含む。たとえば、オペレーションは、コンテキストおよび第1の音声入力には第1のアクションを実行するために使用される情報が欠落している、と決定するステップと、どのような情報が欠落情報であるかを決定するステップと、欠落情報を供給する第2の音声入力を行うようユーザに促すステップとをさらに含む。たとえば、オペレーションは、第1のアクションを実行するために使用される情報が、第1の音声入力から取得できないと決定するステップと、どのような情報が欠落情報であるかを決定するステップと、第1の音声入力から取得できない情報を供給する第2の音声入力を行うようユーザに促すステップとをさらに含む。たとえば、オペレーションは、第1のアクションを実行するために使用される情報が、第1の音声入力から取得できないと決定するステップと、どのような情報が、第1のアクションを実行するために使用される情報から欠落しているかを決定するステップと、ユーザが選択できるように、複数のオプションを提供するステップであって、オプションは第1のアクションを完了するための潜在的情報を供給する、ステップと、複数のオプションから第1のオプションを選択する第2の音声入力を受信するステップとをさらに含む。
本明細書で説明されている特徴および利点は、包括的ではなく、多くの追加の特徴および利点は、図および説明に照らして当業者には明白であろう。さらに、本明細書で使用されている用語は、主に、読みやすさおよび教育的な目的で選択されており、本発明の主題の範囲を制限するために選択されているのではないことに留意されたい。
本開示は、例を用いて、限定することなく、同様の参照番号は類似の要素を指し示すために使用されている添付図面の図に示されている。
一実施形態による音声および接続プラットフォームのための例示的なシステムを示すブロック図である。 一実施形態による例示的なコンピューティングデバイスを示すブロック図である。 一実施形態によるクライアントサイドの音声および接続エンジンの一例を示すブロック図である。 一実施形態によるサーバサイドの音声および接続エンジンの一例を示すブロック図である。 いくつかの実施形態による音声および接続プラットフォームを使用して要求を受信し、処理するための例示的な方法のフローチャートである。 いくつかの実施形態によるユーザの意図した要求を決定するために追加の情報を取得するための例示的な方法のフローチャートである。 別の実施形態による音声および接続プラットフォームを使用して要求を受信し、処理するための例示的な方法の図である。 一実施形態による音声および接続プラットフォームにおけるコンテキストを管理する一例を示すブロック図である。
図1は、一実施形態による音声および接続プラットフォームのための例示的なシステム100を示すブロック図である。例示されているシステム100は、クライアントデバイス106a…106n、自動音声認識(ASR)サーバ110、音声および接続サーバ122、およびテキスト読み上げ(TTS)サーバ116を備え、これらは互いに対話できるようにネットワーク102を介して通信可能に結合される。たとえば、クライアントデバイス106a…106nは、信号線104a…104nを介してネットワーク102にそれぞれ結合され、線110a…110nによって例示されているユーザ112a…112n(個別におよび総称的にユーザ112とも称される)によってアクセスされ得る。自動音声認識サーバ110は、信号線108を介してネットワーク102に結合され得る。音声および接続サーバ122は、信号線120を介してネットワーク102に結合され得る。テキスト読み上げサーバ116は、信号線114を介してネットワーク102に結合され得る。参照番号において「a」および「n」という文字を使用しているが、これは、その文字を有する任意の数の要素がシステム100に含まれ得ることを示すものとしてよい。
ネットワーク102は、任意の数のネットワークおよび/またはネットワークタイプを含み得る。たとえば、ネットワーク102は、限定はしないが、1つまたは複数のローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)(たとえば、インターネット)、仮想プライベートネットワーク(VPN)、モバイルネットワーク(たとえば、セルラーネットワーク)、ワイヤレスワイドエリアネットワーク(WWAN)、Wi-Fiネットワーク、WiMAX(登録商標)ネットワーク、Bluetooth(登録商標)通信ネットワーク、ピアツーピアネットワーク、複数のデバイスが通信する際の他の相互接続されたデータ経路、これらの様々な組合せ、などを含み得る。ネットワーク102によって送信されるデータは、ネットワーク102に結合されている指定されたコンピューティングデバイスにルーティングされているパケット化されたデータ(たとえば、インターネットプロトコル(IP)データパケット)を含むものとしてよい。いくつかの実装において、ネットワーク102は、システム100のコンピューティングデバイスを相互接続する有線およびワイヤレス(たとえば、地上波または衛星ベースのトランシーバ)のネットワーキングソフトウェアおよび/またはハードウェアの組合せを含み得る。たとえば、ネットワーク102は、データパケットのヘッダに含まれる情報に基づきデータパケットを様々なコンピューティングデバイスにルーティングするパケット交換デバイスを備えるものとしてよい。
ネットワーク102上で交換されるデータは、ハイパーテキスト・マークアップ言語(HTML)、拡張マークアップ言語(XML)、JavaScript(登録商標) Object Notation(JSON)、Comma Separated Values(CSV)、Java(登録商標) DataBase Connectivity(JDBC)、Open DataBase Connectivity(ODBC)などを含む技術および/またはフォーマットを使用して表現され得る。それに加えて、従来の暗号化技術、たとえば、リンクの全部または一部は、セキュアソケット層(SSL)、セキュアHTTP(HTTPS)、および/または仮想プライベートネットワーク(VPN)、またはインターネットプロトコルセキュリティ(IPsec)などを使用して暗号化され得る。別の実施形態において、エンティティは、上で説明されているものの代わりに、またはそれに加えて、カスタムおよび/または専用データ通信技術を使用することができる。実施形態に応じて、ネットワーク102は、他のネットワークへのリンクも含み得る。それに加えて、ネットワーク102上で交換されるデータは圧縮され得る。
クライアントデバイス106a…106n(個別におよび総称的にクライアントデバイス106とも称される)は、データ処理および通信機能を有するコンピューティングデバイスである。図1は、2つのクライアントデバイス106を例示しているが、本明細書は、1つまたは複数のクライアントデバイス106を有する任意のシステムアーキテクチャに適用される。いくつかの実施形態において、クライアントデバイス106は、プロセッサ(たとえば、仮想的、物理的などの)、メモリ、電源、ネットワークインターフェース、および/またはディスプレイ、グラフィックプロセッサ、ワイヤレストランシーバ、キーボード、スピーカ、カメラ、センサ、ファームウェア、オペレーティングシステム、ドライバ、様々な物理的接続インターフェース(たとえば、USB、HDMI(登録商標)など)の他のソフトウェアおよび/またはハードウェアコンポーネントを含み得る。クライアントデバイス106a…106nは、ワイヤレスおよび/または有線接続を使用してネットワーク102を介して互いに、およびシステム100の他のエンティティに結合し、通信することができる。
クライアントデバイス106の例は、限定はしないが、自動車、ロボット、携帯電話(たとえば、フィーチャーフォン、スマートフォンなど)、タブレット、ラップトップ、デスクトップ、ネットブック、サーバアプライアンス、サーバ、仮想マシン、TV、セットトップボックス、メディアストリーミングデバイス、ポータブルメディアプレーヤ、ナビゲーションデバイス、携帯情報端末などを含み得る。2つ以上のクライアントデバイス106が図1に示されているが、システム100は、任意の数のクライアントデバイス106を備え得る。それに加えて、クライアントデバイス106a…106nは、同じまたは異なるタイプのコンピューティングデバイスであってもよい。たとえば、一実施形態において、クライアントデバイス106aは、自動車であり、クライアントデバイス106nは、携帯電話である。
図示されている実装において、クライアントデバイス106aは、クライアントサイドの音声および接続エンジン109a、自動音声認識エンジン111a、およびテキスト読み上げエンジン119aのインスタンスを含む。図示されていないが、クライアントデバイス106nは、クライアントサイドの音声および接続エンジン109n、自動音声認識エンジン111n、およびテキスト読み上げエンジン119nのそのデバイス自体のインスタンスを含み得る。一実施形態において、クライアントサイドの音声および接続エンジン109、自動音声認識エンジン111、およびテキスト読み上げエンジン119のインスタンスが、クライアントデバイス106のメモリ内に記憶可能であり、クライアントデバイス106のプロセッサによって実行可能であるものとしてよい。
テキスト読み上げ(TTS)サーバ116、自動音声認識(ASR)サーバ110、ならびに音声および接続サーバ122は、データ処理機能、記憶機能、および通信機能を有する1つまたは複数のコンピューティングデバイスを備え得る。たとえば、これらのエンティティ110、116、122は、1つまたは複数のハードウェアサーバ、サーバアレイ、記憶装置デバイス、システムなどを備えるものとしてよく、および/または集中もしくは分散/クラウドベースであってよい。いくつかの実装において、これらのエンティティ110、116、122は、1つまたは複数の仮想サーバを含むものとしてよく、これらはホストサーバ環境で動作し、抽象層(たとえば、仮想マシンマネージャ)を介して、たとえば、プロセッサ、メモリ、記憶装置、ネットワークインターフェースなどを含むホストサーバの物理的ハードウェアにアクセスする。
自動音声認識(ASR)エンジン111は、自動音声認識を実行する。たとえば、一実施形態において、ASRエンジン111は、音声(たとえば、声)入力を受信して、音声をテキスト列に変換する。ASRエンジン111の例は、限定はしないが、Nuance、Google Voice、Telisma/OnMobileなどを含む。
実施形態に応じて、ASRエンジン111は、オンボード、オフボード、またはこれらの組合せであってよい。たとえば、一実施形態において、ASRエンジン111は、オンボードであり、ASRは、ASRエンジン111aおよびASRエンジン111xによってクライアントデバイス106上で実行され、ASRサーバ110は、省かれ得る。別の例では、一実施形態において、ASRエンジン111は、オフボード(たとえば、ストリーミングまたはリレー)であり、ASRは、ASRエンジン111xによってASRサーバ110上で実行され、ASRエンジン111aは、省かれ得る。なおも別の例では、ASRは、ASRエンジン111aによってクライアントデバイス106上で、またASRエンジン111xによってASRサーバ110上で実行される。
テキスト読み上げ(TTS)エンジン119は、テキスト読み上げを実行する。たとえば、一実施形態において、TTSエンジン119は、テキストまたは他の非音声入力(たとえば、図3のワークアラウンドエンジン328を参照しつつ以下で説明されているような追加の情報の要求)を受信し、クライアントデバイス106の音声出力を通じてユーザ112に提示される人間認識可能音声を出力する。ASRエンジン111の例は、限定はしないが、Nuance、Google Voice、Telisma/OnMobile、Creawave、Acapellaなどを含む。
実施形態に応じて、TTSエンジン119は、オンボード、オフボード、またはこれらの組合せであってよい。たとえば、一実施形態において、TTSエンジン119は、オンボードであり、TTSは、TTSエンジン119aおよびTTSエンジン119xによってクライアントデバイス106上で実行され、TTSサーバ116は、省かれ得る。別の例では、一実施形態において、TTSエンジン119は、オフボード(たとえば、ストリーミングまたはリレー)であり、TTSは、TTSエンジン119xによってTTSサーバ116上で実行され、TTSエンジン119aは、省かれ得る。なおも別の例では、TTSは、TTSエンジン116aによってクライアントデバイス106上で、またTTSエンジン116xによってTTSサーバ116上で実行される。
例示されている実施形態において、音声および接続エンジンは、2つのコンポーネント109、124、すなわち、1つのクライアントサイドと1つのサーバサイドとに分割される。実施形態に応じて、音声および接続エンジンは、オンボード、オフボード、またはこれらの2つのハイブリッドであってよい。別の例では、一実施形態において、音声および接続エンジンは、オンボードであり、図3および図4に関して以下で説明されている特徴および機能は、クライアントデバイス106上で実行される。別の例では、一実施形態において、音声および接続エンジンは、オフボードであり、図3および図4に関して以下で説明されている特徴および機能は、音声および接続サーバ122上で実行される。なおも別の例では、一実施形態において、音声および接続エンジンは、ハイブリッドであり、図3および図4に関して以下で説明されている特徴および機能は、クライアントサイドの音声および接続エンジン109とサーバサイドの音声および接続エンジン124とに分割される。ただし、特徴および機能は、図3および図4の例示されている実施形態とは異なる形で分割され得ることは理解されるべきである。一実施形態において、音声および接続エンジンは、コンテキストおよび人工知能を使用し、ユーザ112と自然なダイアログを行う音声アシスタントを提供し、ユーザ要求における不備(たとえば、音声認識の失敗)に対するワークアラウンドを施すことができる。
一実施形態において、クライアントサイド(オンボード)の音声および接続エンジン109はダイアログを管理し、サーバサイド(オフボード)の音声および接続プラットフォーム124に接続して拡張意味処理を行う。そのような一実施形態は、有利には、これらの2つの間の接続性の喪失および回復を行えるように同期をとる。たとえば、ユーザが、トンネルを通っており、ネットワーク102の接続がなくなっていると仮定する。一実施形態において、システム100は、ネットワーク102の接続性が失われたことを検出し、実行する自動音声認識エンジン111および自然言語理解エンジン326の「lite」ローカルバージョンを使用してクライアントデバイス106上のローカルで音声入力(すなわち、クエリ/要求)を分析するが、ネットワーク102の接続性が利用可能であるときには、ASRおよび自然言語理解(NLU)は、より大きい意味、語彙、および処理能力を提供するエンジンのサーバサイドバージョンで実行される。一実施形態において、ユーザの要求が、ネットワーク102の接続性を必要とする場合、システムは、ネットワーク102の接続性が再確立されるときにユーザの要求が処理されるネットワーク102の接続性を失っていることをユーザに言葉で通知するものとしてよい。
図1に例示されているシステム100は、一実施形態による音声および接続性について例示的なシステムを代表するものであること、および様々な異なるシステム環境および構成が企図され、本開示の範囲内にあることは理解されるべきである。たとえば、様々な機能がサーバからクライアントに、またはその逆に移動されてよく、いくつかの実装は、追加の、またはより少ないコンピューティングデバイス、サーバ、および/またはネットワークを含むものとしてよく、様々な機能クライアントサイドまたはサーバサイドを実装し得る。さらに、システム100の様々なエンティティが、単一のコンピューティングデバイスまたはシステム内に一体化されるか、または追加のコンピューティングデバイスもしくはシステムなどの間に分割され得る。
図2は、一実施形態による例示的なコンピューティングデバイス200のブロック図である。コンピューティングデバイス200は、例示されているように、プロセッサ202、メモリ204、通信ユニット208、記憶装置デバイス241を備えるものとしてよく、これらは通信バス206によって通信可能に結合され得る。図2に示されているコンピューティングデバイス200は、例として提示されており、本開示の範囲から逸脱することなく他の形態をとり、追加の、またはより少ないコンポーネントを備え得ることは理解されるべきである。たとえば、図示されていないが、コンピューティングデバイス200は、入力および出力デバイス(たとえば、ディスプレイ、キーボード、マウス、タッチスクリーン、スピーカなど)、様々なオペレーティングシステム、センサ、追加のプロセッサ、ならびに他の物理的構成を含み得る。それに加えて、図2に示され、本明細書で説明されているコンピュータアーキテクチャは、たとえば、TTSサーバ116(たとえば、TTSエンジン119を含め、他の例示されているエンジンを省くことによって)、ASRサーバ110(たとえな、ASRエンジン111を含め、他の例示されているエンジンを省くことによって)、クライアントデバイス106(たとえば、サーバサイドの音声および接続エンジン124を省くことによって)、ならびに音声および接続サーバ122(たとえば、サーバサイドの音声および接続エンジン124を含め、他の例示されているエンジンを省くことによって)を含む、様々な修正形態とともにシステム100内の複数のエンティティに適用され得ることは理解されるべきである。
プロセッサ202は、算術論理演算ユニット、マイクロプロセッサ、汎用コントローラ、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、または他の何らかのプロセッサアレイ、またはこれらの何らかの組合せを含み、本明細書で説明されている特徴および機能をもたらす様々な入力、論理、および/または数学演算を実行することによってソフトウェア命令を実行する。プロセッサ202は、様々な入出力、論理、および/または数学演算を実行することによってコード、ルーチン、およびソフトウェア命令を実行し得る。プロセッサ202は、たとえば、複合命令セットコンピュータ(CISC)アーキテクチャ、縮小命令セットコンピュータ(RISC)アーキテクチャ、および/または命令セットの組合せを実装するアーキテクチャを含むデータ信号を処理するための様々なコンピューティングアーキテクチャを有する。プロセッサ202は、物理的および/または仮想的であってよく、単一コアもしくは複数の処理ユニットおよび/またはコアを含み得る。いくつかの実装において、プロセッサ202は、電子的ディスプレイ信号を生成してディスプレイデバイス(図示せず)に供給し、画像の表示をサポートし、画像をキャプチャして送信し、様々なタイプの特徴抽出およびサンプリングを含む複合タスクを実行することなどを行うことができるものとしてよい。いくつかの実装において、プロセッサ202は、バス206を介してメモリ204に結合され、これにより、そこからデータおよび命令にアクセスし、その中にデータを記憶することができる。バス206は、プロセッサ202を、たとえば、メモリ204、通信ユニット208、および記憶装置デバイス241を備えるアプリケーションサーバ122の他のコンポーネントに結合し得る。
メモリ204は、データを記憶し、コンピューティングデバイス200の他のコンポーネントにデータへのアクセスを提供することができる。いくつかの実装において、メモリ204は、プロセッサ202によって実行され得る命令および/またはデータを記憶することができる。たとえば、図示されているように、メモリ204は、1つまたは複数のエンジン109、111、119、124を記憶することができる。メモリ204は、また、たとえば、オペレーティングシステム、ハードウェアドライバ、ソフトウェアアプリケーション、データベースなどを含む、他の命令およびデータを記憶することもできる。メモリ204は、プロセッサ202およびコンピューティングデバイス200の他のコンポーネントとの通信のためにバス206に結合され得る。
メモリ204は、プロセッサ202による処理のため、またはプロセッサ202との接続で、命令、データ、コンピュータプログラム、ソフトウェア、コード、ルーチンなどを格納し、記憶し、通信し、伝搬し、または搬送することができる任意の装置またはデバイスであってよい、非一時的コンピュータ使用可能(たとえば、読み出し可能、書き込み可能などの)媒体を含む。いくつかの実装において、メモリ204は、揮発性メモリおよび不揮発性メモリのうちの1つまたは複数を含み得る。たとえば、メモリ204は、限定はしないが、ダイナミックランダムアクセスメモリ(DRAM)デバイス、スタティックランダムアクセスメモリ(SRAM)デバイス、ディスクリートメモリデバイス(たとえば、PROM、FPROM、ROM)、ハードディスクドライブ、光ディスクドライブ(CD、DVD、Blue-ray(商標)など)のうちの1つまたは複数を含み得る。メモリ204は、単一のデバイスであり得るか、または複数のタイプのデバイスおよび構成を含み得ることは理解されるべきである。
バス206は、コンピューティングデバイスのコンポーネント間で、またはコンピューティングデバイス106/110/116/122、ネットワーク102またはその一部分を含むネットワークバスシステム、プロセッサメッシュ、これらの組合せなどの間でデータを転送するための通信バスを含み得る。いくつかの実装において、エンジン109、111、119、124、そのサブコンポーネント、およびコンピューティングデバイス200上で動作する様々なソフトウェア(たとえば、オペレーティングシステム、デバイスドライバなど)は、連携し、バス206に関連して実装されているソフトウェア通信メカニズムを介して通信するものとしてよい。ソフトウェア通信メカニズムは、たとえば、プロセス間通信、ローカルファンクションまたはプロシージャコール、リモートプロシージャコール、オブジェクトブローカ(たとえば、CORBA)、ソフトウェアモジュール間のダイレクトソケット通信(たとえば、TCP/IPソケット)、UDPブロードキャストおよび受信、HTTP接続などを含み、および/または円滑にすることができる。さらに、通信はどれも、またはすべてがセキュア(たとえば、SSL、HTTPSなど)とすることが可能である。
通信ユニット208は、ネットワーク102との有線および/またはワイヤレス接続性のための1つまたは複数のインターフェースデバイス(I/F)を備え得る。たとえば、通信ユニット208は、限定はしないが、CAT型インターフェース、モバイルネットワーク103と通信するための無線トランシーバ(4G、3G、2Gなど)、およびWiFi(商標)および近距離(たとえば、Bluetooth(登録商標)、NFCなど)接続性などのための無線トランシーバを使用して信号を送受信するためのワイヤレストランシーバ、USBインターフェース、これらの様々な組合せなどを含み得る。いくつかの実装において、通信ユニット208は、プロセッサ202をネットワーク102にリンクすることができ、次いで、これは他の処理システムに結合され得る。通信ユニット208は、たとえば本明細書の別のところで説明されているものを含む、様々な標準ネットワーク通信プロトコルを使用してネットワーク102への、およびシステム100の他のエンティティへの他の接続も提供することができる。
記憶装置デバイス241は、データを記憶し、データへのアクセスを提供するための情報源である。いくつかの実装において、記憶装置デバイス241は、バス206を介してコンピューティングデバイスのコンポーネント202、204、および208に結合され、それによりデータを受信し、データへのアクセスを提供し得る。記憶装置デバイス241に記憶されるデータは、コンピューティングデバイス200および実施形態に基づき異なり得る。たとえば、一実施形態において、クライアントデバイス106の記憶装置デバイス241は、ユーザの現在のコンテキストおよびセッションに関する情報を記憶するものとしてよく、音声および接続サーバ122の記憶装置デバイス241は、メディアおよび長期的コンテキスト、機械学習に使用される集約ユーザデータなどを記憶する。
記憶装置デバイス241は、コンピューティングデバイス200、および/またはコンピューティングデバイス200と異なるが、コンピューティングデバイス200に結合されるか、またはそれによってアクセス可能である記憶装置システムに備えられ得る。記憶装置デバイス241は、データを記憶するための1つまたは複数の非一時的コンピュータ可読媒体を備えることができる。いくつかの実装において、記憶装置デバイス241は、メモリ204内に組み込まれ得るか、またはそれと異なっていてもよい。いくつかの実装において、記憶装置デバイス241は、アプリケーションサーバ122上で動作可能なデータベース管理システム(DBMS)を備え得る。たとえば、DBMSは、構造化照会言語(SQL)DBMS、NoSQL DBMS、これらの様々な組合せなどを含むこともあり得る。いくつかの場合において、DBMSは、行と列とからなる多次元テーブルにデータを記憶し、プログラミングによるオペレーションを使用してデータの行を操作する、すなわち、挿入する、クエリを実行する、更新する、および/または削除することができる。
上で述べたように、コンピューティングデバイス200は、他の、および/またはより少ないコンポーネントを含み得る。他のコンポーネントの例は、ディスプレイ、入力デバイス、センサなど(図示せず)を含み得る。一実施形態において、コンピューティングデバイスはディスプレイを備える。ディスプレイは、たとえば、有機発光ダイオード(OLED)ディスプレイ、液晶ディスプレイ(LCD)などを含む、従来の、ディスプレイデバイス、モニタ、または画面を備え得る。いくつかの実装において、ディスプレイは、スタイラス、ユーザ112の1本またはそれ以上の指などからの入力を受信することができるタッチスクリーンディスプレイであってよい。ディスプレイは、たとえば、ディスプレイ表面への複数の接触点を検出し、解釈することができる静電容量方式タッチスクリーンディスプレイであってよい。
入力デバイス(図示せず)は、情報をアプリケーションサーバ122に入力するためのデバイスを含み得る。いくつかの実装において、入力デバイスは、1つまたは複数の周辺デバイスを含み得る。たとえば、入力デバイスは、キーボード(たとえば、QWERTYキーボードまたは他の言語のキーボード)、ポインティングデバイス(たとえば、マウスまたはタッチパッド)、マイクロフォン、画像/ビデオキャプチャデバイス(たとえば、カメラ)などを含み得る。一実施形態において、コンピューティングデバイス200は、クライアントデバイス106を表すものとしてよく、クライアントデバイス106は、音声入力を受信するためのマイクロフォンとテキスト読み上げ(TTS)に使用されるスピーカとを備える。いくつかの実装において、入力デバイスは、ユーザ112の1本またはそれ以上の指からの入力を受信することができるタッチスクリーンディスプレイを含み得る。たとえば、ユーザ112は、指を使用してキーボード領域内の表示に触れることによってタッチスクリーンディスプレイ上に表示されているエミュレートされた(すなわち、仮想もしくはソフト)キーボードをインタラクティブに操作することが可能である。
例示的なクライアントサイドの音声および接続エンジン109
次に図3を参照すると、一実施形態による例示的なクライアントサイドの音声および接続エンジン109のブロック図が示されている。例示されている実施形態において、クライアントサイドの音声および接続エンジン109は、自動音声認識(ASR)エンジン322、クライアントサイドコンテキストホルダ324、自然言語理解(NLU)エンジン326、ワークアラウンドエンジン328、および接続エンジン330を備える。
自動音声認識(ASR)対話エンジン322は、自動音声認識(ASR)エンジン111と対話するためのコードおよびルーチンを備える。一実施形態において、ASR対話エンジン322は、プロセッサ202によって実行可能である一組の命令である。別の実施形態において、ASR対話エンジン322は、メモリ204内に記憶されており、プロセッサ202からアクセス可能であり、プロセッサ202によって実行可能である。いずれかの実施形態において、ASR対話エンジン322は、プロセッサ202、ASRエンジン111、およびシステム100の他のコンポーネントと連携し、通信するように適合されている。
ASR対話エンジン322は、ASRエンジン111と対話する。一実施形態において、ASRエンジン111は、クライアントデバイス106のローカルにある。たとえば、ASR対話エンジン322は、ASRエンジン111aなどのオンボードASRアプリケーションであるASRエンジン111と対話する。一実施形態において、ASRエンジン111は、クライアントデバイス106のリモートにある。たとえば、ASR対話エンジン322は、ASRエンジン111xなどのネットワーク102を介してアクセス可能であり、使用されるオフボードASRアプリケーションであるASRエンジン111と対話する。一実施形態において、ASRエンジン111は、クライアントデバイス106のローカルとリモートの両方にあるコンポーネントを含むハイブリッドである。たとえば、ASR対話エンジン322は、クライアントデバイス106にかかる処理の負担を低減し、その電池寿命を改善するためにクライアントデバイス106がネットワーク102の接続性を有しているときにオフボードASRエンジン111xと対話し、ネットワーク102の接続性が利用不可能であるか、または不十分であるときにオンボードASRエンジン111aを対話する。
一実施形態において、ASR対話エンジン322は、ASRエンジン111の音声入力を開始することによってASRエンジン111と対話する。一実施形態において、ASR対話エンジン322は、1つまたは複数のイベントを検出したことに応答してASRエンジン111の音声入力を開始することができる。いくつかの実施形態において、ASR対話エンジン322は、ユーザ112がダイアログを開始するのを待たずに、ASRをプロアクティブに開始する。イベントの例は、限定することなく、ウェイクアップ語またはフレーズ、タイマのタイムアウト、ユーザ入力、内部イベント、外部イベントなどを含む。
一実施形態において、ASR対話エンジン322は、目覚まし単語またはフレーズを検出したことに応答してASRエンジン111の音声入力を開始する。たとえば、音声および接続プラットフォームは、ユーザと対話するためにペルソナに関連付けられており、ペルソナは、「Sam」という名前であると仮定すると、一実施形態において、ASR対話エンジン322は、クライアントデバイスのマイクロフォンを介して単語「Sam」がいつ受信されたかを検出し、ASRエンジン111に対する音声入力を開始する。別の実施形態において、フレーズ「Hey you!」が目覚ましフレーズとして割り当てられていると仮定すると、一実施形態において、ASR対話エンジン322は、クライアントデバイスのマイクロフォンを介してフレーズ「Hey you!」がいつ受信されたかを検出し、ASRエンジン111に対する音声入力を開始する。
一実施形態において、ASR対話エンジン322は、タイマのタイムアウトを検出したことに応答してASRエンジン111の音声入力を開始する。たとえば、システム100は、ユーザが午前7時に目覚め、午後6時に退社すると決定し得る。一実施形態では、タイマを午前7時にセットし、さらにタイマを午後6時にセットすると、ASR対話エンジン322は、それらの時刻にASRエンジン111に対する音声入力を開始する。たとえば、そのようにして、ユーザは、午前7時に目覚めたときにニュースまたは天気を尋ね、午後6時に退社するときに交通状況報告を要求するか、または配偶者に電話をかけるよう要求することができる。
一実施形態において、ASR対話エンジン322は、ユーザ入力を検出したことに応答してASRエンジン111の音声入力を開始する。たとえば、ASR対話エンジン322は、ジェスチャ(たとえば、タッチスクリーン上の特定のスワイプもしくはモーション)またはボタン(物理的もしくはソフト/仮想)選択(たとえば、専用ボタンを選択するか、もしくは多目的ボタンを長押しすること)を検出したことに応答してASRエンジン111の音声入力を開始する。参照されるボタンは、クライアントデバイス106またはクライアントデバイス106に関連付けられているコンポーネント(たとえば、ドック、クレードル、Bluetooth(登録商標)ヘッドセット、スマートウォッチなど)にあるものとしてよいことは理解されるべきである。
一実施形態において、ASR対話エンジン322は、内部イベントを検出したことに応答してASRエンジン111の音声入力を開始する。一実施形態において、内部イベントは、クライアントデバイス106のセンサ(たとえば、GPS、加速度計、電力センサ、ドッキングセンサ、Bluetooth(登録商標)アンテナなど)に基づく。たとえば、ASR対話エンジン322は、ユーザデバイス106がユーザの自動車の中に配置されていることを検出したことに応答してASRの音声入力を開始し(たとえば、自動車、電力、および車内クレードル/ドックなどへの接続のオンボード診断機能に基づき検出し)、ASRエンジン111の音声入力を開始する(たとえば、ナビゲーション指令または再生する音楽に対するユーザの要求を受信するため)。一実施形態において、内部イベントは、クライアントデバイス106のアプリケーション(図示せず)に基づく。たとえば、クライアントデバイス106は、カレンダアプリケーションを備えるスマートフォンであり、カレンダアプリケーションは、リモートロケーションにいるユーザに対するアポイントメントを含むと仮定すると、一実施形態では、ASRは、アポイントメントを検出したことに応答してASRエンジンの音声入力を開始する(たとえば、アポイントメントのロケーションへの指令に対するユーザの要求を受信するため)。一実施形態において、内部イベントは、ローカルのテキスト読み上げエンジン119aのオペレーションに基づく。たとえば、テキスト読み上げエンジン119が、コンテキストプロンプト(たとえば、「It appears you are leaving work would you like to call your wife and navigate home?」)、または他のプロンプトをユーザに提示するために動作すると仮定すると、一実施形態において、ASR対話エンジン322は、テキスト読み上げプロンプトを検出し、ASRエンジン111の音声入力を開始してプロンプトへのユーザの応答を受信する。
一実施形態において、ASR対話エンジン322は、外部イベントを(たとえば、サードパーティAPIまたはデータベースから)検出したことに応答してASRエンジン111の音声入力を開始する。一実施形態において、内部イベントは、リモートのテキスト読み上げエンジン119xのオペレーションに基づく。たとえば、テキスト読み上げエンジン119が、コンテキストプロンプト(たとえば、「It appears you are leaving work would you like to call your wife and navigate home?」または「you are approaching your destination would you like me to direct you to available parking?」)、または他のプロンプトをユーザに提示するために動作すると仮定すると、一実施形態において、ASR対話エンジン322は、テキスト読み上げプロンプトを検出し、ASRエンジン111の音声入力を開始してプロンプトへのユーザの応答を受信する。
一実施形態において、ASR対話エンジン322は、不可知論的である。たとえば、一実施形態において、ASR対話エンジン322は、1つまたは複数の異なるASRエンジン111を使用し得る。ASRエンジン111の例は、限定はしないが、Nuance、Google Voice、Telisma/OnMobile、Creawave、Acapellaなどを含む。不可知論的なASR対話エンジン322は、有利には、使用されるASRエンジン111およびASRエンジン111の言語における柔軟性を実現し、使用されるASRエンジン111が、新しいASRエンジン111が利用可能になり、既存のASRエンジンが切断されるときに音声および接続システム100の寿命の終わりまで変更されることを可能にし得る。いくつかの実施形態において、システム100は、複数のASRエンジンを備え、使用されるASRエンジン111は、コンテキストに依存する。たとえば、Google Voiceは、Nuanceに比べて、固有名詞の認識力に優れていると仮定すると、一実施形態において、ASR対話エンジン322は、ユーザが電話アプリケーションの連絡先リストにアクセスしたと決定されたときにGoogle Voice ASRと対話することができる。いくつかの実施形態において、システム100は、ASRエンジンをいつでも切り替えることができる(たとえば、第1のASRエンジン111による音声入力の第1の部分および第2のASR111による音声入力の第2の部分を処理する)。ASRエンジン111と同様に、一実施形態において、システム100は、使用されるTTSエンジン119に関して不可知論的である。またASRエンジン111と同様に、いくつかの実施形態において、システム100は、複数のTTSエンジン119を備えるものとしてよく、異なるコンテキストに異なるTTSエンジンを選択して使用することができ、および/または異なるTTSエンジンをいつでも切り替えることができる。たとえば、一実施形態において、システム100は、英語のヘッドラインの読み上げを開始し、その際にユーザはフランス語を要求することができ、システムは、英語からフランス語のTTSエンジンに遷移する。
ASRエンジン111は、ASR対話エンジン322が音声入力を開始した後に音声入力を受信する。一実施形態において、開始に応答して、ASRエンジン111は、ASR対話エンジン322がさらに関与することなく音声入力を受信する。一実施形態において、音声入力を開始した後に、ASR対話エンジン322は、音声入力をASRエンジン111に受け渡す。たとえば、ASR対話エンジン322は、ASRエンジン111に通信可能に結合されており、音声入力をASRエンジン111に送信し得る。別の実施形態において、音声入力を開始した後に、ASR対話エンジン322は、音声入力を記憶装置デバイス(または通信可能にアクセス可能な他の非一時的記憶媒体)に記憶し、音声入力は、記憶装置デバイス(または他の非一時的記憶媒体)にアクセスすることによってASRエンジン111によって取り出され得る。
いくつかの実施形態において、システム100は、音声入力などのユーザ入力を受信することなく電子音声アシスタントをプロアクティブに提供する。たとえば、一実施形態において、システム100は、自動車を決定し得る(すなわち、クライアントデバイス106は交通渋滞にはまっており、TTSを自動的に開始し、ユーザとのダイアログを始めるか(たとえば、「Would you like me to provide an alternate route?」)、またはアクションを実行する(たとえば、駐車する、列車に乗る、などの別ルートを決定し、ナビゲーションルートをしかるべく更新する)。
クライアントサイドコンテキストホルダ324は、コンテキスト同期のためのコードおよびルーチンを含む。一実施形態において、コンテキスト同期は、クライアントサイドからコンテキストワークフローの定義、使用、および記憶を管理するステップと、サーバサイドとコンテキストワークフローを共有するステップとを含む。一実施形態において、クライアントサイドコンテキストホルダ324は、プロセッサ202によって実行可能である一組の命令である。別の実施形態において、クライアントサイドコンテキストホルダ324は、メモリ204内に記憶されており、プロセッサ202からアクセス可能であり、プロセッサ202によって実行可能である。いずれかの実施形態において、クライアントサイドコンテキストホルダ324は、プロセッサ202、クライアントデバイス106の他のコンポーネント、およびシステム100の他のコンポーネントと連携し、通信するように適合されている。
クライアントサイドコンテキストホルダ324は、クライアントサイドからコンテキストワークフローの定義、使用、および記憶を管理し、サーバサイドとコンテキストワークフローを共有する。一実施形態において、クライアントサイドコンテキストホルダ324は、コンテキスト同期プロトコルを使用してコンテキストエージェント420(サーバサイドコンテキストホルダ)と通信し、ネットワーク102上の巡回および低容量にも関わらずシステム100内のコンテキストを同期させる(これはいくつかのネットワーク、たとえば、モバイルデータネットワーク上で特に有利な場合がある)。
クライアントサイドコンテキストホルダ324は、コンテキストの定義、使用、および記憶を管理する。コンテキストは、音声および接続エンジンによって提供されるパーソナルアシスタントの現在のステータスである。一実施形態において、コンテキストは、1つまたは複数のパラメータを備える。パラメータの例は、限定はしないが、コンテキスト履歴、ダイアログ履歴(たとえば、ユーザの前の要求ならびにシステムの前の応答およびアクション)、ユーザプロファイル(たとえば、ユーザの識別情報およびプリファレンス)、ユーザ履歴(たとえば、ユーザの習慣)、ロケーション(クライアントデバイス106の物理的ロケーション)、現在のコンテキストドメイン(たとえば、クライアントデバイス106、使用されているアプリケーション、ユーザに現在提示されているインターフェース)を含む。いくつかの実施形態において、パラメータは、可変またはシリアル化されたオブジェクトであってよい。
一実施形態において、コンテキストは、多次元コンテキストであり、任意の次元の変数または特徴を記述することができる。いくつかの実施形態において、コンテキストは、多次元行列を使用する。本明細書で説明されているように、いくつかの実施形態において、コンテキストは、クライアントサイド(たとえば、クライアントデバイス106a)とサーバサイド(たとえば、音声および接続サーバ122)との間でリアルタイムで同期させられる。プラットフォームの両方の部分(クライアントとサーバ)における同期の深い統合を組み合わせ、コンテキストが任意の次元の変数または特徴を記述することができるので、コンテキストは、「ディープコンテキスト」とときどき称され得る。
実施形態に応じて、このコンテキストはシステム100によって使用され、限定はしないが、発話から単語を正確に認識するシステム100の能力を高めるステップを含む1つまたは複数の利点をもたらし、ユーザの意図する要求を決定し、ユーザ112とシステム100との間のより自然なダイアログを促す。
一実施形態において、コンテキストは、発話から単語をより正確に認識するために使用される。たとえば、ユーザが電話アプリケーションを開いていると仮定すると、一実施形態において、コンテキストは、自然言語理解エンジン326によって使用される辞書を(たとえば、連絡先の名前および電話を操作するステップまたは電話をかけるステップに関連付けられている単語に)制限するために(たとえば、前処理時にNLUエンジン326によって)使用され得る。一実施形態において、そのような辞書制限は、有利には、自動車会社「Renault」を排除するが、名前「Renaud」を残し、ユーザがRenaultでなくRenaudに電話することを望んでいるとNLUエンジン326が正確に決定するようにできる。NLUエンジン326は、ユーザがユーザによって行われた前の通話に基づき(Renaudという名前の複数の連絡先を想定して)どのRenaudに電話をかけることを意図しているかを決定することすらできる。したがって、前の例は、また、ユーザの意図する要求(すなわち、Renaudに電話をかける)をより正確に決定するためにコンテキストが使用される一実施形態を示すものともなっている。したがって、コンテキストは、ユーザの要求を受信してからその要求について正確に実行するまでの時間の長さを最小にすることもできる。
一実施形態において、コンテキストは、ユーザとシステム100との間のより自然なダイアログ(双方向通信)を円滑にするために使用される。たとえば、コンテキストは、ユーザがYahoo!に関するニュースを要求するダイアログを円滑にするために使用されてもよく、システムは、Yahoo!に関する記事のヘッドラインの読み上げを開始する。ユーザが、「who is the CEO?」と尋ねると、システム100は、ユーザの意図した要求は、Yahoo!のCEOについてであると理解し、その名前を検索し、その名前を出す。次いで、ユーザが、今日の天気を尋ねると、システム100は、この要求が天気アプリケーションに関連付けられていること、およびユーザの意図する要求がユーザの物理的ロケーションに対する天気についてのものであることを理解し、天気アプリケーションが使用されるべきであると決定し、天気アプリケーションへのAPIコールを実行して、天気を取得する。次いで、ユーザが、「and tomorrow」と言うと、システム100は、ユーザの意図した要求は、明日のユーザの現在のロケーションにおける天気についてであると理解する。次いで、ユーザが、「what's the stock trading at?」と尋ねると、システム100は、ユーザの意図した要求は、Yahoo!の株式の現在の取引価格についてであると理解し、その情報を取得するためウェブ検索を実行する。要約し、簡素化するために、いくつかの実施形態において、コンテキストは、トピックを追跡し、アプリケーションを切り替え、様々なアプリケーションのワークフローの状態を追跡して、テキストのジャンプをサポートすることによってユーザ112とシステム100との間のより「自然な」ダイアログを可能にするものとしてよい。
いくつかの実施形態において、機械学習が、コンテキストに適用される。たとえば、多数のユーザから集計されたデータおよびユーザが一般にシステム100とどのように対話するかに基づき、またはユーザのデータおよびユーザがシステム100とどのように対話するかに基づき特定のユーザについて、次のステップまたはコマンドの確率を学習する。
一実施形態において、クライアントサイドコンテキストホルダ324は、ユーザの現在のコンテキストを図4のコンテキストエージェント420と同期させる。コンテキストをサーバサイドの音声および接続エンジン124と同期させることで、クライアントサイドの音声および接続エンジン109は、適宜、サーバサイドエンジン124にダイアログを管理させ、様々なオペレーションを実行させ得るか、またはたとえばサーバ122への接続性に基づきクライアントデバイス106における機能を実行し得る。
一実施形態において、クライアントサイドホルダ324およびコンテキストエージェント420(すなわち、サーバサイドホルダ)は、通信プロトコルを提供するコンテキスト同期プロトコルを使用して通信を行い、さらには同期されているコンテキスト情報が配信されることを検証する。一実施形態において、コンテキスト同期プロトコルは、現在のコンテキストのステータスまたはサブステータスの各プロパティ(たとえば、変数もしくはパラメータ)についてキーアクセス(たとえば、コンテキストID)を標準化する。
次に、図8を参照すると、一実施形態に従って、クライアントサイドとサーバサイドとの間のコンテキストの同期に関するさらなる詳細を提示する概略図800が示されている。例示されている実施形態において、クライアントデバイスのクライアントサイドコンテキストホルダ324は、クライアントデバイス106の1つまたは複数のコンテキスト810a/812a/814aを維持する。一実施形態において、各コンテキスト810a/812a/814aは、モジュールに関連付けられる。一実施形態において、クライアントサイドコンテキストホルダ324は、アプリケーションの機能を通るユーザのフローを含む画面(画面1からN)および各画面上で利用可能な機能を含むコンテキストを維持する。たとえば、例示されている実施形態において、ユーザは、一組の機能を備える画面1 820aを提示され、ユーザは機能(画面1のF1〜Fnから)を選択した。次いで、ユーザは画面2を提示され、ユーザは機能を(画面2のF1〜Fnから)選択した。次いで、ユーザは画面3を提示され、ユーザは機能を(画面3のF1〜Fnから)選択するなどした。たとえば、一実施形態において、モジュール1 810aは、電話アプリケーションに対するモジュールであり、モジュール2 812aは、メディアアプリケーションに対するモジュールであると仮定すると、一実施形態において、モジュール1 810aの画面820a、822a、824a、および826aは、連絡先を選択して電話をかけるためにワークアラウンド(後述)をナビゲートするユーザとシステムとのダイアログを表すものとしてよく、モジュール2 812aの画面は、ユーザが再生するジャンル、アーチスト、アルバム、およびトラックをナビゲートする流れを表し得る。
ホーム画面830aは、様々なモジュール810a、812a、814aのコンテキストをリセットする。たとえば、モジュール1 810は、ニュースアプリケーションに関連付けられると仮定すると、一実施形態において、ユーザは、ホーム画面830aに向けられる(たとえば、タイムアウト期間などのメカニズムによって自動的に、またはユーザの要求に基づき)。一実施形態において、ユーザが、ホーム画面830aに向けられたときに、モジュール810a、812a、814aのうちの1つまたは複数におけるコンテキスト情報のリセットは、トリガーされる。
一実施形態において、図4を参照しつつ以下でも説明されている、コンテキスト同期プロトコル804は、クライアントサイドコンテキストホルダ324からサーバサイドコンテキストホルダまたは同様のものとしても参照されるコンテキストエージェント422にコンテキストを伝達するためのプロトコルを提供する。いくつかの実施形態において、コンテキスト同期プロトコルがもたらす圧縮度は高い。いくつかの実施形態において、コンテキスト同期プロトコルは、コンテキストエージェント422の情報806がクライアントサイドコンテキストホルダ324の情報802と同一になるようにコンテキストがクライアントサイドとサーバサイドとの間で正常に同期されていることを検証するためのメカニズムを実現する。
一実施形態において、コンテキストエンジン424は、コンテキストエージェント422からコンテキストを収集する。一実施形態において、コンテキストエンジン424は、ユーザに対するコンテキスト情報808を管理する。たとえば、コンテキストエンジン424は、長い時間をかけてアプリケーションに対するコンテキスト情報(たとえば、長期的および中期的コンテキスト)およびアプリケーションにおける各ユーザセッションに対する様々なコンテキスト情報を維持する。そのような情報は、機械学習に有用なものと言える(たとえば、Victoriaに電話する要求などの現在のコンテキスト、およびVictoria Pに対するものであるVictoriaの最後の要求などの過去のコンテキストに基づきユーザの意図を予測する)。
一実施形態において、クライアントサイドコンテキストホルダ324は、コンテキストを、たとえば、自然言語理解(NLU)エンジン326および/またはコンテキストエージェント422を含むシステム100の1つまたは複数のコンポーネントに受け渡す。一実施形態において、クライアントサイドコンテキストホルダ324は、コンテキストを記憶装置デバイス241(または通信可能にアクセス可能な他の非一時的記憶媒体)に記憶する。たとえば、自然言語理解エンジン326および/またはコンテキストエージェント422を含むシステム100の他のコンポーネントは、記憶装置デバイス241(または他の非一時的記憶媒体)にアクセスすることによってコンテキストを取り出すことができる。
自然言語理解(NLU)エンジン326は、ASRエンジン111の出力を受信し、ASRエンジン111の出力に基づきユーザの意図した要求を決定するためのコードおよびルーチンを備える。一実施形態において、NLUエンジン326は、プロセッサ202によって実行可能である一組の命令である。別の実施形態において、NLUエンジン326は、メモリ204内に記憶されており、プロセッサ202からアクセス可能であり、プロセッサ202によって実行可能である。いずれかの実施形態において、NLUエンジン326は、プロセッサ202、ASRエンジン111、およびシステム100の他のコンポーネントと連携し、通信するように適合されている。
一実施形態において、NLUエンジン326は、ASRエンジン111の出力を前処理して音声認識における誤りを訂正する。わかりやすくするため、便宜上、ASRエンジン111の出力は、ときどき、「認識済み音声」と称される。一実施形態において、NLUエンジン326は、認識済み音声を前処理して認識済み音声における誤りを訂正する。一実施形態において、NLUエンジン326は、ASRエンジン111から認識済み音声、および適宜、関連付けられている信頼度を受信し、クライアントサイドコンテキストホルダ324からコンテキストを受信し、認識済み音声における誤認識語を訂正する。たとえば、ユーザがフランス語を話し、音声入力が「donne-moi l'information technologique」(すなわち、「give me information technology」)であると仮定すると、しかしながら、ASRエンジン111は、「Benoit la formation technologique」(すなわち、「Benoit technology training」)を認識済み音声として出力する。一実施形態において、NLUエンジン326は、コンテキストに基づき前処理を実行し、「Benoit」を「donne-moi」に、「formation」を「information」に訂正し、それによって、NLUエンジン326のその後決定されるユーザの意図の正確さを高める。
NLUエンジン326は、適宜、いくつかの実施形態において前処理され得るASRエンジン111からの認識済み音声に基づきユーザの意図を決定する。一実施形態において、NLUエンジン326は、ユーザの意図をタプルとして決定する。一実施形態において、タプルは、アクション(たとえば、実行される機能)とアクター(たとえば、機能を実行するモジュール)とを含む。しかしながら、いくつかの実施形態において、タプルは、追加の、または異なる情報を含み得る。たとえば、NLUエンジン326は、認識済み音声「Call Greg」を受信すると仮定すると、一実施形態において、NLUエンジン326は、タプルがアクション(すなわち、電話をかける)、アクター(すなわち、電話モジュール)、および「アイテム」ともときどき称されるエンティティ(すなわち、電話の受け手/ターゲットとしてのGreg)を含むと決定する。
一実施形態において、NLUエンジン326は、キーワードまたはショートカットのうちの1つまたは複数を検出する。キーワードは、モジュールに直接的にアクセスを与える単語である。たとえば、ユーザが「phone」と言ったときに、電話モジュールがアクセスされ、電話アプリケーションが起動される(またはフォアグラウンドに出る)。ショートカットは、フレーズである(たとえば、メッセージを送信する)。キーワードおよびショートカットの例は、図7の表710を見るとわかる。いくつかの実施形態において、システム100は、意図学習と称され得る機械学習に基づき1つまたは複数のショートカットを作成する。たとえば、一実施形態において、システム100は、「send Louis a message」がNLUエンジン326によってユーザ112が電子メール(たとえば、SMSテキストメッセージではなく)を口述し、連絡先Louis Monierに送信し、直接、電子メールおよび確定された「send Louis a message」を口述する音声入力をショートカットとして受信するためのインターフェースに進むことを要求しているものとして解釈されるべきであることを学習する。
一実施形態において、NLUエンジン326の自然言語理解機能は、モジュール式であり、システム100は、自然言語理解を実行するモジュールに関して不可知論的である。いくつかの実施形態において、このモジュール性により、NLUエンジン326のNLUモジュールは新しい、より正確な自然言語理解システムが利用可能になるとともに正確な理解を連続的に改善するか、または自然言語理解モジュールをスワップするように頻繁に更新され得る。
NLUエンジン326が、ユーザの意図した要求を決定することができないときに(たとえば、要求があいまいであるか、意味を成さない、または要求されたアクションおよび/またはアクションが利用可能であるかもしくは互換性を有するということがない、タプルから値が欠落しているなど)、NLUエンジン326は、ワークアラウンドを開始する。たとえば、ユーザの要求が互換性がない(たとえば、タプルは完全でない)ときに、NLUエンジン326は、ワークアラウンドエンジン328(以下で説明されている)が追加情報を入力するようユーザに促すことを要求する。たとえば、一実施形態においてユーザが「what's on TV?」と要求したときに、NLUエンジン326は、チャンネルおよび時間が欠落していると決定し、ワークアラウンドを開始する。
一実施形態において、NLUエンジン326は、タプルを接続エンジン330に受け渡す。たとえば、NLUエンジン326は、接続エンジン330に通信可能に結合されており、タプルを接続エンジン330に送信する。別の実施形態において、NLUエンジン326は、タプルを記憶装置デバイス241(または通信可能にアクセス可能な他の非一時的記憶媒体)に記憶し、接続エンジン330は、記憶装置デバイス241(または他の非一時的記憶媒体)にアクセスすることによって取り出され得る。
一実施形態において、NLUエンジン326は、追加の情報を求める要求をワークアラウンドエンジン328に受け渡す。たとえば、NLUエンジン326は、ワークアラウンドエンジン328に通信可能に結合され、追加の情報を求める要求をワークアラウンドエンジン328に送信する。別の実施形態において、NLUエンジン326は、追加の情報を求める要求を記憶装置デバイス241(または通信可能にアクセス可能な他の非一時的記憶媒体)に記憶し、ワークアラウンドエンジン328は、記憶装置デバイス241(または他の非一時的記憶媒体)にアクセスすることによって追加の情報を求める要求を取り出す。
ワークアラウンドエンジン328は、ユーザに追加の情報を求める要求を生成するためのコードおよびルーチンを備え、これにより、NLUエンジン326は、ユーザの意図した要求を決定することができる。一実施形態において、ワークアラウンドエンジン328は、プロセッサ202によって実行可能である一組の命令である。別の実施形態において、ワークアラウンドエンジン328は、メモリ204内に記憶されており、プロセッサ202からアクセス可能であり、プロセッサ202によって実行可能である。いずれかの実施形態において、ワークアラウンドエンジン328は、プロセッサ202、サーバサイド接続エンジン124の他のコンポーネント、およびシステム100の他のコンポーネントと連携し、通信するように適合されている。
ワークアラウンドエンジン328は、ユーザの意図した要求が理解され実行され得るように追加の情報を求める要求を生成する。一実施形態において、ワークアラウンドエンジン328は、追加の情報を求める1つまたは複数の要求を生成し、それによって、追加の情報を取得するためのユーザとのダイアログを作成する。たとえば、ワークアラウンドエンジン328は、追加の情報を求める要求を生成し、クライアントデバイスを介してユーザ112に提示するためのその要求を送信する(たとえば、その要求をテキスト読み上げエンジン111に送信し、その要求をユーザに対して音声出力として提示し、および/またはクライアントデバイスのディスプレイ上に表示する)。ユーザの応答が受信される(たとえば、ASRエンジン111によって、またはキーボードまたはタッチスクリーンなどの別のユーザ入力デバイスを通じて受信された音声入力として)。NLUエンジン326は、ユーザの意図した要求を決定する。NLUエンジン326が、ユーザの意図した要求を決定することができないときに、ワークアラウンドエンジン328は、別の要求を生成し、このプロセスは繰り返される。
追加の情報を求める要求のタイプの例は、限定はしないが、提案された情報が正しいかどうかを調べる要求、元の要求を全体として繰り返すことをユーザに求める要求、元の要求の一部を明確にすることをユーザに求める要求、オプションのリストから選択することをユーザに求める要求などのうちの1つまたは複数を含み得る。わかりやすくするため、便宜上、次のシナリオのコンテキストにおいてワークアラウンドエンジン328のオペレーションを説明するのが有益であると思われる。ユーザが「navigate to 1234 Fake Street, Any Town, California」と要求すると仮定する。しかしながら、どのような理由(たとえば、暗騒音、ユーザのアクセント、音声認識の誤りの)であれ、NLUエンジン326は、「navigate」および「California」を理解しており、したがってNLUエンジン326はユーザの意図した要求を理解しない。
いくつかの実施形態において、ワークアラウンドエンジン328は、提案された情報が正しいかどうかを調べる要求を生成する。いくつかの実施形態において、システム100は、機械学習に基づき追加の情報を提案する。たとえば、システムは、ユーザが毎週水曜日にカリフォルニア州の「1234 Fake Street, Any Town」にドライブすることを学習すると仮定すると、一実施形態において、ワークアラウンドエンジン328は、「You said California. Did you want to go to 1234 Fake St., Any Town?」という追加の情報を提案する。一実施形態において、ユーザが「yes」と言った場合に、タプルは完全であり、その完全な住所へのナビゲーションが実行され、ユーザが「no」と返答した場合に、ワークアラウンドエンジン328は、別の要求を生成する(たとえば、オプションのリストから選択すること、または目的地を略さずに書くことをユーザに求める要求)。
いくつかの実施形態において、ワークアラウンドエンジン328は、元の要求を略さずに繰り返すことをユーザに求める要求を生成する。たとえば、ワークアラウンドエンジン328は、要求「I'm sorry. I didn't understand. Will you repeat that?」を生成し、その要求がユーザデバイス106を介して(視覚的に、聴覚的に、またはその両方で)ユーザに提示され、ユーザは「navigate to 1234 Fake Street, Any Town, California」を繰り返し得る。一実施形態において、ワークアラウンドエンジン328は、元の要求を繰り返すことをユーザに求める要求を生成せず、他のタイプの要求のうちの1つが使用される。一実施形態において、ワークアラウンドエンジン328は、所定の閾値(たとえば、0または1)に基づき元の要求を繰り返すことをユーザに求める要求を生成する回数を制限する。そのような一実施形態において、閾値を満たしたことに応答して、ワークアラウンドエンジン328は、追加の情報を求める異なるタイプの要求を使用する(たとえば、オプションのリストのうちから選択することをユーザに促す)。
いくつかの実施形態において、ワークアラウンドエンジン328は、元の要求を一部繰り返すか、または元の要求から欠落している情報を供給することをユーザに求める要求を生成する。たとえば、ワークアラウンドエンジン328が、「navigate」および「California」が理解されたと決定し、所在地住所および市名が欠落しており、「I'm sorry. What was the city in California and street address?」という要求を生成されたと決定すると仮定すると、ユーザが欠落情報(元の要求の一部であった)を供給できるようにする。その要求は、ユーザデバイス106を介してユーザに(視覚的に、聴覚的に、またはその両方で)提示され、ユーザは、「1234 Fake Street, Any Town」と言うものとしてよい。一実施形態において、ワークアラウンドエンジン328は、所定の閾値(たとえば、0、1、または2)に基づき元の要求の同じ部分を繰り返すことをユーザに求める要求を生成する回数を制限する。そのような一実施形態において、閾値を満たしたことに応答して、ワークアラウンドエンジン328は、追加の情報を求める異なるタイプの要求を使用する(たとえば、オプションのリストのうちから選択することをユーザに促す)。
いくつかの実施形態において、ワークアラウンドエンジン328は、ときには「default list」と称される、オプションのリストから選択することをユーザに求める要求を生成する。たとえば、ワークアラウンドエンジン328が、「navigate」および「California」が理解されたと決定し、所在地住所および市名が欠落しており、「What letter does the city of your destination begin with」という要求を生成されたと決定し、「A-E is 1, F-J is 2, … etc.」などのオプションのリストを生成する。その要求は、ユーザデバイス106を介してユーザに(視覚的に、聴覚的に、またはその両方で)提示され、ユーザは、「1」と言うか、もしくは選択するか、またはオプション「A through E」の内容を述べることによって選択し得る。NLUエンジン326は、「navigate」からユーザの意図した要求、および「a」から「e」(含む)までの間の英字で始まるカリフォルニア州の市をそれでも決定できないので、ワークアラウンドエンジン328は、「A is 1, B is 2, … etc」などのオプションの別のリストを生成する。その要求は、ユーザデバイス106を介してユーザに(視覚的に、聴覚的に、またはその両方で)提示され、ユーザは、「1」と言うか、もしくは選択するか、またはオプション「A」の内容を述べることによって選択し得る。ワークアラウンドエンジン328は、「Any Town」が市として識別され、「Fake Street」が市町村名として識別され、「1234」が番地として識別されるまで、オプションをフィルタリングし、フィルタリングされたオプションのリストを含む要求を生成し続けるものとしてよい。
実施形態に応じて、オプションは、クライアントデバイスのディスプレイに視覚的にリストとして表示されるか、またはテキスト読み上げ機能を使用してクライアントデバイス106を介してユーザ112に対して読み上げられるか、またはその両方であるものとしてよい。一実施形態において、リストオプションが、一度にグループ単位(たとえば、3〜5のグループ単位)で提示される。たとえば、8個のオプションのリストが、第1のセットに4つのオプションが含まれるものとして2セット単位で提示されてよく、ユーザは、「next」と言うことによって次のセットを要求することができ、4つのオプションの第2のセットが提示される。一度に提示されるオプションの数を制限することで、ユーザがその多さに圧倒される可能性を減じ、有用性を高めることができる。複数のセットに分割されたオプションのリストをナビゲートするために、一実施形態において、ユーザは、「start」などのコマンドを使用して、リストの第1のセットに進むか、「end」を使用してリストの末尾に進むか、「next」を使用してリスト内の次のセットに進むか、「previous」を使用してリスト内の前のセットに進むか、または「goto ___」(たとえば、「go to the letter V」)を使用してナビゲートするかもしくは文字でフィルタリングするものとしてよい。
いくつかの実施形態において、ワークアラウンドエンジン328の要求の結果としてのダイアログは、任意の順序で要求タイプの間を遷移するものとしてよい。たとえば、一実施形態において、ワークアラウンドエンジン328は、ユーザがオプションを選択した後に、ワークアラウンドエンジンは、オプションのリストなしで追加の情報を入力するようユーザに促し得る。たとえば、上で説明されているようなオプションのリストを使用して「Any Town」が市であることを受けた/決定した後に、ワークアラウンドエンジン328は、「What is the name of the street in Any Town, CA?」という要求を生成し、ユーザは「Fake Street」で口頭により応じるものとしてよい。「Fake Street」という応答が、理解できないものである場合、一実施形態において、ワークアラウンドエンジン328は、ユーザが繰り返すことを要求し得るか、またはユーザがワークアラウンドエンジン328によって生成されたオプションのリストから選択することを要求し得る。
いくつかの実施形態において、ワークアラウンドエンジン328によって生成される要求は、ユーザが否定で応答する(たとえば、「No」と言う)必要性を最小限度に抑えるか、またはなくすために生成される。たとえば、ワークアラウンドエンジン328は、市の最初の文字に対するオプションのリストを生成し、「Does the California city start with the letter A?」という行で要求を送信するのではなくユーザが適切なオプションを選択することを要求するが、これは上記の例の場合にyesとなるが、そのような要求は、結果として、他の場合にはnoという結果を生じる可能性が高い。
使用事例の上記の「navigate to 1234 Fake St. …」の例であること、および多くの他の使用事例が存在することは理解されるべきである。たとえば、ユーザが「Call Greg」を要求し、ユーザの電話帳にGregという名前の連絡先が複数載っている(たとえば、Greg R.、Greg S. Greg T.)と仮定すると、一実施形態において、ワークアラウンドエンジン328は、オプションのリスト付きで要求「Which Greg would you like to call? Greg R. is 1. Greg S. is 2. Greg T. is 3.」を送信し、ユーザは、望むGregに関連付けられている番号をしゃべるものとしてよい。
さらに、上記の例において、元の要求の一部が、NULエンジン326、アクター(すなわち、それぞれ、ナビゲーションアプリケーションおよび電話アプリケーション)、およびエンティティの一部(すなわち、それぞれ、CaliforniaおよびGreg)によって理解可能であったが、ワークアラウンドエンジン328は、元の要求が全体としてNLUエンジン326によって理解可能でなかったとき、またはタプルの他の部分が欠落しているときに動作し得る。たとえば、ワークアラウンドエンジン328は、所望のアクター(たとえば、ユーザが使用することを望んでいるアプリケーション)、所望のアクション(たとえば、アプリケーションの機能または特徴)、所望のエンティティ(たとえば、アクションのターゲット、アクションの受信者、アクションに対する入力、など)を取得する1つまたは複数の要求を行うものとしてよい。一実施形態において、ワークアラウンドエンジン328は、NLUエンジン326の要求時に、またはNLUエンジン326は、ユーザの意図する要求を表す完全なタプルを有するまで、要求を生成する。別の例において、NLUエンジン326がメッセージを理解したが、アクター(たとえば、使用するユニファイドメッセージングクライアント--電子メール、SMS、Facebookなどでサービスする)およびエンティティ(たとえば、受信者)を理解していないと仮定すると、一実施形態において、ワークアラウンドエンジン328は、この追加の情報を要求する。
ワークアラウンドエンジン328を参照しつつ上で説明されている特徴および機能は、いくつかの制約された動作環境では(たとえば、運転中に)危険であるか、または違法であり得るユーザが要求の一部分をタイプ入力する操作を必要とすることなく、ユーザの意図した要求が決定され最終的に実行され得る(たとえば、ユーザがタッチスクリーンまたは他の入力を介して話し、および/または単純な選択を行い得る)自動トラブルシューティングメカニズムを有利に備えるものとしてよく、それによってユーザ112およびユーザ112の周りにいる人々の安全性を高めることは理解されるべきである。ワークアラウンドエンジン328を参照しつつ上で説明されている特徴および機能は、有利には、結果として、システム100が「ギブアップする」か、またはユーザをウェブ検索などの既定設定に押す可能性が低いときにユーザの満足度がより高まることはさらに理解されるべきである。
一実施形態において、ワークアラウンドエンジン328は、追加の情報を求める要求をテキスト読み上げエンジン119およびクライアントデバイスのディスプレイ(図示せず)上に内容を表示するためのグラフィックスエンジンのうちの1つまたは複数に受け渡す。別の実施形態において、ワークアラウンドエンジン328は、追加の情報を求める要求を記憶装置デバイス241(または通信可能にアクセス可能な他の非一時的記憶媒体)に記憶する。たとえば、テキスト読み上げエンジン119および/またはグラフィックスエンジン(図示せず)を含むシステム100の他のコンポーネントは、記憶装置デバイス241(または他の非一時的記憶媒体)にアクセスすることによって追加の情報を求める要求を取り出し、それをクライアントデバイス106を介してユーザ112に提示するために送信することができる。
接続性エンジン330は、ユーザの意図した要求を処理するためのコードおよびルーチンを備える。一実施形態において、接続エンジン330は、プロセッサ202によって実行可能である一組の命令である。別の実施形態において、接続エンジン330は、メモリ204内に記憶されており、プロセッサ202からアクセス可能であり、プロセッサ202によって実行可能である。いずれかの実施形態において、接続エンジン330は、プロセッサ202、クライアントデバイス106の他のコンポーネント、およびシステム100の他のコンポーネントと連携し、通信するように適合されている。
一実施形態において、接続エンジン330は、モジュールのライブラリ(図示せず)を含む。モジュールは、アプリケーションの機能を公開する一組のコードおよびルーチンを含み得る。たとえば、電話モジュールは、電話アプリケーションの機能(たとえば、電話をかける、電話を受ける、音声メールを取り出す、連絡先リストにアクセスするなど)を公開する。一実施形態において、モジュールは、ユーザが別のクライアントデバイス106(たとえば、自動車)を通じてクライアントデバイス(たとえば、電話)上のそのような機能にアクセスできるようにアプリケーション(たとえば、電話アプリケーション)の機能を公開する。いくつかの実施形態において、いくつかの特徴および機能は、特定のデバイスまたはデバイスタイプが存在していることを必要とし得る。たとえば、いくつかの実施形態において、電話またはSMSテキスト機能は、自動車が電話と通信可能に結合されていない限り、自動車を通じて利用可能ではあり得ない。モジュールのライブラリおよびモジュールのモジュール性は、アプリケーションが更新されるとき、または新しいアプリケーションとインターフェースすることが音声および接続エンジンにとって望ましくなったときに、容易な更新を円滑にし得るものである。
いくつかの実施形態において、この機能が完了する(たとえば、長いレポートを生成する)のに長い時間を要するときに、エージェント/アシスタントは、いつ機能が終了するかをユーザに通知する(たとえば、TTS、電子メール、SMSテキストなど)。そのような一実施形態において、システム100は、連絡を取る最も速い手段を決定する、たとえば、システムは、ユーザがFacebookにログインしたと決定し、ユーザに、機能が完了していることを伝えるFacebookメッセージを送信する。
一実施形態において、システム100の音声アシスタントは、1つまたは複数の他の音声アシスタント(たとえば、AppleのSiri、MicrosoftのCortana、GoogleのGoogle Nowなど)と対話するための1つまたは複数のモジュールを備える。たとえば、一実施形態において、ユーザが「Search Google Now for X」または「Ask Siri Y」などのショートカットまたはキーワードを含む音声入力を行ったことに応答して、接続モジュール330は、それぞれGoogle NowまたはSiriに接続し、対話するためのモジュール330を選択し、クエリをその音声アシスタントに転送する。一実施形態において、音声および接続エンジン109/124は、ユーザエクスペリエンスのフローの制御を再開する(たとえば、ダイアログを再開するか、または機能およびアシスタンスを提供する)ようにシステム100のパーソナルアシスタントをトリガーする目覚まし単語に対する音声入力を監視し得る。そのような一実施形態は、有利には、システム100を操作するエンティティが他の音声アシスタントおよびその特徴へのアクセスを顧客に提供することを可能にする。たとえば、自動車メーカーは、有利には、顧客が顧客の携帯電話の音声アシスタント(たとえば、顧客がiPhone(登録商標)を使用しているときにSiri)にアクセスすることを可能にするか、または別の音声アシスタントで顧客音声アシスタントオプションを補う(たとえば、顧客がiPhone(登録商標)を使用しているときにGoogle Nowおよび/またはCortanaへのアクセスを提供する)ことができる。
接続エンジン330は、ユーザの意図した要求を処理する。一実施形態において、接続エンジン330は、NLUエンジン326からタプルを受信し、タプル内のアクター(電話)に基づきモジュール(たとえば、電話モジュール)を決定し、アクション(たとえば、コール)およびタプルのエンティティ/アイテム(たとえば、Greg)を決定されたモジュールに提供し、モジュールは、アクターアプリケーションに、エンティティ/アイテムを使用してアクションを実行させる(たとえば、電話アプリケーションにGregに電話をかけさせる)。
例示的なサーバサイドの音声および接続エンジン124
次に図4を参照すると、一実施形態に従って、サーバサイドの音声および接続エンジン124がより詳細に示されている。例示されている実施形態において、サーバサイドの音声および接続エンジン124は、コンテキストエージェント422、コンテキストエンジン424、およびフェデレーションエンジン(federation engine)426を備える。サーバサイドの音声および接続エンジン124に含まれるコンポーネント422、424、426は、同じ音声および接続サーバ122上で必ずしもすべて必要ではないことは理解されるであろう。一実施形態において、モジュール422、424、426および/またはその機能は、複数の音声および接続サーバ122に分散される。
コンテキストエージェント422は、クライアントデバイス106と音声および接続サーバ122との間でコンテキストを同期させ、同期を維持するためのコードおよびルーチンを備える。一実施形態において、コンテキストエージェント422は、プロセッサ202によって実行可能である一組の命令である。別の実施形態において、コンテキストエージェント422は、メモリ204内に記憶されており、プロセッサ202からアクセス可能であり、プロセッサ202によって実行可能である。いずれかの実施形態において、コンテキストエージェント422は、プロセッサ202、音声および接続エンジン122の他のコンポーネント(たとえば、バス206を介して)、システム100の他のコンポーネント(たとえば、通信ユニット208を介してクライアントデバイス106)、およびサーバサイドの音声および接続エンジン124の他のコンポーネントと連携し、通信するように適合されている。
クライアントサイドコンテキストホルダ324を参照しつつ上で説明されているように、コンテキストエージェント422は、サーバサイドコンテキストホルダとして動作し、クライアントサイドコンテキストホルダ324と同期する。一実施形態において、クライアントサイドおよびサーバサイドコンテキストが同一でない場合に、クライアントサイドが優先する。クライアントサイドがサーバサイドに優先することは、クライアントサイドがユーザ112とより直接的に対話し、したがって、たとえば、関連付けられているセンサがクライアントデバイス106に配置され、ネットワーク102の信頼性が正確な最新のコンテキストを維持するサーバサイドの能力に影響を及ぼし得ることから、コンテキストを定義するためにより正確なリアルタイムデータ(たとえば、ロケーション、光度、現地時間、温度、速度など)を有する可能性がより高いものとしてよいので有益であり得る。
一実施形態において、コンテキストエージェント422は、現在のコンテキストをコンテキストエージェント424に受け渡す。たとえば、コンテキストエージェントは、現在のコンテキストを送信するためにコンテキストエンジン424に通信可能に結合される。一実施形態において、コンテキストエージェント422は、現在のコンテキストを記憶装置デバイス241(または通信可能にアクセス可能な他の非一時的記憶媒体)に記憶し、コンテキストエンジン424は、記憶装置デバイス241(または他の非一時的記憶媒体)にアクセスすることによって現在のコンテキストを取り出すことができる。
コンテキストエンジン424は、1つまたは複数のコンテキストを生成し、維持するためのコードおよびルーチンを備える。一実施形態において、コンテキストエンジン424は、プロセッサ202によって実行可能である一組の命令である。別の実施形態において、コンテキストエンジン424は、メモリ204内に記憶されており、プロセッサ202からアクセス可能であり、プロセッサ202によって実行可能である。いずれかの実施形態において、コンテキストエンジン424は、プロセッサ202、サーバサイドの音声および接続プラットフォーム124の他のコンポーネント、およびシステムの他のコンポーネントと連携し、通信するように適合されている。
一実施形態において、コンテキストエンジン424は、コンテキストの履歴を作成するために現在のコンテキストをアーカイブする。そのような一実施形態は、機械学習と併用され、それにより、パターンまたは習慣を認識する、ワークフロー内の次のステップを予測する、などを行ってNLUエンジン326の理解を知らせるか、またはダイアログをプロアクティブに開始するものとしてよい。たとえば、ユーザxが、ユーザタイプXのグループからの閉じたプロファイルであると仮定すると、一実施形態において、コンテキストエンジン424は、グループ内のxと他のすべてとの間の差を検出して、特定の挙動、習慣、クエリ、...を捕捉し、ユーザへのプロアクティビティを形成する。たとえば、ユーザが劇場を求めており、コンテキストエンジン424が、特定の日本食レストランのような同じグループ内の他のユーザを検出すると仮定すると、一実施形態において、システム100は、システム100がユーザが映画を見る前には時間がないことをユーザのスケジュールの中に検出したという理由によりユーザはその呼び物の後にその日本食レストランを予約することをプロアクティブに提案する。いくつかの実施形態において、システム100は、レストランメニューからAPIにアクセスできる(いくつかのウェブサイトは、この種のAPIを提供している)。システム100は、そのメニューまたは日替わりの特別料理がユーザの嗜好にぴったり合っていると理解し、エージェントの回答で、読み取りユーザの注意を引くメニューまたは日替わりの特別料理を直接読み出すものとしてよい。
フェデレーションエンジン426は、ユーザのアカウントおよびクライアントデバイス106のうちの1つまたは複数を管理するためのコードおよびルーチンを備える。一実施形態において、フェデレーションエンジン426は、プロセッサ202によって実行可能である一組の命令である。別の実施形態において、フェデレーションエンジン426は、メモリ204内に記憶されており、プロセッサ202からアクセス可能であり、プロセッサ202によって実行可能である。いずれかの実施形態において、フェデレーションエンジン426は、プロセッサ202、アプリケーションサーバ122の他のコンポーネント、および開発アプリケーション124の他のコンポーネントと連携し、通信するように適合されている。
一実施形態において、フェデレーションエンジン426は、統一識別情報を管理する。統一識別情報は、限定はしないが、ユーザのアカウント(たとえば、Facebook、Google+、Twitterなど)、ユーザのクライアントデバイス106(たとえば、タブレット、携帯電話、TV、自動車など)、前の音声入力およびダイアログなどのうちの1つまたは複数を含み、ユーザのソーシャルネットワークおよび/または習慣に基づきユーザエクスペリエンスを高めるものとしてよい。統一識別情報は、システム100の特徴および機能を増強し得る、ユーザに関する集約情報をもたらす。たとえば、ユーザ112が「I need gas」という入力を与えると仮定する。一実施形態において、統一識別情報の集約データへのアクセスは、システム100が、ユーザの意図した要求がガソリンスタンドまでの道案内であること、およびガソリンスタンドがひいきにしているバーまでの途上にあるべきであることを理解することを可能にし得る(たとえば、ユーザが必ず立ち寄る、ガソリン価格が最低である、ユーザの後ろの方により近いガソリンスタンドがあるとしてもそのバーまでの道に沿った移動方向にある、または金曜日の午後6時以降であり、集約データから金曜日には仕事の後にひいきにしているバーへユーザが向かっていることがわかるので、より近く、システム100がユーザが向かっていると決定する際の道から外れている特定のブランドのガソリンスタンドまで)。別の例では、システム100は、集約データを使用して、特定のレストランを選択し、その特定のレストランにユーザを導くことができる(たとえば、オープンテーブルのようなサービスを使用して行われた前の予約、yelp上のユーザのレストランレビュー、ならびに食品に関するユーザ112とシステム100との間の前の音声クエリおよびダイアログなどの集約データに基づく)。
フェデレーションエンジン426は、ユーザのデバイスを管理して、一方のクライアントデバイス106から別のクライアントデバイスへのユーザの遷移を調整する。たとえば、ユーザ112は、ユーザのタブレット(すなわち、クライアントデバイス106)を介して、今日のヘッドラインを要求しており、システム100は、ヘッドラインのユーザ112への読み上げを開始すると仮定する。また、次いで、ユーザ112は、自分が仕事に遅れそうだと認識し、ヘッドラインの読み上げの中止を要求すると仮定する。一実施形態において、フェデレーションエンジン426は、タブレットからユーザの自動車(すなわち、別のクライアントデバイス106)へのユーザの遷移を管理し、したがって、ユーザ112は、自動車に乗り込んだ後、システム100が継続し、システム100がタブレットで聞き残したところからヘッドラインの読み上げを続けるよう要求することができる。フェデレーションエンジン426は、また、ユーザが仕事場に到着したときにユーザの携帯電話(すなわち、さらに別のクライアントデバイス106)への遷移を提案し管理することもできる。そのような実施形態は、有利には、一方のクライアントデバイス106から別のクライアントデバイスへの、サービスの継続性、すなわち、「連続的サービス」を提供する。別の例において、ユーザは、ソファに座ってタブレットを使って自動車旅行を計画し、自動車のナビゲーションシステムの地図にルートを書き込むことができる。一実施形態において、システム100は、ユーザが仕事の前にヘッドラインをレビューし、仕事に行く途中、自動車内でも継続する習慣を有すると認識することができ、仕事に行く時間になったときに(たぶん、リアルタイム交通状況データに基づき)タブレット上でユーザにそのことをプロンプトで促し、ユーザが自動車内でヘッドラインを再開したいかどうかを尋ねるものとしてよい。
一実施形態において、フェデレーションエンジン426は、一方のクライアントデバイス106から別のクライアントデバイスにコンテキストを受け渡して、受信者デバイスへの遷移を管理する。たとえば、フェデレーションエンジン426は、受信者デバイスのクライアントサイドコンテキストホルダ324に通信可能に結合される。別の実施形態において、フェデレーションエンジン426は、現在のコンテキストをサーバ122の記憶装置デバイス241(または通信可能にアクセス可能な他の非一時的記憶媒体)に記憶し、受信者デバイス106のクライアントサイドコンテキストエンジン324は、記憶装置デバイス241(または他の非一時的記憶媒体)にアクセスすることによって現在のコンテキストを取り出すことができる。
例示的な方法
図5、図6、および図7は、図1〜図4に関して上で説明されているシステムによって実行される様々な方法500、508、700を示している。
図5を参照すると、一実施形態による音声および接続プラットフォームを使用して要求を受信し、処理するための例示的な方法500を示している。ブロック502で、NLUエンジン326は、認識済み音声を受信する。ブロック504で、NLUエンジン326は、コンテキストを受信する。ブロック506で、NLUエンジン326は、適宜、ブロック504で受信されたコンテキストに基づき認識済み音声を前処理する。ブロック508で、NLUエンジン326は、ユーザの意図した要求を決定する。ブロック510で、接続エンジンは、意図された要求を処理し、方法500は終了する。
図6を参照すると、一実施形態によるユーザの意図した要求を決定するための例示的な方法508が示されている。ブロック602で、NLUエンジン326は、ユーザの要求およびコンテキストに基づきタプルを生成する。ブロック604で、NLUエンジン326は、タプルを完成させるために追加の情報が必要かどうかを決定する。NLUエンジン326が、タプルを完成させるために追加の情報が必要ない(604-No)と決定したときに、方法508は終了する。NLUエンジン326が、タプルを完成させるために追加の情報が必要である(604-Yes)と決定したときに、方法508はブロック606で継続する。
ブロック606で、ワークアラウンドエンジン328は、タプルを完成させるためにどのような追加の情報が必要かを決定し、ブロック608で、必要な追加の情報を供給するようユーザに促すプロンプトを生成する。ブロック610で、NLUエンジン326は、ブロック610で生成されたプロンプトへのユーザの応答に基づきタプルを修正し、方法はブロック604で継続し、ブロック604、606、608、および610は、NLUエンジン326が、タプルを完成させるために追加の情報が必要でない(604-No)と決定するまで繰り返され、方法508は終了する。
図7を参照すると、別の実施形態による音声および接続プラットフォームを使用して要求を受信し、処理するための例示的な方法700を示している。
上記の説明では、説明を目的として、本開示を完全に理解できるように多数の具体的詳細が述べられている。しかしながら、本明細書で説明されている技術は、これらの具体的な詳細がなくても実施され得ることは理解されるべきである。さらに、説明をわかりにくくしないために、様々なシステム、デバイス、および構造がブロック図形式で示されている。たとえば、様々な実装が、特定のハードウェア、ソフトウェア、およびユーザインターフェースを有するものとして説明されている。しかしながら、本開示は、データおよびコマンドを受信することができる任意のタイプのコンピューティングデバイス、およびサービスを提供する周辺デバイスに適用される。
本明細書において「一実施形態」または「実施形態」と記述されている場合、これは、その実施形態に関して説明されている特定の特徴、構造、または特性が少なくとも1つの実施形態に含まれることを意味する。「一実施形態において」という言い回しが本明細書の様々な箇所に記載されていても、必ずしもすべて同じ実施形態を指しているとは限らない。
いくつかの場合において、様々な実装が、コンピュータメモリ内のデータビットに対するオペレーションのアルゴリズムおよび記号表現に関して本明細書に提示され得る。アルゴリズムは、本明細書では、また一般的に、望む結果をもたらす自己矛盾のない一組のオペレーションであることが企図される。これらのオペレーションは、物理的量の物理的操作を必要とするオペレーションである。通常、必ずというわけではないけれども、これらの量は、格納、転送、組合せ、比較、および他の何らかの形の操作が可能な電気的または磁気的信号の形態をとる。主に共通使用の理由から、これらの信号をビット、値、要素、記号、文字、語、数、または同様のものとして参照することがときには都合がよいことが実証されている。
しかし、これらの語および類似の語はすべて、適切な物理的量に関連付けられ、これらの量に付けられる単に便利なラベルにすぎないことを念頭におくべきである。以下の説明から明らかなように特に断りのない限り、本開示全体を通して、「処理」、「コンピューティング」、「計算」、「決定」、「表示」、または同様のものを含む語を利用する説明は、コンピュータシステムのレジスタおよびメモリ内で物理的(電子的)量として表されているデータを操作し、コンピュータシステムのメモリまたはレジスタまたは他のそのような情報記憶、伝送、または表示デバイス内で物理的量として同様に表現されている他のデータに変換するコンピュータシステム、または類似の電子コンピューティングデバイスのアクションおよびプロセスを指すことは理解される。
本明細書で説明されている様々な実装は、本明細書のオペレーションを実行するための装置にも関係し得る。この装置は、必要な目的のために特別に制作され得るか、またはコンピュータに記憶されているコンピュータプログラムによって選択的にアクティブ化されるかもしくは再構成される汎用コンピュータを備えることができる。そのようなコンピュータプログラムは、限定はしないが、各々コンピュータシステムバスに結合される、フロッピィーディスク、光ディスク、CD ROM、および磁気ディスクを含む任意のタイプのディスク、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気もしくは光カード、不揮発性メモリとともにUSBキーを備えるフラッシュメモリ、または電子的命令を記憶するのに適した任意のタイプの媒体を含む、コンピュータ可読記憶媒体に記憶され得る。
本明細書で説明されている技術は、ハードウェアだけによる実装、ソフトウェアだけによる実装、またはハードウェアとソフトウェアの両方の要素を含む実装の形態をとり得る。たとえば、この技術は、限定はしないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む、ソフトウェアで実装され得る。
さらに、本技術は、コンピュータもしくは命令実行システムによって、またはコンピュータもしくは命令実行システムと関連して使用するためのプログラムコードを提供するコンピュータ使用可能もしくはコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品の形態をとり得る。本明細書の説明のために、コンピュータ使用可能もしくはコンピュータ可読媒体は、命令実行システム、装置、もしくはデバイスで使用するための、または命令実行システム、装置、もしくはデバイスに関連して使用するためのプログラムを含む、記憶する、伝達する、伝搬させる、または搬送することができる任意の非一時的記憶装置とすることができる。
プログラムコードを記憶し、および/または実行するのに適したデータ処理システムは、システムバスを通じてメモリ要素に直接的にまたは間接的に結合された少なくとも1つのプロセッサを備えていてよい。メモリ要素は、プログラムコードの実際の実行時に使用されるローカルメモリ、大容量記憶装置、および実行時にコードが大容量記憶装置から取り出されなければならない回数を減らすための少なくとも一部のプログラムコードを一時的に記憶するキャッシュメモリを含み得る。入出力またはI/Oデバイス(限定はしないが、キーボード、ディスプレイ、ポインティングデバイスなどを含む)は、直接的に、または介在するI/Oコントローラを通じてのいずれかで、システムに結合され得る。
ネットワークアダプタもシステムに結合されてよく、これにより、データ処理システムを他のデータ処理システム、記憶装置デバイス、リモートプリンタなどに、介在するプライベートおよび/またはパブリックネットワークを通じて結合させることが可能になるものとしてよい。ワイヤレス(たとえば、WiFi(商標))トランシーバ、Ethernetアダプタ、およびモデムは、ネットワークアダプタのごく少数の例にすぎない。プライベートおよびパブリックネットワークは、任意の数の構成および/またはトポロジーを有し得る。データは、たとえば、様々なインターネット層、トランスポート層、またはアプリケーション層プロトコルを含む様々な異なる通信プロトコルを使用してネットワークを介してこれらのデバイス間で送信され得る。たとえば、データは、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、伝送制御プロトコル(TCP)、ハイパーテキスト転送プロトコル(HTTP)、セキュアハイパーテキスト転送プロトコル(HTTPS)、HTTP上の動的適応ストリーミング(DASH)、リアルタイムストリーミングプロトコル(RTSP)、リアルタイムトランスポートプロトコル(RTP)およびリアルタイムトランスポート制御プロトコル(RTCP)、ボイスオーバーインターネットプロトコル(VOIP)、ファイル転送プロトコル(FTP)、WebSocket(WS)、ワイヤレスアクセスプロトコル(WAP)、様々なメッセージングプロトコル(SMS、MMS、XMS、IMAP、SMTP、POP、WebDAVなど)、または他の知られているプロトコルを使用してネットワークを介して送信され得る。
最後に、本明細書で提示されている構造、アルゴリズム、および/またはインターフェースは、特定のコンピュータまたは他の装置に本質的に関係しているわけではない。様々な汎用システムが、本明細書の教示に従ってプログラムとともに使用され得るか、必要な方法ブロックを実行するためにより専門化された装置を製作することが都合よいことが実証され得る。これらの様々なシステムに対する必要な構造は、上記の説明から明らかになる。それに加えて、本明細書は、特定のプログラミング言語を参照して説明されてはいない。本明細書で説明されているように本明細書の教示を実装するために様々なプログラミング言語が使用され得ることは理解されるであろう。
前述の説明は、例示および説明を目的として提示されている。網羅的であることも本明細書を開示されている正確な形態に制限することも意図されていない。上記の教示に照らして、多数の修正形態および変更形態が可能である。本開示の範囲は、この詳細な説明では限定されず、むしろ、本出願の請求項によって制限されることが意図されている。理解するであろうが、本明細書は、本発明の精神または本質的特徴から逸脱することなく他の特定の形態で具現化され得る。同様に、モジュール、ルーチン、特徴、属性、方法論、および他の態様の特定の命名および分割は、必須または重要ではなく、本明細書またはその特徴を実装するメカニズムは、異なる名称、分割、および/または形式を有し得る。
さらに、本開示のエンジン、モジュール、ルーチン、特徴、属性、方法論、および他の態様は、ソフトウェア、ハードウェア、ファームウェア、または前記の任意の組合せとして実装され得る。また、本明細書の、一例がモジュールである、コンポーネントが、ソフトウェアとして実装されるときには必ず、コンポーネントは、スタンドアロンプログラムとして、より大きいプログラムの一部として、複数の別々のプログラムとして、スタティックまたはダイナミックリンクライブラリとして、カーネルロード可能モジュールとして、デバイスドライバとして、および/または現在知られているもしくは将来の他のありとあらゆる方法として実装され得る。それに加えて、本開示は、特定のプログラミング言語による、または特定のオペレーティングシステムもしくは環境向けの実装にいかなる形でも制限されない。したがって、本開示は、以下の請求項で規定される発明対象の範囲を例示し、制限することを目的としていない。
付録A:自動車パーソナルアシスタントおよびGoPad
GoPadプロジェクトの要約
GoPadは、車載Androidデバイスをより安全に、より便利に体験できるようにすることによってAndroidデバイスおよび車両ユーザ挙動データを生成するアクセサリ製品である。GoPadは、精選されたAndroidデバイスを車両により緊密に統合する。しかしながら、GoPadは、Androidデバイスとの統合に限定されず、他のデバイス(たとえば、iOS、Windows、Fireなど)とも統合し得る。
GoPadデバイスは、クリップメカニズムを介してフロントガラスの近くのユーザの車両のダッシュボードに貼り付けられるハードウェアクレードルである。これは次の特徴を備える。
・ 車両情報をキャプチャし、システムに送信して分析し、ユーザに提示するためのOBD2 Readerハードウェアデバイス
・ 内蔵Bluetooth(登録商標)接続を有しない車両にハンズフリー機能を実現するクレードル内のBluetooth(登録商標)ラジオおよびデュアルマイクロフォン
・ 車両ステレオシステムへのAux-in接続を介したオーディオを用いる、音声ダイヤルおよび制御を含む、ハンズフリー携帯電話の使用
・ 車両ステレオシステムへのAux-in接続を介したオーディオを用いる、音声開始および音声制御を含む、ハンズフリーナビゲーション
・ Aux-inステレオ接続を介したカーステレオへのオーディオ出力を備えるメディア再生
・ 充電および使用のためのUSB(車両aux電源ポート)を介したAndroidデバイスへの給電
・ 音声および接続プラットフォームを介したすべての音声制御機能のためのインテリジェントエージェントアシスタンス
・ 音声および接続プラットフォームを介したインテリジェントエージェント、ユーザデータキャプチャ、コンテンツの配信のためのクラウド接続ウェブサービス
・ ユーザの運転体験を高めるためのAndroidデバイス上の運転効率およびフィードバック特徴
・ Androidデバイスのアイズフリー使用をさらに可能にするためのクレードル上の最適化された一組の物理的コントロール
・ ドライバが使用したいアプリを容易に、安全に起動することを可能にするための単純なアプリランチャメカニズム
・ サードパーティソフトウェアがクレードルの物理的ボタンを利用することを可能にするための単純な物理的/エージェントコントロールAPI
・ ハンズフリー着信テキストメッセージ読み上げ
・ ハンズフリーFacebookアクティビティ読み上げ
クレードルのハードウェア
クレードルの設計
機械設計
クレードルは、2つの部分、すなわち1)ベースクレードルユニットと2)デバイス特有のアダプタとに分けて設計される。すべての主要機能は、ベースクレードルユニットに入り、アダプタはAndroidデバイス特有の物理的および電気的装着機能のみを受け持つ。
クレードルの物理的フォームファクタは、デバイス+アダプタ(安全に)、指定された物理的コントロール、およびクレードルマザーボードを収容し、その一方でサイズおよび体積を最小にすべきである。デバイスは、後ろ向きに、または上下逆さに挿入可能であるべきでない。
クレードル電子回路の冷却は受動的であり、通気口は過可能な最大の範囲内でユーザから見えないように隠されるか、または設計に組み込まれるものとする。
インダストリアルデザイン
クレードルの全体的設計は、可能な限り直接的な観察/相互作用が少なくなるようにしつつユーザがアクションを完了するのを支援すべきものである。ボタンは、触って違いがわかるものであるべきである、適切であれば聴覚的/触覚的キューが使用されるべきである、など。
クレードルのインダストリアルデザインはTBDであるが、公開デモ目的には非常に高いフィットアンドフィニッシュレベルが必要である。クレードルは、高級品レベルで組み立てられた実際の商品に似た感じのものである。このクレードルは、最高級のAudiまたはMercedes車の内装に対して場違いな感じがせず、材質およびプレゼンテーションに関してこれらの内装とマッチする。
仕上げ材料の調査は、塗料、機械加工された金属、機械加工されたプラスチック、ゴム入り塗料などを含むべきである。
物理的コントロール
ボタン
クレードルは、アイズフリーの使い勝手を高めるための物理的コントロール(ボタン)の選択を含む。
次のボタンが必要である。
・ エージェントボタン:音声制御をアクティブ化する、アプリランチャをアクティブ化する、など
・ 進むボタン:次のメディアトラック、通話終了/拒否
・ 戻るボタン:前のメディアトラック、通話応答
・ 再生/一時停止ボタン:メディアを再生するか、または再生を一時停止する、通話ミュート
ボタンは、どのように使用されるか(1度押し、2度押し、長押しなど)に基づき複数のオーバーロードアクション(overloaded action)を可能にする。
照明
光の少ない環境内で使用するために物理的コントロールのバックライト照明/ハイライト照明が必要である。照明/凡例は、次のように振る舞うべきである。
・ 進む/通話終了ボタン:通話がアクティブであるときを除き既定の照明を使用すべきである。通話がアクティブであるときに、通話終了凡例が、通話が終わるまで点灯しているべきである。
・ 戻る/通話応答:通話がかかってきているときを除き既定の照明を使用すべきである。
・ 再生/一時停止、ミュート:通話がアクティブであるときに、通話ミュート凡例が、点灯しているべきである。ボタンが押された場合、通話はミュート状態に入り、ミュート凡例バックライトは、赤色に変化して、ミュートステータスを指示するべきである。ボタンを再び押すと、ミュートステータスと凡例バックライト色とが切り替わる。
クレードルのパワーオンを示すための邪魔にならない、および/または目を引くパイロットライトが必要である。
アップグレード可能なファームウェア
クレードルのファームウェアは、デバイス上で実行されているGoPad Androidアプリケーションの制御の下で現場アップグレードが実行され得るように設計される。
更新動作中にクレードルからデバイスが取り外されたことで生じ得るような、破損したファームウェア更新から回復するためのメカニズムが存在する。
USBオーディオ
クレードルの設計は、デバイスからUSBオーディオを受け付けるステップ(デバイスがその機能を有しているとき)およびそれをクレードルのline-outに中継し、カーステレオのAux-Inを介して再生するステップを含み得る。
電源
最大電力の供給
クレードルは、それ自体の電力ニーズに加えて、いつでも5.1V、2Aの電力をデバイスに供給することができるものとしてよい。
デバイスの充電
クレードルは、次の機能が使用されている間、同時に充電状態に加えられる十分な電力を各デバイスに供給し得る。
・ ハンズフリー通話進行中
・ ハンズフリーナビゲーション進行中
・ メディア再生進行中(場合によっては一時停止)
固有デバイスおよびバージョンID
クレードルは、固有デバイスID、さらにはハードウェアとファームウェアの両方のバージョン番号をサポートし得る。Androidアプリケーションは、これらの固有IDに対する読み取り/クエリを実行することができるものとしてよい。
クレードルのログ記録
クレードルは、ソフトウェア開発およびデバッグ目的のためのアクティビティログ記録をサポートし得る。これらのログは、Androidアプリケーションにアクセス可能であってよい。
ログに記録する項目の例は、限定はしないが、以下を含む。USB接続状態、ボタン押下、Bluetooth(登録商標)接続状態など。
ケーブル
必要なケーブルは、以下のとおりである。
・ USBケーブル(給電用)
・ ステレオauxケーブル(オーディオ出力用)
OBD2リーダ
ハードウェアのOBD2リーダデバイスが必要である。このデバイスは、車両情報を収集し、それをOPIシステムにアップロードして、分析し、その後ユーザに提示する。
OBD2リーダモジュールは、Bluetooth(登録商標)ラジオを含み、GoPadが使用中であれば必ず情報を収集する。これは、情報をデバイスに送信し、その後、その情報を分析のためOPIシステムにアップロードする。
将来のGoPadバージョンには、GoPadが使用中であるかどうかに関係なく、車両Iが運転中であれば必ず、車両情報を収集するセルラーラジオを含む代替的OBD2リーダモジュールが非常に望ましい。この解決方法は、GoPad2の開発と並行して調査される。第三者のパートナー(OEMソース)が望ましい。
GoPadベースのハンズフリー機能
ネイティブのBluetooth(登録商標)ハンズフリー機能を欠いている車両のため、GoPadはそのような特徴を備える。次のハードウェアコンポーネントが必要である。
デュアルマイクロフォン
エコーキャンセルおよびノイズ除去技術とともに、デュアルマイクロフォンが必要である。非常に高いレベルの音質が要求される。通話の遠隔端の人は車載ハンズフリーデバイスを介してユーザが話していると決定することができないことが望ましい。
音質ベンチマークデバイスは、Plantronics Voyager Legend BTヘッドセットである。
Bluetooth(登録商標)ラジオ
GoPadクレードルは、ハンズフリープロファイルをサポートするBluetooth(登録商標)ラジオを含む。デバイスは、クレードル内に挿入されたときにクレードルBTラジオに自動接続し、取り外されたときに切断する。BT接続が何らかの理由により切れた場合、接続は、即座に再確立される。
Androidアプリソフトウェア--リリースの一実施形態
軽量ランチャ
軽量ランチャは、デバイスがクレードル内に置かれると自動的にアクティブ化し得る。アクティブである場合、電話がクレードルから外れたときに非アクティブ化すべきである。初期セットアップの体験は、可能な限り滑らかであり、ユーザによる最小限度の手作業による構成を必要とすべきである。
最初のリリースでは、ランチャは、次の機能へのアクセスを与える。
・ デフォルトショートカットバー:
○ 電話をかける
○ メッセージ:テキスト、メール、およびFacebookメッセージ
○ ナビゲーション
○ ニュースキャスター:一般およびトピックニュース+Facebookユーザタイムライン
○ メディア再生:ローカルおよびオンラインストリーミングメディア
・ 自動車パーソナルアシスタント
・ アプリケーションリスト
・ 車両モジュール
・ GoPad設定
クレードルに挿入した後、ランチャは、スプラッシュ画面を短時間の間表示する。次いで、軽量ランチャのホーム画面を表示し、ユーザ入力を待つ。
その後エージェントボタンを2度押しすると、現在フォアグラウンドでどのアプリケーションが走っていようと、軽量ランチャを立ち上げ、ユーザが新しい機能を選択することを可能にする。GoPadアプリがフォアグラウンドですでに実行中である場合、エージェントボタンを2度押しすると、ユーザはホーム画面に戻る。
システム音量
ランチャは、オーディオ出力音量を固定レベル(TBD)に設定し、ユーザは、車両のステレオ音量調節を使用して音量を調整する。
画面の輝度
クレードルに装着しているときに、デバイスは、自動画面輝度調節に強制されるべきである。これは、デバイスがクレードルから取り外されたときにユーザの設定に戻るべきである。
物理的コントロール
クレードル上の物理的コントロールは、それらがどのように使用されるかに応じて次の機能を有する。
自動車パーソナルアシスタント
自動車パーソナルアシスタント(エージェント)は、エージェントボタンを1度押しすることによってアクティブ化される。エージェントは、声で応え、それが使用可能状態にあることを指示する。
エージェントボタンのシーケンス動作は、次のように3ステップである。
1.待機モード:ユーザは、ボタンを押して音声認識をアクティブ化する必要がある
2.発話モード:エージェントは、ユーザに対してプロンプトを発話している
3.聴取モード:エージェントは、ユーザのセンテンスを聴いている
エージェントがこのリリースで取り扱う機能は以下のものに制限される。
・ 特徴カテゴリの間のアプリ内ナビゲーション(電話、メッセージ、ナビゲーション、メディア、ニュース/Facebook、車両、設定)
・ 通話応答/通話拒否/連絡先からのダイヤル/通話履歴からのダイヤル/任意の番号へのダイヤル。通話拒否は、APIによってサポートされていないように見えるので、われわれは、ユーザが拒否を選択した場合に電話が鳴るのを停止し、着信表示をクリアし、次いで、ユーザがそれに応答しなかった(本質的には生じたことである)かのように呼を自然に音声メールに進むことを可能にするべきである。
・ ナビゲーションを開始/キャンセルする。住所を直接話すか、または住所を間接的に話す(住所、国、町、通り、...の一部)、連絡先から住所を取得する、お気に入りの場所から住所を取得する。
・ ローカルビジネスを検索し(「Find me the nearest Starbucks」)、そこへのナビゲーションを開始する。
○ ローカルビジネスは、Google Maps APIまたはYelpで見つかり、ジェネリックコネクタは、将来、ローカルビジネスロケーションソースAPIの統合を可能にする必要がある。
・ ローカルメディアを再生する。プレイリスト/アルバム/アーチスト/楽曲/シャッフル
○ オンラインメディアはCPAの第2のバージョンに統合される必要がある:Spotify、Pandora
・ 車両ステータス警告(お知らせのみ)。燃料レベル低下。エンジン警告灯をチェック。など。
・ サードパーティアプリケーションを名前で起動する。
・ ニュースカテゴリを選択し、読み上げる
・ Facebookの更新を読み上げる
複数のマッチを減らすあいまい性除去機能が必要である(以下の画面参照)。
一般的なユーザエクスペリエンス:音声および一般的なパターン
一般的なパターン
アプリケーションの音声シナリオを構築するアプローチは、次の事実に基づく。
・ 音声認識が働く確率は、非常に限られている
・ エージェントは、否定的対話を制限する必要がある。
・ ユーザは、自分が行いたいアクションを達成するために可能なより小さい音声コマンドを与える必要がある。
・ 対話の実行は、ASR信頼度によってではなく、達成する時間によって評価する必要がある。
このビジョンに成功するために、エージェントは、両方のタイプのシナリオ、すなわち、直接音声パターンおよびワークアラウンドパターンのインテリジェントな組合せを使用する必要がある。
直接音声パターン
直接音声パターンは、音声認識の分野では普通のものである。その品質は、ASRの信頼度とNLU(自然言語理解)の信頼度とによって妥当性確認される。
電話モジュールおよび電話をかけるアクションの場合、「Bastien Vidal」(電話番号1を持つ固有の連絡先)に電話するように求めることができ、エージェントは、連絡先を直接見つけ出し、Bastien Vidalに電話をかけるアクションをユーザに提案する。
直接音声パターンの問題は、ユーザの音声クエリとの直接マッチを有していないとき、または達成するユーザからクリアアクションへのより多くの情報を必要とするときに生じるものである。
事例のサンプル:
・ 私は多数の電話番号を持っている人に電話をかけたい
・ 私は多数の電話番号と電子メールアドレスを持っている人にメッセージを送信したい
・ アドレスは直接音声認識によって間違ったアドレスであり、私は何もタイプ入力することができない(運転中のため)
ワークアラウンドパターン(WAR)
WARパターンは、音声および接続プラットフォームが人間と機械との間の継続ダイアログ(一連の質問/回答の後に、エージェントは音声認識ボタンのアクティブ化を自動的に起動する)および時間的ダイアログマトリックスコンテキスト(Temporal Dialog Matrix Context)(TDMCの説明については以下参照)の作成を可能にするという事実に基づいている。
継続ダイアログは、異なるタイプのWARシナリオの作成を可能にする
・ リスト項目選択
○ ナビゲーション項目のステップおよび番号の選択のあるリストの場合
・ 頻度履歴プロアクティブ性(Frequence History proactivity)

・ ステップバイステップ選択
アプリケーションの各項目は、次の特性を有するリスト項目提示に基づく:
・ 各項目は、1から5までの数字を有する。
・ 各項目は、ラベルによって読み取られる
一般項目リスト提示
・ 一般的リスト
○ エンティティフィルタ
○ アルファベットフィルタ
・ アルファベット番号
・ 履歴番号
履歴頻度リスト提示
スプラッシュ画面
Androidアプリが起動するときに、またデバイスがクレードル内に置かれたときに必ず、商標設定を表示するスプラッシュ画面が短時間表示される。
ログイン画面
ランチャログイン画面は、最初に電話がクレードル内に置かれているときに、またはユーザがAndroidアプリケーションから例示的にログアウトしたときにスプラッシュ画面の後に続く。これは、商標設定を表示し、ユーザ名/パスワードによるログインを提示する。アカウント作成リンクも提示され、これにより、ユーザは、必要ならば電子メール、ユーザ名/パスワードまたはFacebookアカウントを介して新規アカウントを作成することができる。
ホーム画面
ホームボタンが押されたとき、または電話がクレードル内に置かれたときに、ホーム画面は、上部に主要機能へのショートカットボタンを並べ、下部に何らかのステータス情報(温度およびコンパス方位)が示されている現在位置の地図を表示する。上部のバーは、ステータスおよび通知情報も適切なように反映する。
ホーム画面は、次の通知を表示する。
・ 不在着信
・ 着信メッセージ
・ 車両故障
電話
GoPadは、カスタムGoPad電話UXの背後でストックAndroid電話API(stock Android telephony API)を使用する。
電話着信アナウンス
エージェントは、電話着信情報(電話をかけてきた人が連絡先に載っている場合には電話をかけてきた人の名前、そうでない場合には電話番号)を読み上げ、着信音を無音にし、必要ならばメディア再生を一時停止し、次いで、ユーザアクションを要求すべきである。ユーザは、次の3つの方法のうちの1つで応答することができる。
・ 口頭で、電話を受けるか、または通話拒否して、それを音声メールに送信する。
・ 画面上のタッチボタンを介して通話を許可/拒否する
・ 前のトラック/通話許可または次のトラック/通話拒否ボタンを介する
対話が終了した後、一時停止されていたメディアが再開されるべきである。
タッチスクリーンから、電話着信が次のように提示される。
電話発信
電話発信は、エージェントボタンを押してエージェントを目覚めさせ、次いで、ダイヤルコマンドを番号または連絡先の名前とともに発話することによって口頭で開始され得る。
複数の番号が連絡先の名前とマッチした場合、エージェントは、連絡先の新しい順に(すなわち、その番号で最近呼び出した、最近呼び出されたなど)、次いでアルファベット順にソートされたオプションの番号付きリストを発話する。次いで、ユーザは、呼び出すオプション番号を口頭で選択する。エージェントは、電話をかけて、その番号に対するその新しい値を更新する。
次の方法を用いて電話タッチスクリーンを介して通話が開始され得る。
通話ステータス表示
すべての通話ステータス情報は、画面上部のステータスバーによって取り扱われる(上記のホーム画面参照)。
オーディオ再生
メディア再生
メディアプレーヤは、次の選択カテゴリを介してAndroidネイティブメディアファイルを再生するために使用される。
・ アーチスト
・ アルバム
・ プレイリスト
長いリスト中の項目の高速選択は、リストのサブグループにアルファベット順にスキップすることによって円滑にされる。たとえば、以下のとおりである。
画面の右縁上のアルファベットのリストは、高速ナビゲーションのために指先でこすられるものとしてよい。
メディアプレーヤの一次コントロールは、エージェントを介するものである。与えられたカテゴリにおいて複数のマッチが可能であるときに、エージェントは、画面上に番号付きリストを提示し、ユーザが番号によるマッチを選択することを可能にする。たとえば、以下のとおりである。
メディアプレーヤは、利用可能な場合にアルバムとともに、再生しながらアーチスト/アルバム/楽曲情報を表示する。経過時間および総時間が表示される。空いている場所があれば、次のトラック名も表示され得る。
クレードル上の前、次、および再生/一時停止ボタンを押すことは、適宜再生に影響を及ぼすべきである。
メディアプレーヤは、デバイス上の既定のロケーション内のメディアファイルを再生するべきである(すなわち、他のメディアプレーヤからの共有ライブラリは、そのメディアプレーヤからアクセス可能であるべきである)。
プレイリストは、メディアプレーヤ固有なので、GoPadメディアプレーヤは、次のメディアプレーヤアプリケーションからプレイリストをインポートすべきである。
・ Google Play Music
・ Android Music App
ナビゲーション
基本的ナビゲーション
ナビゲーションメカニックスは、ストックAndroid Google Navigationアプリケーションを介して取り扱われる。LWランチャおよびエージェントは、音声フロントエンドをGoogle Navに提供し、これは次のうちの1つを選択することによって宛先へのナビゲートを開始するために使用され得る。
・ お気に入り
・ 最近の宛先
・ 電話帳連絡先
・ 任意の住所(「333 West San Carlos, San Jose, California」)
軽量ランチャは、Google Navを開始し、それを宛先に渡し、その時点で、Google Navはナビゲーションプロバイダとして引き継ぐ。
ユーザは、ランチャ(または別のアプリケーション)に戻り、ナビゲーション機能をキャンセルすることなくナビゲーション機能をバックグラウンドにし、後でそれに戻ることができるものとしてよい。これを行う共通の方法は、エージェントボタンを2度押ししてホーム画面に戻るか、またはエージェントをアクティブ化して、新しい機能を要求するステップを含む。
着信テキストメッセージ応答
エージェントは、電話帳に載っている場合に送信者の名前を含む、テキストメッセージを受信していることをユーザに口頭で通知し、折り返し電話するオプションを与えるか、または「I am driving right now and will get back to you shortly」の形態の自動化されたユーザ定義の決まり文句の応答を送信するべきである。
Facebookアクティビティリーダ
GoPad Facebookアクティビティリーダは、GoPadアプリに組み込まれる。この特徴は、Facebookウォール投稿をユーザに読み上げて、リンク用に大きいボタンを提示する。
着信Facebookメッセージも、着信テキストメッセージが読み上げられるのと全く同様に読み上げられる。ユーザは、決まり文句の応答を送信者に送信するものとしてよい。
ニュースリーダ
GoPadアプリケーションは、ニュースキャスターの方式の統合ニュース読み上げを含む。これは次の特徴をサポートする。
・ お気に入り
・ 最近
・ ニュースカテゴリ(すなわち、技術、スポーツ、など)
・ 誕生日リマインダー
ニュース記事は、代替えに全画面テキスト表示して容易に構文解析される形式で提示される。
車両ステータス/効率
車両ステータス機能を起動すると、BT OBDリーダからのデータに基づき次の情報が表示される。
・ 車両がOBDを介した燃料レベル測定をサポートしている場合に、マイル/kmおよび燃料を満タンにする必要がある状態になるまでの現在の速度での時間の範囲(この数は、控えめであるべきである)。これは、最近の挙動のTBDウィンドウ上で計算されるべきである。ワークアラウンドは、OBDを介して燃料タンク残量ステータス情報を提示できない自動車には非常に望ましいものである。
・ MGP、このトリップおよび全トリップの移動平均
・ 本質的に加速度/減速度を測定し、アクセルおよびブレーキペダルを穏やかに操作するようにグラフでドライバに促す瞬間的運転効率表示、それに加えて、時間の経過とともにドライバのパフォーマンスがどのようであったかを示す履歴的表示(たぶん自動車のEPA評価に対してプロットされる?)。
・ 経過したトリップ時間、トリップ中の効率、使用された燃料などを含む、トリップ統計量
・ トリップ統計量をゼロに設定するリセットボタン
・ 最近の走行履歴に基づき時間(日数)に最適に変換された、間近に迫っている必要なメンテナンス(車両データベースからのメンテナンススケジュール情報に基づく)。
・ 故障診断エラーコード
・ 車両セキュリティ(安全でない車両挙動、重要な尺度など)
それに加えて、次の高優先度のシナリオに対する口頭の警告は、他の現在表示されている機能を中断すべきであり、デバイス画面は、次のようなエラー表示とともに車両ステータスページに切り替わるべきである。
・ 燃料が少ない(閾値TBD、最近の運転に基づき変化し得る--上記参照)。これは、燃料レベル読み取り機能に依存する(上記参照)。
・ 即時ドライバアクションを必要とする致命的な車両エラー(エラーコードリストはTBDである)(すなわち、「Pull over and shut off the engine as soon as it is safe to do so」)
サードパーティアプリケーション
GoPadアプリケーションは、GoPadがネイティブで提供しない機能を備えるサードパーティAndroidアプリケーションを起動する速くて簡単な方法となる。サードパーティアプリランチャは、車両の運転中にアプリケーションを容易に起動させる大きなタッチターゲットを備える。
提示されているアプリケーションのリストは、デバイス上に存在するすべてのアプリケーションのリストから選ぶ、ユーザによって構成される。
設定
設定領域は、ユーザが自分の好みに合わせてGoPadアプリケーションを構成する場である。設定の最終リストはTBDであるが、以下を含む。
・ 着信テキスト自動応答決まり文句
・ 着信Facebookメッセージ自動応答決まり文句
・ BT OBD2アダプタ選択(ペアになっているBT OBD2アダプタのリストから)
・ エンジン排気量
・ エンジン形式(ガソリンまたはディーゼル)
・ 測定単位(ヤード・ポンド法またはメートル法)
車両識別
複数の車両/クレードルを識別する能力が必要である。車両/クレードル毎の追跡する項目は、以下を含む。
・ ナンバープレート
・ VIN(OBDがそれを提供していない場合)
・ クレードル固有ID
Bluetooth(登録商標)ペアリング
クレードルペアリング
初回そのクレードル内に挿入されたときにランチャがデバイスとクレードルとのペアリングを自動的に行えることが必要である。
既存の車両HFPまたはA2DPとのペアリングは、このリリースに対する特徴でなく、サポートは不要である。
データ収集
次のデータが、収集され、システム内に記憶されるべきである。
・ ユーザ名/電子メール/電話番号
・ 自動車情報
○ VIN番号
○ ナンバープレート番号
・ 運転ログ(タイムスタンプが付けられたすべてのエントリ)
○ 自動車
・ 距離
・ 速度
・ エンジン運転時間
・ ロケーション
・ ナビゲーション目的地
○ アプリケーション
・ すべてのユーザ対話は、ソフトウェアの精密化を目的としてログに記録されるべきである。
・ エラーコードログ
・ 燃費効率
データ収集技術
各データまたはデータの型についてデータ収集の最も容易な方法が採用されるべきである。ユーザに代わってデータを提供することができる場合、そうすべきである(たとえば、その情報についてユーザに尋ねるのではなく、VIN番号に基づき燃料タンクサイズを決定することができる場合、そうすべきである)。
アプリケーションは、ナンバープレートのカメラキャプチャを含むべきであり、アプリケーションはそこからプレート番号を解析し、それを使用してVIN番号およびすべての追加の付随データを決定することができる。
データ匿名化
収集データのいくつかの型は、総計でのみ興味のあるものである--ユーザ固有の形式の値を有しない。Mixpanelなどのサービスによって収集されるソートのアプリケーション自体のユーザビリティデータ(すなわち、ボタンクリックのパターンなど)は、このカテゴリに入る。このデータは、実用的である場合データプライバシーの理由で匿名化されるべきである。
ソフトウェア更新
軽量ランチャは、OTA更新メカニズムが新規ソフトウェアバージョンを現場でデバイスにプッシュアウトすることを可能にする必要がある。
物理的/エージェントコントロールAPI
デバイスがクレードルに入っていて、そのアプリがフォアグラウンド(または、いくつかの場合において、バックグラウンド)で動作している間に、サードパーティアプリ開発者がクレードルの物理的コントロール、さらにはエージェントコマンドに応答することを可能にする単純なソフトウェアAPIが必要である。
このAPIは、できるだけ単純であるべきである。
物理的コントロール
物理的コントロールAPIは、次の3つのボタンのみに対する3つのコマンド入力(1度押し、2度押し、長押し)を可能にすべきである。
・ 前のトラック
・ 再生/一時停止
・ 次のトラック
サードパーティアプリによるエージェントボタンへのアクセスは、許されない。
エージェント
サードパーティアプリは、単純なAPIを介して特定の音声コマンドを受け入れるように登録し得る。コマンドの例は、以下を含み得る。
・ 「Next track」
・ 「Previous track」
・ 「Pause」
付録B:アプリケーション一般提示
a.アプリケーション説明
アプリケーションOscarは、運転しているときにお気に入りアプリケーションの使用のための専用のアプリケーションである。
Oscarは、ユーザが機能を使用するか、またはセーフティモードでアクションを実行することを可能にする。形成されるユーザエクスペリエンスは、いかなる状況でも成功を収める能力における鍵である。次の3つの媒体をいつでも使用することができる。
・ タッチスクリーン(アプリケーションのボタンインターフェース)
・ 物理的ボタン(OEの場合には自動車からまたは補修部品市場についてはクレードルから)
・ 音声コマンド
鍵となる音声機能は、以下のとおりである。
・ 電話をかけ、電話を受ける
・ メッセージを送信し、受信する(テキスト、メール、およびFacebook)
・ ナビゲーションを定義する:1回限り
・ ニュースを読み上げ、シェアする
・ 音楽を再生する
アプリケーションは、次の見出しに基づく。
・ 音声認識が作動していない=ユーザのセンテンスを制限する
・ 自然な対話=人間のダイアログを可能な限り速やかに閉じる
・ エージェントのフィードバック長を制限する=短いセンテンス
・ エージェントのネガティブフィードバックを制限する=〜でない、ない、知らない、...
・ ユーザ反復を制限する=「say again」と訊かない
これら5つの見出しは、ユーザエクスペリエンスの形成の中心となる鍵である。
b.アプリケーションのアーキテクチャ
以下に進む。
c.アーキテクチャに基づくユーザエクスペリエンス
d.検出された鍵となる革新
i.継続ダイアログ
ii.全画面エージェントアクティブ化
iii.自動ウェイクアップ
iv.リストナビゲーション
1.音声ナビゲーション:次、前、先頭、最後
2.アルファベット順に進む
3.リストを音声再生する
a.音声フィードバック最適化
i.クエリから
ii.前の再生から
b.ステップ再生
4.選択
a.ターゲットとなる項目の数で
b.ターゲットとなる項目の部分的内容で
5.インテリジェント選択
a.ドライバによる使用から学習
v.リストフィルタ
1.アルファベット順フィルタ
2.履歴フィルタ
3.頻度履歴
4.連続的フィルタ
vi.ボタンピクセルユーザエクスペリエンス
vii.
・ 電話モジュール
e.はじめに
f.構造
g.説明
h.ユーザエクスペリエンス
・ メッセージモジュール
・ ナビゲーションモジュール
・ ニュースモジュール
・ メディアモジュール
付録C:
音声および接続プラットフォーム
エグゼクティブサマリー
自動車市場は、様々な種類の断絶の中に存続しており、われわれが自動車市場破壊と呼ぶことができる新しい革命の中に生きている。電気エンジンから無人自動車まで、自動車のデジタル化は、前進し続けており、自動車組み立て会社全体は、デジタルの寿命と車両の寿命とに関する大きな問題のうちの1つに直面している!
しかし、結局は、ドライバは声、止まって道路上で独りで時間を費やしたい声であり、この時間は、われわれが制約された環境内で新しいユーザエクスペリエンスを形成できれば、われわれが自動車をデジタルワールドに接続し、それだけでなく、ユーザをコンテキストに応じてお気に入りのアプリケーションと接続することができれば、有益なおもしろい時間に一変させることができる。
xBrainSoftは、自動車の中および外で連続するユーザエクスペリエンスにおいて市場のすべてのデバイスと連動する拡張性および自由度の高いプラットフォームであり、自分のクラウドと車載組み込みプラットフォームとの間でハイブリッドモードおよび同期更新無線モードを可能にする自動車パーソナルアシスタント製品を製作した。
適切な時機に、どのような状況であっても、各環境の最良のもの!XXXXXは、自動車の寿命に影響を及ぼすことなくデジタルワールドの寿命が短いという問題に面と向かう用意ができている。
技術に関する章
要約
xBrainSoft Voice & Connected Platformは、いくつかの実施形態においてオンボード環境とオフボード環境との間のリンクを確立するように成されている高度なプラットフォームである。
ハイブリッド、モジュール式、および不可知論的アーキテクチャに基づき、音声および接続プラットフォームは、組み込みソリューションとオフボードプラットフォームとの間にそれ専用の「無線」更新メカニズムを備える。
オフボード拡張意味処理機能への接続性を有しない組み込みダイアログ管理から、音声および接続プラットフォームは、コンテキスト同期とのハイブリッド管理機能を高め、車両接続性の「損失および回復」の周りのシナリオを可能にする。
ロバストで、革新的な、フルカスタマイズ可能な自然言語理解技術に基づき構築されている、音声および接続プラットフォームは、夢中になれるユーザエクスペリエンスを提供し、しかも特定の音声技術に頼らない。
そのマルチチャンネル機能は、様々な方法で複数のデバイス(車両、電話、タブレット、...)を通じて対話し、完全同期メカニズムがあるため同じユーザ毎のコンテキストを共有することが可能になっている。
音声および接続プラットフォームのクラスタ化されたサーバアーキテクチャは、スケーラブルであり、したがって、サービスの高負荷および高消費量に応答する。これは、業界標準技術に基づき構築され、通信セキュリティおよびエンドユーザプライバシーに関してベストプラクティスを実装する。
音声および接続プラットフォームは、また、複雑な音声ユーザ対話フローを作り出すために、完全な開発環境内に統合されている、フルセットの機能および開発者ツールも備える。
付加価値
xBrainSoft Technologyの技術的ブレークスルーのいくつかの下に、クラウドプラットフォームおよび組み込みプラットフォームによって組み立てられる「音声および接続環境」がある。
次の項目は、箇条書きで提示されている。
・ ハイブリッド設計:「Server, Embedded and autonomous Synchronization」
設計により、音声および接続プラットフォームは、ローカルとリモートの両方で実行するアシスタントを備える。アシスタントのこのハイブリッドアーキテクチャは、強力なメカニズムに基づき構築され、処理の分散、完全なコンテキスト同期の維持、およびユーザインターフェースまたはさらにはダイアログ理解の更新を行う。
・ ダイアログフロー作成のための機能ツールのセット
当初から、xBrainSoftは、アシスタントの開発を加速し、改善するためにわれわれの技術の周辺に最良のツール群を用意することに大変な努力をしている。これは、ダイアログ言語マネージャ、機能モジュールの再利用可能性、VPAの開発自動化またはメンテナンス、およびクライアントデバイス上のポータビリティを高める完全な開発者環境を含む。
・ 識別情報およびデバイスフェデレーションサービス(VCP-FS)
音声および接続プラットフォームフェデレーションサービスは、ユーザ識別情報およびデバイスを連合させるサービスである。VCP-FSは、ソーシャル識別情報(Facebook、Twitter、Google+)およびユーザの所有する接続デバイスを取り扱い、これは広範な方法で仮想パーソナルアシスタントによって提供されるキャパシティおよび機能を高めるものである。VCPフェデレーションサービスは、ユーザのソーシャルネットワーク、さらにはその習慣を利用することによってユーザエクスペリエンスを高める。
・ 自動車アプリケーション対応のスイート(CPA)
音声および接続プラットフォームの上に、xBrainSoftは、天気、株式、ニュース、TV番組、連絡先、カレンダ、電話、などとして音声、タッチスクリーン、または物理的ボタンのいずれかによって使用される、自動車パーソナルアシスタント(CPA)製品を作成するための車両用のアプリケーションスイートを提供している。
xBrainSoftは、また、自動車のCANネットワーク、そのGPS測位、および温度、ワイパー状態、エンジン状態、などのような様々な車両センサにアクセスできる完全統合アプリケーションを作成するためのSDKを提案している。
・ オフボードデータシンクロナイザ
音声および接続プラットフォームは、グローバルデータシンクロナイザシステムを備える。このメカニズムは、モバイルデータ接続の巡回および低容量によって引き起こされる問題となる同期を対象とする。これは、どのように行われるかではなく、同期させる必要のあるデータについて開発者が集中することを可能にすることを意図して同期システムの構成可能な抽象化を実現する。
・ 外部APIオートバランサー
外部APIを使用することはシナリオに対しては大きな強化となるが、サービスが利用不可能になる可能性があるときに、またはクライアントが複数の要因(価格、ユーザ加入、...)により特定のサービスを使用することを望む可能性がある場合に副作用をもたらす。これらの特定要件に応えるために、音声および接続プラットフォームは、高度に構成可能であり、第3のデータプロバイダをプラグインとして組み込むように設計された(たとえば、マイクロ課金管理システム上に接続するためのイベントハンドラーによるAPI消費管理)。
機能は、単一の外部APIには依存しないが、それらの多くを管理することができる内部プロバイダに依存する。このアーキテクチャに従って、VCPは、XXXXX要件を満たすように構成され得るオートバランスシステムを実現する。
・ プロアクティブダイアログ
音声および接続プラットフォームは、初期要求なしでユーザとのダイアログを開始するためのエキスパートシステムおよびメカニズムを統合している。
それとともに、ユーザの注意が利用可能になった後に関連する情報を与えるものとして、またはプロアクティブなダイアログ頻度を管理するために、複雑なタスクを達成する一組のツールを備える。
・ 真のコンテキストダイアログ理解
「真のコンテキストダイアログ理解」は、コンテキスト依存の多次元ダイアログフローであり、パラメータとして、コンテキスト履歴、ダイアログ履歴、ユーザ履歴、ユーザプロファイル、ローカライゼーション、現在のコンテキストドメインなどを有する。
各ダイアログを分析するこのコンテキスト依存のアプローチは、アシスタントの知識をストックするために必要なメモリを最小限度に抑えるときのダイアログフローおよび多くの他のポジティブな影響の最もよい1つの精度理解、何らかの種類の途切れの後のダイアログの継続、アプリケーションの翻訳の簡素化、などを可能にする。
・ 無線で更新する
VCPグローバルデータシンクロナイザメカニズムは、車両の寿命の間クラウドプラットフォーム、組み込みプラットフォーム、および接続されているデバイスの間で「無線」により任意の種類のパッケージを更新する方法を提供する。われわれのオンラインソリューションと組み込みソリューションとの間でダイアログ、UI、ログ、スナップショットを同期させるために内部的に使用される、この「無線」システムは、組み込みTTS音声、組み込みASR辞書としてサードパーティリソースを含むように格納され得る。バージョニングシステム、依存関係マネージャ、および高圧縮データ転送に基づき、これは、ハイブリッドソリューションに対する第1のクラスのメカニズムを提供する。
・ 任意のデバイスへのサービスの継続性
音声および接続プラットフォームは、VCPフェデレーションサービスを通じて、ドライバ識別情報およびデバイス上の中断なしでサービスの継続性を実現することができる。接続されているデバイスが増えることで、XXXXX仮想パーソナルアシスタントによってアクセス可能なドライバの注意は、自動車内で費やされる時間を超える。
・ 音声および音響不可知論的統合
音声および接続プラットフォームは、特定の音声技術に依存せず、ローカルの音声エンジンまたはリモートの音声プロバイダのいずれかを音声認識とテキスト読み上げの両方に使用することができる。ローカルのエンジンは、VCPプラグインにカプセル化され、これらはVCPデータ同期メカニズムを通じて容易に更新され得る。リモート音声プロバイダは、VCPとともにクラウドサイドで直接管理しているものとしてよい。
音声認識およびテキスト読み上げにどの音声技術VPAが使用されるかを定義することは、どのようなダイアログについても完全に構成可能である。
・ 人工知能アルゴリズム
制約タイミングにおける結果を得ることに集中することで、音声および接続プラットフォームはAIに関して不可知論的アプローチをとる。このことが、われわれが、CLIPSエンジンを使用してイベントベースのエキスパートシステムで行っているように第1のクラスのすぐに使えるツールを作成するか、または抽象的な仕方でプラットフォームに組み込む理由である。
われわれの専門技術知識は、自然言語、ナレッジグラフ、機械学習、社会的知性、および一般AIアルゴリズムに関するものである。われわれのツール群は、XXXXXが最後の進化をこの自然科学分野に継続的に組み込むことを可能にするための最上位フレームワークと今日利用可能なオープンソースアルゴリズムとの間のリンクである。
・ 自然言語理解不可知論的統合
人工知能アルゴリズムに採用されている戦略と同様に、音声および接続プラットフォームは、自然言語処理モジュールを統合するために不可知論的アプローチをとる。これは、この領域におけるわれわれの専門知識技術に基づき、われわれがコアモジュールの1つを頻繁に更新して正確な理解を最適化し、ユニークなユーザエクスペリエンスを保証することを可能にする。
技術的アーキテクチャ
アーキテクチャ
アーキテクチャの説明
音声および接続プラットフォームは、「スマートディスパッチャ」と呼ばれる非同期パイプラインに基づく。その役割は、プラットフォームおよび接続デバイス全体にわたってメッセージおよびユーザコンテキストを配信することである。
VCPフェデレーションサービスは、プラットフォーム上のユーザ識別情報管理を受け持つ。これは、My XXXXX、Facebook、Twitter、Google+、およびMicrosoft Liveとしての数値およびソーシャル識別情報に対するサードパーティ識別情報プロバイダに依存する。これは、また、自動車、電話、タブレット、TV、...のようなユーザのすべての接続デバイスを連合させるための内部メカニズムを有する。
音声および接続クラウドプラットフォームは、VCP組み込みソリューションと連動するように「スマートディスパッチャ」上の不可知論的モジュール式アーキテクチャおよび完全な同期メカニズムを提供する。自動ASR/TTSリレーにより機能レベルでASRまたはTTSを抽象化することができる、VCPサーバは、Nuance、Google Voice、Telisma、CreaWaveなどのサードパーティASR/TTSプロバイダに依存する。
音声および接続クラウドプラットフォームは、また、セマンティックスツーリング(semantics tooling)の能力を利用するダイアログ管理のためにVCPプラットフォームによって提供されるすべての技術的ブロックも含む。イベントベースのエキスパートシステム、センサ、AI、およびプロアクティブなタスクと結合された場合、これはアプリケーションを開発するために使用されるコアスタックを提供する。
ユーザプロファイルプリファレンスまたはXXXXXビジネスルール上のフォールバックシナリオまたはルールベースの選択をサポートするために、抽象的な仕方でサードパーティ製データプロバイダが含まれている。このエントリポイントは、VCPがすべての既存のXXXXX接続サービスを統合し、それらをアプリケーション開発レベルで利用可能にすることを可能にする。
VCP組み込みソリューションは、VCPサーバの対になる車両側部分である。「無線」で更新可能である、この組み込みソリューションは、以下を提供する。
- UI配信および管理
- オンボードダイアログ管理
- 「損失および回復」接続性シナリオに対するコンテキストロギング
- ログまたは他のサードパーティ同期に対するスナップショットマネージャ
車両アーキテクチャにおいて、組み込みASRおよびTTSプロバイダは、オンボードダイアログ管理のために含まれるものとしてよく、音声および接続プラットフォームのコンポーネントとしては提供されない。
VCPデータ記憶装置は、音声および接続プラットフォームのすべてのデータ入力を記憶し、分析するために使用されるApache Hadoopベースのインフラストラクチャである。機械学習またはAI処理に使用される場合、VCPデータ記憶装置は、VCPフェデレーションサービスにおいて記憶されるユーザプロファイルに分析結果を注入するためのメカニズムを提供する。
分野別の技術詳細
音声および音響
・ 説明
音声および音響の寿命は、第1のクラスのユーザエクスペリエンスを形成するための最も重要な相互作用の1つである。これは、期待した品質を得るために高レベルの注意および高レベルのコンポーネントとともに取られる必要がある。
予期した品質を得ることは、以下の複数の態様を組み合わせることによって達成され得る。
○ 最高品質のマイクロフォン、フィルタ、ノイズ低減、エコーキャンセル、...
○ 複数のASR/TTSプロバイダ(Nuance、Google、Telisma、Microsoft Speech Server…)の統合
○ 使用事例に関してそれらのプロバイダ同士を切り替えることができること。
- ASR:オンボード、オフボードのストリーミングまたはオフボードリレー
- TTS:オンボード、オフボードの感情的コンテンツ、混合継続性モード
○ ユーザダイアログコンテキストに基づくASR訂正管理
○ 「真のダイアログ」管理
xBrainSoftでは、われわれは、それらの態様を以下の2つのカテゴリに分類した。
○ 音声キャプチャからASRプロセス終了まで
○ ASRプロセスの後に、自然言語処理から自然言語理解まで
ASRプロバイダまたはハードウェアマイクロフォンを製造することはわれわれのビジネスの範囲にはないので、任意の種類のASR/TTSエンジンと統合し、通信することができるように音声管理に関して技術的不可知論的アプローチをとった。われわれの経験およびプロジェクトにより、Nuanceの実質的統合によるVPAプロトタイプにおいて行われているように制約環境内でそれらの技術の専門知識レベルが高まった。
このタイプのアーキテクチャは、パートナーがすべてのタイプのASRまたはTTSを用いて多くの言語において強力なダイアログシナリオをすばやく作成することを可能にする。これは、また、ユーザエクスペリエンスを改善するようにコンポーネントを容易にアップグレードすることも可能にする。
第2のカテゴリは、ユーザダイアログコンテキストに基づき異なるレベルのソフトウェアフィルタによって管理される。ダイアログは、双方向センテンスというだけでなく双方向センテンスの集合であるので、われわれは、「真のコンテキストダイアログ理解」に基づき音声および接続プラットフォームにおいて異なるフィルタを開発した。真のコンテキストダイアログ理解は、コンテキスト依存の多次元ダイアログフローであり、パラメータとして、コンテキスト履歴、ダイアログ履歴、ユーザ履歴、ローカライゼーション、現在のコンテキストドメインなどを有する。
われわれのVCPセマンティックツールの能力を用いて、ユーザ入力の深い意味論的理解を達成する。
このアプローチにより、われわれはエンドユーザダイアログフローに関して同じ正確な意味を保持しながら「News & Voice Search」アプリケーション(ニュースキャスター)を120万個の言語パターンエントリポイントから100未満にまで減らすことができた。
パターンの記述のこの新しいアプローチは、多くのポジティブな態様をもたらす。
○ あいまい性の除去シナリオ、誤りキーワード、または不完全なエンティティ抽出を簡素化する
○ パターンのデバッギングを簡素化し、自動化ツールの作成を可能にする
○ 「オンザフライ」でパターンの訂正およびメンテナンスを簡素化する
○ パターン辞書をロードするためのメモリリソースを最小にする
○ 言語適応のためのダイアログ翻訳の労力を最小にする
完全なハイブリッドおよび「無線」更新可能システム、VCPコンポーネント「オンラインまたは組み込みダイアログマネージャ」は、車両が完全なオンラインダイアログエクスペリエンスへの接続性を失ったときに組み込みダイアログを管理するための最良のソリューションを提供することを目的とする。
したがって、第1のクラスの実質的な音声および接続プラットフォームの保証がこれまでに意図した最良のユーザエクスペリエンスを形成するのに最も十分であるようなものとなること求めた。
その間、xBrainSoftは、ダイアログフロー、ソーシャルおよびダイアログフローから推論されるユーザコンテキストにおける社会的および教育的挙動レベル、またはVoiceXML標準に基づく韻律管理におけるセンチメント分析としての多くの研究面と併せてユーザエクスペリエンスの限界を押し広げる作業を続けている。
・ 革新的特徴
○ ASR/TTSプロバイダの不可知論的アプローチ
○ オフボードASR/TTSリレー容量
○ オンボードダイアログ管理
○ オフボードダイアログ管理
○ 「無線」更新によるハイブリッドダイアログ管理
○ VCPセマンティックツール
○ ダイアログ管理のための統合開発環境
・ 例示的な要素
○ 高品質マイクロフォンおよび音取り込み
○ ノイズ低減、エコーキャンセルを含む音声信号処理
○ 自動ブランク検出をサポートするマイクロフォンオーディオAPI
○ オンボードおよびオフボード用の1つまたは複数の音声認識エンジン
○ オンボードおよびオフボード用の1つまたは複数のテキスト読み上げエンジン
○ VCP組み込みソリューション
○ VCPサーバ
・ 例示的なアソシエイトパートナー
音声取り込み:ParrottまたはNuance
音声信号処理:ParrottまたはNuance
ASR:Google、Nuance、またはTelisma
TTS:Nuance、Telisma、またはCreaWave
ハイブリッド構造および挙動
・ 説明
データ接続が利用可能でないときに自律的であり得る接続およびクラウドベースのパーソナルアシスタントが利用可能である。この目的は、常にユーザへの応答を高速にし、正確にすることができることである。
VCP組み込みソリューションは、自動車など組み込みデバイス上で実行され、サーバサイドのそれと対になるものに接続されているハイブリッドアシスタントからなる。ユーザ要求は、サーバに転送すべきであるか転送すべきでないかを、接続性のような基準に基づき決定する組み込みアシスタントによって直接取り扱われる。この方法で、すべてのユーザ要求は、ローカルまたはリモートのいずれかで取り扱われ得る。オフボードレベルの機能は、パフォーマンスおよびユーザエクスペリエンスを高めるように容易にチューニング可能である。
音声および接続プラットフォームのように、VCP組み込みソリューションは、高度な自然言語処理および理解機能を備えており、データ接続を必要とすることなくユーザ要求を取り扱う。これにより、VPAがユーザ要求をローカルですばやく理解し、必要ならば、ユーザに直接答え、サーバから重い計算応答を非同期にフェッチすることができることを確実にする。接続性を失っている場合に、ユーザに完全な応答を返すために外部データが必要な場合(たとえば、天気要求)、応答は、その要求が履行され得ないことをユーザに通知するように適合される。シナリオに従って、VPAは、接続性が回復すると直ちにサーバに転送できるようにユーザ要求をキューに入れておくことができる。
音声および接続プラットフォームはまた、データが分離されるのではなく共有されるように組み込みエージェントとサーバとの間の完全なコンテキスト同期を実現する。再同期は、データが常に最新のものとなるように接続性に問題が生じる毎に実行される。
VCP組み込みソリューションは、「無線」プロセスを通じて容易に更新または交換され得るプラグインから作られる。音声、IA、ダイアログ理解、データ処理、およびユーザインターフェースは、それらのアップグレード可能なモジュールの一部である。
VCP組み込みソリューションは、応答を処理するために一組のスクリプト、AIの一部も含む。応答の一貫性を確実にするために、接続性のレベルが何であれ、これらのスクリプトは、サーバと組み込みエージェントとの間で同期される。
・ 革新的特徴
○ ユーザインターフェースマネージャ
○ サーバと同期されるローカルインターフェース
○ 組み込みダイアログマネージャ
- 純粋な組み込みシナリオ
- オンボード/オフボードのハイブリッドシナリオ
- 純粋なオフボードシナリオ
インターネット接続がある場合もない場合も、常にユーザ要求に応える
接続喪失の使用事例でのコンテキスト同期
・ 例示的な要素
車載コンピュータシステム上で利用可能なLinux(登録商標)プラットフォーム
・ パフォーマンス
効率的なパフォーマンス駆動プログラミング言語(C++)
帯域幅および応答時間を最適化するための交換データの高圧縮
VCP組み込みソリューションは、Raspberry PI Model A上でコンパイルされ、試験されている。
○ CPU:700MHz低電力ARM1176JZ-Fアプリケーションプロセッサ
○ RAM:256MB SDRAM
人工知能
・ 説明
人工知能は、多くの専門領域にまたがる大きな分野である。
○ 演繹、推論、問題解決
○ ナレッジグラフ発見
○ イベントベースのエキスパートシステムによるプランニングおよび行動
○ 自然言語処理およびセマンティック検索
○ 機械学習、マップレデュース、深層学習
○ 社会的知性、センチメント分析、社会的挙動
○ まだ発見されていない他の用途
xBrainSoftでは、技術能力の範囲が巨大であることに気付いており、自然科学の現状の現在の難題を前にして穏やかである。
制約タイミングにおける結果を得ることに集中することで、音声および接続プラットフォームはAIに関して不可知論的アプローチをとる。このことが、われわれが、すぐに使えるCLIPSエンジンを使用してイベントベースのエキスパートシステムで行っているように第1のクラスのすぐに使えるツールを作成するか、または抽象的な仕方でプラットフォームに組み込む理由である。
われわれの専門技術知識は、自然言語、ナレッジグラフ、機械学習、社会的知性、および一般AIアルゴリズムに関するものである。
われわれのツール群の主要な特徴は、最上位のフレームワークと今日利用可能なオープンソースアルゴリズムとの間の接着剤となるものである。
それによって、xBrainSoftは、市場で入手可能な他のより貴重なものによりわれわれのモジュールを切り替えることが可能であるのでVPAプロジェクトの期待されるシナリオの100%を実現することができる。
これが、xBrainSoftが、また、Kyron(Silicon Valley、AI、ヘルスケアに適用されるビッグデータおよび機械学習)、Visteon、またはSpiropsのようなパートナーと連携して、われわれのプラットフォームを通じて利用可能なAIの可能性を広げている理由である。
・ 革新的特徴
匿名化された方法でデータを外部AIモジュールに提供する能力。ユーザまたはセッションは、ランダムな固有の数として表され、それにより外部システムはその情報を物理的ユーザに相関させることができなくても正しいレベルで動作することができる。
xBrainSoftまたは外部AIツールによりAIを音声および接続プラットフォーム(VCP)に組み込むための不可知論的アプローチ。
AIツールからデータを戻すためにVCPによって提供されるVCPフェデレーションサービスへのブリッジを形成し、より良好なユーザコンテキスト管理のためにユーザプロファイルを増強する。
・ 例示的な要素
○ Apache Hadoopに基づくVCPデータ記憶装置
○ VCPイベントベースのエキスパートシステム
○ VCPフェデレーションサービス
・ オフボードプラットフォームおよびサービス
・ 説明
自動車内のユーザに提供されるサービスを豊かにするために、オフボードプラットフォームは、その高い可用性および強力なコンポーネントにより高いレベルの接続機能を提供する。ユーザは、自動車サービスに集中している多くの学問領域にわたる知的なエコシステムの中心に置かれる。オフボードプラットフォームは、また、自動車サービスと接続サービスとを混合する機能をもたらすエントリポイントでもある。
オフボードプラットフォームは、ユーザのブランドおよび接続デバイスのすべての自動車をサポートするために高い可用性を有する。これは、増え続けるユーザに対処し、負荷変動を処理するために時間の経過とともに進化することができる。
それらの難題のすべてに応えるために、音声および接続プラットフォームは、「クラウド内」またはオンプレミスで配備可能であるクラスタ化アーキテクチャを提供する。すべてのクラスタ化されたノードは、互いを認識し、ノード間接続デバイスシナリオでクラスタ化アーキテクチャ上のサービス継続性を維持することを可能にする。
音声および接続プラットフォームは、ソーシャルアカウントおよびデバイスを通じて技術的データサービスからユーザ情報まで、サードパーティデータサービスを消費する能力をもたらす。それらのすべての情報は、「適切な」および理に適ったシナリオを作成するために有用である。
機能およびサービスの範囲は広く、これは技術が進歩するので時間の経過とともに進化する。プラットフォームのアーキテクチャは、モジュール式アーキテクチャに基づき既存の機能に影響を及ぼすことなく新しいサービス/機能を提供すべきである。
・ 革新的特徴
○ クラウド内またはオンプレミスホスティング
○ 高い可用性および負荷変動に対してクラスタ化アーキテクチャ配備を進める用意ができている
○ クラスタ化アーキテクチャ上のデバイス間機能
・ 例示的な要素
○ VCPサーバ
○ サードパーティデータプロバイダ
・ パフォーマンス
サーバ毎に5kの同時接続オブジェクト(自動車)では、プロトタイプは、3台のサーバを一組として実装し、高レベルのSLAを保証し、前面に10kの同時接続オブジェクトを提案する。
オフボードフレームワークおよび一般セキュリティ
・ 説明
サードパーティデータサービスプロバイダとして、XXXXX SIGは、われわれの現在の実装されているプロバイダに加えて音声および接続プラットフォームによって使用され得る。抽象化レベルが高いので、われわれは、異なるサードパーティデータサービスプロバイダを実装し、それらをプロジェクト寿命においてVPAの機能部分を更新することなく統合することができる。
音声および接続プラットフォームは、外部プロバイダを通じてデータの高い可用性を保証するためにフォールバックシナリオを実装する機能を備える。たとえば、主要な1つのプロバイダが利用可能でないときに切り替えるための複数の天気データプロバイダである。
音声および接続プラットフォームは、また、プロバイダの適格性についてエキスパートシステムの実装も提供する。ビジネスルールに基づき、システムは、課金最適化を管理するのを手助けする。これは、サブスクリプション料金に基づきユーザ側のものとして、または供給業者の取引契約に基づきプラットフォーム側のものとして、異なるレベルで使用されることも可能であろう。
音声および接続プラットフォームはフルセットのHTTP APIを公開され得るので、任意の種類の機械同士のネットワークにおいて容易に統合され得る。
通信および認証に関して、音声および接続プラットフォームは、インターネット業界で使用される最新の実務慣例をもたらす。SSL証明書によりすべての通信を安全にすることからチャレンジハンドシェイク式認証プロトコルに至るまで、音声および接続プラットフォームは、エンドユーザのプライバスシー保護に関係する高いセキュリティレベルを確実にする。
セキュリティおよびユーザプライバシー保護も、エンドユーザのログインおよびパスワードが音声および接続プラットフォームを通過するときにVCPフェデレーションサービス識別情報関連付けにおいて考慮される。このシステムはすべて、識別情報プロバイダによって提供されるトークンベース認証に基づき、たとえば、Facebookアカウントでは、エンドユーザは、エンドユーザ識別情報を確認し、認証トークンを送り返すFacebookサーバ上で認証を受ける。
VCP組み込みソリューションが構築されるこの方法は、インテグレータによって提供される基幹の既存機能に依存するので自動車内の信頼性または安全性問題の発生を防止する。われわれの技術的提案において、VPAは、指令を自動車に直接送信することはできず、信頼性および安全性問題を提示する基幹システムに指令を送信することができる。
・ 革新的特徴
○ XXXXX接続サービスAPIの完全統合を可能にするモジュール式アーキテクチャ
○ My XXXXXは、VCPフェデレーションサービスの既定の識別情報プロバイダとして実装されるものとしてよく、これによりユーザが自分のソーシャル識別情報をリンクするときに安心感を得ることができる。
○ エンドユーザのプライバシーを保護するための高レベルセキュリティ
・ 例示的な要素
○ M2Mネットワークとしての自動車接続のための安全なインフラストラクチャ
○ VCPフェデレーションサービス識別情報プロバイダを実装するためのトークンベースの認証API
コンテキストおよび履歴認識
・ 説明
ダイアログ、アシスタント挙動、または機能個人化には、効率的なコンテキスト管理が不可欠である。エンジンレベルで実装されるので、ユーザコンテキストは、増強され個人化された体験を可能にするために音声および接続プラットフォームのコンポーネントによってアクセスされ得る。
任意のデータソース--車両データ(CAN、GPS、...)、ソーシャルプロファイル、外部システム(天気、交通、...)、ユーザ対話、...--を用いて拡張可能なので、ユーザコンテキストも、また、プロアクティブな使用事例を作成するためにわれわれのイベントベースのエキスパートシステムによって重用される。
オフボードおよびオフボードにまたがって共有されるので、音声および接続プラットフォームは、2つの環境の間のコンテキスト再同期を管理する。
履歴認識に関しては、音声および接続プラットフォームは、データを総計する、記憶する、および分析するための完全なソリューションを提供する。それらのデータは、上で説明されているように任意のソースに由来するものとしてよい。
分析されるときに、データの結果はユーザプロファイルを充実させるために使用され、個人化された体験を配信するのを助ける。
・ 革新的特徴
ユーザコンテキスト管理は、エンジン特徴として組み込まれ、音声および接続プラットフォーム内を横断している。これは、システム内のモジュール、ダイアログ、タスク、またはルールでアクセスされ得る。これは、また、VCPフェデレーションサービスの実装とデバイスにまたがって共有され得る。
音声および接続プラットフォームは、オンボードとオフボードとの間の完全コンテキスト再同期システムを形成し、トンネルを通過する運転のような接続性問題を取り扱う。
Apache Hadoopスタックおよびツールに基づき、VCPデータ記憶装置は、機械学習の目標をユーザ行動主義、習慣学習、および他の関係する機械学習分類または推奨タスクとして実行することに対応できるインフラストラクチャを提供する。
・ 例示的な要素
○ VCPデータ記憶装置
○ 要求条件に基づきHadoopインフラストラクチャを定義する
プロアクティビティ
・ 説明
プロアクティビティは、エンドユーザのためによりスマートなアプリケーションを作成するための鍵の1つである。
VCプラットフォームは、2つの異なるレベルのプロアクティビティ管理を行う。
○ バックグラウンドワーカー:主パイプラインに再接続し、ユーザセッションと対話するか、またはフォールバック通知ツールを使用することができる完全なバックグラウンドタスクシステム
○ イベントベースのエキスパートシステム:外部センサおよびユーザコンテキストに反応することができる完全統合ビジネスルールエンジン
VCPフェデレーションサービスと結合され、デバイスを超えてプロアクティビティのパワーを利用する。
・ 革新的特徴
○ コンテキスト項目にリアルタイムでプロアクティブに反応するイベントベースのエキスパートシステム
○ 相互デバイスプロアクティブエクスペリエンスを可能にするためのVCPフェデレーションサービスの使用
○ プロアクティブなフォールバックの使用事例に対する主要通知プロバイダの実装を提供する(Google、Apple、Microsoft…)
○ 機能の観点から、プロアクティビティチューニングのレベルはユーザ設定として公開され得る。
・ 例示的な要素
デバイスの知識に対するVCPフェデレーションサービス
フォールバックの使用事例に対する通知プロセスをサポートするデバイス
一般アップグレード可能性
・ 説明
一般アップグレード可能性は、自動車産業に関して重要なプロセスである。自動車は、自動車ディーラーにそれほど頻繁には訪れていないので、全体的なソリューションは、「無線」更新の完全なメカニズムを提供するべきである。
音声および接続プラットフォームは、すでに、それらの「無線」メカニズムを実装しており、VCP組み込みソリューションを使用してダイアログおよびユーザインターフェースを同期させる。
工場アーキテクチャに基づき、この「無線」プロセスは、音声および接続プラットフォームと接続デバイスとの間の任意の種類のデータを管理するように拡張され得る。
・ 革新的特徴
○ バージョニングサポート、依存関係解決、および通信圧縮を含む拡張可能な「無線」メカニズム
○ VCPサーバは、車両の寿命の期間内に(新規)モジュールを追加するか、または取り外すことを可能にするモジュール式アーキテクチャに基づく。
○ VCP組み込みソリューションは、新規相互運用性機能を追加し、新しい自動車機能またはメッセージにアクセスすることを可能にするプラグインアーキテクチャに基づく。
・ 例示的な要素
○ インターネット接続(ハードウェアおよび接続のタイプに依存する)
中および外継続性
・ 説明
デバイス継続性は、音声および接続プラットフォームを通じて、ドライバが自動車内で、ただし外の通りで、または家でも同様に、仮想パーソナルアシスタントに接続することができることを意味する。ドライバは、自分の望むすべての場所からサービスを使用することができる。
この機能は、XXXXXが自動車の中と外での顧客との関係の範囲を広げることを可能にする。ブランドは、サービスを提供し、その従来のゾーンを越えた関与を生じさせる機会を拡大する。したがって、競合するAPIまたはサービスをもたらすことができるサードパーティ事業者との多数の潜在的ビジネスパートナーシップの機会を開く。
VCPフェデレーションサービスに基づき、VPAはエンドユーザのエコシステムに完全統合され得る。ユーザの自動車、ユーザの複数のデバイスから、ユーザの数値およびソーシャル識別情報まで、そのエコシステムのすべての入力がユーザの広範にわたる活動に力を与えることができる。
・ 革新的特徴
音声および接続プラットフォームは、すべての認識されたデバイスからアクセスされ得る標準の保護プロトコル(HTTPS)を通じてサービスを提供する。エンドツーエンドの観点から、音声および接続プラットフォームは、Android、iOS、Windows+Windows Phone、およびEmbeddedとしてすべての主要デバイスプラットフォームに対するフレームワークおよびツールを提供する。
VCPフェデレーションサービスは、デバイスおよびユーザの数値識別情報を集約して、ユーザに最良の、接続および広範な体験をもたらす。たとえば、VCPは、ユーザの電話上でシナリオを開始し、次いで、その自動車の中の別のデバイス上でそのシナリオを終了することができる。
VCPユーザインターフェースマネージャは、ウェブブラウザAPIを備える任意のデバイス上でVCP Webオブジェクトをダウンロードし、記憶し、実行することができる。この点を考慮して、接続デバイス上のユーザインターフェースおよびアプリケーションのロジックは、クロスプラットフォームとすることが可能であり、「無線」で容易に更新可能であるものとしてよい。VCPユーザインターフェースマネージャは、また、特定のプラットフォーム、地域、または言語向けに異なるテンプレート/ロジックを適用することもできる。
・ 例示的な要素
VCPフェデレーションサービスは、サービス継続性の中心にある。
接続デバイスの種類が異なっていても(プラットフォーム、サイズ、ハードウェア、使用法、...)、シナリオはターゲットデバイスに最もよく適するように適合されるべきである。たとえば、デバイスは、マイクロフォンを有していない場合があり、これは音声ユーザインターフェースに準拠しないことになるが、物理的対話操作が使用されるべきである。
文化および地理的コンテキスト
・ 説明
XXXXXの国際化の程度が高いので、VPAは、文化的または地理的な観点でユーザに適応することができる。これは、ユーザに提供されるすべてのスクリプトおよびインターフェースの翻訳、ASR&TTSプロバイダの構成、およびもし必要ならばいくつかのシナリオの挙動の修正を暗示する。
・ 革新的特徴
完全なモジュール式アーキテクチャに基づき、音声および接続プラットフォームモジュールは、国際化設定に従って差し込むことができる。これは、地域に応じて異なるサービス配信または特徴を管理することを可能にする。
音声および接続プラットフォームは、地域配備またはユーザ設定に基づくことができるASR/TTSプロバイダリレーの完全な抽象化を実現する。これは、音声収集/再生とASR/TTSプロバイダとの間の関係の分離を受け持つ自動車または接続デバイスに対する音声認識および音声合成の統一されたエントリポイントをもたらすことができる。
VCPダイアログマネージャおよびVCPセマンティックツールは、機能実装に影響を及ぼすことなく新規言語に対する拡張を可能にする高レベルの抽象化を実現する。
・ 例示的な要素
○ APIを通じて翻訳をサポートする外部サードパーティデータプロバイダ
○ 選択された言語用のASR/TTSプロバイダ
○ VCPフェデレーションサービスに対するエンドユーザのソーシャル識別情報を定義する。たとえば、Twitterの代わりに中国のWeibo。
○ 使用事例およびVPA挙動をエンドユーザの文化および地域に適応させる
付録D:「直接およびワークアラウンドシナリオプロセス」
説明されているのは、一般的アプローチ、さらに、われわれがSiri、Google Now、Nuance、…のような他の製品または様々な実施形態による任意のタイプのパーソナルアシスタントに関してわれわれの製品のどこに付加価値があるかである。
凡例:
・ VCP=音声および接続プラットフォーム
・ ASR=自動音声認識
・ TTS=テキスト読み上げ
・ TUI=タッチユーザインタラクション
・ VUI=音声ユーザインタラクション
・ NLU=自然言語理解
VCPは、シンクロン(synchrone)およびアシンクロン(asynchrone)である。これは、各アクション、イベントが直接、またはユーザに対する要求の後長い時間が経ってから実行され得ることを意味する。私は長いタスクまたは長期間タスクについて毎月1日に私の売り上げ報告(アシンクロン)を私に送信するようにエージェントに求めることができる。私は、今日の天気を、および明日の天気を応えた直後に天気を尋ねることができる(直接的コンテキストにより)。
寿命の説明(図7参照)は、左下から始まって右上に行く。
寿命
ASRエンジン:
・ ASR(自動音声認識)の前に、われわれは、3通りの方法でASRをアクティブ化することができる。
○ ASRオートウェイクアップ語:アプリケーションを目覚めさせ、ASRを起動するためにキーワードを使用するために利用可能である(Angie、Sam、ADA、...など)
○ ASRプロアクティブアクティブ化:内部イベントまたは外部イベントに依存する
・ タイマ:タイマに基づき毎日オートウェイクアップする
・ 内部イベント:デバイスコンポーネント(GPS、アクセラレータ、...)またはアプリケーションの機能もしくはモジュールからの内部イベント
・ われわれは、あなたがあなたの自宅にいることを検出し、あなたの何かへのASR(コンテキストプロンプト付きでTTS)を開始することができる。
・ 私が私の自動車内にいるときに(私が電力およびOBDを検出したので)、私は音楽を起動し、ナビゲーションを開始するようあなたに提案することができる。
・ あなたのカレンダに新規約束が載っていたときに、エージェントは、自動的に開始し、あなたが次の会合に行くのにナビゲーションを望んでいるか(自動車が必要な場合)をあなたに尋ねることができる。
・ 外部イベント:われわれは、データベースまたはサードパーティAPIから外部イベントを検出し、ASR/TTSをアクティブ化する
・ あなたが目的地の近くに到着したときに、システムは、外部パーキングアベイラビリティAPIを見て、いつ自動車を駐車できるかをあなたに知らせることができる。
・ あなたが交通渋滞に巻き込まれたときに、システムは、自動車による方向変更を評価することができるが、目的地に行く仕方を変更する機会も評価し、自動車を駐車場に停めて、列車に乗ることを提案することもできる。
○ ASRプッシュボタン:仮想ボタン(画面)を単純にクリック(押す)ことで、または物理的ボタン(クレードルまたはホイールボタンから)からエージェントのアクティブ化を行うこと
・ ASRのアクティブ化(音声入力)
・ ASR-NLU前処理=アプリケーションのコンテキストに基づき、われわれは、センテンス(その信頼度とともに)取り出し、それを作り直してから自然言語理解エンジンに送信することができる。
○ われわれは、電話をかけるモジュールコンテキストに置かれていることを知っているので、われわれは、センテンス内の単語を取り出すか、または変更してからNLUエンジンに送信することができる。
○ フランス語で、ユーザが次のように言ったとき、
・ 「donne-moi l'information technologique」=>ASRはわれわれに「Benoit la formation technologique」を送信することができる(完全にユーザの注意から外れている)
・ われわれは、単語「Benoit」を「Donne-moi」に、「formation」を「information」に修正することができる
・ 前処理の後、センテンスは、NLUによって理解される機会を完全に拡張し、ユーザに対するアクションを形成する。
NLUエンジン:
・ 特定のモジュールを起動するためにユーザの意図を検出し、各検出は以下の次の章で説明されているようにアプリケーションのコンテキストにおいて動作する。
○ サンプル
・ Gregoryに電話をかける=電話モジュール
・ Basienにテキストを送信する=メッセージモジュール
○ キーワード=モジュール内を直接アクセスするためのキーワード
・ 電話=電話にアクセス権を与える
・ ナビゲーション=電話にアクセス権を与える
○ ショートカット=スキーマにリストされているような主アクションに対してのみ、アプリケーション内の任意の場所からユーザが言うことができるセンテンスである。
・ モジュール(意図)からのアクション(機能)の検出
○ サンプル
・ 電話をかける=Gregory Renardに電話をかけるアクション
・ このセンテンスは、モジュール、アクション、およびエンティティ(人=Gregory Renard)を検出することを可能にする
・ 既定のモジュールのリスト=われわれは、アプリケーションが何を行え、何を行えないかを正確に知っているので、われわれは、ユーザがアプリケーションが行えない何かを行おうとしていること、またはたぶんわれわれがASRから悪い結果を返されていることを検出することができる。この場合、われわれは、既定のモジュールをアクティブ化して、ユーザの意図のセンス(sens)を検出することができる(典型的には、SiriおよびGoogle Nowがユーザをウェブ検索にプッシュする場合)。
○ アプリケーションにおいて利用可能なモジュールのリストのユーザへの提案(限定することなく、われわれは、必要なアプリケーションのタイプからモジュールのリストを拡張することができる)
○ ユーザが再び何か間違ったことを言った場合、または音声認識が作動していない場合=システムは、センテンス音声認識から数認識に切り替えることを提案する。
・ ユーザはシステムが認識しない何かを言った場合、システムはこう言う=「what application do you want to launch」+アプリケーションのリストを開く
・ ユーザが再びシステムが認識しない何かを言った場合、システムはこう言う=「what's the number of the application you want」(われわれは、このワークフローを任意のタイプのリストにおいて連絡先、住所、アルバム、アーチスト、ニュースカテゴリ、メッセージとして使用する)
○ ユーザは選択を行う
・ システムは、モジュールに対する既定の項目リストを示し、モジュール内で利用可能な機能を提案する(音声および/またはビジュアルで)。ユーザは、この場合に、達成するガイダンスで選択を行うことができる
○ リストは、以下のものとすることができる。
・ フィルタ:Malvoisinに電話をかける=>Celineにフィルタリング=連絡先リストについてCeline Malvoisinのリストを表示する
・ 文字でフィルタリング:任意のリストに基づき、文字で次々にフィルタを作成することができる
・ ユーザは次のように言うことができる:
・ 文字M、文字A、文字L、...でフィルタリング(これは発音できない連絡先へのアクセスを可能にする)
・ 文字でフィルタリングにより項目のラベル内の単語のフィルタリングを行う。
・ 文字ナビゲーションでフィルタリング:任意のリストに基づき、ユーザは、「go to the letter V」と言うことができる
・ エージェントは、文字Vで始まるすべての連絡先を直接表示する
・ ナビゲート:ユーザは次のようにリストをナビゲートできる
・ 次/前=現在のリスト内の項目の次または前のリストを表示する
・ 開始=リスト内の先頭の項目を表示する
・ 終了=リスト内の末尾の項目を表示する
○ リストは、いつでも読み上げ可能である。
・ 項目リストの任意の画面内で、ユーザはリストを読み上げるよう求めることができる
・ リストは次のように読み上げられる
・ 各項目が読み上げられ、その後に番号が続き、ユーザが項目番号を記憶しやすいようにする
・ 各項目の内容は、前の項目の連絡先がわれわれがすでに知っている部分と一体にならない場合に読み上げられる
・ 電話番号リスト内にMalvoisinという5つの連絡先があるとする(Celineについて電話は3つの異なるタイプ、Lucについては1つ、Gregoireについては1つ)
・ ユーザは次のように言う:(われわれは、エージェントが話しているときに内容を繰り返さない)
・ Celine、Mobile USは番号1(Malvoisinはないが、それが私の要求であり、私は私が読んでいるときに私がMalvoisinの連絡先を望んでいることを知っているからである)
・ ホームは、番号2である
・ オフィスは、番号3である
・ Luc, Mobileは、番号4である
・ Gregoire、ホームは、番号5である
・ ユーザによる項目選択
○ 項目番号選択=ユーザが項目の前の番号から項目を選択することを可能にする(われわれは、1から5までの番号のみを扱っている)
○ 項目内容選択=ユーザが項目のラベル(たとえば、celine)から項目を選択することを可能にする
・ タプルの検出後=モジュール、機能、およびエンティティ(項目選択)
○ システムは、2タイプの機能で処理を実行することができる
・ 知識タイプ=ユーザに答えを与えるためにデータ知識(QA、カタログ、Wikipedia、...)にアクセスする
・ アクションタイプ=外部/内部APIを管理しアクセスする必要がある
・ 以下で説明されているNLU処理の結果に基づき、システムは2つのシンクロン要素を生成する:
○ TUI=タッチユーザインタラクション(任意のタイプのアプリケーションとしてのユーザに対する画面の設計)
○ VUI=音声ユーザインタラクション(ユーザへのより多くの情報または詳細を求める、または他の質問をすることができる音声フィードバック)
○ VUIおよびTUIは、完全にシンクロンであり、あなたは、タッチまたは音声によって機能ワークフローの次のステップに進むことができ、両方ともシンクロンである
・ あなたが画面をクリックして項目を選択する場合、あなたは、次のステップに進み、エージェントは、アプリケーションにおけるあなたのコンテキスト位置を知る。
・ このコンテキスト位置は、音声がビジュアルとシンクロン状態になることを可能にする
・ 現在のワークフローに基づき、エージェントは、ユーザの現在の意図を完全にするためにより多くの情報を必要とするかどうかを検出し、ASRの新たな起動でそれを求めることができる(センテンスフィードバックをTTSに送信した後)
○ ユーザ:今晩のテレビ番組は何がある?
○ システム:どのチャンネルですか(ユーザの意図がTV=モジュールおよび今晩=アクション「今晩のチャンネルプライムタイム」の一部によって検出されるので)>
・ システムは、アクションを完了するために変数が足りないことを理解し、その変数を求める。
○ ユーザ:チャンネル1で
○ システム:これがチャンネル1のプライムです.... blablabla
○ ユーザ:そしてチャンネル2(この場合、われわれは、コンテキストを使用して、何が現在の意図だったか、およびユーザからの最後のアクションを知る=TV/今晩のプライムショーを与える)
○ システム:これがチャンネル2のプライムです.... bliblibli
○ ....そしてシステムはこのコンテキストに制限なく継続することができ、われわれはこのワークフローを「直接的コンテキスト」と呼ぶ
・ 前のポイントに基づき(意図/コンテキストの管理)、われわれは、異なるタイプのコンテキストを使用することができる
○ 以下のポイントにおける説明を参照。
時間的コンテキストマトリックス依存関係
これらのタイプのコンテキストに入る前に、われわれは、xBrainSoftからVCPで作成されたコンテキストを定義する必要がある。
コンテキストは以下のとおりである(現在のコンテキストとして定義される)
・ 3D記憶マトリックスとして動作する:
○ 次元1:現在のモジュール(モジュール電話)
○ 次元2:現在のアクション(アクションは、モジュール電話で電話をかける)
○ 次元3:現在の画面(アクションのステップ、たとえば、モジュール電話における電話をかけるアクションに対する連絡先の選択)
・ あなたが記憶ケース(コンテキストフィールド)に記憶の項目の任意のレベルで拡張する能力のある最低でも3つの項目(オブジェクトタイプ、ID「Name」、および値)を有するタプルで任意のタイプの情報を保存することができる。
○ 任意の型の変数(int、string、Date、...)
○ 任意の型のシリアル化可能なオブジェクト(Car Type、User Type、...)
・ 履歴を使用する能力を有する=4D記憶マトリックス(コンテキストは、時間変数による進行中作業である)
○ 各時間ステータスは、短期および中期についてユーザセッションのために保存する
○ 各時間ステータスは、長期間ファイルまたはデータベースに保存することができる。
コンテキストは、ユーザの機能の現在のワークフローと関係があり、中期および長期について意図学習を形成する可能性をもたらす。
われわれは、次のように、コンテキストの2つのカテゴリを有することができる。
・ アプリケーションコンテキスト=短期、中期、または長期にわたって多くのユーザ(アプリケーションの全ユーザまたはアプリケーションのユーザの一部)によって共有される一般的コンテキスト
・ セッションコンテスト=固有のユーザのコンテキスト。
コンテキストのタイプ:
・ 直接的コンテキスト:説明については上記参照。
・ 間接的コンテキスト(時間的コンテキスト)=ユーザとエージェントとの間の質問/回答の後(直接的コンテキストがある場合またはない場合)、ユーザは、他のモジュール/機能に進むことができ、そこで、ユーザは、直接的コンテキストを再び使用することができる。しかし、このポイントの後、ユーザは、前の直接的コンテキストモジュールにアクセスして、以下で説明されているようにシステムとのダイアログを継続することができる:
○ ユーザ:What's the weather =>エージェントはパロアルトの天候を私に答えた(私のデバイスのGPS情報を検出して私の位置を見つけてパロアルトの天気を示した)
○ ユーザ:and in San Francisco =>エージェントは、私の最後の直接的コンテキストを見つけて、SFの天気を示した
○ ユーザ:what time is it there =>エージェントは、私が意図モジュールを変更したがっていることを理解し、前のコンテキストからSFでの時間(時)のクエリを完成させるために必要な変数を見つけて戻す
○ ユーザ:and what's the weather tomorrow =>エージェントは、私が天気モジュールに戻りたがっていることを検出し(新しい意図)、最後の天気クエリの中に場所を見つけ、SFにおける明日の天気を示す
○ //間接的コンテキストは、その期間、ファイルまたはデータベースとして長期記憶域に保存し続けることができる。モジュール内のアクションに切断がある場合、間接的コンテキストとなる直接的コンテキストについて同じである。
・ 意図学習(IL)=上記の説明に基づき、われわれは、モジュール/アクション/画面/ワークフローの各タプルを加重して意図学習を形成する方法を容易に想像することができる。
○ ILとは何か=ユーザの履歴クエリ、実行されるワークフロー、および得られる結果に基づきユーザのクエリのセンスを理解するシステムの能力(パーソナルアシスタントのインテリジェントマクロのようなもの)。
○ サンプル1(単純)=
・ 時刻1
・ ユーザ:Louisに電話をかけてくれますか?
・ システム:私の手元には、あなたの連絡先リストに載っているLouisが多数あります、どれがお望みですか?(私の手元には3つのLouisがある)
・ ユーザ:Monier(=姓)
・ システム:了解しました、私は、Louis Monierに電話をかけます
・ 時刻2
・ ユーザ:Louisに電話して!
・ システム:私は、Louis Monierに電話をかけますが、それで正しいですか?
・ ユーザ:はい ... システムはLouis Monierに電話をかける。
・ ユーザ:いいえ ... 了解しました、私の手元には、あなたの連絡先リストに載っているLouisがいくつかあります ...(システムは、私に時刻1の第2のステップと同じリストを示す)
・ 時刻3
・ ユーザ:今すぐLouisに電話して!
・ システム:私は、Louis Monierに電話をかけます。(システムが電話をかける)
○ サンプル2(より複雑)=
・ 時刻1
・ ユーザ:メッセージをLouisに送信して
・ システム=あなたがメッセージを送信したい連絡先は誰ですか
・ ユーザ:Louis Monier(またはLouis + filter Monier、Or Monier + Filter Louis)
・ システム=了解しました、あなたはテキストまたはメールを送信したいのですね?
・ ユーザ=テキストを
・ システム=わかりました、どのようなタイプの内容を送信したいですか(私は、フリーテキスト、音声テキストのテンプレートテキストについて選択できます)
・ ユーザ=フリーテキストを
・ システム=送信するあなたのメッセージをおっしゃってください
・ ユーザはメッセージを言う
・ システムは、メッセージの内容、内容の確認、および送信する妥当性確認を求める
・ ユーザは、yesと言うか、または連絡先、メッセージを変更し、より多くの内容メッセージを追加するか、またはキャンセルすることができる。
・ 時刻2
・ ユーザ:メッセージをLouisに送信して
・ システム=送信するあなたのメッセージをおっしゃってください
・ ユーザはメッセージを言う
・ システムは、メッセージの内容、内容の確認、および送信する妥当性確認を求める
・ ユーザは、yesと言うか、または連絡先、メッセージを変更し、より多くの内容メッセージを追加するか、またはキャンセルすることができる。
○ サンプル3(より複雑)
・ 時間N
・ ユーザ=毎週水曜日に、ユーザは午後6時に退社するときに、妻に電話してから、家路に就く(子供たちがスポーツしにいける準備ができているか尋ねる)
・ そのために、ユーザは、上の#1のようなサンプルを使用して妻に電話をかける必要がある。
・ システムは、多数の情報源を使用している= BTデータ、OBDデータ(またはなし)、時刻(午後6時)、所在(家にいない)、履歴意図(アジェンダリマインダー+ジオフェンシング)
・ システム=ユーザが自分の自動車に辿りついたときに(自動車BT接続またはOBDコネクタによって検出される)、x分後(自動車に乗り込む平均時間)
・ システムはユーザに自動的に戻り、次のように言う:
・ システム:「Greg、私が家までのナビゲーションを開始し、おくさんに電話をかけてもよいですか?」
・ ユーザ:はい=>Celine Malvoisinに電話をかけるアクションが開始する
・ ユーザ:いいえ=>エージェントは何もせず、意図学習項目のダウングレードを通知する。
一実施形態において、ILは、ユーザとのASR対話を制限し、エージェントが実行する必要のあるアクションで達成する時間を最適化するために作成された。ILは、現在のコンテキストに基づき一般ワークフロー実行を記憶し、自分で見つけられないパラメータを求める。
私は、次週私が配備するものとして、システムのILの他の多数のサンプルを持っている...私はフランス人の男であり、英語のASRシステムは私の声を(フランス語なまりに関して)認識せず、この場合私はシステムを使って英語のテキストをあなたに送信することを望んでおり、私はサンプル2を使用することができ、テキストをあなたに送信する直前に、私はテキストを英語に翻訳することを求めることができ(私は望まれた場合にあなた向けのデモを持っている)、システムは私のフランス語センテンスを英語に翻訳し、それをあなたに送信する。それと同時に、システムはあなたが英語を話していることを理解し、あなたからのメッセージに対して英語のTTSを使用する(既定で)(妥当性確認の前にあなたは英語でテキストを私に送る)。//われわれがこれほど簡単に複雑なタスクをハックできるのはおかしい、p=音声によるリアルタイムテキスト翻訳
別の興味深いポイントは、われわれがコンテキストまたは意図を切断してワークフローのアプリケーションにおける任意の場所から任意のキーワードまたはショートカットセンテンスに優先度を与えることができる点である。
付録E:コンテキスト
コンテキスト:既存のパーソナルアシスタントの現状
今日、パーソナルアシスタントは、第1のレベルのコンテキストを持っており、主にユーザのセンテンスの理解を助け、単語をよく認識しようと試みる。次のサンプルでは、それらがどのように働いているかを説明するものである。
・ 私はRenaudに電話をかけたい=>姓
・ 私はRenaultでドライブ中である=>ブランドカー
ここに関係と、システムが解釈してユーザに送り返す必要があるのは[Renaud,Renault]のどちらであるかを定義するコンテキスト定義がある。コンテキストは、また、天気は...および明日のような特定の場合でも使用される(コンテキスト変数としてのローカライゼーション、ただし、単純なローカライゼーション変数が2つのステップの間で共有される単なるプロセスにすぎない)。
問題点
パーソナルアシスタントの主な問題点は、ユーザとエージェントとの間の真のダイアログ交換を形成することである。
この態様を理解するために、われわれは、「真のダイアログ」となる資格を理解する必要がある。
・ 人間のディスカッション(質問応答ではなく)としての継続ダイアログ管理
○ Yahooに関する情報を求める能力...誰が創設者であるか、株価およびニュースは何か(エージェントは話題を覚えておく)
・ コンテキストダイアログ情報メモリ:簡単に、中期と長期
○ ディスカッションのフローにおける情報を覚えておく能力
・ プロセスワークフローメモリのコンテキストステータス:簡単に、中期と長期
○ あなたがプロセスまたはディスカッションフローの中のどこにいたか(ステップ)(アクションを引き起こすか、引き起こさないか)を覚えておき、将来どのような時点においてもプロセスまたはワークフローを継続することができるようにする能力。
その上に、われわれは、ユーザとやり取りするためにエージェントによって使用される言語の進化を生み出すことを必要としている。それ以上に、われわれは、エージェントからの共感の認知を与えることを必要としている。
xBrainSoftによる一般コンテキスト管理
コンテキストは、われわれのラストコールの間に説明しているように、4つのコンポーネントで構築される:
1.コンテキストクライアントサイドホルダ(CCSH)
この第1のコンポーネントは、クライアントの記憶、使用、およびクライアントサイド(ロボット、スマートフォン、車両、家、...)からのコンテキストフローの定義(値)がサーバサイドと共有することを可能にする。CCSHは、APIを使用するFxであり、クライアントサイドからコンテキストフローの値を作成し、使用し、定義し、以下のようにCSPを通じて送信する。
2.コンテキスト同期プロトコル(CSP)
この第2のコンポーネントは、現在のコンテキストのステータスまたはサブステータスの各プロパティ(変数)についてキーアクセス(コンテキストID)のプロトコル(標準化)を定義し、キーアクセスのフォーマットおよび存在の妥当性確認を行う。これらは、単純なテキスト変数(名前/値)またはインスタンスを有する特定のオブジェクトであってよい。CSPのゴールは、エージェントの各側(クライアントサイド/サーバサイド)上の2フレームワーク実装による通信プロトコルおよびその構築であり、クライアントとサーバとの間の正しいプロトコル通信の妥当性確認を行い、コンテキスト情報が適切に配信され同期されていることを確実にする役目を負っている。
3.コンテキストエージェント-サーバサイドホルダ(CA)
この第3のコンポーネントは、サーバの記憶、使用、およびサーバサイド(オンラインサーバ)からのコンテキストワークフローの定義(値)がCSPを通じてクライアントサイドと共有することを可能にする。CAは、APIを使用するFxであり、サーバサイドからコンテキストワークフローの値を作成し、使用し、定義し、上記のようにCSPを通じて送信する。
4.コンテキストエンジン
この最後のコンポーネントは、変数共有レベルならびに中期および長期セッションをデータ記憶域に置くことを可能にする(任意のサポートで)。
短期記憶は、クライアントサイドとサーバサイドとの間で共有される現在のセッションによって管理される。
これは、コンテキストタイプの話題のタイプまたは分類を定義することができる(変数は単純変数またはシリアル化されたオブジェクト+値であってよい)。
1.現在のユーザプロファイル=ユーザプロファイルに関する情報(Facebookプロファイル、アプリプロファイル、...)
2.現在のモジュール=モジュールに関する情報(電話、メッセージ、ナビゲーション、ニュース、...)
3.現在の機能=機能に関する情報(電話をかける、電話を受ける、テキストを送信する、ニュースを読む、ニュースをシェアする、...)
1.Louis Monierに電話するに対するLouisに電話するは、Louis=Louis Monierを学習した中期/長期コンテキストエンジンからロードされ得る。
4.現在の画面=ユーザに現在示している画面に関する情報。
5.カスタムデータ=望むいかなる局面でも開発者がコンテキストを使えるようにするAPI(新しいコンテキストの形)
6.ワークフロー履歴=表示されるまたは表示する画面、特定のステップにおける変数値、ワークフローステータス、...に関する情報を持つユーザのワークフロー内の位置に関する情報
1.私はFacebookに関するニュースをシェアすることを求め、私が「Continue」と言った後に、エージェントは現在のカテゴリに対するニュースのリスト内の次のニュースに進む。エージェントは、コンテキストから、現在のカテゴリ、それが...であったという箇所を読んでいたニュースのステップ(the step in the news reading where it was…)を知り、ユーザの必要とするものを正しい意図で私に送信することができる。
プロセス
1.音声および接続プラットフォームは、同期および非同期モードで動作しており、われわれは、いつでも、クライアントサイドとサーバサイドとの間のコンテキストの完全な同期の妥当性を確認する必要がある。
2.各モジュール、機能、画面、アプリケーション、セッション、またはステータスなどは、固有のID(コンテキストID)で識別され、クライアントとサーバとの間で共有される必要がある。
3.コンテキストID(情報記憶メモリ)およびその値は、エージェントの各側(クライアントサイド/サーバサイド)に記憶され、各対話で両サイドの間で同期する。
4.コンテキストIDは以下を可能にする:
1.変数(単純変数またはオブジェクト)の値に基づきフィルタおよびコンテキストアクションを作成する:もし...ならば....
2.中期または長期記憶域内で、短期メモリにロードする必要がある情報を見つける(またはグローバルユーザ挙動/アプリケーションレベルからの機械学習、要求された値に対する確率によって)
3.われわれがワークフロー内にいる場合のステップ、前のステップを知る(またはグローバルユーザ挙動からの機械学習、次のステップに対する確率によって)
4....それ以上に、われわれはこの革新から発見を行っている。
どのように動作するか(寿命)
・ ASRの後、およびNLUプロセスの直前に、デバイスは、デバイスからの現在のコンテキストIDを持つ隠された部分をセンテンスメッセージとともに送信している。
・ エージェントは、自然言語理解を実行する前にキーアクセス(コンテキストID)を見ている。
○ エージェントはコンテンツを見ており、現在のコンテキストに対するアクションおよび理解のグローバル言語辞書をフィルタリングする。
・ エージェントはコンテキスト理解においてNLUプロセスを起動する
○ アクションは起動される(APIアクセスまたはナレッジアクセス)
○ エージェントはユーザのクエリの意味を解釈する...(前のメール参照)
・ デバイス(または任意の種類のエンドポイント)に回答を与える前に、
○エージェントは、隠されている部分内の回答メッセージを通じて新しいコンテキスト(モジュール/機能/画面)を送信する(HTMLページのヘッダのように)
○ 新しいコンテキストは、多くの変数から定義され得る:
・ エンドポイントユニット内の現在の画面
・ 現在のモジュール、機能
・ ユーザのセンテンス、ダイアログ、および選択ワークフロー。
・ エージェントは、回答をマージして(音声、画面、情報とともにパッケージして)、デバイス(エンドポイント)に送信し、ユーザに対してレンダリングする
・ クライアントサイドは、パッケージを実行し、現在のコンテキストを記憶する。
○ コンテキストは、画面、機能、またはモジュール...から強制され得る。ホーム画面の場合に、われわれは、コンテキストのリセットを強制し、ユーザをエージェントとのまっさらな対話からスタートさせる。
サーバとクライアント(エンドポイント)との間にコンテキストの食い違いがある場合、クライアント(エンドポイント:デバイス、車両、家)は、ユーザ(実際のマスター)のアクションを表しているのでマスターである。
使用例:
・ ユーザが次のように言うときに選択するLouisをコンテキスト化する:私はLouisに電話をかけたい(履歴通話挙動に基づく)=>Louis Monierに電話をかける
・ 次のように実行するプロセスをコンテキスト化する:メッセージをLouisに送信する
○ システムは次のことを知る:メッセージ=電子メール、Louis=Louis Monier
○ 音声ショートカット...を許可し、Louis Monierに電子メールを送信するためにワークフロー内の2つのステップをカットする。
・ 次のように実行する次のステップをコンテキスト化する:多くのセッションにおいて、私はニュースの順序を要求する=エコ、政治、およびスポーツ。次回私がエコを求めるときに、エージェントはあなたに、政治およびスポーツのニュースを読み上げるよう提案する。
・ アプリケーションのグローバル予測ワークフローに基づき次のステップをコンテキスト化する。
・ 要求されたアクションをコンテキスト化し、それが現在のコンテキストのターゲットになっていないことを理解し、それを前のアクションに使用することができる。
○ 私はニュースのリストを読んでいる、私は天候を尋ねている、私は「続けて」と言う、エージェントは次のニュースに進んでいる。
・ 特定の単語を「音楽」とコンテキスト化し...電話で音楽ニュースまたは音楽であってよいニュースのコンテキストを尋ねるか?
○ 音楽コンテキストから、これは明らかにデバイスの音楽トラックにアクセスするものである
○ ニュースコンテキストでは、これはニュースの音楽再生に対するものであってよく、エージェントは理解して、ユーザに戻りより正確であるよう求める。
○ ユーザが、ニュースコンテキストにおいて音楽を再生して、と言った場合、エージェントは、ユーザがニュースを読みたくないと理解する。
・ われわれは、現在のコンテキストをしているので、われわれは、入力音声認識をコンテキスト化することができ、センテンス内の単語を変更してからセンテンスの意味を理解することを試み...または反対に、特定のコンテキストにおいて利用可能な語彙を拡張してアクションを開始する。
○ 第2の効果は、われわれが、アクションの妥当性確認を行う多数のパターンを作成する必要はないことである(たとえば、音楽という言葉は、音楽を再生するアクションを起動するためにルート画面のコンテキストにおいて短いまたは長いセンテンス内のキャッチであり得る)。
○ 第3の効果は、翻訳に対するものであるが、それはあなたが各コンテキストモジュール/機能/画面についてユーザの意図するアクションをキャッチするためのキーワードを制限することができるからである。
・ TVのコンテキストで再生することは、ゲームをするか、またはTV番組を見ることである
・ スポーツのコンテキストで再生することは、新しいゲームをすることである
・ ディスコのコンテキストで再生することは、音楽を再生することである
・ ...1単語、コンテキストに応じて多くの意図...任意の言語に翻訳することが容易
○ 第4の効果は、辞書が非常に限られている可能性があるのでエージェントのサポートである。
・ ニュースキャスターの場合、われわれは、「News」(+同義語)とニューストピックエンティティとをキャッチする。
・ タスク優先度のパイプラインの作成
○ 私は、現在、連絡先に対するメッセージを作成している(一般的に、私はアクションの終わりに進みたい)
○ 私は、このときに、連絡先からテキストを受信し、システムは、現在のコンテキストを見て、ユーザがいつメッセージの作成処理に入っているかを知り、現在のアクションを中断する必要がない
○ エージェントは、メッセージのパイプラインを作成し、メッセージ作成コンテキストの終わりに、私に、メッセージを読むことを提案する(コンテキストが変化しているとき)
・ コンテキストに応じたメッセージの翻訳
○ 私は、Markへのメッセージを作成し(彼はENを話し、私はFrでメッセージを作成する)、システムは、妥当性確認する必要のあるメッセージのコンテキストに基づき、翻訳するために送信前に受信者の言語を知っているかどうかを知る。
コンテキストワークフローは、ユーザセッションの終わりの始まりからのプロセスワークフローにおけるコンテキストマトリックス(モジュール、機能、画面)のステータスである。われわれは、コンピュータが意図学習からの集団知能(数値的直観生成(Numeric Intuition Generation))から直観を形成することを可能にするシステムを作成した。
前記の内容について少しだけ注意を述べる。
・ 説明されているように、われわれは、同期および非同期モードでの作業を行っている。
○ この2つの経路は、非同期モードに対してプロアクティビティなどを可能にするために使用される。
○ 2つのサイドが、両方のステータスがダイアログに対する各サイドのどこにあるかを知ることを可能にする。
・ 寿命のためのアドオン:
○ 第1のポイントについて:また、ASRからではなく、アプリケーションナビゲーション(触覚的対話)において送信することもできる。
○ 第5のポイントについて:パッケージは、すべてのまたは部分的な内容と一緒に送信できる
・ われわれは、音声統合なしですべての要素を送ってもよく、この場合、エージェントは、レンダリング全体およびコンテキストの作成/編集を管理する。
100 システム
102 ネットワーク
103 モバイルネットワーク
104a…104n 信号線
106 クライアントデバイス
106a…106n クライアントデバイス
108 信号線
109 クライアントサイドの音声および接続エンジン
109a、109n クライアントサイドの音声および接続エンジン
110 自動音声認識(ASR)サーバ
110a…110n 線
111 自動音声認識エンジン
111a、111n、111x 自動音声認識エンジン
112 ユーザ
112a…112n ユーザ
114 信号線
116 テキスト読み上げ(TTS)サーバ
119 テキスト読み上げエンジン
119a、119n テキスト読み上げエンジン
120 信号線
122 音声および接続サーバ
124 サーバサイド
124 サーバサイドの音声および接続エンジン
200 コンピューティングデバイス
202 プロセッサ
204 メモリ
206 通信バス
208 通信ユニット
241 記憶装置デバイス
322 自動音声認識(ASR)エンジン
324 クライアントサイドコンテキストホルダ
326 自然言語理解エンジン
328 ワークアラウンドエンジン
330 接続エンジン
420 コンテキストエージェント
422 コンテキストエージェント
424 コンテキストエンジン
426 フェデレーションエンジン
810a/812a/814a コンテキスト
820a、822a、824a、および826a 画面
830a ホーム画面

Claims (18)

  1. イベントを検出するステップと、
    前記イベントを検出することに応じて、第1のユーザデバイス上でユーザとの音声アシスタントのダイアログをプロアクティブに開始するステップと、
    前記ユーザとのダイアログを開始することに応じて、前記第1のユーザデバイスで、第1のアクションを要求する前記ダイアログに関連する第1の音声入力を前記ユーザから受信するステップと、
    前記第1の音声入力上で自動音声認識を実行するステップと、
    前記第1のユーザデバイスで、前記ユーザの第1のコンテキストを決定するステップと、
    ユーザの意図を述べている第1のタプルを決定するステップであって、前記第1のタプルは前記第1のアクションおよび前記第1のアクションに関連するアクターを含み、前記第1のタプルは前記第1の音声入力の自動音声認識に基づき自然言語理解を実行することによって決定される、ステップと、
    前記第1のタプルに基づき前記第1のユーザデバイス上で前記第1のアクションを開始するステップと
    前記第1のアクションを開始した後に、前記第1のアクションに無関係の第2のアクションを要求する第2の音声入力を前記ユーザから受信するステップと、
    前記第2のアクションを開始するステップと、
    前記第2のアクションを開始した後に、前記第1のユーザデバイスとは異なる第2のユーザデバイスで、前記ダイアログを継続しかつ前記第1のアクションに関係する第3のアクションを要求する第3の音声入力を前記ユーザから受信するステップであって、前記第3の音声入力には第3のタプルを完成させるための情報が欠落していて、前記第3のタプルは前記第3のアクションを開始するためのものである、ステップと、
    前記第1のコンテキストを使用して欠落情報を取得して、前記第3のアクションに関連する第3のタプルを完成させるステップと、
    前記第3のタプルに基づき前記第2のユーザデバイス上で前記第3のアクションを開始するステップと
    を含むコンピュータによって実行される方法。
  2. 前記イベントは、内部イベントである請求項1に記載のコンピュータによって実行される方法。
  3. ユーザ入力なしで前記音声アシスタントを開始するステップと、前記音声アシスタントの開始後に前記ユーザから前記第1の音声入力を受信するステップとを含む請求項1に記載のコンピュータによって実行される方法。
  4. 前記第1のコンテキストは、コンテキスト履歴、ダイアログ履歴、ユーザプロファイル、ユーザ履歴、ロケーション、および現在のコンテキストドメインのうちの1つまたは複数を含む請求項1に記載のコンピュータによって実行される方法。
  5. 前記欠落情報は、前記第3のアクション、前記第3のアクションに関連するアクター、および前記第3のアクションに関連するエンティティのうちの1つまたは複数である請求項1に記載のコンピュータによって実行される方法。
  6. 前記第1のコンテキストおよび前記第1の音声入力には前記第1のアクションを開始するために使用される第1の情報が欠落している、と決定するステップと、
    どのような情報が欠落している第1の情報であるかを決定するステップと、
    前記欠落している第1の情報を供給する音声入力を行うよう前記ユーザに促すステップとを含む請求項1に記載のコンピュータによって実行される方法。
  7. 前記第1のアクションを開始するために使用される第1の情報が、前記第1の音声入力から取得できないと決定するステップと、
    どのような情報が欠落している第1の情報であるかを決定するステップと、
    前記第1の音声入力から取得できない前記欠落している第1の情報を供給する音声入力を行うよう前記ユーザに促すステップとをさらに含む請求項1に記載のコンピュータによって実行される方法。
  8. 前記第1のアクションを開始するために使用される第1の情報が、前記第1の音声入力から取得できないと決定するステップと、
    どのような情報が前記欠落している第1の情報であるかを決定するステップと、
    前記ユーザが選択できるように、複数のオプションを提供するステップであって、オプションは前記第1のアクションを完了するための潜在的情報を供給する、ステップと、
    前記複数のオプションから第1のオプションを選択する音声入力を受信するステップとをさらに含む請求項1に記載のコンピュータによって実行される方法。
  9. 前記第1のアクションに無関係の第2のアクションは第2のコンテキストに関連していて、前記第1のアクションおよび第3のアクションは前記第1のコンテキストに関連している請求項1に記載のコンピュータによって実行される方法。
  10. 1つまたは複数のプロセッサと、
    命令を記憶するメモリとを備えるシステムであって、前記命令は、
    前記1つまたは複数のプロセッサによって実行されたときに、前記システムに
    イベントを検出するステップと、
    前記イベントを検出することに応じて、第1のユーザデバイス上でユーザとの音声アシスタントのダイアログをプロアクティブに開始するステップと、
    前記ユーザとのダイアログを開始することに応じて、前記第1のユーザデバイスで、第1のアクションを要求する前記ダイアログに関連する第1の音声入力を前記ユーザから受信するステップと、
    前記第1の音声入力上で自動音声認識を実行するステップと、
    前記第1のユーザデバイスで、前記ユーザの第1のコンテキストを決定するステップと、
    ユーザの意図を述べている第1のタプルを決定するステップであって、前記第1のタプルは前記第1のアクションおよび前記第1のアクションに関連するアクターを含み、前記第1のタプルは前記第1の音声入力の自動音声認識に基づき自然言語理解を実行することによって決定される、ステップと、
    前記第1のタプルに基づき前記第1のユーザデバイス上で前記第1のアクションを開始するステップと
    前記第1のアクションを開始した後に、前記第1のアクションに無関係の第2のアクションを要求する第2の音声入力を前記ユーザから受信するステップと、
    前記第2のアクションを開始するステップと、
    前記第2のアクションを開始した後に、前記第1のユーザデバイスとは異なる第2のユーザデバイスで、前記ダイアログを継続しかつ前記第1のアクションに関係する第3のアクションを要求する第3の音声入力を前記ユーザから受信するステップであって、前記第3の音声入力には第3のタプルを完成させるための情報が欠落していて、前記第3のタプルは前記第3のアクションを開始するためのものである、ステップと、
    前記第1のコンテキストを使用して欠落情報を取得して、前記第3のアクションに関連する第3のタプルを完成させるステップと、
    前記第3のタプルに基づき前記第2のユーザデバイス上で前記第3のアクションを開始するステップと
    を含むステップを実行させる、システム。
  11. 前記イベントは、内部イベントである請求項10に記載のシステム。
  12. 前記1つまたは複数のプロセッサによって実行されたときに、前記システムに
    ユーザ入力なしで前記音声アシスタントを開始するステップと、前記音声アシスタントの開始後に前記ユーザから前記第1の音声入力を受信するステップとを実行させる命令を備える請求項10に記載のシステム。
  13. 前記第1のコンテキストは、コンテキスト履歴、ダイアログ履歴、ユーザプロファイル、ユーザ履歴、ロケーション、および現在のコンテキストドメインのうちの1つまたは複数を含む請求項10に記載のシステム。
  14. 前記欠落情報は、前記第3のアクション、前記第3のアクションに関連するアクター、および前記第3のアクションに関連するエンティティのうちの1つまたは複数である請求項10に記載のシステム。
  15. 前記1つまたは複数のプロセッサによって実行されたときに、前記システムに
    前記第1のコンテキストおよび前記第1の音声入力には前記第1のアクションを開始するために使用される第1の情報が欠落している、と決定するステップと、
    どのような情報が欠落している第1の情報であるかを決定するステップと、
    前記欠落している第1の情報を供給する音声入力を行うよう前記ユーザに促すステップとを実行させる命令を備える請求項10に記載のシステム。
  16. 前記1つまたは複数のプロセッサによって実行されたときに、前記システムに
    前記第1のアクションを開始するために使用される第1の情報が、前記第1の音声入力から取得できないと決定するステップと、
    どのような情報が欠落している第1の情報であるかを決定するステップと、
    前記第1の音声入力から取得できない前記欠落している第1の情報を供給する音声入力を行うよう前記ユーザに促すステップとを実行させる命令を備える請求項10に記載のシステム。
  17. 前記1つまたは複数のプロセッサによって実行されたときに、前記システムに
    前記第1のアクションを開始するために使用される第1の情報が、前記第1の音声入力から取得できないと決定するステップと、
    どのような情報が前記欠落している第1の情報であるかを決定するステップと、
    前記ユーザが選択できるように、複数のオプションを提供するステップであって、オプションは前記第1のアクションを完了するための潜在的情報を供給する、ステップと、
    前記複数のオプションから第1のオプションを選択する音声入力を受信するステップとを実行させる命令を備える請求項10に記載のシステム。
  18. 前記第1のアクションに無関係の第2のアクションは第2のコンテキストに関連していて、前記第1のアクションおよび第3のアクションは前記第1のコンテキストに関連している請求項10に記載のシステム。
JP2017538155A 2014-10-01 2015-09-30 音声および接続プラットフォーム Expired - Fee Related JP6671379B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462058508P 2014-10-01 2014-10-01
US62/058,508 2014-10-01
PCT/US2015/053251 WO2016054230A1 (en) 2014-10-01 2015-09-30 Voice and connection platform

Publications (2)

Publication Number Publication Date
JP2017535823A JP2017535823A (ja) 2017-11-30
JP6671379B2 true JP6671379B2 (ja) 2020-03-25

Family

ID=55631440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017538155A Expired - Fee Related JP6671379B2 (ja) 2014-10-01 2015-09-30 音声および接続プラットフォーム

Country Status (7)

Country Link
US (2) US10235996B2 (ja)
EP (1) EP3201913A4 (ja)
JP (1) JP6671379B2 (ja)
KR (1) KR102342623B1 (ja)
CN (1) CN107004410B (ja)
CA (1) CA2962636A1 (ja)
WO (1) WO2016054230A1 (ja)

Families Citing this family (302)

* 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
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
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US10630751B2 (en) 2016-12-30 2020-04-21 Google Llc Sequence dependent data message consolidation in a voice activated computer network environment
US10956485B2 (en) 2011-08-31 2021-03-23 Google Llc Retargeting in a search environment
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
KR20150104615A (ko) 2013-02-07 2015-09-15 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
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
EP3008641A1 (en) 2013-06-09 2016-04-20 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
CN105453026A (zh) 2013-08-06 2016-03-30 苹果公司 基于来自远程设备的活动自动激活智能响应
US10614153B2 (en) 2013-09-30 2020-04-07 Google Llc Resource size-based content item selection
US10431209B2 (en) * 2016-12-30 2019-10-01 Google Llc Feedback controller for data transmissions
US9703757B2 (en) 2013-09-30 2017-07-11 Google Inc. Automatically determining a size for a content item for a web page
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
TWI566107B (zh) 2014-05-30 2017-01-11 蘋果公司 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置
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
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
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
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
CN106572418A (zh) * 2015-10-09 2017-04-19 芋头科技(杭州)有限公司 一种语音助手的扩展设备及其工作方法
US10083685B2 (en) * 2015-10-13 2018-09-25 GM Global Technology Operations LLC Dynamically adding or removing functionality to speech recognition systems
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
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10354653B1 (en) * 2016-01-19 2019-07-16 United Services Automobile Association (Usaa) Cooperative delegation for digital assistants
KR102642666B1 (ko) * 2016-02-05 2024-03-05 삼성전자주식회사 음성인식 장치 및 방법, 음성인식시스템
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US9947316B2 (en) 2016-02-22 2018-04-17 Sonos, Inc. Voice control of a media playback system
US9772817B2 (en) 2016-02-22 2017-09-26 Sonos, Inc. Room-corrected voice detection
US9811314B2 (en) 2016-02-22 2017-11-07 Sonos, Inc. Metadata exchange involving a networked playback system and a networked microphone system
US10264030B2 (en) 2016-02-22 2019-04-16 Sonos, Inc. Networked microphone device control
US9965247B2 (en) 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
EP3455719A1 (en) 2016-05-10 2019-03-20 Google LLC Implementations for voice assistant on devices
CN108604180A (zh) 2016-05-13 2018-09-28 谷歌有限责任公司 用于语音用户界面的视觉效果的led设计语言
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10462619B2 (en) * 2016-06-08 2019-10-29 Google Llc Providing a personal assistant module with a selectively-traversable state machine
US9978390B2 (en) 2016-06-09 2018-05-22 Sonos, Inc. Dynamic player selection for audio signal processing
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
US10339934B2 (en) 2016-06-27 2019-07-02 Google Llc Asynchronous processing of user requests
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
US10152969B2 (en) 2016-07-15 2018-12-11 Sonos, Inc. Voice detection by multiple devices
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US10685656B2 (en) 2016-08-31 2020-06-16 Bose Corporation Accessing multiple virtual personal assistants (VPA) from a single device
US10453449B2 (en) 2016-09-01 2019-10-22 Amazon Technologies, Inc. Indicator for voice-based communications
US10074369B2 (en) 2016-09-01 2018-09-11 Amazon Technologies, Inc. Voice-based communications
US10580404B2 (en) 2016-09-01 2020-03-03 Amazon Technologies, Inc. Indicator for voice-based communications
EP3507796A1 (en) * 2016-09-01 2019-07-10 Amazon Technologies Inc. Voice-based communications
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US9942678B1 (en) 2016-09-27 2018-04-10 Sonos, Inc. Audio playback settings for voice interaction
JP2018054790A (ja) * 2016-09-28 2018-04-05 トヨタ自動車株式会社 音声対話システムおよび音声対話方法
US9743204B1 (en) 2016-09-30 2017-08-22 Sonos, Inc. Multi-orientation playback device microphones
US10810571B2 (en) 2016-10-13 2020-10-20 Paypal, Inc. Location-based device and authentication system
US10181323B2 (en) 2016-10-19 2019-01-15 Sonos, Inc. Arbitration-based voice recognition
US10565989B1 (en) * 2016-12-16 2020-02-18 Amazon Technogies Inc. Ingesting device specific content
WO2018117608A1 (ko) * 2016-12-20 2018-06-28 삼성전자 주식회사 전자 장치, 그의 사용자 발화 의도 판단 방법 및 비일시적 컴퓨터 판독가능 기록매체
KR102502220B1 (ko) 2016-12-20 2023-02-22 삼성전자주식회사 전자 장치, 그의 사용자 발화 의도 판단 방법 및 비일시적 컴퓨터 판독가능 기록매체
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US11164570B2 (en) * 2017-01-17 2021-11-02 Ford Global Technologies, Llc Voice assistant tracking and activation
CN108235810B (zh) * 2017-01-22 2020-11-17 华为技术有限公司 智能处理应用事件的方法、装置与计算机可读存储介质
US10365932B2 (en) 2017-01-23 2019-07-30 Essential Products, Inc. Dynamic application customization for automated environments
US9747083B1 (en) 2017-01-23 2017-08-29 Essential Products, Inc. Home device application programming interface
CN107800896B (zh) * 2017-02-20 2020-01-17 平安科技(深圳)有限公司 电话业务交互方法和装置
US10332505B2 (en) 2017-03-09 2019-06-25 Capital One Services, Llc Systems and methods for providing automated natural language dialogue with customers
EP4125029A1 (en) 2017-03-23 2023-02-01 Samsung Electronics Co., Ltd. Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
KR102369309B1 (ko) * 2017-03-24 2022-03-03 삼성전자주식회사 파셜 랜딩 후 사용자 입력에 따른 동작을 수행하는 전자 장치
US11183181B2 (en) 2017-03-27 2021-11-23 Sonos, Inc. Systems and methods of multiple voice services
US10643609B1 (en) * 2017-03-29 2020-05-05 Amazon Technologies, Inc. Selecting speech inputs
US10529327B1 (en) * 2017-03-29 2020-01-07 Parallels International Gmbh System and method for enabling voice recognition for operating system
CN109417504A (zh) * 2017-04-07 2019-03-01 微软技术许可有限责任公司 自动聊天中的语音转发
US10748531B2 (en) * 2017-04-13 2020-08-18 Harman International Industries, Incorporated Management layer for multiple intelligent personal assistant services
US10848591B2 (en) 2017-04-25 2020-11-24 Amazon Technologies, Inc. Sender and recipient disambiguation
US10605609B2 (en) 2017-05-03 2020-03-31 Microsoft Technology Licensing, Llc Coupled interactive devices
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10671602B2 (en) * 2017-05-09 2020-06-02 Microsoft Technology Licensing, Llc Random factoid generation
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
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
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10009666B1 (en) 2017-05-16 2018-06-26 Google Llc Cross-device handoffs
EP3459076B1 (en) * 2017-05-16 2020-07-22 Apple Inc. Far-field extension for digital assistant services
US10983753B2 (en) * 2017-06-09 2021-04-20 International Business Machines Corporation Cognitive and interactive sensor based smart home solution
US10528228B2 (en) 2017-06-21 2020-01-07 Microsoft Technology Licensing, Llc Interaction with notifications across devices with a digital assistant
US10599377B2 (en) 2017-07-11 2020-03-24 Roku, Inc. Controlling visual indicators in an audio responsive electronic device, and capturing and providing audio using an API, by native and non-native computing devices and services
US10475449B2 (en) 2017-08-07 2019-11-12 Sonos, Inc. Wake-word detection suppression
US11062710B2 (en) 2017-08-28 2021-07-13 Roku, Inc. Local and cloud speech recognition
US11062702B2 (en) 2017-08-28 2021-07-13 Roku, Inc. Media system with multiple digital assistants
KR102426704B1 (ko) * 2017-08-28 2022-07-29 삼성전자주식회사 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치
US10388285B2 (en) * 2017-08-31 2019-08-20 International Business Machines Corporation Generating chat bots from web API specifications
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
US10719592B1 (en) 2017-09-15 2020-07-21 Wells Fargo Bank, N.A. Input/output privacy tool
US10446165B2 (en) 2017-09-27 2019-10-15 Sonos, Inc. Robust short-time fourier transform acoustic echo cancellation during audio playback
US10951558B2 (en) 2017-09-27 2021-03-16 Slack Technologies, Inc. Validating application dialog associated with a triggering event identification within user interaction data received via a group-based communication interface
US10621981B2 (en) 2017-09-28 2020-04-14 Sonos, Inc. Tone interference cancellation
US10482868B2 (en) 2017-09-28 2019-11-19 Sonos, Inc. Multi-channel acoustic echo cancellation
US10051366B1 (en) 2017-09-28 2018-08-14 Sonos, Inc. Three-dimensional beam forming with a microphone array
US10466962B2 (en) * 2017-09-29 2019-11-05 Sonos, Inc. Media playback system with voice assistance
US11410648B2 (en) * 2017-10-03 2022-08-09 Google Llc Multiple digital assistant coordination in vehicular environments
US10516637B2 (en) * 2017-10-17 2019-12-24 Microsoft Technology Licensing, Llc Smart communications assistant with audio interface
US10645035B2 (en) * 2017-11-02 2020-05-05 Google Llc Automated assistants with conference capabilities
JP2019086903A (ja) 2017-11-02 2019-06-06 東芝映像ソリューション株式会社 音声対話端末、および音声対話端末制御方法
CN107833574B (zh) * 2017-11-16 2021-08-24 百度在线网络技术(北京)有限公司 用于提供语音服务的方法和装置
CN107990908B (zh) * 2017-11-20 2020-08-14 Oppo广东移动通信有限公司 一种基于蓝牙通信的语音导航方法及装置
CN107993657A (zh) * 2017-12-08 2018-05-04 广东思派康电子科技有限公司 一种基于多个语音助手平台的切换方法
US10880650B2 (en) 2017-12-10 2020-12-29 Sonos, Inc. Network microphone devices with automatic do not disturb actuation capabilities
US10818290B2 (en) 2017-12-11 2020-10-27 Sonos, Inc. Home graph
KR102506866B1 (ko) 2017-12-13 2023-03-08 현대자동차주식회사 차량 환경에서 선발화 안내 장치, 방법 및 시스템
US10372825B2 (en) * 2017-12-18 2019-08-06 International Business Machines Corporation Emotion detection and expression integration in dialog systems
KR102209092B1 (ko) * 2017-12-18 2021-01-28 네이버 주식회사 복수의 호출 용어를 이용하여 인공지능 기기를 제어하는 방법 및 시스템
TWI651714B (zh) * 2017-12-22 2019-02-21 隆宸星股份有限公司 語音選項選擇系統與方法以及使用其之智慧型機器人
US10423727B1 (en) 2018-01-11 2019-09-24 Wells Fargo Bank, N.A. Systems and methods for processing nuances in natural language
US10719832B1 (en) 2018-01-12 2020-07-21 Wells Fargo Bank, N.A. Fraud prevention tool
JP2019128374A (ja) * 2018-01-22 2019-08-01 トヨタ自動車株式会社 情報処理装置、及び情報処理方法
WO2019152722A1 (en) 2018-01-31 2019-08-08 Sonos, Inc. Device designation of playback and network microphone device arrangements
US11024307B2 (en) 2018-02-08 2021-06-01 Computime Ltd. Method and apparatus to provide comprehensive smart assistant services
US11145298B2 (en) 2018-02-13 2021-10-12 Roku, Inc. Trigger word detection with multiple digital assistants
US11676062B2 (en) 2018-03-06 2023-06-13 Samsung Electronics Co., Ltd. Dynamically evolving hybrid personalized artificial intelligence system
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US11100146B1 (en) * 2018-03-23 2021-08-24 Amazon Technologies, Inc. System management using natural language statements
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
CN108563633B (zh) * 2018-03-29 2021-05-14 腾讯科技(深圳)有限公司 一种语音处理方法和服务器
WO2019209255A1 (en) * 2018-04-23 2019-10-31 Google Llc Transferring an automated assistant routine between client devices during execution of the routine
CN108961711B (zh) * 2018-04-28 2020-06-02 深圳市牛鼎丰科技有限公司 遥控移动装置的控制方法、装置、计算机设备和存储介质
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
WO2019214799A1 (en) * 2018-05-07 2019-11-14 Bayerische Motoren Werke Aktiengesellschaft Smart dialogue system and method of integrating enriched semantics from personal and contextual learning
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11175880B2 (en) 2018-05-10 2021-11-16 Sonos, Inc. Systems and methods for voice-assisted media content selection
US10847178B2 (en) 2018-05-18 2020-11-24 Sonos, Inc. Linear filtering for noise-suppressed speech detection
JP7155605B2 (ja) * 2018-05-22 2022-10-19 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US10959029B2 (en) 2018-05-25 2021-03-23 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
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
US10636425B2 (en) 2018-06-05 2020-04-28 Voicify, LLC Voice application platform
US10235999B1 (en) 2018-06-05 2019-03-19 Voicify, LLC Voice application platform
US10803865B2 (en) 2018-06-05 2020-10-13 Voicify, LLC Voice application platform
US11100935B2 (en) * 2018-06-05 2021-08-24 Samsung Electronics Co., Ltd. Voice assistant device and method thereof
US11437029B2 (en) 2018-06-05 2022-09-06 Voicify, LLC Voice application platform
US10681460B2 (en) 2018-06-28 2020-06-09 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
WO2020006410A1 (en) * 2018-06-28 2020-01-02 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
US20210295836A1 (en) * 2018-07-31 2021-09-23 Sony Corporation Information processing apparatus, information processing method, and program
CN108899027B (zh) * 2018-08-15 2021-02-26 珠海格力电器股份有限公司 语音解析方法及装置
EP3631614A1 (en) * 2018-08-21 2020-04-08 Google LLC Automated assistant invocation of second interactive module using supplemental data provided by first interactive module
KR20200024511A (ko) * 2018-08-28 2020-03-09 삼성전자주식회사 대화 에이전트의 동작 방법 및 그 장치
US10461710B1 (en) 2018-08-28 2019-10-29 Sonos, Inc. Media playback system with maximum volume setting
CN110867182B (zh) * 2018-08-28 2022-04-12 仁宝电脑工业股份有限公司 多语音助理的控制方法
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
KR20200027753A (ko) * 2018-09-05 2020-03-13 삼성전자주식회사 전자 장치 및 단축 명령어에 대응하는 태스크 수행 방법
CN109348353B (zh) 2018-09-07 2020-04-14 百度在线网络技术(北京)有限公司 智能音箱的服务处理方法、装置和智能音箱
US10587430B1 (en) 2018-09-14 2020-03-10 Sonos, Inc. Networked devices, systems, and methods for associating playback devices based on sound codes
US10878811B2 (en) 2018-09-14 2020-12-29 Sonos, Inc. Networked devices, systems, and methods for intelligently deactivating wake-word engines
CN109344229A (zh) * 2018-09-18 2019-02-15 深圳壹账通智能科技有限公司 对话分析评价的方法、装置、计算机设备和存储介质
US11016968B1 (en) * 2018-09-18 2021-05-25 Amazon Technologies, Inc. Mutation architecture for contextual data aggregator
CN109102805A (zh) * 2018-09-20 2018-12-28 北京长城华冠汽车技术开发有限公司 语音交互方法、装置及实现装置
US11024331B2 (en) 2018-09-21 2021-06-01 Sonos, Inc. Voice detection optimization using sound metadata
US10811015B2 (en) 2018-09-25 2020-10-20 Sonos, Inc. Voice detection optimization based on selected voice assistant service
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11152003B2 (en) 2018-09-27 2021-10-19 International Business Machines Corporation Routing voice commands to virtual assistants
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11100923B2 (en) 2018-09-28 2021-08-24 Sonos, Inc. Systems and methods for selective wake word detection using neural network models
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10692518B2 (en) 2018-09-29 2020-06-23 Sonos, Inc. Linear filtering for noise-suppressed speech detection via multiple network microphone devices
US11017028B2 (en) 2018-10-03 2021-05-25 The Toronto-Dominion Bank Systems and methods for intelligent responses to queries based on trained processes
US11899519B2 (en) 2018-10-23 2024-02-13 Sonos, Inc. Multiple stage network microphone device with reduced power consumption and processing load
US10877964B2 (en) 2018-10-23 2020-12-29 Dennis E. Brown Methods and systems to facilitate the generation of responses to verbal queries
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
CN109637519B (zh) * 2018-11-13 2020-01-21 百度在线网络技术(北京)有限公司 语音交互实现方法、装置、计算机设备及存储介质
EP3654249A1 (en) 2018-11-15 2020-05-20 Snips Dilated convolutions and gating for efficient keyword spotting
CN109462753B (zh) * 2018-11-19 2021-12-03 视联动力信息技术股份有限公司 一种视联网多会议测试系统和方法
US10811011B2 (en) * 2018-11-21 2020-10-20 Motorola Solutions, Inc. Correcting for impulse noise in speech recognition systems
CN109658925A (zh) * 2018-11-28 2019-04-19 上海蔚来汽车有限公司 一种基于上下文的免唤醒车载语音对话方法及系统
KR20210099629A (ko) * 2018-12-06 2021-08-12 베스텔 일렉트로닉 사나이 베 티카레트 에이에스 음성제어가능 전자 장치에 대한 커맨드를 생성하는 기술
US11183183B2 (en) 2018-12-07 2021-11-23 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
US10861446B2 (en) * 2018-12-10 2020-12-08 Amazon Technologies, Inc. Generating input alternatives
US10783901B2 (en) * 2018-12-10 2020-09-22 Amazon Technologies, Inc. Alternate response generation
DE102018221712B4 (de) * 2018-12-13 2022-09-22 Volkswagen Aktiengesellschaft Verfahren zum Betreiben eines interaktiven Informationssystems für ein Fahrzeug, sowie ein Fahrzeug
US11132989B2 (en) 2018-12-13 2021-09-28 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
US10602268B1 (en) 2018-12-20 2020-03-24 Sonos, Inc. Optimization of network microphone devices using noise classification
US11037559B2 (en) 2018-12-27 2021-06-15 At&T Intellectual Property I, L.P. Voice gateway for federated voice services
JP7286772B2 (ja) * 2018-12-28 2023-06-05 グーグル エルエルシー 選択されたサジェスチョンによる自動アシスタントへのボイス入力の補足
CN109361527B (zh) * 2018-12-28 2021-02-05 苏州思必驰信息科技有限公司 语音会议记录方法及系统
US10943588B2 (en) 2019-01-03 2021-03-09 International Business Machines Corporation Methods and systems for managing voice response systems based on references to previous responses
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
EP3906549B1 (en) * 2019-02-06 2022-12-28 Google LLC Voice query qos based on client-computed content metadata
US11315556B2 (en) 2019-02-08 2022-04-26 Sonos, Inc. Devices, systems, and methods for distributed voice processing by transmitting sound data associated with a wake word to an appropriate device for identification
US10867604B2 (en) 2019-02-08 2020-12-15 Sonos, Inc. Devices, systems, and methods for distributed voice processing
CN112908311A (zh) * 2019-02-26 2021-06-04 北京蓦然认知科技有限公司 一种语音助手的训练和分享方法
JP7145105B2 (ja) * 2019-03-04 2022-09-30 本田技研工業株式会社 車両制御システム、車両制御方法、およびプログラム
US11645522B2 (en) * 2019-03-05 2023-05-09 Dhruv Siddharth KRISHNAN Method and system using machine learning for prediction of stocks and/or other market instruments price volatility, movements and future pricing by applying random forest based techniques
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
CN110009206B (zh) * 2019-03-21 2023-06-20 五邑大学 一种定时语音评分方法、装置、设备和存储介质
CN115240664A (zh) * 2019-04-10 2022-10-25 华为技术有限公司 一种人机交互的方法和电子设备
CN110136707B (zh) * 2019-04-22 2021-03-02 云知声智能科技股份有限公司 一种用于进行多设备自主决策的人机交互系统
WO2020222988A1 (en) 2019-04-30 2020-11-05 Apple Inc. Utilizing context information with an electronic device
US11120794B2 (en) 2019-05-03 2021-09-14 Sonos, Inc. Voice assistant persistence across multiple network microphone devices
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
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
KR20200129922A (ko) * 2019-05-10 2020-11-18 현대자동차주식회사 음성인식 기반 정보 제공 시스템 및 방법
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US10671941B1 (en) * 2019-05-23 2020-06-02 Capital One Services, Llc Managing multifaceted, implicit goals through dialogue
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
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
US11200894B2 (en) 2019-06-12 2021-12-14 Sonos, Inc. Network microphone device with command keyword eventing
US10586540B1 (en) 2019-06-12 2020-03-10 Sonos, Inc. Network microphone device with command keyword conditioning
US11361756B2 (en) 2019-06-12 2022-06-14 Sonos, Inc. Conditional wake word eventing based on environment
CN110299132B (zh) * 2019-06-26 2021-11-02 京东数字科技控股有限公司 一种语音数字识别方法和装置
WO2021007331A1 (en) * 2019-07-08 2021-01-14 XBrain, Inc. Image representation of a conversation to self-supervised learning
FR3098632B1 (fr) * 2019-07-11 2021-11-05 Continental Automotive Gmbh Système de reconnaissance d’instruction vocale pour véhicule
US11138969B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US11138975B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US10871943B1 (en) 2019-07-31 2020-12-22 Sonos, Inc. Noise classification for event detection
WO2021033889A1 (en) 2019-08-20 2021-02-25 Samsung Electronics Co., Ltd. Electronic device and method for controlling the electronic device
CN111862966A (zh) * 2019-08-22 2020-10-30 马上消费金融股份有限公司 智能语音交互方法以及相关装置
US11403462B2 (en) * 2019-09-12 2022-08-02 Oracle International Corporation Streamlining dialog processing using integrated shared resources
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
KR20210036527A (ko) * 2019-09-26 2021-04-05 삼성전자주식회사 사용자 발화를 처리하는 전자 장치 및 그 작동 방법
US11567788B1 (en) 2019-10-18 2023-01-31 Meta Platforms, Inc. Generating proactive reminders for assistant systems
US11861674B1 (en) 2019-10-18 2024-01-02 Meta Platforms Technologies, Llc Method, one or more computer-readable non-transitory storage media, and a system for generating comprehensive information for products of interest by assistant systems
US11189286B2 (en) 2019-10-22 2021-11-30 Sonos, Inc. VAS toggle based on device orientation
US11226801B2 (en) 2019-10-30 2022-01-18 Mastercard International Incorporated System and methods for voice controlled automated computer code deployment
US11423235B2 (en) * 2019-11-08 2022-08-23 International Business Machines Corporation Cognitive orchestration of multi-task dialogue system
EP3836043A1 (en) 2019-12-11 2021-06-16 Carrier Corporation A method and an equipment for configuring a service
US11200900B2 (en) 2019-12-20 2021-12-14 Sonos, Inc. Offline voice control
CN111107156A (zh) * 2019-12-26 2020-05-05 苏州思必驰信息科技有限公司 用于主动发起对话的服务端处理方法及服务器、能够主动发起对话的语音交互系统
US11562740B2 (en) 2020-01-07 2023-01-24 Sonos, Inc. Voice verification for media playback
CN111276133B (zh) * 2020-01-20 2023-01-03 厦门快商通科技股份有限公司 音频识别方法、系统、移动终端及存储介质
US11556307B2 (en) 2020-01-31 2023-01-17 Sonos, Inc. Local voice data processing
US11488594B2 (en) 2020-01-31 2022-11-01 Walmart Apollo, Llc Automatically rectifying in real-time anomalies in natural language processing systems
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
JP7465700B2 (ja) * 2020-03-27 2024-04-11 株式会社デンソーテン 車載装置および車載装置における音声処理方法
US11201947B2 (en) * 2020-04-21 2021-12-14 Citrix Systems, Inc. Low latency access to application resources across geographical locations
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
US11810578B2 (en) 2020-05-11 2023-11-07 Apple Inc. Device arbitration for digital assistant-based intercom systems
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
JP7347324B2 (ja) 2020-05-18 2023-09-20 トヨタ自動車株式会社 エージェント連携装置
US11482224B2 (en) 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
US11308962B2 (en) 2020-05-20 2022-04-19 Sonos, Inc. Input detection windowing
US11727919B2 (en) 2020-05-20 2023-08-15 Sonos, Inc. Memory allocation for keyword spotting engines
DE102020116458A1 (de) * 2020-06-23 2021-12-23 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Individualisieren einer Sprachsteuerung, computerlesbares Speichermedium und System
CN111564156B (zh) * 2020-07-03 2021-01-26 杭州摸象大数据科技有限公司 外呼系统部署方法、装置、计算机设备及存储介质
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
US11698771B2 (en) 2020-08-25 2023-07-11 Sonos, Inc. Vocal guidance engines for playback devices
TWI752682B (zh) * 2020-10-21 2022-01-11 國立陽明交通大學 雲端更新語音辨識系統的方法
CN112291438B (zh) * 2020-10-23 2021-10-01 北京蓦然认知科技有限公司 一种控制通话的方法及语音助手
US11984123B2 (en) 2020-11-12 2024-05-14 Sonos, Inc. Network device interaction by range
EP4002061A1 (en) * 2020-11-24 2022-05-25 Inter IKEA Systems B.V. A control device and a method for determining control data based on audio input data
WO2022129065A1 (en) * 2020-12-15 2022-06-23 Koninklijke Philips N.V. Determining contextual information
EP4016958A1 (en) * 2020-12-15 2022-06-22 Koninklijke Philips N.V. Determining contextual information
US11749079B2 (en) 2020-12-16 2023-09-05 Rovi Guides, Inc. Systems and methods to automatically perform actions based on media content
US11595278B2 (en) * 2020-12-16 2023-02-28 Rovi Guides, Inc. Systems and methods to automatically perform actions based on media content
US11606465B2 (en) 2020-12-16 2023-03-14 Rovi Guides, Inc. Systems and methods to automatically perform actions based on media content
CN112507139B (zh) * 2020-12-28 2024-03-12 深圳力维智联技术有限公司 基于知识图谱的问答方法、系统、设备及存储介质
CN112863512B (zh) * 2021-01-18 2024-04-30 深圳创维-Rgb电子有限公司 一种语音交互调用处理方法、装置、终端设备及存储介质
US11551700B2 (en) 2021-01-25 2023-01-10 Sonos, Inc. Systems and methods for power-efficient keyword detection
US11762871B2 (en) 2021-01-29 2023-09-19 Walmart Apollo, Llc Methods and apparatus for refining a search
CN112951241B (zh) * 2021-01-29 2022-07-01 思必驰科技股份有限公司 用于ios的拾音识别方法及系统
DE102021103676A1 (de) 2021-02-17 2022-08-18 Audi Aktiengesellschaft Verfahren zur Verbesserung der Gebrauchstauglichkeit eines Kraftfahrzeugs, Kraftfahrzeug sowie Computerprogrammprodukt
US20240127796A1 (en) * 2021-02-18 2024-04-18 Nippon Telegraph And Telephone Corporation Learning apparatus, estimation apparatus, methods and programs for the same
KR20220118818A (ko) * 2021-02-19 2022-08-26 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법
TWI817106B (zh) * 2021-04-14 2023-10-01 台達電子工業股份有限公司 查詢回饋裝置以及方法
US11885632B2 (en) 2021-04-15 2024-01-30 Google Llc Conditional preparation for automated assistant input from a user in a vehicle
US11842733B2 (en) 2021-06-02 2023-12-12 Kyndryl, Inc. Artificial intelligence system for tasks
US12021806B1 (en) 2021-09-21 2024-06-25 Apple Inc. Intelligent message delivery
KR20230043397A (ko) * 2021-09-24 2023-03-31 삼성전자주식회사 사용자 발화를 처리하는 서버, 전자 장치 및 그의 동작 방법
US11990123B1 (en) * 2023-06-24 2024-05-21 Roy Rosser Automated training of AI chatbots
CN117457003B (zh) * 2023-12-26 2024-03-08 四川蜀天信息技术有限公司 一种流式语音识别方法、装置、介质及设备

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5797123A (en) * 1996-10-01 1998-08-18 Lucent Technologies Inc. Method of key-phase detection and verification for flexible speech understanding
US6192339B1 (en) * 1998-11-04 2001-02-20 Intel Corporation Mechanism for managing multiple speech applications
US6330537B1 (en) * 1999-08-26 2001-12-11 Matsushita Electric Industrial Co., Ltd. Automatic filtering of TV contents using speech recognition and natural language
US6442519B1 (en) * 1999-11-10 2002-08-27 International Business Machines Corp. Speaker model adaptation via network of similar users
US20010047261A1 (en) * 2000-01-24 2001-11-29 Peter Kassan Partially automated interactive dialog
JP4066616B2 (ja) * 2000-08-02 2008-03-26 トヨタ自動車株式会社 内燃機関の自動始動制御装置及び動力伝達状態検出装置
US7149695B1 (en) * 2000-10-13 2006-12-12 Apple Computer, Inc. Method and apparatus for speech recognition using semantic inference and word agglomeration
US7257537B2 (en) * 2001-01-12 2007-08-14 International Business Machines Corporation Method and apparatus for performing dialog management in a computer conversational interface
US7085723B2 (en) * 2001-01-12 2006-08-01 International Business Machines Corporation System and method for determining utterance context in a multi-context speech application
US6925154B2 (en) * 2001-05-04 2005-08-02 International Business Machines Corproation Methods and apparatus for conversational name dialing systems
JP3963698B2 (ja) * 2001-10-23 2007-08-22 富士通テン株式会社 音声対話システム
JP4145302B2 (ja) * 2003-04-14 2008-09-03 富士通株式会社 対話装置、対話方法及び対話プログラム
JP2005122128A (ja) * 2003-09-25 2005-05-12 Fuji Photo Film Co Ltd 音声認識システム及びプログラム
US8019602B2 (en) * 2004-01-20 2011-09-13 Microsoft Corporation Automatic speech recognition learning using user corrections
KR20070029794A (ko) * 2004-07-08 2007-03-14 코닌클리케 필립스 일렉트로닉스 엔.브이. 유저와 시스템 사이에 통신을 하기 위한 방법 및 시스템
JP2006127148A (ja) * 2004-10-28 2006-05-18 Fujitsu Ltd 音声自動対話システムにおける情報処理方法
JP4405370B2 (ja) * 2004-11-15 2010-01-27 本田技研工業株式会社 車両用機器制御装置
US20060206333A1 (en) * 2005-03-08 2006-09-14 Microsoft Corporation Speaker-dependent dialog adaptation
JP4461047B2 (ja) * 2005-03-31 2010-05-12 株式会社ケンウッド ナビゲーション装置、av装置、アシスタント表示方法、アシスタント表示用プログラム、および電子機器システム
JP2007057844A (ja) * 2005-08-24 2007-03-08 Fujitsu Ltd 音声認識システムおよび音声処理システム
US7949529B2 (en) * 2005-08-29 2011-05-24 Voicebox Technologies, Inc. Mobile systems and methods of supporting natural language human-machine interactions
US20070061335A1 (en) * 2005-09-14 2007-03-15 Jorey Ramer Multimodal search query processing
US20070078653A1 (en) * 2005-10-03 2007-04-05 Nokia Corporation Language model compression
US7752152B2 (en) * 2006-03-17 2010-07-06 Microsoft Corporation Using predictive user models for language modeling on a personal device with user behavior models based on statistical modeling
US8332218B2 (en) * 2006-06-13 2012-12-11 Nuance Communications, Inc. Context-based grammars for automated speech recognition
KR100873956B1 (ko) 2006-08-17 2008-12-15 삼성전자주식회사 에뮬레이션 시스템
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8073681B2 (en) * 2006-10-16 2011-12-06 Voicebox Technologies, Inc. System and method for a cooperative conversational voice user interface
US8886545B2 (en) * 2007-03-07 2014-11-11 Vlingo Corporation Dealing with switch latency in speech recognition
US20090234635A1 (en) * 2007-06-29 2009-09-17 Vipul Bhatt Voice Entry Controller operative with one or more Translation Resources
US8595642B1 (en) * 2007-10-04 2013-11-26 Great Northern Research, LLC Multiple shell multi faceted graphical user interface
US8165886B1 (en) * 2007-10-04 2012-04-24 Great Northern Research LLC Speech interface system and method for control and interaction with applications on a computing system
US20120259633A1 (en) * 2011-04-07 2012-10-11 Microsoft Corporation Audio-interactive message exchange
CA3023918C (en) * 2011-09-30 2022-11-29 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9214157B2 (en) * 2011-12-06 2015-12-15 At&T Intellectual Property I, L.P. System and method for machine-mediated human-human conversation
US8406384B1 (en) * 2012-01-18 2013-03-26 Nuance Communications, Inc. Universally tagged frequent call-routing user queries as a knowledge base for reuse across applications
US8453058B1 (en) * 2012-02-20 2013-05-28 Google Inc. Crowd-sourced audio shortcuts
US8953764B2 (en) * 2012-08-06 2015-02-10 Angel.Com Incorporated Dynamic adjustment of recommendations using a conversation assistant
US9217625B2 (en) 2012-08-23 2015-12-22 Intrepid Tactical Solutions, Inc. Shotshell type ammunition usable in magazine-fed firearms, and methods of manufacturing such shotshell type ammunition
US8606568B1 (en) * 2012-10-10 2013-12-10 Google Inc. Evaluating pronouns in context
US9085303B2 (en) * 2012-11-15 2015-07-21 Sri International Vehicle personal assistant
US10026400B2 (en) * 2013-06-27 2018-07-17 Google Llc Generating dialog recommendations for chat information systems based on user interaction and environmental data
US9672822B2 (en) * 2013-02-22 2017-06-06 Next It Corporation Interaction with a portion of a content item through a virtual assistant
US9292254B2 (en) * 2013-05-15 2016-03-22 Maluuba Inc. Interactive user interface for an intelligent assistant
US9466294B1 (en) * 2013-05-21 2016-10-11 Amazon Technologies, Inc. Dialog management system
US10047970B2 (en) * 2013-08-21 2018-08-14 Honeywell International Inc. Devices and methods for interacting with an HVAC controller
US10049656B1 (en) * 2013-09-20 2018-08-14 Amazon Technologies, Inc. Generation of predictive natural language processing models
US20150162000A1 (en) * 2013-12-10 2015-06-11 Harman International Industries, Incorporated Context aware, proactive digital assistant
US9804820B2 (en) * 2013-12-16 2017-10-31 Nuance Communications, Inc. Systems and methods for providing a virtual assistant
US9460735B2 (en) * 2013-12-28 2016-10-04 Intel Corporation Intelligent ancillary electronic device
US8938394B1 (en) * 2014-01-09 2015-01-20 Google Inc. Audio triggers based on context
RU2014111971A (ru) * 2014-03-28 2015-10-10 Юрий Михайлович Буров Способ и система голосового интерфейса
US9715875B2 (en) * 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9978362B2 (en) * 2014-09-02 2018-05-22 Microsoft Technology Licensing, Llc Facet recommendations from sentiment-bearing content

Also Published As

Publication number Publication date
EP3201913A1 (en) 2017-08-09
US20190180750A1 (en) 2019-06-13
WO2016054230A1 (en) 2016-04-07
KR20170070094A (ko) 2017-06-21
US10235996B2 (en) 2019-03-19
US20160098992A1 (en) 2016-04-07
CA2962636A1 (en) 2016-04-07
CN107004410A (zh) 2017-08-01
US10789953B2 (en) 2020-09-29
JP2017535823A (ja) 2017-11-30
KR102342623B1 (ko) 2021-12-22
EP3201913A4 (en) 2018-06-06
CN107004410B (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
JP6671379B2 (ja) 音声および接続プラットフォーム
US11863646B2 (en) Proactive environment-based chat information system
CN108701454B (zh) 对话系统中的参数收集和自动对话生成
US10573309B2 (en) Generating dialog recommendations for chat information systems based on user interaction and environmental data
US11887594B2 (en) Proactive incorporation of unsolicited content into human-to-computer dialogs
KR102048375B1 (ko) 가상 비서에서 커맨드 처리를 용이하게 하기 위한 컨텍스트 정보의 이용
US10446142B2 (en) Crafting feedback dialogue with a digital assistant
KR102357685B1 (ko) 병렬 처리용 하이브리드 클라이언트/서버 아키텍처
US9172747B2 (en) System and methods for virtual assistant networks
CN104335234A (zh) 用于将第三方服务与数字助理相结合的系统和方法
EP3792912B1 (en) Improved wake-word recognition in low-power devices
Celestino Development and implementation of an automotive virtual assistant
Tchankue-Sielinou A Model for Mobile, Context-aware in Car Communication Systems to Reduce Driver Distraction

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170601

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200121

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: 20200203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200303

R150 Certificate of patent or registration of utility model

Ref document number: 6671379

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees