(57)【要約】【課題】音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信の方法およびシステムを提供する。【解決手段】本発明の一態様のシステムは、入力オーディオ信号を解析することで識別された要求またはトリガキーワードに基づき第1のアクションデータ構造を生成し、要求およびトリガキーワードのうちの少なくとも1つに基づきリアルタイムコンテンツ選択プロセスを介してコンテンツ・アイテムを選択し、デバイスの閾値距離内にある第1の候補インタフェースおよび第2の候補インタフェースを識別し、第1の候補インタフェースに対する第1のパラメータおよび第2の候補インタフェースに対する第2のパラメータを識別し、第1のパラメータと第2のパラメータとの比較に基づいて、コンテンツ・アイテムを提示するために第1の候補インタフェースを選択し、第1のパラメータに従ってコンテンツ・アイテムを提供する。【選択図】図１
2020042270.tif 000002
【特許請求の範囲】
【請求項１】
音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のシステムであって、
データ処理システムを備え、前記データ処理システムが、
前記データ処理システムのインタフェースを介して、クライアントコンピューティングデバイスのセンサにより検出された入力オーディオ信号を含むデータ・パケットを受信することと、
前記入力オーディオ信号を解析して、要求および前記要求に対応するトリガキーワードを識別することと、
前記要求および前記トリガキーワードのうちの少なくとも1つに基づき、第1のアクションデータ構造を生成することと、
前記要求および前記トリガキーワードのうちの少なくとも1つに基づき、リアルタイムコンテンツ選択プロセスを介して、コンテンツ・アイテムを選択することと、
前記クライアントコンピューティングデバイスの閾値距離内にある第1の候補インタフェースおよび第2の候補インタフェースを識別することと、
前記第1の候補インタフェースに対する第1のコンピューティングパラメータおよび前記第2の候補インタフェースに対する第2のコンピューティングパラメータを識別することと、
前記第1のコンピューティングパラメータと前記第2のコンピューティングパラメータとの比較に基づいて、前記コンテンツ・アイテムを提示するために、選択されたインタフェースとして前記第1の候補インタフェースを選択することと、
前記選択されたインタフェースの前記第1のコンピューティングパラメータに従って、提示するための前記コンテンツ・アイテムを提供することと
を行うために1つまたは複数のプロセッサとメモリとを備える、システム。
【請求項２】
前記第1の候補インタフェースが、第2のクライアントデバイスのインタフェースである、請求項1に記載のシステム。
【請求項３】
前記第1の候補インタフェースおよび前記第2の候補インタフェースが、前記クライアントコンピューティングデバイスの2つの異なるインタフェースである、請求項1に記載のシステム。
【請求項４】
前記第2の候補インタフェースから描画するための前記コンテンツ・アイテムまたは前記第1のアクションデータ構造を提供するための前記データ処理システムを備える、請求項3に記載のシステム。
【請求項５】
前記第1のコンピューティングパラメータに基づき、前記第1の候補インタフェースに対する第1のリソース利用値を決定し、前記第2のコンピューティングパラメータならびにバッテリステータス、プロセッサ利用率、メモリ利用率、およびネットワーク帯域幅利用率の少なくとも１つに基づき、前記第2の候補インタフェースに対する第2のリソース利用値を決定することと、
前記第1のリソース利用値および前記第2のリソース利用値に基づき、前記コンテンツ・アイテムを提示するために、前記選択されたインタフェースとして前記第1の候補インタフェースを選択することと
を行うための前記データ処理システムを備える、請求項1に記載のシステム。
【請求項６】
前記第1のリソース利用値と前記第2のリソース利用値との前記比較に基づき選択された前記選択されたインタフェースと互換性のあるモダリティで配送するために前記コンテンツ・アイテムを変換する
ための前記データ処理システムを備える、請求項5に記載のシステム。
【請求項７】
前記クライアントコンピューティングデバイスへの前記第1のアクションデータ構造の送信に続いて、前記選択されたインタフェースを介して、前記クライアントコンピューティングデバイスに前記コンテンツ・アイテムを配送する
ための前記データ処理システムを備える、請求項1に記載のシステム。
【請求項８】
前記第1の候補インタフェースが、アカウントにリンクされた前記クライアントコンピューティングデバイスに対応し、かつ、前記第2の候補インタフェースが、前記アカウントにリンクされた第2のクライアントコンピューティングデバイスに対応すると決定する
ための前記データ処理システムを備える、請求項1に記載のシステム。
【請求項９】
前記第１の候補インタフェースはディスプレイスクリーンを含み、前記第２の候補インタフェースはオーディオインタフェースを含む、請求項1に記載のシステム。
【請求項１０】
第３の候補インタフェースを識別することと、
前記第３の候補インタフェースに対する第３のコンピューティングパラメータを決定することと、
前記第1のコンピューティングパラメータ、前記第2のコンピューティングパラメータ、および前記第3のコンピューティングパラメータに基づき、階層を前記第１の候補インタフェース、前記第２の候補インタフェース、および前記第３の候補インタフェースに割り当てることと
を行うための前記データ処理システムを備える、請求項1に記載のシステム。
【請求項１１】
前記階層に基づき、前記選択されたインタフェースを介して、前記コンテンツ・アイテムを前記クライアントコンピューティングデバイスに配送する
ためのデータ処理システムを備える、請求項10に記載のシステム。
【請求項１２】
前記第1の候補インタフェースおよび前記第2の候補インタフェースは、
ディスプレイスクリーン、オーディオインタフェース、振動インタフェース、電子メールインタフェース、プッシュ通知インタフェース、モバイルコンピューティングデバイスインタフェース、ポータブルコンピューティングデバイスアプリケーション、オンラインドキュメント上のコンテンツスロット、チャットアプリケーション、モバイルコンピューティングデバイスアプリケーション、ラップトップ、時計、仮想現実ヘッドセット、およびスピーカのうち少なくとも１つを含む複数のインタフェースから識別される、請求項1に記載のシステム。
【請求項１３】
前記クライアントコンピューティングデバイスが、第1のクライアントコンピューティングデバイスであり、
前記第1のクライアントコンピューティングデバイスと第2のクライアントコンピューティングデバイスとの間の距離を決定することと、
前記コンテンツ・アイテムを前記第2のクライアントコンピューティングデバイスへ送信することと
を行うための前記データ処理システムを備える、請求項1に記載のシステム。
【請求項１４】
前記クライアントコンピューティングデバイスが、第1のクライアントコンピューティングデバイスであり、
自然言語プロセッサ・コンポーネントによる前記入力オーディオ信号の受信から所定の時間期間内に前記第1のクライアントコンピューティングデバイスへ前記コンテンツ・アイテムを送信する
ための前記データ処理システムを備える、請求項1に記載のシステム。
【請求項１５】
前記第2のコンピューティングパラメータから前記第2の候補インタフェースが利用不可能であると決定する
ための前記データ処理システムを備える、請求項1に記載のシステム。
【請求項１６】
前記コンテンツ・アイテムの指示を有する、描画のための前記第1のアクションデータ構造を、前記クライアントコンピューティングデバイスに提供することであって、前記指示が前記第1の候補インタフェースを識別する、提供すること
を行うための前記データ処理システムを備える、請求項1に記載のシステム。
【請求項１７】
音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信の方法であって、
1つまたは複数のプロセッサとメモリとを備えるデータ処理システムのインタフェースを介して、クライアントコンピューティングデバイスのセンサにより検出された入力オーディオ信号を含むデータ・パケットを受信するステップと、
前記データ処理システムによって、前記入力オーディオ信号を解析して、要求および前記要求に対応するトリガキーワードを識別するステップと、
前記データ処理システムによって、前記要求および前記トリガキーワードのうちの少なくとも1つに基づき、第1のアクションデータ構造を生成するステップと、
前記データ処理システムによって、自然言語プロセッサ・コンポーネントによって識別された前記要求および前記トリガキーワードのうちの少なくとも1つを受信するステップと、
前記データ処理システムによって、前記要求および前記トリガキーワードのうちの少なくとも1つに基づき、リアルタイムコンテンツ選択プロセスを介して、コンテンツ・アイテムを選択するステップと、
前記データ処理システムによって、前記クライアントコンピューティングデバイスの閾値距離内にある第1の候補インタフェースおよび第2の候補インタフェースを識別するステップと、
前記データ処理システムによって、前記第1の候補インタフェースに対する第1のコンピューティングパラメータおよび前記第2の候補インタフェースに対する第2のコンピューティングパラメータを識別するステップと、
前記データ処理システムによって、前記第1のコンピューティングパラメータと前記第2のコンピューティングパラメータとの比較に基づいて、前記コンテンツ・アイテムを提示するために、選択されたインタフェースとして前記第1の候補インタフェースを選択するステップと、
前記データ処理システムによって、前記選択されたインタフェースの前記第1のコンピューティングパラメータに従って、提示するための前記コンテンツ・アイテムを提供するステップと
を含む、方法。
【請求項１８】
前記第1のコンピューティングパラメータに基づき、前記第1の候補インタフェースに対する第1のリソース利用値を決定し、前記第2のコンピューティングパラメータならびにバッテリステータス、プロセッサ利用率、メモリ利用率、およびネットワーク帯域幅利用率の少なくとも１つに基づき、前記第2の候補インタフェースに対する第2のリソース利用値を決定するステップと、
前記第1のリソース利用値および前記第2のリソース利用値に基づき、前記コンテンツ・アイテムを提示するために、前記選択されたインタフェースとして前記第1の候補インタフェースを選択するステップと
を含む、請求項17に記載の方法。
【請求項１９】
前記第1の候補インタフェースが、アカウントにリンクされた前記クライアントコンピューティングデバイスに対応し、かつ、前記第2の候補インタフェースが、前記アカウントにリンクされた第2のクライアントコンピューティングデバイスに対応すると決定するステップを含む、請求項17に記載の方法。
【請求項２０】
前記クライアントコンピューティングデバイスが、第1のクライアントコンピューティングデバイスであり、
前記第1のクライアントコンピューティングデバイスと第2のクライアントコンピューティングデバイスとの間の距離を決定するステップと、
前記コンテンツ・アイテムを前記第2のクライアントコンピューティングデバイスへ送信するステップと
を含む、請求項17に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
本願は、発明の名称を「パケット化されたデータのマルチモーダル送信」とした２０１７年８月１１日出願の米国特許出願第１５／６７４、８３８号、および発明の名称を「パケット化されたデータのマルチモーダル送信とした」２０１６年１２月３０日出願の米国特許出願第１５／３９５、７０３号に対する優先権の利益を主張し、その各々は引用により全体として全ての目的で本明細書に組み込まれる。
【０００２】
コンピューティングリソースを利用しているコンピューティングデバイスへのデータの送信は、過度なパケット・ベースのネットワーク送信または過度のネットワークトラフィックデータのネットワーク送信をもたらし、コンピューティングデバイスが正しく前記ネットワークトラフィックデータを処理し、前記ネットワークトラフィックデータに関連する動作を完了し、または前記ネットワークトラフィックデータにタイムリーに応答することを防止しうる。コンテンツ・アイテムオブジェクトに対応するネットワーク送信の制御は、コンピューティングデバイスの間のネットワークトラフィックデータのネットワーク送信を開始しうる大量のコンテンツ・アイテムオブジェクトにより複雑化されうる。
【発明の概要】
【課題を解決するための手段】
【０００３】
少なくとも１つの態様は、音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のシステムに関する。データ処理システムにより実行される自然言語プロセッサ・コンポーネントは、データ処理システムのインタフェースを介して、クライアントコンピューティングデバイスのセンサにより検出された入力オーディオ信号を含むデータ・パケットを受信することができる。当該自然言語プロセッサ・コンポーネントは当該入力オーディオ信号を解析して、要求および当該要求に対応するトリガキーワードを識別することができる。データ処理システムのダイレクト・アクション・アプリケーション・プログラミング・インタフェースは、当該要求および当該トリガキーワードの少なくとも１つに基づいて第１のアクションデータ構造を生成することができる。データ処理システムにより実行されたコンテンツセレクタコンポーネントは、当該自然言語プロセッサにより識別された当該要求および当該トリガキーワードのうち少なくとも１つを受信することができ、リアルタイムコンテンツ選択プロセスを介して当該要求および当該トリガキーワードのうち少なくとも１つに基づいて、コンテンツ・アイテムを選択することができる。データ処理システムのインタフェース管理コンポーネントは、複数のインタフェースをポーリングして第１の候補インタフェースおよび第２の候補インタフェースを識別することができ、第１の候補インタフェースに対する第１のリソース利用値および第２の候補インタフェースに対する第２のリソース利用値を決定することができる。第１のリソース利用値および第２のリソース利用値は、バッテリステータス、プロセッサ利用率、メモリ利用率、インタフェースパラメータ、およびネットワーク帯域幅利用率の少なくとも１つに基づくことができる。当該インタフェース管理コンポーネントは、第１のリソース利用値および第２のリソース利用値の比較に基づいて、第１の候補インタフェースを、当該コンテンツ・アイテムを提供するための選択されたインタフェースとして選択することができ、第１のリソース利用値および第２のリソース利用値の比較に基づいて選択された当該選択されたインタフェースと互換なモダリティで配送するために当該コンテンツ・アイテムを変換することができる。当該インタフェース管理コンポーネントは、クライアントコンピューティングデバイスからオーディオ出力を描画するために、第１のアクションデータ構造をクライアントコンピューティングデバイスに提供でき、当該選択されたインタフェースから描画するコンテンツ・アイテムを配送するための第１のモダリティに関して変換された当該コンテンツ・アイテムを送信することができる。
【０００４】
少なくとも１つの態様は、音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信の方法に関する。当該方法は、データ処理システムにより実行される自然言語プロセッサ・コンポーネントにより、データ処理システムのインタフェースを介して、クライアントコンピューティングデバイスのセンサにより検出された入力オーディオ信号を含むデータ・パケットを受信することができる。当該方法は、当該自然言語プロセッサ・コンポーネントにより、当該入力オーディオ信号から、要求および当該要求に対応するトリガキーワードを識別することができる。当該方法は、データ処理システムのダイレクト・アクション・アプリケーション・プログラミング・インタフェースにより、当該トリガキーワードの少なくとも１つに基づいて第１のアクションデータ構造を生成することができる。当該方法は、データ処理システムにより実行されたコンテンツセレクタコンポーネントにより、当該自然言語プロセッサにより識別された当該要求および当該トリガキーワードのうち少なくとも１つを受信し、リアルタイムコンテンツ選択プロセスを介して当該要求および当該トリガキーワードのうち少なくとも１つに基づいて、コンテンツ・アイテムを選択することができる。当該方法は、データ処理システムのインタフェース管理コンポーネントにより、複数のインタフェースをポーリングして、第１の候補インタフェースおよび第２の候補インタフェースを識別することができる。当該方法は、当該インタフェース管理コンポーネントにより、第１の候補インタフェースに対する第１のリソース利用値および第２の候補インタフェースに対する第２のリソース利用値を決定することができる。第１のリソース利用値および第２のリソース利用値は、バッテリステータス、プロセッサ利用率、メモリ利用率、インタフェースパラメータ、およびネットワーク帯域幅利用率の少なくとも１つに基づくことができる。当該方法は、第１のリソース利用値および第２のリソース利用値の比較に基づいて、第１の候補インタフェースを、当該コンテンツ・アイテムを提供するための選択されたインタフェースとして選択することができる。当該方法は第１のリソース利用値および第２のリソース利用値の比較に基づいて選択された当該選択されたインタフェースと互換なモダリティで配送するために当該コンテンツ・アイテムを変換することができる。当該方法は、クライアントコンピューティングデバイスからオーディオ出力を描画するために、第１のアクションデータ構造をクライアントコンピューティングデバイスに提供できる。当該方法は、当該選択されたインタフェースから描画するコンテンツ・アイテムを配送するための第１のモダリティに関して変換された当該コンテンツ・アイテムを送信することができる。
【０００５】
少なくとも１つの態様は、１つまたは複数のデータプロセッサにより実行されたとき、当該１つまたは複数のデータプロセッサに音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のための動作を実施させる命令を格納するコンピュータ可読記憶媒体に関する。当該動作は、データ処理システムにより実行される自然言語プロセッサ・コンポーネントにより、データ処理システムのインタフェースを介して、クライアントコンピューティングデバイスのセンサにより検出された入力オーディオ信号を含むデータ・パケットを受信することができる。当該動作は、当該自然言語プロセッサ・コンポーネントにより、当該入力オーディオ信号から、要求および当該要求に対応するトリガキーワードを識別することができる。当該動作は、データ処理システムのダイレクト・アクション・アプリケーション・プログラミング・インタフェースにより、当該トリガキーワードの少なくとも１つに基づいて第１のアクションデータ構造を生成することができる。当該動作は、データ処理システムにより実行されたコンテンツセレクタコンポーネントにより、当該自然言語プロセッサにより識別された当該要求および当該トリガキーワードのうち少なくとも１つを受信し、リアルタイムコンテンツ選択プロセスを介して当該要求および当該トリガキーワードのうち少なくとも１つに基づいて、コンテンツ・アイテムを選択することができる。当該動作は、データ処理システムのインタフェース管理コンポーネントにより、複数のインタフェースをポーリングして、第１の候補インタフェースおよび第２の候補インタフェースを識別することができる。当該動作は、当該インタフェース管理コンポーネントにより、第１の候補インタフェースに対する第１のリソース利用値および第２の候補インタフェースに対する第２のリソース利用値を決定することができる。第１のリソース利用値および第２のリソース利用値は、バッテリステータス、プロセッサ利用率、メモリ利用率、インタフェースパラメータ、およびネットワーク帯域幅利用率の少なくとも１つに基づくことができる。当該動作は、第１のリソース利用値および第２のリソース利用値の比較に基づいて、第１の候補インタフェースを、当該コンテンツ・アイテムを提供するための選択されたインタフェースとして選択することができる。当該動作は第１のリソース利用値および第２のリソース利用値の比較に基づいて選択された当該選択されたインタフェースと互換なモダリティで配送するために当該コンテンツ・アイテムを変換することができる。当該動作は、クライアントコンピューティングデバイスからオーディオ出力を描画するために、第１のアクションデータ構造をクライアントコンピューティングデバイスに提供できる。当該動作は、当該選択されたインタフェースから描画するコンテンツ・アイテムを配送するための第１のモダリティに関して変換された当該コンテンツ・アイテムを送信することができる。
【０００６】
少なくとも１つの態様は、音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のシステムに関する。データ処理システムにより実行される自然言語プロセッサ・コンポーネントは、データ処理システムのインタフェースを介して、クライアントコンピューティングデバイスのセンサにより検出された入力オーディオ信号を含むデータ・パケットを受信することができる。当該自然言語プロセッサ・コンポーネントは当該入力オーディオ信号を解析して、要求および当該要求に対応するトリガキーワードを識別することができる。データ処理システムのダイレクト・アクション・アプリケーション・プログラミング・インタフェースは、当該要求および当該トリガキーワードの少なくとも１つに基づいて、第１のアクションデータ構造を生成することができる。データ処理システムにより実行されたコンテンツセレクタコンポーネントは、当該自然言語プロセッサにより識別された当該要求および当該トリガキーワードのうち少なくとも１つを受信することができ、リアルタイムコンテンツ選択プロセスを介して当該要求および当該トリガキーワードのうち少なくとも１つに基づいて、コンテンツ・アイテムを選択することができる。データ処理システムのインタフェース管理コンポーネントは、複数のインタフェースをポーリングして、当該コンピューティングデバイスの閾値距離内にある第１の候補インタフェースおよび第２の候補インタフェースを識別し、第１の候補インタフェースに対する第１のリソース利用値および第２の候補インタフェースに対する第２のリソース利用値を決定することができる。当該インタフェース管理コンポーネントは、第１のリソース利用値および第２のリソース利用値の比較に基づいて、第１の候補インタフェースを、当該コンテンツ・アイテムを提供するための選択されたインタフェースとして選択することができ、第１のリソース利用値および第２のリソース利用値の比較に基づいて選択された当該選択されたインタフェースと互換なモダリティで配送するために当該コンテンツ・アイテムを提供することができる。当該インタフェース管理コンポーネントは、当該コンテンツ・アイテムを第１のモダリティで送信して、当該選択されたインタフェースから描画するための当該コンテンツ・アイテムを配送することができる。
【０００７】
少なくとも１つの態様は、音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信の方法に関する。当該方法は、データ処理システムにより実行される自然言語プロセッサ・コンポーネントにより、データ処理システムのインタフェースを介して、クライアントコンピューティングデバイスのセンサにより検出された入力オーディオ信号を含むデータ・パケットを受信することができる。当該方法は、当該自然言語プロセッサ・コンポーネントにより、当該入力オーディオ信号から、要求および当該要求に対応するトリガキーワードを識別することができる。当該方法は、データ処理システムのダイレクト・アクション・アプリケーション・プログラミング・インタフェースにより、当該トリガキーワードの少なくとも１つに基づいて第１のアクションデータ構造を生成することができる。当該方法は、データ処理システムにより実行されたコンテンツセレクタコンポーネントにより、当該自然言語プロセッサにより識別された当該要求および当該トリガキーワードのうち少なくとも１つを受信し、リアルタイムコンテンツ選択プロセスを介して当該要求および当該トリガキーワードのうち少なくとも１つに基づいて、コンテンツ・アイテムを選択することができる。当該方法は、データ処理システムのインタフェース管理コンポーネントにより、複数のインタフェースをポーリングして、当該コンピューティングデバイスの閾値距離内にある第１の候補インタフェースおよび第２の候補インタフェースを識別することができる。当該方法は、当該インタフェース管理コンポーネントにより、第１の候補インタフェースに対する第１のリソース利用値および第２の候補インタフェースに対する第２のリソース利用値を決定することができる。当該方法は、第１のリソース利用値および第２のリソース利用値の比較に基づいて、第１の候補インタフェースを、当該コンテンツ・アイテムを提供するための選択されたインタフェースとして選択することができる。当該方法は第１のリソース利用値および第２のリソース利用値の比較に基づいて選択された当該選択されたインタフェースと互換なモダリティで配送するために当該コンテンツ・アイテムを変換することができる。当該方法は当該選択されたインタフェースから描画するコンテンツ・アイテムを配送するための第１のモダリティに関して変換された当該コンテンツ・アイテムを送信することができる。
【０００８】
少なくとも１つの態様は、１つまたは複数のデータプロセッサにより実行されたとき、当該１つまたは複数のデータプロセッサに音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のための動作を実施させる命令を格納するコンピュータ可読記憶媒体に関する。当該動作は、データ処理システムにより実行される自然言語プロセッサ・コンポーネントにより、データ処理システムのインタフェースを介して、クライアントコンピューティングデバイスのセンサにより検出された入力オーディオ信号を含むデータ・パケットを受信することができる。当該動作は、当該自然言語プロセッサ・コンポーネントにより、当該入力オーディオ信号から、要求および当該要求に対応するトリガキーワードを識別することができる。当該動作は、データ処理システムのダイレクト・アクション・アプリケーション・プログラミング・インタフェースにより、当該トリガキーワードの少なくとも１つに基づいて第１のアクションデータ構造を生成することができる。当該動作は、データ処理システムにより実行されたコンテンツセレクタコンポーネントにより、当該自然言語プロセッサにより識別された当該要求および当該トリガキーワードのうち少なくとも１つを受信し、リアルタイムコンテンツ選択プロセスを介して当該要求および当該トリガキーワードのうち少なくとも１つに基づいて、コンテンツ・アイテムを選択することができる。当該動作は、データ処理システムのインタフェース管理コンポーネントにより、複数のインタフェースをポーリングして、当該コンピューティングデバイスの閾値距離を有する第１の候補インタフェースおよび第２の候補インタフェースを識別することができる。当該動作は、当該インタフェース管理コンポーネントにより、第１の候補インタフェースに対する第１のリソース利用値および第２の候補インタフェースに対する第２のリソース利用値を決定することができる。当該動作は、第１のリソース利用値および第２のリソース利用値の比較に基づいて、第１の候補インタフェースを、当該コンテンツ・アイテムを提供するための選択されたインタフェースとして選択することができる。当該動作は第１のリソース利用値および第２のリソース利用値の比較に基づいて選択された当該選択されたインタフェースと互換なモダリティで配送するために当該コンテンツ・アイテムを変換することができる。当該動作は、当該選択されたインタフェースから描画するコンテンツ・アイテムを配送するための第１のモダリティに関して変換された当該コンテンツ・アイテムを送信することができる。
【０００９】
これらのおよび他の態様および実装を以下で説明する。以上の情報および以下の詳細な説明は様々な態様および実装の例示的な例を含み、クレームした態様および実装の性質と特徴を理解するための概要またはフレームワークを提供する。当該図面は当該様々な態様および実装の例示とさらなる理解を提供し、本明細書に組み込まれ本明細書の一部を構成する。
【００１０】
添付図面は正しい縮尺で描かれていない。当該様々な図面における同じ参照番号および指定は同じ要素を示す。明確さの目的のため、全てのコンポーネントが全ての図面においてラベル付けされていないかもしれない。
【図面の簡単な説明】
【００１１】
【図１】音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のシステムを示す図である。
【図２】音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のための流れ図である。
【図３】音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信の方法を示す図である。
【図４】音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のシステムの例示的な動作を示す図である。
【図５】音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のシステムの例示的な動作を示す図である。
【図６】本明細書で説明し図示したシステムおよび方法の要素を実装するために使用されうるコンピュータシステムのための汎用アーキテクチャを示すブロック図である。
【発明を実施するための形態】
【００１２】
以下は様々な概念のより詳細な説明であり、音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信の方法、装置、およびシステムの実装に関連する。上で導入し以下でさらに詳細に説明する様々な概念を任意の多数の方法で実装してもよい。
【００１３】
本開示のシステムおよび方法は一般に、音声起動されたコンピュータ・ネットワーク環境におけるデータ・パケット（または他のプロトコルベースの）送信のための最適な送信モダリティを識別するデータ処理システムに関する。データ処理システムは、例えば、コンテンツ・アイテムのコンピュータ・ネットワークを通って１つまたは複数のクライアントコンピューティングデバイスに、または単一のクライアントコンピューティングデバイスの異なるインタフェース（例えば、異なるアプリまたはプログラム）にルーティングされるデータ・パケットに対する複数のオプションから送信モダリティを選択することによって、１つまたは複数のコンピュータ・ネットワーク上のデータ・パケット送信の効率および有効性を高めることができる。当該選択された動作に対応するデータ・パケットまたは他のプロトコルベースの信号は、複数のコンピューティングデバイスの間のコンピュータ・ネットワークを通じてルーティングされることができる。例えばデータ処理システムは、要求がそこから受信されたインタフェースと異なるインタフェースにコンテンツ・アイテムをルーティングすることができる。当該異なるインタフェースは、要求がそこから受信された同一のクライアントコンピューティングデバイスまたは異なるクライアントコンピューティングデバイスであることができる。データ処理システムは、コンテンツ・アイテム送信に対する複数の候補インタフェースからクライアントコンピューティングデバイスへの少なくとも１つの候補インタフェースを選択することができる。当該候補インタフェースを、プロセッサ能力または利用率、メモリ能力または可用性、バッテリステータス、利用可能な電力、ネットワーク帯域幅利用率、インタフェースパラメータまたは他のリソース利用値のような技術的またはコンピューティングパラメータに基づいて決定することができる。当該候補インタフェースに関連付けられた候補インタフェースまたは利用率に基づいてクライアントコンピューティングデバイスから描画するための当該コンテンツ・アイテムを受信し提供するためのインタフェースを選択することによって、データ処理システムは、当該コンテンツ・アイテムを描画するクライアントコンピューティングデバイスのネットワーク帯域幅利用率、レイテンシ、または処理の利用または電力消費を減らすことができる。これは、処理電力およびメモリのような他のコンピューティングリソースを節約し、データ処理システムによる電気電力消費および当該コンピュータ・ネットワークを介した当該削減されたデータ送信を減らし、データ処理システムの帯域幅要件および利用を減らす。
【００１４】
本明細書で説明するシステムおよび方法は入力オーディオクエリを受信するデータ処理システムを含むことができる。当該データ処理システをまた、入力オーディオ信号と称することができる。当該入力オーディオクエリから、データ処理システムは要求および当該要求に対応するトリガキーワードを識別することができる。当該トリガキーワードまたは当該要求に基づいて、データ処理システムは第１のアクションデータ構造を生成することができる。例えば、第１のアクションデータ構造はクライアントコンピューティングデバイスから受信された当該入力オーディオクエリに対する有機的な応答を含むことができ、データ処理システムは、当該要求がそこから受信された同一のインタフェースを介してオーディオ出力を描画するための同一のクライアントコンピューティングデバイスに第１のアクションデータ構造を提供することができる。
【００１５】
データ処理システムはまた、当該トリガキーワードまたは当該要求に基づいて少なくとも１つのコンテンツ・アイテムを選択することができる。データ処理システムは当該コンテンツ・アイテム（複数可）を描画するための複数の候補インタフェースを識別または決定することができる。当該インタフェースは、ディスプレイスクリーン、オーディオインタフェース、スピーカ、当該入力オーディオクエリを生成したクライアントコンピューティングデバイス上で、または異なるクライアントコンピューティングデバイス上で利用可能なアプリケーションまたはプログラムのような１つまたは複数のハードウェアまたはソフトウェアインタフェースを含むことができる。当該インタフェースは、コンテンツ・アイテムを挿入するためのオンラインドキュメントのためのjavaスクリプトスロット、ならびにプッシュ通知インタフェースを含むことができる。データ処理システムは当該異なる候補インタフェースに対する利用値を決定することができる。当該利用値は、例えば、電力、処理、メモリ、帯域幅、またはインタフェースパラメータ能力を示すことができる。当該候補インタフェースに対する当該利用値に基づいて、データ処理システムは、当該コンテンツ・アイテムの提示または描画のための選択されたインタフェースとして候補インタフェースを選択することができる。例えば、データ処理システムは、当該選択されたインタフェースと互換なモダリティで配送するために当該コンテンツ・アイテムを変換または提供することができる。当該選択されたインタフェースは、当該入力オーディオ信号を生成した同一のクライアントコンピューティングデバイスまたは異なるクライアントコンピューティングデバイスのインタフェースであることができる。候補インタフェースに関連付けられた利用値に基づいてコンピューティングネットワークを介してデータ・パケットをルーティングすることによって、データ処理システムは、利用可能なオプションから最小量の処理電力、メモリ、または帯域幅を使用できる方式、または１つまたは複数のクライアントコンピューティングデバイスの電力を保存できる方式で、当該コンテンツ・アイテムに対する。
【００１６】
データ処理システムは、当該コンテンツ・アイテムまたは第１のアクションデータ構造を、パケットまたは他のプロトコルベースのデータメッセージ送信によりコンピュータ・ネットワークを介して、クライアントコンピューティングデバイスに提供することができる。当該出力信号は、クライアントコンピューティングデバイスのオーディオドライバコンポーネントに、音波、例えば、オーディオ出力を生成させることができる。当該音波はクライアントコンピューティングデバイスから出力できる。当該オーディオ（または他の）出力は第１のアクションデータ構造または当該コンテンツ・アイテムに対応することができる。例えば第１のアクションデータ構造をオーディオ出力としてルーティングでき、当該コンテンツ・アイテムをテキストベースのメッセージとしてルーティングすることができる。第１のアクションデータ構造および当該コンテンツ・アイテムを異なるインタフェースにルーティングすることによって、データ処理システムは、第１のアクションデータ構造および当該コンテンツ・アイテムの両方を同一のインタフェースに提供することに対して、各インタフェースにより利用されるリソースを保存することができる。これは、第１のアクションデータ構造および当該コンテンツ・アイテムの別々のおよび独立なルーティングなしのケースよりも、当該選択されたインタフェース（またはそれらの対応するデバイス）によるより少ないデータ処理動作、より少ないメモリ利用、またはより少ないネットワーク帯域幅利用をもたらす。
【００１７】
データ処理システムは、マイクロフォンを介して入力オーディオ信号を検出するコンピューティングデバイスの範囲内の１つまたは複数のデバイスを識別することができる。データ処理システムは、１つまたは複数の候補インタフェースを識別するための範囲内の当該１つまたは複数の識別されたデバイスをポーリングすることができる。データ処理システムは、当該１つまたは複数の候補インタフェースの各々が、それを介して通知またはコンテンツ・アイテムを送信するためのインタフェースを選択するためのリソース利用値を決定することができる。例えば、データ処理システムは、コンテンツ・アイテムまたは通知を送信することを決定することができる。データ処理システムは、コンピューティングデバイスにより受信された音声入力に応答して当該コンテンツ・アイテムまたは当該通知を送信することを決定することができる。当該コンテンツ・アイテムまたは当該通知の送信の前に、データ処理システムは、当該コンピューティングデバイスの範囲内の１つまたは複数のコンピューティングデバイスを識別することができる。データ処理システムは当該複数のコンピューティングデバイスをポーリングして、当該コンテンツ・アイテムに対する候補インタフェースを識別することができる。データ処理システムは、例えば、第１のコンピューティングデバイスの第１の候補インタフェースが高いリソース利用値を有すると判定することができる（例えば、第１の候補インタフェースはオーディオインタフェースであることができ、データ処理システムは第１のコンピューティングデバイスが音楽を再生していると判定することができる）。データ処理システムは、第２の候補インタフェースが低いリソース利用値を有する（例えば、第２の候補インタフェースは現在使用されていない視覚ディスプレイを含むことができる）と判定することができる。データ処理システムはさらに、当該コンテンツ・アイテムをオーディオフォーマットまたは視覚フォーマットで提供しうると判定することができる。データ処理システムは次いで、第２の候補インタフェースを選択し、当該コンテンツ・アイテムを当該視覚フォーマットで変換または選択し、および第２の候補インタフェースを介して表示するための当該候補コンテンツ・アイテムを送信することができる。
【００１８】
図１は、音声起動されたデータ・パケット（または他のプロトコル）ベースのコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のための例示的なシステム１００を示す。システム１００は少なくとも１つのデータ処理システム１０５を含むことができる。データ処理システム１０５は少なくとも１つのプロセッサを有する少なくとも１つのサーバを含むことができる。例えば、データ処理システム１０５は、少なくとも１つのデータセンタまたはサーバ・ファームに配置された複数のサーバを含むことができる。データ処理システム１０５は、オーディオ入力信号から要求および当該要求に関連付けられたトリガキーワードを決定することができる。当該要求およびトリガキーワードに基づいてデータ処理システム１０５は少なくとも１つのアクションデータ構造を決定または選択でき、少なくとも１つのコンテンツ・アイテムを選択することができる（および本明細書で説明したように他のアクションを開始する）。データ処理システム１０５は、当該アクションデータ構造または当該コンテンツ・アイテムを描画するための候補インタフェースを識別でき、当該候補インタフェースに対するまたは当該インタフェースのリソース利用値に基づいて、例えば音声起動された通信または計画システムの一部として、１つまたは複数のクライアントコンピューティングデバイス上の１つまたは複数の候補インタフェースにより描画するための当該アクションデータ構造または当該コンテンツ・アイテムを提供することができる。当該アクションデータ構造（または当該コンテンツ・アイテム）は、描画するときにオーディオ出力または音波を提供する１つまたは複数のオーディオファイルを含むことができる。当該アクションデータ構造または当該コンテンツ・アイテムはオーディオ・コンテンツに加えて他のコンテンツ（例えば、テキスト、ビデオ、または画像コンテンツ）を含むことができる。
【００１９】
データ処理システム１０５は、複数の論理的にグループ化されたサーバを含むことができ、分散コンピューティング技術を促進する。サーバの当該論理グループをデータセンタ、サーバ・ファームまたはマシン・ファームと称してもよい。当該サーバは地理的に分散されることができる。データセンタまたはマシン・ファームを単一のエンティティとして管理してもよく、または当該マシン・ファームは複数のマシン・ファームを含むことができる。各マシン・ファーム内の当該サーバはであることができる不均一−当該サーバまたはマシンのうち１つまたは複数が１つまたは複数のタイプのオペレーティング・システムプラットフォームに従って動作することができる。データ処理システム１０５は、関連付けられた記憶システムとともに１つまたは複数の高密度ラック・システムに格納され、例えばエンタープライズデータセンタに配置された、データセンタ内のサーバを含むことができる。このように統合されたサーバを有するデータ処理システム１０５は、当該システムのシステム管理可能性、データセキュリティ、当該物理セキュリティ、高性能ネットワーク上にサーバおよび高性能記憶システムを配置することでシステム性能を高めることができる。サーバおよび記憶システムを含むデータ処理システム１０５コンポーネントの全部または一部の集約と、それらを高度なシステム管理ツールと組み合わせることで、サーバリソースのより効率的な利用が可能となり、電力および処理要件が節約され、帯域幅利用が減る。
【００２０】
データ処理システム１０５は少なくとも１つの自然言語プロセッサ（ＮＬＰ）コンポーネント１１０、少なくとも１つのインタフェース１１５、少なくとも１つの予測コンポーネント１２０、少なくとも１つのコンテンツセレクタコンポーネント１２５、少なくとも１つのオーディオ信号ジェネレータコンポーネント１３０、少なくとも１つのダイレクト・アクション・アプリケーション・プログラミング・インタフェース（ＡＰＩ）１３５、少なくとも１つのインタフェース管理コンポーネント１４０、および少なくとも１つのデータリポジトリ１４５を含むことができる。ＮＬＰコンポーネント１１０、インタフェース１１５、予測コンポーネント１２０、コンテンツセレクタコンポーネント１２５、オーディオ信号ジェネレータコンポーネント１３０、ダイレクト・アクションＡＰＩ１３５、およびインタフェース管理コンポーネント１４０はそれぞれ、当該少なくとも１つのコンピュータ・ネットワーク１６５を介してデータリポジトリ１４５および他のコンピューティングデバイス（例えば、少なくとも１つのクライアントコンピューティングデバイス１５０、少なくとも１つのコンテンツプロバイダコンピューティングデバイス１５５、または少なくとも１つのサービスプロバイダコンピューティングデバイス１６０）と通信するように構成されたプログラム可能論理アレイのような少なくとも１つの処理ユニット、サーバ、仮想サーバ、回路、エンジン、エージェント、機器、または他の論理デバイスを含むことができる。ネットワーク１６５は、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、メトロポリタン・ネットワーク、または他の領域ネットワーク、イントラネット、衛星ネットワーク、音声またはデータモバイル電話通信ネットワーク、およびその組合せのような他のコンピュータ・ネットワークのようなコンピュータ・ネットワークを含むことができる。
【００２１】
ネットワーク１６５は、コンテンツ配置または検索エンジン結果システムに関連付けられるか、または、サードパーティコンテンツ・アイテムをコンテンツ・アイテム配置キャンペーンの一部として含む権利があるディスプレイネットワーク、例えば、インターネット上で利用可能な情報リソースのサブセットを含むかまたは構成することができる。ネットワーク１６５を、クライアントコンピューティングデバイス１５０により提供、出力、描画、または表示できるウェブページ、ウェブサイト、ドメイン名、またはユニフォーム・リソース・ロケータのような情報リソースにアクセスするためにデータ処理システム１０５により使用することができる。例えば、ネットワーク１６５を介してクライアントコンピューティングデバイス１５０のユーザはデータ処理システム１０５、コンテンツプロバイダコンピューティングデバイス１５５またはサービスプロバイダコンピューティングデバイス１６０により提供された情報またはデータにアクセスすることができる。
【００２２】
ネットワーク１６５は、例えばポイント・ツー・ポイントネットワーク、ブロードキャストネットワーク、広帯域ネットワーク、ローカル・エリア・ネットワーク、電気通信ネットワーク、データ通信ネットワーク、コンピュータ・ネットワーク、ＡＴＭ（Asynchronous Transfer Mode）ネットワーク、ＳＯＮＥＴ（Synchronous Optical Network）ネットワーク、ＳＤＨ（Synchronous Digital Hierarchy）ネットワーク、ワイヤレスネットワークまたは有線ネットワーク、およびその組合せを含むことができる。ネットワーク１６５は赤外線チャネルまたは衛星帯域のような無線リンクを含むことができる。ネットワーク１６５のトポロジはバス、星形、またはリング・ネットワークトポロジを含んでもよい。ネットワーク１６５は高度携帯電話プロトコル（「ＡＭＰＳ」）、時分割多重アクセス（「ＴＤＭＡ」）、符号分割多重アクセス（「ＣＤＭＡ」）、グローバル・システム・フォー・モバイル・コミュニケーション（「ＧＳＭ(登録商標)」）、汎用パケット無線サービス（「ＧＰＲＳ」）またはユニバーサル・モバイル電気通信システム（「ＵＭＴＳ」）を含む、モバイルデバイスの間で通信するために使用される任意の１つまたは複数のプロトコルを用いた携帯電話ネットワークを含むことができる。様々なタイプのデータが異なるプロトコルを介して送信されてもよく、または、同一のタイプのデータが異なるプロトコルを介して送信されてもよい。
【００２３】
クライアントコンピューティングデバイス１５０、コンテンツプロバイダコンピューティングデバイス１５５、およびサービスプロバイダコンピューティングデバイス１６０はそれぞれ、ネットワーク１６５を介して互いにまたはデータ処理システム１０５と通信するためのプロセッサを有するコンピューティングデバイスのような少なくとも１つの論理デバイスを含むことができる。クライアントコンピューティングデバイス１５０、コンテンツプロバイダコンピューティングデバイス１５５、およびサービスプロバイダコンピューティングデバイス１６０はそれぞれ、少なくとも１つのデータセンタに配置された少なくとも１つのサーバ、プロセッサまたはメモリ、または複数の計算リソースまたはサーバを含むことができる。クライアントコンピューティングデバイス１５０、コンテンツプロバイダコンピューティングデバイス１５５、およびサービスプロバイダコンピューティングデバイス１６０はそれぞれ、デスクトップコンピュータ、ラップトップ、タブレット、携帯情報端末、スマートフォン、ポータブルコンピュータ、サーバ、シン・クライアントコンピュータ、仮想サーバ、または他のコンピューティングデバイスのような少なくとも１つのコンピューティングデバイスを含むことができる。
【００２４】
クライアントコンピューティングデバイス１５０は少なくとも１つのセンサ１５１、少なくとも１つのトランスデューサ１５２、少なくとも１つのオーディオドライバ１５３、および少なくとも１つのスピーカ１５４を含むことができる。センサ１５１はマイクロフォンまたはオーディオ入力センサを含むことができる。トランスデューサ１５２は当該オーディオ入力を電子信号に変換することができ、または逆も成り立つ。オーディオドライバ１５３は、オーディオ入力を処理するかまたはオーディオ出力を提供するようにクライアントコンピューティングデバイス１５０の他のコンポーネントのうちセンサ１５１、トランスデューサ１５２またはオーディオドライバ１５３を制御するためにクライアントコンピューティングデバイス１５０の１つまたは複数のプロセッサにより実行されるスクリプトまたはプログラムを含むことができる。スピーカ１５４は当該オーディオ出力信号を送信することができる。
【００２５】
クライアントコンピューティングデバイス１５０を、音声クエリをオーディオ入力としてクライアントコンピューティングデバイス１５０（センサ１５１を介して）に入力するおよびデータ処理システム１０５（またはコンテンツプロバイダコンピューティングデバイス１５５またはサービスプロバイダコンピューティングデバイス１６０）からクライアントコンピューティングデバイス１５０に提供できるコンピュータ生成された音声の形でオーディオ出力を受信し、スピーカ１５４から出力するエンド・ユーザに関連付けることができる。当該オーディオ出力は、ダイレクト・アクションＡＰＩ１３５から受信されたアクションデータ構造、またはコンテンツセレクタコンポーネント１２５により出力されたコンテンツ・アイテムに対応することができる。当該コンピュータ生成された音声は、実際の人またはコンピュータ生成された言語からの記録を含むことができる。
【００２６】
コンテンツプロバイダコンピューティングデバイス１５５（またはデータ処理システム１０５またはサービスプロバイダコンピューティングデバイス１６０）は、クライアントコンピューティングデバイス１５０により表示するためのオーディオベースのコンテンツ・アイテムまたはアクションデータ構造をオーディオ出力として提供することができる。当該アクションデータ構造またはコンテンツ・アイテムは、「Is today a beach day?」という音声入力クエリに対する有機的な応答として「Today it will be sunny and 80 degrees at the beach」と述べる音声ベースのメッセージのような、商品またはサービスに対する有機的な応答または申し出を含むことができる。データ処理システム１０５（またはコンテンツプロバイダコンピューティングデバイス１５５のような他のシステム１００のコンポーネント）はまた、日焼け止めを提供する音声またはテキストメッセージベースのコンテンツ・アイテムのようなコンテンツ・アイテムを応答として提供することができる。
【００２７】
コンテンツプロバイダコンピューティングデバイス１５５またはデータリポジトリ１４５は、音声ベースのクエリに応答して提供できる一連のオーディオアクションデータ構造またはコンテンツ・アイテムを格納するためのメモリを含むことができる。当該アクションデータ構造およびコンテンツ・アイテムは、ネットワーク１６５を介して送信するためのパケット・ベースのデータ構造を含むことができる。コンテンツプロバイダコンピューティングデバイス１５５はまた、オーディオまたはテキストベースのコンテンツ・アイテム（または他のコンテンツ・アイテム）をデータ処理システム１０５に提供することができる。それらをデータリポジトリ１４５に格納することができる。データ処理システム１０５は、当該オーディオアクションデータ構造またはテキストベースのコンテンツ・アイテムを選択し、これらのクライアントコンピューティングデバイス１５０の１つから受信されたクエリに応答して、それらを同一のまたは異なるクライアントコンピューティングデバイス１５０に提供する（または提供するようにコンテンツプロバイダコンピューティングデバイス１５５に指示する）ことができる。当該オーディオベースのアクションデータ構造は、排他的にオーディオであることができ、または、テキスト、画像、またはビデオデータと組み合わせることができる。当該コンテンツ・アイテムは排他的にテキストであることができ、または、オーディオ、画像またはビデオデータと組み合わせることができる。
【００２８】
サービスプロバイダコンピューティングデバイス１６０は少なくとも１つのサービスプロバイダ自然言語プロセッサ（ＮＬＰ）コンポーネント１６１および少なくとも１つのサービスプロバイダインタフェース１６２を含むことができる。サービスプロバイダＮＬＰコンポーネント１６１（または他のコンポーネントのようなダイレクト・アクションＡＰＩｏｆサービスプロバイダコンピューティングデバイス１６０）は、クライアントコンピューティングデバイス１５０（データ処理システム１０５を介してまたはデータ処理システム１０５をバイパスして）と協調して、クライアントコンピューティングデバイス１５０およびサービスプロバイダコンピューティングデバイス１６０の間で行き来するリアルタイム音声またはオーディオベースの会話（例えば、セッション）を生成することができる。例えば、サービスプロバイダインタフェース１６２は、データメッセージ（例えば、アクションデータ構造またはコンテンツ・アイテム）を受信し、または、データメッセージ（例えば、アクションデータ構造またはコンテンツ・アイテム）をデータ処理システム１０５のダイレクト・アクションＡＰＩ１３５に提供することができる。ダイレクト・アクションＡＰＩ１３５はまた、サービスプロバイダコンピューティングデバイス１６０からの入力と独立にまたは当該入力なしに当該アクションデータ構造を生成することができる。サービスプロバイダコンピューティングデバイス１６０およびコンテンツプロバイダコンピューティングデバイス１５５を同一のエンティティに関連付けることができる。例えば、コンテンツプロバイダコンピューティングデバイス１５５は、日焼け止め、ビーチタオルまたは水着のようなビーチ関連のサービスに利用可能なコンテンツ・アイテムを生成、格納、または作成でき、サービスプロバイダコンピューティングデバイス１６０は、クライアントコンピューティングデバイス１５０とのセッションを確立して、ビーチでの天気に関する音声入力クエリに応答し、ビーチに対する方向、またはビーチエリアに対する推奨を提供し、当該クエリがそこから受信された同一のクライアントコンピューティングデバイス１５０のインタフェース、同一のクライアントコンピューティングデバイス１５０の異なるインタフェース、または異なるクライアントコンピューティングデバイスのインタフェースを介して、これらのコンテンツ・アイテムをクライアントコンピューティングデバイス１５０のエンド・ユーザに提供することができる。データ処理システム１０５はまた、ダイレクト・アクションＡＰＩ１３５、ＮＬＰコンポーネント１１０または他のコンポーネントを介して、サービスプロバイダコンピューティングデバイス１６０を含めるかまたはバイパスすることを含めて、クライアントコンピューティングデバイスとの当該セッションを確立し、例えばビーチ関連のクエリに対する有機的な応答を提供することができる。
【００２９】
データリポジトリ１４５は１つまたは複数のローカルまたは分散データベースを含むことができ、データベース管理システムを含むことができる。データリポジトリ１４５はコンピュータデータ記憶またはメモリを含むことができ、他のデータのうち１つまたは複数のパラメータ１４６、１つまたは複数のポリシ１４７、コンテンツデータ１４８、またはテンプレート１４９を格納することができる。パラメータ１４６、ポリシ１４７、およびテンプレート１４９はクライアントコンピューティングデバイス１５０およびデータ処理システム１０５（またはサービスプロバイダコンピューティングデバイス１６０）の間の音声ベースのセッションに関するルールのような情報を含むことができる。コンテンツデータ１４８は、オーディオ出力に対するコンテンツ・アイテムまたは関連付けられたメタデータ、ならびにクライアントコンピューティングデバイス１５０との１つまたは複数の通信セッションの一部でありうる入力オーディオメッセージを含むことができる。
【００３０】
システム１００は、音声起動されたデータ・パケット（または他のプロトコル）環境におけるアクションデータ構造およびコンテンツ・アイテムの処理を最適化することができる。例えば、データ処理システム１０５は、音声起動されたアシスタントサービス、音声コマンドデバイス、インテリジェント・パーソナル・アシスタント、知識ナビゲータ、イベント計画、または他のアシスタントプログラムを含むことができるかまたはその一部であることができる。データ処理システム１０５はアクションデータ構造の１つまたは複数のインスタンスをクライアントコンピューティングデバイス１５０から表示するためのオーディオ出力として提供して、入力オーディオ信号に関連するタスクを実現することができる。例えば、データ処理システムはサービスプロバイダコンピューティングデバイス１６０または他のサードパーティコンピューティングデバイスと通信して、とりわけ、ビーチに関する情報を有するアクションデータ構造を生成することができる。例えば、エンド・ユーザは「OK, I would like to go to the beach this weekend」という入力オーディオ信号をクライアントコンピューティングデバイス１５０に入力でき、アクションデータ構造は、「it will be sunny and 80 degrees at the beach on Saturday, with high tide at 3pm.」のような、ビーチエリアに対する週末の天気予報を示すことができる。
【００３１】
当該アクションデータ構造は、当該入力オーディオ信号への幾つかの有機的なまたはスポンサーされない応答を含むことができる。例えば、当該アクションデータ構造はビーチの天気予報またはビーチへの方向を含むことができる。この例における当該アクションデータ構造は、直接に当該入力オーディオ信号に応答する有機的な、またはスポンサーされないコンテンツを含む。当該コンテンツ・アイテムは、当該入力オーディオ信号に応答して、ビーチの近くにあるコンビニエンスストアからの日焼け止めを購入する申し出のようなスポンサーされたまたは非有機的なコンテンツを含むことができる。本例では、当該有機的なアクションデータ構造（ビーチ予報）は当該入力オーディオ信号（ビーチに関連するクエリ）に応答し、当該コンテンツ・アイテム（日焼け止めのリマインダまたは申し出）はまた、同一の入力オーディオ信号に応答する。データ処理システム１０５は、システム１００のパラメータ（例えば、電力利用、利用可能なディスプレイ、ディスプレイのフォーマット、メモリ要件、帯域幅利用、電力容量または入力電力（例えば、内部バッテリまたは壁出力からの電源のような外部電源）の時刻）を評価して、当該アクションデータ構造および当該コンテンツ・アイテムを同一のクライアントコンピューティングデバイス１５０上の異なる候補インタフェースに、または異なるクライアントコンピューティングデバイス１５０上の異なる候補インタフェースに提供することができる。
【００３２】
データ処理システム１０５は、入力オーディオ信号（例えば、パケット化されたまたは他のプロトコルベースの送信を介したデータ・パケットとして）をデータ処理システム１０５の少なくとも１つのインタフェース１１５に送信しクライアントコンピューティングデバイス１５０のコンポーネントを駆動して（例えば、アクションデータ構造に対する）出力オーディオ信号または他の出力信号（例えば、コンテンツ・アイテム）を描画するためのアプリのような、クライアントコンピューティングデバイス１５０にインストールされたアプリケーション、スクリプトまたはプログラムを含むことができる。データ処理システム１０５はオーディオ入力信号を含むかまたは識別するデータ・パケットまたは他の信号を受信することができる。例えば、データ処理システム１０５は、ＮＬＰコンポーネント１１０を実行して当該オーディオ入力信号を受信することができる。
【００３３】
ＮＬＰコンポーネント１１０は、オーディオ入力信号を（例えば、データリポジトリ１４５内の）格納された代表的な組のオーディオ波形と比較し、最も近いマッチを選択することによって、当該オーディオ入力信号を認識されたテキストに変換することができる。当該代表的な波形は多数のユーザにわたって生成され、会話サンプルで補強することができる。当該オーディオ信号を認識されたテキストに変換された後、ＮＬＰコンポーネント１１０は、例えばユーザにわたるトレーニングを介してまたはマニュアル仕様を通じて、データ処理システム１０５がサービス提供できるアクションに関連付けられる単語に当該テキストをマッチすることができる。
【００３４】
当該オーディオ入力信号は、クライアントコンピューティングデバイスのセンサ１５１（例えば、マイクロフォン）により検出されることができる。トランスデューサ１５２、オーディオドライバ１５３、または他のコンポーネントを介して、クライアントコンピューティングデバイス１５０は当該オーディオ入力信号をデータ処理システム１０５に（例えば、ネットワーク１６５を介して）提供することができる。当該オーディオ入力信号を、（例えば、インタフェース１１５により）受信し、ＮＬＰコンポーネント１１０に提供し、または、データリポジトリ１４５にコンテンツデータ１４８として格納することができる。
【００３５】
ＮＬＰコンポーネント１１０は当該入力オーディオ信号を受信または取得することができる。当該入力オーディオ信号から、ＮＬＰコンポーネント１１０は、少なくとも１つの要求または当該要求に対応する少なくとも１つのトリガキーワードを識別することができる。当該要求は当該入力オーディオ信号の意図または主題を示すことができる。当該トリガキーワードは行われる可能性があるアクションのタイプを示すことができる。例えば、ＮＬＰコンポーネント１１０は当該入力オーディオ信号を解析して、週末にビーチに行くための少なくとも１つの要求を識別することができる。当該トリガキーワードは、取るべきアクションを示す少なくとも１つの単語、フレーズ、語源または部分語、または派生物を含むことができる。例えば、当該入力オーディオ信号からのトリガキーワード「go」または「to go to」は輸送の必要性または家から離れる旅行を示すことができる。本例では、当該入力オーディオ信号（または識別された要求）は輸送の意図を直接表現しないが、当該トリガキーワードは、輸送が当該要求により示される少なくとも１つの他のアクションに対する付属的アクションであることを示す。
【００３６】
予測コンポーネント１２０（またはデータ処理システム１０５の他の機構）は、当該要求または当該トリガキーワードに基づいて、当該入力オーディオ信号に関連付けられた少なくとも１つのアクションデータ構造を生成することができる。当該アクションデータ構造は、当該入力オーディオ信号の主題に関連する情報を示すことができる。当該アクションデータ構造は、当該入力オーディオ信号への有機的な応答のような１つまたは複数のアクションを含むことができる。例えば、入力オーディオ信号「OK, I would like to go to the beach this weekend」はビーチの天気予報、サーフィンレポート、または水温情報に対する関心を示す少なくとも１つの要求を含むことができ、ビーチへ持っていきたいアイテムの必要性、またはビーチへの輸送の必要性のような、少なくとも１つのトリガキーワード、例えば、ビーチへの旅行を示す「go」を含むことができる。予測コンポーネント１２０は、少なくとも１つのアクションデータ構造に対する主題、ビーチの天気予報の要求の指示、ならびに、ビーチで１日を過ごすことに関連するスポンサーされたコンテンツに対するクエリの指示のようなコンテンツ・アイテムに対する主題を生成または識別することができる。当該要求または当該トリガキーワードから、予測コンポーネント１２０（またはＮＬＰコンポーネント１１０またはダイレクト・アクションＡＰＩ１３５のような他のシステム１００のコンポーネント）は、アクションデータ構造またはコンテンツ・アイテムに対する主題を予測、推定、または決定する。この主題から、ダイレクト・アクションＡＰＩ１３５は、少なくとも１つのアクションデータ構造を生成でき、少なくとも１つのコンテンツプロバイダコンピューティングデバイス１５５と通信して少なくとも１つのコンテンツ・アイテム１５５を取得することができる。予測コンポーネント１２０は、データリポジトリ１４５内のパラメータ１４６またはポリシ１４７にアクセスしてアクションデータ構造またはコンテンツ・アイテムに対する要求を決定または推定することができる。例えば、パラメータ１４６またはポリシ１４７は、ビーチの週末の天気予報アクションまたは日焼け止めに対するコンテンツ・アイテムのようなビーチ訪問に関連するコンテンツ・アイテムに対する要求を
示すことができる。
【００３７】
コンテンツセレクタコンポーネント１２５は、当該アクションデータ構造または当該コンテンツ・アイテムへの関心または要求の何れかの指示を取得することができる。例えば、予測コンポーネント１２０は、直接または間接に（例えば、データリポジトリ１４５を介して）当該アクションデータ構造またはコンテンツ・アイテムの指示をコンテンツセレクタコンポーネント１２５に提供することができる。コンテンツセレクタコンポーネント１２５はこの情報をデータリポジトリ１４５から取得でき、それをコンテンツデータ１４８の一部として格納することができる。当該アクションデータ構造の指示は、コンテンツセレクタコンポーネント１２５に、エンド・ユーザがビーチへの旅行に必要としうる天気予報または製品またはサービスのようなビーチエリア情報に対する必要性を知らせることができる。
【００３８】
コンテンツセレクタコンポーネント１２５により受信された情報、例えば、ビーチへの将来の旅行の指示から、コンテンツセレクタコンポーネント１２５は少なくとも１つのコンテンツ・アイテムを識別することができる。当該コンテンツ・アイテムは当該入力オーディオクエリの主題に応答または関連することができる。例えば、当該コンテンツ・アイテムは、日焼け止めがあるビーチ近くの店を識別するか、またはビーチへのタクシー乗車を提供するメッセージデータを含むことができる。コンテンツセレクタコンポーネント１２５はデータリポジトリ１４５に問い合わせて、当該コンテンツ・アイテムを、例えば、コンテンツデータ１４８から選択または識別することができる。コンテンツセレクタコンポーネント１２５はまた、当該コンテンツ・アイテムをコンテンツプロバイダコンピューティングデバイス１５５から選択することができる。例えばデータ処理システム１０５から受信されたクエリに応答して、コンテンツプロバイダコンピューティングデバイス１５５はコンテンツ・アイテムをデータ処理システム１０５（またはそのコンポーネント）に、当該入力オーディオ信号を生成したクライアントコンピューティングデバイス１５０による最終出力のために、または異なるクライアントコンピューティングデバイス１５０による同一のエンド・ユーザへの出力のために、提供することができる。
【００３９】
オーディオ信号ジェネレータコンポーネント１３０は、入力オーディオ信号に応答して、コンテンツ・アイテム（ならびにアクションデータ構造）を含む出力信号を生成または取得することができる。例えば、データ処理システム１０５は、オーディオ信号ジェネレータコンポーネント１３０を実行して、当該アクションデータ構造または当該コンテンツ・アイテムに対応する出力信号を生成または作成することができる。データ処理システム１０５のインタフェースコンポーネント１１５はコンピュータ・ネットワーク１６５を介して当該出力信号を含む１つまたは複数のデータ・パケットを任意のクライアントコンピューティングデバイス１５０に提供または送信することができる。インタフェース１１５は例えば、データ・パケットを用いて情報を送受信するように設計され、構成され、構築され、または動作することができる。インタフェース１１５は、ネットワークプロトコルのような１つまたは複数のプロトコルを用いて情報を送受信することができる。インタフェース１１５は、ハードウェアインタフェース、ソフトウェアインタフェース、有線インタフェース、またはワイヤレスインタフェースを含むことができる。インタフェース１１５は、或るフォーマットから別のフォーマットへのデータ変換またはデータ・フォーマットを促進することができる。例えば、インタフェース１１５は、システム１００のソフトウェアコンポーネントのような、様々なコンポーネントの間で通信するための定義を含むアプリケーション・プログラミング・インタフェースを含むことができる。
【００４０】
データ処理システム１０５は、アクションデータ構造を含む出力信号を、データリポジトリ１４５からまたはオーディオ信号ジェネレータコンポーネント１３０からクライアントコンピューティングデバイス１５０に提供することができる。データ処理システム１０５は、当該コンテンツ・アイテムを含む出力信号をデータリポジトリ１４５からまたはオーディオ信号ジェネレータコンポーネント１３０から同一のまたは異なるクライアントコンピューティングデバイス１５０に提供することができる。
【００４１】
データ処理システム１０５はまた、データ・パケット送信を介して、コンテンツプロバイダコンピューティングデバイス１５５またはサービスプロバイダコンピューティングデバイス１６０に、（例えば、アクションデータ構造またはコンテンツ・アイテムに対応する）出力信号をクライアントコンピューティングデバイス１５０に提供するように指示することができる。当該出力信号を、取得し、生成し、１つまたは複数のデータ・パケット（または他の通信プロトコル）に変換し、または１つまたは複数のデータ・パケット（または他の通信プロトコル）としてデータ処理システム１０５（または他のコンピューティングデバイス）からクライアントコンピューティングデバイス１５０に送信することができる。
【００４２】
コンテンツセレクタコンポーネント１２５は当該コンテンツ・アイテムまたは当該アクションデータ構造をリアルタイムコンテンツ選択プロセスの一部として選択することができる。例えば、当該アクションデータ構造を、クライアントコンピューティングデバイス１５０のインタフェースによる入力オーディオ信号への直接応答の会話方式でのオーディオ出力として送信するために、クライアントコンピューティングデバイス１５０に提供することができる。当該アクションデータ構造を識別し当該コンテンツ・アイテムをクライアントコンピューティングデバイス１５０に提供するためのリアルタイムコンテンツ選択プロセスは、当該入力オーディオ信号の時刻から１分以下で発生することができ、リアルタイムと考えることができる。データ処理システム１０５はまた、当該コンテンツ・アイテムを識別し、当該コンテンツ・アイテムを、当該入力オーディオ信号を生成したクライアントコンピューティングデバイス１５０の少なくとも１つのインタフェースに、または異なるクライアントコンピューティングデバイス１５０に提供することができる。
【００４３】
例えばオーディオ信号ジェネレータコンポーネント１３０により取得または生成され、インタフェース１１５およびコンピュータ・ネットワーク１６５を介してクライアントコンピューティングデバイス１５０に送信されたアクションデータ構造（またはコンテンツ・アイテム）は、クライアントコンピューティングデバイス１５０に、オーディオドライバ１５３を実行してスピーカ１５４を駆動して、当該アクションデータ構造または当該コンテンツ・アイテムに対応する音波を生成させることができる。当該音波は当該アクションデータ構造またはコンテンツ・アイテムのまたは当該アクションデータ構造またはコンテンツ・アイテムに対応する単語を含むことができる。
【００４４】
当該アクションデータ構造を表す音波はクライアントコンピューティングデバイス１５０からコンテンツ・アイテムとは別々に出力できる。例えば、当該音波は「Today it will be sunny and 80 degrees at the beach」のオーディオ出力を含むことができる。本例では、データ処理システム１０５は例えば、「OK, I would like to go to the beach this weekend」の入力オーディオ信号を取得する。この情報から、ＮＬＰコンポーネント１１０は少なくとも１つの要求または少なくとも１つのトリガキーワードを識別し、予測コンポーネント１２０は当該要求（複数可）またはトリガキーワード（複数可）を使用してアクションデータ構造またはコンテンツ・アイテムの要求を識別する。コンテンツセレクタコンポーネント１２５（または他のコンポーネント）はコンテンツ・アイテム、例えば、ビーチ近くで利用可能な日焼け止めを識別、選択、または生成することができる。ダイレクト・アクションＡＰＩ１３５（または他のコンポーネント）はアクションデータ構造、例えば、週末ビーチ予報を識別、選択、または生成することができる。データ処理システム１０５またはオーディオ信号ジェネレータコンポーネント１３０のようなそのコンポーネントはクライアントコンピューティングデバイス１５０のインタフェースにより出力するためのアクションデータ構造を提供することができる。例えば、当該アクションデータ構造に対応する音波はクライアントコンピューティングデバイス１５０から出力できる。データ処理システム１０５は同一のクライアントコンピューティングデバイス１５０の異なるインタフェースまたは異なるクライアントコンピューティングデバイス１５０のインタフェースにより出力するために当該コンテンツ・アイテムを提供することができる。
【００４５】
データ処理システム１０５によるクライアントコンピューティングデバイス１５０への当該アクションデータ構造のパケット・ベースのデータ送信は、リアルタイムな人から人への会話の流れと感覚を有するデータ処理システム１０５およびクライアントコンピューティングデバイス１５０の間の通信セッションの一部であるコンピュータ・ネットワーク１６５を介してパケット・ベースのデータが送信されるように、「OK, I would like to go to the beach this weekend」の入力オーディオ信号への直接的またはリアルタイムな応答を含むことができる。このパケット・ベースのデータ送信の通信セッションは、またコンテンツプロバイダコンピューティングデバイス１５５またはサービスプロバイダコンピューティングデバイス１６０を含むことができる。
【００４６】
コンテンツセレクタコンポーネント１２５は、当該入力オーディオ信号の少なくとも１つの要求または少なくとも１つのトリガキーワードに基づいて、当該コンテンツ・アイテムまたはアクションデータ構造を選択することができる。例えば、当該入力オーディオ信号「OK, I would like to go to the beach this weekend」の要求はビーチの主題、ビーチへの旅行、またはビーチへの旅行を促進するためのアイテムを示すことができる。ＮＬＰコンポーネント１１０または予測コンポーネント１２０（またはダイレクト・アクションＡＰＩ１３５の一部として実行される他のデータ処理システム１０５コンポーネント）はトリガキーワード「go」「go to」または「to go to」を識別でき、少なくとも当該トリガキーワードに部分的に基づいてビーチへの輸送要求を決定することができる。ＮＬＰコンポーネント１１０（または他のシステム１００のコンポーネント）はまた、日焼け止めまたはビーチ傘のようなビーチ活動に関連するコンテンツ・アイテムの勧誘を決定することができる。したがって、データ処理システム１０５は、当該入力オーディオ信号の主要な要求または主題（ビーチのこの週末に関する情報）ではない二次要求（例えば、日焼け止めの要求）である当該入力オーディオ信号からの対話であることができる。
【００４７】
当該アクションデータ構造およびコンテンツ・アイテムは当該入力オーディオ信号の主題に対応することができる。ダイレクト・アクションＡＰＩ１３５はプログラムまたはスクリプトを、例えばＮＬＰコンポーネント１１０、予測コンポーネント１２０、またはコンテンツセレクタコンポーネント１２５から実行して、これらのアクションの１つまたは複数に対するアクションデータ構造またはコンテンツ・アイテムを識別することができる。ダイレクト・アクションＡＰＩ１３５はデータ処理システム１０５により決定されるものとして、指定されたアクションを実行してエンド・ユーザの意図を満たすことができる。その入力で指定されたアクションに依存して、ダイレクト・アクションＡＰＩ１３５は、ユーザ要求を満たすのに必要なパラメータを識別するコードまたはダイアログスクリプトを実行することができる。かかるコードは、例えば、ホーム・オートメーションサービスの名前のようなデータリポジトリ１４５内の追加の情報を検索することができ、または、クライアントコンピューティングデバイス１５０で描画するためのオーディオ出力を提供して、要求されたタクシーの意図した目的地のような質問をエンド・ユーザにすることができる。ダイレクト・アクションＡＰＩ１３５は必要なパラメータを決定し、当該情報をアクションデータ構造にパッケージ化することができ、それを次いで、コンテンツセレクタコンポーネント１２５のような別のコンポーネントにまたは満たすべきサービスプロバイダコンピューティングデバイス１６０に送信することができる。
【００４８】
データ処理システム１０５のダイレクト・アクションＡＰＩ１３５は、当該要求または当該トリガキーワードに基づいて、当該アクションデータ構造を生成することができる。当該アクションデータ構造を当該入力オーディオ信号の主題に応答して生成することができる。当該アクションデータ構造は、サービスプロバイダコンピューティングデバイス１６０により送受信されるメッセージに含まれることができる。ＮＬＰコンポーネント１１０により解析されたオーディオ入力信号に基づいて、ダイレクト・アクションＡＰＩ１３５は、もしあれば、複数のサービスプロバイダコンピューティングデバイス１６０のうちどれに当該メッセージを送信すべきかを判定することができる。例えば、入力オーディオ信号が「OK, I would like to go to the beach this weekend」を含む場合、ＮＬＰコンポーネント１１０は当該入力オーディオ信号を解析し、トリガキーワード単語「to go to」のような要求またはトリガキーワードをタクシーの必要性の指示として識別することができる。ダイレクト・アクションＡＰＩ１３５は当該要求を、タクシーサービスのサービスプロバイダコンピューティングデバイス１６０へのメッセージとして送信するためのアクションデータ構造へパッケージ化することができる。当該メッセージはまた、コンテンツセレクタコンポーネント１２５に渡すことができる。当該アクションデータ構造は当該要求を完了するための情報を含むことができる。本例では、当該情報は、ピックアップ位置（例えば、家）および目的地位置（例えば、ビーチ）を含むことができる。ダイレクト・アクションＡＰＩ１３５は、どのフィールドを当該アクションデータ構造に含めるべきかを判定するためにテンプレート１４９をデータリポジトリ１４５から取り出すことができる。ダイレクト・アクションＡＰＩ１３５はコンテンツをデータリポジトリ１４５から取り出して、当該データ構造のフィールドに関する情報を取得することができる。ダイレクト・アクションＡＰＩ１３５は、当該テンプレートからのフィールドをその情報で埋めて、当該データ構造を生成することができる。ダイレクト・アクションＡＰＩ１３５はまた、当該フィールドを当該入力オーディオ信号からのデータで埋めることができる。テンプレート１４９を、サービ
スプロバイダのカテゴリに対して標準化するか、または、特定のサービスプロバイダに対して標準化することができる。例えば、乗車共有サービスプロバイダは以下の標準化されたテンプレート１４９を使用してデータ構造{client_device_identifier; authentication_credentials; pick_up_location; destination_location; no_passengers; service_level}を生成することができる。
【００４９】
コンテンツセレクタコンポーネント１２５は、複数のコンテンツ選択プロセスから生ずる複数のコンテンツ・アイテムを識別、選択、または取得することができる。当該コンテンツ選択プロセスは、リアルタイムであることができ、例えば、同一の会話の一部、通信セッション、または共通の主題を含むデータ処理システム１０５およびクライアントコンピューティングデバイス１５０の間の一連の通信セッションであることができる。当該会話は例えば時間または日の期間だけ互いから分離した非対称な通信を含むことができる。当該会話または通信セッションは、第１の入力オーディオ信号に関連する最終アクションの推定されたまたは既知の結論、またはデータ処理システム１０５による当該会話の終了または期限切れの指示の受信まで、第１の入力オーディオ信号の受信から或る時間期間だけ継続することができる。例えば、データ処理システム１０５は、週末のビーチ旅行に関連する会話が、当該入力オーディオ信号の時刻または受信で開始し、週末の終了、例えば、日曜夜または月曜朝で期限切れまたは終了すると判定することができる。当該会話の動作期間中に（例えば、決定された期限切れ時刻までの当該入力オーディオ信号の受信から）クライアントコンピューティングデバイス１５０または別のクライアントコンピューティングデバイス１５０の１つまたは複数のインタフェースにより描画するためのアクションデータ構造またはコンテンツ・アイテムを提供するデータ処理システム１０５は、リアルタイムに動作していると考えることができる。本例では、当該コンテンツ選択プロセスおよび当該コンテンツ・アイテムおよびアクションデータ構造の描画はリアルタイムに発生する。
【００５０】
インタフェース管理コンポーネント１４０は、当該アクションデータ構造および当該入力オーディオ信号に関連するコンテンツ・アイテムを描画するためのインタフェースをポーリングし、決定し、識別し、または選択することができる。例えば、インタフェース管理コンポーネント１４０は、当該入力オーディオ信号（例えば、「What is the weather at the beach today?」）を、オーディオインタフェースを介してクライアントコンピューティングデバイス１５０の１つに入力したエンド・ユーザに関連付けられたクライアントコンピューティングデバイス１５０の１つまたは複数の候補インタフェースを識別することができる。当該インタフェースは、センサ１５１（例えば、マイクロフォン）、スピーカ１５４、または或るスクリーンサイズのコンピューティングデバイスのようなハードウェアを、単体で、またはスクリプトまたはプログラム（例えば、オーディオドライバ１５３）ならびにアプリ、コンピュータプログラム、オンラインドキュメント（例えば、ウェブページ）インタフェースおよびその組合せと組み合わせて含むことができる。
【００５１】
当該インタフェースは当該入力オーディオ信号を生成したクライアントコンピューティングデバイス１５０のエンド・ユーザに関連付けられたソーシャル・メディア・アカウント、テキストメッセージアプリケーション、または電子メールアカウントを含むことができる。インタフェースは、他のクライアントコンピューティングデバイス１５０のうち、スマートフォン、または当該スマートフォン、またはウェラブルコンピューティングデバイスにインストールされたアプリベースのメッセージングデバイスのオーディオ出力を含むことができる。当該インタフェースはまた、ディスプレイスクリーンパラメータ（例えば、サイズ、解像度）、オーディオパラメータ、モバイルデバイスパラメータ、（例えば、処理電力、バッテリ寿命、インストールされたアプリまたはプログラムの存在、またはセンサ１５１またはスピーカ１５４の機能）、コンテンツ・アイテムのテキスト、画像、またはビデオ描画に対するオンラインドキュメント上のコンテンツスロット、チャットアプリケーション、ラップトップパラメータ、スマートウォッチまたは他のウェラブルデバイスパラメータ（例えば、それらのディスプレイまたは処理能力の指示）、または仮想現実ヘッドセットパラメータを含むことができる。
【００５２】
インタフェース管理コンポーネント１４０は、複数のインタフェースをポーリングして、候補インタフェースを識別することができる。候補インタフェースは、入力オーディオ信号に対する応答を描画する能力を有するインタフェースを含む（例えば、オーディオ出力としてのアクションデータ構造、または非オーディオフォーマットを含む様々なフォーマットで出力できるコンテンツ・アイテム）。インタフェース管理コンポーネント１４０は、それらが候補インタフェースである（またはでない）と判定するためのインタフェースのパラメータまたは他の機能を決定することができる。例えば、インタフェース管理コンポーネント１４０は、第１のクライアントコンピューティングデバイス１５０（例えば、スマートウォッチウェラブルデバイス）のコンテンツ・アイテムのパラメータ１４６に基づいて、当該スマートウォッチが当該コンテンツ・アイテムを描画するための十分なサイズまたは解像度の利用可能な視覚インタフェースを含むと判定することができる。インタフェース管理コンポーネント１４０はまた、当該入力オーディオ信号を生成したクライアントコンピューティングデバイス１５０が、スピーカ１５４のハードウェアおよびインストールされたプログラム、例えば、当該アクションデータ構造を描画するためのオーディオドライバまたは他のスクリプトを有すると判定することができる。
【００５３】
インタフェース管理コンポーネント１４０は候補インタフェースに対する利用値を決定することができる。当該利用値は、候補インタフェースが入力オーディオ信号に応答して提供されたアクションデータ構造またはコンテンツ・アイテムを描画することができる（かまたはできない）と示すことができる。当該利用値は、データリポジトリ１４５から取得されたパラメータ１４６、または、帯域幅または処理の利用または要件、処理電力、電力要件、バッテリステータス、メモリ利用または能力、またはアクションデータ構造またはコンテンツ・アイテムを描画するために利用可能なインタフェースを示す他のインタフェースパラメータのような、クライアントコンピューティングデバイス１５０から取得された他のパラメータを含むことができる。当該バッテリステータスは、電源のタイプ（例えば、出力を介した内部バッテリまたは外部電源）、充電ステータス（例えば、現在充電しているかまたはしていない）、または残りのバッテリ電力の量を示すことができる。インタフェース管理コンポーネント１４０は当該バッテリステータスまたは充電ステータスに基づいてインタフェースを選択することができる。
【００５４】
インタフェース管理コンポーネント１４０は当該利用値に基づいて当該候補インタフェースを階層またはランキングで順序付けすることができる。例えば異なる利用値（例えば、処理要件、ディスプレイスクリーンサイズ、エンド・ユーザへのアクセシビリティ）に異なる重みを与えることができる。インタフェース管理コンポーネント１４０は、コンテンツ・アイテム（またはアクションデータ構造）を描画するための最適な対応する候補インタフェースを決定するためのそれらの重みに基づいて当該候補インタフェースの利用値の１つまたは複数を順位付けすることができる。この階層に基づいて、インタフェース管理コンポーネント１４０は当該コンテンツ・アイテムを描画するための最高ランクのインタフェースを選択することができる。
【００５５】
候補インタフェースに対する利用値に基づいて、インタフェース管理コンポーネント１４０は少なくとも１つの候補インタフェースを当該コンテンツ・アイテムに対する選択されたインタフェースとして選択することができる。当該コンテンツ・アイテムに対する選択されたインタフェースは、当該入力オーディオ信号がそこから受信された同一のインタフェース（例えば、クライアントコンピューティングデバイス１５０のオーディオインタフェース）または異なるインタフェース（例えば、同一のクライアントコンピューティングデバイス１５０のテキストメッセージベースのアプリ、または同一のクライアントコンピューティングデバイス１５０からアクセス可能な電子メールアカウントであることができる。
【００５６】
インタフェース管理コンポーネント１４０は、当該入力オーディオ信号を生成したデバイスと異なるクライアントコンピューティングデバイス１５０のインタフェースである、当該コンテンツ・アイテムに対するインタフェースを選択することができる。例えば、データ処理システム１０５は当該入力オーディオ信号を第１のクライアントコンピューティングデバイス１５０（例えば、スマートフォン）から受信でき、スマートウォッチのディスプレイ（または当該コンテンツ・アイテムを描画するための任意の他のクライアントコンピューティングデバイス）のようなインタフェースを選択することができる。当該複数のクライアントコンピューティングデバイス１５０をすべて、同一のエンド・ユーザに関連付けることができる。データ処理システム１０５は、複数のクライアントコンピューティングデバイス１５０が同一のエンド・ユーザに関連付けられると、複数のクライアントコンピューティングデバイス１５０にわたる共通のソーシャル・メディアまたは電子メールアカウントへのユーザ・アクセスのようなエンド・ユーザからの同意とともに受信された情報に基づいて判定することができる。
【００５７】
インタフェース管理コンポーネント１４０はまた、インタフェースが利用不可能であると判定することができる。例えばインタフェース管理コンポーネント１４０はインタフェースをポーリングして、当該インタフェースに関連付けられたクライアントコンピューティングデバイス１５０のバッテリステータスが低いか、または、１０％のような閾値レベル未満であると判定することができる。あるいは、インタフェース管理コンポーネント１４０は、当該インタフェースに関連付けられたクライアントコンピューティングデバイス１５０が当該コンテンツ・アイテムを描画するための十分なディスプレイスクリーンサイズまたは処理電力が足りないこと、または、クライアントコンピューティングデバイスが現在別のアプリケーションを実行して、例えばネットワーク１６５を介してコンテンツをストリーミングしているので当該プロセッサ利用率が高すぎると判定することができる。これらのおよび他の例では、インタフェース管理コンポーネント１４０は、当該インタフェースが利用不可能であると判定し、当該コンテンツ・アイテムまたは当該アクションデータ構造を描画するための候補として当該インタフェースを排除することができる。
【００５８】
したがって、インタフェース管理コンポーネント１４０は、第１のクライアントコンピューティングデバイス１５０によりアクセス可能な候補インタフェースがエンド・ユーザのアカウントにリンクされ、第２のクライアントコンピューティングデバイス１５０によりアクセス可能な第２の候補インタフェースも同一のアカウントにリンクされると判定することができる。例えば、両方のクライアントコンピューティングデバイス１５０は同一のソーシャル・メディア・アカウントに、例えば、各クライアントコンピューティングデバイス１５０でのアプリまたはスクリプトのインストールを介してアクセスすることができる。インタフェース管理コンポーネント１４０はまた、複数のインタフェースは同一のアカウントに対応し、複数の異なるコンテンツ・アイテムを当該共通のアカウントに対応する当該複数のインタフェースに提供できると判定することができる。例えば、データ処理システム１０５は、エンド・ユーザの同意により、エンド・ユーザが異なるクライアントコンピューティングデバイス１５０からアカウントにアクセスしたと判定することができる。これらの複数のインタフェースは、同一のインタフェースの別々のインスタンス（例えば、異なるクライアントコンピューティングデバイス１５０にインストールされた同一のアプリ）または複数のクライアントコンピューティングデバイス１５０からアクセス可能な、両方とも共通の電子メールアドレスアカウントにリンクされた異なるソーシャル・メディア・アカウントに対する異なるアプリのような異なるインタフェースであることができる。
【００５９】
インタフェース管理コンポーネント１４０はまた、候補インタフェースに関連付けられたクライアントコンピューティングデバイス１５０の間の距離を決定または推定することができる。例えば、データ処理システム１０５は、ユーザ同意により、当該入力オーディオ信号がスマートフォンまたは仮想現実ヘッドセットのコンピューティングデバイス１５０から生じ、エンド・ユーザがアクティブなスマートウォッチクライアントコンピューティングデバイス１５０に関連付けられるという指示を取得することができる。この情報から、当該インタフェース管理コンポーネントは、当該スマートウォッチがアクティブである、例えば、エンド・ユーザが当該入力オーディオ信号を当該スマートフォンに入力したときエンド・ユーザにより着られていると判定でき、その結果、当該２つのクライアントコンピューティングデバイス１５０が互いの閾値距離内（例えば、１メートル、２メートル、３メートル、４メートル、または７メートル内、または音声範囲または視覚範囲内）にある。データ処理システム１０５はまた、エンド・ユーザの同意により、入力オーディオ信号のソースであるスマートフォンの位置を決定でき、またエンド・ユーザに関連付けられたラップトップアカウントが現在アクティブであると判定することができる。例えば、当該ラップトップは当該ユーザが当該ラップトップで現在アクティブであると示すソーシャル・メディア・アカウントにサインインすることができる。本例ではデータ処理システム１０５は、エンド・ユーザが当該スマートフォンの閾値距離および当該ラップトップの閾値距離内にあり、その結果、当該ラップトップは候補インタフェースを介して当該コンテンツ・アイテムを描画するための適切な選択であることができると判定することができる。
【００６０】
インタフェース管理コンポーネント１４０は、当該入力オーディオ信号を受信するコンピューティングデバイス１５０の閾値距離内にある１つまたは複数の他のコンピューティングデバイス１５０を識別し、次いでコンピューティングデバイス１５０の閾値距離内にあるコンピューティングデバイス１５０に関連付けられた候補インタフェースをポーリングすることができる。インタフェース管理コンポーネント１４０を、当該入力オーディオ信号を受信するコンピューティングデバイス１５０の閾値距離内にあるコンピューティングデバイス１５０を識別するための１つまたは複数の近接性検出技術で構成することができる。近接性検出技術は、例えば、非可聴音波(Sub-audiable Wave)技術、WIFIベースの技術、Bluetooth（登録商標）ベースの技術、マッチング入力オーディオ信号ベースの技術、またはトークンベースの技術を含むことができる。WIFI（またはWi-Fi）は、標準に基づくコンピューティングデバイスとのワイヤレスローカル・エリア・ネットワーキングのための技術を指すことができる。
【００６１】
例えば、エンド・ユーザの同意によりインタフェース管理コンポーネント１４０は、当該入力オーディオ信号を受信する第１のコンピューティングデバイスに、閾値距離内の他のコンピューティングデバイスを識別するための非可聴音波を送信するように指示することができる。非可聴音波は、人間の耳により認識できず、または容易に認識できない音響またはオーディオ送信を指すことができる。例えば、当該非可聴音波は、２０Ｈｚより低い周波数である音波のような超低音を含むことができる。当該非可聴音波は、２０、０００Ｈｚより大きく最大１ギガヘルツ、２ギガヘルツ、またはそれ以上のような人間の耳が聴ける上限より高い周波数の音波のような超音波を含むことができる。第２のコンピューティングデバイスが当該非可聴音波（または超音波）を検出できる場合、第２のコンピューティングデバイスは応答して第２の非可聴音波（または超音波）を送信することができる。第２の非可聴音波は、識別子または他のデータを符号化して、第２のコンピューティングデバイスを示すかまたは識別することができる。第１のコンピューティングデバイスは次いで、第１のおよび第２のコンピューティングデバイスがサブ可聴音波の互いからの送受信に成功することができたので、第１のおよび第２のコンピューティングデバイスが閾値距離内にあると判定するために、当該応答を第２のコンピューティングデバイスから受信することができる。例えば、第１のコンピューティングデバイスは、第２の非可聴音波を復号化して、第２のコンピューティングデバイスの識別子を抽出することができる。第１のコンピューティングデバイスは、データ処理システム１０５に問い合わせて、コンテンツまたは通知の第２のコンピューティングデバイスへの送信を促進するための第２のコンピューティングデバイスに関連付けられた情報またはプロフィール情報を取得することができる。
【００６２】
幾つかのケースでは、第３のコンピューティングデバイスは、第１のコンピューティングデバイスにより送信された非可聴音波を受信してもよい。第３のコンピューティングデバイスは、第３の識別子で符号化された第３の非可聴音波で当該非可聴音波に応答することができる。第１のコンピューティングデバイスは第３のコンピューティングデバイスが第１のコンピューティングデバイスの範囲内にあると判定するために、第３のサブ可聴を受信することができる。
【００６３】
幾つかのケースでは、第１のコンピューティングデバイスはトークンを有する非可聴音波（または超音波）を送信することができる。当該トークンは一意な識別子を含むことができる。当該トークンを、ハッシュ関数に基づいて、例えばｎ個のタプルを用いて生成することができる。送信される当該波に対応する現在のタイムスタンプ、デバイス識別子、インターネットプロトコルアドレス、またはデータ処理システムが当該複数のコンピューティングデバイスが閾値距離内に配置されていると判定することを促進するための一意な識別子またはトークンをもたらしうる他のパラメータまたは値のような１つまたは複数の値に基づいて、当該トークンを生成することができる。第１のコンピューティングデバイスは、当該トークンでの当該非可聴音波の送信に対応する第１のタイムスタンプを記録することができる。第２のコンピューティングデバイスは当該送信されたサブ可聴信号を検出し、当該非可聴音波の検出に対応する第２のタイムスタンプを記録することができる。第１のコンピューティングデバイスは、ネットワーク１６５を介して、第１のタイムスタンプおよび当該トークンの指示をデータ処理システム１０５（例えば、インタフェース管理コンポーネント１４０）に送信することができる。第２のコンピューティングデバイスは当該非可聴音波を受信し、当該トークンを抽出するための当該波を復号することができる。当該トークンを識別すると、第２のコンピューティングデバイスは、データ処理システム１０５に、当該トークンおよび（例えば、センサ１５１を介した）検出または当該非可聴音波の受信に対応する第２のタイムスタンプを送信することができる。
【００６４】
データ処理システム１０５（例えば、インタフェース管理コンポーネント１４０）は、第１のタイムスタンプおよび当該トークンを第１のコンピューティングデバイスから受信でき、第２のタイムスタンプおよび当該トークンを第２のコンピューティングデバイスから受信することができる。データ処理システム１０５は、第１のコンピューティングデバイスから受信されたトークンを第２のコンピューティングデバイスから受信されたトークンとマッチすることができる。なぜならそれらが同一のトークンでありうるからである。当該トークンのマッチに応答して、データ処理システム１０５は、当該２つのコンピューティングデバイスの間の距離を決定するために第１のおよび第２のタイムスタンプを取り出すことができる。
【００６５】
例えば、データ処理システム１０５（例えば、インタフェース管理コンポーネント１４０を介して）は第２のタイムスタンプおよび第１のタイムスタンプの間の差異を決定することができる。データ処理システム１０５は、当該差異に基づいて、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスの間の距離を決定することができる。例えば、当該差異は当該サブ可聴送信が通過する距離量に対応することができる。当該サブ可聴送信は、おおよそ毎秒３４０．２９メートルでありうる音速で通過することができる。第１のタイムスタンプおよび第２のタイムスタンプの間の差異が０．０１秒である場合、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスはおおよそ（例えば、プラスマイナス１０％）３．４メートルだけ分かれている。別の例では、第１のタイムスタンプおよび第２のタイムスタンプの間の差異が．００１秒である場合、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスはおおよそ０．３４メートルだけ分かれている。したがって、データ処理システム１０５は、当該コンピューティングデバイスの間の距離を決定するために、当該非可聴音波の速度（例えば、音速）に当該時間差異を乗ずることができる。データ処理システム１０５は、第２のコンピューティングデバイスが第１のコンピューティングデバイスの閾値距離内にあると判定するために、当該決定された距離を閾値距離（例えば、１メートル、２メートル、３メートル、４メートル、５メートル、７メートル、またはそれ以上）と比較することができる。
【００６６】
インタフェース管理コンポーネント１４０は、ワイヤレス信号を利用する近接性検出技術を使用することができる。例えば、インタフェース管理コンポーネント１４０は、ワイヤレス信号（例えば、無線周波数信号、Bluetooth（登録商標）信号、WIFI信号、ビーコン、近接場通信信号、または低電力Bluetooth（登録商標）信号）を送信するように第１のコンピューティングデバイスに指示することができる。当該信号を受信するブロードキャストの範囲内のデバイスは第１のコンピューティングデバイスに応答するか、または、当該信号の受信を示す指示をインタフェース管理コンポーネント１４０に送信することができる。例えば、第２のコンピューティングデバイスは、第２のコンピューティングデバイスの識別子を含む第２の信号をブロードキャストでき、第１のコンピューティングデバイスは、第２の信号を受信し、第２のコンピューティングデバイスの識別子を抽出して、第２のコンピューティングデバイスが閾値距離内にあると当該成功した送信に基づいて判定することができる。別の例では、第２のコンピューティングデバイスは、第２のコンピューティングデバイスおよび第１のコンピューティングデバイスの間のおおよその距離を決定するために、当該ブロードキャスト信号の電力レベルを決定することができる。例えば、当該ブロードキャスト信号の電力レベルは当該信号が伝播する距離に基づいて消失することができる。当該ブロードキャスト信号の電力レベルは、おおよそ第１のコンピューティングデバイスの送信器および第２のコンピューティングデバイスの受信器の間の距離の二乗に反比例する割合で消失することができる（例えば、受信された電力＝送信された電力＊（１／（４＊ｐｉ＊距離＾２）））。第２のコンピューティングデバイスは当該信号の受信された電力レベルを検出でき、当該受信された電力レベルの指示を第１のコンピューティングデバイスに提供でき、またはデータ処理システム１０５（例えば、インタフェース管理コンポーネント１４０）は、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスの間の距離を決定するために、当該受信された信号電力レベルを当該送信された電力レベルと比較することができる。
【００６７】
データ処理システム１０５は（例えば、インタフェース管理コンポーネント１４０を介して）、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスの両方が同一の入力オーディオ信号を検出したことに基づいて、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスが閾値距離内にあると判定することができる。例えば、第１のコンピューティングデバイスの１のマイクロフォンは入力オーディオ信号を検出でき、第２のコンピューティングデバイスの第２のマイクロフォンは同一の入力オーディオ信号をおおよそ同時に検出することができる（例えば、時間の差異は当該入力オーディオ信号のソースおよび第１のおよび第２のコンピューティングデバイスの間の各距離における差異に起因しうる）。第１のコンピューティングデバイスは第１のマイクロフォンにより検出された入力オーディオ信号をデータ処理システム１０５に提供でき、第２のコンピューティングデバイスは第２のマイクロフォンにより検出された入力オーディオ信号をデータ処理システム１０５に提供することができる。データ処理システム１０５は次いで、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスの両方が同一の入力オーディオ信号をおおよそ同時に検出したと判定することができる。データ処理システム１０５はさらに、それぞれ、第１のマイクロフォンおよび第２のマイクロフォンによる入力オーディオ信号の検出に対応する各タイムスタンプに基づいて、第１のおよび第２のコンピューティングデバイスが閾値距離内にあると判定することができる。
【００６８】
異なるコンピューティングデバイスにより検出された入力オーディオ信号の間のマッチを識別することで、データ処理システム１０５は当該異なるコンピューティングデバイスが互いに対して相対的に近いと判定することができる。なぜならば、それらの各マイクロフォンが同一の入力オーディオ信号を検出できたからである。マッチを検出することは、音響シグネチャのマッチング、オーディオ信号のフーリエ変換のマッチング、または会話テキスト技術を用いた入力オーディオ信号からテキストへの変換および当該テキストのマッチングを含むことができる。データ処理システム１０５は、当該頻度が実質的にマッチングする（例えば、９９％マッチング、９８％マッチング、９５％マッチング、９０％マッチング、８５％マッチング）場合または当該テキストが実質的にマッチングする（例えば、９９％マッチング、９８％マッチング、９５％マッチング、９０％マッチング、または８５％マッチング）場合のマッチを決定することができる。
【００６９】
インタフェース管理コンポーネント１４０は、１つまたは複数の近接性検出技術を使用して、当該入力オーディオ信号を受信する第１のコンピューティングデバイスの閾値距離内の１つまたは複数のコンピューティングデバイスを識別することができる。例えば、インタフェース管理コンポーネント１４０は、第１の近接性検出技術を使用して、第１のコンピューティングデバイスからの閾値距離内の第２のコンピューティングデバイスを識別することができる。インタフェース管理コンポーネント１４０は、第２の近接性検出技術を使用して、第１のコンピューティングデバイスからの閾値距離内の第３のコンピューティングデバイスを識別することができる。インタフェース管理コンポーネント１４０は、第３の近接性検出技術を使用して第１のコンピューティングデバイスからの閾値距離内の第４のコンピューティングデバイスを識別することができる。第２の、第３のおよび第４のコンピューティングデバイスの各々は各候補インタフェースを含むことができる。データ処理システム１０５は当該各候補インタフェースをポーリングして、当該候補インタフェースの各々に対するリソース利用値を識別し、当該候補インタフェースの１つを当該各リソース利用値の比較に基づいて選択することができる。例えば、当該リソース利用値はオーディオ出力が当該インタフェースを介して送信されている（例えば、オーディオを再生している）かどうかを示すことができる。当該候補インタフェースの何れもオーディオ出力を再生していない場合、データ処理システム１０５はオーディオ出力に対して構成された当該候補インタフェースを選択することができる。
【００７０】
オーディオ出力に対して構成された複数の利用可能なインタフェースがある場合、データ処理システム１０５は、ポリシまたはヒューリスティックを使用して、オーディオ出力に対する当該インタフェースの１つまたは複数を選択することができる。例えば、データ処理システム１０５は、オーディオ・コンテンツを再生することを指示する第１のコンピューティングデバイスに最も近いオーディオインタフェースを有するコンピューティングデバイスを選択することができる。データ処理システム１０５は、アクティブにエンド・ユーザにより使用されているコンピューティングデバイスに対応するオーディオインタフェースを選択することができる。データ処理システム１０５は、エンド・ユーザにより直近に使用されたコンピューティングデバイスに対応するオーディオインタフェースを選択することができる。データ処理システム１０５は、最大量のバッテリ残量を有するコンピューティングデバイス、または電源に接続されているコンピューティングデバイスに対応するオーディオインタフェースを選択することができる。
【００７１】
幾つかのケースでは、インタフェース管理コンポーネント１４０は、メモリ（例えば、データリポジトリ１４５）から、当該コンピューティングデバイスの閾値距離内の複数のコンピューティングデバイスを示す近接性情報を取り出す。例えば、データ処理システム１０５は、以前に当該複数のコンピューティングデバイスを識別し、当該複数のコンピューティングデバイスに対応する当該候補インタフェースをポーリングし、当該情報をデータリポジトリ１４５に格納しているかもしれない。例えば、当該複数のコンピューティングデバイス１５０の１つまたは複数は、一般に動かされない静止しているまたは固定されたコンピューティングデバイス（例えば、壁に取り付けられたテレビ、デスクトップコンピューティングデバイス、ホームスピーカ、またはサラウンド・サウンドスピーカシステム）であってもよい。したがって、データ処理システム１０５は当該コンピューティングデバイスに関する情報の少なくとも幾つかをメモリから取り出してもよい。データ処理システム１０５は次いで、現在のまたは更新されたリソース利用値を決定するために当該候補インタフェースをポーリングすることができる。したがって、データ処理システム１０５は、距離情報を既に有するかもしれず、または１つまたは複数のコンピューティングデバイスが当該入力オーディオ信号を受信する第１のコンピューティングデバイスの範囲内にあると以前に判定したかもしれず、追加のリソース利用を減らすかまたは当該デバイスを識別するステップをスキップすることで遅延し候補インタフェースをポーリングすることに進んでもよい。
【００７２】
データ処理システム１０５はコンピューティングデバイスが閾値距離内にあるかどうかを判定するために、漸進的によりリソース集約的となる近接性検出技術の階層を使用することができる。例えば、データ処理システム１０５は、当該複数のコンピューティングデバイスが同一のネットワーク上にあるかどうかを判定するために、WIFIまたはインターネットプロトコルアドレスベースの技術を最初に使用することができる。当該コンピューティングデバイスが異なるIPアドレスに関連付けられた別々のWIFIネットワーク上にある場合、データ処理システム１０５は当該２つのデバイスが当該閾値距離内にないと判定することができる。しかし、データ処理システム１０５が、当該２つのコンピューティングデバイスが同一のWIFIネットワーク上にあると判定した場合、データ処理システムは、当該２つのコンピューティングデバイスが互いのBluetooth（登録商標）範囲内にあるかどうかを判定するために、Bluetooth（登録商標）ブロードキャストまたはビーコンの使用に進むことができる。データ処理システム１０５が、当該２つのデバイスがBluetooth（登録商標）範囲内にあると判定した場合、データ処理システム１０５は、当該コンピューティングデバイスが当該閾値距離内にあるかどうかを判定するために、サブ可聴音波送信するように第１のコンピューティングデバイスに指示することに進むことができる。したがって、近接性検出技術の階層を利用することで、データ処理システム１０５は、当該閾値距離の外にあるデバイスをフィルタして除外するより高速または低速なリソース集約的近接性検出技術を用いることでリソース利用を減らし、遅延を減らし、次いで広い近接性チェックを通すコンピューティングデバイスに対してより多くのリソースを利用するより粒度の細かい近接性検出技術に進むことができる。
【００７３】
幾つかのケースでは、データ処理システム１０５は、当該入力オーディオ信号を受信する第１のコンピューティングデバイスの閾値距離内にある第２の候補インタフェースを有する第２のコンピューティングデバイスを識別することができる。データ処理システム１０５は、第２のリソース利用値を決定するために第２のコンピューティングデバイスで実行されているアプリケーション・プログラミング・インタフェース（「ＡＰＩ」）を問い合わせることができる。例えば、第２のコンピューティングデバイスは、コンテンツの提示に関連付けられたオーディオ出力、ビデオ出力、ボリューム・レベル、または他の情報を制御または監視するＡＰＩを含むことができる。当該ＡＰＩは、オーディオが再生されている現在のボリューム・レベル、当該オーディオ・コンテンツの期間、オーディオ・コンテンツのタイプ（例えば、音楽、テレビ、ポッドキャスト、オーディオブック、コマーシャル、オーディオ・コンテンツが再生されているボリューム・レベルを示す第２の利用値を示すことによって、クエリに応答することができる。
【００７４】
インタフェース管理コンポーネント１４０は、１つまたは複数の技術、ポリシまたはヒューリスティックを使用して、複数の候補インタフェースからインタフェースを選択し、コンテンツ・アイテムを選択されたインタフェースと互換なモダリティに変換し、次いで当該選択されたインタフェースを介して提示するための変換されたコンテンツ・アイテムを送信することができる。例えば、データ処理システム１０５は、インタフェースを当該候補インタフェースから、センサ利用値のようなリソース利用値に基づいて選択することができる。当該センサは当該候補インタフェースに対応するコンピューティングデバイスのマイクロフォンを指すことができる。マイクロフォンは、オーディオが当該コンピューティングデバイスの近くで再生されていないこと、およびエンド・ユーザまたは他のユーザが当該コンピューティングデバイスの近くで話していないことを示す、低いレベルの周辺の音を検出してもよい。データ処理システム１０５は、マイクロフォンが低いセンサ利用値を有するので、当該インタフェースからのオーディオファイルの再生が冗長でないかまたは他のオーディオ・コンテンツの複製物でないかもしれないので、当該インタフェースを選択することを決定することができる。
【００７５】
別の例では、センサ利用は当該コンピューティングデバイスのスピーカを指すことができる。データ処理システム１０５はスピーカが使用されていないと判定し、それにより低いセンサ利用値を示すことができる。したがって、データ処理システム１０５は、スピーカを、コンテンツ・アイテムを提供するためのインタフェースとして選択することができる。
【００７６】
別の例では、センサ利用はコンピューティングデバイスの温度を指すことができる。例えば、当該コンピューティングデバイスのプロセッサが閾値上の温度で実行されている場合、データ処理システム１０５は、コンピューティングデバイスがプロセッサ集約的タスクが実施していると判定してもよく、当該コンピューティングデバイスまたは当該コンピューティングデバイスのインタフェースを利用しないと決定してもよい。したがって、データ処理システム１０５は低い温度を有する閾値距離内の別のコンピューティングデバイスのインタフェースを選択することができる。
【００７７】
インタフェース管理コンポーネント１４０は、選択されたインタフェースがコンテンツ・アイテムに対してより効率的であると示す少なくとも１つの利用値に基づいて、当該コンテンツ・アイテムに対するインタフェースを選択することができる。例えば、当該コンテンツ・アイテムがより小さくより少ないリソースで送信できるので、候補インタフェースから、スマートウォッチで当該コンテンツ・アイテムを描画するためのインタフェースは最小の帯域幅を使用する。あるいは、インタフェース管理コンポーネント１４０は、当該インタフェースによる当該コンテンツ・アイテムの描画が当該対応するクライアントコンピューティングデバイス１５０のバッテリ電力を排出しないように、当該コンテンツ・アイテムを描画するために選択された候補インタフェースが現在充電している（例えば、プラグインされている）と判定することができる。別の例では、インタフェース管理コンポーネント１４０は、現在別の動作より少ない処理動作を実施している候補インタフェース、現在ビデオコンテンツをネットワーク１６５からストリーミングしている例えば異なるクライアントコンピューティングデバイス１５０の選択されていないインタフェースを選択でき、したがって遅延なしに当該コンテンツ・アイテムを描画するのにはあまり利用可能でない。
【００７８】
インタフェース管理コンポーネント１４０（または他のデータ処理システム１０５コンポーネント）は、当該候補インタフェースと互換なモダリティで配送するためにコンテンツ・アイテムを変換することができる。例えば、当該候補インタフェースがスマートウォッチ、スマートフォン、またはタブレットコンピューティングデバイスのディスプレイである場合、インタフェース管理コンポーネント１４０は、当該インタフェースに関連付けられた当該ディスプレイスクリーンの次元が与えられた場合に、適切な視覚ディスプレイに対する当該コンテンツ・アイテムのサイズを決定することができる。インタフェース管理コンポーネント１４０はまた、当該コンテンツ・アイテムを、当該選択されたインタフェースに関連付けられたクライアントコンピューティングデバイス１５０に送信するための専有または業界標準フォーマットを含む、パケットまたは他のプロトコルベースのフォーマットに変換することができる。当該コンテンツ・アイテムに対するインタフェース管理コンポーネント１４０により選択された当該インタフェースは、エンド・ユーザにより複数のクライアントコンピューティングデバイス１５０からアクセス可能なインタフェースを含むことができる。例えば、当該インタフェースは、エンド・ユーザが当該入力オーディオ信号を生成したクライアントコンピューティングデバイス１５０（例えば、スマートフォン）ならびにタブレットまたはデスクトップコンピュータまたは他のモバイルコンピューティングデバイスのような他のクライアントコンピューティングデバイスを介してアクセスできるソーシャル・メディア・アカウントであることができるかまたはそれを含むことができる。
【００７９】
インタフェース管理コンポーネント１４０はまた、当該アクションデータ構造に対する少なくとも１つの候補インタフェースを選択することができる。このインタフェースは、当該入力オーディオ信号がそこから取得された同一のインタフェース、例えば、クライアントコンピューティングデバイス１５０で実行された音声起動されたアシスタントサービスであることができる。これは、同一のインタフェースまたは当該コンテンツ・アイテムに対して選択されたインタフェース管理コンポーネント１４０と異なるインタフェースであることができる。インタフェース管理コンポーネント１４０（または他のデータ処理システム１０５コンポーネント）は、オーディオ出力として描画するための当該入力オーディオ信号を生成した同一のクライアントコンピューティングデバイス１５０に、当該アシスタントサービスの一部として当該アクションデータ構造を提供することができる。インタフェース管理コンポーネント１４０はまた、当該選択されたインタフェースにより描画するのに適した任意の変換されたモダリティで、当該コンテンツ・アイテムを当該コンテンツ・アイテムに対する当該選択されたインタフェースに送信または提供することができる。
【００８０】
したがって、インタフェース管理コンポーネント１４０は、同一のクライアントコンピューティングデバイス１５０により受信された当該入力オーディオ信号に応答して、クライアントコンピューティングデバイス１５０のインタフェースにより描画するためのオーディオ出力として当該アクションデータ構造を提供することができる。インタフェース管理コンポーネント１４０はまた、同一のクライアントコンピューティングデバイス１５０または同一のエンド・ユーザに関連付けられた異なるクライアントコンピューティングデバイス１５０の異なるインタフェースにより描画するための当該コンテンツ・アイテムを提供することができる。例えば、アクションデータ構造、例えば、「it will be sunny and 80 degrees at the beach on Saturday」は、クライアントコンピューティングデバイスによるオーディオ描画をクライアントコンピューティングデバイス１５０で部分的に実行されているアシスタントプログラムインタフェースの一部として提供することができ、「sunscreen is available from the convenience store near the beach」を示すコンテンツ・アイテム、例えば、テキスト、オーディオ、または組合せコンテンツ・アイテムを、エンド・ユーザに関連付けられた同一のまたは異なるクライアントコンピューティングデバイス１５０によりアクセス可能な電子メールまたはテキストメッセージのような、同一のまたは異なるコンピューティングデバイス１５０のインタフェースにより描画するために、提供することができる。
【００８１】
当該コンテンツ・アイテムを当該アクションデータ構造から分離し、当該コンテンツ・アイテムを、例えば、オーディオメッセージではなくテキストメッセージとして送信することで、例えば、テキストメッセージデータ送信がオーディオメッセージデータ送信よりあまり計算集約的でないので、当該コンテンツ・アイテムにアクセスするクライアントコンピューティングデバイス１５０に対する削減された処理電力をもたらしうる。この分離はまた、当該コンテンツ・アイテムを描画するために使用される電力利用、メモリ記憶、または送信帯域幅を減らすことができる。これは、システム１００ならびにクライアントコンピューティングデバイス１５０およびデータ処理システム１０５のようなデバイスの増大された処理電力、および帯域幅効率をもたらす。これは、これらのトランザクションを処理する当該コンピューティングデバイスの効率を増やし、当該コンテンツ・アイテムが描画できる速度を増やす。データ処理システム１０５は、何千、何万またはそれ以上の入力オーディオ信号を同時に処理でき、その結果、当該帯域幅、電力、および処理節約は大幅であり、単に増分的または偶発的なものではない。
【００８２】
インタフェース管理コンポーネント１４０は、クライアントコンピューティングデバイス１５０へのアクションデータ構造の配送に続いて、コンテンツ・アイテムを当該アクションデータ構造と同じクライアントコンピューティングデバイス１５０（または異なるデバイス）に提供または配送することができる。例えば、当該コンテンツ・アイテムを、当該アクションデータ構造のオーディオ出力描画の完了時に、選択されたインタフェースを介した描画のために提供することができる。インタフェース管理コンポーネント１４０はまた、当該アクションデータ構造のクライアントコンピューティングデバイス１５０への提供と並行して、当該コンテンツ・アイテムを選択されたインタフェースに提供することができる。インタフェース管理コンポーネント１４０は、ＮＬＰコンポーネント１１０による入力オーディオ信号の受信からの所定の時間期間内に当該選択されたインタフェースを介して配送するためのコンテンツ・アイテムを提供することができる。当該時間期間は、例えば、セッションの会話のアクティブな長さにおける任意の時間であることができる。例えば、入力オーディオ信号が「I would like to go to the beach this weekend」である場合、当該所定の時間期間は、週末の終わりを通じた当該入力オーディオ信号の受信からの任意の時間、例えば、当該会話のアクティブな期間であることができる。当該所定の時間期間はまた、この描画の５分、１時間または１日以内のような、クライアントコンピューティングデバイス１５０によるオーディオ出力として当該アクションデータ構造の描画からトリガされた時間であることができる。
【００８３】
インタフェース管理コンポーネント１４０は、コンテンツ・アイテムの存在の指示を有するアクションデータ構造をクライアントコンピューティングデバイス１５０に提供することができる。例えば、データ処理システム１０５は、クライアントコンピューティングデバイス１５０でオーディオ出力「it will be sunny and 80 degrees at the beach on Saturday, check your email for more information」を提供するように描画するアクションデータ構造を提供することができる。フレーズ「check your email for more information」は、例えば、データ処理システム１０５によりインタフェース（例えば、電子メール）に提供される、日焼け止めに関するコンテンツ・アイテムの存在を示すことができる。本例では、スポンサーされたコンテンツを、コンテンツ・アイテムとして電子メール（または他の）インタフェースに提供でき、天気のような有機的なコンテンツをアクションデータ構造としてオーディオ出力に提供することができる。
【００８４】
データ処理システム１０５はまた、当該コンテンツ・アイテムを取得することに対するユーザの興味を決定するために当該ユーザに問い合わせるプロンプトをアクションデータ構造に提供することができる。例えば、当該アクションデータ構造は「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?」を示すことができる。データ処理システム１０５は、プロンプト「would you like to hear about some services to assist with your trip?」に応答して「sure」のような別のオーディオ入力信号をクライアントコンピューティングデバイス１５０から受信することができる。ＮＬＰコンポーネント１１０は、この応答、例えば、「sure」を解析して、それをクライアントコンピューティングデバイス１５０によるコンテンツ・アイテムのオーディオ描画に対する認証として解釈することができる。応答して、データ処理システム１０５は、当該応答「sure」が発生した同一のクライアントコンピューティングデバイス１５０によるオーディオ描画のために当該コンテンツ・アイテムを提供することができる。
【００８５】
データ処理システム１０５は当該アクションデータ構造に関連付けられたコンテンツ・アイテムの送信を遅延して、処理の利用を最適化することができる。例えば、データ処理システム１０５は、リアルタイムで入力オーディオ信号の受信に応答してクライアントコンピューティングデバイスによるオーディオ出力として、例えば、会話方式で描画するために当該アクションデータ構造を提供し、コンテンツ・アイテム送信をデータセンタ利用のオフピークまたは非ピークの期間まで遅延することができる、これはピーク帯域幅利用、熱出力または冷却要件を減らすことで当該データセンタのより効率的な利用をもたらす。データ処理システム１０５はまた、車サービスのオーダのような、当該コンテンツ・アイテムに関連付けられた変換または他の活動を、当該アクションデータ構造または当該コンテンツ・アイテムへの応答に応答して、データ処理システム１０５を含むネットワーク１６５またはデータセンタのデータセンタ利用率または帯域幅メトリックまたは要件に基づいて開始することができる。
【００８６】
当該選択されたインタフェースを介して描画されたコンテンツ・アイテムのクリックのような、コンテンツ・アイテムまたは後続のアクションに対するアクションデータ構造への応答に基づいて、データ処理システム１０５は変換を識別するか、または変換またはアクションを開始することができる。データ処理システム１０５のプロセッサは、ダイレクト・アクションＡＰＩ１３５を起動して、エンド・ユーザをビーチに行き来させるカーシェアサービスからの車のオーダのような変換アクションを促進するスクリプトを実行することができる。ダイレクト・アクションＡＰＩ１３５は、データリポジトリ１４５からのコンテンツデータ１４８（またはパラメータ１４６またはポリシ１４７）、ならびに位置、時間、ユーザアカウント、物流またはカーシェアサービスから車を予約するための他の情報を決定するためにエンド・ユーザの同意によりクライアントコンピューティングデバイス１５０から受信されたデータを取得することができる。ダイレクト・アクションＡＰＩ１３５を用いて、データ処理システム１０５はまた、サービスプロバイダコンピューティングデバイス１６０と通信して、この例ではカーシェアのピックアップ予約を行うことによって当該変換を完了することができる。
【００８７】
図２は、音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のための流れ図２００を示す。データ処理システム１０５は入力オーディオ信号２０５、例えば、「OK, I would like to go to the beach this weekend」を受信することができる。応答して、データ処理システムは少なくとも１つのアクションデータ構造２１０および少なくとも１つのコンテンツ・アイテム２１５を生成する。アクションデータ構造２０５は、「It will be sunny and 80 degrees at the beach this weekend」または「It will be sunny and 80 degrees at the beach this weekend」と述べるオーディオ描画応答のような、有機的なまたはスポンサーされないコンテンツを含むことができる。データ処理システム１０５は、クライアントコンピューティングデバイス１５０の候補インタフェースにより、例えば、リアルタイムまたは会話方式でデジタルまたは会話アシスタントプラットフォームの一部として描画するための、アクションデータ構造２１０を入力オーディオ信号２０５を生成した同一のクライアントコンピューティングデバイス１５０に提供することができる。
【００８８】
データ処理システム１０５は候補インタフェース２２０をコンテンツ・アイテムに対する選択されたインタフェース２１５として選択でき、コンテンツ・アイテム２１５を選択されたインタフェース２２０に提供することができる。コンテンツ・アイテム２１５はまたデータ構造を含むことができる。当該データ構造を、選択されたインタフェース２２０により描画するためにデータ処理システム１０５により適切なモダリティに変換することができる。コンテンツ・アイテム２１５は、その日のために、または日焼け止めのためにビーチチェアの貸出しの申し出のような、スポンサーされたコンテンツを含むことができる。選択されたインタフェース２２０は、クライアントコンピューティングデバイス１５０のエンド・ユーザによりアクセス可能な、同一のクライアントコンピューティングデバイス１５０または異なるデバイの一部であることができるか、または、それらにより実行されることができる。アクションデータ構造２１０およびコンテンツ・アイテム２１５の送信は同時に、または、互いに対して後続して発生することができる。アクションデータ構造２１０は、コンテンツ・アイテム２１５が別々に異なるモダリティまたはフォーマットを介して選択されたインタフェース２００に送信されているかまたは将来送信されるインジケータを含むことができ、エンド・ユーザにコンテンツ・アイテム２１５の存在を警告する。
【００８９】
アクションデータ構造２１０およびコンテンツ・アイテム２１５をエンド・ユーザに描画するために別々に提供することができる。スポンサーされたコンテンツ（コンテンツ・アイテム２１５）を有機的な応答（アクションデータ構造２１０）から分離することで、コンテンツ・アイテム２１５がスポンサーされるということを示すオーディオまたは他の警告をアクションデータ構造２１０に提供する必要はない。これは、ネットワーク１６５を介したアクションデータ構造２１０の送信に関連付けられた帯域幅要件を減らすことができ、例えばオーディオディスクレーマまたは警告メッセージなしにアクションデータ構造２１０の描画を簡単化することができる。
【００９０】
データ処理システム１０５は応答オーディオ信号２２５を受信することができる。応答オーディオ信号２２５は、「great, please book me a hotel on the beach this weekend」のようなオーディオ信号を含むことができる。応答オーディオ信号２２５のデータ処理システム１０５による受信は、データ処理システムに、ダイレクト・アクションＡＰＩ１３５を起動して変換を実行し、例えば、ビーチのホテルの部屋を予約させることができる。ダイレクト・アクションＡＰＩ１３５はまた、少なくとも１つのサービスプロバイダコンピューティングデバイス１６０と通信して、情報をサービスプロバイダコンピューティングデバイス１６０を提供でき、その結果、サービスプロバイダコンピューティングデバイス１６０は当該予約プロセスを完了または確認することができる。
【００９１】
図３は、音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信の方法３００を示す。方法３００はデータ・パケットを受信することができる（動作３０５）。例えば、ＮＬＰコンポーネント１１０、データ処理システム１０５により実行され、クライアントコンピューティングデバイス１０５から入力オーディオ信号を含むデータ・パケットを受信することができる（動作３０５）。当該データ・パケットを、ネットワーク１６５を介してパケットまたは他のプロトコルベースのデータ送信として受信することができる（動作３０５）。方法３００は、当該入力オーディオ信号から、要求または当該要求に対応するトリガキーワードを識別することができる（動作３１０）。例えば、ＮＬＰコンポーネント１１０は当該入力オーディオ信号を解析して、当該入力オーディオ信号の主題に関する要求を識別することができ、または、例えば、当該要求に関連付けられたアクションを示すことができるトリガキーワードを識別することができる。
【００９２】
方法３００は少なくとも１つのアクションデータ構造を生成することができる（動作３１５）。例えば、ダイレクト・アクションＡＰＩ１３５は当該要求またはトリガキーワードに基づいてアクションデータ構造を生成することができる（動作３１５）。当該アクションデータ構造は当該入力オーディオ信号に関連する有機的なまたはスポンサーされないコンテンツを示すことができる。方法３００は少なくとも１つのコンテンツ・アイテムを選択することができる（動作３２０）。例えば、コンテンツセレクタコンポーネント１２５は当該要求（複数可）または当該トリガキーワード（複数可）を受信でき、この情報に基づいては１つまたは複数のコンテンツ・アイテムを選択することができる。当該コンテンツ・アイテムは、当該要求または当該トリガキーワードの主題に関する主題を有するスポンサーされたアイテムを含むことができる。当該コンテンツ・アイテムを、リアルタイムコンテンツ選択プロセスを介してコンテンツセレクタコンポーネント１２５により選択することができる。
【００９３】
方法３００は当該コンピューティングデバイスの閾値範囲内の複数のコンピューティングデバイスを識別し、少なくとも１つの候補インタフェースを決定するために複数のインタフェースをポーリングすることができる（動作３２５）。方法３００は１つまたは複数の近接性検出技術を使用して、当該閾値範囲内の当該１つまたは複数のコンピューティングデバイスを識別し、次いで当該１つまたは複数のコンピューティングデバイスに関連付けられた候補インタフェースをポーリングすることができる。当該候補インタフェースは、当該選択されたコンテンツ・アイテム（またはアクションデータ構造）の描画のための候補インタフェースを含むことができる。例えば、インタフェース管理コンポーネント１４０はインタフェースを問い合わせて、当該インタフェースに関する利用値、例えば、パラメータ情報または他の特性を取得することができる（動作３３０）。当該利用値に基づいて、インタフェース管理コンポーネント１４０は少なくとも１つの候補インタフェースを当該コンテンツ・アイテム（または当該アクションデータ構造）を描画するための選択されたインタフェースとして選択することができる（動作３３５）。方法３００は、当該コンテンツ・アイテムを当該選択されたインタフェースを介して描画するためのモダリティに変換するステップを含むことができる（動作３４０）。例えばデータ処理システム１０５またはインタフェース管理コンポーネント１４０のようなそのコンポーネントは、オンラインドキュメントのコンテンツ・アイテムスロットで描画するために（例えば、電子メールとして（例えば、選択された電子メールインタフェースを介して）またはチャットアプリで表示するためのテキストメッセージとして表示するために）当該コンテンツ・アイテムを変換することができる。幾つかのケースでは、方法３００は、当該選択されたインタフェースを介して描画するためのモダリティで当該コンテンツ・アイテムを選択するステップを含むことができる（動作３４０）。
【００９４】
方法３００は当該アクションデータ構造を描画するためのクライアントコンピューティングデバイス１５０に提供でき（動作３４５）、当該コンテンツ・アイテムを当該コンテンツ・アイテムを描画するために選択された当該候補インタフェースに送信することができる（動作３５０）。例えば、インタフェース１１５を介して、インタフェース管理コンポーネント１４０は、当該入力オーディオ信号に応答してオーディオ出力として描画するための当該アクションデータ構造をクライアントコンピューティングデバイス１５０に提供することができる（動作３４５）。データ処理システムはまた、当該変換されたモダリティで描画するための当該コンテンツ・アイテムを同一のまたは異なるクライアントコンピューティングデバイス１５０上の当該選択されたインタフェースに送信することができる（動作３５０）。
【００９５】
図４は、音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のシステムの例示的な動作を示す。システム４００は、例えば、データ処理システム１０５、ネットワーク１６５および１つまたは複数のコンピューティングデバイスを含む、システム１００、２００または６００で示した１つまたは複数のコンポーネントを含むことができる。
【００９６】
図４に示すように、システム４００は、第２のコンピューティングデバイス４０６から距離４１０離れた第１のコンピューティングデバイス４０４を含むことができる。第２のコンピューティングデバイス４０６は、オーディオ、ビデオ、画像または他のコンテンツ第１の出力デバイス４０８を介して出力するために第１の出力デバイス４０８に通信可能に接続されることができる。第１のコンピューティングデバイス４０５、第２のコンピューティングデバイス４０６および第１の出力デバイス４０８は、第１の部屋４０２（例えば、家の部屋、アパート、居住空間、オフィス、ホテル部屋または他の物理空間）に位置づけまたは配置することができる。第１のコンピューティングデバイス４０４および第２のコンピューティングデバイス４０６はネットワーク１６５を介してデータ処理システム１０５と対話および通信することができる。
【００９７】
システム４００は１つまたは複数のユーザインタフェースを有する１つまたは複数のコンピューティングデバイスを含むことができる。第１のユーザインタフェースは、ユーザが当該ユーザインタフェース要素を要求することなく出現するユーザインタフェース要素のように、侵襲的であると考えることができる。これらのユーザインタフェース要素はコンテンツ・アイテムまたは通知を含むことができ、モバイルアプリケーションまたはウェブページを介して提供することができる。かかるユーザインタフェース要素は、視覚的に侵襲的なユーザインタフェース要素でありうるので、無視または破棄してもよい。幾つかのコンピューティングデバイスは、音声ベースのデジタルアシスタントのような主にオーディオまたはオーディオのみのデバイスであってもよい。これらのタイプのコンピューティングデバイスでは、当該ユーザインタフェース要素はオーディオの再生を含んでもよく、これは当該通知またはコンテンツ・アイテムの前に当該デバイスが出力していたコンテンツに割り込みうる。したがって、当該本開示のシステムおよび方法はこれらの通知を、特定の時点または特定のインタフェースまたは特定のコンピューティングデバイスで、例えば現在の出力に割り込むかまたは当該現在のデバイスのオーディオチャネルまたは近傍のデバイスのオーディオチャネルで再生することなく提供することができる。
【００９８】
データ処理システム１０５はいつどこでコンテンツ・アイテムまたは通知を配送するかを判定することができる。データ処理システム１０５は、いつユーザとオーディオ駆動の通知で関与するかを近傍のデバイスとのユーザ関与およびこれらの近傍のデバイスの媒体再生状態に基づいて判定するための機構を提供することができる。例えば、データ処理システム１０５は、ユーザが既に近傍のコンピューティングデバイス（例えば、モニタ、ディスプレイデバイス、テレビ、またはスピーカのような第１の出力デバイス４０８でビデオを再生している第２のコンピューティングデバイス４０６）に関与しており、当該ユーザにオーディオベースのプロモーションで割り込むことを選択しないかどうかを判定することができる。
【００９９】
データ処理システム１０５は、当該コンテンツ・アイテムまたは通知を全く表示しないか、または当該通知またはコンテンツ・アイテムを異なる媒体またはデバイスに送信する（例えば、当該コンテンツ・アイテムまたは通知をプッシュ通知として第１のコンピューティングデバイス４０４に送信する）と決定でき、または後の配送のために当該コンテンツ・アイテムまたは通知を遅延すると決定することができる。
【０１００】
例えば、システム４００は第１のコンピューティングデバイス４０４を含むことができる。第１のコンピューティングデバイス４０４はコンピューティングデバイス１５０の１つまたは複数のコンポーネントまたは機能を含むことができる。第１のコンピューティングデバイス４０４はユーザにより提供された音声入力またはオーディオコマンドを含む入力オーディオ信号を受信することができる。第１のコンピューティングデバイス４０４は、当該オーディオコマンドに関与することができ、次いでデータ処理システム１０５により行われた判定に基づいてコンテンツ・アイテムまたは通知を再生するかまたは保留する。データ処理システム１０５は、当該ユーザが存在し第１のコンピューティングデバイス４０４が別の活動に割り込んでいない場合に、当該コンテンツ・アイテムまたは通知を再生または表示するように第１のコンピューティングデバイス１０５に指示することを決定することができる。データ処理システム１０５は、第１のコンピューティングデバイス４０４との対話または関与に基づいて表示された当該ユーザを決定することができる。
【０１０１】
データ処理システム１０５はさらに、当該コンテンツ・アイテムまたは通知が別の活動に割り込むかどうかを判定することができる。例えば、データ処理システム１０５はローカルＡＰＩを通じて近傍のデバイスのオーディオ状態を決定することができる。データ処理システム１０５は当該ＡＰＩを使用して、第２のコンピューティングデバイス４０６を問い合わせて、第２のコンピューティングデバイス４０６が第１の出力デバイス４０８を介して現在オーディオ・コンテンツを再生しているかどうかおよびボリューム・レベルが何かを判定することができる。データ処理システム１０５は、当該コンテンツがオーディオを含むかまたはオーディオを含まない（例えば、オーディオなしの画像スライド・ショーを再生している）かどうかを判定するために、第２のコンピューティングデバイス４０６により現在再生されているコンテンツに関するメタデータを検査または処理することができる。第２のコンピューティングデバイス４０６がオーディオを再生しない場合、データ処理システム１０５は、第１のコンピューティングデバイス４０４を介して提示するためのオーディオ・コンテンツ・アイテムを提供することが、第２のコンピューティングデバイス４０６により提供されたコンテンツに割り込めないと判定することができる。
【０１０２】
そうするために、データ処理システム１０５は、第１のコンピューティングデバイス４０４の閾値距離内のコンピューティングデバイスを検出することができる。データ処理システム１０５（例えば、インタフェース管理コンポーネント）は、第１のコンピューティングデバイス４０４および第２のコンピューティングデバイス４０６の間の距離４１０を決定するための１つまたは複数の近接性検出技術を利用して、距離４１０が閾値距離内にあるかどうかを判定することができる。例えば、データ処理システム１０５は、サブ可聴音波を送信するように第１のコンピューティングデバイス４０４に指示することができる。第１のコンピューティングデバイス４０４のスピーカからサブ可聴音を通じて別のデバイスのマイクロフォン（例えば、第２のコンピューティングデバイス４０６のマイクロフォン）にトークンを送信し、次いで当該トークンの値をサーバエクスチェンジと比較することで、データ処理システム１０５は第１のコンピューティングデバイス４０４および第２のコンピューティングデバイス４０６が同一の部屋（例えば、第１の部屋４０２）にあるかどうかを判定することができる。データ処理システム１０５はさらに、当該トークンが第１のコンピューティングデバイス４０４のスピーカから第２のコンピューティングデバイス４０６のマイクロフォンに移動するのにかかるミリ秒をカウントすることで、２つのデバイス４０４および４０６の間のおおよその距離４１０を近似することができる。当該２つのデバイスは同期されたであることができる。
【０１０３】
幾つかのケースでは、データ処理システム１０５は、オーディオまたはビデオが第１のコンピューティングデバイス４０４の（例えば、距離４１０のような閾値距離内の）近傍のデバイスで再生されていると判定でき、オーディオ・コンテンツ・アイテムの提供または第１のコンピューティングデバイス４０４を介した通知のブロックを決定することができる。幾つかのケースでは、データ処理システム１０５は、第１のコンピューティングデバイス４０４のオーバライド構成（例えば、セキュリティ警告を提供するためのオーバライドブロック）に基づいて当該ブロックをオーバライドすることを決定することができる。
【０１０４】
図５は、音声起動されたコンピュータ・ネットワーク環境におけるパケット化されたデータのマルチモーダル送信のシステムの例示的な動作を示す。システム５００は、例えば、データ処理システム１０５、ネットワーク１６５および１つまたは複数のコンピューティングデバイスを含むシステム１００、２００または６００で示された１つまたは複数のコンポーネントを含むことができる。システム５００は、第１のコンピューティングデバイス４０４、第２のコンピューティングデバイス４０６、および第１の出力デバイス４０８を含むことができる。システム５００は第３のコンピューティングデバイス５０４を含むことができ、第３のコンピューティングデバイス５０４はコンピューティングデバイス１５０の１つまたは複数のコンポーネントまたは機能を含むことができる。システム５００は第２の出力デバイス５０６を含むことができ、第２の出力デバイス５０６は第１の出力デバイス４０８の１つまたは複数のコンポーネントまたは機能を含むことができる。
【０１０５】
図５に示すように、システム５００は、第２のコンピューティングデバイス４０６から距離４１０だけ離れている第１のコンピューティングデバイス４０４を含むことができる。第２のコンピューティングデバイス４０６は、オーディオ、ビデオ、画像または他のコンテンツ第１の出力デバイス４０８を介して出力するために第１の出力デバイス４０８に通信可能に接続されることができる。第１のコンピューティングデバイス４０５、第２のコンピューティングデバイス４０６および第１の出力デバイス４０８は、第１の部屋４０２（例えば、家の部屋、アパート、居住空間、オフィス、ホテル部屋または他の物理空間）に位置づけまたは配置することができる。第１のコンピューティングデバイス４０４および第２のコンピューティングデバイス４０６はネットワーク１６５を介してデータ処理システム１０５と対話および通信することができる。
【０１０６】
システム５００は、第１の部屋４０２に隣接して配置された第２の部屋５０２を含むことができる。第２の部屋５０２は、少なくとも部分的に、第１の部屋４０２から壁５１２だけ離れていることができる。壁５１２は開口部５１４または戸口を含むことができる。第２の部屋５０２において、システム５００は第４のコンピューティングデバイス５１０、および第２の出力デバイス５０６に通信可能に接続される第３のコンピューティングデバイス５０４を含むことができる。第３のコンピューティングデバイス５０４は第１のコンピューティングデバイス４０４から距離５０８だけ離れていることができる。
【０１０７】
データ処理システム１０５は、１つまたは複数のデバイスがリソースを妨害することなく相対的に高いリソース利用値を有する（例えば、オーディオまたはビデオを再生している）環境においてコンテンツまたは通知を１つまたは複数のコンピューティングデバイスで提供することができる。例えば、データ処理システム１０５は、コンテンツ・アイテムを選択し、第２のコンピューティングデバイス４０６がオーディオを有するビデオを再生しているので、第２のコンピューティングデバイス４０６を介して第１の出力デバイス４０８上の当該コンテンツ・アイテムの提供をブロックすると決定することができる。その代わり、データ処理システム１０５は、プッシュ通知を介して当該コンテンツ・アイテムまたは通知を、第２のコンピューティングデバイス４０６から閾値距離内にあるモバイルコンピューティングデバイス（例えば、第１のコンピューティングデバイス４０４）に提供すると決定することができる。
【０１０８】
データ処理システム１０５は１つまたは複数の近接性検出技術（例えば、サブ可聴音波、Bluetooth（登録商標）、または別々のデバイス上の同一のオーディオベースの入力信号の検出）を使用して、閾値距離内の近傍のコンピューティングデバイスを識別することができる。Bluetooth（登録商標）は、モバイル電話、コンピュータまたは他の電子デバイスのようなコンピューティングデバイスの相互接続のための短波ワイヤレス送信標準を指すことができる。当該短波ワイヤレス送信は２．４から２．４８５ＧＨｚへの無線波を利用することができる。当該範囲は例えば、おおよそ０．５メートル、１メートル、１０メートル、１００メートル、１５０メートル、２４０メートル、またはそれ以上であることができる。例えば、２つの別々のデバイス（例えば、第１のコンピューティングデバイス４０４および第２のコンピューティングデバイス４０６）により同一の入力オーディオ信号（またはオーディオコマンド）を検出することは当該デバイスが閾値距離内にあるプロキシ信号であることができる。
【０１０９】
データ処理システム１０５は、コンピューティングデバイスに送信するためのコンテンツ・アイテムまたは通知を識別することができる。当該コンテンツ・アイテムまたは通知を識別したことに応答して、データ処理システム１０５は１つまたは複数のコンピューティングデバイスが当該閾値距離内にあるかどうかを決定することができる。幾つかの事例では近接性情報は既にデータ処理システム１０５に格納されていることができ、または広い近接性情報を、当該２つのデバイスがより粒度の細かいデバイス近接性（例えば、サブ可聴音）をテストするのに十分なほど近くないことを識別するために使用することができる。例えば、データ処理システム１０５はコンピューティングデバイスが閾値距離内にあるかどうかを判定するために、漸進的によりリソース集約的となる近接性検出技術の階層を使用することができる。
【０１１０】
幾つかのケースでは、データ処理システム１０５は、アカウントでリンクされた複数のコンピューティングデバイスを識別することができる。データ処理システム１０５は次いで、閾値距離内の１組の近傍のデバイスを識別することができる。例えば、図５００に示すように、データ処理システム１０５は、１つまたは複数の近接性検出技術を使用して、第１のコンピューティングデバイス４０４および第３のコンピューティングデバイス５０４の間の距離５０８が当該閾値距離より大きいと判定することができる。データ処理システム１０５は、ユーザがビデオを第２の出力デバイス５０６で再生するために第３のコンピューティングデバイス５０４と対話していると判定することができる。データ処理システム１０５は、当該ユーザが関与または対話している第３のコンピューティングデバイス５０４が第１のコンピューティングデバイス４０４からの当該閾値距離より大きいので、第１のコンピューティングデバイス４０４を介して提示するためにオーディオ・コンテンツまたは通知を提供しないと決定することができる。
【０１１１】
幾つかのケースでは、データ処理システム１０５は、１つまたは複数のアプリケーションをコンテンツまたは通知を提供するための候補インタフェースとして識別することができる。例えば、データ処理システム１０５は、第１のコンピューティングデバイス４０４と統合されたアプリケーションを利用して当該コンテンツまたは通知を提供すると決定することができる。データ処理システム１０５は、当該コンテンツまたは通知を提供し、当該アプリケーションを複製解除し、リソース利用値または通知構成に基づいてプリプログラムされた階層（例えば、オーディオインタフェースを、テキストのみのインタフェースより高く順位付けできる画像インタフェースより高く順位付けできる）に基づいて候補インタフェース（例えば、アプリケーション）を選択できる第１のコンピューティングデバイス４０４と統合された複数のアプリケーションを識別することができる。
【０１１２】
したがって、データ処理システムは通知を当該選択されたデバイスに送信することができる。この通知はペイロードを含むことができる。例えば、第１のコンピューティングデバイスは、第２の出力デバイス５０６を介して提示するために第３のコンピューティングデバイス５０４にストリーミングできる新たなコンテンツを促す通知を、第４のコンピューティングデバイス５１０（例えば、モバイルコンピューティングデバイス１５０）に送信することができる。当該ユーザは、当該通知に応答して、第２の出力デバイス５０６で当該新たなコンテンツをストリーミングすることを開始するのを第４のコンピューティングデバイス５１０に指令、命令、または示すことができる。
【０１１３】
図６は例示的なコンピュータシステム６００のブロック図である。当該コンピュータシステムまたはコンピューティングデバイス６００は、システム１００、またはデータ処理システム１０５のようなそのコンポーネントを含むことができるかまたはそれを実装するために使用される。コンピューティングシステム６００は、情報を通信するためのバス６０５または他の通信コンポーネントおよび情報を処理するための当該バス６０５に接続されるプロセッサ６１０または処理回路を含む。コンピューティングシステム６００はまた、１つまたは複数のプロセッサ６１０または情報を処理するための当該バスに接続される処理回路を含むことができる。コンピューティングシステム６００はまた、情報、およびプロセッサ６１０により実行される命令を格納するための当該バス６０５に接続されたランダム・アクセスメモリ（ＲＡＭ）または他の動的記憶デバイスのようなメイン・メモリ６１５を含む。当該メイン・メモリ６１５はデータリポジトリ１４５であることができるかまたはそれを含むことができる。当該メイン・メモリ６１５をまた、プロセッサ６１０による命令の実行中に位置情報、一時的変数、または他の中間情報を格納するために使用することができる。コンピューティングシステム６００はさらに、プロセッサ６１０のための静的情報および命令を格納するための当該バス６０５に接続される読取専用メモリ（ＲＯＭ）６２０または他の静的記憶デバイスを含んでもよい。固体状態デバイス、磁気ディスクまたは光ディスクのような記憶デバイス６２５を当該バス６０５に接続して、永続的に情報および命令を格納することができる。記憶デバイス６２５はデータリポジトリ１４５を含むことができるかまたはその一部であることができる。
【０１１４】
コンピューティングシステム６００を、当該バス６０５を介して情報をユーザに表示するために、液晶ディスプレイ、またはアクティブ行列ディスプレイのようなディスプレイ６３５に接続してもよい。英数字および他のキーを含むキーボードのような入力デバイス６３０、を、情報およびコマンド選択をプロセッサ６１０に通信するための当該バス６０５に接続してもよい。入力デバイス６３０はタッチ・スクリーンディスプレイ６３５を含むことができる。入力デバイス６３０はまた、方向情報およびコマンド選択をプロセッサ６１０に通信するためのおよび当該ディスプレイ６３５上のカーソル移動を制御するためのマウス、トラックボール、またはカーソル方向キーのようなカーソル・コントロールを含むことができる。当該ディスプレイ６３５は、例えば、図１のデータ処理システム１０５、クライアントコンピューティングデバイス１５０または他のコンポーネントの一部であることができる。
【０１１５】
本明細書で説明したプロセス、システムおよび方法を、プロセッサ６１０がメイン・メモリ６１５に含まれる命令の配置を実行したことに応答してコンピューティングシステム６００により実装することができる。かかる命令を、メイン・メモリ６１５に記憶デバイス６２５のような別のコンピュータ可読媒体から読み込むことができる。メイン・メモリ６１５に含まれる命令の配置の実行はコンピューティングシステム６００に本明細書で説明した例示的なプロセスを実施させる。マルチプロセッシング配置における１つまたは複数のプロセッサをまた、メイン・メモリ６１５に含まれる命令を実行するために使用することができる。ハードワイヤード回路を、本明細書で説明するシステムおよび方法とともにソフトウェア命令の代わりにまたはそれを組み合わせて使用することができる。本明細書で説明したシステムおよび方法はハードウェア回路およびソフトウェアの任意の特定の組合せに限定されない。
【０１１６】
例示的なコンピューティングシステムを図６で説明したが、本明細書で説明した動作を含む主題を、本明細書で開示した構造およびそれらの構造的均等物を含む他のタイプのデジタル電子回路で、またはコンピュータソフトウェア、ファームウェア、またはハードウェアで、またはそれらの１つまたは複数の組合せで実装することができる。
【０１１７】
本明細書で説明するシステムがユーザに関する個人情報を収集するか、または個人情報を利用しうる状況に対して、プログラムまたは機能が個人情報（例えば、ユーザのソーシャルネットワーク、ソーシャルアクションまたはアクティビティ、ユーザの嗜好、またはユーザの位置に関する情報）を収集しうるかどうかを制御するか、または、当該ユーザにより関連しうるコンテンツサーバまたは他のデータ処理システムからコンテンツを受信するかどうかまたはその方法を制御するための機会を当該ユーザに与えてもよい。さらに、特定のデータはそれが格納または使用される前に１つまたは複数の方法で匿名化してもよく、その結果個人的に識別可能な情報がパラメータを生成するときに除去される。例えば、ユーザのアイデンティティを匿名化してもよく、その結果個人的に識別可能な情報を当該ユーザに対して決定できず、またはユーザの特定の位置を決定できないように、ユーザの地理的位置を位置情報が取得される場所で（例えば都市、郵便番号、または状態レベルに）一般化してもよい。したがって、当該ユーザは、どのように情報が当該ユーザに関して収集され当該コンテンツサーバにより使用されるかを制御することができる。
【０１１８】
本明細書で説明した主題および動作を、本明細書で開示した構造およびそれらの構造的均等物を含むデジタル電子回路で、またはコンピュータソフトウェア、ファームウェア、またはハードウェアで、またはそれらの１つまたは複数の組合せで実装することができる。本明細書で説明した当該主題を、データ処理装置による実行のためにまたは当該装置の動作を制御するために１つまたは複数のコンピュータ記憶媒体で符号化された、１つまたは複数のコンピュータプログラム、例えば、コンピュータプログラム命令の１つまたは複数の回路として実装することができる。代替的にまたは追加として、当該プログラム命令を、人工的に生成された伝播信号、例えば、データ処理装置による実行のために適切な受信器装置に送信するための情報を符号化するために生成されたマシン−生成された電気、光、または電磁気信号で符号化することができる。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムなまたはシリアル・アクセスメモリ・アレイまたはデバイス、またはそれらの１つまたは複数の組合せであることができ、または、それらに含まれることができる。コンピュータ記憶媒体は伝播信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝播信号で符号化されたコンピュータプログラム命令のソースまたは目的地であることができる。当該コンピュータ記憶媒体はまた、１つまたは複数の別々のコンポーネントまたは媒体（例えば、複数のＣＤ、ディスク、または他の記憶デバイス）であることができ、または、それに含まれることができる。本明細書で説明した動作を、１つまたは複数のコンピュータ可読記憶デバイスに格納されまたは他のソースから受信されたデータに対してデータ処理装置により実施される動作として実装することができる。
【０１１９】
「データ処理システム」「コンピューティングデバイス」「コンポーネント」または「データ処理装置」という用語は、例としてプログラム可能プロセッサ、コンピュータ、システム・オン・チップ、または以上のうち複数または組合せを含む、データを処理するための様々な装置、デバイス、およびマシンを包含する。当該装置は、特殊目的論理回路、例えば、ＦＰＧＡ（フィールドプログラム可能ゲート・アレイ）またはＡＳＩＣ（特殊用途向け集積回路）を含むことができる。当該装置はまた、ハードウェアに加えて、着目するコンピュータプログラムに対する実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコル・スタック、データベース管理システム、オペレーティング・システム、クロス・プラットフォームランタイム環境、仮想マシン、またはそれらの１つまたは複数の組合せを構成するコードを含むことができる。当該装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッド・コンピューティングインフラのような様々な異なるコンピューティングモデルインフラを実現することができる。インタフェース管理コンポーネント１４０、ダイレクト・アクションＡＰＩ１３５、コンテンツセレクタコンポーネント１２５、予測コンポーネント１２０またはＮＬＰコンポーネント１１０および他のデータ処理システム１０５コンポーネントは、１つまたは複数のデータ処理装置、システム、コンピューティングデバイス、またはプロセッサを含むかまたは共有ことができる。
【０１２０】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、スクリプト、またはコードとしても知られる）を、コンパイル型言語またはインタプリタ型言語、宣言型または手続型言語を含む任意の形態のプログラミング言語で書くことができ、スタンドアロンプログラムまたはモジュール、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境で使用するのに適した他のユニットを含む任意の形態で展開することができる。コンピュータプログラムはファイルシステム内のファイルに対応することができる。コンピュータプログラムを、他のプログラムまたはデータを保持するファイル部分（例えば、マークアップ言語ドキュメントに格納された１つまたは複数のスクリプト）に、着目するプログラム専用の単一のファイルに、または複数の協調ファイルに（例えば、１つまたは複数のモジュール、サブプログラム、またはコード部分を格納するファイル）格納することができる。コンピュータプログラムを、１つのコンピュータ上でまたは１つのサイトに配置されるかまたは複数のサイトにわたって分散され通信ネットワークにより相互接続された複数のコンピュータ上で実行されるように展開することができる。
【０１２１】
本明細書で説明した当該プロセスおよび論理フローを、１つまたは複数のプログラム可能プロセッサが、１つまたは複数のコンピュータプログラム（例えば、データ処理システム１０５のコンポーネント）を実行して、入力データで動作し出力を生成することでアクションを実施することにより、実施することができる。当該プロセスおよび論理フローはまた、特殊目的論理回路、例えば、ＦＰＧＡ（フィールドプログラム可能ゲート・アレイ）またはＡＳＩＣ（特殊用途向け集積回路）により実施でき、装置をまた特殊目的論理回路、例えば、ＦＰＧＡ（フィールドプログラム可能ゲート・アレイ）またはＡＳＩＣ（特殊用途向け集積回路）として実装することができる。コンピュータプログラム命令およびデータを格納するのに適したデバイスは、例として半導体メモリデバイス、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュ・メモリデバイスを含むあらゆる形態の非揮発性メモリ、媒体およびメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたは取外し可能ディスク、磁気光ディスク、およびＣＤＲＯＭおよびＤＶＤ−ＲＯＭディスクを含む。当該プロセッサおよび当該メモリを特殊目的論理回路で補完するかまたはそれに組み込むことができる。
【０１２２】
本明細書で説明する主題を、バックエンドコンポーネントを、例えば、データサーバとして含むか、またはミドルウェアコンポーネント、例えば、アプリケーションサーバを含むか、またはフロントエンドコンポーネント、例えば、ユーザがそれを通じて本明細書で説明した当該主題の実装と対話できるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ、または１つまたは複数のかかるバックエンド、ミドルウェア、またはフロントエンドコンポーネントの組合せを含む、コンピューティングシステムで実装することができる。当該システムの当該コンポーネントはデジタルデータ通信、例えば、通信ネットワークの任意の形態または媒体により相互接続することができる。通信ネットワークの例は、ローカル・エリア・ネットワーク（「ＬＡＮ」）および広帯域ネットワーク（「ＷＡＮ」）、インターネットワーク（例えば、インターネット）、およびピア・ツー・ピアネットワーク（例えば、アドホックピア・ツー・ピアネットワーク）を含む。
【０１２３】
システム１００またはシステム６００のような当該コンピューティングシステムはクライアントおよびサーバを含むことができる。クライアントおよびサーバは一般に互いから離れており、一般に通信ネットワークを通じて対話する（例えば、ネットワーク１６５）。クライアントおよびサーバの関係は、当該各コンピュータで実行され互いにクライアント−サーバ関係を有するコンピュータプログラムにより生ずる。幾つかの実装では、サーバは、（例えば、アクションデータ構造またはコンテンツ・アイテムを表すデータ・パケット）を、クライアントデバイスに（例えば、当該クライアントデバイスと対話するユーザにデータを表示しそこからユーザ入力を受信し、またはサービスプロバイダコンピューティングデバイス１６０またはコンテンツプロバイダコンピューティングデバイス１５５にデータを表示する目的でクライアントコンピューティングデバイス１５０に）を送信する。当該クライアントデバイスで生成されたデータ（例えば、当該ユーザ対話の結果）は当該クライアントデバイスから当該サーバでから受信されることができる（例えば、データ処理システム１０５によりコンピューティングデバイス１５０またはコンテンツプロバイダコンピューティングデバイス１５５またはサービスプロバイダコンピューティングデバイス１６０から受信される）。
【０１２４】
動作を当該図面において特定の順序で説明したが、かかる動作を示した特定の順序でまたは逐次的な順序で実施する必要はなく、全ての図示した動作を実施する必要はない。本明細書で説明した動作を異なる順序で実施することができる。
【０１２５】
様々なシステムコンポーネントの分離は全ての実装における分離を要求しないが、当該説明したプログラムコンポーネントを単一のハードウェアまたはソフトウェア製品に含めることができる。例えば、ＮＬＰコンポーネント１１０、コンテンツセレクタコンポーネント１２５、インタフェース管理コンポーネント１４０、または予測コンポーネント１２０は、単一のコンポーネント、アプリ、またはプログラム、または１つまたは複数の処理回路を有する論理デバイス、またはデータ処理システム１０５の１つまたは複数のサーバの一部であることができる。
【０１２６】
幾つかの例示的な実装を説明したので、以上は、例示的であり限定的ではなく、例として提示されていることは明らかである。特に、本明細書で提示した例の多くは方法の動作またはシステム要素の特定の組合せを含むが、これらの動作およびこれらの要素を他の方法で組み合わせて同一の目的を実現してもよい。１実装と関連して説明した動作、要素および特徴は他の実装または実装における類似の役割から排除されるものではない。
【０１２７】
本明細書で使用したフレーズおよび用語は説明の目的のためであり限定として解釈されるべきではない。「〜を含む」、「〜を備える」、「〜を有する」、「〜を包含する」、「〜が関与する」、「〜により特徴付けられる」、「〜の点で特徴付けられる」、およびその本明細書における変形の使用は、その後に列挙された項目、その均等物、および追加の項目、ならびに排他的にその後に列挙された項目からなる代替的な実装を含むことを意味する。１実装では、本明細書で説明するシステムおよび方法は当該説明した要素、動作、またはコンポーネントの１つ、複数の各組合せ、または全てから成る。
【０１２８】
本明細書で単一形で参照されるシステムおよび方法の実装または要素または動作に対する任意の言及は複数のこれらの要素を含む実装を含んでもよく、本明細書の任意の実装または要素または動作への複数形の任意の参照は単一の要素のみを含む実装を含んでもよい。単一形または複数形における参照は本明細書で開示したシステムまたは方法、それらのコンポーネント、動作、または要素を単一のまたは複数の構成に限定しようとするものではない。任意の情報、動作または要素に基づく任意の動作または要素への参照は当該動作または要素は任意の情報、動作、または要素に少なくとも部分的に基づく実装を含んでもよい。
【０１２９】
本明細書で開示した任意の実装を任意の他の実装または実施形態と組み合わせてもよく「実装」、「幾つかの実装」、「一実装」等への言及は必ずしも相互に排他的ではなく、当該実装と関連して説明した特定の特徴、構造、または特性が少なくとも１つの実装または実施形態に含まれてもよいを示すことを意図している。本明細書で使用した用語は必ずしも全て同一の実装を参照しない。任意の実装を、任意の他の実装と、包含的にまたは排他的に、本明細書で開示した態様および実装と一貫する任意の方式で結合してもよい。
【０１３０】
「または」に対する言及は、「または」を用いて説明された任意の用語が当該説明した用語のうち１つ、複数、および全ての何れかを示しうるように、包含的として解釈してもよい。例えば、「‘Ａ’および‘Ｂ’のうち少なくとも１つ」への言及は‘Ａ’のみ、‘Ｂ’のみ、ならびに‘Ａ’および‘Ｂ’の両方を含むことができる。「〜を備える」または他のオープンな用語と関連して使用されるかかる言及は追加の項目を含むことができる。
【０１３１】
当該図面、詳細な説明または任意の請求項における技術的特徴に参照記号が続く場合、当該参照記号は当該図面、詳細な説明、および特許請求の範囲の明瞭性を高めるために含まれている。したがって、前記参照記号もそれがないことも任意のクレーム要素の範囲に対する限定効果を有さない。
【０１３２】
本明細書で説明するシステムおよび方法をその特徴から逸脱せずに他の特定の形態で具体化してもよい。以上の実装は説明したシステムおよび方法の限定ではなく例示的なものである。本明細書で説明するシステムおよび方法の範囲はしたがって以上の説明ではなく添付の特許請求の範囲により示され、添付の特許請求の範囲の均等物の意味と範囲に入る変更がそこに包含される。
【符号の説明】
【０１３３】
１０５  データ処理システム
１１０  自然言語プロセッサ・コンポーネント
１１５  インタフェース
１２０  予測コンポーネント
１２５  コンテンツセレクタコンポーネント
１３０  オーディオ信号生成器コンポーネント
１３５  ダイレクト・アクションＡＰＩ
１４０  インタフェース管理コンポーネント
１４５  データリポジトリ
１４６  パラメータ
１４７  ポリシ
１４８  コンテンツデータ
１４９  テンプレート
１５０  クライアント・コンピューティング・デバイス
１５１  センサ
１５２  トランスデューサ
１５３  オーディオドライバ
１５４  スピーカ
１５５  コンテンツ・プロバイダ・デバイス
１６０  サービス・プロバイダ・デバイス
１６１  サービスプロバイダの自然言語プロセッサ・コンポーネント
１６２  サービスプロバイダインタフェース
１６５  ネットワーク
【図１】
2020042270.tif 000003
【図２】
2020042270.tif 000004
【図３】
2020042270.tif 000005
【図４】
2020042270.tif 000006
【図５】
2020042270.tif 000007
【図６】
2020042270.tif 000008
【外国語明細書】
2020042270000001.pdf