JP2021515911A - カスタムデバイスアクションの音声ベースの起動のためのシステムおよび方法 - Google Patents

カスタムデバイスアクションの音声ベースの起動のためのシステムおよび方法 Download PDF

Info

Publication number
JP2021515911A
JP2021515911A JP2020546986A JP2020546986A JP2021515911A JP 2021515911 A JP2021515911 A JP 2021515911A JP 2020546986 A JP2020546986 A JP 2020546986A JP 2020546986 A JP2020546986 A JP 2020546986A JP 2021515911 A JP2021515911 A JP 2021515911A
Authority
JP
Japan
Prior art keywords
action
command
identifier
device action
processing system
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.)
Granted
Application number
JP2020546986A
Other languages
English (en)
Other versions
JP7130761B2 (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 JP2021515911A publication Critical patent/JP2021515911A/ja
Priority to JP2022133277A priority Critical patent/JP2022164744A/ja
Application granted granted Critical
Publication of JP7130761B2 publication Critical patent/JP7130761B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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

Abstract

電子デバイスとの音声ベース対話を可能にするためのシステムおよび方法は、複数のデバイスアクションデータセット、およびデバイスアクションデータセットごとにそれぞれの識別子を保持する、データ処理システムを含むことができる。データ処理システムは、音声照会を表すオーディオ信号、および識別子を、電子デバイスから受信することができる。データ処理システムは、識別子を使用してデバイスアクションデータセットを識別することができる。データ処理システムは、オーディオ信号のコンテンツに基づいてデバイスアクションデータセットからデバイスアクションを識別することができる。データ処理システムは、次いで、デバイスアクションに関連付けられたコマンドをデバイスアクションデータセットから識別することができ、コマンドを実行のためにデバイスへ送ることができる。

Description

関連出願の相互参照
本出願は、2018年3月7日に出願された「DISTRIBUTED IDENTIFICATION IN NETWORKED SYSTEM」と題する米国仮特許出願第62/640,007号の利益および優先権を主張し、その全体が参照により本明細書に組み込まれる。
デジタル仮想アシスタント(DVA:Digital virtual assistant)は、クライアントデバイスと対話することができる。たとえば、クライアントデバイスのユーザは、音声ベースまたはチャットベースの照会を介して、オンラインタスク、たとえば、オンライン検索またはオンライン取引を起動することができる。DVAは、クライアントデバイスとのハンズフリー対話を可能にすることができる。
本開示の少なくとも1つの態様によれば、クライアントデバイスとの音声ベース対話を可能にするためのデータ処理システムは、通信インターフェース、メモリ、デバイスアクションカスタマイゼーション構成要素、および自然言語プロセッサ構成要素を備えることができる。通信インターフェースは、デバイスアクションデータおよびデバイスアクションデータに関連付けられた識別子をコンピューティングデバイスから受信することができる。デバイスアクションデータは、複数のクライアントデバイスによってサポートされる複数のデバイスアクション、および複数のデバイス実行可能コマンドを示すことができる。複数のデバイス実行可能コマンドの各デバイス実行可能コマンドは、複数のデバイスアクションのうちの対応するデバイスアクションの実行をトリガするように構成され得る。メモリは、デバイスアクションデータを記憶することができる。デバイスアクションカスタマイゼーション構成要素は、デバイスアクションデータを識別子にマッピングすることができる。通信インターフェースは、オーディオ信号および識別子を複数のクライアントデバイスのうちのクライアントデバイスから受信することができる。オーディオ信号は、音声ベース照会に応答してクライアントデバイスによって取得され得る。自然言語プロセッサ構成要素は、複数のクライアントデバイスによってサポートされる複数のデバイスアクションのうちのデバイスアクションを、識別子、およびオーディオ信号に関連付けられたコンテンツを使用して識別することができる。デバイスアクションカスタマイゼーション構成要素は、デバイスアクションに対応する、複数のデバイス実行可能コマンドのうちのデバイス実行可能コマンドを識別することができる。通信インターフェースは、デバイスアクションを遂行させるために、音声ベース照会に応答した実行のためのデバイス実行可能コマンドをクライアントデバイスへ送信することができる。
本開示の少なくとも1つの態様は、クライアントデバイスとの音声ベース対話を可能にする方法に関する。方法は、受信するデータ処理システムがデバイスアクションデータおよびデバイスアクションデータに関連付けられた識別子をコンピューティングデバイスから受信することを含むことができる。デバイスアクションデータは、複数のクライアントデバイスによってサポートされる複数のデバイスアクション、および複数のデバイス実行可能コマンドを示すことができる。複数のデバイス実行可能コマンドの各デバイス実行可能コマンドは、複数のデバイスアクションのうちの対応するデバイスアクションの実行をトリガすることができる。方法は、データ処理システムが、デバイスアクションデータをメモリの中に記憶することを含むことができる。方法は、データ処理システムが、デバイスアクションデータを識別子にマッピングすることを含むことができる。方法は、データ処理システムが、オーディオ信号および識別子を複数のクライアントデバイスのうちのクライアントデバイスから受信することを含むことができる。オーディオ信号は、音声ベース照会に応答してクライアントデバイスによって取得され得る。方法は、データ処理システムが、複数のクライアントデバイスによってサポートされる複数のデバイスアクションのうちのデバイスアクションを、識別子、およびオーディオ信号に関連付けられたコンテンツを使用して識別することを含むことができる。方法は、データ処理システムが、デバイスアクションに対応する、複数のデバイス実行可能コマンドのうちのデバイス実行可能コマンドを識別することを含むことができる。方法は、データ処理システムが、デバイスアクションを遂行させるために、音声ベース照会に応答した実行のためのデバイス実行可能コマンドをクライアントデバイスへ送信することを含むことができる。
本開示の少なくとも1つの態様によれば、音声ベース対話をサポートするための電子デバイスが提供される。電子デバイスは、オーディオレシーバ、通信インターフェース、およびコマンド実行構成要素を含むことができる。オーディオレシーバは、入力音声ベース照会に対応するオーディオ信号を生成することができる。電子デバイスは、リモートデータ処理システムによって保持されるデバイスアクションデータ、およびデバイスアクションデータの識別子に関連付けられ得る。デバイスアクションデータは、デバイスアクションデータに関連付けられた電子デバイスによってサポートされる、複数のデバイスアクションおよび複数のデバイス実行可能コマンドを含むことができる。各デバイス実行可能コマンドは、複数のデバイスアクションのうちの対応するデバイスアクションの実行をトリガするように構成され得る。通信インターフェースは、音声ベース照会に応答して識別子およびオーディオ信号をリモートデータ処理システムへ送信することができる。リモートデータ処理システムは、複数のデバイスアクションおよび複数のデバイス実行可能コマンドに識別子をマッピングする1つまたは複数のデータ構造を保持することができる。通信インターフェースは、オーディオ信号の送信に応答して複数のデバイス実行可能コマンドのうちのデバイス実行可能コマンドをリモートデータ処理システムから受信することができる。デバイス実行可能コマンドは、識別子、オーディオ信号、および1つまたは複数のデータ構造に基づいてデータ処理システムによって識別され得る。コマンド実行構成要素は、デバイスアクションを実行するためのデバイス実行可能コマンドを実行するように構成され得る。
本開示の少なくとも1つの態様によれば、音声ベース対話をサポートする方法が提供される。方法は、電子デバイスが、入力音声ベース照会に対応するオーディオ信号を生成することを含むことができる。電子デバイスは、リモートデータ処理システムによって保持されるデバイスアクションデータ、およびデバイスアクションデータの識別子に関連付けられ得る。デバイスアクションデータは、デバイスアクションデータに関連付けられた電子デバイスによってサポートされる、複数のデバイスアクションおよび複数のデバイス実行可能コマンドを含むことができる。各デバイス実行可能コマンドは、複数のデバイスアクションのうちの対応するデバイスアクションの実行をトリガするように構成され得る。方法は、電子デバイスが、音声ベース照会に応答して識別子およびオーディオ信号をリモートデータ処理システムへ送信することを含むことができる。リモートデータ処理システムは、複数のデバイスアクションおよび複数のデバイス実行可能コマンドに識別子をマッピングする1つまたは複数のデータ構造を保持することができる。方法は、電子デバイスが、オーディオ信号の送信に応答して複数のデバイス実行可能コマンドのうちのデバイス実行可能コマンドをリモートデータ処理システムから受信することを含むことができる。デバイス実行可能コマンドは、識別子、オーディオ信号、および1つまたは複数のデータ構造に基づいてデータ処理システムによって識別され得る。方法は、電子デバイスが、デバイスアクションを実行するためのデバイス実行可能コマンドを実行することを含むことができる。
本開示の少なくとも1つの態様によれば、音声ベース対話に応答してコンテンツを提供するためのデータ処理システムが提供される。データ処理システムは、メモリ、デバイスアクションカスタマイゼーション構成要素、通信インターフェース、および自然言語プロセッサ構成要素、ならびにコンテンツ選択器構成要素を含むことができる。メモリは、複数の電子デバイスによってサポートされる複数のデバイスアクションコマンドペアを含むデバイスアクションデータを記憶することができる。各デバイスアクションコマンドペアは、複数のデバイスアクションのそれぞれのデバイスアクション、およびそれぞれのデバイスアクションの遂行をトリガするための複数のデバイス実行可能コマンドのそれぞれのデバイス実行可能コマンドを含むことができる。デバイスアクションカスタマイゼーション構成要素は、複数の電子デバイスによってサポートされる複数のデバイスアクションコマンドペアの各々に識別子をマッピングすることができる。通信インターフェースは、識別子、および音声ベース照会に応答して電子デバイスによって取得された信号を電子デバイスから受信することができる。自然言語プロセッサ構成要素は、オーディオ信号に関連付けられたコンテンツ、および識別子を使用して、複数のデバイスアクションコマンドペアのうちのデバイスアクションコマンドペアを識別することができる。デバイスアクションカスタマイゼーション構成要素は、デバイスアクションデータまたはデバイスコマンドペアに基づいて音声ベース照会のコンテキストを識別することができる。コンテンツ選択器構成要素は、音声ベース照会のコンテキストに基づいてデジタルコンポーネントを選択することができる。通信インターフェースは、デジタルコンポーネント、およびデバイスアクションコマンドペアに関連付けられたデバイス実行可能コマンドを、電子デバイスへ送信することができる。デバイス実行可能コマンドは、実行されたとき、デバイスアクションコマンドペアに関連付けられたデバイスアクションを遂行させることができ、デジタルコンポーネントは、電子デバイスによって提示(すなわちレンダリング)され得る。
本開示の少なくとも1つの態様によれば、音声ベース対話に応答してコンテンツを提供する方法が提供される。方法は、データ処理システムが、複数の電子デバイスによってサポートされる複数のデバイスアクションコマンドペアを含むデバイスアクションデータをメモリの中に記憶することを含むことができる。各デバイスアクションコマンドペアは、複数のデバイスアクションのそれぞれのデバイスアクション、およびそれぞれのデバイスアクションの遂行をトリガするための複数のデバイス実行可能コマンドのそれぞれのデバイス実行可能コマンドを含むことができる。方法は、データ処理システムが、複数の電子デバイスによってサポートされる複数のデバイスアクションコマンドペアの各々に識別子をマッピングすることを含むことができる。方法は、データ処理システムが、識別子、および音声ベース照会に応答して電子デバイスによって取得されたオーディオ信号を電子デバイスから受信することを含むことができる。方法は、データ処理システムが、オーディオ信号に関連付けられたコンテンツ、および識別子を使用して、複数のデバイスアクションコマンドペアのうちのデバイスアクションコマンドペアを識別することを含むことができる。方法は、データ処理システムが、デバイスアクションデータまたはデバイスコマンドペアに基づいて音声ベース照会のコンテキストを識別することを含むことができる。方法は、データ処理システムが、音声ベース照会のコンテキストに基づいてデジタルコンポーネントを選択することを含むことができる。方法は、データ処理システムが、デジタルコンポーネント、およびデバイスアクションコマンドペアに関連付けられたデバイス実行可能コマンドを、電子デバイスへ送信することを含むことができる。デバイスアクションを遂行させるためのデバイス実行可能コマンドは、デバイスアクションコマンドペアに関連付けられ得、デジタルコンポーネントは、電子デバイスによって提示され得る。
これらおよび他の態様および実装形態が以下で詳細に説明される。上記の情報および以下の発明を実施するための形態は、様々な態様および実装形態の例示的な例を含み、特許請求される態様および実装形態の本質および特性を理解するための概要またはフレームワークを提供する。図面は、様々な態様および実装形態の例示およびさらなる理解をもたらし、本明細書の一部の中に組み込まれ、本明細書の一部を構成する。
添付図面は、一定の縮尺で描画されるものではない。様々な図面における同様の参照番号および指定は、同様の要素を示す。明快のために、すべての構成要素がすべての図面の中で標示され得るとは限らない。
音声ベース対話能力およびカスタマイズされたデジタル仮想アシスタント(DVA)機能を有する電子デバイスを可能にするための例示的なシステムを示す図である。 電子デバイスにおいて音声ベース対話を可能にするための例示的な方法のフロー図である。 音声ベース対話をサポートする電子デバイスのブロック図である。 電子デバイスが音声ベース対話をサポートすることを可能にする例示的な方法のフロー図である。 音声ベース対話に応答して電子デバイスにコンテンツを提供する例示的な方法のフロー図である。 本明細書で説明および図示されるシステムおよび方法の要素を実施するために採用され得るコンピュータシステムのための一般的なアーキテクチャを示すブロック図である。
以下に後続することは、第2当事者デバイス、第3当事者アプリケーション、またはそれらの組合せとのオーディオベース(またはチャットベース)の対話を可能にするための方法、装置、およびシステムに関係する様々な概念およびその実装形態の、より詳細な説明である。上記で紹介され以下でさらに詳細に説明する様々な概念は、数多くのやり方のうちのいずれかで実施され得る。
オンラインプラットフォームに関連付けられたクライアントデバイスとの音声ベース(オーディオベース)またはチャットベースの対話を可能にするために、オンラインプラットフォームの中にデジタル仮想アシスタント(DVA)が統合され得る。たとえば、クライアントデバイスのユーザは、音声ベースまたはチャットベースの照会を介して、オンラインタスク、たとえば、オンライン検索またはオンライン取引を起動することができる。DVAは、音声ベースまたはチャットベースの照会を解釈することができ、音声ベースまたはチャットベースの照会の中で要求されたオンラインアクションを起動することができる。概して、DVA能力を有するクライアントデバイスはまた、ユーザの照会を履行するために、それぞれのユーザとのオーディオ会話に従事することができる。ユーザとの意味のある会話を行うとともにユーザの音声ベース照会を正確にサービスするDVA能力は、ユーザエクスペリエンスを著しく高めるので、対応するクライアントデバイスに重大な価値を加える。詳細には、DVAは、クライアントデバイスとのハンズフリー対話を可能にする。加えて、音声ベースまたはチャットベースの入力の正確な解釈、および意味のある応答を伴うと、DVAは、知覚可能なユーザデバイス会話を可能にすることによってクライアントデバイスとのユーザの対話を人間らしくする。
対応するクライアントデバイスとのチャットベースまたは音声ベースの対話を可能にするために、オンラインプラットフォームおよび対応するクライアントデバイスの中にDVAが統合され得る。たとえば、DVA機能を実施する1つまたは複数のリモートサーバと通信することが可能なモバイルデバイスまたはスマートホームデバイスのオペレーティングシステム(OS)の中に、DVAクライアント(またはDVAソフトウェアエージェント)が統合され得る。DVA機能を実施するOSおよび1つまたは複数のサーバは、本明細書で第1当事者プロバイダと呼ぶ同じエンティティまたはプロバイダによって提供され得る。そのような統合手法は、それぞれの第2当事者デバイスが、DVAに関連する機能およびサービスをサポートすることを可能にするために、DVAを提供する第1当事者プロバイダとは異なる第2当事者デバイスプロバイダ(たとえば、相手先商標製造会社(OEM)、デバイスメーカー、またはデバイスベンダ)が、自身のDVAを実装できるか、またはDVAエージェントがその中に統合されたOSを採用できるかのいずれかであることを示唆する。両方のオプションは、広い領域の第2当事者デバイスにわたるDVAの拡張にとって限定または障壁を課する。これらの限定および障壁は、(たとえば、第1当事者プロバイダまたは第2当事者プロバイダとは異なる)第3当事者プロバイダによって実装される第3当事者アプリケーション(たとえば、モバイルアプリケーションまたはクライアントアプリケーション)との音声ベース対話が第1当事者デバイスまたは第2当事者デバイスにおいて動作することを可能にするようにDVAの使用を拡張することにも当てはまる。
第2当事者デバイスプロバイダにとって、既存のOSを修正すること、またはDVAクライアントを統合する新たなOSを採用することは、問題を起こすことがあり、技術的に重荷となることがあり、かつコストがかかることがある。OSに変更が行われることにならなくても、それぞれの第1当事者プロバイダの既存のDVAを使用することは、第2当事者デバイスのプロバイダが、そのDVAプラットフォームまたはDVAサーバと通信するとともにそれぞれの第2当事者デバイスにサービスするための(たとえば、クラウドサーバを経由した)クラウド存在感を保持することを、必要とする場合がある。また、それぞれの第1当事者プロバイダの既存のDVAを使用すると、第2当事者デバイスのプロバイダには、彼らのデバイスとの音声ベース対話を差別化し、または競合者よりも多くの差異化された経験を顧客に提供するためのカスタマイゼーションの柔軟性が、あるとしてもほんのわずかにしか与えられない。たとえば、所与の第2当事者デバイスとの音声ベース対話において使用される語彙の範囲および領域は、(たとえば、他のデバイスとの音声ベース対話において使用される語彙の範囲および領域と比較して)比較的狭く特有であり得る。詳細には、(たとえば、所与のタイプまたはモデルの)各デバイスは、他のデバイスによってサポートされるデバイスアクションとは異なってよいデバイスアクションの対応する特定のセットをサポートし得る。デバイスとのユーザ相互作用が、通常は対応するデバイスアクションをトリガすることを伴うので、所与のタイプまたはモデルのデバイスによってサポートされるデバイスアクションを規定する狭い語彙範囲を使用することは、DVAシステムが所与のタイプまたはモデルのデバイスにもっと良好にサービスする助けとなることができる。DAVシステムは、音声ベース照会を解釈しそのような照会への知覚可能な応答を提供する際の、その確度を改善することができる。本明細書で使用するとき、DVAシステムとは、サーバ側のDVA機能を提供するデータ処理システムを指す。
DVAベースのサービスまたは能力(たとえば、音声ベースまたはチャットベースの対話)の使用を第3当事者アプリケーションに拡張することに関しても、類似の限定および障壁が当てはまる。第3当事者アプリケーションは、第3当事者の開発者によって開発されたモバイルアプリケーション、クライアントアプリケーション、または他のアプリケーションを含むことができる。本明細書で使用するとき、第3当事者とは、DVAシステムを提供するエンティティ(本明細書では第1当事者とも呼ばれる)およびアプリケーションがその上で実行または動作し得るデバイスを提供するエンティティ(本明細書では第2当事者とも呼ばれる)とは異なるエンティティ(たとえば、アプリケーション開発者)である。第3当事者アプリケーションは、最初に製造段階または開発段階においてはデバイス上にインストールされないことがあり、むしろ市場においてデバイスが販売された後にダウンロードおよびインストール(または開発さえも)されることがある。デバイスがDVAクライアントをサポートしても、デバイス上で動作する第3当事者アプリケーションは、たとえば、第3当事者アプリケーションまたはそのコンテンツとの音声ベース対話を可能にするための、DVAの機能を採用できないことがある。
本開示では、セルフサービス手法により、第2当事者デバイスプロバイダまたは第3当事者アプリケーションプロバイダがそれぞれのカスタムアクションをトリガするために音声ベース(またはチャットベース)の対話を可能にすることが許容され得る。第2当事者デバイスプロバイダは、それぞれのグループのデバイス(たとえば、所与のタイプ、カテゴリー、またはモデルのデバイス)によってサポートされるカスタムデバイスアクションのバンドル(またはアクションパッケージ)を構築または定義することができ、そのバンドル(またはアクションパッケージ)をDVAシステムに提供することができる。カスタムデバイスアクションの各バンドルは、それぞれのグループのデバイスおよび1つまたは複数の対応するデバイス実行可能コマンドによってサポートされる1つまたは複数のデバイスアクションを含むことができる(または指定することができる)。カスタムデバイスアクションのバンドルにおける各デバイスアクションは、それぞれのグループのデバイスのうちの任意のデバイス上でそのデバイスアクションを実行するための(またはそれを遂行させるための)、対応するデバイス実行可能コマンドが関連付けられ得る。カスタムデバイスアクションのバンドルはまた、それぞれのデバイスアクションごとに、そのデバイスアクションの実行に関してそれぞれのグループのデバイスのうちの任意のデバイス上での提示のために提供されるべき、対応する応答(たとえば、オーディオ応答、ビジュアル応答、またはオーディオビジュアル応答)を含んでよい(または指定してよい)。
DVAシステムは、それぞれの識別子に関連してカスタムデバイスアクションの各バンドルを保持することができる。識別子は、カスタムデバイスアクションのバンドルに関連付けられたデバイスのグループのデバイスモデルを示すデバイスモデル識別子(ID)、第2当事者デバイスプロバイダの識別子、バンドルID、カスタムデバイスアクションのバンドルがその下に保持されるディレクトリのディレクトリID、またはそれらの組合せであり得る。第2当事者デバイスプロバイダは、カスタムデバイスアクションのバンドルとともに、識別子をDVAシステムに提供することができる。カスタムデバイスアクションのバンドル、および識別子をDVAシステムに提供するプロセスは、対応するデバイスグループのデバイス(または対応するデバイスモデル)の、DVAシステムへの登録として見られ得る。デバイスモデル(またはデバイスのグループ)を登録することはまた、(たとえば、デバイスモデルに関連付けられた)デバイスのグループの性質、特性、機能、もしくは能力の表示、デバイスのグループまたはデバイスモデルに関連付けられた他のメタデータ、またはそれらの組合せを提供することを含んでよい。DVAシステム(またはその第1当事者プロバイダ)は、たとえば、ユーザインターフェース(UI)、ウェブインターフェース、またはRESTfulアプリケーションプログラミングインターフェース(API)を介して、第2当事者デバイスプロバイダがデバイスモデル(またはデバイスのグループ)をDVAシステムに登録することを可能にすることができる。第1当事者プロバイダまたはDVAシステムは、たとえば、カスタムデバイスアクションのバンドルの中で提供されるデバイス実行可能コマンドのテストに成功すると、デバイスモデル(またはデバイスのグループ)を有効化(または認証)してよい。
同様に、第3当事者アプリケーションプロバイダは、それぞれのアプリケーションによってサポートされるカスタムアプリケーションアクションのバンドル(またはパッケージ)を構築または定義することができ、そのバンドル(またはパッケージ)をDVAシステムに提供することができる。カスタムアプリケーションアクションのバンドルは、アプリケーションおよび1つまたは複数の対応するアプリケーション実行可能コマンドによってサポートされる1つまたは複数のアクションを含むことができる。各カスタムアプリケーションアクションは、そのカスタムアプリケーションアクションをアプリケーションに実行させるための、対応するアプリケーション実行可能コマンドが関連付けられ得る。カスタムデバイスアクションのバンドルと同様に、DVAシステムは、それぞれの識別子に関連してカスタムアプリケーションアクションの各バンドルを保持することができる。識別子は、アプリケーションID、第3当事者アプリケーションプロバイダID、バンドルID、またはカスタムアプリケーションアクションのバンドルがその下に保持されるディレクトリ(またはプロジェクト)を示すディレクトリIDであり得る。
第1当事者プロバイダまたはDVAシステムは、音声ベースユーザ対話を可能にするために第2当事者デバイスまたは第3当事者アプリケーションの統合のための1つまたは複数のソフトウェア開発キット(SDK)を提供することができる。第1当事者プロバイダは、別個のSDKを第2当事者デバイスおよび第3当事者アプリケーションに提供することができる。SDKは、第2当事者デバイスまたは第3当事者アプリケーションの中に統合されたとき、オーディオレシーバ(たとえば、マイクロフォン)をアクティブ化すること、会話を起動すること、DVAシステムとの通信セッションを起動すること、要求を送るとともにDVAシステムから応答を受信すること、DVAシステムから受信された応答を構文解析すること、またはそれらの組合せのためのソフトウェアツールを提供することができる。また、第2当事者デバイスプロバイダまたは第3当事者アプリケーションプロバイダは、デバイス実行可能コマンドまたはアプリケーション実行可能コマンドのオンデバイス実行を実行するためのオンデバイスアクションハンドラを構築することができる。
(たとえば、登録済みのデバイスグループまたはデバイスモデルに関連付けられた)第2当事者デバイスは、それぞれのユーザから音声ベース照会を受け取ることができ、音声ベース照会に対応するオーディオ信号を生成することができる。第2当事者デバイスは、それぞれのアクションパッケージに関連付けられた識別子(たとえば、デバイスモデルID)と一緒にオーディオ信号をDVAシステムへ送信することができる。DVAシステムは、オーディオ信号および識別子に基づいて、カスタムデバイスアクションのそれぞれのアクションパッケージの中で列挙されたデバイスアクションの間でデバイスアクションを識別することができる。デバイスアクションを識別する際に、DVAシステムは、それぞれのアクションパッケージの中で列挙されたアクションを示す表現または照会パターンに、異なる重みを割り当てることができる。DVAシステムは、デバイスモデルによってサポートされるデバイスアクションを示す照会パターンに対して、コンテキスト音声バイアスを用いたコンテキストデバイスアクション整合およびランク付けメカニズムを適用することができる。たとえば、複数の照会パターンのうちの照会パターンに受信オーディオ信号を整合させる際に、DVAシステムは、デバイスモデルによってサポートされるデバイスアクションに関連付けられた(またはそれを示す)照会パターンに、バイアスを適用することができる。
DVAシステムは、識別されたデバイスアクションに関連付けられたデバイス実行可能コマンドを取り出すことができ、そのデバイス実行可能コマンドを実行のために第2当事者デバイスへ送ることができる。DVAシステムはまた、識別されたデバイスアクションに関連付けられた応答を取り出すことができ、音声ベース照会の中で要求されたデバイスアクションの実行の前、実行中、または実行の後に、その応答のオーディオバージョンをユーザへの提示(または再生)のために第2当事者デバイスへ送ることができる。第2当事者デバイスがデバイス実行可能コマンドを受信すると、オンデバイスアクションハンドラは、DVAシステムから受信された通信からデバイス実行可能コマンドを抽出することまたは取り出すことができ、音声ベース照会の中で要求されたデバイスアクションを実行するためのデバイス実行可能コマンドを第2当事者デバイスに実行させることができる。第2当事者デバイスは、デバイスアクションの実行の前、実行中、または実行の後に、(DVAシステムから受信された)任意のオーディオ応答、ビジュアル応答、またはオーディオビジュアル応答を再生することができる。
(たとえば、その中に統合されデバイス上で動作するSDKを有する)第3当事者アプリケーションは、対話式ユーザインターフェース(UI)構成要素をデバイスのディスプレイ上での提示のために提供することができる。デバイスのユーザは、たとえば、第3当事者アプリケーションとの会話を始めるために、(たとえば、クリック、タッチ、またはスワイプすることによって)対話式UI構成要素と対話することができる。ユーザから音声ベース照会を受け取ると、アプリケーションは、音声ベース照会に対応するオーディオ信号を生成することができ、それぞれのアクションパッケージに関連付けられた識別子(たとえば、アプリケーションID、アクションパッケージID、ディレクトリID)と一緒にオーディオ信号をDVAシステムへ送信することができる。DVAシステムは、オーディオ信号および識別子に基づいて、それぞれのアクションパッケージの中で列挙されたカスタムアプリケーションアクションの間でアプリケーションアクションを識別することができる。デバイスアクションを識別する際に、DVAシステムは、それぞれのアクションパッケージの中で列挙されたアクションを示す表現または照会パターンに、異なる重みを割り当てることができる。DVAシステムは、第3当事者アプリケーションによってサポートされるアプリケーションアクションを示す照会パターンに対して、コンテキスト音声バイアスを用いたコンテキストデバイスアクション整合およびランク付けメカニズムを適用することができる。DVAシステムは、アプリケーションアクションに関連付けられたコマンドを識別することができ、そのコマンドを第3当事者アプリケーションによる実行のためにデバイスへ送信することができる。
DVAシステムはまた、識別子、識別されたデバイスもしくはアプリケーションアクション、デバイスの識別子、またはそれらの組合せを使用して、音声ベース照会のコンテキストを識別することができる。音声ベース照会のコンテキストを識別することは、音声ベース照会の背後のユーザ意図を識別することを含むことができる。DVAシステムは、第3当事者デジタルコンポーネント(たとえば、広告)などのデジタルコンポーネントを音声ベース照会のコンテキストに基づいて選択することができ、そのデジタルコンポーネントを提示のためにデバイスへ送ることができる。デジタルコンポーネントは、オーディオコンテンツまたはオーディオビジュアルコンテンツを含むことができる。デジタルコンポーネントは、サービスまたは製品をユーザに提案または提供するための販売促進コンテンツを含むことができる。デバイスは、音声ベース照会への自然応答の一部としてユーザに感じさせるか、そのように見えるように、デジタルコンポーネントをシームレスに提示することができる。
本開示の例示的な実施形態によれば、本明細書で説明するシステム、方法、およびデバイスは、第2当事者デバイスプロバイダまたは第3当事者アプリケーションプロバイダが、第1当事者プロバイダに関連するDVAシステムと通信するためのクラウドポイントを保持することなく、デバイスアクションのオンデバイス実行モデルを採用することによって、第2当事者デバイスまたは第3当事者アプリケーションとの音声ベース対話を可能にする。DVAシステムは、第2当事者デバイスからオーディオ照会を受信することができ、要求されたデバイスまたはアプリケーションアクションを識別するために音声認識およびスマート自然言語処理を実行することができる。DVAシステムは、要求されたデバイスアクションを実行するように第2当事者デバイスをトリガするデバイス実行可能コマンドを示す応答、たとえば、JSON応答を、第2当事者デバイスに提供することができる。また、本開示の例示的な実施形態によれば、ユーザは、エージェントを呼び出すことまたはエージェントに話しかけることをデバイスに明示的に求めずに、特定のデバイスアクションまたは特定のアプリケーションアクションの遂行を要求するための音声ベース照会を行ってよい。
以下において、デバイスアクションとは、カスタムデバイスアクションまたはカスタムアプリケーションアクションを指すことができる。事実上、カスタムデバイスアクションとカスタムアプリケーションアクションの両方が、電子(またはクライアント)デバイスによって実行される。また、電子(またはクライアント)デバイスまたはシステムとは、命令またはコマンドを実行するための電子(または処理)能力を有するデバイスまたはシステムを指すことができる。
図1は、音声ベース対話能力およびカスタマイズされたデジタル仮想アシスタント(DVA)機能を有する電子デバイスおよび第3当事者アプリケーションを可能にするための例示的なシステム100を示す。システム100は、データ処理システム102、および通信ネットワーク106を介してデータ処理システム102に通信可能に結合された複数のクライアントデバイス104を含むことができる。データ処理システム102およびクライアントデバイス104は、異なるかまたは別々のプロバイダに関連付けられ得る。システム100は、クライアントデバイス104のプロバイダ、またはクライアントデバイス104(たとえば、第2当事者デバイス)上で実行可能な第3当事者アプリケーションのプロバイダに関連する、1つまたは複数のコンピューティングデバイス108を含むことができる。本明細書で使用するとき、デバイスプロバイダは、クライアントデバイス104を顧客またはユーザに提供するデバイスメーカーまたは別のエンティティを含むことができる。第3当事者アプリケーションプロバイダは、アプリケーションを消費のために提供するアプリケーション開発者または別のエンティティを含むことができる。1つまたは複数のコンピューティングデバイス108は、通信ネットワーク106を通じてデータ処理システム102に通信可能に結合され得る。通信ネットワーク106は、インターネット、ワイヤレスセルラーネットワーク、有線ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、パブリックネットワーク、プライベートネットワーク、またはそれらの組合せを含むことができる。
データ処理システム102は、データまたはコンピュータコード命令を記憶するためのメモリ110、コンピュータコード命令を実行するための1つまたは複数のプロセッサ112、およびクライアントデバイス104またはコンピューティングデバイス108などの他のシステムまたはデバイスと通信するための通信インターフェース114を含むことができる。データ処理システム102は、1つまたは複数のアクションパッケージ(またはバンドル)118を記憶するためのデータリポジトリ116を含むことができる。データ処理システム102は、アクションパッケージ118または対応するデータの記憶、アクセス、または処理を管理するためのアクションカスタマイゼーション構成要素120を含むことができる。データ処理システム102は、オーディオ信号をテキストに変換するための音声認識構成要素122、および音声認識構成要素122によって提供されるテキスト出力などのテキストの構造および意味を決定するための自然言語プロセッサ(NLP:natural language processor)構成要素124を含むことができる。データ処理システム102は、テキストを対応するオーディオ(または可聴)信号に変換するためのオーディオ信号発生器構成要素を含むことができる。データ処理システム102は、コンテンツまたはデジタルコンポーネント(本明細書ではコンテンツ項目とも呼ばれる)をクライアントデバイス104上での提示のために選択するためのコンテンツ選択器構成要素128を含むことができる。
データ処理システム102は、1つまたは複数のコンピュータサーバ(図1に示さず)を含むことができる。たとえば、データ処理システム102は、分散コンピューティング技法を容易にする論理的にグループ化された複数のサーバ(図1に示さず)を含むことができる。サーバの論理グループは、データセンタ、サーバファーム、またはマシンファームと呼ばれることがある。サーバは地理的に分散させることができる。データセンタまたはマシンファームは単一のエンティティとして管理され得るか、またはマシンファームは複数のマシンファームを含むことができる。各マシンファーム内のサーバは異種であり得、サーバまたはマシンのうちの1つまたは複数が、1つまたは複数のタイプのオペレーティングシステムプラットフォームに従って動作することができる。データ処理システム102は、たとえば企業データセンタの中に配置された関連する記憶システムと一緒に、1つまたは複数の高密度ラックシステムの中に格納される、データセンタの中のサーバを含むことができる。統合されたサーバをこのようにして有するデータ処理システム102は、局所化された高性能ネットワークの中にサーバおよび高性能記憶システムを配置することによって、システム管理容易性、データセキュリティ、システムの物理的なセキュリティ、およびシステム性能を改善することができる。サーバおよび記憶システムを含み、かつ高度なシステム管理ツールを用いてそれらを結合する、データ処理システム102構成要素のうちの全部または一部の集中化により、サーバリソースのより効率的な使用が可能になり、そのことは、電力および処理要件を節約し、帯域幅使用量を低減する。
クライアントデバイス104は、たとえば第2当事者デバイスのセットのプロバイダによって定義されたデバイスモデルを有する(またはそれに関連付けられる)、第2当事者デバイスのセットを含むことができる。概して、データ処理システム102は、第2当事者デバイスの各セットがそれぞれのデバイスモデルまたはデバイスタイプを有して(またはそれに関連して)、第2当事者デバイスの複数のセットにサービスすることができる(または通信可能に結合され得る)。クライアントデバイス104は、第3当事者アプリケーションがその上にインストールされた第1当事者デバイスまたは第2当事者デバイスを含むことができる。クライアント(または電子)デバイス104は、ロボット、自動車もしくは他の車両、アプライアンス、ホームセキュリティシステム、照明制御システム、ケーブルボックス、スマートテレビジョン、メディアプレーヤ、ラジオデバイス、スマートアラームクロック、スマートウォッチ、モバイルデバイスもしくはハンドヘルドデバイス(たとえば、タブレット、スマートフォン、またはハンドヘルドメディアプレーヤ)、ビデオゲーム機、医療イメージングデバイス、フィットネスおよび運動デバイス、または命令もしくはコマンドを実行するための処理能力および、たとえばネットワーク106を介してデータ処理システム102と通信するための通信能力を有する、他のデバイスを含むことができる。プロバイダのデバイスのセットまたはグループが機能、性質、特性、または能力のそれぞれのセットを共有することを定義するために、そのデバイスプロバイダによってデバイスモデルが定義(または指定)され得る。デバイスモデルの例は、自動車(または、他の車両モデル)、アプライアンスモデル(冷蔵庫モデルまたはストーブモデル)、ホームセキュリティシステムモデル、照明制御システムモデル、ケーブルボックスモデル、スマートテレビジョンモデル、メディアプレーヤモデル、ラジオデバイスモデル、スマートアラームクロックモデル、スマートウォッチモデル、スマートフォンモデル、タブレットモデル、ラップトップモデル、ビデオゲーム機モデル、医療イメージングデバイスモデル、またはフィットネスおよび運動デバイスモデルを含むことができる。デバイスモデルは、デバイスモデル識別子(たとえば、デバイスモデル名、デバイスモデルシリアル番号、またはデバイスモデルコード)を含むことができる。所与のデバイスモデルを有する第2当事者デバイスは、共通部分を共有するデバイス識別子を有することができる。デバイス識別子の共通部分は、デバイスモデルの識別子またはインジケータとして働くことができる。デバイスプロバイダはデバイス104の複数のセット(またはグループ)を有することができ、各セットまたはグループは対応するデバイスモデルに関連付けられている。
所与のデバイスモデル(またはデバイスタイプもしくはデバイスカテゴリー)に関連付けられた第2当事者デバイスは、それぞれの複数のデバイスアクションをサポートすることができる。それぞれの複数のデバイスアクションは、所与のデバイスモデルを有する第2当事者デバイスによって実行され得るアクションを表すことができ、第2当事者デバイスのユーザによってトリガされ得る。たとえば、所与のロボットモデルのロボットに関連付けられたデバイスアクションは、たとえば、左移動、右移動、前方移動、後方移動、またはそれらの組合せを含むことができる。所与のセキュリティシステムモデルのホームセキュリティシステムによってサポートされるデバイスアクションは、たとえば、留守モードのアクティブ化、滞在モードのアクティブ化、(たとえば、特定のカメラ番号の)特定のカメラへの切替え、警報のアクティブ化、警報の非アクティブ化、またはそれらの組合せを含むことができる。所与のフィットネスおよび運動デバイスモデルのフィットネスおよび運動デバイス(たとえば、トレッドミル)によってサポートされるデバイスアクションは、たとえば、心臓モードのアクティブ化/切替え、脂肪燃焼モードのアクティブ化/切替え、特定の速度値への速度の設定、特定の仰角への高さの設定、またはそれらの組合せを含むことができる。所与のデバイスモデルの各デバイスアクションは、そのデバイスアクションを実行するように、所与のデバイスモデルを有する第2当事者デバイスをトリガする、対応するコマンド(すなわちデバイス実行可能コマンド)に関連付けられ得る。
また、第3当事者アプリケーションは、それぞれの複数のデバイスアクションをサポートすることができる。それぞれの複数のデバイスアクションは、第3当事者アプリケーションがその上にインストールされているクライアントデバイス104によって実行され得るアクションを表すことができ、第3当事者アプリケーションまたはクライアントデバイスのユーザによってトリガされ得る。たとえば、ドライバーを乗客と結びつけるためのアプリケーションに関連付けられたデバイス(またはアプリケーション)アクションは、第1のロケーションから第2のロケーションまでの乗り物を求めて検索すること、乗り物のリストから乗り物を選択すること、ドライバーの現在のロケーションをチェックすること、またはそれらの組合せを含むことができる。ソーシャルネットワークアプリケーションのデバイス(またはアプリケーション)アクションは、ページ(たとえば、友達のページ)をオープンすること、友達によって共有されるメディアファイルを再生すること、コンテンツ項目を共有すること、入力コンテンツを用いて友達の投稿に返答すること、またはそれらの組合せを含むことができる。ナビゲーションアプリケーションのデバイス(またはアプリケーション)アクションは、第1のロケーションから第2のロケーションまでの運転方角(または経路)を提供すること、経路に沿った交通情報を提供すること、経路に沿った施設(たとえば、ガソリンステーション、休憩地、またはレストラン)を求めて検索すること、代替経路に切り替えること、またはそれらの組合せを含むことができる。
第3当事者アプリケーションプロバイダまたは第2当事者デバイスプロバイダは、第3当事者アプリケーション(または、第3当事者アプリケーションをインストールするクライアントデバイス104)、または、それぞれ、デバイスモデルに関連付けられたクライアントデバイス104(たとえば、第2当事者デバイス)によってサポートされる、デバイスアクションを指定するアクションパッケージ118(たとえば、デバイスアクションファイルまたはデバイスアクションスクリプト)を生成することができる。アクションパッケージ118は、デバイスアクションごとに、クライアントデバイス104上でデバイスアクションをトリガするための1つまたは複数の照会パターンを列挙することができる。たとえば、所与のロボットモデルのロボットの場合、照会パターンは、左移動アクションに対して「左移動」および「左進行」、右移動アクションに対して「右移動」および「右進行」、前方移動アクションに対して「前方移動」および「前方進行」、後方移動アクションに対して「後方移動」および「後方進行」、またはそれらの組合せを含むことができる。所与のセキュリティシステムモデルのホームセキュリティシステムの場合、照会パターンは、留守セキュリティモードをアクティブ化するアクションに対して「留守モードのアクティブ化」および「留守モードへの切替え」、滞在セキュリティモードをアクティブ化するアクションに対して「滞在モードのアクティブ化」および「滞在モードへの切替え」、特定のカメラからのビデオコンテンツに切り替えるアクションに対して「カメラCAMERA_NUMBERへの切替え」、警報をアクティブ化するアクションに対して「警報のアクティブ化」、警報を非アクティブ化するアクションに対して「警報の非アクティブ化」、またはそれらの組合せを含むことができる。所与のフィットネスおよび運動デバイスモデルのフィットネスおよび運動デバイス(たとえば、トレッドミル)の場合、照会パターンは、たとえば、心臓血管モードをアクティブ化するアクションに対して「心臓モードのアクティブ化」および「心臓モードへの切替え」、脂肪燃焼モードをアクティブ化するアクションに対して「脂肪燃焼モードのアクティブ化」および「脂肪燃焼モードへの切替え」を含むことができる。モバイルデバイスの場合、例示的な照会パターンは、「設定をオープンする」、「電子メールをオープンする」、「私のリマインダを私に見せる」、またはそれらの組合せを含むことができる。ドライバーを乗客と結びつけるためのアプリケーションの場合、例示的な照会は、「LOCATION1からLOCATION2まで乗り物が必要」、「RIDEで行く」、または「ドライバーのロケーションを見せる」を含むことができる。ソーシャルネットワークアプリケーション用の例示的な照会は、「FRIENDページをオープンする」、「ビデオを再生する」、「ビデオを共有する」、または「CONTENTを用いてPOSTにコメントする」を含むことができる。ナビゲーションアプリケーションの場合、対応する照会は、「LOCATION1からLOCATION2までの運転方角を私に見せる」、「交通情報を私に見せる」、「FACILITIESを私に見せる」、または「新たな経路に切り替える」を含むことができる。
アクションパッケージ118は、デバイスアクションごとにアクション名を含んでよい。アクションパッケージ118は、デバイスアクションごとに、デバイスアクションのオンデバイス実行をトリガするためのそれぞれのデバイス実行可能コマンド(またはアプリケーション実行可能コマンド)を指定してよい。アクションパッケージ118は、デバイスアクションごとに、デバイスアクションの実行に関してクライアントデバイス104によって提示されるべき応答を指定してよい。各応答は、クライアントデバイス104による提示のためにオーディオに変換され得るテキスト表現として記述され得る。下記のスクリプトは、スマート調理器具用のアクションパッケージを定義する例示的なスクリプトの例示を提供する。
{
"manifest":{...},
"actions":[
{
"intent":{
"name":"com.smart_cooker.COOK_CAKE",
"trigger":{
"queryPatterns":[
"bake a cake",
"cook a cake"
]
}
},
"availability":{
"deviceAction":true
},
"staticFulfillment":{
"textToSpeech":"Baking a cake",
"deviceExecution":{
"command":"com.smart_cooker.command.COOK_CAKE"
}
}
}
]
}
本スクリプトは、「COOK_CAKE」と名付けられている、ケーキを調理するための単一のデバイスアクションを定義する。本スクリプトはまた、デバイスアクションに関連付けられた照会パターン「bake a cake (ケーキを焼く)」および「cook a cake (ケーキを調理する)」を定義する。本スクリプトは、デバイスアクションを実行するためのデバイス実行可能コマンド「command.COOK_CAKE」を定義する。さらに、本スクリプトは、たとえば、音声照会「bake a cake」または「cook a cake」に応答してクライアントデバイス104によってオーディオフォーマットで再生されるべき応答、たとえば、「Baking a cake (ケーキを焼く)」を定義することができる。
第2当事者デバイスプロバイダまたは第3当事者アプリケーションプロバイダは、対応するアクションパッケージ、およびアクションパッケージに関連付けられた識別子(ID)を、データ処理システム102に提供するために、コンピューティングデバイス108を使用することができる。たとえば、第2当事者デバイスプロバイダは、コンピューティングデバイス108を介してデータ処理システム102にそれぞれのデバイスモデルを登録することができる。コンピューティングデバイス108は、デスクトップ、ラップトップ、スマートフォン、ハンドヘルドデバイス、または他のコンピューティングデバイスを含むことができる。コンピューティングデバイス108は、デバイスモデルの登録の一部として、アクションパッケージ118およびデバイスモデルデータをデータ処理システム102へ送信することができる。デバイスモデルデータは、たとえば、デバイスモデルのインジケータ(または表示)(たとえば、デバイスモデル識別子またはデバイスモデル名)、デバイスモデルに関連付けられたデバイスの性質、特性、機能、もしくは能力の表示、対応する第2当事者デバイスプロバイダの名称、デバイスモデルに関連付けられたデバイスの記述、およびデバイスタイプの表示、またはそれらの組合せを含むことができる。第3当事者アプリケーションプロバイダはまた、(たとえば、アプリケーションによってサポートされるデバイスアクションを定義する)それぞれのアクションパッケージおよびアクションパッケージに関連付けられたID(たとえば、アプリケーションID、パッケージID、ディレクトリID、またはプロジェクトID)をデータ処理システム102に提供するために、コンピューティングデバイス108を使用することができる。データ処理システム102は、アクションデータ、ID、または他の情報をデータ処理システム102へ送信するために、コンピューティングデバイス108による使用のためのRESTful APIまたはUIを提供することができる。たとえば、UIは、データ処理システム102または第1当事者プロバイダによって提供されるウェブページまたはアプリケーションに関連付けられ得る。コンピューティングデバイス108は、たとえば、UIの対応するテキスト入力スロットの中を、デバイスアクションデータ、デバイスモデルデータ、アプリケーション情報データ、またはそれらの組合せで埋めることを可能にするために、ウェブページまたはアプリケーションにアクセスすることができる。RESTful APIとは、データを要求、転送、または削除するためにHTTP要求(たとえば、GET、PUT、POST、またはDELETE)を使用するAPIである。
下記のスクリプトは、第2当事者デバイスを登録することの一部として、コンピューティングデバイス108によってデータ処理システム102に提供され得るデータの例示的な例を提供する。本データは、上記で提供された例示的なアクションパッケージに関して説明したスマート調理器具に関係する。
{
"project_id":"my-smart-cooker",
"device_model_id":"smart-cooker-v1",
"manifest":{
"manufacturer":"Smart Cooker Inc",
"product_name":"Smart Cooker",
"device_description":"Smart device for cooking"
},
"device_type":"action.devices.types.OTHER",
"actionConfig":{
"supportedIntents":[
"com.smart_cooker.intent.COOK_CAKE"
]
}
}
上記のスクリプトの中のデータは、デバイスモデルID、製造業者名、製品名、デバイス記述、デバイスタイプ、およびアクションパッケージ(たとえば、上記の第1のスクリプトに関連付けられたアクションパッケージ)への参照(たとえば、「com.smart_cooker.intent.COOK_CAKE」)を指定する。コンピューティングデバイス108はまた、第2当事者デバイス(または第3当事者アプリケーション)に関連付けられたアクションパッケージ、識別子、および他の情報を、別々または一緒のいずれかでデータ処理システム102へ送信することができる。
データ処理システム102の構成要素は、図2および図5に関して以下でさらに詳細に説明される。
図2は、クライアント(または電子)デバイスとの音声ベース対話を可能にするための例示的な方法200のフロー図を示す。方法200は、デバイスアクションデータおよびそれぞれの識別子を受信すること(ACT202)を含むことができる。方法200は、デバイスアクションデータをメモリの中に記憶すること(ACT204)を含むことができる。方法200は、デバイスアクションデータに識別子をマッピングすること(ACT206)を含むことができる。方法200は、識別子およびオーディオ信号をクライアントデバイスから受信すること(ACT208)を含むことができる。方法200は、識別子およびオーディオ信号に基づいてデバイスアクションを識別すること(ACT210)を含むことができる。方法200は、デバイスアクションに対応するデバイス実行可能コマンドを識別すること(ACT212)を含むことができる。方法200は、デバイス実行可能コマンドをクライアントデバイスへ送信すること(ACT214)を含むことができる。
図1および図2を参照すると、方法200は、データ処理システム102がデバイスアクションデータおよび対応する識別子を対応するコンピューティングデバイス108から受信すること(ACT202)を含むことができる。コンピューティングデバイス108は、第2当事者デバイスプロバイダまたは第3当事者アプリケーションプロバイダに関連付けられ得る。識別子は、デバイスモデルID(たとえば、デバイスモデル名、デバイスモデルコード、またはそれらの組合せ)、デバイスタイプID、プロジェクトID、ディレクトリID、アプリケーションID、アクションパッケージID、プロバイダID、またはそれらの組合せを含むことができる。プロジェクトIDは、音声ベース対話を用いて第2当事者デバイスまたは第3当事者アプリケーションのセットを可能にするプロジェクトを識別することができる。プロジェクトは、第2当事者デバイスプロバイダまたは第3当事者アプリケーションプロバイダによってデータ処理システム102に提供されるソフトウェアツールおよび/またはデータの集合を指すことができる。ディレクトリIDは、アクションデータを記憶するためにデータ処理システム102によって使用されるディレクトリを識別することができる。デバイスアクションデータは、(たとえば、デバイスモデルIDまたはデバイスタイプIDに関連付けられた)第2当事者デバイスによって、または(たとえば、アプリケーションIDまたはプロジェクトIDに関連付けられた)第3当事者アプリケーションによってサポートされる、複数のデバイスアクションの表示を含むことができる。デバイスアクションデータはまた、複数のデバイス実行可能コマンドを含むことができる。複数のデバイス実行可能コマンドの各デバイス実行可能コマンドは、複数のデバイスアクションのうちの対応するデバイスアクションに関連付けられ得る。デバイスアクションごとに、対応するデバイス実行可能コマンドは、1つまたは複数のクライアントデバイス104上でデバイスアクションの実行をトリガすることができる。データ処理システム102はまた、デバイスタイプの表示、第2当事者デバイスプロバイダの識別子もしくは名称、第3当事者アプリケーションプロバイダの識別子もしくは名称、デバイスモデルもしくは対応する第2当事者デバイスの記述、第3当事者アプリケーションの記述、第3当事者アプリケーションのバージョン、またはそれらの組合せを含む情報を受信することができる。
通信インターフェース114はまた、デバイスアクションの実行に関してクライアントデバイス104による提示のための複数の応答を受信することができる。複数の応答の各応答は、対応するデバイスアクションに関連付けられ得、対応するデバイスアクションの実行に関する提示のためにクライアントデバイス104に提供され得る。たとえば、応答は、対応するデバイスアクションの実行の開始、経過、または完了をユーザに告知するために、クライアントデバイス104によってオーディオ形式で再生され得る。
方法200は、デバイスアクションデータをメモリの中に記憶すること(ACT204)を含むことができる。メモリ110またはデバイスアクションカスタマイゼーション構成要素120は、様々なデバイスモデル、様々な第3当事者アプリケーション、またはそれらの組合せのためのデバイスアクションデータを記憶するための、データリポジトリ116を割り振ることができる。デバイスアクションカスタマイゼーション構成要素120は、別個のデバイスモデルまたは別個の第3当事者アプリケーションに関連付けられたデバイスアクションデータを別個に、たとえば、別個のアクションパッケージ118として記憶することができる。各アクションパッケージ118は、たとえばデバイスモデルまたは第3当事者アプリケーションに関連付けられた、複数のデバイスアクションおよび対応するデバイス実行可能コマンドを列挙する、1つまたは複数の対応するデータ構造、1つまたは複数の対応するデータファイル、またはそれらの組合せを含むことができる。
方法200は、デバイスアクションデータに識別子をマッピングすること(ACT206)を含むことができる。デバイスアクションカスタマイゼーション構成要素120は、対応するアクションパッケージ118の中の複数のデバイスアクションの各々に識別子がマッピングまたはリンクされるような、デバイスアクションデータを構成することができる。たとえば、データ処理システム102によって記憶されるようなアクションパッケージ118は、対応する識別子によって識別され得る。たとえば、デバイスアクションカスタマイゼーション構成要素120は、識別子を含む名称をアクションパッケージ118に割り当てることができるか、または識別子を含む名称を有するディレクトリの中にアクションパッケージ118を記憶することができる。デバイスアクションカスタマイゼーション構成要素120はまた、対応するデバイス実行可能コマンドに各デバイスアクションをマッピングまたはリンクしてよい。デバイスアクションカスタマイゼーション構成要素114はまた、もしあれば、対応する応答に各デバイスアクションをマッピングまたはリンクしてよい。たとえば、デバイスアクションカスタマイゼーション構成要素120は、対応するデバイス実行可能コマンドおよび対応する応答を有する同じ行(または同じ列)を共有する各デバイスアクションを有するテーブルの中に、デバイスアクション、デバイス実行可能コマンド、および応答を記憶してよい。
デバイスモデルに関連付けられた第2当事者デバイスに対して、デバイスアクションカスタマイゼーション構成要素120はまた、そのデバイスモデルに関連付けられた第2当事者デバイスにサービスする前にデバイスモデルを有効化または認証してよい。たとえば、(たとえば、試作または実際の第2当事者デバイスにおいて)デバイス実行可能コマンドのテストに成功すると、デバイスアクションカスタマイゼーション構成要素120は、アクションパッケージ118がアクティブであることを示すために、対応するアクションパッケージ118の中で設定(またはパラメータを作成)することによってデバイスモデルを有効化または認証してよい。アクティブでないアクションパッケージに関連付けられた第2当事者デバイスは、データ処理システム102によってサービスされなくてよい。
方法200は、識別子およびオーディオ信号をクライアントデバイスから受信すること(ACT208)を含むことができる。通信インターフェース114は、クライアントデバイス104のユーザからの音声ベース照会に応答して、オーディオ信号および識別子を(たとえば、アクションパッケージ118に関連付けられた)クライアントデバイス104から受信することができる。たとえば、第2当事者デバイスに対して、それぞれのユーザは、第2当事者デバイスへの音声ベース照会を行ってよく、第2当事者デバイスは、照会に対応するオーディオ信号を記録することができ、それを識別子とともにデータ処理システム102へ送ることができる。第3当事者アプリケーションに対して、アプリケーションは、アプリケーションがその上にインストールされているクライアントデバイス104との会話を起動するための、対話式UI構成要素を提供することができる。対話式UI構成要素と対話すると、アプリケーションは、クライアントデバイス104に、たとえば、オーディオレシーバ(たとえば、マイクロフォン)をアクティブ化すること、データ処理システム102との通信セッションを確立すること、またはその両方を行わせることができる。ユーザが音声ベース照会を行うと、アプリケーションは、クライアントデバイス104に、照会を表すオーディオ信号を記録させることができ、そのオーディオ信号を識別子とともにデータ処理システム102へ送らせることができる。クライアントデバイス104は、データ処理システム102へ送るためのオーディオ入力をそこから受け取るための、オーディオレシーバとは異なる別のオーディオソースを指定することができる。
方法200は、識別子およびオーディオ信号に基づいてデバイスアクションを識別すること(ACT210)を含むことができる。デバイスアクションカスタマイゼーション構成要素120は、データ処理システム102によって保持される(またはそれにとってアクセス可能な)アクションパッケージ118の中から対応するアクションパッケージ118を識別するために、受信された識別子を使用することができる。デバイスアクションカスタマイゼーション構成要素120は、アクションパッケージ118の中で列挙されたデバイスアクションの各々関連付けられた照会パターンを取り出すことができる。音声認識構成要素122は、オーディオ信号を対応するテキストに変換することができる。NLP構成要素122は、音声認識構成要素122によって生成されたテキストおよび取り出された照会パターンを使用して、識別子に関連付けられたアクションパッケージの中で列挙された複数のデバイスアクションのうちのデバイスアクションを識別することができる。NLP構成要素124は、音声認識構成要素によって生成されたテキストを対応する意味に整合させるとき、取り出された照会パターンに対してバイアスを適用することができる。たとえば、受信オーディオ信号が、識別子または対応するアクションパッケージ118に関連付けられた第2当事者デバイスまたは第3当事者アプリケーションによって提供されるものと知られていることを仮定すれば、NLP構成要素124は、アクションパッケージ118の中で列挙された照会パターンに対応しない意味に、0の整合重みまたは(たとえば、アクションパッケージ118の中の照会パターンに対応する意味に対する整合重みと比較して)比較的小さい整合重みを割り当てることができる。NLP構成要素124は、NLP構成要素124の機械学習プロセスを使用して、デバイスアクション(または対応する照会パターン)ごとに(たとえば、整合重みに基づいて)整合スコアを決定することができる。NLP構成要素124は、受信オーディオ信号のコンテンツに整合するものとして、重みが最も大きいデバイスアクションを選択することができる。
方法200は、デバイスアクションに対応するデバイス実行可能コマンドを識別すること(ACT212)を含むことができる。デバイスアクションカスタマイゼーション構成要素120は、NLP構成要素124によって識別されたデバイスアクションに対応する、アクションパッケージ118の中の複数のデバイス実行可能コマンドのうちのデバイス実行可能コマンドを識別することができる(または取り出すことができる)。たとえば、デバイスアクションカスタマイゼーション構成要素120は、アクションパッケージ118の中の(NLP構成要素124によって識別された)デバイスアクションにマッピングまたはリンクされたデバイス実行可能アクションを取り出すことができる。デバイスアクションカスタマイゼーション構成要素120はまた、デバイス実行可能コマンドに関連付けられた1つまたは複数のパラメータを識別してよい。たとえば、デバイスアクション(または対応するデバイス実行可能コマンド)が、運転方角を求める要求または乗り物を求める要求に関係する場合、対応するパラメータは、出発ロケーションおよび行き先ロケーションの表示を含んでよい。デバイスアクションが、リソース情報(たとえば、ソーシャルネットワークページまたはウェブページ)をオープンすることに関係する場合、パラメータは、リソースの名称またはアドレスを含むことができる。デバイスアクションごとに、対応する照会パターンは、デバイスアクションが任意の入力パラメータに関連付けられ得るかどうかを示すことができる。たとえば、照会「need ride from LOCATION1 to LOCATION2 (第1のロケーションから第2のロケーションまでの乗り物を求める)」は、パラメータLOCATION1およびLOCATION2がクライアントデバイス104のユーザによって提供されるべきであることを示す。また、照会パターン「open FRIEND page (FRIENDページをオープンする)」、「go with RIDE (RIDEで行く)」、「show me FACILITIES (FACILITIESを私に見せる)」、および「comment to POST with CONTENT (CONTENTを用いてPOSTにコメントする)」の中で、パラメータFRIEND、RIDE、FACILITIES、POST、およびCONTENTは、ユーザによって提供されるべきである。NLP構成要素124は、受信オーディオ信号に対応するテキストを構文解析することができ、もしあれば、デバイスアクションパラメータの値を識別することができる。デバイスアクションカスタマイゼーション構成要素120は、デバイス実行可能コマンドをクライアントデバイス104へ送る前に、デバイスアクションに対応するデバイス実行可能コマンドに、識別されたパラメータを添付することができる。
デバイスアクションカスタマイゼーション構成要素120はまた、対応するアクションパッケージ118の中の(NLP構成要素124によって識別された)デバイスアクションにマッピングまたはリンクされた応答を取り出してよい。オーディオ信号発生器126は、応答が元はテキストフォーマットである場合、応答をオーディオフォーマット(たとえば、オーディオ信号)に変換することができる。デバイスアクションに関連する応答が、オーディオフォーマット、ビジュアルフォーマット、またはオーディオビジュアルフォーマットをなす場合、デバイスアクションカスタマイゼーション構成要素120は、第2当事者デバイス104へ送るために応答を通信インターフェース114に提供することができる。
方法200は、デバイス実行可能コマンドを第2当事者デバイスへ送信すること(ACT214)を含むことができる。通信インターフェース114は、音声ベース照会に応答した実行のために、もしあれば対応するパラメータとともに、デバイス実行可能コマンドをクライアントデバイス104へ送信することができる。実行可能コマンドは、実行されたとき、NLP構成要素124によって識別されたデバイスアクションをクライアントデバイス104に実行させることができる。通信インターフェース114はまた、もしあれば、(オーディオフォーマット、ビジュアルフォーマット、またはオーディオビジュアルフォーマットをなす)応答を、クライアントデバイス104へレンダリングのために送信してよい。
図3は、音声ベース対話をサポートするクライアント(または電子)デバイス104のブロック図を示す。クライアントデバイス104は、音声ベース照会を受信するためのオーディオレシーバ302、およびデータ処理システム102などの他のデバイスまたはシステムと通信するための通信インターフェース304を含むことができる。クライアントデバイス104は、デバイス実行可能コマンドを実行する(またはそれを実行させる)ためのコマンド実行構成要素306、およびオーディオ信号(たとえば、データ処理システム102から受信されるオーディオ信号)に基づいてオーディオ波を生成するためのスピーカー308を含むことができる。クライアントデバイス104は、データ処理システム102との通信を管理するためのコントローラ310を含むことができる。第2当事者デバイスのこれらの構成要素は、図4に関して以下でさらに説明される。
図4は、クライアントデバイスが音声ベース対話をサポートすることを可能にする例示的な方法400のフロー図を示す。方法400は、音声ベース照会に応答してオーディオ信号を生成すること(ACT402)を含むことができる。方法400は、オーディオ信号および識別子をリモートデータ処理システムへ送信すること(ACT404)を含むことができる。方法400は、デバイス実行可能コマンドを受信すること(ACT406)、およびデバイス実行可能コマンドを実行すること(ACT408)を含むことができる。
図3および図4を参照すると、方法400は、音声ベース照会に応答してオーディオ信号を生成すること(ACT402)を含むことができる。クライアントデバイス104のユーザは、クライアントデバイスまたはその上にインストールされた第3当事者アプリケーションとの会話を起動することができる。クライアントデバイス104または第3当事者アプリケーションは、会話を始めるというユーザの意図をクライアントデバイス104にシグナリングするために、対話式UI構成要素、ボタン、または他の入力メカニズムを提供してよい。対話式UI構成要素と対話すると(または他の入力時に)、クライアントデバイス104または第3当事者アプリケーションは、オーディオ入力の記録のためにオーディオレシーバ302(たとえばマイクロフォン)を作動させること、データ処理システム102との通信セッションを確立すること、またはその両方を行ってよい。オーディオレシーバ302は、クライアントデバイス104のユーザからの音声ベース照会に対応するオーディオ信号を生成することができる。オーディオレシーバ302は、たとえば、音声ベース照会に対応する音波を電気オーディオ信号に変換することができる。クライアントデバイス104はまた、クライアントデバイス104または第3当事者アプリケーションによってサポートされるデバイスアクションを定義するアクションパッケージに関連付けられた識別子(たとえば、デバイスモデルID、アプリケーションID、プロジェクトID、ディレクトリID、またはそれらの組合せ)を、(たとえば、対応するメモリの中に)記憶することができる。クライアントデバイス104(または第3当事者アプリケーション)は、データ処理システム102へ送るためのオーディオ入力をそこから受け取るための、オーディオレシーバとは異なる別のオーディオソースを指定することができる。クライアントデバイス104または第3当事者アプリケーションは、対話式UI構成要素と対話すると、指定されたオーディオソースを作動させてよい。
方法400は、識別子およびオーディオ信号をリモートデータ処理システムへ送信すること(ACT404)を含むことができる。コントローラ310は、通信インターフェース304に、音声ベース照会に応答して識別子およびオーディオ信号をデータ処理システム102へ送信させることができる。コントローラ310は、オーディオ信号および識別子を含む、データ処理システム102へ送るための要求を生成することができる。その要求は、音声ベース照会のコンテンツを解釈するための要求として見られ得る。コントローラ310は、その要求をデータ処理システム102へ通信インターフェース304に送信させることができる。図1および図2に関して上記で説明したように、データ処理システム102は、識別子を使用して、データ処理システムによって保持される複数のアクションパッケージ118の中からアクションパッケージ118を識別することができ、オーディオ信号を使用して、アクションパッケージ118の中で列挙されたデバイスアクションまたは照会パターンの中から、音声ベース照会のコンテンツに対応するデバイスアクション(または対応する照会パターン)を決定することができる。データ処理システム102は、もしあれば、オーディオ信号のコンテンツに整合したデバイスアクションに対応するデバイス実行可能コマンドを決定することができる。
方法400は、デバイス実行可能コマンドを受信すること(ACT406)を含むことができる。通信インターフェース304は、オーディオ信号および識別子の送信に応答して、オーディオ信号のコンテンツに整合したデバイスアクションに対応するデバイス実行可能コマンドを含む応答メッセージを、データ処理システムから受信することができる。デバイス実行可能コマンドは、音声ベース照会(またはオーディオ信号)のコンテンツに対応するデバイスアクションを識別するとデータ処理システム102によって識別され得る。デバイス実行可能コマンドを受信することは、コマンドに関連付けられるとともに音声ベース照会の中でユーザによって提供された、1つまたは複数のパラメータを(たとえば、応答メッセージの中で)受信することを含むことができる。通信インターフェース304はまた、データ処理システム102からオーディオ応答を受信してよい。コントローラ310は、デバイス実行可能コマンド、コマンドに関連付けられた任意のパラメータ、クライアントデバイス104によってレンダリングされるべきメディア応答、またはそれらの組合せを識別するために、受信されたメッセージを構文解析することができる。
方法400は、デバイス実行可能コマンドを実行すること(ACT408)を含むことができる。コントローラ310は、デバイス実行可能コマンドおよびそれらの任意のパラメータを、実行のためにコマンド実行構成要素306に提供することができる。コマンド実行構成要素306は、受信されたデバイス実行可能コマンドに対応するデバイスアクションをクライアントデバイス104に実行させるために、デバイス実行可能コマンドを実行することができる。コマンドを実行することは、クライアントデバイス104(またはその上に記憶されたアプリケーション)が、検索照会(または検索要求)を生成すること、およびそれをオンラインサーバ(たとえば、第3当事者アプリケーションに関連付けられたサーバ)へ送ることを含むことができる。たとえば、アプリケーションまたはクライアントデバイス104は、受信された実行可能コマンドおよび対応するパラメータに基づいて、第1のロケーションから第2のロケーションまでの乗り物を求める要求を生成することができる。クライアントデバイス104は、検索照会または検索要求をオンラインサーバへ送信することができる。オンラインサーバから応答を受信すると、クライアントデバイス104は、ユーザへの応答の中で情報を提示することができる。
コントローラ310またはコマンド実行構成要素306は、データ処理システム102から受信された通信(またはメッセージ)からデバイス実行可能コマンドおよび対応する任意のパラメータを抽出し、かつ抽出されたコマンドを実行するための、デバイスアクションハンドラを含むことができる(または実装することができる)。下記のスクリプトは、デバイスアクションハンドラの例示的な例を表す。
.h
namespace assistant_client{
class SmartCookerHandler:public DeviceActionHandler{
public:
void Execute(const std::string&request_json)override;
};
}
.cc
namespace assistant_client{
void SmartCookerHandler::Execute(const std::string&device_request_json){
//コマンドを抽出
//cake cookingを開始
}
============================================================
namespace chromecast{
//static
assistant_client::DeviceActionHandler*
CastAssistantShlib::CreateDeviceActionHandler(const
std::string&action_type){
if(action_type=="device_control"){
return new assistant_client::SmartCookerHandler();
}
}}
//namespace chromecast
コントローラ310は、クライアントデバイス104によるレンダリング用の任意のメディア応答を、対応するメディアプレーヤに提供することができる。たとえば、コントローラ310は、デバイス実行可能コマンドの実行に関してスピーカー308を通じてオーディオ応答を再生するために、データ処理システム102から受信されたオーディオ応答をオーディオプレーヤに提供することができる。コントローラ310は、デバイス実行可能コマンドの実行の前に、実行中に、または実行の後に、オーディオ応答をレンダリングさせることができる。オーディオプレーヤおよびスピーカーはまた、データ処理システム102から受信された任意の追加のオーディオコンテンツを再生してよい。ビジュアル応答またはオーディオビジュアル応答が受信される場合、コントローラは、オーディオビジュアルプレーヤ(たとえば、画像プレーヤ、アニメーションプレーヤ、またはビデオプレーヤ)に、クライアントデバイス104のディスプレイ上でビジュアル応答またはオーディオビジュアル応答をレンダリングさせることができる。
図3および図4に関して説明したアクションパッケージ、デバイスアクション、および対応するデバイス実行可能コマンドは、上記で図1および図2に関して説明したものと類似である。また、図3および図4の説明は、クライアントデバイス104によって実行されるプロセスおよび行為に焦点を当てるが、これらのプロセスおよび行為は、データ処理システム102によって実行されるとともに図1および図2に関して説明したプロセスおよび行為と相互に関係する。
図5は、デバイスアクションをトリガするための音声ベース対話に応答してコンテンツを提供する例示的な方法500のフロー図を示す。方法500は、デバイスアクションデータをメモリの中に記憶すること(ACT502)を含むことができる。方法500は、デバイスアクションデータに識別子をマッピングすること(ACT504)を含むことができる。方法500は、識別子およびオーディオ信号をクライアントデバイスから受信すること(ACT506)を含むことができる。方法500は、識別子およびオーディオ信号に基づいてデバイスアクションコマンドペアを識別すること(ACT508)を含むことができる。方法500は、オーディオ信号に関連付けられた音声ベース照会のコンテキストを識別すること(ACT510)を含むことができる。方法500は、オーディオ信号に関連付けられた音声ベース照会のコンテキストに基づいてデジタルコンポーネントを選択すること(ACT512)を含むことができる。方法500は、デジタルコンポーネント、およびデバイスアクションコマンドペアに対応するデバイス実行可能コマンドを、クライアントデバイス104へ送信すること(ACT514)を含むことができる。
データ処理システム102(またはその構成要素)は、図1および図2に関して上記で説明したような類似の(図2のACT202〜208と類似の)やり方で、方法500のACT502〜508を実行することができる。デバイスアクションデータは、たとえば、デバイスモデルに関連付けられた第2当事者デバイスによって、または1つもしくは複数のクライアントデバイス104上にインストールされた(またはそれを動作させることが可能な)第3当事者アプリケーションによってサポートされる、カスタムデバイスアクションを定義する、デバイスアクションパッケージ118を含むことができる。
方法500は、オーディオ信号に関連付けられた音声ベース照会のコンテキストを識別すること(ACT510)を含むことができる。アクションカスタマイゼーション構成要素120は、たとえば、オーディオ信号のコンテンツ、識別子に関連付けられたアクションパッケージ118(またはデバイスアクションデータ)のコンテンツ、またはその両方に関連付けられた要因に基づいて、受信オーディオ信号に対応する音声ベース照会のコンテキストを決定することができる。たとえば、識別子に関連付けられたアクションパッケージ118(またはデバイスアクションデータ)の中の各デバイスアクションは、(たとえば、第2当事者デバイスプロバイダもしくは第3当事者アプリケーションプロバイダによって提供されるか、または収集された履歴データに基づいてデータ処理システムによって生成される)1つまたは複数のキーワードに関連付けられ得る。キーワードは、そのデバイスアクションに整合した照会の共通コンテキストを示すことができる。アクションカスタマイゼーション構成要素120は、デバイスアクションのコンテキストを記述するとき、デバイスアクションに関連付けられたキーワードを使用することができる。
アクションカスタマイゼーション構成要素120は、たとえば、(たとえば、識別子がデバイスモデルIDである場合)デバイスモデルに関連付けられた第2当事者デバイスを記述するか、またはアクションパッケージに関連付けられた第3当事者アプリケーションを記述する、アクションパッケージに関連付けられた情報に基づいて、音声ベース照会のコンテキスト(またはその属性)を識別することができる。たとえば、アプリケーションがゲーミングアプリケーションである場合、音声ベース照会のコンテキスト(またはコンテキスト属性)はゲーミングであることになる。また、第2当事者デバイスがフィットネスデバイスである場合、音声ベース照会のコンテキスト(またはコンテキスト属性)はフィットネスおよび運動であることになる。
アクションカスタマイゼーション構成要素120は、たとえば、(たとえば、識別子がデバイスモデルIDである場合)デバイスモデルに関連付けられた第2当事者デバイスを記述するか、またはアクションパッケージに関連付けられた第3当事者アプリケーションを記述する、アクションパッケージに関連付けられた情報に基づいて、音声ベース照会のコンテキスト(またはその属性)を識別することができる。たとえば、アプリケーションがゲーミングアプリケーションである場合、音声ベース照会のコンテキスト(またはコンテキスト属性)はゲーミングであることになる。また、第2当事者デバイスがフィットネスデバイスである場合、音声ベース照会のコンテキスト(またはコンテキスト属性)はフィットネスおよび運動であることになる。
アクションカスタマイゼーション構成要素120は、音声ベース照会の中で提供されるとともにNLP構成要素124によって抽出される情報(またはパラメータ)に基づいて、音声ベース照会のコンテキスト(またはその属性)を識別することができる。たとえば、アクションカスタマイゼーション構成要素120は、音声ベース照会の地理的コンテキストを決定するために、地理的ロケーションを示す抽出されたパラメータを使用することができる。アクションカスタマイゼーション構成要素120は、ユーザ意図(たとえば、ガソリンを満たすこと、または食事をすること)を決定するために、ビジネスのタイプ(たとえば、ガソリンステーションまたはレストラン)を示す抽出されたパラメータを使用することができる。
デバイスアクションカスタマイゼーション構成要素120は、NLP構成要素124によって識別されたデバイスアクションを、デバイスアクションの1つまたは複数の対応する既定のシーケンスにマッピングすることができる。たとえば、デバイスアクションカスタマイゼーション構成要素120は、デバイスモデルに関連付けられた第2当事者デバイスのユーザまたは第3当事者アプリケーションのユーザによって要求されるデバイスアクションのシーケンスの統計データ(たとえば、反復または頻度)を収集することができる。識別されたデバイスアクションが与えられると、デバイスアクションカスタマイゼーション構成要素120は、識別されたデバイスアクションを含む、最も可能性が高い1つまたは複数のデバイスアクションシーケンスを決定することができる。デバイスアクションカスタマイゼーション構成要素120は、識別されたデバイスアクションに後続すべき1つまたは複数の他のデバイスアクションを識別(または予測)することができる。たとえば、スマートTVまたはケーブルボックスの場合、現在識別されるアクションが、オンデマンドチャネルに切り替えるためのアクションである場合、最も可能性が高く要求されることになる、後続するデバイスアクションは、動画一覧またはオンデマンドコンテンツ一覧を要求すること、ストリーミング用の動画またはメディアコンテンツを注文することを含む。コンテキストは、この場合、たとえば、「映画ストリーミング」または「エンターテインメントコンテンツストリーミング」であり得る。
アクションカスタマイゼーション構成要素120は、音声ベース照会のコンテキストを識別するために、様々な要因の組合せを使用することができる。たとえば、アクションカスタマイゼーション構成要素120は、デバイス記述またはアプリケーション記述、音声ベースコンテンツから抽出されるパラメータ、アクションパッケージ118の中の照会パターンに関連付けられたキーワードの任意の組合せを使用することができる。アクションカスタマイゼーション構成要素120は、音声ベース照会のコンテキストを決定するために使用される要因(または情報)を拡張するために、経時的に収集されたデータおよび機械学習方法を採用することができる。
方法500は、オーディオ信号に関連付けられた音声ベース照会のコンテキストに基づいてデジタルコンポーネントを選択すること(ACT512)を含むことができる。コンテンツ選択器構成要素128は、1つまたは複数のデジタルコンポーネント(またはコンテンツ項目)を選択するために、音声ベース照会のコンテキストを記述するキーワード(または属性)を使用することができる。たとえば、コンテンツ選択器構成要素128は、コンテキストがメディアコンテンツストリーミングに関係することを決定すると、ストリーミング用の動画(または他のメディアコンテンツ)に関係するデジタルコンポーネント(たとえば、広告)を選択することができる。コンテンツ選択器構成要素128は、デジタルコンポーネントを選択する際に、オークションを行うことができるか、またはコンテキストに関連付けられたキーワードを含む要求をコンテンツ配信システムへ送ることができる。コンテンツ選択器構成要素128は、オーディオ信号発生器、またはデータ処理システム102の他の構成要素に、デジタルコンポーネントを第1のフォーマットから第2のフォーマットに(たとえば、テキストからオーディオに)変換させることができる。たとえば、コンテンツ選択器構成要素128またはデバイスアクションカスタマイゼーション構成要素120は、識別されたデバイスアクションに関連付けられたオーディオ応答へのオーディオ拡張として、デジタルコンポーネントをフォーマットすることができる。そのような場合、デジタルコンポーネントは、オーディオ応答の一部であるものとして(クライアントデバイス104のユーザによって)知覚され得る。
方法500は、デジタルコンポーネント、およびデバイスアクションコマンドペアに対応するデバイス実行可能コマンドを、クライアントデバイスへ送信すること(ACT512)を含むことができる。通信インターフェース114は、(対応する任意のパラメータとともに)デバイス実行可能コマンド、デジタルコンポーネント、および(存在する場合)応答を、第2当事者デバイス104へ送ることができる。クライアントデバイス104は、たとえば、上記の図4に関して説明したように、デバイス実行可能コマンドを実行することができ、応答および/またはデジタルコンポーネントをユーザに再生(または提示)することができる。
図1〜図5の説明では、識別子は第2当事者デバイスプロバイダまたは第3当事者アプリケーションプロバイダによって提供されるものとして説明されるが、本開示によって企図される他の実施形態は、それぞれのデバイスアクションデータのアップロードに応答して、識別子を生成するとともにそれを第2当事者デバイスプロバイダまたは第3当事者アプリケーションプロバイダに提供する、データ処理システム102を含む。データ処理システムは、生成された識別子をデバイスアクションデータに割り当てることまたはマッピングすることができる。
図6は、例示的なコンピュータシステム600のブロック図である。コンピュータシステムまたはコンピューティングデバイス600は、システム100、またはデータ処理システム102(またはデバイスもしくはその構成要素)、クライアントデバイス104、もしくはデバイス・プロバイダ・コンピューティング・デバイス108などの、その構成要素を含むことができるか、またはそれらを実装するために使用され得る。コンピューティングシステム600は、情報を通信するためのバス605または他の通信構成要素、および情報を処理するためにバス605に結合されたプロセッサ610または処理回路を含む。コンピューティングシステム600はまた、情報を処理するためにバスに結合された1つまたは複数のプロセッサ610または処理回路を含むことができる。コンピューティングシステム600はまた、情報、およびプロセッサ610によって実行されるべき命令を記憶するためにバス605に結合された、ランダムアクセスメモリ(RAM)または他のダイナミック記憶デバイスなどの主記憶装置615を含む。主記憶装置615は、データリポジトリ116であり得るか、またはそれを含むことができる。主記憶装置615はまた、一時変数、またはプロセッサ610による命令の実行中の他の中間情報を記憶するために使用され得る。コンピューティングシステム600は、静的情報、およびプロセッサ610用の命令を記憶するためにバス605に結合された、読取り専用メモリ(ROM)620または他のスタティック記憶デバイスをさらに含んでよい。ソリッドステートデバイス、磁気ディスク、または光ディスクなどの記憶デバイス625は、情報および命令を持続的に記憶するためにバス605に結合され得る。記憶デバイス625は、データリポジトリ116を含むことができるか、またはその一部であり得る。
コンピューティングシステム600は、情報をユーザに表示するために、液晶ディスプレイまたはアクティブマトリックスディスプレイなどのディスプレイ635にバス605を介して結合されてよい。英数字キーおよび他のキーを含むキーボードなどの入力デバイス630が、情報およびコマンド選択をプロセッサ610に通信するためにバス605に結合されてよい。入力デバイス630は、タッチスクリーンディスプレイ635を含むことができる。入力デバイス630はまた、方向情報およびコマンド選択をプロセッサ610に通信するために、またディスプレイ635上でのカーソル移動を制御するために、マウス、トラックボール、またはカーソル方向キーなどのカーソル制御装置を含むことができる。ディスプレイ635は、たとえば、図1のデータ処理システム102、クライアントコンピューティングデバイス104、または他の構成要素の一部であり得る。
本明細書で説明するプロセス、システム、および方法は、プロセッサ610が主記憶装置615の中に収容される命令の構成を実行することに応答して、コンピューティングシステム600によって実施され得る。そのような命令は、記憶デバイス625などの別のコンピュータ可読媒体から主記憶装置615の中に読み取られ得る。主記憶装置615の中に収容される命令の構成の実行は、本明細書で説明する例示的なプロセスをコンピューティングシステム600に実行させる。主記憶装置615の中に収容される命令を実行するために、多重処理構成での1つまたは複数のプロセッサも採用されてよい。配線接続された回路構成が、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、本明細書で説明するシステムおよび方法と一緒に使用され得る。本明細書で説明するシステムおよび方法は、ハードウェア回路構成とソフトウェアとのいかなる特定の組合せにも限定されない。
図6では例示的なコンピューティングシステムが説明されているが、本明細書で説明した動作を含む主題は、本明細書で開示する構造を含む他のタイプのデジタル電子回路構成、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェア、およびそれらの構造的均等物で、あるいはそれらのうちの1つまたは複数の組合せで実施され得る。
本明細書で説明したシステムがユーザについての個人情報を収集するかまたは個人情報を利用し得る状況に対して、プログラムまたは機能が個人情報(たとえば、ユーザのソーシャルネットワーク、社会的な行動もしくは活動、ユーザの選好、またはユーザのロケーションについての情報)を収集し得るかどうかを制御するための、あるいはユーザにとってより重要であり得るコンテンツをコンテンツサーバもしくは他のデータ処理システムから受信するかどうか、またはどのように受信するのかを制御するための機会が、ユーザに提供され得る。加えて、いくつかのデータは、パラメータを生成するときに個人が特定可能な情報が除去されるように、記憶または使用される前に1つまたは複数のやり方で匿名化され得る。たとえば、ユーザの識別情報は、ユーザに対して個人が特定可能な情報が決定され得ないように匿名化され得るか、またはユーザの地理的ロケーションは、ユーザの特定のロケーションが決定され得ないように、ロケーション情報が取得される場所で(都市、郵便番号、または州レベルなどに)一般化され得る。したがって、ユーザは、彼または彼女について情報がどのように収集されコンテンツサーバによって使用されるのかを支配する、制御権を有してよい。
本明細書で説明した主題および動作は、本明細書で開示する構造を含むデジタル電子回路構成、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェア、およびそれらの構造的均等物、あるいはそれらのうちの1つまたは複数の組合せで実施され得る。本明細書で説明した主題は、1つまたは複数のコンピュータプログラム、たとえば、データ処理装置による実行のための、またはデータ処理装置の動作を制御するための、1つまたは複数のコンピュータ記憶媒体上で符号化された、コンピュータプログラム命令の1つまたは複数の回路として実装され得る。代替または追加として、プログラム命令は、データ処理装置による実行のために、好適な受信機装置への送信のために情報を符号化するように生成される、人工的に生成された伝搬信号、たとえば、機械生成された電気信号、光信号、または電磁信号の上で符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらのうちの1つまたは複数の組合せであり得るか、またはその中に含まれ得る。コンピュータ記憶媒体は伝搬信号でないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号の中で符号化されたコンピュータプログラム命令の送信元または送信先であり得る。コンピュータ記憶媒体はまた、1つまたは複数の別個の構成要素または媒体(たとえば、複数のCD、ディスク、または他の記憶デバイス)であり得るか、またはその中に含まれ得る。本明細書で説明した動作は、1つもしくは複数のコンピュータ可読記憶デバイス上に記憶されるかまたは他の送信元から受信されるデータに対して、データ処理装置によって実行される動作として実施され得る。
「データ処理システム」、「コンピューティングデバイス」、「構成要素」、または「データ処理装置」という用語は、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、もしくは複数のそれら、または上記のものの組合せを含む、データを処理するための様々な装置、デバイス、および機械を包含する。装置は、専用論理回路構成、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置はまた、ハードウェアに加えて、当該のコンピュータプログラム用の実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらのうちの1つまたは複数の組合せを構成するコードを含むことができる。装置および実行環境は、ウェブサービス基盤、分散コンピューティング基盤、およびグリッドコンピューティング基盤などの、様々な異なるコンピューティングモデル基盤を実現することができる。データ処理システム102のデバイスアクションカスタマイゼーション構成要素120、音声認識構成要素122、NLP構成要素124、オーディオ信号発生器構成要素126、またはコンテンツ選択器構成要素128は、1つまたは複数のデータ処理装置、システム、コンピューティングデバイス、またはプロセッサを含むことまたは共有することができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、スクリプト、またはコードとも呼ばれる)は、コンパイラ型言語またはインタプリタ型言語、宣言型言語または手続き型言語を含む、任意の形式のプログラミング言語で書くことができ、スタンドアロンプログラム、もしくはモジュール、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境において使用するのに適した他のユニットを含む、任意の形態で展開され得る。コンピュータプログラムは、ファイルシステムの中のファイルに対応することができる。コンピュータプログラムは、他のプログラムもしくはデータ(たとえば、マークアップ言語ドキュメントの中に記憶された1つまたは複数のスクリプト)を保持するファイルの一部分の中に、当該のプログラムに専用の単一のファイルの中に、または複数の協調ファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル)の中に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つの場所に配置されるか、もしくは複数の場所にわたって分散され通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように、展開され得る。
本明細書で説明したプロセスおよび論理フローは、入力データに対して動作するとともに出力を生成することによってアクションを実行するために、1つまたは複数のプログラマブルプロセッサが1つまたは複数のコンピュータプログラム(たとえば、データ処理システム102の構成要素)を実行することによって実行され得る。プロセスおよび論理フローはまた、専用論理回路構成、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行することができ、そうした専用論理回路構成として装置も実装することができる。コンピュータプログラム命令およびデータを記憶するのに適したデバイスは、すべての形態の、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスを含む不揮発性メモリ、媒体およびメモリデバイス、磁気ディスク、たとえば、内部ハードディスクまたはリムーバルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、専用論理回路構成によって増補され得るか、または専用論理回路構成の中に組み込まれ得る。
本明細書で説明した主題は、たとえば、データサーバとしてのバックエンド構成要素を含むか、またはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、またはフロントエンド構成要素、たとえば、ユーザが本明細書で説明した主題の実装形態とそれを通じて対話できるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータ、あるいは1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の組合せを含む、コンピューティングシステムの中で実施され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、たとえば、通信ネットワークによって、相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、ならびにピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
本明細書でそのように説明したコンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いに遠隔にあり、通常は通信ネットワーク(たとえば、ネットワーク106)を通じて対話する。コンピュータプログラムがそれぞれのコンピュータ上で動作するとともに互いにクライアントサーバ関係を有することによって、クライアントとサーバとの関係が現れる。いくつかの実装形態では、サーバは、(たとえば、クライアントコンピューティングデバイスと対話するユーザにデータを表示し、そうしたユーザからユーザ入力を受信するために)データ(たとえば、デジタルコンポーネントを表すデータパケット)をクライアントコンピューティングデバイスへ送信する。クライアントコンピューティングデバイスにおいて生成されたデータ(たとえば、ユーザ対話の結果)は、サーバにおいてクライアントコンピューティングデバイスから受信され得る(たとえば、データ処理システム102またはそのサーバによって受信され得る)。
図面では特定の順序で動作が示されるが、そのような動作は、図示の特定の順序で、または順番に実行されることを必要とされず、図示したすべての動作は、実行されることが必須ではない。本明細書で説明したアクションは、異なる順序で実行され得る。
様々なシステム構成要素の分離は、すべての実装形態において分離を必要とするとは限らず、説明したプログラム構成要素は、単一のハードウェアまたはソフトウェア製品の中に含まれ得る。たとえば、デバイスアクションカスタマイゼーション構成要素120、音声認識構成要素122、NLP構成要素124、オーディオ信号発生器構成要素126、およびコンテンツ選択器構成要素128の任意の組合せは、単一の構成要素、アプリケーション、プログラム、または1つまたは複数の処理回路を有する論理デバイス、あるいはデータ処理システム102の1つまたは複数のサーバの一部であり得る。
ここでいくつかの例示的な実装形態を説明しているが、上記が例であり限定的ではなく、例として提示されていることは明らかである。詳細には、本明細書で提示した例の多くが方法行為またはシステム要素の特定の組合せを伴うが、それらの行為およびそれらの要素は、同じ目的を達成するために他のやり方で組み合わせられてよい。1つの実装形態に関して説明した行為、要素、および機能は、他の実装形態における類似の役割または実装形態から除外されるものではない。
本明細書で使用する語法および用語は説明の目的のためのものであり、限定的とみなされるべきでない。「含むこと」、「備えること」、「有すること」、「収容すること」、「伴うこと」、「によって特徴づけられる」、「という点で特徴づけられる」、および本明細書におけるそれらの変形の使用は、その後に列挙される項目、それらの均等物、および追加の項目、ならびにその後に排他的に列挙される項目からなる代替実装形態を包含することを意味する。一実装形態では、本明細書で説明したシステムおよび方法は、説明した要素、行為、または構成要素のうちの1つ、その2つ以上の各組合せ、またはそのすべてからなる。
単数形で参照される、本明細書におけるシステムおよび方法の実装形態または要素もしくは行為への任意の参照はまた、複数のこれらの要素を含む実装形態を包含してよく、本明細書における任意の実装形態、要素、または行為への複数形での任意の参照はまた、単一の要素しか含まない実装形態を包含してよい。単数形または複数形での参照は、本開示のシステムもしくは方法、それらの構成要素、行為、または要素を、単一または複数の構成に限定するものではない。任意の情報、行為、または要素に基づく、任意の行為または要素への参照は、その行為または要素が任意の情報、行為、または要素に少なくとも部分的に基づく実装形態を含んでよい。
本明細書で開示する任意の実装形態は、任意の他の実装形態または実施形態と組み合わせられてよく、「実装形態」、「いくつかの実装形態」、「1つの実装形態」などへの参照は、必ずしも互いに排他的であるとは限らず、実装形態に関して説明した特定の機能、構造、または特性が、少なくとも1つの実装形態または実施形態の中に含まれ得ることを示すことを意図する。本明細書で使用するような用語は、必ずしもすべてが同じ実装形態を参照しているとは限らない。任意の実装形態は、本明細書で開示する態様および実装形態と矛盾しない任意の方法で、任意の他の実装形態と包含的または排他的に組み合わせられてよい。
「または」への参照は、「または」を使用して説明した任意の用語が、説明した用語のうちの1つ、2つ以上、および全部のうちのいずれかを示し得るように、包含的であるものと解釈されてよい。たとえば、「「A」および「B」のうちの少なくとも1つ」への参照は、「A」のみ、「B」のみ、および「A」と「B」の両方を含むことができる。「備えること」または他のオープンな用語とともに使用されるそのような参照は、追加の項目を含むことができる。
図面、発明を実施するための形態、または任意の請求項における技術的特徴に参照符号が後続する場合、その参照符号は、図面、発明を実施するための形態、および請求項の了解度を高めるために含められている。したがって、参照符号も、参照符号がないことも、任意の請求項要素の範囲においていかなる限定的効果も有しない。
本明細書で説明したシステムおよび方法は、それらの特性から逸脱することなく他の特定の形態で具現化され得る。上記の実装形態は、説明したシステムおよび方法の限定ではなく例示である。したがって、本明細書で説明したシステムおよび方法の範囲は、上記の説明ではなく添付の特許請求の範囲によって示され、特許請求の範囲の同等の意味および領域内に入る変更はそれらの中に包含される。
100 システム
102 データ処理システム
104 クライアントデバイス
106 通信ネットワーク
108 デバイス・プロバイダ・コンピューティング・デバイス
110 メモリ
112 プロセッサ
114 通信インターフェース
116 データリポジトリ
118 アクションパッケージ
120 デバイスアクションカスタマイゼーション構成要素
122 音声認識構成要素
124 自然言語プロセッサ構成要素
126 オーディオ信号発生器構成要素
128 コンテンツ選択器構成要素
302 オーディオレシーバ
304 通信インターフェース
306 コマンド実行構成要素
308 スピーカー
310 コントローラ
600 コンピュータシステム
605 バス
610 プロセッサ
615 主記憶装置
620 読取り専用メモリ
625 記憶デバイス
630 入力デバイス
635 ディスプレイ

