JP7155439B2 - オンデバイス機能性を使うように車両クライアントデバイスに指令すること - Google Patents

オンデバイス機能性を使うように車両クライアントデバイスに指令すること Download PDF

Info

Publication number
JP7155439B2
JP7155439B2 JP2021542172A JP2021542172A JP7155439B2 JP 7155439 B2 JP7155439 B2 JP 7155439B2 JP 2021542172 A JP2021542172 A JP 2021542172A JP 2021542172 A JP2021542172 A JP 2021542172A JP 7155439 B2 JP7155439 B2 JP 7155439B2
Authority
JP
Japan
Prior art keywords
computing device
vehicle computing
server device
data
version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021542172A
Other languages
English (en)
Other versions
JP2022519478A (ja
Inventor
ヴィクラム・アガワル
ヴィノッド・クリシュナン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2022519478A publication Critical patent/JP2022519478A/ja
Priority to JP2022160358A priority Critical patent/JP7412499B2/ja
Application granted granted Critical
Publication of JP7155439B2 publication Critical patent/JP7155439B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/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
    • 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)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Navigation (AREA)
  • Stored Programmes (AREA)

Description

人間は、本明細書では「自動化アシスタント」と呼ばれる(「デジタルエージェント」、「チャットボット」、「対話型パーソナルアシスタント」、「知的パーソナルアシスタント」、「アシスタントアプリケーション」、「会話エージェント」などとも呼ばれる)対話型ソフトウェアアプリケーションとの、人間-コンピュータ間ダイアログに関与する場合がある。たとえば、人間(自動化アシスタントと対話するときは、「ユーザ」と呼ばれ得る)は、いくつかのケースでは、テキストに変換され、次いで、処理され得る発話された自然言語入力(すなわち、発声)を使って、および/またはテキスト(たとえば、タイプされた)自然言語入力を与えることによって、自動化アシスタントにコマンドおよび/または要求を与える場合がある。
自動化アシスタントは、たとえば、モバイルフォン、スマートホームデバイス、および/または車両など、様々な異なるデバイスにインストールされ得る。モバイルフォン、および他のコンピューティングデバイスとは異なり、車両はしばしば、所有者が買換え車両を購入することを最終的に決断するまで、それぞれの所有者によって、長期間(たとえば、10年以上)使用され得る。これだけの期間車両を所有している間、車両にインストールされているソフトウェアは更新の対象であり得る。たとえば、更新は、車両コンピューティングデバイスが、より新しいスマートホームデバイスおよび/またはより新しいモバイルフォンが扱うことができるコマンドに応答できるようにするために、車両コンピューティングデバイスに与えられ得る。ただし、ユーザは、いくつかの更新をインストールしないことを選ぶ場合があり、車両コンピューティングデバイスと、車両コンピューティングデバイスが対話するリモートサーバデバイスとの間の、コマンドに応答する際の非互換性につながる。また、一定の期間(たとえば、3年以上)の後、たとえば、サポート寿命の終了、車両コンピューティングデバイスのハードウェアが新たな更新を実行することができないこと、および/または他の要因により、車両コンピューティングデバイスに更新がもはや与えられなくなる場合がある。このことも、車両コンピューティングデバイスとリモートサーバデバイスとの間の非互換性につながり得る。車両コンピューティングデバイスとリモートサーバデバイスが非互換になると、サーバデバイスは、車両コンピューティングデバイスからの、車両コンピューティングデバイスによってもはや解釈可能でない要求に応答する場合がある。このことは、車両コンピューティングデバイスが様々なコマンドに適切に応答できないことにつながる場合があり、車両コンピューティングデバイスが、サーバデバイスへ様々なデータを無駄に送信すること、および/またはサーバデバイスが車両コンピューティングデバイスへ様々なデータを無駄に送信することにつながる(いくつかのサーバデバイス応答は、車両コンピューティングデバイスによってもはや解釈可能でないので)。いくつかの技法は、この問題に、サーバデバイスを直近の更新と、ならびに車両コンピューティングデバイスの従来のバージョンと互換させることによって対処しようと試みる。ただし、そのような後方互換性を無期限に与えることは、サーバデバイスにおける大規模なストレージ、メモリ、および/またはプロセッサ使用を求める場合がある。
本明細書において説明する実装形態は、動作可能ソフトウェアを含むが、サーバデバイス、および/または任意の他のサポーティングシステムによる段階的フェーズアウトの対象であるバージョンに対応する車両コンピューティングデバイスにおいて受信された発話を処理するための技法に関する。段階的フェーズアウトの結果、ハードウェアおよび/またはソフトウェアのバージョン用の様々なサーバ動作のための広いサポートが生じ得る。これらのサーバ動作は、音声-テキスト処理、自然言語理解(たとえば、意図識別および/もしくはスロット値識別)、アクション生成、ならびに/またはアクション実行を含み得るが、それらに限定されない。サーバデバイスは、ハードウェアおよび/またはソフトウェアのバージョンが他の、新たにリリースされたハードウェアおよび/またはソフトウェアと比べて古くなったことに基づいて、動作のうちの1つまたは複数の、実施を時間とともに段階的にフェーズアウトするように動作することができる。その結果、特定のバージョン用の、アクションおよび/またはスロット値を生成することなど、特定の動作が、それらの特定のバージョンがフェーズアウトを受けたことの結果としてローカルに、独占的に実施され得る。このようにして、ほとんどの他のコンピューティングデバイスよりも長く通常は操作されるコンピューティングデバイス(たとえば、車両コンピューティングデバイス)は、しかしながら、最新バージョンに対応しないにもかかわらず、より長い期間、サーバデバイスからある程度のサポートを受けることができる。
たとえば、発話は、ユーザが通常、スマートホームデバイスおよび/またはモバイルフォンなど、自分のデバイスのうちの別の1つを制御するのに使う自然言語内容を含んでよく、自然言語内容は、要求された意図を指定することができる。車両コンピューティングデバイスが、サーバデバイスによってサポートされる現行バージョンに対応するとき、車両コンピューティングデバイスは、サーバデバイスへ発話を送信することができる。それに応答して、車両コンピューティングデバイスは、1つまたは複数の送信において、サーバデバイスから、発話から変換されたテキスト、テキストに基づいて判断された1つもしくは複数の意図、1つもしくは複数のそれぞれの意図のための1つもしくは複数のスロット値、および/または1つもしくは複数の意図のための1つもしくは複数のアクションを指定するデータを受信し得る。いくつかの実装形態では、意図および/またはアクションのためのスロットは、意図および/またはアクションに従って動作を実行するときに参照される必須または随意のパラメータを指し得る。さらに、スロット値は、意図および/またはアクションの特定のスロットに割り当てられる値であってよい。たとえば、メッセージ意図などの意図は、メッセージの受信者を指定するためのスロットを含んでよく、スロット値は、名前(たとえば、John Smith)および/または電話番号(たとえば、555-555-1234)であってよい。
本明細書において詳しく記載するように、サーバデバイスによって与えられる特定のデータは、車両コンピューティングデバイスが現行バージョンに対応するとき、発話のタイプに依存してよく、発話のタイプは、発話のテキストおよび/またはテキストに基づいて判断された意図から導出され得る。その上、(何らかのデータがある場合は)どのデータが、特定のタイプの発話に応答して与えられるかは、時間とともに動的に変わり得るが、というのは、車両コンピューティングデバイスのバージョンはもはや、サーバデバイスによって全面的にサポートされる現行バージョンではないからである。たとえば、車両コンピューティングデバイスが、最新のバージョンでないバージョンに対応する場合、サーバデバイスは、それにもかかわらず、発話に対応するオーディオデータの音声-テキスト処理を少なくとも実施して、テキストデータを生成することができる。テキストデータは随意には、車両コンピューティングデバイスに与えられ、それによって使用され得る。ただし、サーバデバイスは、いかなるさらなるデータも与えなくてよく、代わりに、ユーザに対してエラー(たとえば、「デバイスを更新してください」)を独占的に発行するのとは反対に、車両コンピューティングデバイスに、発話を満足させるのを促進するために、それ自体のローカルエンジン(たとえば、ローカルNLUエンジン、ローカルアクションエンジン)に依拠するよう命令する。このようにして、車両コンピューティングデバイスは、発話をテキストデータにローカルに変換するための能力を有し得るが、車両コンピューティングデバイスは依然として、サーバデバイスの処理能力を活用して、サーバが車両コンピューティングデバイスのバージョンをもはや完全にサポートするわけではないにもかかわらず、より良好な音声-テキスト変換を取得することができる。
いくつかの実装形態では、サーバデバイスは、車両コンピューティングデバイスが類似した意図要求をサーバデバイスへそれ以上送信しないための命令とともに、車両コンピューティングデバイスへテキストデータを送信し得る。たとえば、車両はサブシステムを含み得るが、サブシステムは、車両コンピューティングデバイスの第2のバージョンを操作しているユーザ用の自動化アシスタントを介して制御可能であり得るが、車両コンピューティングデバイスの第1のバージョンを操作しているユーザ用の自動化アシスタントを介して制御可能でない場合がある。サブシステムは、車両コンピューティングデバイスに接続されている液体センサのネットワークであってよいが、それに限定されない。ユーザは、「アシスタント、自動車修理工場に液体センサ測定値を送って」などの発話を与えることによって、車両コンピューティングデバイスが、3つの液体センサからなるネットワークに関連付けられた特定の意図を満たすことを要求し得る。サーバデバイスは、発話に対応するオーディオデータを処理し、オーディオデータおよびバージョン情報に基づいて、意図に対応するアクション(たとえば、4つの液体センサからデータを取り出すこと)が、車両コンピューティングデバイスの後のバージョン(たとえば、第2のバージョン)によってサポートされるだけであると判断し得る。たとえば、車両コンピューティングデバイスの直近バージョンによってサポートされるアクションは、4つの異なる液体センサから出力信号をサンプリングするためのアクションシンタックスを含み得る。したがって、3つの液体センサのみを有する車両コンピューティングデバイスが、上述したアクションを受信した場合、アクションのシンタックスは、車両コンピューティングデバイスを故障させるか、またはそうでなければ、重要でないタスクを実施させて、正しくないアクションを実行するのを促進してしまう可能性がある。サーバデバイスが、車両コンピューティングデバイスからオーディオデータおよびバージョン情報を受信したことに応答して、サーバデバイスは、車両コンピューティングデバイスに、類似タイプの意図要求に対応するオーディオデータをサーバデバイスへそれ以上送信させないために、車両コンピューティングデバイスに与えるべき命令および/またはデータを生成してよい。そうではなく、これらの命令を使って、車両コンピューティングデバイスが、ユーザが類似タイプの意図要求を要求していると判断すると、車両コンピューティングデバイスは、要求された意図のためのアクションデータをローカルに生成してよい。こうすることにより、計算用リソースおよびネットワークリソースを保持することができ、というのは、サーバデバイスはもはや、いくつかの車両コンピューティングデバイスがハードウェアおよび/またはソフトウェアバージョン制限により実行することができないアクションに対応する意図要求のためのオーディオデータを処理していないからである。
いくつかの実装形態では、ユーザからの発話に対応するオーディオデータが、車両コンピューティングデバイスとサーバデバイスの両方において処理され得る。ただし、車両が、ユーザによって要求された意図を判断することができるとき、車両コンピューティングデバイスは、車両コンピューティングデバイスがそのような意図を扱うことをサーバデバイスが以前要求したとき意図要求に応答し得る。さらに、車両コンピューティングデバイスは、車両コンピューティングデバイスがサーバデバイスと通信できるようにするためのネットワーク接続があるにもかかわらず、サーバデバイスからのさらなる支援なしで、意図のためのアクションを生成するのを促進するために動作し得る。いくつかの実装形態では、車両コンピューティングデバイスが、いくつかの意図の実施を支援することにサーバデバイスをそれ以上関わらせないための命令を受信していないとき、車両コンピューティングデバイスは依然として、サーバデバイスが車両コンピューティングデバイスのハードウェアおよび/またはソフトウェアの特定のバージョンのすべての特徴をサポートするわけではないにもかかわらず、サーバデバイスのいくつかの能力を活用することができる。
例として、ユーザは、車両の特定のサブシステムについての情報を使う意図を促進するために発話を与える場合がある。発話は、「アシスタント、いつ新しいタイヤを買う必要がある?」であってよい。車両コンピューティングデバイスがサーバデバイスとのネットワーク接続を有するとき、発話に対応するオーディオデータが、処理のためにサーバデバイスへ送信され得る。オーディオデータの受信に応答して、サーバデバイスは、ユーザによって要求される意図、ならびに車両コンピューティングデバイスに関連付けられたバージョンを判断し得る。車両コンピューティングデバイスのバージョンに基づいて、サーバデバイスは、タイヤトレッドセンサに対応するいくつかの要求およびコンピューティングデバイスのバージョンが、サーバデバイスによってもはやサポートされないと判断してよく、したがってサーバデバイスは、意図およびバージョンの判断に応答して、意図データを生成しない。たとえば、ユーザがコンピューティングデバイスの最新バージョンを有していた場合、サーバデバイスは、意図を特徴付けるデータと、車両コンピューティングデバイスにおける自動化アシスタントに、タイヤセンサのセンサ出力に基づいて、ユーザがタイヤをいつ置き換えるべきかという推定値を与えさせるためのアクションおよび/またはスロット値とを生成する(たとえば、「タイヤは約2か月で、または約1600マイルで交換するべきです」)。
ただし、車両コンピューティングデバイスは、全面的にサポートされるバージョンには対応しないので、サーバデバイスは、自然言語内容および/またはサーバデバイスがオーディオデータを処理したことに基づく他のデータを与え得る。たとえば、サーバデバイスは、導出された要求データを車両コンピューティングデバイスに与えてよく、導出された要求データは、発話の自然言語内容(たとえば、「アシスタント、いつ新しいタイヤを買う必要がある?」)を少なくとも特徴付け、かつ/またはユーザが自身のデバイスを更新することを要求するメッセージを与えることができる。車両コンピューティングデバイスの受信に応答して、車両コンピューティングデバイスは、ユーザを支援するためのメッセージを与え得る(たとえば、ユーザへのメッセージは、「車両コンピューティングデバイスを、すべてのアシスタントアクションへのアクセスを受けるように更新してください」を含み得る)。さらに、車両コンピューティングデバイスは、ユーザからの要求された意図を満たすのを促進するために実行するべき適切なアクションをローカルに生成し得る。たとえば、ローカルに判断されたアクションは、インターネットを検索すること(たとえば、「WEB_SEARCH_ACTION()」)に対応してよく、車両コンピューティングデバイスの最新のバージョンにより判断されるアクションは少なくとも、車両のサブシステムからデータを取り出し、提示すること(たとえば、「TIRE_LIFETIME_ESTIMATE_ACTION()」)に対応してよい。
例として、車両コンピューティングデバイスは、導出された要求データを受信し、また、車両コンピューティングデバイスはネットワーク接続を有するので、「いつ新しいタイヤを買う必要がある?」というフレーズを使ってインターネット検索を実施するアクション(たとえば、「WEB_SEARCH_ACTION()」)を実施することができる。インターネット検索に基づいて、自動化アシスタントは、エラーを与え、または要求されたアクションを車両コンピューティングデバイスが実施することができないことを独占的に示すのではなく、車両コンピューティングデバイスのインターフェースを介して自然言語出力を与えればよい。たとえば、インターネット検索に基づいて、自動化アシスタントは、「いくつかのソースによると、タイヤは5年ごとに、または50,000マイルごとに交換するべきです」などの可聴自然言語出力を与え得る。このようにして、ユーザが何年も操作することに興味をもつ、車両などの装置は、それらの装置のいくつかのバージョンが、製造元または他のサービスプロバイダ(たとえば、対応するサポーティングサーバデバイスを維持するエンティティ)によって部分的にサポートされないか、または完全にサポートされるわけではないにもかかわらず、特定の機能性を維持することができる。
上記説明は、本開示のいくつかの実装形態の概要として与えられている。それらの実装形態、および他の実装形態のさらなる記述について、下でより詳しく説明する。
他の実装形態は、1つまたは複数のプロセッサ(たとえば、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、および/またはテンソル処理ユニット(TPU))によって、上で、および/または本明細書の他の箇所で記載する方法のうちの1つまたは複数などの方法を実施するように実行可能な命令を記憶する非一時的コンピュータ可読記憶媒体を含み得る。さらに他の実装形態は、上で、および/または本明細書の他の箇所で記載する方法のうちの1つまたは複数などの方法を実施するように、記憶された命令を実行するように動作可能な1つまたは複数のプロセッサを含む1つもしくは複数のコンピュータおよび/または1つもしくは複数のロボットからなるシステムを含み得る。
本明細書でより詳細に記載する、上記概念と追加概念のすべての組合せは、本明細書で開示する主題の一部であることを企図されることを諒解されたい。たとえば、本開示の最後に著される、特許請求する主題のすべての組合せが、本明細書で開示する主題の一部であることを企図される。
サーバデバイスがコンピューティングデバイスのいくつかのバージョンを積極的にフェーズアウトするにもかかわらず、様々なコンピューティングデバイスに応答するサーバデバイスのビューを示す図である。 サーバデバイスがコンピューティングデバイスのいくつかのバージョンを積極的にフェーズアウトするにもかかわらず、様々なコンピューティングデバイスに応答するサーバデバイスのビューを示す図である。 サーバデバイスがコンピューティングデバイスのいくつかのバージョンを積極的にフェーズアウトするにもかかわらず、様々なコンピューティングデバイスに応答するサーバデバイスのビューを示す図である。 依然としてユーザによって使用されているどのコンピューティングデバイスバージョンの有用な応答性も保証しながら、コンピューティングデバイスバージョンのサポートをフェーズアウトするためのシステムを示す図である。 依然として動作しているどのコンピューティングデバイスバージョンの有用な応答性も保証しながら、いくつかのコンピューティングデバイスバージョンのサポートをフェーズアウトするための方法を示す図である。 コンピューティングデバイスが以前応答したことがあるどの要求への有用な応答性も保証しながら、特定のコンピューティングデバイス要求についてのサポートをフェーズアウトするための方法を示す図である。 例示的コンピュータシステムのブロック図である。
図1A、図1B、および図1Cは、サーバデバイス114が車両コンピューティングデバイスのいくつかのバージョンのサポートを積極的にフェーズアウトするにもかかわらず、様々な車両コンピューティングデバイスに応答するサーバデバイス114のビュー100、130、および150を示す。具体的には、図1Aは、サーバデバイス114などのリモートコンピューティングデバイス112によって完全にサポートされる車両コンピューティングデバイス106を示す。言い換えると、車両コンピューティングデバイス106の1つまたは複数のソフトウェアおよび/またはハードウェア構成要素のバージョンは、直近に利用可能なバージョンに対応し得る。例として、車両コンピューティングデバイス106は第3のバージョンに対応してよく、他の、以前利用可能だったバージョンは第1のバージョンおよび第2のバージョンを含み得る。サーバデバイス114は、第1のバージョンまたは第2のバージョンに従って動作している他の車両コンピューティングデバイスにおける無駄な送信および/または動作をなくすために、第3のバージョンが直近バージョンであるにもかかわらず、各バージョンにある程度のサポートを与えるように動作することができる。
図1Aに与えられているように、ユーザは、「アシスタント、今いる場所と到着時刻を行先の電話番号に送って」などの発話102を与える場合がある。発話は、第3のバージョンに従って動作する車両コンピューティングデバイスにおいて独占的に実行可能なアクションに対応し得る。したがって、車両104の車両コンピューティングデバイス106は第3のバージョンに対応するので、サーバデバイス114は、ユーザからの要求に完全に応答するように動作してよい。いくつかの実装形態では、ユーザからの要求は、すべてのバージョン(たとえば、第1のバージョン、第2のバージョン、および第3のバージョン)に対して同じである意図に対応し得るが、要求された意図のための特定のアクションは、要求を受信する車両コンピューティングデバイスに関連付けられたバージョンよって異なり得る。言い換えると、意図のために使われる識別子は、ソフトウェアおよび/またはハードウェアモジュールのすべてのバージョンに共通であってよい。たとえば、発話102により要求された意図は、MESSAGE_INTENT()として識別され得る。ただし、意図に従って実行され得るアクションはバージョンごとに異なってよく、かつ/または各アクションについてのシンタックスはバージョンごとに異なってよい。たとえば、MESSAGE_DESTINATION()アクションは、車両コンピューティングデバイスのすべてのバージョン向けに利用可能であり得るが、MESSAGE_DESTINATION()アクションの特定のシンタックスは、第3のバージョン向けには、少なくとも第1のバージョンと比べて異なり得る。例として、第3のバージョン向けのアクションシンタックスは、第1のバージョンの同じアクション向けのアクションシンタックスによって参照されない、属性、値、API、および/または任意の他のデータも参照し得る。
いくつかの実装形態では、車両コンピューティングデバイス106は、車両コンピューティングデバイス106における実行のための特定のアクションを選択するために、サーバデバイス114に依拠し得る。車両コンピューティングデバイス106は、アクションを選択するためにサーバデバイス114に依拠するかどうかをローカルに判断するか、またはアクションをローカルに判断することができる。たとえば、車両コンピューティングデバイス106は第3の、および最新のバージョンに対応するので、車両コンピューティングデバイス106は、ユーザが特定の意図を要求しているとき、サーバデバイス114がアクションデータおよび/またはスロット値データを与え得ると判断してよい。ユーザがメッセージ意図についての要求を与えたことに応答して、車両コンピューティングデバイス106は、発話102に対して音声-テキスト処理を実施すればよく、かつ/または発話102に対応するオーディオデータを、処理のためにサーバデバイス114に与えればよい。オーディオデータは、セルラー、4G、5G、LTE、Bluetooth、Wi-Fiなどのワイヤレス通信プロトコル、1つもしくは複数の長距離プロトコル、および/または任意の他のワイヤードもしくはワイヤレス通信プロトコルにより、インターネットなどのネットワーク108を介して送信され得る。
サーバデバイス114がオーディオデータを受信したことに応答して、サーバデバイス114および/またはサーバデバイス114と通信する別のデバイスが、オーディオデータに対して音声-テキスト処理を実施してよい。音声-テキスト処理から導出された、得られたテキストデータは、発話102の自然言語内容を特徴付けることができる。いくつかの事例では、ユーザは、特定の意図を具体的に生成および/または識別する1つまたは複数の自然言語用語を含む発話102を与え得る。たとえば、メッセージ意図は、電子メッセージに関連付けられ得る、送る、メッセージ、ドラフト、および/または任意の他の自然言語用語などの自然言語用語を使って識別され得る。テキストデータは、アシスタントデータ118としてサーバデバイス114において記憶されてよく、アシスタント対話エンジン122により、テキストデータに対応する自然言語理解(NLU)データを生成するようにさらに処理されてよい。いくつかの実装形態では、NLUデータを生成することによって、アシスタント対話エンジン122は、発話102によりユーザによって要求された意図を識別することができる。
いくつかの実装形態では、車両コンピューティングデバイス106がユーザから発話を受信すると、車両コンピューティングデバイス106は、発話に対応するオーディオデータを、バージョンデータとともに、サーバデバイス114へ送信し得る。バージョンデータの受信に応答して、サーバデバイス114のバージョンエンジン120は、車両コンピューティングデバイス106に対応するバージョンを判断し得る。いくつかの実装形態では、バージョンは、車両コンピューティングデバイス106の1つもしくは複数のハードウェア構成要素、車両コンピューティングデバイス106において動作する1つもしくは複数のソフトウェアモジュール、車両コンピューティングデバイス106を介してアクセス可能な自動化アシスタント、および/または車両コンピューティングデバイス106に関連付けられ得る任意の他の特性にも基づき得る。
車両コンピューティングデバイス106に対応する、要求された意図およびバージョンを識別したことに基づいて、サーバデバイス114は、車両コンピューティングデバイス106が実行するための適切なアクションを生成することができる。代替または追加として、サーバデバイス114は、意図についての1つまたは複数のスロット値を識別することもでき、スロット値は、識別されたアクションの生成中に使われてよい。サーバデバイス114は、車両コンピューティングデバイス106を使って実行され得る1つまたは複数のアクションを識別するために、バージョンデータ116を使ってよい。たとえば、車両コンピューティングデバイス106に対応する第3のバージョンは、メッセージ用のスロット値を生成するために、異なるアプリケーションからアプリケーションデータを取り出すのをサポートすることができる。したがって、ユーザは、自分の今いる場所および到着時刻が、自分の行先に関連付けられた電話番号へ送られることを要求したので、サーバデバイスは、ユーザ許可を得て、ユーザのための行先に関連付けられた、現在地(たとえば、「SLOT_VALUE_X」)、到着予定時刻(たとえば、「SLOT_VALUE_Y」)、および電話番号(たとえば、「SLOT_VALUE_Z」)を識別する他のアプリケーションデータにアクセスすることができる。このタイプのメッセージに対応するアクションは、たとえば、マルチソースメッセージアクション(たとえば、「ACTION_N」)として識別され得る。この特定のアクションは、少なくとも車両コンピューティングデバイス106が第3のバージョンに対応するとき、サーバデバイス114によって、車両コンピューティングデバイス106における実行のために選択され得る。
したがって、車両コンピューティングデバイス106が発話102を受信し、車両コンピューティングデバイス106がオーディオデータおよびバージョンデータをサーバデバイス114に与えたことに応答して、サーバデバイス114は、車両コンピューティングデバイス106に意図データ124を与えてよい。意図データ124は、意図(たとえば、「INTENT()」)、サーバが選択したアクション(たとえば、「ACTION_N」)、およびサーバデバイス114によって識別されているどのスロット値も、発話102および/またはデータの任意の他の適切なソースに基づいて識別することができる。ただし、車両コンピューティングデバイスが第3のバージョンに対応しないとき、サーバデバイス114および/または車両コンピューティングデバイスは、同様の発話を異なるように、ただし自動化アシスタント、または別のアプリケーションの、発話に対する応答性を保証するように扱ってよい。
様々な実装形態において、車両コンピューティングデバイス106は、車両と統合され、やはり車両と統合されている車両スピーカーを直接駆動する。車両コンピューティングデバイス106は、車両のオリジナル機器であってよく、またはアフターマーケットでインストールされたアクセサリであってよい。車両コンピューティングデバイス106は、車両スピーカーを直接駆動し、ならびに/あるいは特殊ツールの使用を求め、かつ/または大幅な時間および/もしくは専門技術を求めずに車両から取り外すことができないという点で統合されている。たとえば、車両コンピューティングデバイス106は、車両のコントローラエリアネットワーク(CAN)バスに接続されてよく、かつ/または車両固有コネクタ(たとえば、12V車両コンセントではなく、容易にアクセス可能な補助標準プラグでもなく)を介して動力供給されてよい。
図1Bは、第2のバージョンに対応する車両コンピューティングデバイス140にユーザが発話132を与えるビュー130を示す。車両コンピューティングデバイス140、および/または本明細書において論じる任意の他の車両コンピューティングデバイスも、1つまたは複数のメモリデバイスおよび1つまたは複数のプロセッサを含み得る。発話132の受信に応答して、車両コンピューティングデバイス140は、インターネットなどのネットワーク126を介して、リモートコンピューティングデバイス112と通信することができる。発話132は、少なくとも、違いと、サーバデバイス114が異なるバージョン向けの類似した発話をどのように扱い得るかとを示すために、図1Aの発話102と類似し得る。
たとえば、車両コンピューティングデバイス140が第2のバージョンに対応し、第3のバージョンが最新バージョンであるので、サーバデバイス114は、車両コンピューティングデバイス140に、少なくとも図1Aに示す応答と比べて、異なるように応答してよい。車両コンピューティングデバイス140は、発話132を特徴付けるオーディオデータ、ならびに第2のバージョンに対応するように車両コンピューティングデバイス140を特徴付けるバージョンデータを通信し得る。いくつかの実装形態では、車両コンピューティングデバイス140は、発話132によって具現化される特定の意図要求に応答する際に車両コンピューティングデバイス140をサーバデバイス114が支援することができる程度をローカルに判断し得る。追加または代替として、サーバデバイス114は、特定の意図要求に応答する際に車両コンピューティングデバイスをサーバデバイス114が支援することができる程度を、サーバデバイス114にとってアクセス可能なバージョンデータ116に少なくとも基づいて判断し得る。車両コンピューティングデバイス140は、発話132が、MESSAGE_INTENTに対応する意図要求を具現化すると、および車両コンピューティングデバイス140の第2のバージョンが、MESSAGE_INTENTに関して少なくとも部分的にサポートされると判断したことに応答して、オーディオデータおよびバージョンデータをサーバデバイス114に与えてよい。
例として、サーバデバイス114はオーディオデータおよびバージョンデータを受信することができ、バージョンエンジン120は、第2のバージョンを有する車両コンピューティングデバイス140をサーバデバイス114がサポートすることができる程度を判断することができる。バージョンエンジン120は、サーバデバイス114が車両コンピューティングデバイス140をサポートすることができる程度を特徴付けるデータを生成するために、車両コンピューティングデバイス140からのバージョンデータをバージョンデータ116と比較すればよい。代替または追加として、サーバデバイス114は、発話132についての自然言語理解データを生成するために、発話132の自然言語内容を特徴付けるテキストデータにアクセスすることができる。アシスタント対話エンジン122は、NLUデータを生成するのにテキストデータを使えばよく、NLUデータは、MESSAGE_INTENT、および随意には、意図要求を満たすための1つまたは複数のスロット値を特徴付ける。いくつかの実装形態では、意図および/または1つもしくは複数のスロット値は、サーバデバイス114にとってアクセス可能なアシスタントデータ118に基づいて生成され得る。
車両コンピューティングデバイス140が第2のバージョンに対応するとサーバデバイス114が判断したことに基づいて、サーバデバイス114は、車両コンピューティングデバイスへデータ128を送信してよく、データ128は、意図(たとえば、INTENT())および音声-テキストデータ(たとえば、STT_DATA(「アシスタント、...を送って」))を識別してよく、これは、発話132の自然言語内容を特徴付けることができる。音声-テキストデータを与えることによって、第3のバージョンではなく第2のバージョンに対応する車両コンピューティングデバイス140にかかわらず、計算用リソースは、発話132のいずれかのローカル処理が進行中のままである場合、車両コンピューティングデバイス140において保持され得る。さらに、サーバデバイス114が、第3のバージョンに対応するアクションデータを送信するのを回避できるようにすることによって、ネットワーク126を介してより少ないデータが送信されると、ネットワーク帯域幅が保持され得る。さらに、車両コンピューティングデバイス140が、第3のバージョンに対応するアクションデータを受信し、それを処理することを試みていた場合、そのような処理は、少なくともメッセージ意図の満足を増進することに関して、重要でなかったはずである。
車両コンピューティングデバイス140がデータ128を受信すると、車両コンピューティングデバイス140は、意図のための適切なアクションをローカルに選択することができる。たとえば、マルチソースアクション意図を識別および/または生成するのではなく、車両コンピューティングデバイス140は、車両コンピューティングデバイス140を介してアクセス可能な1つまたは複数のアプリケーションによってサポートされるアクションを識別すればよい。たとえば、車両コンピューティングデバイス140は、自動化アシスタントからの支援を受けて、地図アプリケーションによって実施されることが可能なLOCATION_MESSAGEアクションを生成することができる。たとえば、LOCATION_MESSAGEアクション用のスロット値は、地図アプリケーションによって生成され得る現在地および到着予定時刻を含み得る。ただし、車両コンピューティングデバイス140は第2のバージョンに対応するので、車両コンピューティングデバイス140は、地図に載せられた行先向けの電話番号を与えることができるアプリケーションをサポートすることができない場合がある。したがって、発話132に応答して、およびデータ128に基づいて、自動化アシスタントは、「わかりました、今いる場所と到着予定時刻をメッセージで送ります。誰にこのメッセージを送りたいですか?」などの応答142を与えることができる。それに応答して、および残りのスロット値を満たすために、ユーザは、「Albert Smith」など、別の発話132を与えればよい。LOCATION_MESSAGEアクションのためのスロット値すべてが判断されると、アクションは車両コンピューティングデバイス140において実行され得る。このようにして、車両コンピューティングデバイス140が、第3のバージョンと比べて古くなった第2のバージョンに対応するにもかかわらず、自動化アシスタントおよび/または車両コンピューティングデバイス140は依然として、計算用リソースを無駄にすることなく、要求された意図に応答するままであってよい。
図1Cは、ユーザが、サーバデバイス114によってサポートされる第1のバージョンに対応する、車両154の車両コンピューティングデバイス156に発話152を与えるビュー150を示す。具体的には、図1Cは、サーバデバイス114が、車両コンピューティングデバイス156に、要求された意図が第1の、および直近の、バージョンのアクションに関連付けられているにもかかわらず、ユーザに応答させるシナリオを示す。さらに、図1Cは、サーバデバイス114がどのように指導データを与え得るかを示し、このデータは、車両コンピューティングデバイス156に、引き続き、いくつかの意図要求に対応する特定のデータを送信するのを回避させ得る。
図1Cによると、ユーザは、「アシスタント、今いる場所と到着予定時刻を行先の電話番号に送って」などの発話152を与え得る。図1Aおよび図1Bに関して論じたように、上述した発話は、サーバデバイス114によって完全にサポートされるか、またはサーバデバイス114によって部分的にサポートされ得る。ただし、いくつかの状況では、サーバデバイス114は、バージョンエンジン120およびバージョンデータ116を使って、サーバデバイス114は1つまたは複数の要求された意図をもはやサポートしないと判断し得る。例として、発話152を特徴付けるオーディオデータの受信に応答して、サーバデバイス114は、車両コンピューティングデバイス156が第1のバージョンに対応すると判断し、発話152によりユーザによって要求された1つまたは複数の意図を識別し得る。識別された意図が、直近バージョン(たとえば、第3のバージョン)によってもはやサポートされない意図に対応する場合、サーバデバイス114は、車両コンピューティングデバイス156が、そのような要求をサーバデバイス114に提出するための能力を制限することに関する指導データを受信したかどうかをさらに判断し得る。代替または追加として、車両コンピューティングデバイス156は、ネットワーク158を介して、オーディオデータ、バージョンデータ、および/またはいくつかの意図に関して車両コンピューティングデバイス156の制限を特徴付けるデータを送信し得る。制限データを受信したことに応答して、サーバデバイス114は、サーバデバイス114が車両コンピューティングデバイス156からのデータに応答するべき、かつ/または応答する予定の程度を判断することができる。
たとえば、オーディオデータ、データ、および制限を特徴付けるデータの受信に応答して、サーバデバイス114は、車両コンピューティングデバイス156が第1のバージョンに従って動作していると、ならびに車両コンピューティングデバイス156が、1つもしくは複数の意図および/または1つもしくは複数のアクションのための意図データ、アクションデータ、および/またはスロットデータをもはや要求しないように命令されたと判断し得る。サーバデバイス114は、ユーザによって要求された1つまたは複数の意図を特徴付け得る自然言語理解データを生成するために、オーディオデータを処理することができる。1つまたは複数の特徴付けられた意図が、制限データによって識別される1つまたは複数の意図に対応する場合、サーバデバイス114は、少なくとも1つまたは複数の特徴付けられた意図に関して、車両コンピューティングデバイス156向けの意図データ、アクションデータ、および/またはスロットデータを生成するのを回避してよい。さらに、サーバデバイス114は、意図データ、アクションデータ、および/またはスロットデータを生成することにリソースを使うのではなく、サーバデバイス114は、音声-テキストデータを生成すればよい。ローカル車両コンピューティングデバイス156の処理能力、および/または何個のアプリケーションが車両コンピューティングデバイス156において同時に稼動しているかに依存して、サーバデバイス114から音声-テキストデータを与えられることによって、車両コンピューティングデバイス156における処理帯域幅を保持することができる。
いくつかの実装形態では、サーバデバイス114が、車両コンピューティングデバイス156に対応するバージョンがフェーズアウトの対象であるが、指導データを与えられていないと判断した場合、サーバデバイス114は、車両コンピューティングデバイス156へデータ160を送信してよく、データ160は、音声-テキストデータおよび/または車両コンピューティングデバイス156に関連付けられた特定のバージョンについての制限を特徴付ける指導データを含み得る。指導データの受信に応答して、車両コンピューティングデバイス156は、その構成を、引き続き、特定の意図データ、アクションデータ、および/またはスロットデータのためにサーバデバイス114に依拠するのを、および/または問い合わせるのを回避させるように更新することができる。
サーバデバイス114が車両コンピューティングデバイス156のバージョンの制限を確認し、サーバデバイス114が音声-テキストデータを与える状況では、車両コンピューティングデバイス156は、ユーザに応答するのを、および/またはそうでなければ要求された意図を満たすのを促進するために、音声-テキストデータ、またはローカルに生成された音声-テキストデータを使うことができる。たとえば、車両コンピューティングデバイス156は、音声-テキストデータに基づいて、ユーザが特定の意図を要求したと判断し得る。さらに、サーバデバイス114は、意図のための特定のアクションを選択していないので、車両コンピューティングデバイス156は、NEW_MESSAGEアクションなどのアクションをローカルに生成すればよい。さらに、車両コンピューティングデバイス156は、NEW_MESSAGEアクションにとって必須の1つまたは複数のスロットがスロット値を割り当てられているかどうかを判断し得る。たとえば、「MESSAGE_BODY()」というスロット値が欠落しているか、またはそうでなければ音声-テキストデータを使って車両コンピューティングデバイス156によって識別可能でない場合、車両コンピューティングデバイス156は、ユーザにクエリ162を与えればよい。それに応答して、車両コンピューティングデバイス156は、「わかりました、どんなメッセージにしますか?」などの自然言語出力を与え得る。続いて、ユーザは、「今、向かっています」など、別の発話152を与え得る。ユーザと車両コンピューティングデバイス156との間のこの対話は、すべての必須スロットがスロット値を割り当てられるまで、および/または車両デバイス156を介してアクションが実施されるまで続き得る。このようにして、車両コンピューティングデバイス156が第1のバージョン、またはそうでなければ直近バージョンでないバージョンに対応するにもかかわらず、車両コンピューティングデバイス156は少なくとも、ユーザに応答し、サーバデバイス114の特定の機能性を活用することができる。こうすることにより、車両コンピューティングデバイス156は、より長い使用期間だけ、ユーザに応答することができると同時に、無駄なネットワーク通信ならびに/またはメモリおよび/もしくは処理帯域幅などの計算用リソースの非効率な使用もなくす。
図2は、依然として動作中のどのコンピューティングデバイスバージョンの有用な応答性も保証しながら、コンピューティングデバイス(たとえば、車両コンピューティングデバイスおよび/または任意の他のクライアントデバイス)バージョンのフェーズアウトのためのシステム200を示す。自動化アシスタント204は、クライアントデバイス218、および/またはサーバデバイス202など、1つまたは複数のコンピューティングデバイスにおいて与えられる自動化アシスタントアプリケーションの一部として動作し得る。ユーザは、1つまたは複数のアシスタントインターフェース220を介して自動化アシスタント204と対話することができ、アシスタントインターフェースは、マイクロフォン、カメラ、タッチスクリーンディスプレイ、ユーザインターフェース、および/またはユーザとアプリケーションとの間のインターフェースを与えることが可能な任意の他の装置のうちの1つまたは複数を含み得る。たとえば、ユーザは、自動化アシスタント204に機能を実施させる(たとえば、データを与えさせ、周辺デバイスを制御させ、エージェントにアクセスさせる、など)ために、アシスタントインターフェースに言葉、テキスト、またはグラフィカル入力を与えることによって、自動化アシスタント204を初期化することができる。クライアントデバイス218はディスプレイデバイスを含んでよく、ディスプレイデバイスは、ユーザがタッチインターフェースを介してクライアントデバイス218および/またはサーバデバイス202のアプリケーションを制御できるようにするためのタッチ入力および/またはジェスチャーを受信するためのタッチインターフェースを含むディスプレイパネルであってよい。
いくつかの実装形態では、クライアントデバイス218は、ディスプレイデバイスはもたないがオーディオインターフェース(たとえば、スピーカーおよび/またはマイクロフォン)を含む場合があり、そうすることによって、グラフィカルユーザインターフェース出力を与えずに、可聴ユーザインターフェース出力を与え、ならびに発話された自然言語入力をユーザから受信するための、マイクロフォンなどのユーザインターフェースを与える。たとえば、いくつかの実装形態では、クライアントデバイス218は、1つまたは複数のボタンなど、1つまたは複数の触覚入力インターフェースを含み、グラフィックス処理ユニット(GPU)からグラフィカルデータを与えられるディスプレイパネルは省く場合がある。このようにして、かなりのエネルギーおよび処理リソースが、ディスプレイパネルおよびGPUを含むコンピューティングデバイスと比較して節約され得る。
クライアントデバイス218は、インターネットなどのネットワーク240を介してサーバデバイス202と通信してよい。クライアントデバイス218は、クライアントデバイス218において計算用リソースを保持するために、サーバデバイス202に計算タスクをオフロードすればよい。たとえば、サーバデバイス202は自動化アシスタント204を収容することができ、クライアントデバイス218は、1つまたは複数のアシスタントインターフェース220において受信された入力をサーバデバイス202へ送信すればよい。ただし、いくつかの実装形態では、自動化アシスタント204は、クライアントデバイス218において収容され得る。様々な実装形態において、自動化アシスタント204のすべての、またはすべてよりも少ない態様が、リモートコンピューティングデバイス242および/またはクライアントデバイス218上で実装され得る。それらの実装形態のうちのいくつかでは、自動化アシスタント204の態様は、クライアントデバイス218のローカル自動化アシスタント222と、自動化アシスタント204の他の態様を実装することができるサーバデバイス202とのインターフェースとにより実装される。サーバデバイス202は、複数のユーザおよびそれらに関連付けられたアシスタントアプリケーションに、複数のスレッドを介して随意にサービスすることができる。自動化アシスタント204のすべての、またはすべてよりも少ない態様がクライアントデバイス218のローカル自動化アシスタント222により実装される実装形態において、ローカル自動化アシスタント222は、クライアントデバイス218のオペレーティングシステムとは別個のアプリケーション(たとえば、オペレーティングシステムの「上に」インストールされた)であってよく、または代替として、クライアントデバイス218のオペレーティングシステムによって直接実装されて(たとえば、オペレーティングシステムのアプリケーションと見なされるが、それと一体であって)よい。
いくつかの実装形態では、自動化アシスタント204および/または自動化アシスタント222は入力処理エンジン206を含んでよく、エンジン206は、クライアントデバイス218向けの入力および/または出力を処理するための複数の異なるモジュールを利用することができる。たとえば、入力処理エンジン206は、アシスタントインターフェース220において受信されたオーディオデータを処理して、オーディオデータ中で具現化されたテキストを識別することができる音声処理エンジン208を含み得る。オーディオデータは、たとえば、クライアントデバイス218において計算用リソースを保持するために、クライアントデバイス218からサーバデバイス202へ送信され得る。
オーディオデータをテキストに変換するためのプロセスは音声認識アルゴリズムを含んでよく、音声認識アルゴリズムは、ニューラルネットワーク、および/または単語もしくはフレーズに対応するオーディオデータのグループを識別するための統計モデルを利用することができる。オーディオデータから変換されたテキストは、自然言語理解(NLU)/意図エンジン210によって解析され、ユーザによって要求された1つまたは複数の意図を識別するのに使うことができるデータとして、自動化アシスタント204に対して利用可能にされ得る。いくつかの実装形態では、NLU/意図エンジン210によって与えられた出力データは、自動化アシスタント204によって実施されることが可能な特定のアクションおよび/もしくはルーチンならびに/または自動化アシスタント204によってアクセスされることが可能なアプリケーションもしくはエージェントに対応する入力をユーザが与えたかどうかを判断するために、アクションエンジン214に与えられてよい。たとえば、アシスタントデータ216は、サーバデバイス202および/またはクライアントデバイス218において、クライアントデータ230として記憶されてよく、自動化アシスタント204、および/または自動化アシスタント222によって実施されることが可能な1つまたは複数のアクションを定義するデータ、ならびにそれらのアクションを実施することに関わる任意のスロット値および/または他のパラメータも含み得る。
ユーザが特定の意図、ルーチン、および/またはアクションが満たされ、かつ/またはそうでなければ実施されることを要求したと入力処理エンジン206が判断すると、スロットエンジン212は、特定の意図および/またはアクションのスロットについての1つまたは複数のスロット値を判断することができ、アクションエンジン214は次いで、特定の意図、アクション、ルーチン、および/または1つもしくは複数のスロット値に基づいて、ユーザに出力を与えることができる。たとえば、いくつかの実装形態では、車両238のクライアントデバイス218のアシスタントインターフェース220に向けられたジェスチャーなどのユーザ入力に応答して、自動化アシスタント222は、ジェスチャーを特徴付けるデータを、サーバデバイス202へ送信させてよく、サーバデバイスは、意図ならびに/またはユーザが自動化アシスタント204および/もしくは自動化アシスタント222に実施させることを意図しているアクションを判断することができる。
いくつかの実装形態では、クライアントデバイス218は、デスクトップコンピュータ、ラップトップコンピュータ、セルラーフォンなどのポータブルコンピューティングデバイス、タブレットコンピューティングデバイス、スマートホームデバイス、および/またはサーバデバイスと直接もしくは間接通信する任意の他のデバイスであってもよいが、それらに限定されない。クライアントデバイス218は、時間とともに変化し得る特定のバージョンに対応することができる。たとえば、クライアントデバイス218は、サーバデバイス202からサポートを受けるための直近バージョンに対応することができ、またはクライアントデバイス218は、サーバデバイス202からサポートを受けるための直近バージョンでないバージョンに対応することができる。バージョンは、クライアントデバイス218の1つもしくは複数の物理ハードウェア構成要素、クライアントデバイス218のオペレーティングシステム、クライアントデバイス218において利用可能な1つもしくは複数のアプリケーション、自動化アシスタント222、および/またはクライアントデバイス218に関連付けられ得る任意の他の装置もしくはモジュールにも対応し得る。
サーバデバイス202が特定のバージョンをサポートするのをフェーズアウトするために、サーバデバイス202はバージョンエンジン234を含んでよく、バージョンエンジン234から、サーバデバイス202は、特定のバージョン向けのサポートに対する制限を判断することができる。たとえば、バージョンエンジン234および/またはサーバデータ236を使って、サーバデバイス202は、クライアントデバイス218が、サーバデバイス202によって完全にサポートされるバージョンに対応すると判断し得る。言い換えると、バージョンは、少なくとも他のバージョンと比べて、クライアントデバイス218からのいくつかの意図要求に応答することに対して制限がないときに完全にサポートされ得る。
例として、クライアントデバイス218が、完全にサポートされるバージョンに対応し、ユーザが、特定の意図のために、クライアントデバイス218のアシスタントインターフェース220に発話を与えたとき、サーバデバイス202は、意図を特徴付けるタスクを負わせられる場合があり、適切なアクションおよび随意には、スロット値を生成し、これらは、クライアントデバイス218によって、特定の意図を満たすのに使われ得る。代替として、クライアントデバイス218が、部分的にサポートされるバージョンに対応し、ユーザが、発話された出来事を、その特定の意図のためにアシスタントインターフェース220に与えたとき、サーバデバイス202は、意図を特徴付け、随意には、スロット値を生成するタスクを負わせられ得る。意図および/またはスロット値を特徴付ける、得られたデータは次いで、クライアントデバイス218へ返されてよく、クライアントデバイス218は、アクションエンジン228を利用して、特定の意図に対応するとともにクライアントデバイス218のバージョンによってもサポートされるアクションを生成することができる。
いくつかの実装形態では、バージョンエンジン234は、クライアントデバイス218が、サーバデバイス202によってもはやサポートされていないバージョンに対応すると判断し得る。たとえば、アシスタントインターフェース220においてユーザから発話の受信に応答して、クライアントデバイス218は、発話に対応するオーディオデータ、およびバージョンデータ232をサーバデバイス202へ送信してよい。クライアントデバイス218において記憶されたバージョンデータ232は、クライアントデバイス218に対応する1つもしくは複数のバージョン、および/または1つもしくは複数のサーバデバイスによって説明されている1つもしくは複数の制限を示し得る。制限は、クライアントデバイス218が意図データ、アクションデータ、スロットデータ、および/またはユーザからのいくつかの要求に対応する任意の他のデータも与えるためにサーバデバイス202に依拠しないための命令を含み得るが、それらに限定されない。バージョンデータを使って、サーバデバイス202は、クライアントデバイス218が、サーバデバイス202によって完全にサポートされる、部分的にサポートされる、それとももはやサポートされていないバージョンに対応するかを判断することができる。
クライアントデバイス218が、サーバデバイス202についてもはやサポートされていないバージョンに対応するとき、サーバデバイス202は、クライアントデバイス218から受信されたオーディオデータを処理し、発話の自然言語内容を特徴付けるテキストデータを、クライアントデバイス218に返せばよい。したがって、意図、アクション、および/またはスロット値サポートはクライアントデバイス218に与えられず、むしろ、音声-テキストサービスは依然として、クライアントデバイス218とリモートコンピューティングデバイス242との間のネットワーク接続が利用可能であるとき、クライアントデバイス218にとって利用可能であってよい。これにより、サーバデバイス202よりも少ないメモリを有する場合があるクライアントデバイス218における無駄な処理をなくすことができる。たとえば、クライアントデバイス218は、やや古いバージョンのハードウェアに対応し、したがって、200MBのRAMを含むだけであるが、サーバデバイス202は8GBのRAMを含むとき、サーバデバイス202は、オーディオデータに対する音声-テキスト処理を、クライアントデバイス218が音声-テキスト処理を実施し得るよりも少ない時間で完了することができる。その結果、クライアントデバイス218が、オーディオデータをテキストデータに変換するのに、音声-テキストエンジン224を利用している間、クライアントデバイス218は、生じたテキストデータをサーバデバイス202から受信することができる。クライアントデバイス218は次いで、進行中のローカル音声-テキスト処理を終了すると決めてよく、少なくとも、サーバデバイス202によって生成されたテキストデータにより、クライアントデバイス218がそのようなデータを生成する必要がなくなるからである。
いくつかの実装形態では、サーバデバイス202によって部分的にサポートされるバージョンに対応するクライアントデバイス218は、発話用のオーディオデータをローカルに処理し、また、オーディオデータを、処理のためにサーバデバイス202へ送信することができる。オーディオデータを用いるローカル処理は、発話の自然言語内容を特徴付けるテキストデータから自然言語理解(NLU)データを生成することが可能なNLU/意図エンジン226によって実施され得る。自然言語理解データは、1つまたは複数の要求された意図を特徴付けることができる。サーバデバイス202が、クライアントデバイス218よりも短い時間期間で自然言語理解データを生成する場合、クライアントデバイス218は、自然言語理解データのためにサーバデバイス202に依拠してよい。ただし、その後、クライアントデバイス218は、少なくとも、クライアントデバイス218のそのバージョンによって実施され得る適切なアクションを生成するために、アクションエンジン228に、サーバデバイス202からの自然言語理解データを処理させ得る。バージョンデータは、1つもしくは複数のハードウェア構成要素、1つもしくは複数のソフトウェア構成要素、および/またはクライアントデバイスの任意の他の特徴の1つまたは複数の特性も特徴付けることができる。たとえば、いくつかの実装形態では、バージョンデータは、クライアントデバイスの1つまたは複数の動作仕様を特徴付けることができる。代替または追加として、バージョンデータは、クライアントデバイス218のアプリケーションおよび/またはオペレーティングシステムの1つまたは複数の動作仕様を特徴付けることができる。代替または追加として、バージョンデータは、クライアントデバイス218の製造元、クライアントデバイスの構成要素、および/またはクライアントデバイス218のアプリケーションもしくはオペレーティングシステムのソフトウェア製造元によって指定されてよい。いくつかの実装形態では、バージョンデータは、1人または複数のユーザに対応するアカウントおよび/または加入層を特徴付けることができる。たとえば、バージョンデータは、1つまたは複数のデバイスを、1つまたは複数のアカウント層(たとえば、完全なメンバーシップおよび/または全面的サービス層)に対応するものとして特徴付けることができ、他のバージョンデータは、1つまたは複数の他のデバイスを、1つまたは複数の他のアカウント層(たとえば、制限されたメンバーシップおよび/または制限されたサービス層)に対応するものとして特徴付けることができる。
図3は、依然として動作している任意のコンピューティングデバイスバージョンの有用な応答性も保証しながら、いくつかのコンピューティングデバイスバージョンのサポートをフェーズアウトするための方法300を示す。方法300は、1つまたは複数のコンピューティングデバイス、アプリケーション、および/または自動化アシスタントに関連付けられ得る任意の他の装置もしくはモジュールによっても実施され得る。方法300は、コンピューティングデバイスにおいて発話が検出されたかどうかを判断する動作302を含み得る。コンピューティングデバイスは、車両コンピューティングデバイス、モバイルコンピューティングデバイス、デスクトップコンピューティングデバイス、セルラーデバイス、サーバデバイス、および/またはコンピューティングデバイスとして動作することが可能な任意の他の装置であってもよいが、それらに限定されない。発話は、コンピューティングデバイスのユーザからの発話された自然言語入力であってよい。発話は、たとえば、「アシスタント、音楽を流して」であってよい。
方法300は動作302から動作304へ進んでよく、動作304は、コンピューティングデバイスに対応するバージョンを判断することを含み得る。代替として、発話が検出されない場合、動作302は、コンピューティングデバイスにおいて発話が検出されるまで繰り返してよい。ただし、動作304に関して、コンピューティングデバイスに対応するバージョンは、コンピューティングデバイス全体、コンピューティングデバイスの1つもしくは複数のハードウェア構成要素、コンピューティングデバイスの1つもしくは複数のソフトウェア構成要素、および/またはバージョンによって特徴付けられ得る、コンピューティングデバイスの任意の他の特徴向けのバージョンであってもよい。たとえば、コンピューティングデバイスは、特定のバージョンに対応し得るローカル自動化アシスタントとして動作することができる。したがって、ローカル自動化アシスタントは、ローカル自動化アシスタントを有するバージョンに従って異なるように応答すればよい。同様に、コンピューティングデバイス全体は、随意には車両と一体であってよいコンピューティングデバイス全体に対応する特定のバージョンに従って、異なるように応答すればよい。
方法300は動作304から動作306へ進んでよく、動作306は、コンピューティングデバイスのバージョンがサーバデバイスによって完全にサポートされるかどうかを判断することを含み得る。動作306はサーバデバイスによって実施されてよく、サーバデバイスは、コンピューティングデバイスからバージョンデータを受信するか、またはそうでなければ、コンピューティングデバイスにおいて発話が検出されたとの判断に応答して、バージョンデータにアクセスすることができる。コンピューティングデバイスに対応するバージョンが、サーバデバイスによって完全にサポートされると判断されると、方法300は動作308へ進み得る。代替として、コンピューティングデバイスに対応するバージョンが、サーバデバイスによって完全にサポートされるわけではないと判断されると、方法300は動作310へ進み得る。
動作308は、発話の自然言語内容に基づいてアクションデータを生成することを含み得る。アクションデータは、コンピューティングデバイスの特定のバージョンによって実施されることが可能であり、また、サーバデバイスによって現在サポートされている1つまたは複数のアクションを特徴付けることができる。たとえば、少なくとも、上述した例(たとえば、「アシスタント、音楽を流して」)に対応して、アクションデータは、STREAM_MUSICアクションを生成することができ、このアクションは、PLAY_MUSIC意図に対応する。
動作310は、コンピューティングデバイスに対応するバージョンがサーバデバイスによって少なくとも部分的にサポートされるかどうかを判断することを含み得る。コンピューティングデバイスに対応するバージョンが、サーバデバイスによって少なくとも部分的にサポートされると判断されると、方法300は動作312へ進み得る。動作312は、自然言語内容に基づいて意図/NLUデータおよび/またはスロットデータを生成することを含み得る。意図/NLUデータは、発話によりユーザによって要求された意図を特徴付けることができ、スロットデータは、1つまたは複数のスロット値を特徴付けることができ、スロット値は、コンピューティングデバイスが1つまたは複数のアクションを実施しているときに使われ得る。たとえば、ユーザが、自分の発話において、再生するべきアーティストを指定した場合、スロットデータは、アーティスト名を特徴付けることができる。このようにして、サーバデバイスが、コンピューティングデバイスに対応するバージョンを完全にサポートするわけではないにもかかわらず、サーバデバイスは、しかしながら、コンピューティングデバイスにおける計算用リソースの無駄をなくすために、有用な情報をコンピューティングデバイスに与えてよい。
コンピューティングデバイスに対応するバージョンが、サーバデバイスによって少なくとも部分的にサポートされるわけではないとき、方法300は、動作314へ進み得る。動作314は、発話の自然言語内容に基づいてテキストデータを生成することを含み得る。コンピューティングデバイスは、少なくともサーバデバイスと比べて、制限された処理帯域幅および/またはメモリを有し得るので、コンピューティングデバイスの計算用リソースは、しかしながら、少なくとも音声-テキスト処理のためにサーバデバイスに依拠することによって保持され得る。コンピューティングデバイスに対応するバージョンがサーバデバイスによって完全にサポートされるとき、動作308、動作312、および/または動作314は、その特定のバージョン向けにサーバデバイスによって実施され得ることに留意されたい。さらに、コンピューティングデバイスに対応するバージョンが、サーバデバイスによって少なくとも部分的にサポートされると判断されたとき、動作312および/または動作314は、その特定のバージョン向けにサーバデバイスによって実施され得る。
方法300は、動作314から、生成されたデータをコンピューティングデバイスに与えるための動作316へ進み得る。生成されたデータは、コンピューティングデバイスに対応するバージョンをサーバデバイスがサポートする程度に依存して、アクションデータ、意図/NLUデータ、スロットデータ、および/またはテキストデータに対応し得る。したがって、サーバデバイスは、特定のバージョンを完全に、または部分的にサポートするわけではない場合があるが、サーバデバイスは、しかしながら、コンピューティングデバイスがユーザからの発話を処理するのを支援する、ある程度の量のデータを与えることができる。サーバデバイスが、コンピューティングデバイスに対応するバージョンをもはやサポートしないとき、コンピューティングデバイスは、ユーザからの要求を満たすための1つまたは複数のアクションをローカルに選択するために、サーバデバイスから与えられた音声-テキストデータを使えばよい。たとえば、上述した例に関して、サーバデバイスが、コンピューティングデバイスに対応するバージョンを完全に、または部分的にサポートするわけではないとき、サーバデバイスは、発話の自然言語内容を特徴付けるテキストデータ(たとえば、「STT_DATA(「アシスタント、音楽を流して」)」)を与えればよい。それに応答して、コンピューティングデバイスは、ユーザによって要求された意図(たとえば、「PLAY_MUSIC」)を判断し、コンピューティングデバイスにより利用可能なアクション(たとえば、「SHUFFLE_MUSIC()」)を選択し得る。このようにして、サーバデバイスとコンピューティングデバイスとの間の無駄な通信をなくすことができるとともに、ユーザに応答性も与える。そのような利益は、ユーザが、直近バージョンあるバージョンに、またはサーバデバイスによって少なくとも部分的にサポートされるわけではないバージョンにさえも対応するコンピューティングデバイスを利用していないのにもかかわらず実現され得る。サーバデバイスによるサポートは、意図固有サポートを指し得るが、ユーザからの発話の自然言語内容にかかわらずサーバデバイスによって実施され得る音声-テキスト処理などの意図非依存サポートを含まないことに留意されたい。
図4は、コンピューティングデバイスが以前応答したことがある任意の要求への有用な応答性も保証しながら、特定の要求についてのサポートをフェーズアウトするための方法400を示す。方法400は、1つまたは複数のコンピューティングデバイス、アプリケーション、および/または自動化アシスタントに関連付けられ得る任意の他の装置もしくはモジュールによっても実施され得る。方法400は、コンピューティングデバイスにおいて発話が検出されたかどうかを判断する動作402を含み得る。コンピューティングデバイスは、車両コンピューティングデバイス、モバイルコンピューティングデバイス、デスクトップコンピューティングデバイス、セルラーデバイス、サーバデバイス、および/またはコンピューティングデバイスとして動作することが可能な任意の他の装置であってもよいが、それらに限定されない。発話は、コンピューティングデバイスのユーザからの発話された自然言語入力であってよい。例として、発話は、コンピューティングデバイスが、IoTデバイスなどの周辺デバイスを制御するための要求(たとえば、「アシスタント、スマートTVのバックライトを弱めて」)を含み得る。
方法400は動作402から動作404へ進んでよく、動作404は、発話により要求された意図を判断することを含み得る。意図は、ユーザからの要求を特徴付けることができ、かつ/または異なるそれぞれのコンピューティングデバイスによって実施されることが可能な1つもしくは複数の異なるアクションに関連付けられてよい。たとえば、「アシスタント、スマートTVのバックライトを弱めて」という発話に対応する意図は、ADJUST_TV_SETTING意図などの意図に対応し得る。コンピューティングデバイスに対応する少なくともいくつかのバージョンは、BACKLIGHT_ADJUSTアクションなどの意図のためのアクションをサポートすることができ、コンピューティングデバイスに対応する他のバージョンは、BACKLIGHT_ADJUSTアクションはサポートしないが、むしろ、SETTING_ADJUSTアクションを実行することができる。
方法400は動作404から動作406へ進んでよく、動作406は、自然言語内容に基づいて、テキストまたはデータを生成および/または受信することを含み得る。いくつかの実装形態では、コンピューティングデバイスとサーバデバイスの両方が、コンピューティングデバイスが発話を検出したことに応答して、音声-テキスト処理を実施することができる。具体的には、コンピューティングデバイスは、発話の受信に応答してオーディオデータを生成し、ユーザからの許可を得て、オーディオデータをサーバデバイスに与え、また、オーディオデータをローカルに処理することができる。サーバデバイスがオーディオデータの提供に応答しない場合、コンピューティングデバイスは、発話の自然言語内容を特徴付けるテキストデータを生成するために、オーディオデータをローカルに処理すればよい。サーバデバイスから、および/またはコンピューティングデバイスから受信されたコンテキストデータは、満たされることを要求される1つまたは複数の意図を識別するためにさらに処理され得る。
方法400は動作406から動作408へ進んでよく、動作408は、1つまたは複数の識別された意図がサーバデバイスによって完全にサポートされるかどうかを判断することを含み得る。いくつかの実装形態では、動作408は、コンピューティングデバイスが、発話の自然言語内容から識別された1つまたは複数の意図のためのサポートをもはや要求しないよう命令されたかどうかを判断することを含み得る。1つもしくは複数の意図がサーバデバイスによって完全にサポートされると、またはコンピューティングデバイスが1つもしくは複数の意図のためのサポートを要求することを完全に防止されるわけではないとコンピューティングデバイスが判断したとき、方法400は動作408から動作410に進み得る。代替として、1つもしくは複数の意図がサーバデバイスによって少なくとも部分的にサポートされないか、またはコンピューティングデバイスが1つもしくは複数の意図のためのサポートを要求することを完全に防止されるとコンピューティングデバイスが判断したとき、方法400は動作408から動作412に進み得る。
動作410は、自然言語内容、および/または自然言語内容から識別された1つもしくは複数の意図に基づいてアクションデータを要求することを含み得る。たとえば、コンピューティングデバイスは、ADJUST_TV_SETTING意図を識別することができ、コンピューティングデバイスに対応するバージョンを与えられると、意図がサーバデバイスによって完全にサポートされるとの判断に応答して、コンピューティングデバイスは、サーバデバイスに対してアクションデータを要求し得る。たとえば、アクションデータは、BACKLIGHT_ADJUSTアクションを特徴付けることができ、このアクションは、他のコンピューティングデバイスにより動作する他のバージョンと比べて、直近バージョンによって実行可能であり得る。
方法400は動作408から動作412へ進んでよく、動作412は、1つまたは複数の識別された意図がサーバデバイスによって部分的にサポートされるかどうかを判断することを含み得る。いくつかの実装形態では、動作412は、コンピューティングデバイスが、発話の自然言語内容から識別された1つまたは複数の意図のための特定のサポートのみを要求するよう命令されたかどうかを判断することを含み得る。コンピューティングデバイスが、1つもしくは複数の意図がサーバデバイスによって少なくとも部分的にサポートされると、またはコンピューティングデバイスが1つもしくは複数の意図のためのサポートのタイプを制限されていないと判断すると、方法400は、動作412から動作414へ進み得る。代替として、コンピューティングデバイスが、1つもしくは複数の意図がサーバデバイスによって少なくとも部分的にサポートされないか、またはコンピューティングデバイスが1つもしくは複数の意図のためのサポートを要求することを制限されると判断したとき、方法400は動作412から動作416に進み得る。
動作414は、サーバデバイスに対して意図/NLUデータおよび/またはスロットデータを要求することを含み得る。意図/NLUデータおよび/またはスロットデータは、コンピューティングデバイスに対応するバージョンにより実行可能なままである特定の機能を識別するために、コンピューティングデバイスによって使われ得る。たとえば、サーバデバイスおよび/またはコンピューティングデバイスはADJUST_TV_SETTINGという意図を識別することができ、サーバデバイスは、コンピューティングデバイスによって選択されるべきアクション用のスロットデータを識別することができる。たとえば、スロットデータは、少なくとも発話の自然言語内容に基づいて、「バックライト」などのスロット値を含み得る。
意図が、少なくとも、コンピューティングデバイスに対応するバージョンに対して、サーバデバイスによってもはやサポートされていないと判断されると、方法400は、動作412から動作416へ進み得る。動作416は、要求された意図を満たすためのアクションをローカルに選択することを含む。たとえば、コンピューティングデバイスは、サーバデバイスが以前、ADJUST_TV_SETTING意図に対するサポートを要求するために、コンピューティングデバイスの能力を完全に制限するための命令を与えたと判断し得る。この判断に基づいて、コンピューティングデバイスは、SETTING_ADJUST()というアクションをローカルに選択すればよく、このアクションは、実行されると、ユーザにTVの設定に対する調節を行わせるために、TVにメニューを表示させる。
いくつかの実装形態では、方法400は、コンピューティングデバイスがサーバデバイスからのサポートを活用するために、動作410から動作414へ進み得る。方法400は、動作414および/または動作416から動作418へ進み得る。動作418は、要求された意図を満たすのを促進するためのアクションを実施することを含み得る。アクションがコンピューティングデバイスにおいてローカルに識別されるとき、実施は、ローカルに選択されたアクションを実行することを含み得る。アクションがサーバデバイスによって識別されるとき、実施は、リモートで選択されたアクションを実行することを含み得る。このようにして、コンピューティングデバイスに対応するバージョンが直近バージョンであるか、それとも直近バージョンでないかにかかわらず、コンピューティングデバイスは、しかしながら、ユーザからの発話に、ユーザにとって有用であるように応答するとともに、計算用リソースの無駄もなくす。たとえば、リモートで選択されたアクションは、BACKLIGHT_ADJUSTアクションを実施させることができる。代替として、ローカルに選択されたアクションコンピュータは、SETTING_ACTION_ADJUSTアクションを実施させることができ、そうすることによって、TV、または別のデバイスにメニューを表示させる。バージョンが、特定の意図のためにサーバデバイスによって少なくとも部分的にサポートされ、サーバデバイスがスロットデータを与えたとき、ローカルに選択されたアクションは、メニューを表示させ、メニューのバックライト調節部分を識別するサブメニューを表示させることができる。このようにして、部分的サポートは依然として、コンピューティングデバイスが直近バージョンに従って動作しないにもかかわらず、コンピューティングデバイスが、サーバデバイスの計算プロセスを活用できるようにする。
図5は、例示的コンピュータシステム510のブロック図である。コンピュータシステム510は通常、バスサブシステム512を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ514を含む。これらの周辺デバイスは、たとえば、メモリ525およびファイル記憶サブシステム526を含む記憶サブシステム524と、ユーザインターフェース出力デバイス520と、ユーザインターフェース入力デバイス522と、ネットワークインターフェースサブシステム516とを含み得る。入力および出力デバイスは、コンピュータシステム510とのユーザ対話を可能にする。ネットワークインターフェースサブシステム516は、外部ネットワークへのインターフェースを与え、他のコンピュータシステム中の対応するインターフェースデバイスに結合される。
ユーザインターフェース入力デバイス522は、キーボード、マウス、トラックボールなどのポインティングデバイス、タッチパッド、もしくはグラフィックスタブレット、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクロフォンなどのオーディオ入力デバイス、および/または他のタイプの入力デバイスを含み得る。概して、「入力デバイス」という用語の使用は、すべての可能なタイプのデバイスと、コンピュータシステム510中に、または通信ネットワーク上に情報を入力する方法とを含むことを意図している。
ユーザインターフェース出力デバイス520は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚ディスプレイを含み得る。ディスプレイサブシステムは、ブラウン管(CRD)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視画像を作成するための何らかの他の機構を含み得る。ディスプレイサブシステムは、オーディオ出力デバイスを介するなどして、非視覚ディスプレイも与え得る。概して、「出力デバイス」という用語の使用は、すべての可能なタイプのデバイスと、コンピュータシステム510からユーザに、または別の機械もしくはコンピュータシステムに情報を出力する方法とを含むことを意図している。
記憶サブシステム524は、本明細書に記載するモジュールの一部または全部の、機能性を提供するプログラミングおよびデータ構造体を記憶する。たとえば、記憶サブシステム524は、方法300、方法400、および/もしくはサーバデバイス114、車両コンピューティングデバイス106、車両104、車両コンピューティングデバイス140、車両134、リモートコンピューティングデバイス112、車両コンピューティングデバイス156、車両154、サーバデバイス202、クライアントデバイス218、ならびに/または本明細書において論じた任意の他の装置、モジュール、および/もしくはエンジンの選択された態様も実施するための論理を含み得る。
これらのソフトウェアモジュールは概して、プロセッサ514によって単独で、または他のプロセッサとの組合せで実行される。記憶サブシステム524において使われるメモリ525は、プログラム実行中の命令およびデータの記憶のためのメインランダムアクセスメモリ(RAM)530と、固定命令が記憶される読出し専用メモリ(ROM)532とを含むいくつかのメモリを含み得る。ファイル記憶サブシステム526が、プログラムおよびデータファイルのための永続記憶をもたらすことができ、ハードディスクドライブ、フロッピーディスクドライブを、関連付けられた取り外し可能媒体、CD-ROMドライブ、光ドライブ、または取り外し可能メディアカートリッジとともに含み得る。いくつかの実装形態の機能性を実装するモジュールは、ファイル記憶サブシステム526によって記憶サブシステム524に、またはプロセッサ514によってアクセス可能な他の機械に記憶され得る。
バスサブシステム512は、コンピュータシステム510の様々な構成要素およびサブシステムを、意図したように互いと通信させるための機構を提供する。バスサブシステム512は、単一のバスとして概略的に示されているが、バスサブシステムの代替実装形態は複数のバスを使うことができる。
コンピュータシステム510は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む様々なタイプであってもよい。コンピュータおよびネットワークの絶えず変化する性質により、図5に示すコンピュータシステム510の記述は、いくつかの実装形態を示す目的で、具体例としてのみ意図される。コンピュータシステム510の多くの他の構成は、図5に示すコンピュータシステムよりも多いか、またはそれよりも少ない構成要素を有することが可能である。
本明細書に記載するシステムがユーザ(もしくは、本明細書ではしばしば、「関係者」と呼ばれる)についての個人情報を収集するか、または個人情報を利用し得る状況において、ユーザは、プログラムもしくは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、社会的アクションもしくは活動、職業、ユーザの嗜好、またはユーザの現在の地理的ロケーションについての情報)を収集するかどうかを制御するための、あるいはユーザにより適し得るコンテンツサーバからコンテンツを受信するかどうか、および/またはどのようにして受信するかを制御するための機会を与えられ得る。また、特定のデータが、記憶され、または使われる前に、個人識別情報が削除されるように1つまたは複数のやり方で扱われ得る。たとえば、ユーザのアイデンティティが、ユーザについての個人識別情報が判断され得ないように扱われてよく、またはユーザの地理的ロケーションが、ユーザの特定の地理的ロケーションを判断することができないように、地理的ロケーション情報が入手されるように(たとえば、市、郵便番号、または州レベルに)一般化されてよい。したがって、ユーザは、情報がどのように、ユーザについて収集され、かつ/または使われるかに対する制御を有することができる。
いくつかの実装形態では、1つまたは複数のプロセッサによって実装される方法が、サーバデバイスにおいて処理されるオーディオデータに基づいて、ユーザが、車両に接続されている車両コンピューティングデバイスの自動化アシスタントインターフェースに発話を与えたと判断することなどの動作を含むものとして説明される。この方法は、ユーザが発話を与えたとの判断に応答して、車両コンピューティングデバイスに関連付けられたバージョン情報にアクセスすることをさらに含んでよく、バージョン情報は、車両コンピューティングデバイスが特定のバージョンに対応することを示す。方法は、オーディオデータを処理したことに基づいて、ユーザによって与えられた発話の自然言語内容を特徴付けることをさらに含み得る。方法は、発話の自然言語内容を特徴付けたことに基づいて、自然言語内容の少なくとも一部分が、特定のバージョン用にサーバデバイスによって完全にサポートされるかどうかを判断することをさらに含み得る。方法は、自然言語内容の少なくとも一部分が、特定のバージョン用にサーバデバイスによって完全にサポートされるわけではないとの判断に応答して、バージョン情報に少なくとも基づいて、車両コンピューティングデバイスに、ユーザによって与えられた発話の自然言語内容を特徴付けるテキストデータを与えることと、車両コンピューティングデバイスに、自然言語内容に基づいて車両コンピューティングデバイスによってローカルに生成されるアクションをローカルに実施させることとをさらに含み得る。
いくつかの実装形態では、自然言語内容の少なくとも一部分が、特定のバージョン用にサーバデバイスによって完全にサポートされるかどうかを判断することは、自然言語内容の少なくとも一部分が、サーバデバイスにおいて、サーバデバイスによって完全にサポートされるわけではないと示される1つまたは複数の意図に対応する1つまたは複数の自然言語用語を含むかどうかを判断することを含む。いくつかの実装形態では、1つまたは複数の意図は、サーバデバイスにおいて、車両コンピューティングデバイスの特定のバージョンを含まない他の車両コンピューティングデバイスバージョン用に完全にサポートされるものとして示される。いくつかの実装形態では、テキストデータは、1つまたは複数の自然言語用語を含む自然言語内容の一部分を特徴付ける。いくつかの実装形態では、方法は、自然言語内容の少なくとも部分が、特定のバージョン用にサーバデバイスによって完全にサポートされるとの判断に応答して、サーバデバイスにおいて、ユーザによって要求された意図、および車両コンピューティングデバイスの特定のバージョンによってサポートされる別のアクションを識別するアクションデータを生成することと、アクションデータを車両コンピューティングデバイスに与えることとをさらに含み得る。いくつかの実装形態では、アクションデータを車両コンピューティングデバイスに与えることは、車両コンピューティングデバイスに、与えられたアクションデータを使って別のアクションを実施させる。
いくつかの実装形態では、方法は、自然言語内容の少なくとも一部分が、特定のバージョン用にサーバデバイスによって完全にサポートされるわけではないとの判断に応答して、バージョン情報に少なくとも関して、要求された意図に関して、車両コンピューティングデバイス向けの制限を特徴付ける指導データを生成することと、指導データを車両コンピューティングデバイスに与えることとをさらに含んでよく、指導データは、車両コンピューティングデバイスに、後続ユーザ入力に応答して、サーバデバイスに、要求された意図の別のインスタンスに対応する特定のアクションを生成するよう要求するのを回避させる。いくつかの実装形態では、方法は、自然言語内容の少なくとも一部分が、特定のバージョン用にサーバデバイスによって完全にサポートされるわけではないとの判断に応答して、および指導データを車両コンピューティングデバイスに与えたことに続いて、要求された意図に関連付けられた別の発話が、車両コンピューティングデバイスの自動化アシスタントインターフェースにおいて受信されたと判断することと、車両コンピューティングデバイスに他のテキストデータを与えることとをさらに含んでよく、他のテキストデータは、別の発話の他の自然言語内容を特徴付け、要求された意図のための特定のアクションを特徴付けるデータを省く。
いくつかの実装形態では、方法は、自然言語内容の少なくとも一部分が、特定のバージョン用にサーバデバイスによって部分的にサポートされるとの判断に応答して、バージョン情報に少なくとも関して、車両コンピューティングデバイスに、発話によりユーザによって要求された特定の意図を特徴付ける自然言語理解(NLU)データを与えることをさらに含み得る。いくつかの実装形態では、方法は、自然言語内容の少なくとも一部分が、特定のバージョン用にサーバデバイスによって部分的にサポートされるとの判断に応答して、バージョン情報に少なくとも関して、車両コンピューティングデバイスに、特定の意図のための1つまたは複数のスロット値を特徴付けるスロットデータを与えることと、車両コンピューティングデバイスに、1つまたは複数のスロット値を使ってアクションを実施させることとをさらに含んでよく、アクションは、特定の意図およびスロット値に基づいて、車両コンピューティングデバイスによってローカルに識別される。いくつかの実装形態では、発話は、車両のハードウェアサブシステムに関連付けられ、ユーザが車両に乗っている、かつ/または運転しているとき、発話は自動化アシスタントインターフェースにおいて受信される。いくつかの実装形態では、方法は、ユーザが発話を与えたと判断したことに続いて、現在サポートされているバージョンに従って動作している別個の車両コンピューティングデバイスにおいて、別の発話が受信されたと判断することと、別の発話の他の自然言語内容に基づいて、要求された意図を特徴付けるNLUデータ、要求された意図のための1つまたは複数のスロット値を特徴付けるスロットデータ、および別個の車両コンピューティングデバイスによって実施されるべき別個のアクションを特徴付けるアクションデータを与えることとをさらに含み得る。
いくつかの実装形態では、方法は、ユーザが発話を与えたと判断することに先立って、車両コンピューティングデバイスと通信するサーバデバイスによって以前は完全にサポートされていた特定のバージョンが、サーバデバイスによって完全にサポートされると判断することをさらに含み得る。いくつかの実装形態では、自然言語内容の少なくとも一部分が特定のバージョンによって完全にサポートされるかどうかを判断することは、特定のバージョンがサーバデバイスによってサポートされる程度を判断することを含む。
さらに他の実装形態では、1つまたは複数のプロセッサによって実装される方法が、発話中で具現化され、第1の車両コンピューティングデバイスにおいて受信された自然言語内容が、第1の意図要求に対応すると判断することなどの動作を含むものとして説明される。この方法は、自然言語内容が第1の意図要求に対応すると判断したことに基づいて、第1の意図要求が、第1の車両コンピューティングデバイスに対応するバージョン用にサーバデバイスによってサポートされる程度を判断することをさらに含み得る。方法は、第1の意図要求がサーバデバイスによってサポートされる程度に基づいて、ユーザによって要求された意図を特徴付ける第1のデータを生成することをさらに含み得る。方法は、別の発話中で具現化され、第2の車両コンピューティングデバイスにおいて受信された他の自然言語内容が、第2の意図要求に対応すると判断することをさらに含み得る。方法は、別の自然言語内容が第2の意図要求を含むと判断したことに基づいて、第2の意図要求が、第2の車両コンピューティングデバイスに対応する別のバージョン用にサーバデバイスによってサポートされる別の程度を判断することをさらに含んでよく、バージョンは、別のバージョンとは異なる。方法は、第2の意図要求がサーバデバイスによってサポートされる別の程度に基づいて、別の発話の別の自然言語内容を特徴付ける第2のデータを生成することをさらに含み得る。方法は、第1の車両コンピューティングデバイスに第1の意図要求を満たさせるのを促進するために、第1の車両コンピューティングデバイスに第1のデータを与えることと、第2の車両コンピューティングデバイスに第2の意図要求を満たさせるのを促進するために、第2の車両コンピューティングデバイスに第2のデータを与えることとをさらに含み得る。いくつかの実装形態では、第2の車両コンピューティングデバイスに対応する別のバージョンは、第1の車両コンピューティングデバイスに対応するバージョンがサーバデバイスによって最初にサポートされていたときに続いて、サーバデバイスによって最初にサポートされていた。
いくつかの実装形態では、第1の意図要求および第2の意図要求は車両ハードウェアデバイスのタイプに対応し、第1のデータは、意図に対応するアクションおよびそのタイプの車両ハードウェアデバイスによって実施されることが可能な動作をさらに特徴付ける。いくつかの実装形態では、第2の車両コンピューティングデバイスが第2のデータを受信したことに応答して、第2のデータは、車両ハードウェアデバイスのタイプに、動作および/または異なる動作を実施させる。いくつかの実装形態では、車両ハードウェアデバイスのタイプは、1つもしくは複数のセンサ、1つもしくは複数の他のコンピューティングデバイス、および/または1つもしくは複数の電気機械デバイスを含む。
さらに他の実装形態では、1つまたは複数のプロセッサによって実装される方法が、車両の車両コンピューティングデバイスと通信するインターフェースを介して、ユーザによってインターフェースに与えられた発話を特徴付けるデータを受信することなどの動作を含むものとして説明され、発話は、車両コンピューティングデバイスが特定の意図を満たすための要求に対応する。方法は、ユーザによって与えられた発話を特徴付けるデータに少なくとも基づいて、発話の自然言語内容を判断することをさらに含んでよく、自然言語内容は、特定の意図に対応する1つまたは複数の用語を含む。方法は、自然言語内容の1つまたは複数の用語および車両コンピューティングデバイスに対応するバージョンに少なくとも基づいて、1つまたは複数の用語がバージョン用にサーバデバイスによってサポートされる程度を判断することをさらに含み得る。方法は、自然言語内容の1つまたは複数の用語が、バージョン用にサーバデバイスによって完全にサポートされるとの判断に応答して、アクションデータについての要求を、車両コンピューティングデバイスと通信するサーバデバイスに与えることと、サーバデバイスが要求を受信した後、サーバデバイスからアクションデータを受信することと、車両コンピューティングデバイスに、アクションデータによって特徴付けられるアクションを実施させることとをさらに含み得る。方法は、自然言語内容の1つまたは複数の用語が、バージョン用にサーバデバイスによって部分的にサポートされるとの判断に応答して、サーバデバイスからの、少なくとも意図データについての異なる要求を与えることと、サーバデバイスが異なる要求を受信したことに応答して、サーバデバイスから意図データを受信することであって、意図データは特定の意図を特徴付ける、ことと、意図データに基づいて、車両コンピューティングデバイスに、特定の意図に関連付けられた異なるアクションを実施させることとをさらに含み得る。
いくつかの実装形態では、アクションはアプリケーションに対応し、異なるアクションは異なるアプリケーションに対応する。いくつかの実装形態では、アクションおよび異なるアクションは両方とも、車両のハードウェアサブシステムに対応する。いくつかの実装形態では、方法は、自然言語内容の1つまたは複数の用語が、バージョン用にサーバデバイスによってもはやサポートされないとの判断に応答して、サーバデバイスからの、少なくともテキストデータについての別個の要求を与えることと、サーバデバイスが別個の要求を受信したことに応答して、サーバデバイスからテキストデータを受信することであって、テキストデータは発話の自然言語内容を特徴付ける、ことと、テキストデータに基づいて、車両コンピューティングデバイスに、車両コンピューティングデバイスにおける実行のために特定のアクションを選択させることとをさらに含み得る。
いくつかの実装形態を、本明細書に記載し、示したが、機能を実施し、かつ/または本明細書に記載する結果および/または利点のうちの1つもしくは複数を入手するための様々な他の手段および/または構造が使用されてよく、そのような変更および/または修正の各々は、本明細書に記載する実装形態の範囲内であると見なされる。より全般的には、本明細書に記載するすべてのパラメータ、寸法、材料、および構成は、例示的であることを意図しており、実際のパラメータ、寸法、材料、および/または構成は、本教示が使われる具体的な1つのアプリケーションまたは複数のアプリケーションに依存する。ルーチン実験のみを使って、本明細書に記載する具体的な実装形態に対する多くの等価物を、当業者は理解し、または確かめることができよう。したがって、上記の実装形態は例示の目的でのみ提示されていること、ならびに添付の請求項およびその等価物の範囲内において、具体的に記載し、特許請求するのとは違うように実装形態が実践され得ることが理解されよう。本開示の実装形態は、本明細書に記載する各個々の特徴、システム、物品、材料、キット、および/または方法を対象とする。さらに、2つ以上のそのような特徴、システム、物品、材料、キット、および/または方法の任意の組合せも、そのような特徴、システム、物品、材料、キット、および/または方法が互いに矛盾しない場合は、本開示の範囲に含まれる。
106 車両コンピューティングデバイス
108 ネットワーク
112 リモートコンピューティングデバイス
114 サーバデバイス
120 バージョンエンジン
122 アシスタント対話エンジン
126 ネットワーク
140 車両コンピューティングデバイス
156 車両コンピューティングデバイス
158 ネットワーク
200 システム
202 サーバデバイス
204 自動化アシスタント
206 入力処理エンジン
208 音声処理エンジン
210 自然言語理解(NLU)/意図エンジン
212 スロットエンジン
214 アクションエンジン
218 クライアントデバイス
220 アシスタントインターフェース
222 ローカル自動化アシスタント、自動化アシスタント
224 音声-テキストエンジン
226 NLU/意図エンジン
228 アクションエンジン
234 バージョンエンジン
240 ネットワーク
242 リモートコンピューティングデバイス
510 コンピュータシステム
512 バスサブシステム
514 プロセッサ
516 ネットワークインターフェースサブシステム
520 ユーザインターフェース出力デバイス
522 ユーザインターフェース入力デバイス
524 記憶サブシステム
525 メモリ
526 ファイル記憶サブシステム
530 メインランダムアクセスメモリ(RAM)
532 読出し専用メモリ(ROM)

