(57)【要約】  電子デバイスとの音声ベース対話を可能にするためのシステムおよび方法は、複数のデバイスアクションデータセット、およびデバイスアクションデータセットごとにそれぞれの識別子を保持する、データ処理システムを含むことができる。データ処理システムは、音声照会を表すオーディオ信号、および識別子を、電子デバイスから受信することができる。データ処理システムは、識別子を使用してデバイスアクションデータセットを識別することができる。データ処理システムは、オーディオ信号のコンテンツに基づいてデバイスアクションデータセットからデバイスアクションを識別することができる。データ処理システムは、次いで、デバイスアクションに関連付けられたコマンドをデバイスアクションデータセットから識別することができ、コマンドを実行のためにデバイスへ送ることができる。
2021515911.tif 000002
【特許請求の範囲】
【請求項１】
クライアントデバイスとの音声ベース対話を可能にするためのデータ処理システムであって、
デバイスアクションデータおよび前記デバイスアクションデータに関連付けられた識別子をコンピューティングデバイスから受信するための通信インターフェースであって、前記デバイスアクションデータが、複数のクライアントデバイスによってサポートされる複数のデバイスアクション、および複数のデバイス実行可能コマンドを示し、前記複数のデバイス実行可能コマンドの各デバイス実行可能コマンドが、前記複数のデバイスアクションのうちの対応するデバイスアクションの実行をトリガする、通信インターフェースと、
前記デバイスアクションデータを記憶するためのメモリと、
前記デバイスアクションデータを前記識別子にマッピングするためのデバイスアクションカスタマイゼーション構成要素と、
オーディオ信号および前記識別子を前記複数のクライアントデバイスのうちのクライアントデバイスから受信するための前記通信インターフェースであって、前記オーディオ信号が、音声ベース照会に応答して前記クライアントデバイスによって取得される、前記通信インターフェースと、
前記複数のクライアントデバイスによってサポートされる前記複数のデバイスアクションのうちのデバイスアクションを、前記識別子、および前記オーディオ信号に関連付けられたコンテンツを使用して識別するための自然言語プロセッサ構成要素と、
前記デバイスアクションに対応する、前記複数のデバイス実行可能コマンドのうちのデバイス実行可能コマンドを識別するための前記デバイスアクションカスタマイゼーション構成要素と、
前記デバイスアクションを遂行させるために、前記音声ベース照会に応答した実行のための前記デバイス実行可能コマンドを前記クライアントデバイスへ送信するための前記通信インターフェースと
を備えるデータ処理システム。
【請求項２】
前記複数のクライアントデバイスによる提示のための複数の応答を受信するための前記通信インターフェースであって、提示のための前記複数の応答の各応答が、前記複数のクライアントデバイスによってサポートされる前記複数のデバイスアクションのうちの対応するデバイスアクションの遂行に関する、前記通信インターフェースと、
前記デバイスアクションの遂行に関する提示のために前記クライアントデバイスへ送るための応答を識別するための前記デバイスアクションカスタマイゼーション構成要素と
を備える、請求項1に記載のデータ処理システム。
【請求項３】
前記クライアントデバイスから受信された前記オーディオ信号を対応するテキストに変換するための音声認識構成要素を備え、前記自然言語プロセッサ構成要素が、前記対応するテキストを使用して前記デバイスアクションを識別する、請求項1に記載のデータ処理システム。
【請求項４】
前記複数のデバイスアクションのうちの第1のデバイスアクションごとに、前記受信オーディオ信号の前記コンテンツを前記第1のデバイスアクションと整合させるための対応する重み値を決定し、
前記重み値に基づいて前記デバイスアクションを識別するための
前記自然言語プロセッサ構成要素を備える、請求項1に記載のデータ処理システム。
【請求項５】
前記識別子が、デバイスモデルを定義するデバイスモデル識別子であり、前記複数のデバイスアクションが、前記デバイスモデルに関連付けられたクライアントデバイスによってサポートされるデバイスアクションであり、前記複数の実行可能コマンドが、前記デバイスモデルに関連付けられた前記クライアントデバイスに特有の実行可能コマンドである、請求項1に記載のデータ処理システム。
【請求項６】
前記デバイスモデルに関連付けられた前記クライアントデバイスと対話する前に、かつ前記複数のデバイス実行可能コマンドの各々のテストに成功すると、前記デバイスモデルを有効化するための、前記デバイスアクションカスタマイゼーション構成要素を備える、請求項5に記載のデータ処理システム。
【請求項７】
前記コンピューティングデバイスが前記識別子および前記デバイスアクションデータを提供することを可能にするためのユーザインターフェースを提供するための前記デバイスアクションカスタマイゼーション構成要素を備える、請求項1に記載のデータ処理システム。
【請求項８】
前記データ処理システムへの前記識別子および前記デバイスアクションデータの送信を可能にするために、RESTfulアプリケーションプログラミングインターフェース(API)を提供するための前記デバイスアクションカスタマイゼーション構成要素を備える、請求項1に記載のデータ処理システム。
【請求項９】
前記識別子が、前記複数のクライアントデバイス上にインストールされたアプリケーションに関連付けられた識別子であり、前記複数のデバイスアクションが、前記アプリケーションによってサポートされるデバイスアクションであり、前記複数の実行可能コマンドが、前記アプリケーションに特有の実行可能コマンドである、請求項1に記載のデータ処理システム。
【請求項１０】
前記デバイス実行可能コマンドに関連付けられた1つまたは複数のパラメータを識別するための前記デバイスアクションカスタマイゼーション構成要素と、
前記1つまたは複数のパラメータを前記クライアントデバイスへ送信するための前記通信インターフェースと
を備える、請求項9に記載のデータ処理システム。
【請求項１１】
クライアントデバイスとの音声ベース対話を可能にする方法であって、
デバイスアクションデータおよび前記デバイスアクションデータに関連付けられた識別子をコンピューティングデバイスから受信するステップであって、前記デバイスアクションデータが、複数のクライアントデバイスによってサポートされる複数のデバイスアクション、および複数のデバイス実行可能コマンドを示し、前記複数のデバイス実行可能コマンドの各デバイス実行可能コマンドが、前記複数のデバイスアクションのうちの対応するデバイスアクションの実行をトリガする、ステップと、
前記デバイスアクションデータを記憶するステップと、
前記デバイスアクションデータを前記識別子にマッピングするステップと、
オーディオ信号および前記識別子を前記複数のクライアントデバイスのうちのクライアントデバイスから受信するステップであって、前記オーディオ信号が、音声ベース照会に応答して前記クライアントデバイスによって取得される、ステップと、
前記複数のクライアントデバイスによってサポートされる前記複数のデバイスアクションのうちのデバイスアクションを、前記識別子、および前記オーディオ信号に関連付けられたコンテンツを使用して識別するステップと、
前記デバイスアクションに対応する、前記複数のデバイス実行可能コマンドのうちのデバイス実行可能コマンドを識別するステップと、
前記デバイスアクションを遂行させるために、前記音声ベース照会に応答した実行のための前記デバイス実行可能コマンドを前記クライアントデバイスへ送信するステップと
を備える方法。
【請求項１２】
前記複数のクライアントデバイスによる提示のための複数の応答を受信するステップであって、提示のための前記複数の応答の各応答が、前記複数のクライアントデバイスによってサポートされる前記複数のデバイスアクションのうちの対応するデバイスアクションの遂行に関する、ステップと、
前記デバイスアクションの遂行に関する提示のために前記クライアントデバイスへ送るための応答を識別するステップと
を備える、請求項11に記載の方法。
【請求項１３】
前記クライアントデバイスから受信された前記オーディオ信号を対応するテキストに変換するステップを備え、自然言語プロセッサ構成要素が、前記対応するテキストを使用して前記デバイスアクションを識別する、請求項11に記載の方法。
【請求項１４】
前記複数のデバイスアクションのうちの第1のデバイスアクションごとに、前記受信オーディオ信号の前記コンテンツを前記第1のデバイスアクションと整合させるための対応する重み値を決定するステップと、
前記重み値に基づいて前記デバイスアクションを識別するステップと
を備える、請求項11に記載の方法。
【請求項１５】
前記識別子が、デバイスモデルを定義するデバイスモデル識別子であり、前記複数のデバイスアクションが、前記デバイスモデルに関連付けられたクライアントデバイスによってサポートされるデバイスアクションであり、前記複数の実行可能コマンドが、前記デバイスモデルに関連付けられた前記クライアントデバイスに特有の実行可能コマンドである、請求項11に記載の方法。
【請求項１６】
前記デバイスモデルに関連付けられた前記クライアントデバイスと対話する前に、かつ前記複数のデバイス実行可能コマンドの各々のテストに成功すると、前記デバイスモデルを有効化するステップを備える、請求項15に記載の方法。
【請求項１７】
前記コンピューティングデバイスが前記識別子および前記デバイスアクションデータを提供することを可能にするためのユーザインターフェースを提供するステップを備える、請求項11に記載の方法。
【請求項１８】
前記識別子および前記デバイスアクションデータを送信するために、デバイスアクションカスタマイゼーション構成要素が、前記コンピューティングデバイスによる使用のためのRESTfulアプリケーションプログラミングインターフェース(API)を提供することを備える、請求項11に記載の方法。
【請求項１９】
前記識別子が、前記複数のクライアントデバイス上にインストールされたアプリケーションに関連付けられた識別子であり、前記複数のデバイスアクションが、前記アプリケーションによってサポートされるデバイスアクションであり、前記複数の実行可能コマンドが、前記アプリケーションに特有の実行可能コマンドである、請求項11に記載の方法。
【請求項２０】
前記デバイス実行可能コマンドに関連付けられた1つまたは複数のパラメータを識別するステップと、
前記1つまたは複数のパラメータを前記クライアントデバイスへ送信するステップと
を備える、請求項19に記載の方法。
【請求項２１】
電子デバイスであって、
入力音声ベース照会に対応するオーディオ信号を生成するためのオーディオレシーバであって、前記電子デバイスが、リモートデータ処理システムによって保持されるデバイスアクションデータ、および前記デバイスアクションデータの識別子に関連付けられており、前記デバイスアクションデータが、前記デバイスアクションデータに関連付けられた電子デバイスによってサポートされる、複数のデバイスアクションおよび複数のデバイス実行可能コマンドを含み、各デバイス実行可能コマンドが、前記複数のデバイスアクションのうちの対応するデバイスアクションの実行をトリガする、オーディオレシーバと、
前記音声ベース照会に応答して前記識別子および前記オーディオ信号を前記リモートデータ処理システムへ送信するための通信インターフェースであって、前記リモートデータ処理システムが、前記複数のデバイスアクションおよび前記複数のデバイス実行可能コマンドに前記識別子をマッピングする1つまたは複数のデータ構造を保持する、通信インターフェースと、
前記オーディオ信号の送信に応答して前記複数のデバイス実行可能コマンドのうちのデバイス実行可能コマンドを前記リモートデータ処理システムから受信するための前記通信インターフェースであって、前記デバイス実行可能コマンドが、前記識別子、前記オーディオ信号、および前記1つまたは複数のデータ構造に基づいて前記データ処理システムによって識別される、前記通信インターフェースと、
前記デバイスアクションを実行するための前記デバイス実行可能コマンドを実行するためのコマンド実行構成要素と
を備える電子デバイス。
【請求項２２】
前記オーディオ信号の前記送信に応答して、前記デバイスによる表示のためのオーディオ応答を受信するための前記通信インターフェースと、
前記デバイスアクションを実行することに関して前記オーディオ応答を再生するためのスピーカーと
を備える、請求項21に記載の電子デバイス。
【請求項２３】
前記デバイス実行可能コマンドに対応する前記デバイスアクションの実行の前に前記オーディオ応答を前記スピーカーに再生させるための前記コマンド実行構成要素、
前記デバイス実行可能コマンドに対応する前記デバイスアクションの実行中に前記オーディオ応答を前記スピーカーに再生させるための前記通信インターフェース、または
前記デバイス実行可能コマンドに対応する前記デバイスアクションの実行の後に前記オーディオ応答を前記スピーカーに再生させるための前記通信インターフェース
を備える、請求項22に記載の電子デバイス。
【請求項２４】
前記識別子が、デバイスモデルを定義するデバイスモデル識別子であり、前記複数のデバイスアクションが、前記デバイスモデルに関連付けられた電子デバイスによってサポートされるデバイスアクションであり、前記複数の実行可能コマンドが、前記デバイスモデルに関連付けられた前記電子デバイスに特有の実行可能コマンドである、請求項21に記載の電子デバイス。
【請求項２５】
前記デバイスモデル識別子がデバイス識別子を含む、請求項24に記載の電子デバイス。
【請求項２６】
前記デバイスが、
モバイルデバイス、
ロボットデバイス、
自動車、
アプライアンスデバイス、
スマートテレビジョン、
照明制御システム、または
ホームセキュリティシステムを含む、
請求項21に記載の電子デバイス。
【請求項２７】
前記識別子が、前記デバイスアクションデータに関連付けられた前記電子デバイス上にインストールされたアプリケーションに関連付けられた識別子であり、前記複数のデバイスアクションが、前記アプリケーションによってサポートされるデバイスアクションであり、前記複数の実行可能コマンドが、前記アプリケーションに特有の実行可能コマンドである、請求項21に記載の電子デバイス。
【請求項２８】
前記デバイス実行可能コマンドに関連付けられた1つまたは複数のパラメータを前記リモートデータ処理システムから受信するための前記通信インターフェースと、
前記デバイス実行可能コマンドを実行するために前記1つまたは複数のパラメータを使用するための前記コマンド実行構成要素と
を備える、請求項27に記載の電子デバイス。
【請求項２９】
前記アプリケーションが、前記第3当事者アプリケーションとの音声会話を起動するための対話式ユーザインターフェース構成要素を前記デバイスに提供させる、請求項27に記載の電子デバイス。
【請求項３０】
前記対話式ユーザインターフェース構成要素との対話に応答して前記リモートデータ処理システムとの通信セッションを起動するためのコントローラを備える、請求項29に記載の電子デバイス。
【請求項３１】
音声ベース対話のサポートを可能にする方法であって、
入力音声ベース照会に対応するオーディオ信号を電子デバイスによって生成するステップであって、前記電子デバイスが、リモートデータ処理システムによって保持されるデバイスアクションデータ、および前記デバイスアクションデータの識別子に関連付けられており、前記デバイスアクションデータが、前記デバイスアクションデータに関連付けられた電子デバイスによってサポートされる、複数のデバイスアクションおよび複数のデバイス実行可能コマンドを含み、各デバイス実行可能コマンドが、前記複数のデバイスアクションのうちの対応するデバイスアクションの実行をトリガする、ステップと、
前記電子デバイスによって、前記音声ベース照会に応答して前記識別子および前記オーディオ信号を前記リモートデータ処理システムへ送信するステップであって、前記リモートデータ処理システムが、前記複数のデバイスアクションおよび前記複数のデバイス実行可能コマンドに前記識別子をマッピングする1つまたは複数のデータ構造を保持する、ステップと、
前記電子デバイスによって、前記オーディオ信号の送信に応答して前記複数のデバイス実行可能コマンドのうちのデバイス実行可能コマンドを前記リモートデータ処理システムから受信するステップであって、前記デバイス実行可能コマンドが、前記識別子、前記オーディオ信号、および前記1つまたは複数のデータ構造に基づいて前記データ処理システムによって識別される、ステップと、
前記デバイスアクションを実行するための前記デバイス実行可能コマンドを前記電子デバイスによって実行するステップと
を備える方法。
【請求項３２】
前記オーディオ信号の前記送信に応答して、前記デバイスによる表示のためのオーディオ応答を受信するステップと、
前記デバイスアクションを実行することに関して前記オーディオ応答を再生するステップと
を備える、請求項31に記載の方法。
【請求項３３】
前記デバイス実行可能コマンドに対応する前記デバイスアクションの実行の前に前記オーディオ応答をスピーカーに再生させるステップ、
前記デバイス実行可能コマンドに対応する前記デバイスアクションの実行中に前記オーディオ応答を前記スピーカーに再生させるステップ、または
前記デバイス実行可能コマンドに対応する前記デバイスアクションの実行の後に前記オーディオ応答を前記スピーカーに再生させるステップ
を備える、請求項32に記載の方法。
【請求項３４】
前記識別子が、デバイスモデルを定義するデバイスモデル識別子であり、前記複数のデバイスアクションが、前記デバイスモデルに関連付けられた電子デバイスによってサポートされるデバイスアクションであり、前記複数の実行可能コマンドが、前記デバイスモデルに関連付けられた前記電子デバイスに特有の実行可能コマンドである、請求項31に記載の方法。
【請求項３５】
前記デバイスモデル識別子がデバイス識別子を含む、請求項34に記載の方法。
【請求項３６】
前記電子デバイスが、
モバイルデバイス、
ロボットデバイス、
自動車、
アプライアンスデバイス、
スマートテレビジョン、
照明制御システム、または
ホームセキュリティシステムを含む、
請求項31に記載の方法。
【請求項３７】
前記識別子が、前記デバイスアクションデータに関連付けられた前記電子デバイス上にインストールされたアプリケーションに関連付けられた識別子であり、前記複数のデバイスアクションが、前記アプリケーションによってサポートされるデバイスアクションであり、前記複数の実行可能コマンドが、前記アプリケーションに特有の実行可能コマンドである、請求項31に記載の方法。
【請求項３８】
前記デバイス実行可能コマンドに関連付けられた1つまたは複数のパラメータを前記リモートデータ処理システムから受信するステップと、
前記デバイス実行可能コマンドを実行するために前記1つまたは複数のパラメータを使用するステップと
を備える、請求項37に記載の方法。
【請求項３９】
前記アプリケーションが前記アプリケーションとの音声会話を起動するための対話式ユーザインターフェース構成要素を前記電子デバイスに提供させることを備える、請求項37に記載の方法。
【請求項４０】
前記対話式ユーザインターフェース構成要素との対話に応答して前記リモートデータ処理システムとの通信セッションを起動するステップを備える、請求項39に記載の方法。
【請求項４１】
音声ベース対話に応答してコンテンツを提供するためのデータ処理システムであって、
複数の電子デバイスによってサポートされる複数のデバイスアクションコマンドペアを含むデバイスアクションデータを記憶するためのメモリであって、各デバイスアクションコマンドペアが、複数のデバイスアクションのそれぞれのデバイスアクション、および前記それぞれのデバイスアクションの遂行をトリガするための複数のデバイス実行可能コマンドのそれぞれのデバイス実行可能コマンドを含む、メモリと、
前記複数の電子デバイスによってサポートされる前記複数のデバイスアクションコマンドペアの各々に識別子をマッピングするためのデバイスアクションカスタマイゼーション構成要素と、
オーディオ信号および前記識別子を電子デバイスから受信するための通信インターフェースであって、前記オーディオ信号が、音声ベース照会に応答して前記電子デバイスによって取得される、通信インターフェースと、
前記オーディオ信号に関連付けられたコンテンツ、および前記識別子を使用して、前記複数のデバイスアクションコマンドペアのうちのデバイスアクションコマンドペアを識別するための、自然言語プロセッサ構成要素と、
前記デバイスアクションデータまたは前記デバイスコマンドペアに基づいて前記音声ベース照会のコンテキストを識別するための前記デバイスアクションカスタマイゼーション構成要素と、
前記音声ベース照会の前記コンテキストに基づいてデジタルコンポーネントを選択するためのコンテンツ選択器構成要素と、
前記デジタルコンポーネント、および前記デバイスアクションコマンドペアに関連付けられたデバイス実行可能コマンドを、前記電子デバイスへ送信するための前記通信インターフェースであって、前記デバイス実行可能コマンドが、前記デバイスアクションコマンドペアに関連付けられた前記デバイスアクションを遂行させ、前記デジタルコンポーネントが、前記電子デバイスによって提示されるものである、前記通信インターフェースと
を備えるデータ処理システム。
【請求項４２】
前記デバイスアクションが第1のデバイスアクションであり、前記データ処理システムが、
前記デバイスアクションコマンドペアに関連付けられた前記第1のデバイスアクションを使用して、前記音声ベース照会に関連付けられたデバイスアクションの既定のシーケンスを識別し、
デバイスアクションの前記既定のシーケンスの中の、前記デバイスアクションコマンドペアに関連付けられた前記第1のデバイスアクションに後続する、1つまたは複数の第2のデバイスアクションを識別し、
前記デバイスアクションに後続する前記1つまたは複数の第2のデバイスアクションに基づいて、前記音声ベース照会の前記コンテキストの属性を識別するための
前記デバイスアクションカスタマイゼーション構成要素を備える、
請求項41に記載のデータ処理システム。
【請求項４３】
前記デジタルコンポーネントがオーディオデジタルコンポーネントを含む、請求項41に記載のデータ処理システム。
【請求項４４】
前記複数の電子デバイスにサービスするための複数の応答を保持するための前記メモリであって、前記複数の応答の各応答が、前記複数の電子デバイスによってサポートされる前記複数のデバイスアクションペアのうちの対応するデバイスアクションペアにマッピングされる、前記メモリと、
前記デバイスアクションコマンドペアに対応する、前記複数の応答のうちの応答を識別するための、前記デバイスアクションカスタマイゼーション構成要素と、
前記応答を前記電子デバイスへ提示のために送信するための前記通信インターフェースと
を備える、請求項41に記載のデータ処理システム。
【請求項４５】
前記複数のデバイスアクションコマンドペアのうちのデバイスアクションコマンドペアごとに1つまたは複数の対応するキーワードを保持するための前記メモリと、
前記自然言語プロセッサ構成要素によって識別される前記デバイスアクションコマンドペアに関連付けられた前記1つまたは複数のキーワードに基づいて、前記音声ベース照会の前記コンテキストを識別するための、前記デバイスアクションカスタマイゼーション構成要素と
を備える、請求項41に記載のデータ処理システム。
【請求項４６】
前記識別子が、前記複数の電子デバイスのデバイスモデルを示すデバイスモデル識別子(ID)を含み、前記複数のデバイスアクションコマンドペアが、前記デバイスモデルに特有である、請求項41に記載のデータ処理システム。
【請求項４７】
デバイスモデルに関連付けられた前記複数の電子デバイスの記述を保持するための前記メモリと、
デバイスモデルに関連付けられた前記複数の電子デバイスの前記記述に基づいて、前記音声ベース照会の前記コンテキストの属性を識別するための、前記デバイスアクションカスタマイゼーション構成要素と
を備える、請求項46に記載のデータ処理システム。
【請求項４８】
前記識別子が、前記複数の電子デバイス上にインストールされたアプリケーションに関連付けられた識別子を含み、前記複数のデバイスアクションコマンドペアが、前記アプリケーションに特有である、請求項41に記載のデータ処理システム。
【請求項４９】
前記複数の電子デバイス上にインストールされた前記アプリケーションの記述を保持するための前記メモリと、
前記複数の電子デバイス上にインストールされた前記アプリケーションの前記記述に基づいて、前記音声ベース照会の前記コンテキストの属性を識別するための、前記デバイスアクションカスタマイゼーション構成要素と
を備える、請求項48に記載のデータ処理システム。
【請求項５０】
前記デバイスアクションコマンドペアに関連付けられた前記デバイス実行可能コマンドの1つまたは複数のパラメータ値を識別するための前記デバイスアクションカスタマイゼーション構成要素と、
前記デバイスアクションコマンドペアに関連付けられた前記デバイス実行可能コマンドの前記1つまたは複数のパラメータ値に基づいて、前記音声ベース照会の前記コンテキストの属性を識別するための、前記デバイスアクションカスタマイゼーション構成要素と
を備える、請求項48に記載のデータ処理システム。
【請求項５１】
前記データ処理システムへの前記デバイスアクションデータおよび前記識別子の送信を可能にするためのユーザインターフェースを提供するための前記デバイスアクションカスタマイゼーション構成要素を備える、請求項41に記載のデータ処理システム。
【請求項５２】
前記データ処理システムへの前記デバイスアクションデータおよび前記識別子の送信を可能にするためのRESTfulアプリケーションプログラミングインターフェース(API)を提供するための前記デバイスアクションカスタマイゼーション構成要素を備える、請求項41に記載のデータ処理システム。
【請求項５３】
音声ベース対話に応答してコンテンツを提供する方法であって、
複数の電子デバイスによってサポートされる複数のデバイスアクションコマンドペアを含むデバイスアクションデータをメモリの中に記憶するステップであって、各デバイスアクションコマンドペアが、複数のデバイスアクションのそれぞれのデバイスアクション、および前記それぞれのデバイスアクションの遂行をトリガするための複数のデバイス実行可能コマンドのそれぞれのデバイス実行可能コマンドを含む、ステップと、
前記複数の電子デバイスによってサポートされる前記複数のデバイスアクションコマンドペアの各々に識別子をマッピングするステップと、
オーディオ信号および前記識別子を電子デバイスから受信するステップであって、前記オーディオ信号が、音声ベース照会に応答して前記電子デバイスによって取得される、ステップと、
前記オーディオ信号に関連付けられたコンテンツ、および前記識別子を使用して、前記複数のデバイスアクションコマンドペアのうちのデバイスアクションコマンドペアを識別するステップと、
前記デバイスアクションデータまたは前記デバイスコマンドペアに基づいて前記音声ベース照会のコンテキストを識別するステップと、
前記音声ベース照会の前記コンテキストに基づいてデジタルコンポーネントを選択するステップと、
前記デジタルコンポーネント、および前記デバイスアクションコマンドペアに関連付けられたデバイス実行可能コマンドを、前記電子デバイスへ送信するステップであって、前記デバイス実行可能コマンドが、前記デバイスアクションコマンドペアに関連付けられた前記デバイスアクションを遂行させ、前記デジタルコンポーネントが、前記電子デバイスによって提示されるものである、ステップと
を備える方法。
【請求項５４】
前記デバイスアクションコマンドペアに関連付けられた第1のデバイスアクションを使用して、前記音声ベース照会に関連付けられたデバイスアクションの既定のシーケンスを識別するステップと、
デバイスアクションの前記既定のシーケンスの中の、前記デバイスアクションコマンドペアに関連付けられた前記第1のデバイスアクションに後続する、1つまたは複数の第2のデバイスアクションを識別するステップと、
前記デバイスアクションに後続する前記1つまたは複数の第2のデバイスアクションに基づいて、前記音声ベース照会の前記コンテキストの属性を識別するステップと
を備える、請求項53に記載の方法。
【請求項５５】
前記複数のデバイスアクションコマンドペアのうちのデバイスアクションコマンドペアごとに、1つまたは複数の対応するキーワードを保持するステップと、
自然言語プロセッサ構成要素によって識別される前記デバイスアクションコマンドペアに関連付けられた前記1つまたは複数のキーワードに基づいて、前記音声ベース照会の前記コンテキストを識別するステップと
を備える、請求項53に記載の方法。
【請求項５６】
前記識別子が、前記複数の電子デバイスのデバイスモデルを示すデバイスモデル識別子(ID)を含み、前記複数のデバイスアクションコマンドペアが、前記デバイスモデルに特有である、請求項53に記載の方法。
【請求項５７】
デバイスモデルに関連付けられた前記複数の電子デバイスの記述を保持するステップと、
デバイスモデルに関連付けられた前記複数の電子デバイスの前記記述に基づいて、前記音声ベース照会の前記コンテキストの属性を識別するステップと
を備える、請求項56に記載の方法。
【請求項５８】
前記識別子が、前記複数の電子デバイス上にインストールされたアプリケーションに関連付けられた識別子を含み、前記複数のデバイスアクションコマンドペアが、アプリケーションに特有である、請求項53に記載の方法。
【請求項５９】
前記複数の電子デバイス上にインストールされた前記アプリケーションの記述を保持するステップと、
前記複数の電子デバイス上にインストールされた前記アプリケーションの前記記述に基づいて、前記音声ベース照会の前記コンテキストの属性を識別するステップと
を備える、請求項58に記載の方法。
【請求項６０】
前記デバイスアクションコマンドペアに関連付けられた前記デバイス実行可能コマンドの1つまたは複数のパラメータ値を識別するステップと、
前記デバイスアクションコマンドペアに関連付けられた前記デバイス実行可能コマンドの前記1つまたは複数のパラメータ値に基づいて、前記音声ベース照会の前記コンテキストの属性を識別するステップと
を備える、請求項58に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、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  ディスプレイ
【図１】
2021515911.tif 000003
【図２】
2021515911.tif 000004
【図３】
2021515911.tif 000005
【図４】
2021515911.tif 000006
【図５】
2021515911.tif 000007
【図６】
2021515911.tif 000008
【国際調査報告】
2021515911.tif 000009
2021515911.tif 000010
2021515911.tif 000011