Claims (60)

  1. クライアントデバイスとの音声ベース対話を可能にするためのデータ処理システムであって、
    デバイスアクションデータおよび前記デバイスアクションデータに関連付けられた識別子をコンピューティングデバイスから受信するための通信インターフェースであって、前記デバイスアクションデータが、複数のクライアントデバイスによってサポートされる複数のデバイスアクション、および複数のデバイス実行可能コマンドを示し、前記複数のデバイス実行可能コマンドの各デバイス実行可能コマンドが、前記複数のデバイスアクションのうちの対応するデバイスアクションの実行をトリガする、通信インターフェースと、
    前記デバイスアクションデータを記憶するためのメモリと、
    前記デバイスアクションデータを前記識別子にマッピングするためのデバイスアクションカスタマイゼーション構成要素と、
    オーディオ信号および前記識別子を前記複数のクライアントデバイスのうちのクライアントデバイスから受信するための前記通信インターフェースであって、前記オーディオ信号が、音声ベース照会に応答して前記クライアントデバイスによって取得される、前記通信インターフェースと、
    前記複数のクライアントデバイスによってサポートされる前記複数のデバイスアクションのうちのデバイスアクションを、前記識別子、および前記オーディオ信号に関連付けられたコンテンツを使用して識別するための自然言語プロセッサ構成要素と、
    前記デバイスアクションに対応する、前記複数のデバイス実行可能コマンドのうちのデバイス実行可能コマンドを識別するための前記デバイスアクションカスタマイゼーション構成要素と、
    前記デバイスアクションを遂行させるために、前記音声ベース照会に応答した実行のための前記デバイス実行可能コマンドを前記クライアントデバイスへ送信するための前記通信インターフェースと
    を備えるデータ処理システム。
  2. 前記複数のクライアントデバイスによる提示のための複数の応答を受信するための前記通信インターフェースであって、提示のための前記複数の応答の各応答が、前記複数のクライアントデバイスによってサポートされる前記複数のデバイスアクションのうちの対応するデバイスアクションの遂行に関する、前記通信インターフェースと、
    前記デバイスアクションの遂行に関する提示のために前記クライアントデバイスへ送るための応答を識別するための前記デバイスアクションカスタマイゼーション構成要素と
    を備える、請求項1に記載のデータ処理システム。
  3. 前記クライアントデバイスから受信された前記オーディオ信号を対応するテキストに変換するための音声認識構成要素を備え、前記自然言語プロセッサ構成要素が、前記対応するテキストを使用して前記デバイスアクションを識別する、請求項1に記載のデータ処理システム。
  4. 前記複数のデバイスアクションのうちの第1のデバイスアクションごとに、前記受信オーディオ信号の前記コンテンツを前記第1のデバイスアクションと整合させるための対応する重み値を決定し、
    前記重み値に基づいて前記デバイスアクションを識別するための
    前記自然言語プロセッサ構成要素を備える、請求項1に記載のデータ処理システム。
  5. 前記識別子が、デバイスモデルを定義するデバイスモデル識別子であり、前記複数のデバイスアクションが、前記デバイスモデルに関連付けられたクライアントデバイスによってサポートされるデバイスアクションであり、前記複数の実行可能コマンドが、前記デバイスモデルに関連付けられた前記クライアントデバイスに特有の実行可能コマンドである、請求項1に記載のデータ処理システム。
  6. 前記デバイスモデルに関連付けられた前記クライアントデバイスと対話する前に、かつ前記複数のデバイス実行可能コマンドの各々のテストに成功すると、前記デバイスモデルを有効化するための、前記デバイスアクションカスタマイゼーション構成要素を備える、請求項5に記載のデータ処理システム。
  7. 前記コンピューティングデバイスが前記識別子および前記デバイスアクションデータを提供することを可能にするためのユーザインターフェースを提供するための前記デバイスアクションカスタマイゼーション構成要素を備える、請求項1に記載のデータ処理システム。
  8. 前記データ処理システムへの前記識別子および前記デバイスアクションデータの送信を可能にするために、RESTfulアプリケーションプログラミングインターフェース(API)を提供するための前記デバイスアクションカスタマイゼーション構成要素を備える、請求項1に記載のデータ処理システム。
  9. 前記識別子が、前記複数のクライアントデバイス上にインストールされたアプリケーションに関連付けられた識別子であり、前記複数のデバイスアクションが、前記アプリケーションによってサポートされるデバイスアクションであり、前記複数の実行可能コマンドが、前記アプリケーションに特有の実行可能コマンドである、請求項1に記載のデータ処理システム。
  10. 前記デバイス実行可能コマンドに関連付けられた1つまたは複数のパラメータを識別するための前記デバイスアクションカスタマイゼーション構成要素と、
    前記1つまたは複数のパラメータを前記クライアントデバイスへ送信するための前記通信インターフェースと
    を備える、請求項9に記載のデータ処理システム。
  11. クライアントデバイスとの音声ベース対話を可能にする方法であって、
    デバイスアクションデータおよび前記デバイスアクションデータに関連付けられた識別子をコンピューティングデバイスから受信するステップであって、前記デバイスアクションデータが、複数のクライアントデバイスによってサポートされる複数のデバイスアクション、および複数のデバイス実行可能コマンドを示し、前記複数のデバイス実行可能コマンドの各デバイス実行可能コマンドが、前記複数のデバイスアクションのうちの対応するデバイスアクションの実行をトリガする、ステップと、
    前記デバイスアクションデータを記憶するステップと、
    前記デバイスアクションデータを前記識別子にマッピングするステップと、
    オーディオ信号および前記識別子を前記複数のクライアントデバイスのうちのクライアントデバイスから受信するステップであって、前記オーディオ信号が、音声ベース照会に応答して前記クライアントデバイスによって取得される、ステップと、
    前記複数のクライアントデバイスによってサポートされる前記複数のデバイスアクションのうちのデバイスアクションを、前記識別子、および前記オーディオ信号に関連付けられたコンテンツを使用して識別するステップと、
    前記デバイスアクションに対応する、前記複数のデバイス実行可能コマンドのうちのデバイス実行可能コマンドを識別するステップと、
    前記デバイスアクションを遂行させるために、前記音声ベース照会に応答した実行のための前記デバイス実行可能コマンドを前記クライアントデバイスへ送信するステップと
    を備える方法。
  12. 前記複数のクライアントデバイスによる提示のための複数の応答を受信するステップであって、提示のための前記複数の応答の各応答が、前記複数のクライアントデバイスによってサポートされる前記複数のデバイスアクションのうちの対応するデバイスアクションの遂行に関する、ステップと、
    前記デバイスアクションの遂行に関する提示のために前記クライアントデバイスへ送るための応答を識別するステップと
    を備える、請求項11に記載の方法。
  13. 前記クライアントデバイスから受信された前記オーディオ信号を対応するテキストに変換するステップを備え、自然言語プロセッサ構成要素が、前記対応するテキストを使用して前記デバイスアクションを識別する、請求項11に記載の方法。
  14. 前記複数のデバイスアクションのうちの第1のデバイスアクションごとに、前記受信オーディオ信号の前記コンテンツを前記第1のデバイスアクションと整合させるための対応する重み値を決定するステップと、
    前記重み値に基づいて前記デバイスアクションを識別するステップと
    を備える、請求項11に記載の方法。
  15. 前記識別子が、デバイスモデルを定義するデバイスモデル識別子であり、前記複数のデバイスアクションが、前記デバイスモデルに関連付けられたクライアントデバイスによってサポートされるデバイスアクションであり、前記複数の実行可能コマンドが、前記デバイスモデルに関連付けられた前記クライアントデバイスに特有の実行可能コマンドである、請求項11に記載の方法。
  16. 前記デバイスモデルに関連付けられた前記クライアントデバイスと対話する前に、かつ前記複数のデバイス実行可能コマンドの各々のテストに成功すると、前記デバイスモデルを有効化するステップを備える、請求項15に記載の方法。
  17. 前記コンピューティングデバイスが前記識別子および前記デバイスアクションデータを提供することを可能にするためのユーザインターフェースを提供するステップを備える、請求項11に記載の方法。
  18. 前記識別子および前記デバイスアクションデータを送信するために、デバイスアクションカスタマイゼーション構成要素が、前記コンピューティングデバイスによる使用のためのRESTfulアプリケーションプログラミングインターフェース(API)を提供することを備える、請求項11に記載の方法。
  19. 前記識別子が、前記複数のクライアントデバイス上にインストールされたアプリケーションに関連付けられた識別子であり、前記複数のデバイスアクションが、前記アプリケーションによってサポートされるデバイスアクションであり、前記複数の実行可能コマンドが、前記アプリケーションに特有の実行可能コマンドである、請求項11に記載の方法。
  20. 前記デバイス実行可能コマンドに関連付けられた1つまたは複数のパラメータを識別するステップと、
    前記1つまたは複数のパラメータを前記クライアントデバイスへ送信するステップと
    を備える、請求項19に記載の方法。
  21. 電子デバイスであって、
    入力音声ベース照会に対応するオーディオ信号を生成するためのオーディオレシーバであって、前記電子デバイスが、リモートデータ処理システムによって保持されるデバイスアクションデータ、および前記デバイスアクションデータの識別子に関連付けられており、前記デバイスアクションデータが、前記デバイスアクションデータに関連付けられた電子デバイスによってサポートされる、複数のデバイスアクションおよび複数のデバイス実行可能コマンドを含み、各デバイス実行可能コマンドが、前記複数のデバイスアクションのうちの対応するデバイスアクションの実行をトリガする、オーディオレシーバと、
    前記音声ベース照会に応答して前記識別子および前記オーディオ信号を前記リモートデータ処理システムへ送信するための通信インターフェースであって、前記リモートデータ処理システムが、前記複数のデバイスアクションおよび前記複数のデバイス実行可能コマンドに前記識別子をマッピングする1つまたは複数のデータ構造を保持する、通信インターフェースと、
    前記オーディオ信号の送信に応答して前記複数のデバイス実行可能コマンドのうちのデバイス実行可能コマンドを前記リモートデータ処理システムから受信するための前記通信インターフェースであって、前記デバイス実行可能コマンドが、前記識別子、前記オーディオ信号、および前記1つまたは複数のデータ構造に基づいて前記データ処理システムによって識別される、前記通信インターフェースと、
    前記デバイスアクションを実行するための前記デバイス実行可能コマンドを実行するためのコマンド実行構成要素と
    を備える電子デバイス。
  22. 前記オーディオ信号の前記送信に応答して、前記デバイスによる表示のためのオーディオ応答を受信するための前記通信インターフェースと、
    前記デバイスアクションを実行することに関して前記オーディオ応答を再生するためのスピーカーと
    を備える、請求項21に記載の電子デバイス。
  23. 前記デバイス実行可能コマンドに対応する前記デバイスアクションの実行の前に前記オーディオ応答を前記スピーカーに再生させるための前記コマンド実行構成要素、
    前記デバイス実行可能コマンドに対応する前記デバイスアクションの実行中に前記オーディオ応答を前記スピーカーに再生させるための前記通信インターフェース、または
    前記デバイス実行可能コマンドに対応する前記デバイスアクションの実行の後に前記オーディオ応答を前記スピーカーに再生させるための前記通信インターフェース
    を備える、請求項22に記載の電子デバイス。
  24. 前記識別子が、デバイスモデルを定義するデバイスモデル識別子であり、前記複数のデバイスアクションが、前記デバイスモデルに関連付けられた電子デバイスによってサポートされるデバイスアクションであり、前記複数の実行可能コマンドが、前記デバイスモデルに関連付けられた前記電子デバイスに特有の実行可能コマンドである、請求項21に記載の電子デバイス。
  25. 前記デバイスモデル識別子がデバイス識別子を含む、請求項24に記載の電子デバイス。
  26. 前記デバイスが、
    モバイルデバイス、
    ロボットデバイス、
    自動車、
    アプライアンスデバイス、
    スマートテレビジョン、
    照明制御システム、または
    ホームセキュリティシステムを含む、
    請求項21に記載の電子デバイス。
  27. 前記識別子が、前記デバイスアクションデータに関連付けられた前記電子デバイス上にインストールされたアプリケーションに関連付けられた識別子であり、前記複数のデバイスアクションが、前記アプリケーションによってサポートされるデバイスアクションであり、前記複数の実行可能コマンドが、前記アプリケーションに特有の実行可能コマンドである、請求項21に記載の電子デバイス。
  28. 前記デバイス実行可能コマンドに関連付けられた1つまたは複数のパラメータを前記リモートデータ処理システムから受信するための前記通信インターフェースと、
    前記デバイス実行可能コマンドを実行するために前記1つまたは複数のパラメータを使用するための前記コマンド実行構成要素と
    を備える、請求項27に記載の電子デバイス。
  29. 前記アプリケーションが、前記第3当事者アプリケーションとの音声会話を起動するための対話式ユーザインターフェース構成要素を前記デバイスに提供させる、請求項27に記載の電子デバイス。
  30. 前記対話式ユーザインターフェース構成要素との対話に応答して前記リモートデータ処理システムとの通信セッションを起動するためのコントローラを備える、請求項29に記載の電子デバイス。
  31. 音声ベース対話のサポートを可能にする方法であって、
    入力音声ベース照会に対応するオーディオ信号を電子デバイスによって生成するステップであって、前記電子デバイスが、リモートデータ処理システムによって保持されるデバイスアクションデータ、および前記デバイスアクションデータの識別子に関連付けられており、前記デバイスアクションデータが、前記デバイスアクションデータに関連付けられた電子デバイスによってサポートされる、複数のデバイスアクションおよび複数のデバイス実行可能コマンドを含み、各デバイス実行可能コマンドが、前記複数のデバイスアクションのうちの対応するデバイスアクションの実行をトリガする、ステップと、
    前記電子デバイスによって、前記音声ベース照会に応答して前記識別子および前記オーディオ信号を前記リモートデータ処理システムへ送信するステップであって、前記リモートデータ処理システムが、前記複数のデバイスアクションおよび前記複数のデバイス実行可能コマンドに前記識別子をマッピングする1つまたは複数のデータ構造を保持する、ステップと、
    前記電子デバイスによって、前記オーディオ信号の送信に応答して前記複数のデバイス実行可能コマンドのうちのデバイス実行可能コマンドを前記リモートデータ処理システムから受信するステップであって、前記デバイス実行可能コマンドが、前記識別子、前記オーディオ信号、および前記1つまたは複数のデータ構造に基づいて前記データ処理システムによって識別される、ステップと、
    前記デバイスアクションを実行するための前記デバイス実行可能コマンドを前記電子デバイスによって実行するステップと
    を備える方法。
  32. 前記オーディオ信号の前記送信に応答して、前記デバイスによる表示のためのオーディオ応答を受信するステップと、
    前記デバイスアクションを実行することに関して前記オーディオ応答を再生するステップと
    を備える、請求項31に記載の方法。
  33. 前記デバイス実行可能コマンドに対応する前記デバイスアクションの実行の前に前記オーディオ応答をスピーカーに再生させるステップ、
    前記デバイス実行可能コマンドに対応する前記デバイスアクションの実行中に前記オーディオ応答を前記スピーカーに再生させるステップ、または
    前記デバイス実行可能コマンドに対応する前記デバイスアクションの実行の後に前記オーディオ応答を前記スピーカーに再生させるステップ
    を備える、請求項32に記載の方法。
  34. 前記識別子が、デバイスモデルを定義するデバイスモデル識別子であり、前記複数のデバイスアクションが、前記デバイスモデルに関連付けられた電子デバイスによってサポートされるデバイスアクションであり、前記複数の実行可能コマンドが、前記デバイスモデルに関連付けられた前記電子デバイスに特有の実行可能コマンドである、請求項31に記載の方法。
  35. 前記デバイスモデル識別子がデバイス識別子を含む、請求項34に記載の方法。
  36. 前記電子デバイスが、
    モバイルデバイス、
    ロボットデバイス、
    自動車、
    アプライアンスデバイス、
    スマートテレビジョン、
    照明制御システム、または
    ホームセキュリティシステムを含む、
    請求項31に記載の方法。
  37. 前記識別子が、前記デバイスアクションデータに関連付けられた前記電子デバイス上にインストールされたアプリケーションに関連付けられた識別子であり、前記複数のデバイスアクションが、前記アプリケーションによってサポートされるデバイスアクションであり、前記複数の実行可能コマンドが、前記アプリケーションに特有の実行可能コマンドである、請求項31に記載の方法。
  38. 前記デバイス実行可能コマンドに関連付けられた1つまたは複数のパラメータを前記リモートデータ処理システムから受信するステップと、
    前記デバイス実行可能コマンドを実行するために前記1つまたは複数のパラメータを使用するステップと
    を備える、請求項37に記載の方法。
  39. 前記アプリケーションが前記アプリケーションとの音声会話を起動するための対話式ユーザインターフェース構成要素を前記電子デバイスに提供させることを備える、請求項37に記載の方法。
  40. 前記対話式ユーザインターフェース構成要素との対話に応答して前記リモートデータ処理システムとの通信セッションを起動するステップを備える、請求項39に記載の方法。
  41. 音声ベース対話に応答してコンテンツを提供するためのデータ処理システムであって、
    複数の電子デバイスによってサポートされる複数のデバイスアクションコマンドペアを含むデバイスアクションデータを記憶するためのメモリであって、各デバイスアクションコマンドペアが、複数のデバイスアクションのそれぞれのデバイスアクション、および前記それぞれのデバイスアクションの遂行をトリガするための複数のデバイス実行可能コマンドのそれぞれのデバイス実行可能コマンドを含む、メモリと、
    前記複数の電子デバイスによってサポートされる前記複数のデバイスアクションコマンドペアの各々に識別子をマッピングするためのデバイスアクションカスタマイゼーション構成要素と、
    オーディオ信号および前記識別子を電子デバイスから受信するための通信インターフェースであって、前記オーディオ信号が、音声ベース照会に応答して前記電子デバイスによって取得される、通信インターフェースと、
    前記オーディオ信号に関連付けられたコンテンツ、および前記識別子を使用して、前記複数のデバイスアクションコマンドペアのうちのデバイスアクションコマンドペアを識別するための、自然言語プロセッサ構成要素と、
    前記デバイスアクションデータまたは前記デバイスコマンドペアに基づいて前記音声ベース照会のコンテキストを識別するための前記デバイスアクションカスタマイゼーション構成要素と、
    前記音声ベース照会の前記コンテキストに基づいてデジタルコンポーネントを選択するためのコンテンツ選択器構成要素と、
    前記デジタルコンポーネント、および前記デバイスアクションコマンドペアに関連付けられたデバイス実行可能コマンドを、前記電子デバイスへ送信するための前記通信インターフェースであって、前記デバイス実行可能コマンドが、前記デバイスアクションコマンドペアに関連付けられた前記デバイスアクションを遂行させ、前記デジタルコンポーネントが、前記電子デバイスによって提示されるものである、前記通信インターフェースと
    を備えるデータ処理システム。
  42. 前記デバイスアクションが第1のデバイスアクションであり、前記データ処理システムが、
    前記デバイスアクションコマンドペアに関連付けられた前記第1のデバイスアクションを使用して、前記音声ベース照会に関連付けられたデバイスアクションの既定のシーケンスを識別し、
    デバイスアクションの前記既定のシーケンスの中の、前記デバイスアクションコマンドペアに関連付けられた前記第1のデバイスアクションに後続する、1つまたは複数の第2のデバイスアクションを識別し、
    前記デバイスアクションに後続する前記1つまたは複数の第2のデバイスアクションに基づいて、前記音声ベース照会の前記コンテキストの属性を識別するための
    前記デバイスアクションカスタマイゼーション構成要素を備える、
    請求項41に記載のデータ処理システム。
  43. 前記デジタルコンポーネントがオーディオデジタルコンポーネントを含む、請求項41に記載のデータ処理システム。
  44. 前記複数の電子デバイスにサービスするための複数の応答を保持するための前記メモリであって、前記複数の応答の各応答が、前記複数の電子デバイスによってサポートされる前記複数のデバイスアクションペアのうちの対応するデバイスアクションペアにマッピングされる、前記メモリと、
    前記デバイスアクションコマンドペアに対応する、前記複数の応答のうちの応答を識別するための、前記デバイスアクションカスタマイゼーション構成要素と、
    前記応答を前記電子デバイスへ提示のために送信するための前記通信インターフェースと
    を備える、請求項41に記載のデータ処理システム。
  45. 前記複数のデバイスアクションコマンドペアのうちのデバイスアクションコマンドペアごとに1つまたは複数の対応するキーワードを保持するための前記メモリと、
    前記自然言語プロセッサ構成要素によって識別される前記デバイスアクションコマンドペアに関連付けられた前記1つまたは複数のキーワードに基づいて、前記音声ベース照会の前記コンテキストを識別するための、前記デバイスアクションカスタマイゼーション構成要素と
    を備える、請求項41に記載のデータ処理システム。
  46. 前記識別子が、前記複数の電子デバイスのデバイスモデルを示すデバイスモデル識別子(ID)を含み、前記複数のデバイスアクションコマンドペアが、前記デバイスモデルに特有である、請求項41に記載のデータ処理システム。
  47. デバイスモデルに関連付けられた前記複数の電子デバイスの記述を保持するための前記メモリと、
    デバイスモデルに関連付けられた前記複数の電子デバイスの前記記述に基づいて、前記音声ベース照会の前記コンテキストの属性を識別するための、前記デバイスアクションカスタマイゼーション構成要素と
    を備える、請求項46に記載のデータ処理システム。
  48. 前記識別子が、前記複数の電子デバイス上にインストールされたアプリケーションに関連付けられた識別子を含み、前記複数のデバイスアクションコマンドペアが、前記アプリケーションに特有である、請求項41に記載のデータ処理システム。
  49. 前記複数の電子デバイス上にインストールされた前記アプリケーションの記述を保持するための前記メモリと、
    前記複数の電子デバイス上にインストールされた前記アプリケーションの前記記述に基づいて、前記音声ベース照会の前記コンテキストの属性を識別するための、前記デバイスアクションカスタマイゼーション構成要素と
    を備える、請求項48に記載のデータ処理システム。
  50. 前記デバイスアクションコマンドペアに関連付けられた前記デバイス実行可能コマンドの1つまたは複数のパラメータ値を識別するための前記デバイスアクションカスタマイゼーション構成要素と、
    前記デバイスアクションコマンドペアに関連付けられた前記デバイス実行可能コマンドの前記1つまたは複数のパラメータ値に基づいて、前記音声ベース照会の前記コンテキストの属性を識別するための、前記デバイスアクションカスタマイゼーション構成要素と
    を備える、請求項48に記載のデータ処理システム。
  51. 前記データ処理システムへの前記デバイスアクションデータおよび前記識別子の送信を可能にするためのユーザインターフェースを提供するための前記デバイスアクションカスタマイゼーション構成要素を備える、請求項41に記載のデータ処理システム。
  52. 前記データ処理システムへの前記デバイスアクションデータおよび前記識別子の送信を可能にするためのRESTfulアプリケーションプログラミングインターフェース(API)を提供するための前記デバイスアクションカスタマイゼーション構成要素を備える、請求項41に記載のデータ処理システム。
  53. 音声ベース対話に応答してコンテンツを提供する方法であって、
    複数の電子デバイスによってサポートされる複数のデバイスアクションコマンドペアを含むデバイスアクションデータをメモリの中に記憶するステップであって、各デバイスアクションコマンドペアが、複数のデバイスアクションのそれぞれのデバイスアクション、および前記それぞれのデバイスアクションの遂行をトリガするための複数のデバイス実行可能コマンドのそれぞれのデバイス実行可能コマンドを含む、ステップと、
    前記複数の電子デバイスによってサポートされる前記複数のデバイスアクションコマンドペアの各々に識別子をマッピングするステップと、
    オーディオ信号および前記識別子を電子デバイスから受信するステップであって、前記オーディオ信号が、音声ベース照会に応答して前記電子デバイスによって取得される、ステップと、
    前記オーディオ信号に関連付けられたコンテンツ、および前記識別子を使用して、前記複数のデバイスアクションコマンドペアのうちのデバイスアクションコマンドペアを識別するステップと、
    前記デバイスアクションデータまたは前記デバイスコマンドペアに基づいて前記音声ベース照会のコンテキストを識別するステップと、
    前記音声ベース照会の前記コンテキストに基づいてデジタルコンポーネントを選択するステップと、
    前記デジタルコンポーネント、および前記デバイスアクションコマンドペアに関連付けられたデバイス実行可能コマンドを、前記電子デバイスへ送信するステップであって、前記デバイス実行可能コマンドが、前記デバイスアクションコマンドペアに関連付けられた前記デバイスアクションを遂行させ、前記デジタルコンポーネントが、前記電子デバイスによって提示されるものである、ステップと
    を備える方法。
  54. 前記デバイスアクションコマンドペアに関連付けられた第1のデバイスアクションを使用して、前記音声ベース照会に関連付けられたデバイスアクションの既定のシーケンスを識別するステップと、
    デバイスアクションの前記既定のシーケンスの中の、前記デバイスアクションコマンドペアに関連付けられた前記第1のデバイスアクションに後続する、1つまたは複数の第2のデバイスアクションを識別するステップと、
    前記デバイスアクションに後続する前記1つまたは複数の第2のデバイスアクションに基づいて、前記音声ベース照会の前記コンテキストの属性を識別するステップと
    を備える、請求項53に記載の方法。
  55. 前記複数のデバイスアクションコマンドペアのうちのデバイスアクションコマンドペアごとに、1つまたは複数の対応するキーワードを保持するステップと、
    自然言語プロセッサ構成要素によって識別される前記デバイスアクションコマンドペアに関連付けられた前記1つまたは複数のキーワードに基づいて、前記音声ベース照会の前記コンテキストを識別するステップと
    を備える、請求項53に記載の方法。
  56. 前記識別子が、前記複数の電子デバイスのデバイスモデルを示すデバイスモデル識別子(ID)を含み、前記複数のデバイスアクションコマンドペアが、前記デバイスモデルに特有である、請求項53に記載の方法。
  57. デバイスモデルに関連付けられた前記複数の電子デバイスの記述を保持するステップと、
    デバイスモデルに関連付けられた前記複数の電子デバイスの前記記述に基づいて、前記音声ベース照会の前記コンテキストの属性を識別するステップと
    を備える、請求項56に記載の方法。
  58. 前記識別子が、前記複数の電子デバイス上にインストールされたアプリケーションに関連付けられた識別子を含み、前記複数のデバイスアクションコマンドペアが、アプリケーションに特有である、請求項53に記載の方法。
  59. 前記複数の電子デバイス上にインストールされた前記アプリケーションの記述を保持するステップと、
    前記複数の電子デバイス上にインストールされた前記アプリケーションの前記記述に基づいて、前記音声ベース照会の前記コンテキストの属性を識別するステップと
    を備える、請求項58に記載の方法。
  60. 前記デバイスアクションコマンドペアに関連付けられた前記デバイス実行可能コマンドの1つまたは複数のパラメータ値を識別するステップと、
    前記デバイスアクションコマンドペアに関連付けられた前記デバイス実行可能コマンドの前記1つまたは複数のパラメータ値に基づいて、前記音声ベース照会の前記コンテキストの属性を識別するステップと
    を備える、請求項58に記載の方法。