Claims (23)

1つまたは複数のプロセッサによって実装される方法であって、
サーバデバイスにおいて処理されるオーディオデータに基づいて、ユーザが、車両に接続されている車両コンピューティングデバイスの自動化アシスタントインターフェースに発話を与えたと判断するステップと、
前記ユーザが前記発話を与えたとの判断に応答して、前記車両コンピューティングデバイスに関連付けられたバージョン情報にアクセスするステップであって、前記バージョン情報は、前記車両コンピューティングデバイスが特定のバージョンに対応することを示す、ステップと、
前記オーディオデータを処理したことに基づいて、前記ユーザによって与えられた前記発話の自然言語内容を特徴付けるステップと、
前記発話の前記自然言語内容を特徴付けたことに基づいて、前記自然言語内容の少なくとも一部分が、前記特定のバージョン用に前記サーバデバイスによって完全にサポートされるかどうかを判断するステップと、
前記自然言語内容の少なくとも一部分が、前記特定のバージョン用に前記サーバデバイスによって完全にサポートされるわけではないとの判断に応答して、前記バージョン情報に少なくとも基づいて、
前記車両コンピューティングデバイスに、前記ユーザによって与えられた前記発話の前記自然言語内容を特徴付けるテキストデータを与えるステップと、
前記車両コンピューティングデバイスに、前記自然言語内容に基づいて前記車両コンピューティングデバイスによってローカルに生成されるアクションをローカルに実施させるステップとを含む方法。
前記自然言語内容の少なくとも前記一部分が、前記特定のバージョン用に前記サーバデバイスによって完全にサポートされるかどうかを判断するステップは、
前記自然言語内容の少なくとも前記一部分が、前記サーバデバイスにおいて、前記サーバデバイスによって完全にサポートされるわけではないと示される1つまたは複数の意図に対応する1つまたは複数の自然言語用語を含むかどうかを判断するステップを含み、
前記1つまたは複数の意図は、前記サーバデバイスにおいて、前記車両コンピューティングデバイスの前記特定のバージョンを含まない他の車両コンピューティングデバイスバージョン用に完全にサポートされるものとして示される、請求項1に記載の方法。
前記テキストデータは、前記1つまたは複数の自然言語用語を含む前記自然言語内容の前記一部分を特徴付ける、請求項2に記載の方法。
前記自然言語内容の少なくとも前記一部分が、前記特定のバージョン用に前記サーバデバイスによって完全にサポートされるとの判断に応答して、
前記サーバデバイスにおいて、前記ユーザによって要求された意図、および前記車両コンピューティングデバイスの前記特定のバージョンによってサポートされる別のアクションを識別するアクションデータを生成するステップと、
前記アクションデータを前記車両コンピューティングデバイスに与えるステップとをさらに含み、
前記アクションデータを前記車両コンピューティングデバイスに与えるステップは、前記車両コンピューティングデバイスに、前記与えられたアクションデータを使って前記別のアクションを実施させる、請求項1から3のいずれか一項に記載の方法。
前記自然言語内容の少なくとも前記一部分が、前記特定のバージョン用に前記サーバデバイスによって完全にサポートされるわけではないとの判断に応答して、前記バージョン情報に少なくとも関して、
要求された意図に関して、前記車両コンピューティングデバイス向けの制限を特徴付ける指導データを生成するステップと、
前記指導データを前記車両コンピューティングデバイスに与えるステップであって、前記指導データは、前記車両コンピューティングデバイスに、後続ユーザ入力に応答して、前記サーバデバイスに、前記要求された意図の別のインスタンスに対応する特定のアクションを生成するよう要求するのを回避させる、ステップとをさらに含む、請求項1から4のいずれか一項に記載の方法。
前記自然言語内容の少なくとも前記一部分が、前記特定のバージョン用に前記サーバデバイスによって完全にサポートされるわけではないとの判断に応答して、および前記指導データを前記車両コンピューティングデバイスに与えたことに続いて、
前記要求された意図に関連付けられた別の発話が、前記車両コンピューティングデバイスの前記自動化アシスタントインターフェースにおいて受信されたと判断するステップと、
前記車両コンピューティングデバイスに他のテキストデータを与えるステップであって、前記他のテキストデータは、前記別の発話の他の自然言語内容を特徴付け、前記要求された意図のための特定のアクションを特徴付けるデータを省く、ステップとをさらに含む、請求項5に記載の方法。
前記自然言語内容の少なくとも前記一部分が、前記特定のバージョン用に前記サーバデバイスによって部分的にサポートされるとの判断に応答して、前記バージョン情報に少なくとも関して、
前記車両コンピューティングデバイスに、前記発話により前記ユーザによって要求された特定の意図を特徴付ける自然言語理解(NLU)データを与えるステップをさらに含む、請求項1から4のいずれか一項に記載の方法。
前記自然言語内容の少なくとも前記一部分が、前記特定のバージョン用に前記サーバデバイスによって部分的にサポートされるとの判断に応答して、前記バージョン情報に少なくとも関して、
前記車両コンピューティングデバイスに、前記特定の意図のための1つまたは複数のスロット値を特徴付けるスロットデータを与えるステップと、
前記車両コンピューティングデバイスに、前記1つまたは複数のスロット値を使って前記アクションを実施させるステップであって、前記アクションは、前記特定の意図および前記スロット値に基づいて、前記車両コンピューティングデバイスによってローカルに識別される、ステップとをさらに含む、請求項7に記載の方法。
前記発話は、前記車両のハードウェアサブシステムに関連付けられ、前記発話は、前記ユーザが前記車両に乗っている、かつ/または運転しているとき、前記自動化アシスタントインターフェースにおいて受信される、請求項1から8のいずれか一項に記載の方法。
前記ユーザが前記発話を与えたと判断したことに続いて、現在サポートされているバージョンに従って動作している別個の車両コンピューティングデバイスにおいて、別の発話が受信されたと判断するステップと、
前記別の発話の他の自然言語内容に基づいて、要求された意図を特徴付けるNLUデータ、前記要求された意図のための1つまたは複数のスロット値を特徴付けるスロットデータ、および前記別個の車両コンピューティングデバイスによって実施されるべき別個のアクションを特徴付けるアクションデータを与えるステップとをさらに含む、請求項1からの9いずれか一項に記載の方法。
前記ユーザが前記発話を与えたと判断することに先立って、前記車両コンピューティングデバイスと通信する前記サーバデバイスによって以前は完全にサポートされていた前記特定のバージョンが、前記サーバデバイスによって完全にサポートされていると判断するステップをさらに含む、請求項1から10のいずれか一項に記載の方法。
前記自然言語内容の少なくとも前記一部分が前記特定のバージョンによって完全にサポートされるかどうかを判断するステップは、前記特定のバージョンが前記サーバデバイスによってサポートされる程度を判断するステップを含む、請求項11に記載の方法。
1つまたは複数のプロセッサによって実装される方法であって、
発話中で具現化され、第1の車両コンピューティングデバイスにおいて受信された自然言語内容が、第1の意図要求に対応すると判断するステップと、
前記自然言語内容が前記第1の意図要求に対応すると判断したことに基づいて、前記第1の意図要求が、前記第1の車両コンピューティングデバイスに対応するバージョン用にサーバデバイスによってサポートされる程度を判断するステップと、
前記第1の意図要求が前記サーバデバイスによってサポートされる前記程度に基づいて、ユーザによって要求された意図を特徴付ける第1のデータを生成するステップと、
別の発話中で具現化され、第2の車両コンピューティングデバイスにおいて受信された他の自然言語内容が、第2の意図要求に対応すると判断するステップと、
前記別の自然言語内容が前記第2の意図要求を含むと判断したことに基づいて、前記第2の意図要求が、前記第2の車両コンピューティングデバイスに対応する別のバージョン用に前記サーバデバイスによってサポートされる別の程度を判断するステップであって、前記バージョンは、前記別のバージョンとは異なる、ステップと、
前記第2の意図要求が前記サーバデバイスによってサポートされる前記別の程度に基づいて、前記別の発話の前記別の自然言語内容を特徴付ける第2のデータを生成するステップと、
前記第1の車両コンピューティングデバイスに前記第1の意図要求を満たさせるのを促進するために、前記第1の車両コンピューティングデバイスに、前記第1のデータを与えるステップと、
前記第2の車両コンピューティングデバイスに前記第2の意図要求を満たさせるのを促進するために、前記第2の車両コンピューティングデバイスに、前記第2のデータを与えるステップとを含み、
前記第2の車両コンピューティングデバイスに対応する前記別のバージョンは、前記第1の車両コンピューティングデバイスに対応する前記バージョンが前記サーバデバイスによって最初にサポートされていたときに続いて、前記サーバデバイスによって最初にサポートされていた、方法。
前記第1の意図要求および前記第2の意図要求は車両ハードウェアデバイスのタイプに対応し、前記第1のデータは、前記意図に対応するアクション、および前記タイプの車両ハードウェアデバイスによって実施されることが可能な動作をさらに特徴付ける、請求項13に記載の方法。
前記第2の車両コンピューティングデバイスが前記第2のデータを受信したことに応答して、前記第2のデータは、車両ハードウェアデバイスの前記タイプに、前記動作および/または異なる動作を実施させる、請求項14に記載の方法。
車両ハードウェアデバイスの前記タイプは、1つもしくは複数のセンサ、1つもしくは複数の他のコンピューティングデバイス、および/または1つもしくは複数の電気機械デバイスを含む、請求項14または15に記載の方法。
1つまたは複数のプロセッサによって実装される方法であって、
車両の車両コンピューティングデバイスと通信するインターフェースを介して、ユーザによって前記インターフェースに与えられた発話を特徴付けるデータを受信するステップであって、前記発話は、前記車両コンピューティングデバイスが特定の意図を満たすための要求に対応する、ステップと、
前記ユーザによって与えられた前記発話を特徴付ける前記データに少なくとも基づいて、前記発話の自然言語内容を判断するステップであって、前記自然言語内容は、前記特定の意図に対応する1つまたは複数の用語を含む、ステップと、
前記自然言語内容の前記1つまたは複数の用語および前記車両コンピューティングデバイスに対応するバージョンに少なくとも基づいて、前記1つまたは複数の用語が前記バージョン用にサーバデバイスによってサポートされる程度を判断するステップと、
前記自然言語内容の前記1つまたは複数の用語が、前記バージョン用に前記サーバデバイスによって完全にサポートされるとの判断に応答して、
アクションデータについての要求を、前記車両コンピューティングデバイスと通信する前記サーバデバイスに与えるステップと、
前記サーバデバイスが前記要求を受信した後、前記サーバデバイスから前記アクションデータを受信するステップと、
前記車両コンピューティングデバイスに、前記アクションデータによって特徴付けられるアクションを実施させるステップと、
前記自然言語内容の前記1つまたは複数の用語が、前記バージョン用に前記サーバデバイスによって部分的にサポートされるとの判断に応答して、
前記サーバデバイスからの、少なくとも意図データについての異なる要求を与えるステップと、
前記サーバデバイスが前記異なる要求を受信したことに応答して、前記サーバデバイスから前記意図データを受信するステップであって、前記意図データは前記特定の意図を特徴付ける、ステップと、
前記意図データに基づいて、前記車両コンピューティングデバイスに、前記特定の意図に関連付けられた異なるアクションを実施させるステップとを含む方法。
前記アクションはアプリケーションに対応し、前記異なるアクションは異なるアプリケーションに対応する、請求項17に記載の方法。
前記アクションおよび前記異なるアクションは両方とも、前記車両のハードウェアサブシステムに対応する、請求項17に記載の方法。
前記自然言語内容の前記1つまたは複数の用語が、前記バージョン用に前記サーバデバイスによってもはやサポートされないとの判断に応答して、
前記サーバデバイスからの、少なくともテキストデータについての別個の要求を与えるステップと、
前記サーバデバイスが前記別個の要求を受信したことに応答して、前記サーバデバイスから前記テキストデータを受信するステップであって、前記テキストデータは前記発話の前記自然言語内容を特徴付ける、ステップと、
前記テキストデータに基づいて、前記車両コンピューティングデバイスに、前記車両コンピューティングデバイスにおける実行のために特定のアクションを選択させるステップとをさらに含む、請求項17から19のいずれか一項に記載の方法。
命令を含むコンピュータプログラムであって、前記命令は、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、請求項1から20のいずれか一項に記載の方法を実践させる、コンピュータプログラム。
命令を含むコンピュータ可読記憶媒体であって、前記命令は、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、請求項1から20のいずれか一項に記載の方法を実践させる、コンピュータ可読記憶媒体。
請求項1から20のいずれか一項に記載の方法を実践するための1つまたは複数のプロセッサを備えるシステム。
JP2021542172A 2019-02-12 2019-02-12 オンデバイス機能性を使うように車両クライアントデバイスに指令すること Active JP7155439B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022160358A JP7412499B2 (ja) 2019-02-12 2022-10-04 オンデバイス機能性を使うように車両クライアントデバイスに指令すること

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/017639 WO2020167294A1 (en) 2019-02-12 2019-02-12 Directing a vehicle client device to use on-device functionality

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022160358A Division JP7412499B2 (ja) 2019-02-12 2022-10-04 オンデバイス機能性を使うように車両クライアントデバイスに指令すること

