(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-11
(45)【発行日】2024-09-20
(54)【発明の名称】パケット化されたデータのマルチモーダル送信のシステムおよび方法
(51)【国際特許分類】
G10L 15/22 20060101AFI20240912BHJP
G06F 16/33 20190101ALI20240912BHJP
H04N 21/436 20110101ALI20240912BHJP
H04N 21/442 20110101ALI20240912BHJP
【FI】
G10L15/22 453
G06F16/33
H04N21/436
H04N21/442
【外国語出願】
(21)【出願番号】P 2022141325
(22)【出願日】2022-09-06
(62)【分割の表示】P 2019163135の分割
【原出願日】2017-08-31
【審査請求日】2022-09-14
(32)【優先日】2016-12-30
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2017-08-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジャスティン・ルイス
(72)【発明者】
【氏名】リチャード・ラップ
(72)【発明者】
【氏名】ガウラフ・バハヤ
(72)【発明者】
【氏名】ロバート・ステッツ
【審査官】大野 弘
(56)【参考文献】
【文献】特表2016-519805(JP,A)
【文献】特開平04-287556(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/22
G06F 16/33
H04N 21/436
H04N 21/442
(57)【特許請求の範囲】
【請求項1】
コンピューティングシステムであって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに動作を実行させるように実行可能な
プログラムを記録する1つまたは複数の非一時的コンピュータ可読媒体と
を備え、前記動作が、
第1のコンピューティングデバイスによって受信される1つまたは複数の入力信号に基づいて要求を決定する動作と、
前記要求に少なくとも部分的に基づいて、リアルタイムコンテンツ選択プロセスを介して選択されるコンテンツ・アイテムを取得する動作と、
以前に取得された近接性情報に基づいて、前記第1のコンピューティングデバイスの閾値距離内にある第1の候補インタフェースおよび第2の候補インタフェースを識別する動作と、
非可聴音信号を使用して、前記第1の候補インタフェースおよび前記第2の候補インタフェース
が前記閾値距離内にあると判定する動作と、
ポリシーに基づいて、前記コンテンツ・アイテムを
出力するために前記第1の候補インタフェースを選択する動作と、
前記第1の候補インタフェースと互換なモダリティで前記コンテンツ・アイテムを、前記
出力のための前記第1の候補インタフェースに送信する動作と
を含む、コンピューティングシステム。
【請求項2】
前記非可聴音信号は、前記第1の候補インタフェースおよび前記第2の候補インタフェースのうち
の少なくとも1つを識別するためのトークンを符号化する、請求項1に記載のコンピューティングシステム。
【請求項3】
前記非可聴音信号は、前記第1の候補インタフェースおよび前記第2の候補インタフェースが閾値距離内にあることを判定するためのトークンを符号化する、請求項1に記載のコンピューティングシステム。
【請求項4】
前記第1の候補インタフェースまたは前記第2の候補インタフェースに関連付けられる距離が、第1の非可聴音信号と第2の非可聴音信号との間の時間間隔に少なくとも部分的に基づいて決定される、請求項1に記載のコンピューティングシステム。
【請求項5】
前記非可聴音信号のうちの1つまたは複数が、前記第1のコンピューティングデバイスにより出力され、前記第1の候補インタフェースおよび前記第2の候補インタフェースのうち
の少なくとも1つより受信される、請求項1に記載のコンピューティングシステム。
【請求項6】
前記第1の候補インタフェースおよび前記第2の候補インタフェースが、オーディオインタフェースである、請求項1に記載のコンピューティングシステム。
【請求項7】
前記第1の候補インタフェースおよび前記第2の候補インタフェースが、建物の異なる部屋にある、請求項1に記載のコンピューティングシステム。
【請求項8】
前記動作が、前記第1の候補インタフェースおよび前記第2の候補インタフェースのうち
の少なくとも1つのアプリケーション・プログラミング・インタフェース
を問い合わせ、前記第1の候補インタフェースおよび前記第2の候補インタフェースのうちの前記少なくとも1つのリソース利用値を決定する動作を
さらに含
み、
ポリシーに基づいて、前記コンテンツ・アイテムを出力するために前記第1の候補インタフェースを選択する動作が、前記第1の候補インタフェースおよび前記第2の候補インタフェースのうちの前記少なくとも1つのリソース利用値に基づいて、前記コンテンツ・アイテムを出力するために前記第1の候補インタフェースを選択する動作を含む、請求項1に記載のコンピューティングシステム。
【請求項9】
1つまたは複数のプロセッサに動作を実行させるように実行可能な
プログラムを記録する1つまたは複数の非一時的コンピュータ可読媒体であって、
を備え、前記動作が、
第1のコンピューティングデバイスによって受信される1つまたは複数の入力信号に基づいて要求を決定する動作と、
前記要求に少なくとも部分的に基づいて、リアルタイムコンテンツ選択プロセスを介して選択されるコンテンツ・アイテムを取得する動作と、
以前に取得された近接性情報に基づいて、前記第1のコンピューティングデバイスの閾値距離内にある第1の候補インタフェースおよび第2の候補インタフェースを識別する動作と、
非可聴音信号を使用して、前記第1の候補インタフェースおよび前記第2の候補インタフェース
が前記閾値距離内にあると判定する動作と、
ポリシーに基づいて、前記コンテンツ・アイテムを
出力するために前記第1の候補インタフェースを選択する動作と、
前記第1の候補インタフェースと互換なモダリティで前記コンテンツ・アイテムを、前記
出力のための前記第1の候補インタフェースに送信する動作と
を含む、1つまたは複数の非一時的コンピュータ可読媒体。
【請求項10】
前記非可聴音信号は、前記第1の候補インタフェースおよび前記第2の候補インタフェースのうちの前記少なくとも1つを識別するためのトークンを符号化する、請求項9に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項11】
前記非可聴音信号は、前記第1の候補インタフェースおよび前記第2の候補インタフェースが閾値距離内にあることを判定するためのトークンを符号化する、請求項9に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項12】
前記第1の候補インタフェースまたは前記第2の候補インタフェースに関連付けられる距離が、第1の非可聴音信号と第2の非可聴音信号との間の時間間隔に少なくとも部分的に基づいて決定される、請求項9に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項13】
前記非可聴音信号のうちの1つまたは複数が、前記第1のコンピューティングデバイスにより出力され、前記第1の候補インタフェースおよび前記第2の候補インタフェースのうちの前記少なくとも1つより受信される、請求項9に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項14】
前記第1の候補インタフェースおよび前記第2の候補インタフェースが、オーディオインタフェースである、請求項9に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項15】
前記第1の候補インタフェースおよび前記第2の候補インタフェースが、建物の異なる部屋にある、請求項9に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項16】
前記動作が、前記第1の候補インタフェースおよび前記第2の候補インタフェースのうち
の少なくとも1つのアプリケーション・プログラミング・インタフェース
を問い合わせ、前記第1の候補インタフェースおよび前記第2の候補インタフェースのうちの前記少なくとも1つのリソース利用値を決定する動作を含
み、
ポリシーに基づいて、前記コンテンツ・アイテムを出力するために前記第1の候補インタフェースを選択する動作が、前記第1の候補インタフェースおよび前記第2の候補インタフェースのうちの前記少なくとも1つのリソース利用値に基づいて、前記コンテンツ・アイテムを出力するために前記第1の候補インタフェースを選択する動作を含む、請求項9に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項17】
方法であって、
コンピューティングシステムによって、第1のコンピューティングデバイスによって受信される1つまたは複数の入力信号に基づいて要求を決定するステップと、
前記コンピューティングシステムによって、前記要求に少なくとも部分的に基づいて、リアルタイムコンテンツ選択プロセスを介して選択されるコンテンツ・アイテムを取得するステップと、
前記コンピューティングシステムによって、
以前に取得された近接性情報に基づいて、前記第1のコンピューティングデバイスの閾値距離内にある第1の候補インタフェースおよび第2の候補インタフェースを識別するステップと、
前記コンピューティングシステムによって、非可聴音信号を使用して、前記第1の候補インタフェースおよび前記第2の候補インタフェース
が前記閾値距離内にあると判定するステップと、
前記コンピューティングシステムによって、ポリシーに基づいて、前記コンテンツ・アイテムを
出力するために前記第1の候補インタフェースを選択するステップと、
前記コンピューティングシステムによって、前記第1の候補インタフェースと互換なモダリティで前記コンテンツ・アイテムを、前記
出力のための前記第1の候補インタフェースに送信するステップと
を含む、方法。
【請求項18】
前記非可聴音信号は、前記第1の候補インタフェースおよび前記第2の候補インタフェースのうち
の少なくとも1つを識別するためのトークンを符号化する、請求項17に記載の方法。
【請求項19】
前記非可聴音信号は、前記第1の候補インタフェースおよび前記第2の候補インタフェースが閾値距離内にあることを判定するためのトークンを符号化する、請求項17に記載の方法。
【請求項20】
前記第1の候補インタフェースまたは前記第2の候補インタフェースに関連付けられる距離が、第1の非可聴音信号と第2の非可聴音信号との間の時間間隔に少なくとも部分的に基づいて決定される、請求項17に記載の方法。
【発明の詳細な説明】
【背景技術】
【0001】
本願は、発明の名称を「パケット化されたデータのマルチモーダル送信」とした2017年8月11日出願の米国特許出願第15/674、838号、および発明の名称を「パケット化されたデータのマルチモーダル送信とした」2016年12月30日出願の米国特許出願第15/395、703号に対する優先権の利益を主張し、その各々は引用により全体として全ての目的で本明細書に組み込まれる。
【0002】
コンピューティングリソースを利用しているコンピューティングデバイスへのデータの送信は、過度なパケット・ベースのネットワーク送信または過度のネットワークトラフィックデータのネットワーク送信をもたらし、コンピューティングデバイスが正しく前記ネットワークトラフィックデータを処理し、前記ネットワークトラフィックデータに関連する動作を完了し、または前記ネットワークトラフィックデータにタイムリーに応答することを防止しうる。コンテンツ・アイテムオブジェクトに対応するネットワーク送信の制御は、コンピューティングデバイスの間のネットワークトラフィックデータのネットワーク送信を開始しうる大量のコンテンツ・アイテムオブジェクトにより複雑化されうる。
【発明の概要】
【課題を解決するための手段】
【0003】
少なくとも1つの態様は、音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のシステムに関する。データ処理システムにより実行される自然言語プロセッサ・コンポーネントは、データ処理システムのインタフェースを介して、クライアントコンピューティングデバイスのセンサにより検出された入力オーディオ信号を含むデータ・パケットを受信することができる。当該自然言語プロセッサ・コンポーネントは当該入力オーディオ信号を解析して、要求および当該要求に対応するトリガキーワードを識別することができる。データ処理システムのダイレクト・アクション・アプリケーション・プログラミング・インタフェースは、当該要求および当該トリガキーワードの少なくとも1つに基づいて第1のアクションデータ構造を生成することができる。データ処理システムにより実行されたコンテンツセレクタコンポーネントは、当該自然言語プロセッサにより識別された当該要求および当該トリガキーワードのうち少なくとも1つを受信することができ、リアルタイムコンテンツ選択プロセスを介して当該要求および当該トリガキーワードのうち少なくとも1つに基づいて、コンテンツ・アイテムを選択することができる。データ処理システムのインタフェース管理コンポーネントは、複数のインタフェースをポーリングして第1の候補インタフェースおよび第2の候補インタフェースを識別することができ、第1の候補インタフェースに対する第1のリソース利用値および第2の候補インタフェースに対する第2のリソース利用値を決定することができる。第1のリソース利用値および第2のリソース利用値は、バッテリステータス、プロセッサ利用率、メモリ利用率、インタフェースパラメータ、およびネットワーク帯域幅利用率の少なくとも1つに基づくことができる。当該インタフェース管理コンポーネントは、第1のリソース利用値および第2のリソース利用値の比較に基づいて、第1の候補インタフェースを、当該コンテンツ・アイテムを提供するための選択されたインタフェースとして選択することができ、第1のリソース利用値および第2のリソース利用値の比較に基づいて選択された当該選択されたインタフェースと互換なモダリティで配送するために当該コンテンツ・アイテムを変換することができる。当該インタフェース管理コンポーネントは、クライアントコンピューティングデバイスからオーディオ出力を描画するために、第1のアクションデータ構造をクライアントコンピューティングデバイスに提供でき、当該選択されたインタフェースから描画するコンテンツ・アイテムを配送するための第1のモダリティに関して変換された当該コンテンツ・アイテムを送信することができる。
【0004】
少なくとも1つの態様は、音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信の方法に関する。当該方法は、データ処理システムにより実行される自然言語プロセッサ・コンポーネントにより、データ処理システムのインタフェースを介して、クライアントコンピューティングデバイスのセンサにより検出された入力オーディオ信号を含むデータ・パケットを受信することができる。当該方法は、当該自然言語プロセッサ・コンポーネントにより、当該入力オーディオ信号から、要求および当該要求に対応するトリガキーワードを識別することができる。当該方法は、データ処理システムのダイレクト・アクション・アプリケーション・プログラミング・インタフェースにより、当該トリガキーワードの少なくとも1つに基づいて第1のアクションデータ構造を生成することができる。当該方法は、データ処理システムにより実行されたコンテンツセレクタコンポーネントにより、当該自然言語プロセッサにより識別された当該要求および当該トリガキーワードのうち少なくとも1つを受信し、リアルタイムコンテンツ選択プロセスを介して当該要求および当該トリガキーワードのうち少なくとも1つに基づいて、コンテンツ・アイテムを選択することができる。当該方法は、データ処理システムのインタフェース管理コンポーネントにより、複数のインタフェースをポーリングして、第1の候補インタフェースおよび第2の候補インタフェースを識別することができる。当該方法は、当該インタフェース管理コンポーネントにより、第1の候補インタフェースに対する第1のリソース利用値および第2の候補インタフェースに対する第2のリソース利用値を決定することができる。第1のリソース利用値および第2のリソース利用値は、バッテリステータス、プロセッサ利用率、メモリ利用率、インタフェースパラメータ、およびネットワーク帯域幅利用率の少なくとも1つに基づくことができる。当該方法は、第1のリソース利用値および第2のリソース利用値の比較に基づいて、第1の候補インタフェースを、当該コンテンツ・アイテムを提供するための選択されたインタフェースとして選択することができる。当該方法は第1のリソース利用値および第2のリソース利用値の比較に基づいて選択された当該選択されたインタフェースと互換なモダリティで配送するために当該コンテンツ・アイテムを変換することができる。当該方法は、クライアントコンピューティングデバイスからオーディオ出力を描画するために、第1のアクションデータ構造をクライアントコンピューティングデバイスに提供できる。当該方法は、当該選択されたインタフェースから描画するコンテンツ・アイテムを配送するための第1のモダリティに関して変換された当該コンテンツ・アイテムを送信することができる。
【0005】
少なくとも1つの態様は、1つまたは複数のデータプロセッサにより実行されたとき、当該1つまたは複数のデータプロセッサに音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のための動作を実施させる命令を格納するコンピュータ可読記憶媒体に関する。当該動作は、データ処理システムにより実行される自然言語プロセッサ・コンポーネントにより、データ処理システムのインタフェースを介して、クライアントコンピューティングデバイスのセンサにより検出された入力オーディオ信号を含むデータ・パケットを受信することができる。当該動作は、当該自然言語プロセッサ・コンポーネントにより、当該入力オーディオ信号から、要求および当該要求に対応するトリガキーワードを識別することができる。当該動作は、データ処理システムのダイレクト・アクション・アプリケーション・プログラミング・インタフェースにより、当該トリガキーワードの少なくとも1つに基づいて第1のアクションデータ構造を生成することができる。当該動作は、データ処理システムにより実行されたコンテンツセレクタコンポーネントにより、当該自然言語プロセッサにより識別された当該要求および当該トリガキーワードのうち少なくとも1つを受信し、リアルタイムコンテンツ選択プロセスを介して当該要求および当該トリガキーワードのうち少なくとも1つに基づいて、コンテンツ・アイテムを選択することができる。当該動作は、データ処理システムのインタフェース管理コンポーネントにより、複数のインタフェースをポーリングして、第1の候補インタフェースおよび第2の候補インタフェースを識別することができる。当該動作は、当該インタフェース管理コンポーネントにより、第1の候補インタフェースに対する第1のリソース利用値および第2の候補インタフェースに対する第2のリソース利用値を決定することができる。第1のリソース利用値および第2のリソース利用値は、バッテリステータス、プロセッサ利用率、メモリ利用率、インタフェースパラメータ、およびネットワーク帯域幅利用率の少なくとも1つに基づくことができる。当該動作は、第1のリソース利用値および第2のリソース利用値の比較に基づいて、第1の候補インタフェースを、当該コンテンツ・アイテムを提供するための選択されたインタフェースとして選択することができる。当該動作は第1のリソース利用値および第2のリソース利用値の比較に基づいて選択された当該選択されたインタフェースと互換なモダリティで配送するために当該コンテンツ・アイテムを変換することができる。当該動作は、クライアントコンピューティングデバイスからオーディオ出力を描画するために、第1のアクションデータ構造をクライアントコンピューティングデバイスに提供できる。当該動作は、当該選択されたインタフェースから描画するコンテンツ・アイテムを配送するための第1のモダリティに関して変換された当該コンテンツ・アイテムを送信することができる。
【0006】
少なくとも1つの態様は、音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のシステムに関する。データ処理システムにより実行される自然言語プロセッサ・コンポーネントは、データ処理システムのインタフェースを介して、クライアントコンピューティングデバイスのセンサにより検出された入力オーディオ信号を含むデータ・パケットを受信することができる。当該自然言語プロセッサ・コンポーネントは当該入力オーディオ信号を解析して、要求および当該要求に対応するトリガキーワードを識別することができる。データ処理システムのダイレクト・アクション・アプリケーション・プログラミング・インタフェースは、当該要求および当該トリガキーワードの少なくとも1つに基づいて、第1のアクションデータ構造を生成することができる。データ処理システムにより実行されたコンテンツセレクタコンポーネントは、当該自然言語プロセッサにより識別された当該要求および当該トリガキーワードのうち少なくとも1つを受信することができ、リアルタイムコンテンツ選択プロセスを介して当該要求および当該トリガキーワードのうち少なくとも1つに基づいて、コンテンツ・アイテムを選択することができる。データ処理システムのインタフェース管理コンポーネントは、複数のインタフェースをポーリングして、当該コンピューティングデバイスの閾値距離内にある第1の候補インタフェースおよび第2の候補インタフェースを識別し、第1の候補インタフェースに対する第1のリソース利用値および第2の候補インタフェースに対する第2のリソース利用値を決定することができる。当該インタフェース管理コンポーネントは、第1のリソース利用値および第2のリソース利用値の比較に基づいて、第1の候補インタフェースを、当該コンテンツ・アイテムを提供するための選択されたインタフェースとして選択することができ、第1のリソース利用値および第2のリソース利用値の比較に基づいて選択された当該選択されたインタフェースと互換なモダリティで配送するために当該コンテンツ・アイテムを提供することができる。当該インタフェース管理コンポーネントは、当該コンテンツ・アイテムを第1のモダリティで送信して、当該選択されたインタフェースから描画するための当該コンテンツ・アイテムを配送することができる。
【0007】
少なくとも1つの態様は、音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信の方法に関する。当該方法は、データ処理システムにより実行される自然言語プロセッサ・コンポーネントにより、データ処理システムのインタフェースを介して、クライアントコンピューティングデバイスのセンサにより検出された入力オーディオ信号を含むデータ・パケットを受信することができる。当該方法は、当該自然言語プロセッサ・コンポーネントにより、当該入力オーディオ信号から、要求および当該要求に対応するトリガキーワードを識別することができる。当該方法は、データ処理システムのダイレクト・アクション・アプリケーション・プログラミング・インタフェースにより、当該トリガキーワードの少なくとも1つに基づいて第1のアクションデータ構造を生成することができる。当該方法は、データ処理システムにより実行されたコンテンツセレクタコンポーネントにより、当該自然言語プロセッサにより識別された当該要求および当該トリガキーワードのうち少なくとも1つを受信し、リアルタイムコンテンツ選択プロセスを介して当該要求および当該トリガキーワードのうち少なくとも1つに基づいて、コンテンツ・アイテムを選択することができる。当該方法は、データ処理システムのインタフェース管理コンポーネントにより、複数のインタフェースをポーリングして、当該コンピューティングデバイスの閾値距離内にある第1の候補インタフェースおよび第2の候補インタフェースを識別することができる。当該方法は、当該インタフェース管理コンポーネントにより、第1の候補インタフェースに対する第1のリソース利用値および第2の候補インタフェースに対する第2のリソース利用値を決定することができる。当該方法は、第1のリソース利用値および第2のリソース利用値の比較に基づいて、第1の候補インタフェースを、当該コンテンツ・アイテムを提供するための選択されたインタフェースとして選択することができる。当該方法は第1のリソース利用値および第2のリソース利用値の比較に基づいて選択された当該選択されたインタフェースと互換なモダリティで配送するために当該コンテンツ・アイテムを変換することができる。当該方法は当該選択されたインタフェースから描画するコンテンツ・アイテムを配送するための第1のモダリティに関して変換された当該コンテンツ・アイテムを送信することができる。
【0008】
少なくとも1つの態様は、1つまたは複数のデータプロセッサにより実行されたとき、当該1つまたは複数のデータプロセッサに音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のための動作を実施させる命令を格納するコンピュータ可読記憶媒体に関する。当該動作は、データ処理システムにより実行される自然言語プロセッサ・コンポーネントにより、データ処理システムのインタフェースを介して、クライアントコンピューティングデバイスのセンサにより検出された入力オーディオ信号を含むデータ・パケットを受信することができる。当該動作は、当該自然言語プロセッサ・コンポーネントにより、当該入力オーディオ信号から、要求および当該要求に対応するトリガキーワードを識別することができる。当該動作は、データ処理システムのダイレクト・アクション・アプリケーション・プログラミング・インタフェースにより、当該トリガキーワードの少なくとも1つに基づいて第1のアクションデータ構造を生成することができる。当該動作は、データ処理システムにより実行されたコンテンツセレクタコンポーネントにより、当該自然言語プロセッサにより識別された当該要求および当該トリガキーワードのうち少なくとも1つを受信し、リアルタイムコンテンツ選択プロセスを介して当該要求および当該トリガキーワードのうち少なくとも1つに基づいて、コンテンツ・アイテムを選択することができる。当該動作は、データ処理システムのインタフェース管理コンポーネントにより、複数のインタフェースをポーリングして、当該コンピューティングデバイスの閾値距離を有する第1の候補インタフェースおよび第2の候補インタフェースを識別することができる。当該動作は、当該インタフェース管理コンポーネントにより、第1の候補インタフェースに対する第1のリソース利用値および第2の候補インタフェースに対する第2のリソース利用値を決定することができる。当該動作は、第1のリソース利用値および第2のリソース利用値の比較に基づいて、第1の候補インタフェースを、当該コンテンツ・アイテムを提供するための選択されたインタフェースとして選択することができる。当該動作は第1のリソース利用値および第2のリソース利用値の比較に基づいて選択された当該選択されたインタフェースと互換なモダリティで配送するために当該コンテンツ・アイテムを変換することができる。当該動作は、当該選択されたインタフェースから描画するコンテンツ・アイテムを配送するための第1のモダリティに関して変換された当該コンテンツ・アイテムを送信することができる。
【0009】
これらのおよび他の態様および実装を以下で説明する。以上の情報および以下の詳細な説明は様々な態様および実装の例示的な例を含み、クレームした態様および実装の性質と特徴を理解するための概要またはフレームワークを提供する。当該図面は当該様々な態様および実装の例示とさらなる理解を提供し、本明細書に組み込まれ本明細書の一部を構成する。
【0010】
添付図面は正しい縮尺で描かれていない。当該様々な図面における同じ参照番号および指定は同じ要素を示す。明確さの目的のため、全てのコンポーネントが全ての図面においてラベル付けされていないかもしれない。
【図面の簡単な説明】
【0011】
【
図1】音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のシステムを示す図である。
【
図2】音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のための流れ図である。
【
図3】音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信の方法を示す図である、
【
図4】音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のシステムの例示的な動作を示す図である。
【
図5】音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のシステムの例示的な動作を示す図である。
【
図6】本明細書で説明し図示したシステムおよび方法の要素を実装するために使用されうるコンピュータシステムのための汎用アーキテクチャを示すブロック図である。
【発明を実施するための形態】
【0012】
以下は様々な概念のより詳細な説明であり、音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信の方法、装置、およびシステムの実装に関連する。上で導入し以下でさらに詳細に説明する様々な概念を任意の多数の方法で実装してもよい。
【0013】
本開示のシステムおよび方法は一般に、音声起動されたコンピュータ・ネットワーク環境におけるデータ・パケット(または他のプロトコルベースの)送信のための最適な送信モダリティを識別するデータ処理システムに関する。データ処理システムは、例えば、コンテンツ・アイテムのコンピュータ・ネットワークを通って1つまたは複数のクライアントコンピューティングデバイスに、または単一のクライアントコンピューティングデバイスの異なるインタフェース(例えば、異なるアプリまたはプログラム)にルーティングされるデータ・パケットに対する複数のオプションから送信モダリティを選択することによって、1つまたは複数のコンピュータ・ネットワーク上のデータ・パケット送信の効率および有効性を高めることができる。当該選択された動作に対応するデータ・パケットまたは他のプロトコルベースの信号は、複数のコンピューティングデバイスの間のコンピュータ・ネットワークを通じてルーティングされることができる。例えばデータ処理システムは、要求がそこから受信されたインタフェースと異なるインタフェースにコンテンツ・アイテムをルーティングすることができる。当該異なるインタフェースは、要求がそこから受信された同一のクライアントコンピューティングデバイスまたは異なるクライアントコンピューティングデバイスであることができる。データ処理システムは、コンテンツ・アイテム送信に対する複数の候補インタフェースからクライアントコンピューティングデバイスへの少なくとも1つの候補インタフェースを選択することができる。当該候補インタフェースを、プロセッサ能力または利用率、メモリ能力または可用性、バッテリステータス、利用可能な電力、ネットワーク帯域幅利用率、インタフェースパラメータまたは他のリソース利用値のような技術的またはコンピューティングパラメータに基づいて決定することができる。当該候補インタフェースに関連付けられた候補インタフェースまたは利用率に基づいてクライアントコンピューティングデバイスから描画するための当該コンテンツ・アイテムを受信し提供するためのインタフェースを選択することによって、データ処理システムは、当該コンテンツ・アイテムを描画するクライアントコンピューティングデバイスのネットワーク帯域幅利用率、レイテンシ、または処理の利用または電力消費を減らすことができる。これは、処理電力およびメモリのような他のコンピューティングリソースを節約し、データ処理システムによる電気電力消費および当該コンピュータ・ネットワークを介した当該削減されたデータ送信を減らし、データ処理システムの帯域幅要件および利用を減らす。
【0014】
本明細書で説明するシステムおよび方法は入力オーディオクエリを受信するデータ処理システムを含むことができる。当該データ処理システをまた、入力オーディオ信号と称することができる。当該入力オーディオクエリから、データ処理システムは要求および当該要求に対応するトリガキーワードを識別することができる。当該トリガキーワードまたは当該要求に基づいて、データ処理システムは第1のアクションデータ構造を生成することができる。例えば、第1のアクションデータ構造はクライアントコンピューティングデバイスから受信された当該入力オーディオクエリに対する有機的な応答を含むことができ、データ処理システムは、当該要求がそこから受信された同一のインタフェースを介してオーディオ出力を描画するための同一のクライアントコンピューティングデバイスに第1のアクションデータ構造を提供することができる。
【0015】
データ処理システムはまた、当該トリガキーワードまたは当該要求に基づいて少なくとも1つのコンテンツ・アイテムを選択することができる。データ処理システムは当該コンテンツ・アイテム(複数可)を描画するための複数の候補インタフェースを識別または決定することができる。当該インタフェースは、ディスプレイスクリーン、オーディオインタフェース、スピーカ、当該入力オーディオクエリを生成したクライアントコンピューティングデバイス上で、または異なるクライアントコンピューティングデバイス上で利用可能なアプリケーションまたはプログラムのような1つまたは複数のハードウェアまたはソフトウェアインタフェースを含むことができる。当該インタフェースは、コンテンツ・アイテムを挿入するためのオンラインドキュメントのためのjavaスクリプトスロット、ならびにプッシュ通知インタフェースを含むことができる。データ処理システムは当該異なる候補インタフェースに対する利用値を決定することができる。当該利用値は、例えば、電力、処理、メモリ、帯域幅、またはインタフェースパラメータ能力を示すことができる。当該候補インタフェースに対する当該利用値に基づいて、データ処理システムは、当該コンテンツ・アイテムの提示または描画のための選択されたインタフェースとして候補インタフェースを選択することができる。例えば、データ処理システムは、当該選択されたインタフェースと互換なモダリティで配送するために当該コンテンツ・アイテムを変換または提供することができる。当該選択されたインタフェースは、当該入力オーディオ信号を生成した同一のクライアントコンピューティングデバイスまたは異なるクライアントコンピューティングデバイスのインタフェースであることができる。候補インタフェースに関連付けられた利用値に基づいてコンピューティングネットワークを介してデータ・パケットをルーティングすることによって、データ処理システムは、利用可能なオプションから最小量の処理電力、メモリ、または帯域幅を使用できる方式、または1つまたは複数のクライアントコンピューティングデバイスの電力を保存できる方式で、当該コンテンツ・アイテムに対する。
【0016】
データ処理システムは、当該コンテンツ・アイテムまたは第1のアクションデータ構造を、パケットまたは他のプロトコルベースのデータメッセージ送信によりコンピュータ・ネットワークを介して、クライアントコンピューティングデバイスに提供することができる。当該出力信号は、クライアントコンピューティングデバイスのオーディオドライバコンポーネントに、音波、例えば、オーディオ出力を生成させることができる。当該音波はクライアントコンピューティングデバイスから出力できる。当該オーディオ(または他の)出力は第1のアクションデータ構造または当該コンテンツ・アイテムに対応することができる。例えば第1のアクションデータ構造をオーディオ出力としてルーティングでき、当該コンテンツ・アイテムをテキストベースのメッセージとしてルーティングすることができる。第1のアクションデータ構造および当該コンテンツ・アイテムを異なるインタフェースにルーティングすることによって、データ処理システムは、第1のアクションデータ構造および当該コンテンツ・アイテムの両方を同一のインタフェースに提供することに対して、各インタフェースにより利用されるリソースを保存することができる。これは、第1のアクションデータ構造および当該コンテンツ・アイテムの別々のおよび独立なルーティングなしのケースよりも、当該選択されたインタフェース(またはそれらの対応するデバイス)によるより少ないデータ処理動作、より少ないメモリ利用、またはより少ないネットワーク帯域幅利用をもたらす。
【0017】
データ処理システムは、マイクロフォンを介して入力オーディオ信号を検出するコンピューティングデバイスの範囲内の1つまたは複数のデバイスを識別することができる。データ処理システムは、1つまたは複数の候補インタフェースを識別するための範囲内の当該1つまたは複数の識別されたデバイスをポーリングすることができる。データ処理システムは、当該1つまたは複数の候補インタフェースの各々が、それを介して通知またはコンテンツ・アイテムを送信するためのインタフェースを選択するためのリソース利用値を決定することができる。例えば、データ処理システムは、コンテンツ・アイテムまたは通知を送信することを決定することができる。データ処理システムは、コンピューティングデバイスにより受信された音声入力に応答して当該コンテンツ・アイテムまたは当該通知を送信することを決定することができる。当該コンテンツ・アイテムまたは当該通知の送信の前に、データ処理システムは、当該コンピューティングデバイスの範囲内の1つまたは複数のコンピューティングデバイスを識別することができる。データ処理システムは当該複数のコンピューティングデバイスをポーリングして、当該コンテンツ・アイテムに対する候補インタフェースを識別することができる。データ処理システムは、例えば、第1のコンピューティングデバイスの第1の候補インタフェースが高いリソース利用値を有すると判定することができる(例えば、第1の候補インタフェースはオーディオインタフェースであることができ、データ処理システムは第1のコンピューティングデバイスが音楽を再生していると判定することができる)。データ処理システムは、第2の候補インタフェースが低いリソース利用値を有する(例えば、第2の候補インタフェースは現在使用されていない視覚ディスプレイを含むことができる)と判定することができる。データ処理システムはさらに、当該コンテンツ・アイテムをオーディオフォーマットまたは視覚フォーマットで提供しうると判定することができる。データ処理システムは次いで、第2の候補インタフェースを選択し、当該コンテンツ・アイテムを当該視覚フォーマットで変換または選択し、および第2の候補インタフェースを介して表示するための当該候補コンテンツ・アイテムを送信することができる。
【0018】
図1は、音声起動されたデータ・パケット(または他のプロトコル)ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のための例示的なシステム100を示す。システム100は少なくとも1つのデータ処理システム105を含むことができる。データ処理システム105は少なくとも1つのプロセッサを有する少なくとも1つのサーバを含むことができる。例えば、データ処理システム105は、少なくとも1つのデータセンタまたはサーバ・ファームに配置された複数のサーバを含むことができる。データ処理システム105は、オーディオ入力信号から要求および当該要求に関連付けられたトリガキーワードを決定することができる。当該要求およびトリガキーワードに基づいてデータ処理システム105は少なくとも1つのアクションデータ構造を決定または選択でき、少なくとも1つのコンテンツ・アイテムを選択することができる(および本明細書で説明したように他のアクションを開始する)。データ処理システム105は、当該アクションデータ構造または当該コンテンツ・アイテムを描画するための候補インタフェースを識別でき、当該候補インタフェースに対するまたは当該インタフェースのリソース利用値に基づいて、例えば音声起動された通信または計画システムの一部として、1つまたは複数のクライアントコンピューティングデバイス上の1つまたは複数の候補インタフェースにより描画するための当該アクションデータ構造または当該コンテンツ・アイテムを提供することができる。当該アクションデータ構造(または当該コンテンツ・アイテム)は、描画するときにオーディオ出力または音波を提供する1つまたは複数のオーディオファイルを含むことができる。当該アクションデータ構造または当該コンテンツ・アイテムはオーディオ・コンテンツに加えて他のコンテンツ(例えば、テキスト、ビデオ、または画像コンテンツ)を含むことができる。
【0019】
データ処理システム105は、複数の論理的にグループ化されたサーバを含むことができ、分散コンピューティング技術を促進する。サーバの当該論理グループをデータセンタ、サーバ・ファームまたはマシン・ファームと称してもよい。当該サーバは地理的に分散されることができる。データセンタまたはマシン・ファームを単一のエンティティとして管理してもよく、または当該マシン・ファームは複数のマシン・ファームを含むことができる。各マシン・ファーム内の当該サーバはであることができる不均一-当該サーバまたはマシンのうち1つまたは複数が1つまたは複数のタイプのオペレーティング・システムプラットフォームに従って動作することができる。データ処理システム105は、関連付けられた記憶システムとともに1つまたは複数の高密度ラック・システムに格納され、例えばエンタープライズデータセンタに配置された、データセンタ内のサーバを含むことができる。このように統合されたサーバを有するデータ処理システム105は、当該システムのシステム管理可能性、データセキュリティ、当該物理セキュリティ、高性能ネットワーク上にサーバおよび高性能記憶システムを配置することでシステム性能を高めることができる。サーバおよび記憶システムを含むデータ処理システム105コンポーネントの全部または一部の集約と、それらを高度なシステム管理ツールと組み合わせることで、サーバリソースのより効率的な利用が可能となり、電力および処理要件が節約され、帯域幅利用が減る。
【0020】
データ処理システム105は少なくとも1つの自然言語プロセッサ(NLP)コンポーネント110、少なくとも1つのインタフェース115、少なくとも1つの予測コンポーネント120、少なくとも1つのコンテンツセレクタコンポーネント125、少なくとも1つのオーディオ信号ジェネレータコンポーネント130、少なくとも1つのダイレクト・アクション・アプリケーション・プログラミング・インタフェース(API)135、少なくとも1つのインタフェース管理コンポーネント140、および少なくとも1つのデータリポジトリ145を含むことができる。NLPコンポーネント110、インタフェース115、予測コンポーネント120、コンテンツセレクタコンポーネント125、オーディオ信号ジェネレータコンポーネント130、ダイレクト・アクションAPI135、およびインタフェース管理コンポーネント140はそれぞれ、当該少なくとも1つのコンピュータ・ネットワーク165を介してデータリポジトリ145および他のコンピューティングデバイス(例えば、少なくとも1つのクライアントコンピューティングデバイス150、少なくとも1つのコンテンツプロバイダコンピューティングデバイス155、または少なくとも1つのサービスプロバイダコンピューティングデバイス160)と通信するように構成されたプログラム可能論理アレイのような少なくとも1つの処理ユニット、サーバ、仮想サーバ、回路、エンジン、エージェント、機器、または他の論理デバイスを含むことができる。ネットワーク165は、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、メトロポリタン・ネットワーク、または他の領域ネットワーク、イントラネット、衛星ネットワーク、音声またはデータモバイル電話通信ネットワーク、およびその組合せのような他のコンピュータ・ネットワークのようなコンピュータ・ネットワークを含むことができる。
【0021】
ネットワーク165は、コンテンツ配置または検索エンジン結果システムに関連付けられるか、または、サードパーティコンテンツ・アイテムをコンテンツ・アイテム配置キャンペーンの一部として含む権利があるディスプレイネットワーク、例えば、インターネット上で利用可能な情報リソースのサブセットを含むかまたは構成することができる。ネットワーク165を、クライアントコンピューティングデバイス150により提供、出力、描画、または表示できるウェブページ、ウェブサイト、ドメイン名、またはユニフォーム・リソース・ロケータのような情報リソースにアクセスするためにデータ処理システム105により使用することができる。例えば、ネットワーク165を介してクライアントコンピューティングデバイス150のユーザはデータ処理システム105、コンテンツプロバイダコンピューティングデバイス155またはサービスプロバイダコンピューティングデバイス160により提供された情報またはデータにアクセスすることができる。
【0022】
ネットワーク165は、例えばポイント・ツー・ポイントネットワーク、ブロードキャストネットワーク、広帯域ネットワーク、ローカル・エリア・ネットワーク、電気通信ネットワーク、データ通信ネットワーク、コンピュータ・ネットワーク、ATM(Asynchronous Transfer Mode)ネットワーク、SONET(Synchronous Optical Network)ネットワーク、SDH(Synchronous Digital Hierarchy)ネットワーク、ワイヤレスネットワークまたは有線ネットワーク、およびその組合せを含むことができる。ネットワーク165は赤外線チャネルまたは衛星帯域のような無線リンクを含むことができる。ネットワーク165のトポロジはバス、星形、またはリング・ネットワークトポロジを含んでもよい。ネットワーク165は高度携帯電話プロトコル(「AMPS」)、時分割多重アクセス(「TDMA」)、符号分割多重アクセス(「CDMA」)、グローバル・システム・フォー・モバイル・コミュニケーション(「GSM(登録商標)」)、汎用パケット無線サービス(「GPRS」)またはユニバーサル・モバイル電気通信システム(「UMTS」)を含む、モバイルデバイスの間で通信するために使用される任意の1つまたは複数のプロトコルを用いた携帯電話ネットワークを含むことができる。様々なタイプのデータが異なるプロトコルを介して送信されてもよく、または、同一のタイプのデータが異なるプロトコルを介して送信されてもよい。
【0023】
クライアントコンピューティングデバイス150、コンテンツプロバイダコンピューティングデバイス155、およびサービスプロバイダコンピューティングデバイス160はそれぞれ、ネットワーク165を介して互いにまたはデータ処理システム105と通信するためのプロセッサを有するコンピューティングデバイスのような少なくとも1つの論理デバイスを含むことができる。クライアントコンピューティングデバイス150、コンテンツプロバイダコンピューティングデバイス155、およびサービスプロバイダコンピューティングデバイス160はそれぞれ、少なくとも1つのデータセンタに配置された少なくとも1つのサーバ、プロセッサまたはメモリ、または複数の計算リソースまたはサーバを含むことができる。クライアントコンピューティングデバイス150、コンテンツプロバイダコンピューティングデバイス155、およびサービスプロバイダコンピューティングデバイス160はそれぞれ、デスクトップコンピュータ、ラップトップ、タブレット、携帯情報端末、スマートフォン、ポータブルコンピュータ、サーバ、シン・クライアントコンピュータ、仮想サーバ、または他のコンピューティングデバイスのような少なくとも1つのコンピューティングデバイスを含むことができる。
【0024】
クライアントコンピューティングデバイス150は少なくとも1つのセンサ151、少なくとも1つのトランスデューサ152、少なくとも1つのオーディオドライバ153、および少なくとも1つのスピーカ154を含むことができる。センサ151はマイクロフォンまたはオーディオ入力センサを含むことができる。トランスデューサ152は当該オーディオ入力を電子信号に変換することができ、または逆も成り立つ。オーディオドライバ153は、オーディオ入力を処理するかまたはオーディオ出力を提供するようにクライアントコンピューティングデバイス150の他のコンポーネントのうちセンサ151、トランスデューサ152またはオーディオドライバ153を制御するためにクライアントコンピューティングデバイス150の1つまたは複数のプロセッサにより実行されるスクリプトまたはプログラムを含むことができる。スピーカ154は当該オーディオ出力信号を送信することができる。
【0025】
クライアントコンピューティングデバイス150を、音声クエリをオーディオ入力としてクライアントコンピューティングデバイス150(センサ151を介して)に入力するおよびデータ処理システム105(またはコンテンツプロバイダコンピューティングデバイス155またはサービスプロバイダコンピューティングデバイス160)からクライアントコンピューティングデバイス150に提供できるコンピュータ生成された音声の形でオーディオ出力を受信し、スピーカ154から出力するエンド・ユーザに関連付けることができる。当該オーディオ出力は、ダイレクト・アクションAPI135から受信されたアクションデータ構造、またはコンテンツセレクタコンポーネント125により出力されたコンテンツ・アイテムに対応することができる。当該コンピュータ生成された音声は、実際の人またはコンピュータ生成された言語からの記録を含むことができる。
【0026】
コンテンツプロバイダコンピューティングデバイス155(またはデータ処理システム105またはサービスプロバイダコンピューティングデバイス160)は、クライアントコンピューティングデバイス150により表示するためのオーディオベースのコンテンツ・アイテムまたはアクションデータ構造をオーディオ出力として提供することができる。当該アクションデータ構造またはコンテンツ・アイテムは、「Is today a beach day?」という音声入力クエリに対する有機的な応答として「Today it will be sunny and 80 degrees at the beach」と述べる音声ベースのメッセージのような、商品またはサービスに対する有機的な応答または申し出を含むことができる。データ処理システム105(またはコンテンツプロバイダコンピューティングデバイス155のような他のシステム100のコンポーネント)はまた、日焼け止めを提供する音声またはテキストメッセージベースのコンテンツ・アイテムのようなコンテンツ・アイテムを応答として提供することができる。
【0027】
コンテンツプロバイダコンピューティングデバイス155またはデータリポジトリ145は、音声ベースのクエリに応答して提供できる一連のオーディオアクションデータ構造またはコンテンツ・アイテムを格納するためのメモリを含むことができる。当該アクションデータ構造およびコンテンツ・アイテムは、ネットワーク165を介して送信するためのパケット・ベースのデータ構造を含むことができる。コンテンツプロバイダコンピューティングデバイス155はまた、オーディオまたはテキストベースのコンテンツ・アイテム(または他のコンテンツ・アイテム)をデータ処理システム105に提供することができる。それらをデータリポジトリ145に格納することができる。データ処理システム105は、当該オーディオアクションデータ構造またはテキストベースのコンテンツ・アイテムを選択し、これらのクライアントコンピューティングデバイス150の1つから受信されたクエリに応答して、それらを同一のまたは異なるクライアントコンピューティングデバイス150に提供する(または提供するようにコンテンツプロバイダコンピューティングデバイス155に指示する)ことができる。当該オーディオベースのアクションデータ構造は、排他的にオーディオであることができ、または、テキスト、画像、またはビデオデータと組み合わせることができる。当該コンテンツ・アイテムは排他的にテキストであることができ、または、オーディオ、画像またはビデオデータと組み合わせることができる。
【0028】
サービスプロバイダコンピューティングデバイス160は少なくとも1つのサービスプロバイダ自然言語プロセッサ(NLP)コンポーネント161および少なくとも1つのサービスプロバイダインタフェース162を含むことができる。サービスプロバイダNLPコンポーネント161(または他のコンポーネントのようなダイレクト・アクションAPIofサービスプロバイダコンピューティングデバイス160)は、クライアントコンピューティングデバイス150(データ処理システム105を介してまたはデータ処理システム105をバイパスして)と協調して、クライアントコンピューティングデバイス150およびサービスプロバイダコンピューティングデバイス160の間で行き来するリアルタイム音声またはオーディオベースの会話(例えば、セッション)を生成することができる。例えば、サービスプロバイダインタフェース162は、データメッセージ(例えば、アクションデータ構造またはコンテンツ・アイテム)を受信し、または、データメッセージ(例えば、アクションデータ構造またはコンテンツ・アイテム)をデータ処理システム105のダイレクト・アクションAPI135に提供することができる。ダイレクト・アクションAPI135はまた、サービスプロバイダコンピューティングデバイス160からの入力と独立にまたは当該入力なしに当該アクションデータ構造を生成することができる。サービスプロバイダコンピューティングデバイス160およびコンテンツプロバイダコンピューティングデバイス155を同一のエンティティに関連付けることができる。例えば、コンテンツプロバイダコンピューティングデバイス155は、日焼け止め、ビーチタオルまたは水着のようなビーチ関連のサービスに利用可能なコンテンツ・アイテムを生成、格納、または作成でき、サービスプロバイダコンピューティングデバイス160は、クライアントコンピューティングデバイス150とのセッションを確立して、ビーチでの天気に関する音声入力クエリに応答し、ビーチに対する方向、またはビーチエリアに対する推奨を提供し、当該クエリがそこから受信された同一のクライアントコンピューティングデバイス150のインタフェース、同一のクライアントコンピューティングデバイス150の異なるインタフェース、または異なるクライアントコンピューティングデバイスのインタフェースを介して、これらのコンテンツ・アイテムをクライアントコンピューティングデバイス150のエンド・ユーザに提供することができる。データ処理システム105はまた、ダイレクト・アクションAPI135、NLPコンポーネント110または他のコンポーネントを介して、サービスプロバイダコンピューティングデバイス160を含めるかまたはバイパスすることを含めて、クライアントコンピューティングデバイスとの当該セッションを確立し、例えばビーチ関連のクエリに対する有機的な応答を提供することができる。
【0029】
データリポジトリ145は1つまたは複数のローカルまたは分散データベースを含むことができ、データベース管理システムを含むことができる。データリポジトリ145はコンピュータデータ記憶またはメモリを含むことができ、他のデータのうち1つまたは複数のパラメータ146、1つまたは複数のポリシ147、コンテンツデータ148、またはテンプレート149を格納することができる。パラメータ146、ポリシ147、およびテンプレート149はクライアントコンピューティングデバイス150およびデータ処理システム105(またはサービスプロバイダコンピューティングデバイス160)の間の音声ベースのセッションに関するルールのような情報を含むことができる。コンテンツデータ148は、オーディオ出力に対するコンテンツ・アイテムまたは関連付けられたメタデータ、ならびにクライアントコンピューティングデバイス150との1つまたは複数の通信セッションの一部でありうる入力オーディオメッセージを含むことができる。
【0030】
システム100は、音声起動されたデータ・パケット(または他のプロトコル)環境におけるアクションデータ構造およびコンテンツ・アイテムの処理を最適化することができる。例えば、データ処理システム105は、音声起動されたアシスタントサービス、音声コマンドデバイス、インテリジェント・パーソナル・アシスタント、知識ナビゲータ、イベント計画、または他のアシスタントプログラムを含むことができるかまたはその一部であることができる。データ処理システム105はアクションデータ構造の1つまたは複数のインスタンスをクライアントコンピューティングデバイス150から表示するためのオーディオ出力として提供して、入力オーディオ信号に関連するタスクを実現することができる。例えば、データ処理システムはサービスプロバイダコンピューティングデバイス160または他のサードパーティコンピューティングデバイスと通信して、とりわけ、ビーチに関する情報を有するアクションデータ構造を生成することができる。例えば、エンド・ユーザは「OK, I would like to go to the beach this weekend」という入力オーディオ信号をクライアントコンピューティングデバイス150に入力でき、アクションデータ構造は、「it will be sunny and 80 degrees at the beach on Saturday, with high tide at 3pm.」のような、ビーチエリアに対する週末の天気予報を示すことができる。
【0031】
当該アクションデータ構造は、当該入力オーディオ信号への幾つかの有機的なまたはスポンサーされない応答を含むことができる。例えば、当該アクションデータ構造はビーチの天気予報またはビーチへの方向を含むことができる。この例における当該アクションデータ構造は、直接に当該入力オーディオ信号に応答する有機的な、またはスポンサーされないコンテンツを含む。当該コンテンツ・アイテムは、当該入力オーディオ信号に応答して、ビーチの近くにあるコンビニエンスストアからの日焼け止めを購入する申し出のようなスポンサーされたまたは非有機的なコンテンツを含むことができる。本例では、当該有機的なアクションデータ構造(ビーチ予報)は当該入力オーディオ信号(ビーチに関連するクエリ)に応答し、当該コンテンツ・アイテム(日焼け止めのリマインダまたは申し出)はまた、同一の入力オーディオ信号に応答する。データ処理システム105は、システム100のパラメータ(例えば、電力利用、利用可能なディスプレイ、ディスプレイのフォーマット、メモリ要件、帯域幅利用、電力容量または入力電力(例えば、内部バッテリまたは壁出力からの電源のような外部電源)の時刻)を評価して、当該アクションデータ構造および当該コンテンツ・アイテムを同一のクライアントコンピューティングデバイス150上の異なる候補インタフェースに、または異なるクライアントコンピューティングデバイス150上の異なる候補インタフェースに提供することができる。
【0032】
データ処理システム105は、入力オーディオ信号(例えば、パケット化されたまたは他のプロトコルベースの送信を介したデータ・パケットとして)をデータ処理システム105の少なくとも1つのインタフェース115に送信しクライアントコンピューティングデバイス150のコンポーネントを駆動して(例えば、アクションデータ構造に対する)出力オーディオ信号または他の出力信号(例えば、コンテンツ・アイテム)を描画するためのアプリのような、クライアントコンピューティングデバイス150にインストールされたアプリケーション、スクリプトまたはプログラムを含むことができる。データ処理システム105はオーディオ入力信号を含むかまたは識別するデータ・パケットまたは他の信号を受信することができる。例えば、データ処理システム105は、NLPコンポーネント110を実行して当該オーディオ入力信号を受信することができる。
【0033】
NLPコンポーネント110は、オーディオ入力信号を(例えば、データリポジトリ145内の)格納された代表的な組のオーディオ波形と比較し、最も近いマッチを選択することによって、当該オーディオ入力信号を認識されたテキストに変換することができる。当該代表的な波形は多数のユーザにわたって生成され、会話サンプルで補強することができる。当該オーディオ信号を認識されたテキストに変換された後、NLPコンポーネント110は、例えばユーザにわたるトレーニングを介してまたはマニュアル仕様を通じて、データ処理システム105がサービス提供できるアクションに関連付けられる単語に当該テキストをマッチすることができる。
【0034】
当該オーディオ入力信号は、クライアントコンピューティングデバイスのセンサ151(例えば、マイクロフォン)により検出されることができる。トランスデューサ152、オーディオドライバ153、または他のコンポーネントを介して、クライアントコンピューティングデバイス150は当該オーディオ入力信号をデータ処理システム105に(例えば、ネットワーク165を介して)提供することができる。当該オーディオ入力信号を、(例えば、インタフェース115により)受信し、NLPコンポーネント110に提供し、または、データリポジトリ145にコンテンツデータ148として格納することができる。
【0035】
NLPコンポーネント110は当該入力オーディオ信号を受信または取得することができる。当該入力オーディオ信号から、NLPコンポーネント110は、少なくとも1つの要求または当該要求に対応する少なくとも1つのトリガキーワードを識別することができる。当該要求は当該入力オーディオ信号の意図または主題を示すことができる。当該トリガキーワードは行われる可能性があるアクションのタイプを示すことができる。例えば、NLPコンポーネント110は当該入力オーディオ信号を解析して、週末にビーチに行くための少なくとも1つの要求を識別することができる。当該トリガキーワードは、取るべきアクションを示す少なくとも1つの単語、フレーズ、語源または部分語、または派生物を含むことができる。例えば、当該入力オーディオ信号からのトリガキーワード「go」または「to go to」は輸送の必要性または家から離れる旅行を示すことができる。本例では、当該入力オーディオ信号(または識別された要求)は輸送の意図を直接表現しないが、当該トリガキーワードは、輸送が当該要求により示される少なくとも1つの他のアクションに対する付属的アクションであることを示す。
【0036】
予測コンポーネント120(またはデータ処理システム105の他の機構)は、当該要求または当該トリガキーワードに基づいて、当該入力オーディオ信号に関連付けられた少なくとも1つのアクションデータ構造を生成することができる。当該アクションデータ構造は、当該入力オーディオ信号の主題に関連する情報を示すことができる。当該アクションデータ構造は、当該入力オーディオ信号への有機的な応答のような1つまたは複数のアクションを含むことができる。例えば、入力オーディオ信号「OK, I would like to go to the beach this weekend」はビーチの天気予報、サーフィンレポート、または水温情報に対する関心を示す少なくとも1つの要求を含むことができ、ビーチへ持っていきたいアイテムの必要性、またはビーチへの輸送の必要性のような、少なくとも1つのトリガキーワード、例えば、ビーチへの旅行を示す「go」を含むことができる。予測コンポーネント120は、少なくとも1つのアクションデータ構造に対する主題、ビーチの天気予報の要求の指示、ならびに、ビーチで1日を過ごすことに関連するスポンサーされたコンテンツに対するクエリの指示のようなコンテンツ・アイテムに対する主題を生成または識別することができる。当該要求または当該トリガキーワードから、予測コンポーネント120(またはNLPコンポーネント110またはダイレクト・アクションAPI135のような他のシステム100のコンポーネント)は、アクションデータ構造またはコンテンツ・アイテムに対する主題を予測、推定、または決定する。この主題から、ダイレクト・アクションAPI135は、少なくとも1つのアクションデータ構造を生成でき、少なくとも1つのコンテンツプロバイダコンピューティングデバイス155と通信して少なくとも1つのコンテンツ・アイテム155を取得することができる。予測コンポーネント120は、データリポジトリ145内のパラメータ146またはポリシ147にアクセスしてアクションデータ構造またはコンテンツ・アイテムに対する要求を決定または推定することができる。例えば、パラメータ146またはポリシ147は、ビーチの週末の天気予報アクションまたは日焼け止めに対するコンテンツ・アイテムのようなビーチ訪問に関連するコンテンツ・アイテムに対する要求を
示すことができる。
【0037】
コンテンツセレクタコンポーネント125は、当該アクションデータ構造または当該コンテンツ・アイテムへの関心または要求の何れかの指示を取得することができる。例えば、予測コンポーネント120は、直接または間接に(例えば、データリポジトリ145を介して)当該アクションデータ構造またはコンテンツ・アイテムの指示をコンテンツセレクタコンポーネント125に提供することができる。コンテンツセレクタコンポーネント125はこの情報をデータリポジトリ145から取得でき、それをコンテンツデータ148の一部として格納することができる。当該アクションデータ構造の指示は、コンテンツセレクタコンポーネント125に、エンド・ユーザがビーチへの旅行に必要としうる天気予報または製品またはサービスのようなビーチエリア情報に対する必要性を知らせることができる。
【0038】
コンテンツセレクタコンポーネント125により受信された情報、例えば、ビーチへの将来の旅行の指示から、コンテンツセレクタコンポーネント125は少なくとも1つのコンテンツ・アイテムを識別することができる。当該コンテンツ・アイテムは当該入力オーディオクエリの主題に応答または関連することができる。例えば、当該コンテンツ・アイテムは、日焼け止めがあるビーチ近くの店を識別するか、またはビーチへのタクシー乗車を提供するメッセージデータを含むことができる。コンテンツセレクタコンポーネント125はデータリポジトリ145に問い合わせて、当該コンテンツ・アイテムを、例えば、コンテンツデータ148から選択または識別することができる。コンテンツセレクタコンポーネント125はまた、当該コンテンツ・アイテムをコンテンツプロバイダコンピューティングデバイス155から選択することができる。例えばデータ処理システム105から受信されたクエリに応答して、コンテンツプロバイダコンピューティングデバイス155はコンテンツ・アイテムをデータ処理システム105(またはそのコンポーネント)に、当該入力オーディオ信号を生成したクライアントコンピューティングデバイス150による最終出力のために、または異なるクライアントコンピューティングデバイス150による同一のエンド・ユーザへの出力のために、提供することができる。
【0039】
オーディオ信号ジェネレータコンポーネント130は、入力オーディオ信号に応答して、コンテンツ・アイテム(ならびにアクションデータ構造)を含む出力信号を生成または取得することができる。例えば、データ処理システム105は、オーディオ信号ジェネレータコンポーネント130を実行して、当該アクションデータ構造または当該コンテンツ・アイテムに対応する出力信号を生成または作成することができる。データ処理システム105のインタフェースコンポーネント115はコンピュータ・ネットワーク165を介して当該出力信号を含む1つまたは複数のデータ・パケットを任意のクライアントコンピューティングデバイス150に提供または送信することができる。インタフェース115は例えば、データ・パケットを用いて情報を送受信するように設計され、構成され、構築され、または動作することができる。インタフェース115は、ネットワークプロトコルのような1つまたは複数のプロトコルを用いて情報を送受信することができる。インタフェース115は、ハードウェアインタフェース、ソフトウェアインタフェース、有線インタフェース、またはワイヤレスインタフェースを含むことができる。インタフェース115は、或るフォーマットから別のフォーマットへのデータ変換またはデータ・フォーマットを促進することができる。例えば、インタフェース115は、システム100のソフトウェアコンポーネントのような、様々なコンポーネントの間で通信するための定義を含むアプリケーション・プログラミング・インタフェースを含むことができる。
【0040】
データ処理システム105は、アクションデータ構造を含む出力信号を、データリポジトリ145からまたはオーディオ信号ジェネレータコンポーネント130からクライアントコンピューティングデバイス150に提供することができる。データ処理システム105は、当該コンテンツ・アイテムを含む出力信号をデータリポジトリ145からまたはオーディオ信号ジェネレータコンポーネント130から同一のまたは異なるクライアントコンピューティングデバイス150に提供することができる。
【0041】
データ処理システム105はまた、データ・パケット送信を介して、コンテンツプロバイダコンピューティングデバイス155またはサービスプロバイダコンピューティングデバイス160に、(例えば、アクションデータ構造またはコンテンツ・アイテムに対応する)出力信号をクライアントコンピューティングデバイス150に提供するように指示することができる。当該出力信号を、取得し、生成し、1つまたは複数のデータ・パケット(または他の通信プロトコル)に変換し、または1つまたは複数のデータ・パケット(または他の通信プロトコル)としてデータ処理システム105(または他のコンピューティングデバイス)からクライアントコンピューティングデバイス150に送信することができる。
【0042】
コンテンツセレクタコンポーネント125は当該コンテンツ・アイテムまたは当該アクションデータ構造をリアルタイムコンテンツ選択プロセスの一部として選択することができる。例えば、当該アクションデータ構造を、クライアントコンピューティングデバイス150のインタフェースによる入力オーディオ信号への直接応答の会話方式でのオーディオ出力として送信するために、クライアントコンピューティングデバイス150に提供することができる。当該アクションデータ構造を識別し当該コンテンツ・アイテムをクライアントコンピューティングデバイス150に提供するためのリアルタイムコンテンツ選択プロセスは、当該入力オーディオ信号の時刻から1分以下で発生することができ、リアルタイムと考えることができる。データ処理システム105はまた、当該コンテンツ・アイテムを識別し、当該コンテンツ・アイテムを、当該入力オーディオ信号を生成したクライアントコンピューティングデバイス150の少なくとも1つのインタフェースに、または異なるクライアントコンピューティングデバイス150に提供することができる。
【0043】
例えばオーディオ信号ジェネレータコンポーネント130により取得または生成され、インタフェース115およびコンピュータ・ネットワーク165を介してクライアントコンピューティングデバイス150に送信されたアクションデータ構造(またはコンテンツ・アイテム)は、クライアントコンピューティングデバイス150に、オーディオドライバ153を実行してスピーカ154を駆動して、当該アクションデータ構造または当該コンテンツ・アイテムに対応する音波を生成させることができる。当該音波は当該アクションデータ構造またはコンテンツ・アイテムのまたは当該アクションデータ構造またはコンテンツ・アイテムに対応する単語を含むことができる。
【0044】
当該アクションデータ構造を表す音波はクライアントコンピューティングデバイス150からコンテンツ・アイテムとは別々に出力できる。例えば、当該音波は「Today it will be sunny and 80 degrees at the beach」のオーディオ出力を含むことができる。本例では、データ処理システム105は例えば、「OK, I would like to go to the beach this weekend」の入力オーディオ信号を取得する。この情報から、NLPコンポーネント110は少なくとも1つの要求または少なくとも1つのトリガキーワードを識別し、予測コンポーネント120は当該要求(複数可)またはトリガキーワード(複数可)を使用してアクションデータ構造またはコンテンツ・アイテムの要求を識別する。コンテンツセレクタコンポーネント125(または他のコンポーネント)はコンテンツ・アイテム、例えば、ビーチ近くで利用可能な日焼け止めを識別、選択、または生成することができる。ダイレクト・アクションAPI135(または他のコンポーネント)はアクションデータ構造、例えば、週末ビーチ予報を識別、選択、または生成することができる。データ処理システム105またはオーディオ信号ジェネレータコンポーネント130のようなそのコンポーネントはクライアントコンピューティングデバイス150のインタフェースにより出力するためのアクションデータ構造を提供することができる。例えば、当該アクションデータ構造に対応する音波はクライアントコンピューティングデバイス150から出力できる。データ処理システム105は同一のクライアントコンピューティングデバイス150の異なるインタフェースまたは異なるクライアントコンピューティングデバイス150のインタフェースにより出力するために当該コンテンツ・アイテムを提供することができる。
【0045】
データ処理システム105によるクライアントコンピューティングデバイス150への当該アクションデータ構造のパケット・ベースのデータ送信は、リアルタイムな人から人への会話の流れと感覚を有するデータ処理システム105およびクライアントコンピューティングデバイス150の間の通信セッションの一部であるコンピュータ・ネットワーク165を介してパケット・ベースのデータが送信されるように、「OK, I would like to go to the beach this weekend」の入力オーディオ信号への直接的またはリアルタイムな応答を含むことができる。このパケット・ベースのデータ送信の通信セッションは、またコンテンツプロバイダコンピューティングデバイス155またはサービスプロバイダコンピューティングデバイス160を含むことができる。
【0046】
コンテンツセレクタコンポーネント125は、当該入力オーディオ信号の少なくとも1つの要求または少なくとも1つのトリガキーワードに基づいて、当該コンテンツ・アイテムまたはアクションデータ構造を選択することができる。例えば、当該入力オーディオ信号「OK, I would like to go to the beach this weekend」の要求はビーチの主題、ビーチへの旅行、またはビーチへの旅行を促進するためのアイテムを示すことができる。NLPコンポーネント110または予測コンポーネント120(またはダイレクト・アクションAPI135の一部として実行される他のデータ処理システム105コンポーネント)はトリガキーワード「go」「go to」または「to go to」を識別でき、少なくとも当該トリガキーワードに部分的に基づいてビーチへの輸送要求を決定することができる。NLPコンポーネント110(または他のシステム100のコンポーネント)はまた、日焼け止めまたはビーチ傘のようなビーチ活動に関連するコンテンツ・アイテムの勧誘を決定することができる。したがって、データ処理システム105は、当該入力オーディオ信号の主要な要求または主題(ビーチのこの週末に関する情報)ではない二次要求(例えば、日焼け止めの要求)である当該入力オーディオ信号からの対話であることができる。
【0047】
当該アクションデータ構造およびコンテンツ・アイテムは当該入力オーディオ信号の主題に対応することができる。ダイレクト・アクションAPI135はプログラムまたはスクリプトを、例えばNLPコンポーネント110、予測コンポーネント120、またはコンテンツセレクタコンポーネント125から実行して、これらのアクションの1つまたは複数に対するアクションデータ構造またはコンテンツ・アイテムを識別することができる。ダイレクト・アクションAPI135はデータ処理システム105により決定されるものとして、指定されたアクションを実行してエンド・ユーザの意図を満たすことができる。その入力で指定されたアクションに依存して、ダイレクト・アクションAPI135は、ユーザ要求を満たすのに必要なパラメータを識別するコードまたはダイアログスクリプトを実行することができる。かかるコードは、例えば、ホーム・オートメーションサービスの名前のようなデータリポジトリ145内の追加の情報を検索することができ、または、クライアントコンピューティングデバイス150で描画するためのオーディオ出力を提供して、要求されたタクシーの意図した目的地のような質問をエンド・ユーザにすることができる。ダイレクト・アクションAPI135は必要なパラメータを決定し、当該情報をアクションデータ構造にパッケージ化することができ、それを次いで、コンテンツセレクタコンポーネント125のような別のコンポーネントにまたは満たすべきサービスプロバイダコンピューティングデバイス160に送信することができる。
【0048】
データ処理システム105のダイレクト・アクションAPI135は、当該要求または当該トリガキーワードに基づいて、当該アクションデータ構造を生成することができる。当該アクションデータ構造を当該入力オーディオ信号の主題に応答して生成することができる。当該アクションデータ構造は、サービスプロバイダコンピューティングデバイス160により送受信されるメッセージに含まれることができる。NLPコンポーネント110により解析されたオーディオ入力信号に基づいて、ダイレクト・アクションAPI135は、もしあれば、複数のサービスプロバイダコンピューティングデバイス160のうちどれに当該メッセージを送信すべきかを判定することができる。例えば、入力オーディオ信号が「OK, I would like to go to the beach this weekend」を含む場合、NLPコンポーネント110は当該入力オーディオ信号を解析し、トリガキーワード単語「to go to」のような要求またはトリガキーワードをタクシーの必要性の指示として識別することができる。ダイレクト・アクションAPI135は当該要求を、タクシーサービスのサービスプロバイダコンピューティングデバイス160へのメッセージとして送信するためのアクションデータ構造へパッケージ化することができる。当該メッセージはまた、コンテンツセレクタコンポーネント125に渡すことができる。当該アクションデータ構造は当該要求を完了するための情報を含むことができる。本例では、当該情報は、ピックアップ位置(例えば、家)および目的地位置(例えば、ビーチ)を含むことができる。ダイレクト・アクションAPI135は、どのフィールドを当該アクションデータ構造に含めるべきかを判定するためにテンプレート149をデータリポジトリ145から取り出すことができる。ダイレクト・アクションAPI135はコンテンツをデータリポジトリ145から取り出して、当該データ構造のフィールドに関する情報を取得することができる。ダイレクト・アクションAPI135は、当該テンプレートからのフィールドをその情報で埋めて、当該データ構造を生成することができる。ダイレクト・アクションAPI135はまた、当該フィールドを当該入力オーディオ信号からのデータで埋めることができる。テンプレート149を、サービ
スプロバイダのカテゴリに対して標準化するか、または、特定のサービスプロバイダに対して標準化することができる。例えば、乗車共有サービスプロバイダは以下の標準化されたテンプレート149を使用してデータ構造{client_device_identifier; authentication_credentials; pick_up_location; destination_location; no_passengers; service_level}を生成することができる。
【0049】
コンテンツセレクタコンポーネント125は、複数のコンテンツ選択プロセスから生ずる複数のコンテンツ・アイテムを識別、選択、または取得することができる。当該コンテンツ選択プロセスは、リアルタイムであることができ、例えば、同一の会話の一部、通信セッション、または共通の主題を含むデータ処理システム105およびクライアントコンピューティングデバイス150の間の一連の通信セッションであることができる。当該会話は例えば時間または日の期間だけ互いから分離した非対称な通信を含むことができる。当該会話または通信セッションは、第1の入力オーディオ信号に関連する最終アクションの推定されたまたは既知の結論、またはデータ処理システム105による当該会話の終了または期限切れの指示の受信まで、第1の入力オーディオ信号の受信から或る時間期間だけ継続することができる。例えば、データ処理システム105は、週末のビーチ旅行に関連する会話が、当該入力オーディオ信号の時刻または受信で開始し、週末の終了、例えば、日曜夜または月曜朝で期限切れまたは終了すると判定することができる。当該会話の動作期間中に(例えば、決定された期限切れ時刻までの当該入力オーディオ信号の受信から)クライアントコンピューティングデバイス150または別のクライアントコンピューティングデバイス150の1つまたは複数のインタフェースにより描画するためのアクションデータ構造またはコンテンツ・アイテムを提供するデータ処理システム105は、リアルタイムに動作していると考えることができる。本例では、当該コンテンツ選択プロセスおよび当該コンテンツ・アイテムおよびアクションデータ構造の描画はリアルタイムに発生する。
【0050】
インタフェース管理コンポーネント140は、当該アクションデータ構造および当該入力オーディオ信号に関連するコンテンツ・アイテムを描画するためのインタフェースをポーリングし、決定し、識別し、または選択することができる。例えば、インタフェース管理コンポーネント140は、当該入力オーディオ信号(例えば、「What is the weather at the beach today?」)を、オーディオインタフェースを介してクライアントコンピューティングデバイス150の1つに入力したエンド・ユーザに関連付けられたクライアントコンピューティングデバイス150の1つまたは複数の候補インタフェースを識別することができる。当該インタフェースは、センサ151(例えば、マイクロフォン)、スピーカ154、または或るスクリーンサイズのコンピューティングデバイスのようなハードウェアを、単体で、またはスクリプトまたはプログラム(例えば、オーディオドライバ153)ならびにアプリ、コンピュータプログラム、オンラインドキュメント(例えば、ウェブページ)インタフェースおよびその組合せと組み合わせて含むことができる。
【0051】
当該インタフェースは当該入力オーディオ信号を生成したクライアントコンピューティングデバイス150のエンド・ユーザに関連付けられたソーシャル・メディア・アカウント、テキストメッセージアプリケーション、または電子メールアカウントを含むことができる。インタフェースは、他のクライアントコンピューティングデバイス150のうち、スマートフォン、または当該スマートフォン、またはウェラブルコンピューティングデバイスにインストールされたアプリベースのメッセージングデバイスのオーディオ出力を含むことができる。当該インタフェースはまた、ディスプレイスクリーンパラメータ(例えば、サイズ、解像度)、オーディオパラメータ、モバイルデバイスパラメータ、(例えば、処理電力、バッテリ寿命、インストールされたアプリまたはプログラムの存在、またはセンサ151またはスピーカ154の機能)、コンテンツ・アイテムのテキスト、画像、またはビデオ描画に対するオンラインドキュメント上のコンテンツスロット、チャットアプリケーション、ラップトップパラメータ、スマートウォッチまたは他のウェラブルデバイスパラメータ(例えば、それらのディスプレイまたは処理能力の指示)、または仮想現実ヘッドセットパラメータを含むことができる。
【0052】
インタフェース管理コンポーネント140は、複数のインタフェースをポーリングして、候補インタフェースを識別することができる。候補インタフェースは、入力オーディオ信号に対する応答を描画する能力を有するインタフェースを含む(例えば、オーディオ出力としてのアクションデータ構造、または非オーディオフォーマットを含む様々なフォーマットで出力できるコンテンツ・アイテム)。インタフェース管理コンポーネント140は、それらが候補インタフェースである(またはでない)と判定するためのインタフェースのパラメータまたは他の機能を決定することができる。例えば、インタフェース管理コンポーネント140は、第1のクライアントコンピューティングデバイス150(例えば、スマートウォッチウェラブルデバイス)のコンテンツ・アイテムのパラメータ146に基づいて、当該スマートウォッチが当該コンテンツ・アイテムを描画するための十分なサイズまたは解像度の利用可能な視覚インタフェースを含むと判定することができる。インタフェース管理コンポーネント140はまた、当該入力オーディオ信号を生成したクライアントコンピューティングデバイス150が、スピーカ154のハードウェアおよびインストールされたプログラム、例えば、当該アクションデータ構造を描画するためのオーディオドライバまたは他のスクリプトを有すると判定することができる。
【0053】
インタフェース管理コンポーネント140は候補インタフェースに対する利用値を決定することができる。当該利用値は、候補インタフェースが入力オーディオ信号に応答して提供されたアクションデータ構造またはコンテンツ・アイテムを描画することができる(かまたはできない)と示すことができる。当該利用値は、データリポジトリ145から取得されたパラメータ146、または、帯域幅または処理の利用または要件、処理電力、電力要件、バッテリステータス、メモリ利用または能力、またはアクションデータ構造またはコンテンツ・アイテムを描画するために利用可能なインタフェースを示す他のインタフェースパラメータのような、クライアントコンピューティングデバイス150から取得された他のパラメータを含むことができる。当該バッテリステータスは、電源のタイプ(例えば、出力を介した内部バッテリまたは外部電源)、充電ステータス(例えば、現在充電しているかまたはしていない)、または残りのバッテリ電力の量を示すことができる。インタフェース管理コンポーネント140は当該バッテリステータスまたは充電ステータスに基づいてインタフェースを選択することができる。
【0054】
インタフェース管理コンポーネント140は当該利用値に基づいて当該候補インタフェースを階層またはランキングで順序付けすることができる。例えば異なる利用値(例えば、処理要件、ディスプレイスクリーンサイズ、エンド・ユーザへのアクセシビリティ)に異なる重みを与えることができる。インタフェース管理コンポーネント140は、コンテンツ・アイテム(またはアクションデータ構造)を描画するための最適な対応する候補インタフェースを決定するためのそれらの重みに基づいて当該候補インタフェースの利用値の1つまたは複数を順位付けすることができる。この階層に基づいて、インタフェース管理コンポーネント140は当該コンテンツ・アイテムを描画するための最高ランクのインタフェースを選択することができる。
【0055】
候補インタフェースに対する利用値に基づいて、インタフェース管理コンポーネント140は少なくとも1つの候補インタフェースを当該コンテンツ・アイテムに対する選択されたインタフェースとして選択することができる。当該コンテンツ・アイテムに対する選択されたインタフェースは、当該入力オーディオ信号がそこから受信された同一のインタフェース(例えば、クライアントコンピューティングデバイス150のオーディオインタフェース)または異なるインタフェース(例えば、同一のクライアントコンピューティングデバイス150のテキストメッセージベースのアプリ、または同一のクライアントコンピューティングデバイス150からアクセス可能な電子メールアカウントであることができる。
【0056】
インタフェース管理コンポーネント140は、当該入力オーディオ信号を生成したデバイスと異なるクライアントコンピューティングデバイス150のインタフェースである、当該コンテンツ・アイテムに対するインタフェースを選択することができる。例えば、データ処理システム105は当該入力オーディオ信号を第1のクライアントコンピューティングデバイス150(例えば、スマートフォン)から受信でき、スマートウォッチのディスプレイ(または当該コンテンツ・アイテムを描画するための任意の他のクライアントコンピューティングデバイス)のようなインタフェースを選択することができる。当該複数のクライアントコンピューティングデバイス150をすべて、同一のエンド・ユーザに関連付けることができる。データ処理システム105は、複数のクライアントコンピューティングデバイス150が同一のエンド・ユーザに関連付けられると、複数のクライアントコンピューティングデバイス150にわたる共通のソーシャル・メディアまたは電子メールアカウントへのユーザ・アクセスのようなエンド・ユーザからの同意とともに受信された情報に基づいて判定することができる。
【0057】
インタフェース管理コンポーネント140はまた、インタフェースが利用不可能であると判定することができる。例えばインタフェース管理コンポーネント140はインタフェースをポーリングして、当該インタフェースに関連付けられたクライアントコンピューティングデバイス150のバッテリステータスが低いか、または、10%のような閾値レベル未満であると判定することができる。あるいは、インタフェース管理コンポーネント140は、当該インタフェースに関連付けられたクライアントコンピューティングデバイス150が当該コンテンツ・アイテムを描画するための十分なディスプレイスクリーンサイズまたは処理電力が足りないこと、または、クライアントコンピューティングデバイスが現在別のアプリケーションを実行して、例えばネットワーク165を介してコンテンツをストリーミングしているので当該プロセッサ利用率が高すぎると判定することができる。これらのおよび他の例では、インタフェース管理コンポーネント140は、当該インタフェースが利用不可能であると判定し、当該コンテンツ・アイテムまたは当該アクションデータ構造を描画するための候補として当該インタフェースを排除することができる。
【0058】
したがって、インタフェース管理コンポーネント140は、第1のクライアントコンピューティングデバイス150によりアクセス可能な候補インタフェースがエンド・ユーザのアカウントにリンクされ、第2のクライアントコンピューティングデバイス150によりアクセス可能な第2の候補インタフェースも同一のアカウントにリンクされると判定することができる。例えば、両方のクライアントコンピューティングデバイス150は同一のソーシャル・メディア・アカウントに、例えば、各クライアントコンピューティングデバイス150でのアプリまたはスクリプトのインストールを介してアクセスすることができる。インタフェース管理コンポーネント140はまた、複数のインタフェースは同一のアカウントに対応し、複数の異なるコンテンツ・アイテムを当該共通のアカウントに対応する当該複数のインタフェースに提供できると判定することができる。例えば、データ処理システム105は、エンド・ユーザの同意により、エンド・ユーザが異なるクライアントコンピューティングデバイス150からアカウントにアクセスしたと判定することができる。これらの複数のインタフェースは、同一のインタフェースの別々のインスタンス(例えば、異なるクライアントコンピューティングデバイス150にインストールされた同一のアプリ)または複数のクライアントコンピューティングデバイス150からアクセス可能な、両方とも共通の電子メールアドレスアカウントにリンクされた異なるソーシャル・メディア・アカウントに対する異なるアプリのような異なるインタフェースであることができる。
【0059】
インタフェース管理コンポーネント140はまた、候補インタフェースに関連付けられたクライアントコンピューティングデバイス150の間の距離を決定または推定することができる。例えば、データ処理システム105は、ユーザ同意により、当該入力オーディオ信号がスマートフォンまたは仮想現実ヘッドセットのコンピューティングデバイス150から生じ、エンド・ユーザがアクティブなスマートウォッチクライアントコンピューティングデバイス150に関連付けられるという指示を取得することができる。この情報から、当該インタフェース管理コンポーネントは、当該スマートウォッチがアクティブである、例えば、エンド・ユーザが当該入力オーディオ信号を当該スマートフォンに入力したときエンド・ユーザにより着られていると判定でき、その結果、当該2つのクライアントコンピューティングデバイス150が互いの閾値距離内(例えば、1メートル、2メートル、3メートル、4メートル、または7メートル内、または音声範囲または視覚範囲内)にある。データ処理システム105はまた、エンド・ユーザの同意により、入力オーディオ信号のソースであるスマートフォンの位置を決定でき、またエンド・ユーザに関連付けられたラップトップアカウントが現在アクティブであると判定することができる。例えば、当該ラップトップは当該ユーザが当該ラップトップで現在アクティブであると示すソーシャル・メディア・アカウントにサインインすることができる。本例ではデータ処理システム105は、エンド・ユーザが当該スマートフォンの閾値距離および当該ラップトップの閾値距離内にあり、その結果、当該ラップトップは候補インタフェースを介して当該コンテンツ・アイテムを描画するための適切な選択であることができると判定することができる。
【0060】
インタフェース管理コンポーネント140は、当該入力オーディオ信号を受信するコンピューティングデバイス150の閾値距離内にある1つまたは複数の他のコンピューティングデバイス150を識別し、次いでコンピューティングデバイス150の閾値距離内にあるコンピューティングデバイス150に関連付けられた候補インタフェースをポーリングすることができる。インタフェース管理コンポーネント140を、当該入力オーディオ信号を受信するコンピューティングデバイス150の閾値距離内にあるコンピューティングデバイス150を識別するための1つまたは複数の近接性検出技術で構成することができる。近接性検出技術は、例えば、非可聴音波(Sub-audiable Wave)技術、WIFIベースの技術、Bluetooth(登録商標)ベースの技術、マッチング入力オーディオ信号ベースの技術、またはトークンベースの技術を含むことができる。WIFI(またはWi-Fi)は、標準に基づくコンピューティングデバイスとのワイヤレスローカル・エリア・ネットワーキングのための技術を指すことができる。
【0061】
例えば、エンド・ユーザの同意によりインタフェース管理コンポーネント140は、当該入力オーディオ信号を受信する第1のコンピューティングデバイスに、閾値距離内の他のコンピューティングデバイスを識別するための非可聴音波を送信するように指示することができる。非可聴音波は、人間の耳により認識できず、または容易に認識できない音響またはオーディオ送信を指すことができる。例えば、当該非可聴音波は、20Hzより低い周波数である音波のような超低音を含むことができる。当該非可聴音波は、20、000Hzより大きく最大1ギガヘルツ、2ギガヘルツ、またはそれ以上のような人間の耳が聴ける上限より高い周波数の音波のような超音波を含むことができる。第2のコンピューティングデバイスが当該非可聴音波(または超音波)を検出できる場合、第2のコンピューティングデバイスは応答して第2の非可聴音波(または超音波)を送信することができる。第2の非可聴音波は、識別子または他のデータを符号化して、第2のコンピューティングデバイスを示すかまたは識別することができる。第1のコンピューティングデバイスは次いで、第1のおよび第2のコンピューティングデバイスがサブ可聴音波の互いからの送受信に成功することができたので、第1のおよび第2のコンピューティングデバイスが閾値距離内にあると判定するために、当該応答を第2のコンピューティングデバイスから受信することができる。例えば、第1のコンピューティングデバイスは、第2の非可聴音波を復号化して、第2のコンピューティングデバイスの識別子を抽出することができる。第1のコンピューティングデバイスは、データ処理システム105に問い合わせて、コンテンツまたは通知の第2のコンピューティングデバイスへの送信を促進するための第2のコンピューティングデバイスに関連付けられた情報またはプロフィール情報を取得することができる。
【0062】
幾つかのケースでは、第3のコンピューティングデバイスは、第1のコンピューティングデバイスにより送信された非可聴音波を受信してもよい。第3のコンピューティングデバイスは、第3の識別子で符号化された第3の非可聴音波で当該非可聴音波に応答することができる。第1のコンピューティングデバイスは第3のコンピューティングデバイスが第1のコンピューティングデバイスの範囲内にあると判定するために、第3のサブ可聴を受信することができる。
【0063】
幾つかのケースでは、第1のコンピューティングデバイスはトークンを有する非可聴音波(または超音波)を送信することができる。当該トークンは一意な識別子を含むことができる。当該トークンを、ハッシュ関数に基づいて、例えばn個のタプルを用いて生成することができる。送信される当該波に対応する現在のタイムスタンプ、デバイス識別子、インターネットプロトコルアドレス、またはデータ処理システムが当該複数のコンピューティングデバイスが閾値距離内に配置されていると判定することを促進するための一意な識別子またはトークンをもたらしうる他のパラメータまたは値のような1つまたは複数の値に基づいて、当該トークンを生成することができる。第1のコンピューティングデバイスは、当該トークンでの当該非可聴音波の送信に対応する第1のタイムスタンプを記録することができる。第2のコンピューティングデバイスは当該送信されたサブ可聴信号を検出し、当該非可聴音波の検出に対応する第2のタイムスタンプを記録することができる。第1のコンピューティングデバイスは、ネットワーク165を介して、第1のタイムスタンプおよび当該トークンの指示をデータ処理システム105(例えば、インタフェース管理コンポーネント140)に送信することができる。第2のコンピューティングデバイスは当該非可聴音波を受信し、当該トークンを抽出するための当該波を復号することができる。当該トークンを識別すると、第2のコンピューティングデバイスは、データ処理システム105に、当該トークンおよび(例えば、センサ151を介した)検出または当該非可聴音波の受信に対応する第2のタイムスタンプを送信することができる。
【0064】
データ処理システム105(例えば、インタフェース管理コンポーネント140)は、第1のタイムスタンプおよび当該トークンを第1のコンピューティングデバイスから受信でき、第2のタイムスタンプおよび当該トークンを第2のコンピューティングデバイスから受信することができる。データ処理システム105は、第1のコンピューティングデバイスから受信されたトークンを第2のコンピューティングデバイスから受信されたトークンとマッチすることができる。なぜならそれらが同一のトークンでありうるからである。当該トークンのマッチに応答して、データ処理システム105は、当該2つのコンピューティングデバイスの間の距離を決定するために第1のおよび第2のタイムスタンプを取り出すことができる。
【0065】
例えば、データ処理システム105(例えば、インタフェース管理コンポーネント140を介して)は第2のタイムスタンプおよび第1のタイムスタンプの間の差異を決定することができる。データ処理システム105は、当該差異に基づいて、第1のコンピューティングデバイスおよび第2のコンピューティングデバイスの間の距離を決定することができる。例えば、当該差異は当該サブ可聴送信が通過する距離量に対応することができる。当該サブ可聴送信は、おおよそ毎秒340.29メートルでありうる音速で通過することができる。第1のタイムスタンプおよび第2のタイムスタンプの間の差異が0.01秒である場合、第1のコンピューティングデバイスおよび第2のコンピューティングデバイスはおおよそ(例えば、プラスマイナス10%)3.4メートルだけ分かれている。別の例では、第1のタイムスタンプおよび第2のタイムスタンプの間の差異が.001秒である場合、第1のコンピューティングデバイスおよび第2のコンピューティングデバイスはおおよそ0.34メートルだけ分かれている。したがって、データ処理システム105は、当該コンピューティングデバイスの間の距離を決定するために、当該非可聴音波の速度(例えば、音速)に当該時間差異を乗ずることができる。データ処理システム105は、第2のコンピューティングデバイスが第1のコンピューティングデバイスの閾値距離内にあると判定するために、当該決定された距離を閾値距離(例えば、1メートル、2メートル、3メートル、4メートル、5メートル、7メートル、またはそれ以上)と比較することができる。
【0066】
インタフェース管理コンポーネント140は、ワイヤレス信号を利用する近接性検出技術を使用することができる。例えば、インタフェース管理コンポーネント140は、ワイヤレス信号(例えば、無線周波数信号、Bluetooth(登録商標)信号、WIFI信号、ビーコン、近接場通信信号、または低電力Bluetooth(登録商標)信号)を送信するように第1のコンピューティングデバイスに指示することができる。当該信号を受信するブロードキャストの範囲内のデバイスは第1のコンピューティングデバイスに応答するか、または、当該信号の受信を示す指示をインタフェース管理コンポーネント140に送信することができる。例えば、第2のコンピューティングデバイスは、第2のコンピューティングデバイスの識別子を含む第2の信号をブロードキャストでき、第1のコンピューティングデバイスは、第2の信号を受信し、第2のコンピューティングデバイスの識別子を抽出して、第2のコンピューティングデバイスが閾値距離内にあると当該成功した送信に基づいて判定することができる。別の例では、第2のコンピューティングデバイスは、第2のコンピューティングデバイスおよび第1のコンピューティングデバイスの間のおおよその距離を決定するために、当該ブロードキャスト信号の電力レベルを決定することができる。例えば、当該ブロードキャスト信号の電力レベルは当該信号が伝播する距離に基づいて消失することができる。当該ブロードキャスト信号の電力レベルは、おおよそ第1のコンピューティングデバイスの送信器および第2のコンピューティングデバイスの受信器の間の距離の二乗に反比例する割合で消失することができる(例えば、受信された電力=送信された電力*(1/(4*pi*距離^2)))。第2のコンピューティングデバイスは当該信号の受信された電力レベルを検出でき、当該受信された電力レベルの指示を第1のコンピューティングデバイスに提供でき、またはデータ処理システム105(例えば、インタフェース管理コンポーネント140)は、第1のコンピューティングデバイスおよび第2のコンピューティングデバイスの間の距離を決定するために、当該受信された信号電力レベルを当該送信された電力レベルと比較することができる。
【0067】
データ処理システム105は(例えば、インタフェース管理コンポーネント140を介して)、第1のコンピューティングデバイスおよび第2のコンピューティングデバイスの両方が同一の入力オーディオ信号を検出したことに基づいて、第1のコンピューティングデバイスおよび第2のコンピューティングデバイスが閾値距離内にあると判定することができる。例えば、第1のコンピューティングデバイスの1のマイクロフォンは入力オーディオ信号を検出でき、第2のコンピューティングデバイスの第2のマイクロフォンは同一の入力オーディオ信号をおおよそ同時に検出することができる(例えば、時間の差異は当該入力オーディオ信号のソースおよび第1のおよび第2のコンピューティングデバイスの間の各距離における差異に起因しうる)。第1のコンピューティングデバイスは第1のマイクロフォンにより検出された入力オーディオ信号をデータ処理システム105に提供でき、第2のコンピューティングデバイスは第2のマイクロフォンにより検出された入力オーディオ信号をデータ処理システム105に提供することができる。データ処理システム105は次いで、第1のコンピューティングデバイスおよび第2のコンピューティングデバイスの両方が同一の入力オーディオ信号をおおよそ同時に検出したと判定することができる。データ処理システム105はさらに、それぞれ、第1のマイクロフォンおよび第2のマイクロフォンによる入力オーディオ信号の検出に対応する各タイムスタンプに基づいて、第1のおよび第2のコンピューティングデバイスが閾値距離内にあると判定することができる。
【0068】
異なるコンピューティングデバイスにより検出された入力オーディオ信号の間のマッチを識別することで、データ処理システム105は当該異なるコンピューティングデバイスが互いに対して相対的に近いと判定することができる。なぜならば、それらの各マイクロフォンが同一の入力オーディオ信号を検出できたからである。マッチを検出することは、音響シグネチャのマッチング、オーディオ信号のフーリエ変換のマッチング、または会話テキスト技術を用いた入力オーディオ信号からテキストへの変換および当該テキストのマッチングを含むことができる。データ処理システム105は、当該頻度が実質的にマッチングする(例えば、99%マッチング、98%マッチング、95%マッチング、90%マッチング、85%マッチング)場合または当該テキストが実質的にマッチングする(例えば、99%マッチング、98%マッチング、95%マッチング、90%マッチング、または85%マッチング)場合のマッチを決定することができる。
【0069】
インタフェース管理コンポーネント140は、1つまたは複数の近接性検出技術を使用して、当該入力オーディオ信号を受信する第1のコンピューティングデバイスの閾値距離内の1つまたは複数のコンピューティングデバイスを識別することができる。例えば、インタフェース管理コンポーネント140は、第1の近接性検出技術を使用して、第1のコンピューティングデバイスからの閾値距離内の第2のコンピューティングデバイスを識別することができる。インタフェース管理コンポーネント140は、第2の近接性検出技術を使用して、第1のコンピューティングデバイスからの閾値距離内の第3のコンピューティングデバイスを識別することができる。インタフェース管理コンポーネント140は、第3の近接性検出技術を使用して第1のコンピューティングデバイスからの閾値距離内の第4のコンピューティングデバイスを識別することができる。第2の、第3のおよび第4のコンピューティングデバイスの各々は各候補インタフェースを含むことができる。データ処理システム105は当該各候補インタフェースをポーリングして、当該候補インタフェースの各々に対するリソース利用値を識別し、当該候補インタフェースの1つを当該各リソース利用値の比較に基づいて選択することができる。例えば、当該リソース利用値はオーディオ出力が当該インタフェースを介して送信されている(例えば、オーディオを再生している)かどうかを示すことができる。当該候補インタフェースの何れもオーディオ出力を再生していない場合、データ処理システム105はオーディオ出力に対して構成された当該候補インタフェースを選択することができる。
【0070】
オーディオ出力に対して構成された複数の利用可能なインタフェースがある場合、データ処理システム105は、ポリシまたはヒューリスティックを使用して、オーディオ出力に対する当該インタフェースの1つまたは複数を選択することができる。例えば、データ処理システム105は、オーディオ・コンテンツを再生することを指示する第1のコンピューティングデバイスに最も近いオーディオインタフェースを有するコンピューティングデバイスを選択することができる。データ処理システム105は、アクティブにエンド・ユーザにより使用されているコンピューティングデバイスに対応するオーディオインタフェースを選択することができる。データ処理システム105は、エンド・ユーザにより直近に使用されたコンピューティングデバイスに対応するオーディオインタフェースを選択することができる。データ処理システム105は、最大量のバッテリ残量を有するコンピューティングデバイス、または電源に接続されているコンピューティングデバイスに対応するオーディオインタフェースを選択することができる。
【0071】
幾つかのケースでは、インタフェース管理コンポーネント140は、メモリ(例えば、データリポジトリ145)から、当該コンピューティングデバイスの閾値距離内の複数のコンピューティングデバイスを示す近接性情報を取り出す。例えば、データ処理システム105は、以前に当該複数のコンピューティングデバイスを識別し、当該複数のコンピューティングデバイスに対応する当該候補インタフェースをポーリングし、当該情報をデータリポジトリ145に格納しているかもしれない。例えば、当該複数のコンピューティングデバイス150の1つまたは複数は、一般に動かされない静止しているまたは固定されたコンピューティングデバイス(例えば、壁に取り付けられたテレビ、デスクトップコンピューティングデバイス、ホームスピーカ、またはサラウンド・サウンドスピーカシステム)であってもよい。したがって、データ処理システム105は当該コンピューティングデバイスに関する情報の少なくとも幾つかをメモリから取り出してもよい。データ処理システム105は次いで、現在のまたは更新されたリソース利用値を決定するために当該候補インタフェースをポーリングすることができる。したがって、データ処理システム105は、距離情報を既に有するかもしれず、または1つまたは複数のコンピューティングデバイスが当該入力オーディオ信号を受信する第1のコンピューティングデバイスの範囲内にあると以前に判定したかもしれず、追加のリソース利用を減らすかまたは当該デバイスを識別するステップをスキップすることで遅延し候補インタフェースをポーリングすることに進んでもよい。
【0072】
データ処理システム105はコンピューティングデバイスが閾値距離内にあるかどうかを判定するために、漸進的によりリソース集約的となる近接性検出技術の階層を使用することができる。例えば、データ処理システム105は、当該複数のコンピューティングデバイスが同一のネットワーク上にあるかどうかを判定するために、WIFIまたはインターネットプロトコルアドレスベースの技術を最初に使用することができる。当該コンピューティングデバイスが異なるIPアドレスに関連付けられた別々のWIFIネットワーク上にある場合、データ処理システム105は当該2つのデバイスが当該閾値距離内にないと判定することができる。しかし、データ処理システム105が、当該2つのコンピューティングデバイスが同一のWIFIネットワーク上にあると判定した場合、データ処理システムは、当該2つのコンピューティングデバイスが互いのBluetooth(登録商標)範囲内にあるかどうかを判定するために、Bluetooth(登録商標)ブロードキャストまたはビーコンの使用に進むことができる。データ処理システム105が、当該2つのデバイスがBluetooth(登録商標)範囲内にあると判定した場合、データ処理システム105は、当該コンピューティングデバイスが当該閾値距離内にあるかどうかを判定するために、サブ可聴音波送信するように第1のコンピューティングデバイスに指示することに進むことができる。したがって、近接性検出技術の階層を利用することで、データ処理システム105は、当該閾値距離の外にあるデバイスをフィルタして除外するより高速または低速なリソース集約的近接性検出技術を用いることでリソース利用を減らし、遅延を減らし、次いで広い近接性チェックを通すコンピューティングデバイスに対してより多くのリソースを利用するより粒度の細かい近接性検出技術に進むことができる。
【0073】
幾つかのケースでは、データ処理システム105は、当該入力オーディオ信号を受信する第1のコンピューティングデバイスの閾値距離内にある第2の候補インタフェースを有する第2のコンピューティングデバイスを識別することができる。データ処理システム105は、第2のリソース利用値を決定するために第2のコンピューティングデバイスで実行されているアプリケーション・プログラミング・インタフェース(「API」)を問い合わせることができる。例えば、第2のコンピューティングデバイスは、コンテンツの提示に関連付けられたオーディオ出力、ビデオ出力、ボリューム・レベル、または他の情報を制御または監視するAPIを含むことができる。当該APIは、オーディオが再生されている現在のボリューム・レベル、当該オーディオ・コンテンツの期間、オーディオ・コンテンツのタイプ(例えば、音楽、テレビ、ポッドキャスト、オーディオブック、コマーシャル、オーディオ・コンテンツが再生されているボリューム・レベルを示す第2の利用値を示すことによって、クエリに応答することができる。
【0074】
インタフェース管理コンポーネント140は、1つまたは複数の技術、ポリシまたはヒューリスティックを使用して、複数の候補インタフェースからインタフェースを選択し、コンテンツ・アイテムを選択されたインタフェースと互換なモダリティに変換し、次いで当該選択されたインタフェースを介して提示するための変換されたコンテンツ・アイテムを送信することができる。例えば、データ処理システム105は、インタフェースを当該候補インタフェースから、センサ利用値のようなリソース利用値に基づいて選択することができる。当該センサは当該候補インタフェースに対応するコンピューティングデバイスのマイクロフォンを指すことができる。マイクロフォンは、オーディオが当該コンピューティングデバイスの近くで再生されていないこと、およびエンド・ユーザまたは他のユーザが当該コンピューティングデバイスの近くで話していないことを示す、低いレベルの周辺の音を検出してもよい。データ処理システム105は、マイクロフォンが低いセンサ利用値を有するので、当該インタフェースからのオーディオファイルの再生が冗長でないかまたは他のオーディオ・コンテンツの複製物でないかもしれないので、当該インタフェースを選択することを決定することができる。
【0075】
別の例では、センサ利用は当該コンピューティングデバイスのスピーカを指すことができる。データ処理システム105はスピーカが使用されていないと判定し、それにより低いセンサ利用値を示すことができる。したがって、データ処理システム105は、スピーカを、コンテンツ・アイテムを提供するためのインタフェースとして選択することができる。
【0076】
別の例では、センサ利用はコンピューティングデバイスの温度を指すことができる。例えば、当該コンピューティングデバイスのプロセッサが閾値上の温度で実行されている場合、データ処理システム105は、コンピューティングデバイスがプロセッサ集約的タスクが実施していると判定してもよく、当該コンピューティングデバイスまたは当該コンピューティングデバイスのインタフェースを利用しないと決定してもよい。したがって、データ処理システム105は低い温度を有する閾値距離内の別のコンピューティングデバイスのインタフェースを選択することができる。
【0077】
インタフェース管理コンポーネント140は、選択されたインタフェースがコンテンツ・アイテムに対してより効率的であると示す少なくとも1つの利用値に基づいて、当該コンテンツ・アイテムに対するインタフェースを選択することができる。例えば、当該コンテンツ・アイテムがより小さくより少ないリソースで送信できるので、候補インタフェースから、スマートウォッチで当該コンテンツ・アイテムを描画するためのインタフェースは最小の帯域幅を使用する。あるいは、インタフェース管理コンポーネント140は、当該インタフェースによる当該コンテンツ・アイテムの描画が当該対応するクライアントコンピューティングデバイス150のバッテリ電力を排出しないように、当該コンテンツ・アイテムを描画するために選択された候補インタフェースが現在充電している(例えば、プラグインされている)と判定することができる。別の例では、インタフェース管理コンポーネント140は、現在別の動作より少ない処理動作を実施している候補インタフェース、現在ビデオコンテンツをネットワーク165からストリーミングしている例えば異なるクライアントコンピューティングデバイス150の選択されていないインタフェースを選択でき、したがって遅延なしに当該コンテンツ・アイテムを描画するのにはあまり利用可能でない。
【0078】
インタフェース管理コンポーネント140(または他のデータ処理システム105コンポーネント)は、当該候補インタフェースと互換なモダリティで配送するためにコンテンツ・アイテムを変換することができる。例えば、当該候補インタフェースがスマートウォッチ、スマートフォン、またはタブレットコンピューティングデバイスのディスプレイである場合、インタフェース管理コンポーネント140は、当該インタフェースに関連付けられた当該ディスプレイスクリーンの次元が与えられた場合に、適切な視覚ディスプレイに対する当該コンテンツ・アイテムのサイズを決定することができる。インタフェース管理コンポーネント140はまた、当該コンテンツ・アイテムを、当該選択されたインタフェースに関連付けられたクライアントコンピューティングデバイス150に送信するための専有または業界標準フォーマットを含む、パケットまたは他のプロトコルベースのフォーマットに変換することができる。当該コンテンツ・アイテムに対するインタフェース管理コンポーネント140により選択された当該インタフェースは、エンド・ユーザにより複数のクライアントコンピューティングデバイス150からアクセス可能なインタフェースを含むことができる。例えば、当該インタフェースは、エンド・ユーザが当該入力オーディオ信号を生成したクライアントコンピューティングデバイス150(例えば、スマートフォン)ならびにタブレットまたはデスクトップコンピュータまたは他のモバイルコンピューティングデバイスのような他のクライアントコンピューティングデバイスを介してアクセスできるソーシャル・メディア・アカウントであることができるかまたはそれを含むことができる。
【0079】
インタフェース管理コンポーネント140はまた、当該アクションデータ構造に対する少なくとも1つの候補インタフェースを選択することができる。このインタフェースは、当該入力オーディオ信号がそこから取得された同一のインタフェース、例えば、クライアントコンピューティングデバイス150で実行された音声起動されたアシスタントサービスであることができる。これは、同一のインタフェースまたは当該コンテンツ・アイテムに対して選択されたインタフェース管理コンポーネント140と異なるインタフェースであることができる。インタフェース管理コンポーネント140(または他のデータ処理システム105コンポーネント)は、オーディオ出力として描画するための当該入力オーディオ信号を生成した同一のクライアントコンピューティングデバイス150に、当該アシスタントサービスの一部として当該アクションデータ構造を提供することができる。インタフェース管理コンポーネント140はまた、当該選択されたインタフェースにより描画するのに適した任意の変換されたモダリティで、当該コンテンツ・アイテムを当該コンテンツ・アイテムに対する当該選択されたインタフェースに送信または提供することができる。
【0080】
したがって、インタフェース管理コンポーネント140は、同一のクライアントコンピューティングデバイス150により受信された当該入力オーディオ信号に応答して、クライアントコンピューティングデバイス150のインタフェースにより描画するためのオーディオ出力として当該アクションデータ構造を提供することができる。インタフェース管理コンポーネント140はまた、同一のクライアントコンピューティングデバイス150または同一のエンド・ユーザに関連付けられた異なるクライアントコンピューティングデバイス150の異なるインタフェースにより描画するための当該コンテンツ・アイテムを提供することができる。例えば、アクションデータ構造、例えば、「it will be sunny and 80 degrees at the beach on Saturday」は、クライアントコンピューティングデバイスによるオーディオ描画をクライアントコンピューティングデバイス150で部分的に実行されているアシスタントプログラムインタフェースの一部として提供することができ、「sunscreen is available from the convenience store near the beach」を示すコンテンツ・アイテム、例えば、テキスト、オーディオ、または組合せコンテンツ・アイテムを、エンド・ユーザに関連付けられた同一のまたは異なるクライアントコンピューティングデバイス150によりアクセス可能な電子メールまたはテキストメッセージのような、同一のまたは異なるコンピューティングデバイス150のインタフェースにより描画するために、提供することができる。
【0081】
当該コンテンツ・アイテムを当該アクションデータ構造から分離し、当該コンテンツ・アイテムを、例えば、オーディオメッセージではなくテキストメッセージとして送信することで、例えば、テキストメッセージデータ送信がオーディオメッセージデータ送信よりあまり計算集約的でないので、当該コンテンツ・アイテムにアクセスするクライアントコンピューティングデバイス150に対する削減された処理電力をもたらしうる。この分離はまた、当該コンテンツ・アイテムを描画するために使用される電力利用、メモリ記憶、または送信帯域幅を減らすことができる。これは、システム100ならびにクライアントコンピューティングデバイス150およびデータ処理システム105のようなデバイスの増大された処理電力、および帯域幅効率をもたらす。これは、これらのトランザクションを処理する当該コンピューティングデバイスの効率を増やし、当該コンテンツ・アイテムが描画できる速度を増やす。データ処理システム105は、何千、何万またはそれ以上の入力オーディオ信号を同時に処理でき、その結果、当該帯域幅、電力、および処理節約は大幅であり、単に増分的または偶発的なものではない。
【0082】
インタフェース管理コンポーネント140は、クライアントコンピューティングデバイス150へのアクションデータ構造の配送に続いて、コンテンツ・アイテムを当該アクションデータ構造と同じクライアントコンピューティングデバイス150(または異なるデバイス)に提供または配送することができる。例えば、当該コンテンツ・アイテムを、当該アクションデータ構造のオーディオ出力描画の完了時に、選択されたインタフェースを介した描画のために提供することができる。インタフェース管理コンポーネント140はまた、当該アクションデータ構造のクライアントコンピューティングデバイス150への提供と並行して、当該コンテンツ・アイテムを選択されたインタフェースに提供することができる。インタフェース管理コンポーネント140は、NLPコンポーネント110による入力オーディオ信号の受信からの所定の時間期間内に当該選択されたインタフェースを介して配送するためのコンテンツ・アイテムを提供することができる。当該時間期間は、例えば、セッションの会話のアクティブな長さにおける任意の時間であることができる。例えば、入力オーディオ信号が「I would like to go to the beach this weekend」である場合、当該所定の時間期間は、週末の終わりを通じた当該入力オーディオ信号の受信からの任意の時間、例えば、当該会話のアクティブな期間であることができる。当該所定の時間期間はまた、この描画の5分、1時間または1日以内のような、クライアントコンピューティングデバイス150によるオーディオ出力として当該アクションデータ構造の描画からトリガされた時間であることができる。
【0083】
インタフェース管理コンポーネント140は、コンテンツ・アイテムの存在の指示を有するアクションデータ構造をクライアントコンピューティングデバイス150に提供することができる。例えば、データ処理システム105は、クライアントコンピューティングデバイス150でオーディオ出力「it will be sunny and 80 degrees at the beach on Saturday, check your email for more information」を提供するように描画するアクションデータ構造を提供することができる。フレーズ「check your email for more information」は、例えば、データ処理システム105によりインタフェース(例えば、電子メール)に提供される、日焼け止めに関するコンテンツ・アイテムの存在を示すことができる。本例では、スポンサーされたコンテンツを、コンテンツ・アイテムとして電子メール(または他の)インタフェースに提供でき、天気のような有機的なコンテンツをアクションデータ構造としてオーディオ出力に提供することができる。
【0084】
データ処理システム105はまた、当該コンテンツ・アイテムを取得することに対するユーザの興味を決定するために当該ユーザに問い合わせるプロンプトをアクションデータ構造に提供することができる。例えば、当該アクションデータ構造は「it will be sunny and 80 degrees at the beach on Saturday, would you like to hear about some services to assist with your trip?」を示すことができる。データ処理システム105は、プロンプト「would you like to hear about some services to assist with your trip?」に応答して「sure」のような別のオーディオ入力信号をクライアントコンピューティングデバイス150から受信することができる。NLPコンポーネント110は、この応答、例えば、「sure」を解析して、それをクライアントコンピューティングデバイス150によるコンテンツ・アイテムのオーディオ描画に対する認証として解釈することができる。応答して、データ処理システム105は、当該応答「sure」が発生した同一のクライアントコンピューティングデバイス150によるオーディオ描画のために当該コンテンツ・アイテムを提供することができる。
【0085】
データ処理システム105は当該アクションデータ構造に関連付けられたコンテンツ・アイテムの送信を遅延して、処理の利用を最適化することができる。例えば、データ処理システム105は、リアルタイムで入力オーディオ信号の受信に応答してクライアントコンピューティングデバイスによるオーディオ出力として、例えば、会話方式で描画するために当該アクションデータ構造を提供し、コンテンツ・アイテム送信をデータセンタ利用のオフピークまたは非ピークの期間まで遅延することができる、これはピーク帯域幅利用、熱出力または冷却要件を減らすことで当該データセンタのより効率的な利用をもたらす。データ処理システム105はまた、車サービスのオーダのような、当該コンテンツ・アイテムに関連付けられた変換または他の活動を、当該アクションデータ構造または当該コンテンツ・アイテムへの応答に応答して、データ処理システム105を含むネットワーク165またはデータセンタのデータセンタ利用率または帯域幅メトリックまたは要件に基づいて開始することができる。
【0086】
当該選択されたインタフェースを介して描画されたコンテンツ・アイテムのクリックのような、コンテンツ・アイテムまたは後続のアクションに対するアクションデータ構造への応答に基づいて、データ処理システム105は変換を識別するか、または変換またはアクションを開始することができる。データ処理システム105のプロセッサは、ダイレクト・アクションAPI135を起動して、エンド・ユーザをビーチに行き来させるカーシェアサービスからの車のオーダのような変換アクションを促進するスクリプトを実行することができる。ダイレクト・アクションAPI135は、データリポジトリ145からのコンテンツデータ148(またはパラメータ146またはポリシ147)、ならびに位置、時間、ユーザアカウント、物流またはカーシェアサービスから車を予約するための他の情報を決定するためにエンド・ユーザの同意によりクライアントコンピューティングデバイス150から受信されたデータを取得することができる。ダイレクト・アクションAPI135を用いて、データ処理システム105はまた、サービスプロバイダコンピューティングデバイス160と通信して、この例ではカーシェアのピックアップ予約を行うことによって当該変換を完了することができる。
【0087】
図2は、音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のための流れ
図200を示す。データ処理システム105は入力オーディオ信号205、例えば、「OK, I would like to go to the beach this weekend」を受信することができる。応答して、データ処理システムは少なくとも1つのアクションデータ構造210および少なくとも1つのコンテンツ・アイテム215を生成する。アクションデータ構造205は、「It will be sunny and 80 degrees at the beach this weekend」または「It will be sunny and 80 degrees at the beach this weekend」と述べるオーディオ描画応答のような、有機的なまたはスポンサーされないコンテンツを含むことができる。データ処理システム105は、クライアントコンピューティングデバイス150の候補インタフェースにより、例えば、リアルタイムまたは会話方式でデジタルまたは会話アシスタントプラットフォームの一部として描画するための、アクションデータ構造210を入力オーディオ信号205を生成した同一のクライアントコンピューティングデバイス150に提供することができる。
【0088】
データ処理システム105は候補インタフェース220をコンテンツ・アイテムに対する選択されたインタフェース215として選択でき、コンテンツ・アイテム215を選択されたインタフェース220に提供することができる。コンテンツ・アイテム215はまたデータ構造を含むことができる。当該データ構造を、選択されたインタフェース220により描画するためにデータ処理システム105により適切なモダリティに変換することができる。コンテンツ・アイテム215は、その日のために、または日焼け止めのためにビーチチェアの貸出しの申し出のような、スポンサーされたコンテンツを含むことができる。選択されたインタフェース220は、クライアントコンピューティングデバイス150のエンド・ユーザによりアクセス可能な、同一のクライアントコンピューティングデバイス150または異なるデバイの一部であることができるか、または、それらにより実行されることができる。アクションデータ構造210およびコンテンツ・アイテム215の送信は同時に、または、互いに対して後続して発生することができる。アクションデータ構造210は、コンテンツ・アイテム215が別々に異なるモダリティまたはフォーマットを介して選択されたインタフェース200に送信されているかまたは将来送信されるインジケータを含むことができ、エンド・ユーザにコンテンツ・アイテム215の存在を警告する。
【0089】
アクションデータ構造210およびコンテンツ・アイテム215をエンド・ユーザに描画するために別々に提供することができる。スポンサーされたコンテンツ(コンテンツ・アイテム215)を有機的な応答(アクションデータ構造210)から分離することで、コンテンツ・アイテム215がスポンサーされるということを示すオーディオまたは他の警告をアクションデータ構造210に提供する必要はない。これは、ネットワーク165を介したアクションデータ構造210の送信に関連付けられた帯域幅要件を減らすことができ、例えばオーディオディスクレーマまたは警告メッセージなしにアクションデータ構造210の描画を簡単化することができる。
【0090】
データ処理システム105は応答オーディオ信号225を受信することができる。応答オーディオ信号225は、「great, please book me a hotel on the beach this weekend」のようなオーディオ信号を含むことができる。応答オーディオ信号225のデータ処理システム105による受信は、データ処理システムに、ダイレクト・アクションAPI135を起動して変換を実行し、例えば、ビーチのホテルの部屋を予約させることができる。ダイレクト・アクションAPI135はまた、少なくとも1つのサービスプロバイダコンピューティングデバイス160と通信して、情報をサービスプロバイダコンピューティングデバイス160を提供でき、その結果、サービスプロバイダコンピューティングデバイス160は当該予約プロセスを完了または確認することができる。
【0091】
図3は、音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信の方法300を示す。方法300はデータ・パケットを受信することができる(動作305)。例えば、NLPコンポーネント110、データ処理システム105により実行され、クライアントコンピューティングデバイス105から入力オーディオ信号を含むデータ・パケットを受信することができる(動作305)。当該データ・パケットを、ネットワーク165を介してパケットまたは他のプロトコルベースのデータ送信として受信することができる(動作305)。方法300は、当該入力オーディオ信号から、要求または当該要求に対応するトリガキーワードを識別することができる(動作310)。例えば、NLPコンポーネント110は当該入力オーディオ信号を解析して、当該入力オーディオ信号の主題に関する要求を識別することができ、または、例えば、当該要求に関連付けられたアクションを示すことができるトリガキーワードを識別することができる。
【0092】
方法300は少なくとも1つのアクションデータ構造を生成することができる(動作315)。例えば、ダイレクト・アクションAPI135は当該要求またはトリガキーワードに基づいてアクションデータ構造を生成することができる(動作315)。当該アクションデータ構造は当該入力オーディオ信号に関連する有機的なまたはスポンサーされないコンテンツを示すことができる。方法300は少なくとも1つのコンテンツ・アイテムを選択することができる(動作320)。例えば、コンテンツセレクタコンポーネント125は当該要求(複数可)または当該トリガキーワード(複数可)を受信でき、この情報に基づいては1つまたは複数のコンテンツ・アイテムを選択することができる。当該コンテンツ・アイテムは、当該要求または当該トリガキーワードの主題に関する主題を有するスポンサーされたアイテムを含むことができる。当該コンテンツ・アイテムを、リアルタイムコンテンツ選択プロセスを介してコンテンツセレクタコンポーネント125により選択することができる。
【0093】
方法300は当該コンピューティングデバイスの閾値範囲内の複数のコンピューティングデバイスを識別し、少なくとも1つの候補インタフェースを決定するために複数のインタフェースをポーリングすることができる(動作325)。方法300は1つまたは複数の近接性検出技術を使用して、当該閾値範囲内の当該1つまたは複数のコンピューティングデバイスを識別し、次いで当該1つまたは複数のコンピューティングデバイスに関連付けられた候補インタフェースをポーリングすることができる。当該候補インタフェースは、当該選択されたコンテンツ・アイテム(またはアクションデータ構造)の描画のための候補インタフェースを含むことができる。例えば、インタフェース管理コンポーネント140はインタフェースを問い合わせて、当該インタフェースに関する利用値、例えば、パラメータ情報または他の特性を取得することができる(動作330)。当該利用値に基づいて、インタフェース管理コンポーネント140は少なくとも1つの候補インタフェースを当該コンテンツ・アイテム(または当該アクションデータ構造)を描画するための選択されたインタフェースとして選択することができる(動作335)。方法300は、当該コンテンツ・アイテムを当該選択されたインタフェースを介して描画するためのモダリティに変換するステップを含むことができる(動作340)。例えばデータ処理システム105またはインタフェース管理コンポーネント140のようなそのコンポーネントは、オンラインドキュメントのコンテンツ・アイテムスロットで描画するために(例えば、電子メールとして(例えば、選択された電子メールインタフェースを介して)またはチャットアプリで表示するためのテキストメッセージとして表示するために)当該コンテンツ・アイテムを変換することができる。幾つかのケースでは、方法300は、当該選択されたインタフェースを介して描画するためのモダリティで当該コンテンツ・アイテムを選択するステップを含むことができる(動作340)。
【0094】
方法300は当該アクションデータ構造を描画するためのクライアントコンピューティングデバイス150に提供でき(動作345)、当該コンテンツ・アイテムを当該コンテンツ・アイテムを描画するために選択された当該候補インタフェースに送信することができる(動作350)。例えば、インタフェース115を介して、インタフェース管理コンポーネント140は、当該入力オーディオ信号に応答してオーディオ出力として描画するための当該アクションデータ構造をクライアントコンピューティングデバイス150に提供することができる(動作345)。データ処理システムはまた、当該変換されたモダリティで描画するための当該コンテンツ・アイテムを同一のまたは異なるクライアントコンピューティングデバイス150上の当該選択されたインタフェースに送信することができる(動作350)。
【0095】
図4は、音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のシステムの例示的な動作を示す。システム400は、例えば、データ処理システム105、ネットワーク165および1つまたは複数のコンピューティングデバイスを含む、システム100、200または600で示した1つまたは複数のコンポーネントを含むことができる。
【0096】
図4に示すように、システム400は、第2のコンピューティングデバイス406から距離410離れた第1のコンピューティングデバイス404を含むことができる。第2のコンピューティングデバイス406は、オーディオ、ビデオ、画像または他のコンテンツ第1の出力デバイス408を介して出力するために第1の出力デバイス408に通信可能に接続されることができる。第1のコンピューティングデバイス405、第2のコンピューティングデバイス406および第1の出力デバイス408は、第1の部屋402(例えば、家の部屋、アパート、居住空間、オフィス、ホテル部屋または他の物理空間)に位置づけまたは配置することができる。第1のコンピューティングデバイス404および第2のコンピューティングデバイス406はネットワーク165を介してデータ処理システム105と対話および通信することができる。
【0097】
システム400は1つまたは複数のユーザインタフェースを有する1つまたは複数のコンピューティングデバイスを含むことができる。第1のユーザインタフェースは、ユーザが当該ユーザインタフェース要素を要求することなく出現するユーザインタフェース要素のように、侵襲的であると考えることができる。これらのユーザインタフェース要素はコンテンツ・アイテムまたは通知を含むことができ、モバイルアプリケーションまたはウェブページを介して提供することができる。かかるユーザインタフェース要素は、視覚的に侵襲的なユーザインタフェース要素でありうるので、無視または破棄してもよい。幾つかのコンピューティングデバイスは、音声ベースのデジタルアシスタントのような主にオーディオまたはオーディオのみのデバイスであってもよい。これらのタイプのコンピューティングデバイスでは、当該ユーザインタフェース要素はオーディオの再生を含んでもよく、これは当該通知またはコンテンツ・アイテムの前に当該デバイスが出力していたコンテンツに割り込みうる。したがって、当該本開示のシステムおよび方法はこれらの通知を、特定の時点または特定のインタフェースまたは特定のコンピューティングデバイスで、例えば現在の出力に割り込むかまたは当該現在のデバイスのオーディオチャネルまたは近傍のデバイスのオーディオチャネルで再生することなく提供することができる。
【0098】
データ処理システム105はいつどこでコンテンツ・アイテムまたは通知を配送するかを判定することができる。データ処理システム105は、いつユーザとオーディオ駆動の通知で関与するかを近傍のデバイスとのユーザ関与およびこれらの近傍のデバイスの媒体再生状態に基づいて判定するための機構を提供することができる。例えば、データ処理システム105は、ユーザが既に近傍のコンピューティングデバイス(例えば、モニタ、ディスプレイデバイス、テレビ、またはスピーカのような第1の出力デバイス408でビデオを再生している第2のコンピューティングデバイス406)に関与しており、当該ユーザにオーディオベースのプロモーションで割り込むことを選択しないかどうかを判定することができる。
【0099】
データ処理システム105は、当該コンテンツ・アイテムまたは通知を全く表示しないか、または当該通知またはコンテンツ・アイテムを異なる媒体またはデバイスに送信する(例えば、当該コンテンツ・アイテムまたは通知をプッシュ通知として第1のコンピューティングデバイス404に送信する)と決定でき、または後の配送のために当該コンテンツ・アイテムまたは通知を遅延すると決定することができる。
【0100】
例えば、システム400は第1のコンピューティングデバイス404を含むことができる。第1のコンピューティングデバイス404はコンピューティングデバイス150の1つまたは複数のコンポーネントまたは機能を含むことができる。第1のコンピューティングデバイス404はユーザにより提供された音声入力またはオーディオコマンドを含む入力オーディオ信号を受信することができる。第1のコンピューティングデバイス404は、当該オーディオコマンドに関与することができ、次いでデータ処理システム105により行われた判定に基づいてコンテンツ・アイテムまたは通知を再生するかまたは保留する。データ処理システム105は、当該ユーザが存在し第1のコンピューティングデバイス404が別の活動に割り込んでいない場合に、当該コンテンツ・アイテムまたは通知を再生または表示するように第1のコンピューティングデバイス105に指示することを決定することができる。データ処理システム105は、第1のコンピューティングデバイス404との対話または関与に基づいて表示された当該ユーザを決定することができる。
【0101】
データ処理システム105はさらに、当該コンテンツ・アイテムまたは通知が別の活動に割り込むかどうかを判定することができる。例えば、データ処理システム105はローカルAPIを通じて近傍のデバイスのオーディオ状態を決定することができる。データ処理システム105は当該APIを使用して、第2のコンピューティングデバイス406を問い合わせて、第2のコンピューティングデバイス406が第1の出力デバイス408を介して現在オーディオ・コンテンツを再生しているかどうかおよびボリューム・レベルが何かを判定することができる。データ処理システム105は、当該コンテンツがオーディオを含むかまたはオーディオを含まない(例えば、オーディオなしの画像スライド・ショーを再生している)かどうかを判定するために、第2のコンピューティングデバイス406により現在再生されているコンテンツに関するメタデータを検査または処理することができる。第2のコンピューティングデバイス406がオーディオを再生しない場合、データ処理システム105は、第1のコンピューティングデバイス404を介して提示するためのオーディオ・コンテンツ・アイテムを提供することが、第2のコンピューティングデバイス406により提供されたコンテンツに割り込めないと判定することができる。
【0102】
そうするために、データ処理システム105は、第1のコンピューティングデバイス404の閾値距離内のコンピューティングデバイスを検出することができる。データ処理システム105(例えば、インタフェース管理コンポーネント)は、第1のコンピューティングデバイス404および第2のコンピューティングデバイス406の間の距離410を決定するための1つまたは複数の近接性検出技術を利用して、距離410が閾値距離内にあるかどうかを判定することができる。例えば、データ処理システム105は、サブ可聴音波を送信するように第1のコンピューティングデバイス404に指示することができる。第1のコンピューティングデバイス404のスピーカからサブ可聴音を通じて別のデバイスのマイクロフォン(例えば、第2のコンピューティングデバイス406のマイクロフォン)にトークンを送信し、次いで当該トークンの値をサーバエクスチェンジと比較することで、データ処理システム105は第1のコンピューティングデバイス404および第2のコンピューティングデバイス406が同一の部屋(例えば、第1の部屋402)にあるかどうかを判定することができる。データ処理システム105はさらに、当該トークンが第1のコンピューティングデバイス404のスピーカから第2のコンピューティングデバイス406のマイクロフォンに移動するのにかかるミリ秒をカウントすることで、2つのデバイス404および406の間のおおよその距離410を近似することができる。当該2つのデバイスは同期されたであることができる。
【0103】
幾つかのケースでは、データ処理システム105は、オーディオまたはビデオが第1のコンピューティングデバイス404の(例えば、距離410のような閾値距離内の)近傍のデバイスで再生されていると判定でき、オーディオ・コンテンツ・アイテムの提供または第1のコンピューティングデバイス404を介した通知のブロックを決定することができる。幾つかのケースでは、データ処理システム105は、第1のコンピューティングデバイス404のオーバライド構成(例えば、セキュリティ警告を提供するためのオーバライドブロック)に基づいて当該ブロックをオーバライドすることを決定することができる。
【0104】
図5は、音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のシステムの例示的な動作を示す。システム500は、例えば、データ処理システム105、ネットワーク165および1つまたは複数のコンピューティングデバイスを含むシステム100、200または600で示された1つまたは複数のコンポーネントを含むことができる。システム500は、第1のコンピューティングデバイス404、第2のコンピューティングデバイス406、および第1の出力デバイス408を含むことができる。システム500は第3のコンピューティングデバイス504を含むことができ、第3のコンピューティングデバイス504はコンピューティングデバイス150の1つまたは複数のコンポーネントまたは機能を含むことができる。システム500は第2の出力デバイス506を含むことができ、第2の出力デバイス506は第1の出力デバイス408の1つまたは複数のコンポーネントまたは機能を含むことができる。
【0105】
図5に示すように、システム500は、第2のコンピューティングデバイス406から距離410だけ離れている第1のコンピューティングデバイス404を含むことができる。第2のコンピューティングデバイス406は、オーディオ、ビデオ、画像または他のコンテンツ第1の出力デバイス408を介して出力するために第1の出力デバイス408に通信可能に接続されることができる。第1のコンピューティングデバイス405、第2のコンピューティングデバイス406および第1の出力デバイス408は、第1の部屋402(例えば、家の部屋、アパート、居住空間、オフィス、ホテル部屋または他の物理空間)に位置づけまたは配置することができる。第1のコンピューティングデバイス404および第2のコンピューティングデバイス406はネットワーク165を介してデータ処理システム105と対話および通信することができる。
【0106】
システム500は、第1の部屋402に隣接して配置された第2の部屋502を含むことができる。第2の部屋502は、少なくとも部分的に、第1の部屋402から壁512だけ離れていることができる。壁512は開口部514または戸口を含むことができる。第2の部屋502において、システム500は第4のコンピューティングデバイス510、および第2の出力デバイス506に通信可能に接続される第3のコンピューティングデバイス504を含むことができる。第3のコンピューティングデバイス504は第1のコンピューティングデバイス404から距離508だけ離れていることができる。
【0107】
データ処理システム105は、1つまたは複数のデバイスがリソースを妨害することなく相対的に高いリソース利用値を有する(例えば、オーディオまたはビデオを再生している)環境においてコンテンツまたは通知を1つまたは複数のコンピューティングデバイスで提供することができる。例えば、データ処理システム105は、コンテンツ・アイテムを選択し、第2のコンピューティングデバイス406がオーディオを有するビデオを再生しているので、第2のコンピューティングデバイス406を介して第1の出力デバイス408上の当該コンテンツ・アイテムの提供をブロックすると決定することができる。その代わり、データ処理システム105は、プッシュ通知を介して当該コンテンツ・アイテムまたは通知を、第2のコンピューティングデバイス406から閾値距離内にあるモバイルコンピューティングデバイス(例えば、第1のコンピューティングデバイス404)に提供すると決定することができる。
【0108】
データ処理システム105は1つまたは複数の近接性検出技術(例えば、サブ可聴音波、Bluetooth(登録商標)、または別々のデバイス上の同一のオーディオベースの入力信号の検出)を使用して、閾値距離内の近傍のコンピューティングデバイスを識別することができる。Bluetooth(登録商標)は、モバイル電話、コンピュータまたは他の電子デバイスのようなコンピューティングデバイスの相互接続のための短波ワイヤレス送信標準を指すことができる。当該短波ワイヤレス送信は2.4から2.485GHzへの無線波を利用することができる。当該範囲は例えば、おおよそ0.5メートル、1メートル、10メートル、100メートル、150メートル、240メートル、またはそれ以上であることができる。例えば、2つの別々のデバイス(例えば、第1のコンピューティングデバイス404および第2のコンピューティングデバイス406)により同一の入力オーディオ信号(またはオーディオコマンド)を検出することは当該デバイスが閾値距離内にあるプロキシ信号であることができる。
【0109】
データ処理システム105は、コンピューティングデバイスに送信するためのコンテンツ・アイテムまたは通知を識別することができる。当該コンテンツ・アイテムまたは通知を識別したことに応答して、データ処理システム105は1つまたは複数のコンピューティングデバイスが当該閾値距離内にあるかどうかを決定することができる。幾つかの事例では近接性情報は既にデータ処理システム105に格納されていることができ、または広い近接性情報を、当該2つのデバイスがより粒度の細かいデバイス近接性(例えば、サブ可聴音)をテストするのに十分なほど近くないことを識別するために使用することができる。例えば、データ処理システム105はコンピューティングデバイスが閾値距離内にあるかどうかを判定するために、漸進的によりリソース集約的となる近接性検出技術の階層を使用することができる。
【0110】
幾つかのケースでは、データ処理システム105は、アカウントでリンクされた複数のコンピューティングデバイスを識別することができる。データ処理システム105は次いで、閾値距離内の1組の近傍のデバイスを識別することができる。例えば、
図500に示すように、データ処理システム105は、1つまたは複数の近接性検出技術を使用して、第1のコンピューティングデバイス404および第3のコンピューティングデバイス504の間の距離508が当該閾値距離より大きいと判定することができる。データ処理システム105は、ユーザがビデオを第2の出力デバイス506で再生するために第3のコンピューティングデバイス504と対話していると判定することができる。データ処理システム105は、当該ユーザが関与または対話している第3のコンピューティングデバイス504が第1のコンピューティングデバイス404からの当該閾値距離より大きいので、第1のコンピューティングデバイス404を介して提示するためにオーディオ・コンテンツまたは通知を提供しないと決定することができる。
【0111】
幾つかのケースでは、データ処理システム105は、1つまたは複数のアプリケーションをコンテンツまたは通知を提供するための候補インタフェースとして識別することができる。例えば、データ処理システム105は、第1のコンピューティングデバイス404と統合されたアプリケーションを利用して当該コンテンツまたは通知を提供すると決定することができる。データ処理システム105は、当該コンテンツまたは通知を提供し、当該アプリケーションを複製解除し、リソース利用値または通知構成に基づいてプリプログラムされた階層(例えば、オーディオインタフェースを、テキストのみのインタフェースより高く順位付けできる画像インタフェースより高く順位付けできる)に基づいて候補インタフェース(例えば、アプリケーション)を選択できる第1のコンピューティングデバイス404と統合された複数のアプリケーションを識別することができる。
【0112】
したがって、データ処理システムは通知を当該選択されたデバイスに送信することができる。この通知はペイロードを含むことができる。例えば、第1のコンピューティングデバイスは、第2の出力デバイス506を介して提示するために第3のコンピューティングデバイス504にストリーミングできる新たなコンテンツを促す通知を、第4のコンピューティングデバイス510(例えば、モバイルコンピューティングデバイス150)に送信することができる。当該ユーザは、当該通知に応答して、第2の出力デバイス506で当該新たなコンテンツをストリーミングすることを開始するのを第4のコンピューティングデバイス510に指令、命令、または示すことができる。
【0113】
図6は例示的なコンピュータシステム600のブロック図である。当該コンピュータシステムまたはコンピューティングデバイス600は、システム100、またはデータ処理システム105のようなそのコンポーネントを含むことができるかまたはそれを実装するために使用される。コンピューティングシステム600は、情報を通信するためのバス605または他の通信コンポーネントおよび情報を処理するための当該バス605に接続されるプロセッサ610または処理回路を含む。コンピューティングシステム600はまた、1つまたは複数のプロセッサ610または情報を処理するための当該バスに接続される処理回路を含むことができる。コンピューティングシステム600はまた、情報、およびプロセッサ610により実行される命令を格納するための当該バス605に接続されたランダム・アクセスメモリ(RAM)または他の動的記憶デバイスのようなメイン・メモリ615を含む。当該メイン・メモリ615はデータリポジトリ145であることができるかまたはそれを含むことができる。当該メイン・メモリ615をまた、プロセッサ610による命令の実行中に位置情報、一時的変数、または他の中間情報を格納するために使用することができる。コンピューティングシステム600はさらに、プロセッサ610のための静的情報および命令を格納するための当該バス605に接続される読取専用メモリ(ROM)620または他の静的記憶デバイスを含んでもよい。固体状態デバイス、磁気ディスクまたは光ディスクのような記憶デバイス625を当該バス605に接続して、永続的に情報および命令を格納することができる。記憶デバイス625はデータリポジトリ145を含むことができるかまたはその一部であることができる。
【0114】
コンピューティングシステム600を、当該バス605を介して情報をユーザに表示するために、液晶ディスプレイ、またはアクティブ行列ディスプレイのようなディスプレイ635に接続してもよい。英数字および他のキーを含むキーボードのような入力デバイス630、を、情報およびコマンド選択をプロセッサ610に通信するための当該バス605に接続してもよい。入力デバイス630はタッチ・スクリーンディスプレイ635を含むことができる。入力デバイス630はまた、方向情報およびコマンド選択をプロセッサ610に通信するためのおよび当該ディスプレイ635上のカーソル移動を制御するためのマウス、トラックボール、またはカーソル方向キーのようなカーソル・コントロールを含むことができる。当該ディスプレイ635は、例えば、
図1のデータ処理システム105、クライアントコンピューティングデバイス150または他のコンポーネントの一部であることができる。
【0115】
本明細書で説明したプロセス、システムおよび方法を、プロセッサ610がメイン・メモリ615に含まれる命令の配置を実行したことに応答してコンピューティングシステム600により実装することができる。かかる命令を、メイン・メモリ615に記憶デバイス625のような別のコンピュータ可読媒体から読み込むことができる。メイン・メモリ615に含まれる命令の配置の実行はコンピューティングシステム600に本明細書で説明した例示的なプロセスを実施させる。マルチプロセッシング配置における1つまたは複数のプロセッサをまた、メイン・メモリ615に含まれる命令を実行するために使用することができる。ハードワイヤード回路を、本明細書で説明するシステムおよび方法とともにソフトウェア命令の代わりにまたはそれを組み合わせて使用することができる。本明細書で説明したシステムおよび方法はハードウェア回路およびソフトウェアの任意の特定の組合せに限定されない。
【0116】
例示的なコンピューティングシステムを
図6で説明したが、本明細書で説明した動作を含む主題を、本明細書で開示した構造およびそれらの構造的均等物を含む他のタイプのデジタル電子回路で、またはコンピュータソフトウェア、ファームウェア、またはハードウェアで、またはそれらの1つまたは複数の組合せで実装することができる。
【0117】
本明細書で説明するシステムがユーザに関する個人情報を収集するか、または個人情報を利用しうる状況に対して、プログラムまたは機能が個人情報(例えば、ユーザのソーシャルネットワーク、ソーシャルアクションまたはアクティビティ、ユーザの嗜好、またはユーザの位置に関する情報)を収集しうるかどうかを制御するか、または、当該ユーザにより関連しうるコンテンツサーバまたは他のデータ処理システムからコンテンツを受信するかどうかまたはその方法を制御するための機会を当該ユーザに与えてもよい。さらに、特定のデータはそれが格納または使用される前に1つまたは複数の方法で匿名化してもよく、その結果個人的に識別可能な情報がパラメータを生成するときに除去される。例えば、ユーザのアイデンティティを匿名化してもよく、その結果個人的に識別可能な情報を当該ユーザに対して決定できず、またはユーザの特定の位置を決定できないように、ユーザの地理的位置を位置情報が取得される場所で(例えば都市、郵便番号、または状態レベルに)一般化してもよい。したがって、当該ユーザは、どのように情報が当該ユーザに関して収集され当該コンテンツサーバにより使用されるかを制御することができる。
【0118】
本明細書で説明した主題および動作を、本明細書で開示した構造およびそれらの構造的均等物を含むデジタル電子回路で、またはコンピュータソフトウェア、ファームウェア、またはハードウェアで、またはそれらの1つまたは複数の組合せで実装することができる。本明細書で説明した当該主題を、データ処理装置による実行のためにまたは当該装置の動作を制御するために1つまたは複数のコンピュータ記憶媒体で符号化された、1つまたは複数のコンピュータプログラム、例えば、コンピュータプログラム命令の1つまたは複数の回路として実装することができる。代替的にまたは追加として、当該プログラム命令を、人工的に生成された伝播信号、例えば、データ処理装置による実行のために適切な受信器装置に送信するための情報を符号化するために生成されたマシン-生成された電気、光、または電磁気信号で符号化することができる。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムなまたはシリアル・アクセスメモリ・アレイまたはデバイス、またはそれらの1つまたは複数の組合せであることができ、または、それらに含まれることができる。コンピュータ記憶媒体は伝播信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝播信号で符号化されたコンピュータプログラム命令のソースまたは目的地であることができる。当該コンピュータ記憶媒体はまた、1つまたは複数の別々のコンポーネントまたは媒体(例えば、複数のCD、ディスク、または他の記憶デバイス)であることができ、または、それに含まれることができる。本明細書で説明した動作を、1つまたは複数のコンピュータ可読記憶デバイスに格納されまたは他のソースから受信されたデータに対してデータ処理装置により実施される動作として実装することができる。
【0119】
「データ処理システム」「コンピューティングデバイス」「コンポーネント」または「データ処理装置」という用語は、例としてプログラム可能プロセッサ、コンピュータ、システム・オン・チップ、または以上のうち複数または組合せを含む、データを処理するための様々な装置、デバイス、およびマシンを包含する。当該装置は、特殊目的論理回路、例えば、FPGA(フィールドプログラム可能ゲート・アレイ)またはASIC(特殊用途向け集積回路)を含むことができる。当該装置はまた、ハードウェアに加えて、着目するコンピュータプログラムに対する実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコル・スタック、データベース管理システム、オペレーティング・システム、クロス・プラットフォームランタイム環境、仮想マシン、またはそれらの1つまたは複数の組合せを構成するコードを含むことができる。当該装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッド・コンピューティングインフラのような様々な異なるコンピューティングモデルインフラを実現することができる。インタフェース管理コンポーネント140、ダイレクト・アクションAPI135、コンテンツセレクタコンポーネント125、予測コンポーネント120またはNLPコンポーネント110および他のデータ処理システム105コンポーネントは、1つまたは複数のデータ処理装置、システム、コンピューティングデバイス、またはプロセッサを含むかまたは共有ことができる。
【0120】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、スクリプト、またはコードとしても知られる)を、コンパイル型言語またはインタプリタ型言語、宣言型または手続型言語を含む任意の形態のプログラミング言語で書くことができ、スタンドアロンプログラムまたはモジュール、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境で使用するのに適した他のユニットを含む任意の形態で展開することができる。コンピュータプログラムはファイルシステム内のファイルに対応することができる。コンピュータプログラムを、他のプログラムまたはデータを保持するファイル部分(例えば、マークアップ言語ドキュメントに格納された1つまたは複数のスクリプト)に、着目するプログラム専用の単一のファイルに、または複数の協調ファイルに(例えば、1つまたは複数のモジュール、サブプログラム、またはコード部分を格納するファイル)格納することができる。コンピュータプログラムを、1つのコンピュータ上でまたは1つのサイトに配置されるかまたは複数のサイトにわたって分散され通信ネットワークにより相互接続された複数のコンピュータ上で実行されるように展開することができる。
【0121】
本明細書で説明した当該プロセスおよび論理フローを、1つまたは複数のプログラム可能プロセッサが、1つまたは複数のコンピュータプログラム(例えば、データ処理システム105のコンポーネント)を実行して、入力データで動作し出力を生成することでアクションを実施することにより、実施することができる。当該プロセスおよび論理フローはまた、特殊目的論理回路、例えば、FPGA(フィールドプログラム可能ゲート・アレイ)またはASIC(特殊用途向け集積回路)により実施でき、装置をまた特殊目的論理回路、例えば、FPGA(フィールドプログラム可能ゲート・アレイ)またはASIC(特殊用途向け集積回路)として実装することができる。コンピュータプログラム命令およびデータを格納するのに適したデバイスは、例として半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュ・メモリデバイスを含むあらゆる形態の非揮発性メモリ、媒体およびメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたは取外し可能ディスク、磁気光ディスク、およびCDROMおよびDVD-ROMディスクを含む。当該プロセッサおよび当該メモリを特殊目的論理回路で補完するかまたはそれに組み込むことができる。
【0122】
本明細書で説明する主題を、バックエンドコンポーネントを、例えば、データサーバとして含むか、またはミドルウェアコンポーネント、例えば、アプリケーションサーバを含むか、またはフロントエンドコンポーネント、例えば、ユーザがそれを通じて本明細書で説明した当該主題の実装と対話できるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ、または1つまたは複数のかかるバックエンド、ミドルウェア、またはフロントエンドコンポーネントの組合せを含む、コンピューティングシステムで実装することができる。当該システムの当該コンポーネントはデジタルデータ通信、例えば、通信ネットワークの任意の形態または媒体により相互接続することができる。通信ネットワークの例は、ローカル・エリア・ネットワーク(「LAN」)および広帯域ネットワーク(「WAN」)、インターネットワーク(例えば、インターネット)、およびピア・ツー・ピアネットワーク(例えば、アドホックピア・ツー・ピアネットワーク)を含む。
【0123】
システム100またはシステム600のような当該コンピューティングシステムはクライアントおよびサーバを含むことができる。クライアントおよびサーバは一般に互いから離れており、一般に通信ネットワークを通じて対話する(例えば、ネットワーク165)。クライアントおよびサーバの関係は、当該各コンピュータで実行され互いにクライアント-サーバ関係を有するコンピュータプログラムにより生ずる。幾つかの実装では、サーバは、(例えば、アクションデータ構造またはコンテンツ・アイテムを表すデータ・パケット)を、クライアントデバイスに(例えば、当該クライアントデバイスと対話するユーザにデータを表示しそこからユーザ入力を受信し、またはサービスプロバイダコンピューティングデバイス160またはコンテンツプロバイダコンピューティングデバイス155にデータを表示する目的でクライアントコンピューティングデバイス150に)を送信する。当該クライアントデバイスで生成されたデータ(例えば、当該ユーザ対話の結果)は当該クライアントデバイスから当該サーバでから受信されることができる(例えば、データ処理システム105によりコンピューティングデバイス150またはコンテンツプロバイダコンピューティングデバイス155またはサービスプロバイダコンピューティングデバイス160から受信される)。
【0124】
動作を当該図面において特定の順序で説明したが、かかる動作を示した特定の順序でまたは逐次的な順序で実施する必要はなく、全ての図示した動作を実施する必要はない。本明細書で説明した動作を異なる順序で実施することができる。
【0125】
様々なシステムコンポーネントの分離は全ての実装における分離を要求しないが、当該説明したプログラムコンポーネントを単一のハードウェアまたはソフトウェア製品に含めることができる。例えば、NLPコンポーネント110、コンテンツセレクタコンポーネント125、インタフェース管理コンポーネント140、または予測コンポーネント120は、単一のコンポーネント、アプリ、またはプログラム、または1つまたは複数の処理回路を有する論理デバイス、またはデータ処理システム105の1つまたは複数のサーバの一部であることができる。
【0126】
幾つかの例示的な実装を説明したので、以上は、例示的であり限定的ではなく、例として提示されていることは明らかである。特に、本明細書で提示した例の多くは方法の動作またはシステム要素の特定の組合せを含むが、これらの動作およびこれらの要素を他の方法で組み合わせて同一の目的を実現してもよい。1実装と関連して説明した動作、要素および特徴は他の実装または実装における類似の役割から排除されるものではない。
【0127】
本明細書で使用したフレーズおよび用語は説明の目的のためであり限定として解釈されるべきではない。「~を含む」、「~を備える」、「~を有する」、「~を包含する」、「~が関与する」、「~により特徴付けられる」、「~の点で特徴付けられる」、およびその本明細書における変形の使用は、その後に列挙された項目、その均等物、および追加の項目、ならびに排他的にその後に列挙された項目からなる代替的な実装を含むことを意味する。1実装では、本明細書で説明するシステムおよび方法は当該説明した要素、動作、またはコンポーネントの1つ、複数の各組合せ、または全てから成る。
【0128】
本明細書で単一形で参照されるシステムおよび方法の実装または要素または動作に対する任意の言及は複数のこれらの要素を含む実装を含んでもよく、本明細書の任意の実装または要素または動作への複数形の任意の参照は単一の要素のみを含む実装を含んでもよい。単一形または複数形における参照は本明細書で開示したシステムまたは方法、それらのコンポーネント、動作、または要素を単一のまたは複数の構成に限定しようとするものではない。任意の情報、動作または要素に基づく任意の動作または要素への参照は当該動作または要素は任意の情報、動作、または要素に少なくとも部分的に基づく実装を含んでもよい。
【0129】
本明細書で開示した任意の実装を任意の他の実装または実施形態と組み合わせてもよく「実装」、「幾つかの実装」、「一実装」等への言及は必ずしも相互に排他的ではなく、当該実装と関連して説明した特定の特徴、構造、または特性が少なくとも1つの実装または実施形態に含まれてもよいを示すことを意図している。本明細書で使用した用語は必ずしも全て同一の実装を参照しない。任意の実装を、任意の他の実装と、包含的にまたは排他的に、本明細書で開示した態様および実装と一貫する任意の方式で結合してもよい。
【0130】
「または」に対する言及は、「または」を用いて説明された任意の用語が当該説明した用語のうち1つ、複数、および全ての何れかを示しうるように、包含的として解釈してもよい。例えば、「‘A’および‘B’のうち少なくとも1つ」への言及は‘A’のみ、‘B’のみ、ならびに‘A’および‘B’の両方を含むことができる。「~を備える」または他のオープンな用語と関連して使用されるかかる言及は追加の項目を含むことができる。
【0131】
当該図面、詳細な説明または任意の請求項における技術的特徴に参照記号が続く場合、当該参照記号は当該図面、詳細な説明、および特許請求の範囲の明瞭性を高めるために含まれている。したがって、前記参照記号もそれがないことも任意のクレーム要素の範囲に対する限定効果を有さない。
【0132】
本明細書で説明するシステムおよび方法をその特徴から逸脱せずに他の特定の形態で具体化してもよい。以上の実装は説明したシステムおよび方法の限定ではなく例示的なものである。本明細書で説明するシステムおよび方法の範囲はしたがって以上の説明ではなく添付の特許請求の範囲により示され、添付の特許請求の範囲の均等物の意味と範囲に入る変更がそこに包含される。
【符号の説明】
【0133】
105 データ処理システム
110 自然言語プロセッサ・コンポーネント
115 インタフェース
120 予測コンポーネント
125 コンテンツセレクタコンポーネント
130 オーディオ信号生成器コンポーネント
135 ダイレクト・アクションAPI
140 インタフェース管理コンポーネント
145 データリポジトリ
146 パラメータ
147 ポリシ
148 コンテンツデータ
149 テンプレート
150 クライアント・コンピューティング・デバイス
151 センサ
152 トランスデューサ
153 オーディオドライバ
154 スピーカ
155 コンテンツ・プロバイダ・デバイス
160 サービス・プロバイダ・デバイス
161 サービスプロバイダの自然言語プロセッサ・コンポーネント
162 サービスプロバイダインタフェース
165 ネットワーク