JP2020546986A 2018-03-07 2018-05-07 カスタムデバイスアクションの音声ベースの起動のためのシステムおよび方法 Active JP7130761B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022133277A JP2022164744A (ja) 2018-03-07 2022-08-24 カスタムデバイスアクションの音声ベースの起動のためのシステムおよび方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862640007P 2018-03-07 2018-03-07
US62/640,007 2018-03-07
PCT/US2018/031454 WO2019172948A1 (en) 2018-03-07 2018-05-07 Systems and methods for voice-based initiation of custom device actions

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022133277A Division JP2022164744A (ja) 2018-03-07 2022-08-24 カスタムデバイスアクションの音声ベースの起動のためのシステムおよび方法

Publications (2)

Publication Number Publication Date
JP2021515911A true JP2021515911A (ja) 2021-06-24
JP7130761B2 JP7130761B2 (ja) 2022-09-05

Family

ID=62386969

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020546986A Active JP7130761B2 (ja) 2018-03-07 2018-05-07 カスタムデバイスアクションの音声ベースの起動のためのシステムおよび方法
JP2022133277A Pending JP2022164744A (ja) 2018-03-07 2022-08-24 カスタムデバイスアクションの音声ベースの起動のためのシステムおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022133277A Pending JP2022164744A (ja) 2018-03-07 2022-08-24 カスタムデバイスアクションの音声ベースの起動のためのシステムおよび方法