Publications (2)

Publication Number Publication Date
JP2022519478A JP2022519478A (ja) 2022-03-24
JP7155439B2 true JP7155439B2 (ja) 2022-10-18

Family

ID=65529836

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021542172A Active JP7155439B2 (ja) 2019-02-12 2019-02-12 オンデバイス機能性を使うように車両クライアントデバイスに指令すること
JP2022160358A Active JP7412499B2 (ja) 2019-02-12 2022-10-04 オンデバイス機能性を使うように車両クライアントデバイスに指令すること

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022160358A Active JP7412499B2 (ja) 2019-02-12 2022-10-04 オンデバイス機能性を使うように車両クライアントデバイスに指令すること

Country Status (6)

Country Link
US (3) US11315559B2 (ja)
EP (2) EP3891731B1 (ja)
JP (2) JP7155439B2 (ja)
KR (1) KR20210110676A (ja)
CN (1) CN113424255A (ja)
WO (1) WO2020167294A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
EP3809407A1 (en) 2013-02-07 2021-04-21 Apple Inc. Voice trigger for a digital assistant
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
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
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
EP3891731B1 (en) 2019-02-12 2024-04-03 Google LLC Directing a vehicle client device to use on-device functionality
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
JP2020154527A (ja) * 2019-03-19 2020-09-24 本田技研工業株式会社 車載装置、車載装置の制御方法、およびプログラム
DK201970509A1 (en) * 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005300989A (ja) 2004-04-13 2005-10-27 Mitsubishi Electric Corp 音声認識システム
WO2019013316A1 (ja) 2017-07-14 2019-01-17 ダイキン工業株式会社 機器制御システム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7050977B1 (en) 1999-11-12 2006-05-23 Phoenix Solutions, Inc. Speech-enabled server for internet website and method
US7155462B1 (en) 2002-02-01 2006-12-26 Microsoft Corporation Method and apparatus enabling migration of clients to a specific version of a server-hosted application, where multiple software versions of the server-hosted application are installed on a network
US7386617B2 (en) * 2003-05-15 2008-06-10 International Business Machines Corporation Method, system and program product for managing multiple network application versions
US8788569B2 (en) * 2006-03-31 2014-07-22 British Telecommunications Public Limited Company Server computer system running versions of an application simultaneously
US8140335B2 (en) * 2007-12-11 2012-03-20 Voicebox Technologies, Inc. System and method for providing a natural language voice user interface in an integrated voice navigation services environment
JP4930486B2 (ja) * 2008-10-10 2012-05-16 株式会社デンソー 音声認識システム及びナビゲーション装置
US10417037B2 (en) * 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9838375B2 (en) * 2013-02-28 2017-12-05 Microsoft Technology Licensing, Llc RESTlike API that supports a resilient and scalable distributed application
US10504509B2 (en) * 2015-05-27 2019-12-10 Google Llc Providing suggested voice-based action queries
CN106547511B (zh) * 2015-09-16 2019-12-10 广州市动景计算机科技有限公司 一种语音播读网页信息的方法、浏览器客户端及服务器
CN107016991A (zh) * 2015-10-27 2017-08-04 福特全球技术公司 处理语音命令
US10261752B2 (en) * 2016-08-02 2019-04-16 Google Llc Component libraries for voice interaction services
US10387383B2 (en) * 2017-02-15 2019-08-20 Google Llc Systems and methods for providing access to a data file stored at a data storage system
KR102309031B1 (ko) * 2017-04-27 2021-10-06 삼성전자 주식회사 지능형 에이전트 관리 방법 및 장치
KR102421255B1 (ko) * 2017-10-17 2022-07-18 삼성전자주식회사 음성 신호를 제어하기 위한 전자 장치 및 방법
US10630808B1 (en) * 2018-02-02 2020-04-21 Dell Products L.P. Contextual routing for directing requests to different versions of an application
EP3891731B1 (en) 2019-02-12 2024-04-03 Google LLC Directing a vehicle client device to use on-device functionality

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005300989A (ja) 2004-04-13 2005-10-27 Mitsubishi Electric Corp 音声認識システム
WO2019013316A1 (ja) 2017-07-14 2019-01-17 ダイキン工業株式会社 機器制御システム

Also Published As

Publication number Publication date
EP4339940A3 (en) 2024-05-15
JP2022519478A (ja) 2022-03-24
WO2020167294A1 (en) 2020-08-20
US20200342863A1 (en) 2020-10-29
JP2022185077A (ja) 2022-12-13
US11315559B2 (en) 2022-04-26
US11727934B2 (en) 2023-08-15
CN113424255A (zh) 2021-09-21
JP7412499B2 (ja) 2024-01-12
KR20210110676A (ko) 2021-09-08
EP3891731B1 (en) 2024-04-03
EP3891731A1 (en) 2021-10-13
EP4339940A2 (en) 2024-03-20
US20230343335A1 (en) 2023-10-26
US20220246152A1 (en) 2022-08-04

Similar Documents

Publication Publication Date Title
JP7155439B2 (ja) オンデバイス機能性を使うように車両クライアントデバイスに指令すること
US20230013457A1 (en) Voice user interface shortcuts for an assistant application
EP3788620B1 (en) Supplementing voice inputs to an automated assistant according to selected suggestions
US11960837B2 (en) Fulfillment of actionable requests ahead of a user selecting a particular autocomplete suggestion for completing a current user input
US20220276722A1 (en) Expanding physical motion gesture lexicon for an automated assistant
US11848013B2 (en) Automated assistant invocation of second interactive module using supplemental data provided by first interactive module
JP2021515341A (ja) リモートに生成された自動化アシスタントコンテンツのレンダリングにおけるクライアントデバイスレイテンシの軽減
CN110543290A (zh) 多模态响应
CN111771189A (zh) 提供在调解助理应用处的动态自动响应的系统、方法和装置
US11959764B2 (en) Automated assistant that detects and supplements various vehicle computing device capabilities
US20240172304A1 (en) Connection sequencing involving automated assistants and peripheral devices
US20230410565A1 (en) Providing a communications channel between instances of automated assistants
JP2024505794A (ja) ユーザが音声発話、または音声発話のシーケンスを反復的に与えるときの、自動アシスタントによるグラフィカルユーザインターフェース要素の動的適合

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210831

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210831

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220824

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221005

R150 Certificate of patent or registration of utility model

Ref document number: 7155439

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150