Country Status (6)

Country Link
US (2) US11314481B2 (ja)
EP (1) EP3596729A1 (ja)
JP (2) JP7130761B2 (ja)
KR (2) KR102520068B1 (ja)
CN (2) CN110574105B (ja)
WO (1) WO2019172948A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019135403A1 (ja) * 2018-01-05 2019-07-11 国立大学法人九州工業大学 ラベル付与装置、ラベル付与方法、及びプログラム
US11127395B1 (en) * 2018-05-23 2021-09-21 Amazon Technologies, Inc. Device-specific skill processing
KR20200055819A (ko) * 2018-11-08 2020-05-22 현대자동차주식회사 서비스 로봇 및 그의 운용 방법
KR20200098025A (ko) * 2019-02-11 2020-08-20 삼성전자주식회사 전자 장치 및 그 제어 방법
KR20200109140A (ko) * 2019-03-12 2020-09-22 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
CN112164400A (zh) * 2020-09-18 2021-01-01 广州小鹏汽车科技有限公司 语音交互方法、服务器和计算机可读存储介质
KR20220118766A (ko) * 2021-02-19 2022-08-26 삼성전자주식회사 발화 입력에 기초한 커맨드를 처리하는 방법 및 모바일 디바이스
CN112540545B (zh) * 2021-02-22 2021-04-30 武汉世聪智能科技有限公司 一种基于多智能系统的智能设备控制方法及系统
US11915708B2 (en) * 2021-03-18 2024-02-27 Samsung Electronics Co., Ltd. Methods and systems for invoking a user-intended internet of things (IoT) device from a plurality of IoT devices

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014134A (ja) * 1999-05-21 2001-01-19 Canon Inc ネットワークシステム、ネットワークシステムにおけるサーバ及び装置

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0911808B1 (en) * 1997-10-23 2002-05-08 Sony International (Europe) GmbH Speech interface in a home network environment
US8498871B2 (en) * 2001-11-27 2013-07-30 Advanced Voice Recognition Systems, Inc. Dynamic speech recognition and transcription among users having heterogeneous protocols
US20050234779A1 (en) * 2003-11-17 2005-10-20 Leo Chiu System for dynamic AD selection and placement within a voice application accessed through an electronic information pace
US7957975B2 (en) * 2005-08-09 2011-06-07 Mobile Voice Control, LLC Voice controlled wireless communication device system
US7818176B2 (en) 2007-02-06 2010-10-19 Voicebox Technologies, Inc. System and method for selecting and presenting advertisements based on natural language processing of voice-based input
US8538757B2 (en) * 2007-05-17 2013-09-17 Redstart Systems, Inc. System and method of a list commands utility for a speech recognition command system
US8745213B2 (en) 2008-12-19 2014-06-03 Openpeak Inc. Managed services platform and method of operation of same
US10264138B2 (en) * 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
US20110067059A1 (en) * 2009-09-15 2011-03-17 At&T Intellectual Property I, L.P. Media control
US20110271210A1 (en) * 2010-04-30 2011-11-03 American Teleconferncing Services Ltd. Conferencing Application Store
US8805683B1 (en) * 2012-02-24 2014-08-12 Google Inc. Real-time audio recognition protocol
TWI453603B (zh) 2010-06-30 2014-09-21 Ibm 平台無關之資訊處理系統,其通訊方法,及其電腦程式產品
US8787987B2 (en) * 2010-10-19 2014-07-22 General Motors Llc Configuring of vehicle communications modules
US10069781B2 (en) 2015-09-29 2018-09-04 Theatro Labs, Inc. Observation platform using structured communications with external devices and systems
US9847083B2 (en) * 2011-11-17 2017-12-19 Universal Electronics Inc. System and method for voice actuated configuration of a controlling device
KR101972955B1 (ko) * 2012-07-03 2019-04-26 삼성전자 주식회사 음성을 이용한 사용자 디바이스들 간 서비스 연결 방법 및 장치
US9125987B2 (en) 2012-07-17 2015-09-08 Elwha Llc Unmanned device utilization methods and systems
US9254363B2 (en) 2012-07-17 2016-02-09 Elwha Llc Unmanned device interaction methods and systems
US8953757B2 (en) * 2012-08-06 2015-02-10 Angel.Com Incorporated Preloading contextual information for applications using a conversation assistant
US9196250B2 (en) * 2012-11-16 2015-11-24 2236008 Ontario Inc. Application services interface to ASR
US9172747B2 (en) * 2013-02-25 2015-10-27 Artificial Solutions Iberia SL System and methods for virtual assistant networks
US9397836B2 (en) * 2014-08-11 2016-07-19 Fisher-Rosemount Systems, Inc. Securing devices to process control systems
US9189196B2 (en) 2013-03-14 2015-11-17 Google Inc. Compartmentalized self registration of external devices
US9462663B2 (en) * 2013-05-28 2016-10-04 Abl Ip Holding Llc Interactive user interface functionality for lighting devices or system
US9443527B1 (en) * 2013-09-27 2016-09-13 Amazon Technologies, Inc. Speech recognition capability generation and control
US9698999B2 (en) * 2013-12-02 2017-07-04 Amazon Technologies, Inc. Natural language control of secondary device
EP2887348B1 (en) * 2013-12-18 2022-05-04 Harman International Industries, Incorporated Voice recognition query response system
US10928976B2 (en) 2013-12-31 2021-02-23 Verint Americas Inc. Virtual assistant acquisitions and training
TWI566107B (zh) * 2014-05-30 2017-01-11 蘋果公司 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置
US10448307B2 (en) * 2014-07-15 2019-10-15 Comcast Cable Communications, Llc Systems and methods for managing network devices
US9318107B1 (en) 2014-10-09 2016-04-19 Google Inc. Hotword detection on multiple devices
US9741344B2 (en) * 2014-10-20 2017-08-22 Vocalzoom Systems Ltd. System and method for operating devices using voice commands
KR102277259B1 (ko) * 2014-11-26 2021-07-14 엘지전자 주식회사 디바이스 제어 시스템, 디지털 디바이스 및 디지털 디바이스 제어 방법
US10147421B2 (en) * 2014-12-16 2018-12-04 Microcoft Technology Licensing, Llc Digital assistant voice input integration
US9552816B2 (en) * 2014-12-19 2017-01-24 Amazon Technologies, Inc. Application focus in speech-based systems
US9811312B2 (en) 2014-12-22 2017-11-07 Intel Corporation Connected device voice command support
US10509829B2 (en) * 2015-01-21 2019-12-17 Microsoft Technology Licensing, Llc Contextual search using natural language
US9947364B2 (en) 2015-09-16 2018-04-17 Google Llc Enhancing audio using multiple recording devices
US20170092278A1 (en) 2015-09-30 2017-03-30 Apple Inc. Speaker recognition
US9928840B2 (en) 2015-10-16 2018-03-27 Google Llc Hotword recognition
US9747926B2 (en) 2015-10-16 2017-08-29 Google Inc. Hotword recognition
US9653075B1 (en) 2015-11-06 2017-05-16 Google Inc. Voice commands across devices
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10097919B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Music service selection
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10958695B2 (en) 2016-06-21 2021-03-23 Google Llc Methods, systems, and media for recommending content based on network conditions
US9972320B2 (en) 2016-08-24 2018-05-15 Google Llc Hotword detection on multiple devices
US10528977B1 (en) * 2016-09-22 2020-01-07 Amazon Technologies, Inc. Generating dynamic audio content for delivery to audio devices
US10096319B1 (en) * 2017-03-13 2018-10-09 Amazon Technologies, Inc. Voice-based determination of physical and emotional characteristics of users
CN107507614B (zh) * 2017-07-28 2018-12-21 北京小蓦机器人技术有限公司 结合ui执行自然语言命令的方法、设备、系统与存储介质
US11450314B2 (en) * 2017-10-03 2022-09-20 Google Llc Voice user interface shortcuts for an assistant application
CN107919129A (zh) * 2017-11-15 2018-04-17 百度在线网络技术(北京)有限公司 用于控制页面的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014134A (ja) * 1999-05-21 2001-01-19 Canon Inc ネットワークシステム、ネットワークシステムにおけるサーバ及び装置

Also Published As

Publication number Publication date
US20210026593A1 (en) 2021-01-28
CN110574105B (zh) 2024-01-23
KR20200128725A (ko) 2020-11-16
KR20230051619A (ko) 2023-04-18
JP7130761B2 (ja) 2022-09-05
EP3596729A1 (en) 2020-01-22
US20220244910A1 (en) 2022-08-04
JP2022164744A (ja) 2022-10-27
CN117877477A (zh) 2024-04-12
US11314481B2 (en) 2022-04-26
KR102520068B1 (ko) 2023-04-10
WO2019172948A1 (en) 2019-09-12
CN110574105A (zh) 2019-12-13

Similar Documents

Publication Publication Date Title
JP7130761B2 (ja) カスタムデバイスアクションの音声ベースの起動のためのシステムおよび方法
US11183182B2 (en) Systems and methods for voice-based initiation of custom device actions
JP6670350B2 (ja) サードパーティサービスをデジタルアシスタントと統合するシステム及び方法
US10002200B2 (en) Search system that provides search results based on post execution views of applications
US9026941B1 (en) Suggesting activities
US9058563B1 (en) Suggesting activities
KR102389331B1 (ko) 컴퓨팅 디바이스간의 액세스 제어 동기화
US11183188B2 (en) Voice assistant-enabled web application or web page
EP3610375B1 (en) Platform selection for performing requested actions in audio-based computing environments
JP2022547598A (ja) コンテキストデータを使用した対話処理のための技術
US11425071B2 (en) Uniform resource identifier and image sharing for contextual information display
WO2022190079A1 (en) Dynamic audio content generation
JP2019175290A (ja) 情報処理システム、情報処理装置、サーバ、情報処理方法及びプログラム
Tseng Searching for a Scalable Solution to Diabetes Management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220309

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220824

R150 Certificate of patent or registration of utility model

Ref document number: 7130761

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150