(57)【要約】      （修正有）【課題】非効率的な帯域幅利用を解決する音声起動されたデータ・パケットのデータ構造プーリングを提供する。【解決手段】音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境における音声起動されたスレッドを管理する方法であって、第１の入力オーディオ信号を含むデータ・パケットを解析して、第１の要求及び第１のトリガキーワードを識別し、第１のアクションデータ構造を第１のアクションを定義するパラメータで生成する。第２の入力オーディオ信号を受信し解析して、第２の要求及び第２のトリガキーワードを識別し、第２のアクションデータ構造を第２のアクションを定義するパラメータで生成する。第１及び第２のアクションデータ構造をプールされたデータ構造に生成し、プールされたデータ構造をサービス・プロバイダ・コンピューティング・デバイスに送信し、デバイスにプールされたデータ構造で、定義された動作を実施する。【選択図】図４
2020115363.tif 000002
【特許請求の範囲】
【請求項１】
音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境における音声起動されたスレッドを管理するためのシステムであって、
データ処理システムのインタフェースを介して、第１のクライアントコンピューィングデバイスのセンサにより検出された第１の入力オーディオ信号を含むデータ・パケットを受信する、前記データ処理システムにより実行される自然言語プロセッサコンポーネントと、
第１のトリガキーワードに基づいておよび第１の要求に応答して、第１のアクションを定義するパラメータを有する第１のアクションデータ構造を生成する、前記データ処理システムのダイレクト・アクションアプリケーションプログラミングインタフェース（「ＡＰＩ」）と、
前記データ処理システムのプーリング・コンポーネントであって、
前記第１のアクションデータ構造の前記パラメータおよび第２のアクションデータ構造のパラメータに適用されるヒューリスティック技術に基づいて、前記第１のアクションデータ構造および前記第２のアクションデータ構造の間の重複のレベルを示すプーリング・パラメータを決定し、
前記プーリング・パラメータ、前記第１のアクションデータ構造、および前記第２のアクションデータ構造に基づいて、プールされたデータ構造を生成し、
コンピュータ・ネットワークを介して、前記プールされたデータ構造をサービス・プロバイダ・コンピューティング・デバイスに送信して、前記サービス・プロバイダ・コンピューティング・デバイスに、前記プールされたデータ構造により定義され前記第１のアクションおよび前記第２のアクションに対応する動作を実施させる、
プーリング・コンポーネントと、
を備え、
前記自然言語プロセッサコンポーネントは、前記第１の入力オーディオ信号を解析して前記第１の要求および前記第１の要求に対応する前記第１のトリガキーワードを識別し、  前記自然言語プロセッサコンポーネントは、前記データ処理システムの前記インタフェースを介して、第２のクライアント・コンピューティング・デバイスのセンサにより検出された第２の入力オーディオ信号を含むデータ・パケットを受信し、前記第２の入力オーディオ信号を解析して第２の要求および前記第２の要求に対応する第２のトリガキーワードを識別し、
前記ダイレクト・アクションＡＰＩは、前記第２のトリガキーワードに基づいておよび前記第２の要求に応答して、前記第２のアクションを定義するパラメータを有する第２のアクションデータ構造を生成する、
システム。
【請求項２】
前記サービス・プロバイダ・コンピューティング・デバイスは第１のエンティティに対応する第１のサービス・プロバイダ・コンピューティング・デバイスであり、
前記データ処理システムの前記プーリング・コンポーネントは、前記コンピュータ・ネットワークを介して、第２のプールされたデータ構造を第２のエンティティに対応する第２のサービス・プロバイダ・コンピューティング・デバイスに送信して、前記第２のサービス・プロバイダ・コンピューティング・デバイスに前記第２のプールされたデータ構造により定義された動作を実施させる、
請求項１に記載のシステム。
【請求項３】
前記プーリング・パラメータは第１のプーリング・パラメータであり、前記プールされたデータ構造は第１のプールされたデータ構造であり、前記サービス・プロバイダ・コンピューティング・デバイスは第１のサービス・プロバイダ・コンピューティング・デバイスであり、
前記データ処理システムの前記プーリング・コンポーネントは、
第３のアクションデータ構造および第４のアクションデータ構造の間の重複のレベルを示す第２のプーリング・パラメータを決定し、
前記第２のプーリング・パラメータ、前記第３のアクションデータ構造、および前記第４のアクションデータ構造に基づいて、第２のプールされたデータ構造を生成し、
コンピュータ・ネットワークを介して、前記第２のプールされたデータ構造を第２のサービス・プロバイダ・コンピューティング・デバイスに送信して、前記第２のサービス・プロバイダ・コンピューティング・デバイスに前記第２のプールされたデータ構造により定義され、前記第３のアクションおよび前記第４のアクションに対応する動作を実施させる、
請求項１に記載のシステム。
【請求項４】
前記プーリング・パラメータは第１のプーリング・パラメータであり、
前記自然言語プロセッサコンポーネントは、前記データ処理システムの前記インタフェースを介して、前記第１のクライアント・コンピューティング・デバイスの前記センサにより検出された第３の入力オーディオ信号を含むデータ・パケットを受信し、前記第３の入力オーディオ信号を解析して第３の要求および前記第３の要求に対応する第３のトリガキーワードを識別し、
前記ダイレクト・アクションＡＰＩは、前記第３のトリガキーワードに基づいておよび前記第３の要求に応答して、第３のアクションを定義するパラメータを有する第３のアクションデータ構造を生成し、
前記データ処理システムの前記プーリング・コンポーネントは、前記第３のアクションデータ構造と第１のアクションデータ構造、前記第２のアクションデータ構造、および前記プーリング・パラメータのうち少なくとも１つとの間の重複のレベルを示す第２のプーリング・パラメータを決定し、
前記データ処理システムの前記プーリング・コンポーネントは、前記プーリング・パラメータに基づいて、前記第３のアクションデータ構造を前記プールされたデータ構造に結合する、
請求項１に記載のシステム。
【請求項５】
前記プーリング・パラメータは第１のプーリング・パラメータであり、
前記データ処理システムの前記プーリング・コンポーネントは、第３のアクションデータ構造に基づいて第２のプーリング・パラメータを決定し、
前記データ処理システムの前記プーリング・コンポーネントは、前記第２のプーリング・パラメータに基づいて前記プールされたデータ構造を修正する
請求項１に記載のシステム。
【請求項６】
前記重複のレベルは前記第１のデータ構造と前記第２のデータ構造の間の類似性メトリックを示す、請求項１に記載のシステム。
【請求項７】
前記データ処理システムの前記プーリング・コンポーネントは、前記第１のアクションデータ構造により示される主題および前記第２のアクションデータ構造により示される主題に基づいて前記第１のデータ構造と前記第２のデータ構造の間の前記重複のレベルを決定する、請求項１に記載のシステム。
【請求項８】
前記第１のアクションは第１の複数のサブアクションを含み、前記第２のアクションは第２の複数のサブアクションを含む、請求項１に記載のシステム。
【請求項９】
前記データ処理システムは、前記プーリング・コンポーネントが第１のエンティティに対応し、前記サービス・プロバイダ・コンピューティング・デバイスが前記第１のエンティティと異なる第２のエンティティに対応することを含む、請求項１に記載のシステム。
【請求項１０】
前記第１のパラメータおよび前記第２のパラメータはそれぞれ、位置データを示す、請求項１に記載のシステム。
【請求項１１】
前記第１のパラメータおよび前記第２のパラメータはそれぞれ、時間データを示す、請求項１に記載のシステム。
【請求項１２】
前記第１のパラメータおよび前記第２のパラメータはそれぞれ共通の主題を識別する、
請求項１に記載のシステム。
【請求項１３】
音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境における音声起動されたスレッドを管理するための方法であって、
データ処理システムにより実行される自然言語プロセッサコンポーネントにより、前記データ処理システムのインタフェースを介して、第１のクライアント・コンピューティング・デバイスのセンサにより検出された第１の入力オーディオ信号を含むデータ・パケットを受信するステップと、
前記自然言語プロセッサコンポーネントにより、前記第１の入力オーディオ信号を解析して第１の要求および前記第１の要求に対応する第１のトリガキーワードを識別するステップと、
前記データ処理システムのダイレクト・アクションアプリケーションプログラミングインタフェース（「ＡＰＩ」）により、前記第１のトリガキーワードに基づいておよび前記第１の要求に応答して、第１のアクションを定義するパラメータを有する第１のアクションデータ構造を生成するステップと、
前記自然言語プロセッサコンポーネントにより、前記データ処理システムの前記インタフェースを介して、第２のクライアント・コンピューティング・デバイスのセンサにより検出された第２の入力オーディオ信号を含むデータ・パケットを受信し、前記自然言語プロセッサコンポーネントにより、前記第２の入力オーディオ信号を解析して、第２の要求および前記第２の要求に対応する第２のトリガキーワードを識別するステップと、
前記ダイレクト・アクションＡＰＩにより、前記第２のトリガキーワードに基づいておよび前記第２の要求に応答して、第２のアクションを定義するパラメータを有する第２のアクションデータ構造を生成するステップと、
前記データ処理システムのプーリング・コンポーネントにより、前記第１のアクションデータ構造の前記パラメータおよび前記第２のアクションデータ構造のパラメータに適用されるヒューリスティック技術に基づいて、前記第１のアクションデータ構造および前記第２のアクションデータ構造の間の重複のレベルを示すプーリング・パラメータを決定するステップと、
前記プーリング・パラメータに基づいて、前記第１のアクションデータ構造を前記第２のアクションデータ構造とともに、プールされたデータ構造に生成するステップと、
コンピュータ・ネットワークを介して、前記プールされたデータ構造をサービス・プロバイダ・コンピューティング・デバイスに送信して、前記サービス・プロバイダ・コンピューティング・デバイスに、前記プールされたデータ構造により定義され前記第１のアクションおよび前記第２のアクションに対応する動作を実施させるステップと、
を含む、方法。
【請求項１４】
前記サービス・プロバイダ・コンピューティング・デバイスは第１のエンティティに対応する第１のサービス・プロバイダ・コンピューティング・デバイスであり、
前記方法は、
前記データ処理システムの前記プーリング・コンポーネントにより、前記コンピュータ・ネットワークを介して、第２のプールされたデータ構造を第２のエンティティに対応する第２のサービス・プロバイダ・コンピューティング・デバイスに送信して、前記第２のサービス・プロバイダ・コンピューティング・デバイスに前記第２のプールされたデータ構造により定義された動作を実施させるステップ
を含む、請求項１３に記載の方法。
【請求項１５】
前記プーリング・パラメータは第１のプーリング・パラメータであり、前記プールされたデータ構造は第１のプールされたデータ構造であり、前記サービス・プロバイダ・コンピューティング・デバイスは第１のサービス・プロバイダ・コンピューティング・デバイスであり、
前記方法は、
前記データ処理システムの前記プーリング・コンポーネントにより、第３のアクションデータ構造と第４のアクションデータ構造の間の重複のレベルを示す第２のプーリング・パラメータを決定するステップと、
前記第２のプーリング・パラメータに基づいて、前記第３のアクションデータ構造を前記第４のアクションデータ構造とともに第２のプールされたデータ構造に結合するステップと、
コンピュータ・ネットワークを介して、前記第２のプールされたデータ構造を第２のサービス・プロバイダ・コンピューティング・デバイスに送信して、前記第２のサービス・プロバイダ・コンピューティング・デバイスに前記第２のプールされたデータ構造により定義された、前記第３のアクションおよび前記第４のアクションに対応する動作を実施させるステップと、
を含む、請求項１３に記載の方法。
【請求項１６】
前記プーリング・パラメータは第１のプーリング・パラメータであり、
前記方法は、
前記自然言語プロセッサコンポーネントにより、前記データ処理システムの前記インタフェースを介して、前記第１のクライアント・コンピューティング・デバイスの前記センサにより検出された第３の入力オーディオ信号を含むデータ・パケットを受信するステップと、
前記第３の入力オーディオ信号に基づいて、第３の要求および前記第３の要求に対応する第３のトリガキーワードを識別するステップと、
前記第３のトリガキーワードに基づいておよび前記第３の要求に応答して、第３のアクションを定義するパラメータを有する第３のアクションデータ構造を生成するステップと、
前記第３のアクションデータ構造と第１のアクションデータ構造、前記第２のアクションデータ構造、および前記プーリング・パラメータのうち少なくとも１つとの間の重複のレベルを示す第２のプーリング・パラメータを決定するステップと、
前記プーリング・パラメータに基づいて、前記第３のアクションデータ構造を前記プールされたデータ構造に結合するステップと、
を含む、請求項１３に記載の方法。
【請求項１７】
前記プーリング・パラメータは第１のプーリング・パラメータであり、
前記方法は、
前記データ処理システムの前記プーリング・コンポーネントにより、第３のアクションデータ構造と第１のアクションデータ構造、前記第２のアクションデータ構造、および前記プーリング・パラメータのうち少なくとも１つとの間の重複のレベルを示す第２のプーリング・パラメータを決定するステップと、
前記プーリング・パラメータに基づいて、前記第３のアクションデータ構造を前記プールされたデータ構造に結合するステップと、
を含む、請求項１３に記載の方法。
【請求項１８】
前記第１のアクションデータ構造により示される主題および前記第２のアクションデータ構造により示される主題に基づいて前記第１のデータ構造と前記第２のデータ構造の間の前記重複のレベルを決定するステップを含む、請求項１３に記載の方法。
【請求項１９】
前記データ処理システムは、前記プーリング・コンポーネントが第１のエンティティに対応し、前記サービス・プロバイダ・コンピューティング・デバイスが前記第１のエンティティと異なる第２のエンティティに対応することを含む、請求項１３に記載の方法。
【請求項２０】
前記第１のパラメータおよび前記第２のパラメータはそれぞれ、位置データ、時間データ、および共通の主題の少なくとも１つを示す、請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は発明の名称を「音声起動されたデータ・パケットのデータ構造プーリング」とした２０１６年１２月３０日に出願された米国特許出願番号第１５／３９５、７０７号の優先権の利益を主張し、本明細書に引用によりすべての目的で全体として取り込まれる。
【背景技術】
【０００２】
コンピューティングデバイスの間のパケット・ベースのまたは、ネットワークトラフィックデータの過度なネットワーク送信は、コンピューティングデバイスが当該ネットワークトラフィックデータを正しく処理し、当該ネットワークトラフィックデータに関連する動作を完了し、または当該ネットワークトラフィックデータにタイムリーに応答することを不可能としうる。ネットワークトラフィックデータの過度なネットワーク送信はまた、応答するコンピューティングデバイスがその処理能力を上回る場合に、データのルーティングを複雑化しまたは当該応答の品質を劣化させうる、これは非効率的な帯域幅利用をもたらしうる。コンテンツ・アイテムオブジェクトに対応するネットワーク送信の制御は、コンピューティングデバイスの間のネットワークトラフィックデータのネットワーク送信を開始しうる多数のコンテンツ・アイテムオブジェクトにより複雑化されうる。
【発明の概要】
【課題を解決するための手段】
【０００３】
少なくとも１つの態様は、音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境における音声起動されたスレッドを管理するためのシステムに関する。データ処理システムにより実行される自然言語プロセッサコンポーネントは、当該データ処理システムのインタフェースを介して、第１のクライアント・コンピューティング・デバイスのセンサにより検出された第１の入力オーディオ信号を含むデータ・パケットを受信することができる。当該自然言語プロセッサコンポーネントは第１の入力オーディオ信号を解析して、第１の要求および第１の要求に対応する第１のトリガキーワードを識別することができる。当該データ処理システムのダイレクト・アクションアプリケーションプログラミングインタフェース（「ＡＰＩ」）は、第１のトリガキーワードに基づいておよび第１の要求に応答して、第１のアクションを定義するパラメータを有する第１のアクションデータ構造を生成することができる。当該自然言語プロセッサコンポーネントは、当該データ処理システムのインタフェースを介して、第２のクライアント・コンピューティング・デバイスのセンサにより検出された第２の入力オーディオ信号を含むデータ・パケットを受信し、第２の入力オーディオ信号を解析して、第２の要求および第２の要求に対応する第２のトリガキーワードを識別することができる。当該ダイレクト・アクションＡＰＩは、第２のトリガキーワードに基づいておよび第２の要求に応答して、第２のアクションを定義するパラメータを有する第２のアクションデータ構造を生成することができる。当該データ処理システムのプーリング・コンポーネントは、第１のアクションデータ構造のパラメータおよび第２のアクションデータ構造のパラメータに適用されるヒューリスティック技術に基づいて、第１のアクションデータ構造および第２のアクションデータ構造の間の重複のレベルを示すプーリング・パラメータを決定することができる。当該プーリング・コンポーネントは、当該プーリング・パラメータに基づいて、第１のアクションデータ構造を第２のアクションデータ構造とともにプールされたデータ構造に結合することができる。当該プーリング・コンポーネントは、コンピュータ・ネットワークを介して、当該プールされたデータ構造をサービス・プロバイダ・コンピューティング・デバイスに送信して、当該サービス・プロバイダ・コンピューティング・デバイスに、当該プールされたデータ構造により定義され第１のアクションおよび第２のアクションに対応する動作を実施させることができる。
【０００４】
少なくとも１つの態様は、音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境における音声起動されたスレッドを管理するための方法に関する。当該方法は、データ処理システムにより実行される自然言語プロセッサコンポーネントにより、当該データ処理システムのインタフェースを介して、第１のクライアント・コンピューティング・デバイスのセンサにより検出された第１の入力オーディオ信号を含むデータ・パケットを受信するステップを含むことができる。当該方法は当該自然言語プロセッサコンポーネントにより、第１の入力オーディオ信号を解析して第１の要求および第１の要求に対応する第１のトリガキーワードを識別するステップを含むことができる。当該方法は、当該データ処理システムのダイレクト・アクションアプリケーションプログラミングインタフェース（「ＡＰＩ」）により、第１のトリガキーワードに基づいておよび第１の要求に応答して、第１のアクションを定義するパラメータを有する第１のアクションデータ構造を生成するステップを含むことができる。当該方法は、当該自然言語プロセッサコンポーネントにより、当該データ処理システムのインタフェースを介して、第２のクライアント・コンピューティング・デバイスのセンサにより検出された第２の入力オーディオ信号を含むデータ・パケットを受信し、当該自然言語プロセッサコンポーネントにより、第２の入力オーディオ信号を解析して、第２の要求および第２の要求に対応する第２のトリガキーワードを識別するステップを含むことができる。当該方法は、当該ダイレクト・アクションＡＰＩにより、第２のトリガキーワードに基づいておよび第２の要求に応答して、第２のアクションを定義するパラメータを有する第２のアクションデータ構造を生成するステップを含むことができる。当該方法は、当該データ処理システムのプーリング・コンポーネントにより、第１のアクションデータ構造のパラメータおよび第２のアクションデータ構造のパラメータに適用されるヒューリスティック技術に基づいて、第１のアクションデータ構造および第２のアクションデータ構造の間の重複のレベルを示すプーリング・パラメータを決定するステップを含むことができる。当該方法は、当該プーリング・パラメータに基づいて、第１のアクションデータ構造を第２のアクションデータ構造とともにプールされたデータ構造に結合するステップを含むことができる。当該方法は、コンピュータ・ネットワークを介して、当該プールされたデータ構造をサービス・プロバイダ・コンピューティング・デバイスに送信して、当該サービス・プロバイダ・コンピューティング・デバイスに、当該プールされたデータ構造により定義され第１のアクションおよび第２のアクションに対応する動作を実施させるステップを含むことができる。
【０００５】
少なくとも１つの態様は、１つまたは複数のデータプロセッサにより実行されたとき、当該１つまたは複数のデータプロセッサに音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境における音声起動されたスレッドを管理するための動作を実施させる命令を格納するコンピュータ可読記憶媒体に関する。当該動作は、データ処理システムにより実行される自然言語プロセッサコンポーネントにより、当該データ処理システムのインタフェースを介して、第１のクライアント・コンピューティング・デバイスのセンサにより検出された第１の入力オーディオ信号を含むデータ・パケットを受信するステップを含むことができる。当該動作は、当該自然言語プロセッサコンポーネントにより、第１の入力オーディオ信号を解析して第１の要求および第１の要求に対応する第１のトリガキーワードを識別するステップを含むことができる。当該動作は、当該データ処理システムのダイレクト・アクションアプリケーションプログラミングインタフェース（「ＡＰＩ」）により、第１のトリガキーワードに基づいておよび第１の要求に応答して、第１のアクションを定義するパラメータを有する第１のアクションデータ構造を生成するステップを含むことができる。当該動作は、当該自然言語プロセッサコンポーネントにより、当該データ処理システムのインタフェースを介して、第２のクライアント・コンピューティング・デバイスのセンサにより検出された第２の入力オーディオ信号を含むデータ・パケットを受信し、当該自然言語プロセッサコンポーネントにより、第２の入力オーディオ信号を解析して、第２の要求および第２の要求に対応する第２のトリガキーワードを識別するステップを含むことができる。当該動作は、当該ダイレクト・アクションＡＰＩにより、第２のトリガキーワードに基づいておよび第２の要求に応答して、第２のアクションを定義するパラメータを有する第２のアクションデータ構造を生成するステップを含むことができる。当該動作は、当該データ処理システムのプーリング・コンポーネントにより、第１のアクションデータ構造のパラメータおよび第２のアクションデータ構造のパラメータに適用されるヒューリスティック技術に基づいて、第１のアクションデータ構造および第２のアクションデータ構造の間の重複のレベルを示すプーリング・パラメータを決定するステップを含むことができる。当該動作は、当該プーリング・パラメータに基づいて、第１のアクションデータ構造を第２のアクションデータ構造とともにプールされたデータ構造に結合するステップを含むことができる。当該動作は、コンピュータ・ネットワークを介して、当該プールされたデータ構造をサービス・プロバイダ・コンピューティング・デバイスに送信して、当該サービス・プロバイダ・コンピューティング・デバイスに、当該プールされたデータ構造により定義され第１のアクションおよび第２のアクションに対応する動作を実施させるステップを含むことができる。
【０００６】
これらのおよび他の態様および実装を以下で説明する。以上の情報および以下の詳細な説明は様々な態様および実装の例示的な例を含み、クレームした態様および実装の性質と特徴を理解するための概要またはフレームワークを提供する。当該図面は当該様々な態様および実装の例示とさらなる理解を提供し、本明細書に組み込まれ本明細書の一部を構成する。
【０００７】
添付図面は正しい縮尺で描かれていない。当該様々な図面における同じ参照番号および指定は同じ要素を示す。明確さの目的のため、全てのコンポーネントが全ての図面においてラベル付けされていないかもしれない。
【図面の簡単な説明】
【０００８】
【図１】音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境における音声起動されたスレッドを管理するためのシステムを示す図である。
【図２】音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境に対するプールされたデータ構造の機能図である。
【図３】音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境における、リモートデータ処理システムおよびサービス・プロバイダ・コンピューティング・デバイスの間のアクションデータ構造プーリングおよび通信の機能図である。
【図４】音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境における音声起動されたスレッドを管理するための方法を示す図である。
【図５】本明細書で説明し図示したシステムおよび方法の要素を実装するために使用されうるコンピュータシステムのための汎用アーキテクチャを示すブロック図である。
【発明を実施するための形態】
【０００９】
以下は、音声起動されたデータ・パケット（または他のプロトコル）ベースのコンピュータ・ネットワーク環境における音声起動されたスレッドを管理するための方法、装置、およびシステムの実装に関連する様々な概念のより詳細な説明である。上で導入し以下でさらに詳細に説明する様々な概念を任意の多数の方法で実装してもよい。
【００１０】
本開示のシステムおよび方法は一般に、音声起動されたコンピュータ・ネットワーク環境における冗長なまたは重複する音声起動されたスレッドを管理するデータ処理システムに関する。当該音声起動されたスレッドは、少なくとも１つのアクションデータ構造により表された１つまたは複数のアクションを示すことができる。当該データ処理システムは、重複する主題または他の重複するまたは共通のパラメータに起因するアクションデータ構造をプーリング（例えば、マージ、集約、またはバッチ処理）することで、１つまたは複数のコンピュータ・ネットワーク上のデータ・パケット送信の効率および有効性を高めることができる。当該プールされたアクションデータ構造に対応するデータ・パケットまたは他のプロトコルベースの信号を、当該データ処理システムのダイレクト・アクションアプリケーションプログラミングインタフェース（ＡＰＩ）により処理して、応答データ（例えば、オーディオ出力）を提供するか、または、当該プールされたアクションデータ構造に関連するタスクまたはアクションを実現することができる。当該プールされたアクションデータ構造に対応するデータ・パケットまたは他のプロトコルベースの信号を、コンピュータ・ネットワークを通じて、当該データ処理システムから少なくとも１つのサービス・プロバイダ・コンピューティング・デバイスにルーティングして、当該プールされたアクションデータ構造に関連するタスクまたはアクションを実現することができる。
【００１１】
複数のアクションデータ構造を単一のまたはプールされたアクションデータ構造にマージまたはプーリングし、当該プールされたアクションデータ構造をバッチ処理することで、当該データ処理システムは、独立なアクションデータ構造の独立なまたは非プールされた評価に対するプロセッサ利用、電力消費、帯域幅利用、およびメモリ利用を減らすことができる。例えば、コンピュータ・ネットワークを介して当該プールされたアクションデータ構造を当該サービス・プロバイダ・コンピューティング・デバイスに提供することは、複数の独立なアクションデータ構造を当該サービス・プロバイダ・コンピューティング・デバイスに提供するよりも少ない帯域幅を使用することができる。当該プールされたアクションデータ構造は、複数の独立なアクションデータ構造に存在する冗長性を排除でき、各独立なまたはプールされていないアクションデータ構造に応答してアクションを決定することと比較して、当該プールされたアクションデータ構造に応答してアクションを決定するときに、当該データ処理システムによるプロセッサおよび電力利用を減らすことができる。
【００１２】
独立なアクションデータ構造の処理を少なくとも部分的にバイパスし、その代わりプールされたアクションデータ構造を生成することで、当該データ処理システムは、独立なアクションデータ構造の動作に関連付けられたデータ処理を減らし、遅延させ、または排除することができる。これは、処理電力およびメモリのような他のコンピューティングリソースを節約し、当該データ処理システムによる電気電力消費および当該コンピュータ・ネットワークを介した削減されたデータ送信を減らし、当該データ処理システムの帯域幅要件および利用を減らす。
【００１３】
本明細書で説明するシステムおよび方法は入力オーディオクエリを受信するデータ処理システムを含むことができる。当該入力オーディオクエリをまた、入力オーディオ信号と称することができる。当該入力オーディオ信号から当該データ処理システムは要求および当該要求に対応するトリガキーワードを識別することができる。当該トリガキーワードまたは当該要求に基づいて、当該データ処理システムは、第１のアクションを定義する少なくとも１つのパラメータを含む第１のアクションデータ構造を決定することができる。当該データ処理システムはまた、少なくとも１つの要求または第２の入力オーディオ信号のトリガキーワードから第２の入力オーディオ信号を受信でき、第２の入力オーディオ信号から、第２のアクションを定義する少なくとも１つのパラメータを含む第２のアクションデータ構造を識別することができる。当該データ処理システムは、第１のおよび第２のアクションデータ構造のパラメータから、少なくとも１つのプーリング・パラメータを決定することができる。当該プーリング・パラメータは第１のアクションデータ構造および第２のアクションデータ構造の間の重複のレベル（例えば、主題共通性）を示すことができる。
【００１４】
当該プーリング・パラメータに基づいて、当該データ処理システムは、第１のアクションデータ構造および第２のアクションデータ構造を結合して、プールされたデータ構造を生成することができる。当該プールされたデータ構造は当該入力オーディオ信号の当該ソースであるクライアント・コンピューティング・デバイスに共通なアクション（例えば、第１のアクションまたは第２のアクション）の少なくとも１つのパラメータを示すことができる。当該データ処理システムは、当該プールされたデータ構造を処理して出力信号（例えば、１つまたは複数のクライアント・コンピューティング・デバイスで描画するためのオーディオコンテンツ・アイテム）を生成するか、または、第１のおよび第２のアクションに関連するタスクを実現することができる。当該データ処理システムはまた、当該プールされたデータ構造を少なくとも１つのサービス・プロバイダ・コンピューティング・デバイスに送信して、当該サービスプロバイダに当該プールされたデータ構造により定義された動作を実施させることができる。これらの動作は第１のまたは第２のアクションに対応することができ、第１のまたは第２のアクションに関連するタスクを実現することができる。当該アクションデータ構造をプーリングすることは、第１のまたは第２のアクションに対応する動作またはタスクを、当該データ処理システムにより（または当該サービス・プロバイダ・コンピューティング・デバイスにより）、当該プーリング動作のない場合よりも少ないデータ処理および少ない電気電力利用で実施または実現させる。
【００１５】
図１は、音声起動されたデータ・パケット（または他のプロトコル）ベースのコンピュータ・ネットワーク環境における音声起動されたスレッドの処理を管理または最適化する例示的なシステム１００を示す。システム１００は少なくとも１つのデータ処理システム１０５を含むことができる。データ処理システム１０５は、少なくとも１つのプロセッサを有する少なくとも１つのサーバを含むことができる。例えば、データ処理システム１０５は、少なくとも１つのデータセンタまたはサーバ・ファームに配置された複数のサーバを含むことができる。データ処理システム１０５は、オーディオ入力信号から、要求および当該要求に関連付けられたトリガキーワードを決定することができる。当該要求およびトリガキーワードに基づいて、データ処理システム１０５は、それぞれが各アクションを示すかまたは定義する各パラメータを有する、アクションデータ構造を生成することができる。データ処理システム１０５は、当該各パラメータから、当該アクションデータ構造の間の共通性または重複のレベルを決定することができる。当該データ処理システムによる十分な重複のレベルの判定に応答して、データ処理システム１０５は、複数の異なるアクションデータ構造をプールされたアクションデータ構造にプール（または結合またはマージ）することができる。
【００１６】
データ処理システム１０５は、複数の、論理的にグループ化されたサーバを含むことができ、分散コンピューティング技術を促進する。サーバの当該論理グループをデータセンタ、サーバ・ファームまたはマシン・ファームと称してもよい。当該サーバは地理的に分散されることができる。データセンタまたはマシン・ファームを単一のエンティティとして管理してもよく、または当該マシン・ファームは複数のマシン・ファームを含むことができる。各マシン・ファーム内のサーバは不均一であることができる。即ち、当該サーバまたはマシンのうち１つまたは複数が１つまたは複数のタイプのオペレーティング・システムプラットフォームに従って動作することができる。データ処理システム１０５は、関連付けられた記憶システムとともに１つまたは複数の高密度ラック・システムに格納され、例えばエンタープライズデータセンタに配置された、データセンタ内のサーバを含むことができる。このように統合されたサーバを有するデータ処理システム１０５は、当該システムのシステム管理可能性、データセキュリティ、物理セキュリティ、高性能ネットワーク上にサーバおよび高性能記憶システムを配置することで、システム性能を高めることができる。サーバおよび記憶システムを含むデータ処理システム１０５のコンポーネントの全部または一部の集約と、それらを高度なシステム管理ツールと組み合わせることで、サーバリソースのより効率的な利用が可能となり、これは電力および処理要件を節約し帯域幅利用を減らす。
【００１７】
データ処理システム１０５は、少なくとも１つの自然言語プロセッサ（ＮＬＰ）コンポーネント１１０、少なくとも１つのインタフェース１１５、少なくとも１つのプーリング・コンポーネント１２０、少なくとも１つのコンテンツセレクタコンポーネント１２５、少なくとも１つのオーディオ信号ジェネレータコンポーネント１３０、少なくとも１つのダイレクト・アクションアプリケーションプログラミングインタフェース（ＡＰＩ）１３５、少なくとも１つのセッションハンドラコンポーネント１４０、および少なくとも１つのデータリポジトリ１４５を含むことができる。ＮＬＰコンポーネント１１０、インタフェース１１５、プーリング・コンポーネント１２０、コンテンツセレクタコンポーネント１２５、オーディオ信号ジェネレータコンポーネント１３０、ダイレクト・アクションＡＰＩ１３５、およびセッションハンドラコンポーネント１４０はそれぞれ、データリポジトリ１４５および他のコンピューティングデバイス（例えば、クライアント・コンピューティング・デバイス１５０、コンテンツプロバイダ・コンピューティングデバイス１５５、またはサービス・プロバイダ・コンピューティング・デバイス１６０）と、少なくとも１つのコンピュータ・ネットワーク１６５を介して、通信するように構成されたプログラム可能論理アレイのような少なくとも１つの処理ユニット、サーバ、仮想サーバ、回路、エンジン、エージェント、機器、または他の論理デバイスを含むことができる。ネットワーク１６５は、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、メトロポリタン・ネットワーク、または他の領域ネットワーク、イントラネット、衛星ネットワーク、音声またはデータモバイル電話通信ネットワーク、およびその組合せのような他のコンピュータ・ネットワークのようなコンピュータ・ネットワークを含むことができる。
【００１８】
ネットワーク１６５は、ディスプレイネットワーク、例えば、音声起動されたアシスタントシステム、コンテンツ配置または検索エンジン結果システムに関連付けられるか、または、サードパーティコンテンツ・アイテムをコンテンツ・アイテム配置キャンペーンの一部として含む権利がある、インターネット上で利用可能な情報リソースのサブセットを含むかまたは構成することができる。ネットワーク１６５を、クライアント・コンピューティング・デバイス１５０により提供、出力、描画、または表示できるウェブページ、ウェブサイト、ドメイン名、またはユニフォーム・リソース・ロケータのような情報リソースにアクセスするためにデータ処理システム１０５により使用することができる。例えば、ネットワーク１６５を介してクライアント・コンピューティング・デバイス１５０のユーザは、コンテンツプロバイダ・コンピューティングデバイス１５５またはサービス・プロバイダ・コンピューティング・デバイス１６０により提供された情報またはデータにアクセスすることができる。
【００１９】
ネットワーク１６５は、例えばポイント・ツー・ポイントネットワーク、ブロードキャストネットワーク、広帯域ネットワーク、ローカル・エリア・ネットワーク、電気通信ネットワーク、データ通信ネットワーク、コンピュータ・ネットワーク、ＡＴＭ（Asynchronous Transfer Mode）ネットワーク、ＳＯＮＥＴ（Synchronous Optical Network）ネットワーク、ＳＤＨ（Synchronous Digital Hierarchy）ネットワーク、ワイヤレスネットワークまたは有線ネットワーク、およびその組合せを含むことができる。ネットワーク１６５は、赤外線チャネルまたは衛星帯域のような無線リンクを含むことができる。ネットワーク１６５のトポロジはバス、星形、またはリング・ネットワークトポロジを含んでもよい。ネットワーク１６５は、高度携帯電話プロトコル（「ＡＭＰＳ」）、時分割多重アクセス（「ＴＤＭＡ」）、符号分割多重アクセス（「ＣＤＭＡ」）、グローバル・システム・フォー・モバイル・コミュニケーション（「ＧＳＭ（登録商標）」）、汎用パケット無線サービス（「ＧＰＲＳ」）またはユニバーサル・モバイル電気通信システム（「ＵＭＴＳ」）を含む、モバイルデバイスの間で通信するために使用される任意の１つまたは複数のプロトコルを用いた携帯電話ネットワークを含むことができる。様々なタイプのデータが異なるプロトコルを介して送信されてもよく、または、同一のタイプのデータが異なるプロトコルを介して送信されてもよい。
【００２０】
クライアント・コンピューティング・デバイス１５０、コンテンツプロバイダ・コンピューティングデバイス１５５、およびサービス・プロバイダ・コンピューティング・デバイス１６０はそれぞれ、ネットワーク１６５を介して互いにまたはデータ処理システム１０５と通信するためのプロセッサを有するコンピューティングデバイスのような少なくとも１つの論理デバイスを含むことができる。クライアント・コンピューティング・デバイス１５０、コンテンツプロバイダ・コンピューティングデバイス１５５、およびサービス・プロバイダ・コンピューティング・デバイス１６０はそれぞれ、少なくとも１つのデータセンタに配置された少なくとも１つのサーバ、プロセッサまたはメモリ、または複数の計算リソースまたはサーバを含むことができる。クライアント・コンピューティング・デバイス１５０、コンテンツプロバイダ・コンピューティングデバイス１５５、およびサービス・プロバイダ・コンピューティング・デバイス１６０はそれぞれ、デスクトップコンピュータ、ラップトップ、タブレット、携帯情報端末、スマートフォン、ポータブルコンピュータ、サーバ、シン・クライアントコンピュータ、仮想サーバ、または他のコンピューティングデバイスのような少なくとも１つのコンピューティングデバイスを含むことができる。
【００２１】
クライアント・コンピューティング・デバイス１５０は少なくとも１つのセンサ１５１、少なくとも１つのトランスデューサ１５２、少なくとも１つのオーディオドライバ１５３、および少なくとも１つのスピーカ１５４を含むことができる。センサ１５１はマイクロフォンまたはオーディオ入力センサを含むことができる。トランスデューサ１５２は当該オーディオ入力を電子信号に変換することができる。オーディオドライバ１５３は、オーディオ入力を処理するかまたはオーディオ出力を提供するようにクライアント・コンピューティング・デバイス１５０の他のコンポーネントのうちセンサ１５１、トランスデューサ１５２またはオーディオドライバ１５３を制御するための、クライアント・コンピューティング・デバイス１５０の１つまたは複数のプロセッサにより実行されるスクリプトまたはプログラムを含むことができる。スピーカ１５４は当該オーディオ出力信号を送信または描画することができる。
【００２２】
クライアント・コンピューティング・デバイス１５０を、音声クエリをオーディオ入力としてクライアント・コンピューティング・デバイス１５０に（センサ１５１を介して）入力し、データ処理システム１０５（またはコンテンツプロバイダ・コンピューティングデバイス１５５またはサービス・プロバイダ・コンピューティング・デバイス１６０）からクライアント・コンピューティング・デバイス１５０に提供できるコンピュータ生成された音声の形でオーディオ出力を受信し、スピーカ１５４から出力するエンド・ユーザに関連付けることができる。当該コンピュータ生成された音声は、実際の人またはコンピュータ生成された言語からのレコードを含むことができる。
【００２３】
コンテンツプロバイダ・コンピューティングデバイス１５５は、クライアント・コンピューティング・デバイス１５０により表示するためのオーディオベースのコンテンツ・アイテムをオーディオ出力コンテンツ・アイテムとして提供することができる。当該コンテンツ・アイテムは「Would you like me to order you a taxi?」と述べる音声ベースのメッセージのような商品またはサービスの申し出を含むことができる。例えば、コンテンツプロバイダ・コンピューティングデバイス１５５は、音声ベースのクエリに応答して提供できる一連のオーディオコンテンツ・アイテムを格納するためのメモリを含むことができる。コンテンツプロバイダ・コンピューティングデバイス１５５はまた、オーディオベースのコンテンツ・アイテム（または他のコンテンツ・アイテム）をデータ処理システム１０５に提供することができる。それらをデータリポジトリ１４５に格納することができる。データ処理システム１０５は当該オーディオコンテンツ・アイテムを選択することができ、当該オーディオコンテンツ・アイテムをクライアント・コンピューティング・デバイス１５０に提供する（または提供するようにコンテンツプロバイダ・コンピューティングデバイス１５５に指示する）。当該オーディオベースのコンテンツ・アイテムは、排他的にオーディオであることができ、または、テキスト、画像、またはビデオデータと組み合わせることができる。
【００２４】
データ処理システム１０５はまた、変換を実施し、例えば、入力オーディオ信号に応答してタスクを実現することができる。例えば、ダイレクト・アクションＡＰＩ１３５を介して、データ処理システム１０５は、クライアント・コンピューティング・デバイス１５０から受信されたそのように行う要求に応答してタクシーをオーダーすることができる。データ処理システム１０５はまた、当該サービス・プロバイダ・コンピューティング・デバイスがデータ処理システム１０５によりクライアント・コンピューティング・デバイス１５０から受信されたそのように行う要求に応答して、例えば、タクシーのオーダーによりタスクによりタスクを実現できるように、データ（例えば、プールされたデータ構造）をサービス・プロバイダ・コンピューティング・デバイス１６０に提供することで変換を実施することができる。データ処理システム１０５はまた、変換情報、例えば、タスクまたはアクションが、クライアント・コンピューティング・デバイス１５０から、コンテンツプロバイダ・コンピューティングデバイス１５５から、またはサービス・プロバイダ・コンピューティング・デバイス１６０から実現されたことを示す情報を取得することができる。
【００２５】
サービス・プロバイダ・コンピューティング・デバイス１６０は少なくとも１つのサービスプロバイダ自然言語プロセッサ（ＮＬＰ）コンポーネント１６１および少なくとも１つのサービスプロバイダインタフェース１６２を含むことができる。サービスプロバイダＮＬＰコンポーネント１６１（またはサービス・プロバイダ・コンピューティング・デバイス１６０のダイレクト・アクションＡＰＩのような他のコンポーネント）は、クライアント・コンピューティング・デバイス１５０（データ処理システム１０５を介してまたはデータ処理システム１０５をバイパスして）と協調して、クライアント・コンピューティング・デバイス１５０およびサービス・プロバイダ・コンピューティング・デバイス１６０の間で行き来するリアルタイム音声またはオーディオベースの会話（例えば、セッション）を生成することができる。例えば、サービスプロバイダインタフェース１６２は、データメッセージを受信し、または、データメッセージをデータ処理システム１０５のダイレクト・アクションＡＰＩ１３５に提供することができる。サービス・プロバイダ・コンピューティング・デバイス１６０およびコンテンツプロバイダ・コンピューティングデバイス１５５を同一のエンティティに関連付けることができる。例えば、コンテンツプロバイダ・コンピューティングデバイス１５５はカーシェア・サービスに対して利用可能なコンテンツ・アイテムを生成、格納、または作成でき、サービス・プロバイダ・コンピューティング・デバイス１６０は、セッションをクライアント・コンピューティング・デバイス１５０とを確立して、タクシーまたは当該カーシェアサービスの車の配送がクライアント・コンピューティング・デバイス１５０のエンド・ユーザをピックアップするのをアレンジすることができる。データ処理システム１０５はまた、ダイレクト・アクションＡＰＩ１３５、ＮＬＰコンポーネント１１０または他のコンポーネントを介して、サービス・プロバイダ・コンピューティング・デバイス１６０を含むかまたはバイパスして、当該クライアント・コンピューティング・デバイスとのセッションを確立して、例えばタクシーまたは当該カーシェアサービスの車の配送をアレンジすることができる。
【００２６】
データリポジトリ１４５は１つまたは複数のローカルまたは分散データベースを含むことができ、データベース管理システムを含むことができる。データリポジトリ１４５はコンピュータデータ記憶またはメモリを含むことができ、他のデータのうち１つまたは複数のパラメータ１４６、１つまたは複数のポリシ１４７、コンテンツデータ１４８、またはテンプレート１４９を格納することができる。パラメータ１４６、ポリシ１４７、およびテンプレート１４９はクライアント・コンピューティング・デバイス１５０およびデータ処理システム１０５（またはサービス・プロバイダ・コンピューティング・デバイス１６０）の間の音声ベースのセッションに関するルールのような情報を含むことができる。コンテンツデータ１４８は、オーディオ出力に対するコンテンツ・アイテムまたは関連付けられたメタデータ、ならびにクライアント・コンピューティング・デバイス１５０との１つまたは複数の通信セッションの一部でありうる入力オーディオメッセージを含むことができる。
【００２７】
システム１００は、音声起動されたデータ・パケット（または他のプロトコル）環境内の（例えば、１つまたは複数のアクションを示す）音声起動されたスレッドの処理を最適化または管理することができる。例えば、データ処理システム１０５は、音声起動されたアシスタントサービス、音声コマンドデバイス、インテリジェント・パーソナル・アシスタント、知識ナビゲータ、イベント計画、または他のアシスタントプログラムを含むことができるかまたはその一部であることができる。データ処理システム１０５は、クライアント・コンピューティング・デバイス１５０から表示するためのオーディオ出力の１つまたは複数のインスタンスを提供して、この入力オーディオ信号に関連するタスクを実現することができる。当該タスクは、サービス・プロバイダ・コンピューティング・デバイス１６０または他のサードパーティコンピューティングデバイスを含み、例えば、サービス・プロバイダ・コンピューティング・デバイス１６０または他のサードパーティコンピューティングデバイスと通信して、ディナー予約を行うかまたは映画チケットを購入することができる。例えば、エンド・ユーザは、「OK, I would like to go to go dinner and then a movie tonight」の入力オーディオ信号をクライアント・コンピューティング・デバイス１５０に入力することができる。
【００２８】
データ処理システム１０５は、入力オーディオ信号をデータ処理システム１０５のインタフェース１１５に通信して、当該クライアント・コンピューティング・デバイスのコンポーネントを駆動して、出力オーディオ信号を描画する音声起動されたアシスタントシステムのアプリのような、クライアント・コンピューティング・デバイス１５０にインストールされたアプリケーション、スクリプトまたはプログラムを含むことができる。データ処理システム１０５はオーディオ入力信号を含むかまたは識別するデータ・パケットまたは他の信号を受信することができる。例えば、データ処理システム１０５は、ＮＬＰコンポーネント１１０を実行して当該オーディオ入力信号を受信することができる。
【００２９】
当該オーディオ入力信号は、当該クライアント・コンピューティング・デバイスのセンサ１５１（例えば、マイクロフォン）により検出されることができる。トランスデューサ１５２、オーディオドライバ１５３、または他のコンポーネントを介して、クライアント・コンピューティング・デバイス１５０は当該オーディオ入力信号をデータ処理システム１０５に（例えば、ネットワーク１６５を介して）提供することができる。それは、（例えば、インタフェース１１５により）受信され、ＮＬＰコンポーネント１１０に提供され、または、データリポジトリ１４５にコンテンツデータ１４８として格納されることができる。
【００３０】
ＮＬＰコンポーネント１１０は当該入力オーディオ信号を取得することができる。当該入力オーディオ信号から、ＮＬＰコンポーネント１１０は、少なくとも１つの要求または当該要求に対応する少なくとも１つのトリガキーワードを識別することができる。当該要求は当該入力オーディオ信号の意図または主題を示すことができる。当該トリガキーワードは行われる可能性があるアクションのタイプを示すことができる。例えば、ＮＬＰコンポーネント１１０は当該入力オーディオ信号を解析して、夕方に家を出てディナーおよび映画に参加する少なくとも１つの要求を識別することができる。当該トリガキーワードは、取るべきアクションを示す少なくとも１つの単語、フレーズ、語源または部分語、または派生物を含むことができる。例えば、当該入力オーディオ信号からのトリガキーワード「go」または「to go to」は輸送に対する必要性を示すことができる。本例では、当該入力オーディオ信号（または識別された要求）は輸送の意図を直接表現しないが、当該トリガキーワードは、輸送が、当該要求により示される少なくとも１つの他のアクションに対する付属物またはサブアクションであることを示す。
【００３１】
ＮＬＰコンポーネント１１０は、当該入力信号を（例えば、データリポジトリ１４５に）格納された、代表的な組のオーディオ波形と比較し、最も近いマッチを選択することによって、当該オーディオ入力信号を認識されたテキストに変換することができる。当該代表的な波形は多数のユーザにわたって生成され、会話サンプルで補強することができる。当該オーディオ信号を認識されたテキストに変換した後、ＮＬＰコンポーネント１１０は、例えばユーザにわたるトレーニングを介してまたはマニュアル仕様を通じて、データ処理システム１０５がサービス提供できるアクションに関連付けられる単語に当該テキストをマッチすることができる。
【００３２】
ダイレクト・アクションＡＰＩ１３５は、プログラムまたはスクリプトを、例えばＮＬＰコンポーネント１１０から、プーリング・コンポーネント１２０、またはコンテンツセレクタコンポーネント１２５を実行して、これらのアクションの１つまたは複数に対するコンテンツ・アイテムを識別することができる。ダイレクト・アクションＡＰＩ１３５はデータ処理システム１０５により決定されるものとして、指定されたアクションを実行してエンド・ユーザの意図を満たすことができる。その入力で指定されたアクションに依存して、ダイレクト・アクションＡＰＩ１３５は、ユーザ要求を満たすのに必要なパラメータを識別するコードまたはダイアログスクリプトを実行することができる。かかるコードは、例えば、ホーム・オートメーションサービスの名前のようなデータリポジトリ１４５内の追加の情報を検索することができるか、または、クライアント・コンピューティング・デバイス１５０で描画するためのオーディオ出力を提供して、例えば、当該エンド・ユーザに要求されたタクシーの意図した宛先のような質問をすることができる。ダイレクト・アクションＡＰＩ１３５は必要なパラメータを決定し、当該情報をアクションデータ構造にパッケージ化することができ、それを次いで、コンテンツセレクタコンポーネント１２５のような別のコンポーネントにまたは満たすべきサービス・プロバイダ・コンピューティング・デバイス１６０に送信することができる。方向アクションＡＰＩ１３５は、１つまたは複数のデータセンタ内の１つまたは複数のサーバの１つまたは複数のプロセッサのようなデータ処理システム１０５のハードウェアで実行できるか、またはそれを含むことができる。
【００３３】
データ処理システム１０５のダイレクト・アクションＡＰＩ１３５は、当該要求または当該トリガキーワードに基づいて、当該スレッドのアクションに対するデータ構造を生成することができる。当該アクションデータ構造を当該要求に応答して生成することができる。当該アクションデータ構造は、例えばプールされたデータ構造の一部としてまたはプールされたデータ構造に関連付けられた、サービス・プロバイダ・コンピューティング・デバイス１６０により送受信されるメッセージに含まれることができる。ＮＬＰコンポーネント１１０により解析された要求に基づいて、ダイレクト・アクションＡＰＩ１３５は複数のサービス・プロバイダ・コンピューティング・デバイス１６０のうちどれに当該メッセージを送信すべきかを判定することができる。例えば、入力オーディオ信号が「order a taxi」を含む場合、ＮＬＰコンポーネント１１０はトリガ単語「order」およびタクシーに対する要求を識別することができる。ダイレクト・アクションＡＰＩ１３５は当該要求を、タクシーサービスのサービス・プロバイダ・コンピューティング・デバイス１６０へのメッセージとして送信するためのアクションデータ構造へパッケージ化することができる。当該メッセージはまた、コンテンツセレクタコンポーネント１２５に渡すことができる。当該アクションデータ構造は要求を完了するための情報を含むことができる。本例では、当該情報はピックアップ位置および宛先位置を含むことができる。ダイレクト・アクションＡＰＩ１３５は、どのフィールドを当該アクションデータ構造に含めるべきかを判定するために、テンプレート１４９をリポジトリ１４５から取り出すことができる。ダイレクト・アクションＡＰＩ１３５は、コンテンツをリポジトリ１４５から取り出して、当該データ構造のフィールドに関する情報を取得することができる。ダイレクト・アクションＡＰＩ１３５は、当該テンプレートからのフィールドをその情報で埋めて、当該データ構造を生成することができる。ダイレクト・アクションＡＰＩ１３５はまた、当該フィールドを当該入力オーディオ信号からのデータで埋めることができる。テンプレート１４９を、サービスプロバイダのカテゴリに対して標準化するか、または、特定のサービスプロバイダに対して標準化することができる。例えば、乗車共有サービスプロバイダは以下の標準化されたテンプレート１４９、即ち、{client_device_identifier; authentication_credentials; pick_up_location; destination_location; no_passengers; service_level}を使用して当該データ構造を生成することができる：。
【００３４】
ＮＬＰコンポーネント１１０は入力オーディオ信号を、データ・パケットまたは他のプロトコルベースの送信としてクライアント・コンピューティング・デバイス１５０から取得することができる。例えば、当該入力オーディオ信号は、「OK, take me home」というセンサ１５２（例えば、マイクロフォン）への音声入力でありうる。この入力オーディオ信号から、ＮＬＰコンポーネント１１０は少なくとも１つの要求または少なくとも１つのトリガキーワードを識別することができる。当該要求は当該入力オーディオ信号の主題、例えば、旅行を示すことができる。当該トリガキーワードはアクションを示すことができ、例えば、「take」または「home」は、当該入力オーディオ信号を生成したクライアント・コンピューティング・デバイス１５０の家の宛先に関連付けられた宛先へのカーシェアサービスに対する必要性を示すことができる。
【００３５】
ダイレクト・アクションＡＰＩ１３５は、当該入力オーディオ信号に対応する要求またはトリガキーワードを取得でき、この情報から、アクションデータ構造を生成することができる。当該アクションデータ構造は、例えば、当該サービス・プロバイダ・コンピューティング・デバイスと通信して、（当該クライアント・コンピューティング・デバイスへの入力オーディオ信号を開始した）エンド・ユーザを宛先に連れて行く車をカーシェアサービスから予約するために使用される情報を含むことができる。当該アクションデータ構造は、エンド・ユーザ同意により、当該カーシェアサービスによるピックアップをアレンジするためのクライアント・コンピューティング・デバイス１５０の位置を識別する情報、ならびに当該宛先位置を識別する情報のようなパラメータを含むことができる。データ処理システム１０５コンポーネントにより、当該パラメータ（例えば、パラメータ１４６）をデータリポジトリに格納し、当該データリポジトリから取り出すことができる。方向アクションＡＰＩ１３５はまた、カーシェアサービスに関連付けられたアカウントのアカウント情報のようなパラメータを含むかまたは示すアクションデータ構造を生成することができる。例えば、ダイレクト・アクションＡＰＩ１３５は、エンド・ユーザの同意により、クライアント・コンピューティング・デバイス１５０にインストールされたカーシェアサービスに対するアプリまたはプログラムからこのアカウント情報（または他のパラメータ）を取得することができる。当該パラメータは、アクションデータ構造に関連付けられたアクションを示すかまたは定義することができる。ダイレクト・アクションＡＰＩ１３５は、クライアント・コンピューティング・デバイス１５０からリモートに、データ処理システム１０５にインストールされることができる。ダイレクト・アクションＡＰＩ１３５は、直接変換を実施すること、例えば、カーシェアサービス旅行に対してサービス・プロバイダ・コンピューティング・デバイス１６０で注文を行うことができ、または、サービス・プロバイダ・コンピューティング・デバイス１６０が当該アクションデータ構造を処理して車予約トランザクションを完了するためにサービス・プロバイダ・コンピューティング・デバイス１６０に当該アクションデータ構造を間接的に提供することができる。
【００３６】
ＮＬＰコンポーネント１１０は、同一のまたは異なるクライアント・コンピューティング・デバイス１５０から複数の入力オーディオ信号を取得することができる。入力オーディオ信号ごとに、当該ＮＬＰコンポーネントは対応する要求または対応するトリガキーワードを識別または生成することができる。ダイレクト・アクションＡＰＩ１３５は、当該各要求またはキーワードに基づいて、各入力オーディオ信号に対応するアクションデータ構造を生成することができる。例えば、ＮＬＰコンポーネント１１０は、音声入力「OK, take me home」を示す第１の入力オーディオ信号を受信することができる。応答して、ダイレクト・アクションＡＰＩ１３５は、第１の入力オーディオ信号に関連付けられたエンド・ユーザのために車をカーシェアサービスから予約するために使用できる第１のアクションデータ構造を生成することができる。ＮＬＰコンポーネント１１０はまた、例えば、「OK, can I get a taxi please」を示す第２の入力オーディオ信号を受信することができる。応答して、ダイレクト・アクションＡＰＩ１３５は、第２の入力オーディオ信号に関連付けられたエンド・ユーザに対するカーシェアサービスのための第２のアクションデータ構造を生成することができる。
【００３７】
第１のおよび第２の入力オーディオ信号は、同一のクライアント・コンピューティング・デバイス１５０または異なるクライアント・コンピューティング・デバイス１５０から生ずることができ、同一のまたは異なるエンド・ユーザに関連付けることができる。例えば、ＮＬＰコンポーネント１１０は、第１の入力オーディオ信号を第１のクライアント・コンピューティング・デバイス１５０から受信でき、第２の入力オーディオ信号を、異なるエンド・ユーザに関連付けうる第２のクライアント・コンピューティング・デバイス１５０から受信することができる。この情報は、例えばデータリポジトリ１４５のコンテンツデータ１４８から入力オーディオ信号と異なるソースにより取得されうる補完的情報のうちパケット・ベースの送信のメタデータまたはヘッダ情報を含むことができ、この情報から、ダイレクト・アクションＡＰＩ１３５は、第１の入力オーディオ信号に対する第１のデータ構造と第２の入力オーディオ信号に対する第２のデータ構造を生成することができる。当該第１のデータ構造と第２のデータ構造は両方とも、カーシェアサービスから車を予約するための要求を示すことができる。各アクション・データ構造は、それらの発生元および宛先位置を示すパラメータを含むことができ、または、異なるエンド・ユーザが当該カーシェアサービス（または他のパラメータ）で有する異なるアカウントを示すことができる。当該アクションデータ構造はまた、クライアント・コンピューティング・デバイス１５０（または関連付けられたエンド・ユーザ）が当該カーシェアサービスまたは他のエンティティでのアカウントを有さないことを示す１つまたは複数のパラメータを含むことができる。
【００３８】
例えば、複数のアクションデータ構造のパラメータに基づいて、プーリング・コンポーネント１２０は、異なる入力オーディオ信号から生成された複数の異なるアクションデータ構造の間の重複または類似性を識別することができる。例えば、１つまたは複数のデータ処理システム１０５のプロセッサは、複数の異なるアクションデータ構造の重複するまたは共通の主題を識別するために、クライアント・コンピューティング・デバイス１０５からリモートに、サービス・プロバイダ・コンピューティング・デバイス１６０からリモートに、プーリング・コンポーネント１２０を含むかまたは実行することができる。プーリング・コンポーネント１２０は、ヒューリスティック技術を適用して、当該異なるアクションデータ構造のパラメータのうち共通のパターンの確実度の閾値を識別することができる。
【００３９】
当該重複のレベルは、複数のアクションデータ構造の共通の特徴を示す類似性メトリックであることができるかまたはそれを含むことができる。プーリング・コンポーネント１２０は、当該複数のアクションデータ構造を示す類似性メトリックが時間データ、位置データ、サービスプロバイダエンティティデータ、主題データ、または地理的データに関すると判定することができる。例えば、プーリング・コンポーネント１２０は、複数のアクションデータ構造が、同一の輸送会社からの輸送の要求、または同一のレストランに対する異なる時刻または夕方の予約、共通の宛先または地理的領域に対する旅行の要求、または或るエンティティからの１つまたは複数の製品を注文する要求を含むと判定することができる。プーリング・コンポーネント１２０は当該類似性メトリックまたは共通の特徴を少なくとも１つのプーリング・パラメータとして識別でき、当該プーリング・パラメータに基づいて当該プーリング・コンポーネントは当該バッチ化またはプールされたデータ構造を生成することができる。当該重複は、少なくとも部分的に同一のコードまたは部分的に同一のアクションデータ構造を含んでもよいがその必要はなくてもよい。例えば、プーリング・コンポーネント１２０は、同一のエンティティからのサービスの要求に基づいて、または同様であるが同一でない、項目または位置データのような当該アクションデータ構造のパラメータの間の共通性に基づいて、重複を識別することができる。
【００４０】
例えば、第１のアクションデータ構造のパラメータは、‘ポイントＡ’のピックアップ位置から‘ポイントＢ’の宛先へのカーシェアサービスの要求を示すことができる。第２のアクションデータ構造のパラメータは、‘ポイントＣ’のピックアップ位置から‘ポイントＤ’の宛先へのカーシェアサービスの異なる要求を示すことができる。ヒューリスティックまたは他の統計的技術を適用することで、データ処理システム１０５またはそのコンポーネント（例えば、プーリング・コンポーネント１２０）は、ピックアップ位置‘ポイントＣ’が、‘ポイントＡ’および‘ポイントＢ’の間に、または、‘ポイントＡ’および‘ポイントＢ’の間の経路の閾値距離（例えば、１マイル）内に配置されていると判定することができる。プーリング・コンポーネント１２０はまた、‘ポイントＤ’が宛先‘ポイントＢ’の閾値距離（例えば、５マイル）内に配置されると判定することができる。当該異なるアクションデータ構造のパラメータ（例えば、異なるポイントＡ乃至Ｄを示すパラメータ、または、異なるクライアント・コンピューティング・デバイス１５０に関連付けられた異なるアカウントのような他の情報）があるが、プーリング・コンポーネント１２０は、例えば閾値メトリックを満たす経路類似性のために、当該パラメータの間に十分な重複または共通性が存在すると判定することができる。プーリング・コンポーネント１２０はまた当該２つのアクションデータ構造が重複すると判定することができる。なぜならば、それらの各パラメータが、それらが、他の時間期間の、互いの１分、１時間内のような互いの閾値時間期間に生成された各入力オーディオ信号に関連付けられることを示すから、または、それらの各パラメータが、それらが両方とも商品またはサービスを同一のエンティティに要求することを示すからである。
【００４１】
プーリング・コンポーネント１２０は、少なくとも２つのアクションデータ構造の分析に基づいて、少なくとも１つのプーリング・パラメータを生成することができる。当該プーリング・パラメータは、複数のアクションデータ構造から共通の主題、特徴、エンティティ、またはパラメータを示すことができる。例えば、当該プーリング・パラメータは、第１のおよび第２のアクションデータ構造のパラメータにより示されるカーシェアサービスの要求が各ソースおよび宛先の間の同様な位置、または同様な経路を示すことができる。方向アクションＡＰＩ１３５（またはサービス・プロバイダ・コンピューティング・デバイス１６０）は、各ソースおよび宛先の間の車サービスの乗車のような当該アクションデータ構造に関連付けられるかまたはそれにより示されるアクションをサービスするためにこの情報を使用することができる。
【００４２】
とりわけ、図１および図２を参照すると、決定された重複のレベルに基づいて、プーリング・コンポーネント１２０は少なくとも１つのプールされたデータ構造２００を生成することができる。当該プールされたデータ構造はパケット・ベースのアーキテクチャ（または他のフォーマット）を含むことができ、ヘッダ２０５を含むことができる。ヘッダ２０５は、データ処理システム１０５、ソースまたは宛先アドレス情報、支配的なプロトコル情報、ＩＰアドレス、フレーム同期データ、サイズデータ、解像度データ、またはアクションデータ構造に関連付けられたメタデータを示す補完的データを含むことができる。プールされたデータ構造２００のペイロードまたはボディは少なくとも１つのプーリング・パラメータ２１０、または少なくとも１つの第１のパラメータ２１５または少なくとも１つの第２のパラメータ２２０のような他の情報を含むことができる。第１のパラメータ２１５は、第１のアクションデータ構造２２５のパラメータを含むことができ、第２のパラメータ２２０は第２のアクションデータ構造２３０のパラメータを含むことができる。第１のパラメータ２１５、第２のパラメータ２２０、第１のアクションデータ構造２２５および第２のアクションデータ構造２３０は、プールされたデータ構造２００に含まれてもよいがその必要はない。例えば、プールされたデータ構造２００のボディはプーリング・パラメータ２１０のみを含む（第１のパラメータ２１５、第２のパラメータ２２０、第１のアクションデータ構造２２５または第２のアクションデータ構造２３０の何れも含まない）ことができ、またはプールされたデータ構造２００のボディは、プーリング・パラメータ２１０ならびに第１のパラメータ２１５、第２のパラメータ２２０、第１のアクションデータ構造２２５または第２のアクションデータ構造２３０の１つまたは複数を含むことができる。プールされたデータ構造２００は、データ処理システム１０５およびサービス・プロバイダ・コンピューティング・デバイス１６０の間の１つまたは複数のデータ送信の一部として別々に逐次的にまたは並列に送信された１つまたは複数の独立なパケットを含むことができる。ヘッダ２０５内のプーリング・パラメータまたは情報は、当該別々の送信または別々のデータ・パケットが同一のバッチ送信、例えば、同一の全体のプールされたデータ構造２００に関連付けられることを示すことができる。
【００４３】
とりわけ、図３を参照すると、データ処理システム１０５は、第１の入力オーディオ信号３０５、（例えば、「OK, take me home」）を第１のクライアント・コンピューティング・デバイス１５０から受信することができる。データ処理システム１０５はまた、第２の入力オーディオ信号３１０（例えば、「OK, can I get a taxi please」）を第２のクライアント・コンピューティング・デバイス１５０から受信することができる。データ処理システム１０５は、第１の入力オーディオ信号３０５および第２のオーディオ入力信号３０５に関連付けられたアクションを定義する各パラメータを決定することができる。プーリング・コンポーネント１２０のようなデータ処理システム１０５コンポーネントは、統計的またはヒューリスティック技術を第１の入力オーディオ信号３０５および第２の入力オーディオ信号３１０に関連付けられたパラメータに提供して、第１の入力オーディオ信号３０５および第２の入力オーディオ信号３１０の間の主題の重複または共通性を示す少なくとも１つのプーリング・パラメータを生成することができる。例えば、当該プーリング・パラメータは、第１の入力オーディオ信号３０５および第２の入力オーディオ信号が両方ともカーシェアサービスからの車をハイヤーする要求に関するとを示すことができる。データ処理システム１０５は、第１の入力オーディオ信号３０５および第２の入力オーディオ信号３１０に対応するアクションデータ構造をバッチ化またはプールして、当該バッチ化またはプールされたデータ構造２００を生成することができる。データ処理システム１０５は、プールされたデータ構造２００を、サービス・プロバイダ・コンピューティング・デバイス１６０により処理するためにサービス・プロバイダ・コンピューティング・デバイス１６０に送信または提供して、第１のおよび第２の入力オーディオ信号３０５、３１０に応答して少なくとも１つの車を予約することができる。
【００４４】
プールされたデータ構造２００は、２つより多くのアクションデータ構造（または２つより多くの入力オーディオ信号）から生成されたプーリング・パラメータを含むことができる。例えば、第３のオーディオ入力信号はデータ処理システム１０５に、第３のアクションに対する第３のアクションデータ構造を生成させることができる。プーリング・コンポーネント１２０は、第３のアクションデータ構造のパラメータに基づいて少なくとも１つのプーリング・パラメータを識別することができる。この判定に応答して、プーリング・コンポーネント１２０は、プールされたデータ構造２００を修正して、第３のデータ構造との関連付けを含むかまたは示すことができ、または、３つの（またはそれより多くの）入力オーディオ信号に関連付けられた新たなプールされたデータ構造を含むことができる。
【００４５】
独立なアクションデータ構造を少なくとも１つのプールされたデータ構造２００に統合し、プールされたデータ構造（複数可）２００を、入力オーディオ信号３０５、３１０ごとの独立なアクションデータ構造ではなく、サービス・プロバイダ・コンピューティング・デバイス１６０に送信することによって、データ処理システム１０５は、ネットワーク１６５を介したデータ送信の数、サイズ、または頻度を減らすことができる。これは、ネットワーク送信の帯域幅利用を減らすことができ、そうでない場合はそれらのデータ内に含まれる或るレベルの冗長性または主題重複を有しうる独立なアクションデータ構造を処理し送信するために使用される、データ処理システム１０５（例えば、データリポジトリ１４５）およびサービス・プロバイダ・コンピューティング・デバイス１６０の両方の処理電力およびメモリ記憶要件を減らすことができる。
【００４６】
プールされたデータ構造２００は単一のデータ構造であってもよいがその必要はない。例えば当該プールされたデータ構造は、当該プーリング・パラメータありまたはなしで、カーシェアサービスプロバイダのような或るエンティティにより制御される１つまたは複数のサービス・プロバイダ・コンピューティング・デバイス１６０へのバッチされたまたは定期送信の一部として、データ処理システム１０５により送信された複数の独立なデータ構造を含むことができる。
【００４７】
データ処理システム１０５およびサービス・プロバイダ・コンピューティング・デバイス１６０は異なるエンティティに対応することができる。例えば、データ処理システム１０５（およびダイレクト・アクションＡＰＩ１３５のようなコンポーネント）は、クライアント・コンピューティング・デバイス１５０のエンド・ユーザとインタフェースしてオーディオ応答をオーディオ入力信号に提供するように設計された音声ベースのアシスタントコンピュータシステムの一部であることができる。例えば、オーディオ信号ジェネレータコンポーネント１３０は、「OK, take me home」のオーディオ入力信号に対する「There is a taxi 5 minutes away, would you like to order it?」のオーディオ応答を生成することができる。セッションハンドラコンポーネント１４０は、このオーディオ応答を提供するために、コンピュータ・ネットワーク１６５を介してデータ処理システム１０５およびクライアント・コンピューティング・デバイス１５０の間の通信セッションを確立することができる。当該オーディオ応答は、クライアント・コンピューティング・デバイス１５０のオーディオドライバ１５３に、スピーカ１５４に当該オーディオ応答を描画するための音波をエンド・ユーザに出力させるのを行わせることができる。
【００４８】
音声ベースのアシスタントコンピュータシステムの一部ではなく、サービス・プロバイダ・コンピューティング・デバイス１６０はカーシェアまたはタクシーサービスエンティティのコンピューティングデバイスであることができる。サービス・プロバイダ・コンピューティング・デバイス１６０ではなくデータ処理システム１０５は、入力オーディオ信号３０５、３１０を処理してプールされたデータ構造２００を生成する。したがって、この例におけるオーディオ入力信号３０５、３１０は、サービス・プロバイダ・コンピューティング・デバイス１６０に対するアクション、例えば、サービス・プロバイダ・コンピューティング・デバイス１６０を制御するカーシェアサービスエンティティから車をオーダーすることに対応する。データ処理システム１０５は、サービス・プロバイダ・コンピューティング・デバイス１６０によるアクションの要求を含む入力オーディオ信号をフック、インターセプト、または受信できる中間物機器またはデバイスとして動作することができる。データ処理システム１０５は、サービス・プロバイダ・コンピューティング・デバイス１６０に提供される少なくとも１つのプールされたデータ構造２００にこれらの要求をバッチ化または統合することができる。本例では、入力オーディオ信号を直接クライアント・コンピューティング・デバイス１５０から受信するのではなく（例えば、データ処理システム１０５をバイパスすること）、サービス・プロバイダ・コンピューティング・デバイス１６０はその代わり、プールされたデータ構造２００（例えば、統合されたアクションデータ構造のバッチされた送信）を中間物データ処理システム１０５から受信する。本例では、サービス・プロバイダ・コンピューティング・デバイス１６０の商品またはサービスに対するクライアント・コンピューティング・デバイス１５０からの要求がデータ処理システム１０５を通じてルーティングされる。それらは、サービス・プロバイダ・コンピューティング・デバイス１６０に送信できるプールされたデータ構造２００に統合される。
【００４９】
プールされたデータ構造２００の受信に応答して、サービス・プロバイダ・コンピューティング・デバイス１６０は、プールされたデータ構造２００により定義または示された少なくとも１つの動作を実施することができる。当該動作は、第１のまたは第２の入力オーディオ信号３０５、３１０のアクションデータ構造の各アクションの１つまたは複数に対応することができる。例えば、当該動作は、カーシェアサービスから車を予約することを含むことができる。サービス・プロバイダ・コンピューティング・デバイス１６０は、応答をクライアント・コンピューティング・デバイス１５０に提供することができる。例えば、サービス・プロバイダ・コンピューティング・デバイス１６０は、第１の応答３１５を第１のクライアント・コンピューティング・デバイス１５０に提供でき、第２の応答３２０を第２のクライアント・コンピューティング・デバイス１５０に提供することができる。第１のおよび第２の応答３１５、３２０は、サービス・プロバイダ・コンピューティング・デバイス１６０から第１のおよび第２のクライアント・コンピューティング・デバイス１５０への送信中に、データ処理システム１０５をバイパスすることができる。応答３１５は、車サービスからの車の予約のような変換アクションを確認するテキスト、画像、または（オーディオを含む）他のデータメッセージを含むことができる。データ処理システム１０５は、コンピュータ・ネットワーク１６５を介して、当該変換の（または応答３１５、３２０の）指示をサービス・プロバイダ・コンピューティング・デバイス１６０からまたはクライアント・コンピューティング・デバイス１５０から受信することができる。データ処理システム１０５はまた、応答３１５、３２０をサービス・プロバイダ・コンピューティング・デバイス（複数可）１６０から受信することができる。
【００５０】
１つまたは複数のサービス・プロバイダ・コンピューティング・デバイス１６０に対応するサービスプロバイダエンティティは複数の動作を実施して、プールされたデータ構造２００により示される異なるアクションを実現することができる。例えば、当該サービスプロバイダエンティティは、食料品配達を提供し、人間輸送のためのカーシェアサービスを運営することができる。プールされたデータ構造２００は、これらのアクションの両方を示すことができ、それらを、１つまたは複数のサービス・プロバイダ・コンピューティング・デバイス１６０を制御する単一のサービスプロバイダエンティティにより実現することができる。サービス・プロバイダ・コンピューティング・デバイス１６０はまた、プーリングポリシーデータをデータ処理システム１０５に提供することができる。例えばダイレクト・アクションＡＰＩ１３５はプーリングポリシーデータをサービス・プロバイダ・コンピューティング・デバイス１６０から受信することができる。当該プーリングポリシーデータは、プールされたデータ構造２００を生成するためにプーリング・コンポーネント１２０により使用されるポリシーガイドラインを提供することができる。当該プーリングポリシーデータをデータリポジトリ１４５に（例えば、ポリシ１４７として）格納することができる。当該プーリングポリシーデータは、当該プールされたデータ構造のフォーマット、テンプレート情報（例えば、テンプレート１４９）または情報サイズデータを示すことができ、または、いつ、どのように、どの程度頻繁にまたはどのような情報を当該プールされたデータ構造に含めるべきかを示すことができる。プーリング・コンポーネント１２０は、当該プーリングポリシーデータに準拠するプールされたデータ構造２００を生成することができる。
【００５１】
幾つかの例では、応答３１５、３２０は、第１のおよび第２のクライアント・コンピューティング・デバイス１５０の両方に別々に送信された同一の実質的な応答を含む。例えば、サービス・プロバイダ・コンピューティング・デバイス１６０は、プールされたデータ構造２００内の各アクションデータ構造により示される第１のおよび第２のアクションを統合し、第１のおよび第２のクライアント・コンピューティング・デバイス１５０に関連付けられたピックアップ位置で連続的に到達する単一の車を提供することができる。
【００５２】
応答３１５、３２０はプールされる必要はない。応答３１５、３２０は互いに異なることができ、または、プールされたデータ構造２００の第１のアクションデータ構造２２５または第２のアクションデータ構造２３０（または第１のおよび第２のパラメータ２１５、２２０）へのカスタマイズされた応答と異なることができる。例えば、サービス・プロバイダ・コンピューティング・デバイス１６０は、応答３１５に第１のクライアント・コンピューティング・デバイス１５０に対する第１のカーシェア予約に関する情報を提供でき、応答３２０に第２のクライアント・コンピューティング・デバイス１５０に対する異なる、第２のカーシェア予約に関する情報を提供することができる。
【００５３】
プーリング・コンポーネント１２０により生成されプールされたデータ構造２００を生成するために使用されるプーリング・パラメータはまた、時間的な、宛先、または位置データを含むことができる。例えば、当該プーリング・パラメータは、それぞれが、特定のレストランの予約要求、エンティティにり製造された商品の注文、またはカーシェアサービスからのカーシェア予約要求のような、当該サービス・プロバイダ・コンピューティング・デバイスに関連付けられた単一のエンティティからのサービスの要求（例えば、宛先情報）に対応する複数のアクションデータ構造を示すことができる。当該プーリング・パラメータはまた、定義された時間期間に、例えばそれぞれが車サービスを同一のカーシェアエンティティに要求する２分間隔内に、生成されたアクションデータ構造の数を示することができる。当該プーリング・パラメータは、定義された地理的領域（例えば、都市ブロックまたは近所）を示す位置情報のような位置情報を含むことができる。当該地理的領域から、複数の人は、サービス・プロバイダ・コンピューティング・デバイス１６０に関連付けられた同一のエンティティからサービスを要求する入力オーディオ信号を提供する。当該プーリング・パラメータから、プーリング・コンポーネント１２０は、プールされたデータ構造２００を生成し、それをサービス・プロバイダ・コンピューティング・デバイス１６０に提供することができる。サービス・プロバイダ・コンピューティング・デバイス１６０は、当該プールされたデータ構造に応答して動作を実施し、関連付けられた応答３１５、３２０をクライアント・コンピューティング・デバイス１５０に提供することができる。
【００５４】
プールされたデータ構造２００は単一のエンティティに対する動作のみを含むことができ、当該単一のエンティティは、データ処理システム１０５に関連付けられたエンティティと異なるエンティティである。例えば、データ処理システム１０５（またはプーリング・コンポーネント１２０のようなコンポーネント）は、第１のプールされたデータ構造を第１のエンティティにより制御される１つまたは複数の第１のサービス・プロバイダ・コンピューティング・デバイス１６０に提供し、第２のプールされたデータ構造を生成し、第２のプールされたデータ構造を第１のエンティティに関連しない異なる、第２のエンティティにより制御される１つまたは複数の第２のサービス・プロバイダ・コンピューティング・デバイス１６０に提供することができる。例えば、第１のプールされたデータ構造は、チケットブローカ会社からローカルスポーツイベントのチケットを購入するための統合された要求に関することができ、第２のプールされたデータ構造は、旅行エージェント会社からの海外の熱帯ビーチバケーションに関する旅行予約を行う要求に関することができる。
【００５５】
コンテンツセレクタコンポーネント１２５は、当該プールされたアクションデータ構造２００のアクションデータ構造の少なくとも１つのアクションの指示を取得することができる。コンテンツセレクタコンポーネント１２５により受信された情報、例えば、アクションの指示から、コンテンツセレクタコンポーネント１２５は少なくとも１つのコンテンツ・アイテムを識別することができる。当該コンテンツ・アイテムは第３のアクションに応答または関連することができる。例えば、当該コンテンツ・アイテムは、輸送の必要性を示す第３のアクションに応答してカーシェア会社のオーディオメッセージ提供サービスを含むことができる。コンテンツセレクタコンポーネント１２５はデータリポジトリ１４５に問い合わせて、当該コンテンツ・アイテムを、例えば、コンテンツデータ１４８から選択または識別することができる。コンテンツセレクタコンポーネント１２５はまた、当該コンテンツ・アイテムをコンテンツプロバイダ・コンピューティングデバイス１５５から選択することができる。例えばデータ処理システム１０５から受信されたクエリに応答して、コンテンツプロバイダ・コンピューティングデバイス１５５はコンテンツ・アイテムを、クライアント・コンピューティング・デバイス１５０による最終出力のためにデータ処理システム１０５（またはそのコンポーネント）に提供することができる。当該コンテンツ・アイテムは、当該アクションデータ構造に関連付けられたサービスプロバイダ、例えば、識別されたカーシェアサービス、または競合会社または付属的サービスのような別のサービスに関することができる。
【００５６】
オーディオ信号ジェネレータコンポーネント１３０は、当該コンテンツ・アイテムを含む出力信号を生成または取得することができる。例えば、データ処理システム１０５は当該オーディオ信号ジェネレータコンポーネントを実行して、当該コンテンツ・アイテムに対応する出力信号を生成または作成することができる。データ処理システム１０５のインタフェース１１５は、コンピュータ・ネットワーク１６５を介して当該出力信号を含む１つまたは複数のデータ・パケットをクライアント・コンピューティング・デバイス１５０に提供または送信することができる。インタフェース１１５は例えば、データ・パケットを用いて情報を送受信するように設計され、構成され、構築され、または動作することができる。インタフェース１１５は、ネットワークプロトコルのような１つまたは複数のプロトコルを用いて情報を送受信することができる。インタフェース１１５は、ハードウェアインタフェース、ソフトウェアインタフェース、有線インタフェース、またはワイヤレスインタフェースを含むことができる。インタフェース１１５は、或るフォーマットから別のフォーマットへのデータ変換またはデータ・フォーマットを促進することができる。例えば、インタフェース１１５は、システム１００のソフトウェアコンポーネントのような、様々なコンポーネントの間で通信するための定義を含むアプリケーションプログラミングインタフェースを含むことができる。
【００５７】
データ処理システム１０５は、（例えば、コンテンツ・アイテムに対応してまたは入力オーディオ信号に応答して）出力信号を、データリポジトリ１４５からまたはオーディオ信号ジェネレータコンポーネント１３０からクライアント・コンピューティング・デバイス１５０に提供することができる。データ処理システム１０５はまた、データ・パケット送信を介して、コンテンツプロバイダ・コンピューティングデバイス１５５またはサービス・プロバイダ・コンピューティング・デバイス１６０に、当該出力信号をクライアント・コンピューティング・デバイス１５０に提供するように指示することができる。当該出力信号を、取得し、生成し、１つまたは複数のデータ・パケット（または他の通信プロトコル）に変換し、または１つまたは複数のデータ・パケット（または他の通信プロトコル）としてデータ処理システム１０５（または他のコンピューティングデバイス）からクライアント・コンピューティング・デバイス１５０に送信することができる。
【００５８】
コンテンツセレクタコンポーネント１２５はリアルタイムコンテンツ選択プロセスの一部として当該コンテンツ・アイテムを選択することができる。例えば、当該コンテンツ・アイテムを、クライアント・コンピューティング・デバイス１５０にオーディオ出力として当該入力オーディオ信号への直接応答の会話方式で提供することができる。当該コンテンツ・アイテムを識別し当該コンテンツ・アイテムをクライアント・コンピューティング・デバイス１５０に提供するための当該リアルタイムコンテンツ選択プロセスは、当該入力オーディオ信号の時刻から１分以下で発生することができ、リアルタイムと考えることができる。
【００５９】
例えばオーディオ信号ジェネレータコンポーネント１３０により取得または生成され、インタフェース１１５およびコンピュータ・ネットワーク１６５を介してクライアント・コンピューティング・デバイス１５０に送信されたコンテンツ・アイテムに対応する出力信号は、クライアント・コンピューティング・デバイス１５０に、オーディオドライバ１５３を実行してスピーカ１５４を駆動して当該出力信号に対応する音波を生成させることができる。当該音波は、第３のアクションに対する当該コンテンツ・アイテムの単語または第３のアクションに対する当該コンテンツ・アイテムに対応する単語を含むことができる。当該音波はクライアント・コンピューティング・デバイス１５０から、例えば、「Your taxi is confirmed」または「While you are waiting for your taxi, there is a coffee shop around the corner」のオーディオ出力を含む音波として出力できる。
【００６０】
データ処理システム１０５は、プールされたデータ構造のサービス・プロバイダ・コンピューティング・デバイス１６０への送信を防止または遅延することができる。例えば、ダイレクト・アクションＡＰＩ１３５またはプーリング・コンポーネント１２０を介して実行されインタフェース１１５またはスクリプトは、トリガ・イベントまで当該プールされたデータ構造を含むデータ・パケットの送信を防止することができる。当該トリガイベントは、１分未満から日の期間まで、所定の時間期間の期限切れを含むことができる。当該トリガイベントはまた、利用可能な帯域幅、処理、またはメモリに基づくことができる。例えば、サービス・プロバイダ・コンピューティング・デバイス１６０は当該プールされたデータ構造に対する当該データ処理システムを促進または問い合わせることができる。データ処理システム１０５は当該データ構造を当該プロンプトに応答して送信する。
【００６１】
データ処理システム１０５はまた、当該プールされたデータ構造の送信を遅延して処理の利用を最適化することができる。例えば、データ処理システム１０５はコンテンツ・アイテム送信をデータセンタ利用のオフピークまたは非ピークの期間まで遅延することができ、これはピーク帯域幅利用、熱出力または冷却要件を減らすことで当該データセンタのより効率的な利用をもたらす。データ処理システム１０５はまた、データ処理システム１０５を含むネットワーク１６５またはデータセンタのデータセンタ利用率または帯域幅メトリックまたは要件に基づいて、車サービスのオーダのような、当該コンテンツ・アイテムに関連付けられた変換または他の活動を開始することができる。これは、ネットワークトラフィック、負荷要件を減らし、処理および電気電力を節約することができる。
【００６２】
データ処理システム１０５は、「would you like a ride home from the movie theater?」と述べる乗車共有サービスの申し出のようなコンテンツ・アイテムに対する応答を受信できる。当該応答は、エンド・ユーザによりクライアント・コンピューティング・デバイス１５０に入力されデータ処理システム１０５により受信された入力オーディオ信号、例えば、「yes please」を含むことができる。この応答に基づいて、ダイレクト・アクションＡＰＩ１３５は、（カーシェア会社のような、当該コンテンツ・アイテムに関連付けることができる）サービス・プロバイダ・コンピューティング・デバイス１６０と通信して、映画が終了する時刻に当該映画の映画館の位置に対するタクシーまたは相乗り車をオーダーすることができる。データ処理システム１０５は、クライアント・コンピューティング・デバイス１５０との当該データ・パケット（または他のプロトコル）ベースのデータメッセージ通信の一部として、この位置または時刻情報を、データリポジトリ１４５から、またはサービス・プロバイダ・コンピューティング・デバイス１６０またはコンテンツプロバイダ・コンピューティングデバイス１５５のような他のソースから取得することができる。このオーダ（または他の変換）の確認を、クライアント・コンピューティング・デバイス１５０に「great, you will have a car waiting for you at 11pm outside the theater」のようなオーディオ出力を描画させるデータ処理システム１０５からの出力信号の形で、オーディオ通信としてデータ処理システム１０５からクライアント・コンピューティング・デバイス１５０に提供することができる。データ処理システム１０５は、ダイレクト・アクションＡＰＩ１３５を介して、サービス・プロバイダ・コンピューティング・デバイス１６０と通信して当該車のオーダーを確認することができる。
【００６３】
データ処理システム１０５は、コンテンツ・アイテム（「would you like a ride home from the movie theater?」）に対する応答（例えば、「yes please）を取得でき、パケット・ベースのデータメッセージを、サービスプロバイダのＮＰＬコンポーネント１６１（または当該サービス・プロバイダ・コンピューティング・デバイスの他のコンポーネント）にルーティングすることができる。このパケット・ベースのデータメッセージは、サービス・プロバイダ・コンピューティング・デバイス１６０に、変換に影響を及ぼさせる。例えば、映画の映画館の外部で車のピックアップ予約を行わせることができる。データ処理システム１０５は、当該変換の通知を、例えば、サービス・プロバイダ・コンピューティング・デバイス１６０、コンテンツプロバイダ・コンピューティングデバイス１５５、またはクライアント・コンピューティング・デバイス１５０から取得することができる。
【００６４】
当該コンテンツ・アイテム「would you like a ride home from the movie theater」に対する応答「yes please」のような当該スレッド内の後続のアクションコンテンツ・アイテムへの応答に基づいて、または、商品またはサービスの要求を直接に示すことができるプールされたデータ構造を含むアクションデータ構造に基づいて、データ処理システム１０５は変換またはアクションを開始することができる。例えば、データ処理システム１０５のプロセッサはダイレクト・アクションＡＰＩ１３５を起動してカーシェアサービスからの車をオーダーするスクリプトを実行することができる。ダイレクト・アクションＡＰＩ１３５は、データリポジトリ１４５からのコンテンツデータ１４８（またはパラメータ１４６またはポリシ１４７）、ならびに位置、時間、ユーザアカウント、物流または当該カーシェアサービスから車を予約するための他の情報を決定するためにエンド・ユーザ同意によりクライアント・コンピューティング・デバイス１５０から受信されたデータを取得することができる。ダイレクト・アクションＡＰＩ１３５を用いて、データ処理システム１０５はまた、サービス・プロバイダ・コンピューティング・デバイス１６０と通信して、この例では当該カーシェアのピックアップ予約を行うことによって当該変換を完了することができる。ダイレクト・アクションＡＰＩ１３５は、当該プールされたデータ構造に関連付けられたアクション（例えば、当該プールされたデータ構造により示されるアクションデータ構造の１つまたは複数のパラメータにより定義されたアクション）を実現するための当該変換または活動を開始することができる。
【００６５】
図４は、音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境における音声起動されたスレッドを管理する方法４００を示す。方法４００は少なくとも１つの第１のオーディオ入力信号を受信することができる（動作４０５）。例えば、インタフェース１１５を介して当該ＮＬＰコンポーネントはデータ・パケットを受信することができる（動作４０５）。データ処理システム１０５は、ＮＬＰコンポーネント１１０を実行または起動して、パケットまたは他のプロトコルベースの送信を、当該ネットワークを介して第１のクライアント・コンピューティング・デバイス１５０から受信することができる。当該データ・パケットは、第１のエンド・ユーザが「OK, take me home」をクライアント・コンピューティング・デバイス１５０、例えば、スマートフォンに言うような、第１のクライアント・コンピューティング・デバイス１５０のセンサ１５１により検出された入力オーディオ信号を含むことができるかまたはそれに対応することができる。方法４００は当該入力オーディオ信号を解析して、少なくとも１つの第１の要求または少なくとも１つの第１のトリガキーワードを当該入力オーディオ信号から識別することができる（動作４１０）。例えば、ＮＬＰコンポーネント１１０は当該入力オーディオ信号を解析して、当該要求に対応または関する要求（to go “home”）ならびにトリガキーワード（「take」）を識別することができる。方法４００は、当該受信された第１のオーディオ入力信号に関連付けられた当該識別された要求またはキーワードに基づいて、少なくとも１つの第１のアクションデータ構造を生成することができる（動作４１５）。例えば、ダイレクト・アクションＡＰＩ１３５は、タクシーピックアップの位置、要求されたサービスプロバイダ、または時刻情報のような第１のアクションを定義する少なくとも１つのパラメータを含むアクションデータ構造を生成することができる。
【００６６】
方法４００は少なくとも１つの第２のオーディオ入力信号を受信することができる（動作４２０）。例えば、ＮＬＰコンポーネント１１０は、パケットまたは他のプロトコルベースの送信を、当該ネットワークを介して第２のクライアント・コンピューティング・デバイス１５０から受信することができる。当該データ・パケットは、エンド・ユーザが「OK, can I get a taxi please」を第２のクライアント・コンピューティング・デバイス１５０を言うことのような、第２のクライアント・コンピューティング・デバイス１５０のセンサ１５１により検出された入力オーディオ信号を含むことができるかまたはそれに対応することができる。方法４００は、少なくとも１つの第２の要求または少なくとも１つの第２のトリガキーワードを第２の入力オーディオ信号から識別することができる（動作４２５）。例えば、ＮＬＰコンポーネント１１０は当該入力オーディオ信号を解析して、当該要求に対応または関する要求（to go “taxi”）ならびにトリガキーワード（「get」）を識別することができる。方法４００は、当該受信された第１のオーディオ入力信号に関連付けられた当該識別された要求またはキーワードに基づいて、少なくとも１つの第２のアクションデータ構造を生成することができる（動作４３０）。例えば、ダイレクト・アクションＡＰＩ１３５は、タクシーピックアップの位置、要求されたサービスプロバイダ、または時刻情報のような第２のアクションを定義する少なくとも１つのパラメータを含むアクションデータ構造を生成することができる。
【００６７】
方法４００は少なくとも１つのプーリング・パラメータを決定することができる（動作４３５）。例えば、共通の要求されたサービスプロバイダまたは他の共通性（例えば、アクションデータ構造の間の重複のレベル）を示す各アクションのパラメータに基づいて、プーリング・コンポーネント１２０は、当該共通の要求されたサービスプロバイダを示すプーリング・パラメータを決定することができる。方法４００はプールされたデータ構造を生成することができる（動作４４０）。例えば、当該共通の要求されたサービスプロバイダの当該指示に基づいて、プーリング・コンポーネント１２０は、第１のおよび第２のアクションデータ構造、またはそれらの関連付けられたアクションまたはパラメータを示す少なくとも１つのプールされたデータ構造を生成することができる（動作４４０）。方法４００は当該プールされたデータ構造を送信することができる（動作４４５）。例えば、データ処理システム１０５は、当該プールされたデータ構造を、当該共通の要求されたサービスプロバイダエンティティにより制御される１つまたは複数のサービス・プロバイダ・コンピューティング・デバイス１６０に提供することができる。
【００６８】
図５は例示的なコンピュータシステム５００のブロック図である。コンピュータシステムまたはコンピューティングデバイス５００は、システム１００、またはデータ処理システム１０５のようなそのコンポーネントを含むことができるかまたはそれを実装するために使用される。コンピューティングシステム５００は、情報を通信するためのバス５０５または他の通信コンポーネントおよび情報を処理するためにバス５０５に接続するためのプロセッサ５１０または処理回路を含む。コンピューティングシステム５００はまた、情報を処理するために当該バスに接続された１つまたは複数のプロセッサ５１０または処理回路を含むことができる。コンピューティングシステム５００はまた、情報、およびプロセッサ５１０により実行される命令を格納するためにバス５０５に接続されたランダム・アクセスメモリ（ＲＡＭ）または他の動的記憶デバイスのようなメイン・メモリ５１５を含む。メイン・メモリ５１５はデータリポジトリ１４５であることができるかまたはそれを含むことができる。メイン・メモリ５１５をまた、プロセッサ５１０による命令の実行中に位置情報、一時的変数、または他の中間情報を格納するために使用することができる。コンピューティングシステム５００はさらに、プロセッサ５１０のための静的情報および命令を格納するために、バス５０５に接続される読取専用メモリ（ＲＯＭ）５２０または他の静的記憶デバイスを含んでもよい。固体状態デバイス、磁気ディスクまたは光ディスクのような記憶デバイス５２５は、永続的に情報および命令を格納するためにバス５０５に接続されることができる。記憶デバイス５２５はデータリポジトリ１４５を含むことができるかまたはその一部であることができる。
【００６９】
コンピューティングシステム５００を、バス５０５を介して、情報をユーザに表示するための、液晶ディスプレイ、またはアクティブ行列ディスプレイのようなディスプレイ５３５に接続してもよい。英数字および他のキーを含むキーボードのような入力デバイス５３０が、情報およびコマンド選択をプロセッサ５１０に通信するためにバス５０５に接続されてもよい。入力デバイス５３０はタッチ・スクリーンディスプレイ５３５を含むことができる。入力デバイス５３０はまた、方向情報およびコマンド選択をプロセッサ５１０に通信し、ディスプレイ５３５上のカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キーのようなカーソル・コントロールを含むことができる。ディスプレイ５３５は、例えば、図１のデータ処理システム１０５、クライアント・コンピューティング・デバイス１５０または他のコンポーネントの一部であることができる。
【００７０】
本明細書で説明したプロセス、システムおよび方法を、プロセッサ５１０がメイン・メモリ５１５に含まれる命令の配置を実行したことに応答してコンピューティングシステム５００により実装することができる。かかる命令を記憶デバイス５２５のような別のコンピュータ可読媒体からメイン・メモリ５１５に読み込むことができる。メイン・メモリ５１５に含まれる命令の配置の実行は、コンピューティングシステム５００に本明細書で説明した例示的なプロセスを実施させる。マルチプロセッシング配置における１つまたは複数のプロセッサをまた、メイン・メモリ５１５に含まれる命令を実行するために使用することができる。ハードワイヤード回路を、本明細書で説明するシステムおよび方法とともにソフトウェア命令の代わりにまたはそれを組み合わせて使用することができる。本明細書で説明したシステムおよび方法はハードウェア回路およびソフトウェアの任意の特定の組合せに限定されない。
【００７１】
例示的なコンピューティングシステムを図５で説明したが、本明細書で説明した動作を含む当該主題を、本明細書で開示した構造およびそれらの構造的均等物を含む他のタイプのデジタル電子回路で、またはコンピュータソフトウェア、ファームウェア、またはハードウェアで、またはそれらの１つまたは複数の組合せで実装することができる。
【００７２】
本明細書で説明するシステムがユーザに関する個人情報を収集するか、または個人情報を利用しうる状況に対して、当該ユーザに、プログラムまたは機能が個人情報（例えば、ユーザのソーシャルネットワーク、ソーシャルアクションまたはアクティビティ、ユーザの嗜好、またはユーザの位置に関する情報）を収集しうるかどうかを制御するか、または、当該ユーザにより関連しうるコンテンツサーバまたは他のデータ処理システムからコンテンツを受信するかどうかまたはその方法を制御するための機会を与えてもよい。さらに、特定のデータはそれが格納または使用される前に１つまたは複数の方法で匿名化してもよく、その結果個人的に識別可能な情報がパラメータを生成するときに除去される。例えば、ユーザのアイデンティティを匿名化してもよく、その結果個人的に識別可能な情報を当該ユーザに対して決定できず、またはユーザの特定の位置を決定できないように、ユーザの地理的位置を位置情報が取得される場所で（例えば都市、郵便番号、または状態レベルに）一般化してもよい。したがって、当該ユーザは、どのように情報が当該ユーザに関して収集され当該コンテンツサーバにより使用されるかを制御することができる。
【００７３】
当該主題および本明細書で説明した動作を、本明細書で開示した構造およびそれらの構造的均等物を含むデジタル電子回路で、またはコンピュータソフトウェア、ファームウェア、またはハードウェアで、またはそれらの１つまたは複数の組合せで実装することができる。本明細書で説明した当該主題を、データ処理装置による実行のためにまたは当該装置の動作を制御するために１つまたは複数のコンピュータ記憶媒体で符号化された、１つまたは複数のコンピュータプログラム、例えば、コンピュータプログラム命令の１つまたは複数の回路として実装することができる。代替的にまたは追加として、当該プログラム命令を、人工的に生成された伝播信号、例えば、データ処理装置による実行のために適切な受信器装置に送信するための情報を符号化するために生成されたマシン−生成された電気、光、または電磁気信号で符号化することができる。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムなまたはシリアル・アクセスメモリ・アレイまたはデバイス、またはそれらの１つまたは複数の組合せであることができ、または、それらに含まれることができる。コンピュータ記憶媒体は伝播信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝播信号で符号化されたコンピュータプログラム命令のソースまたは宛先であることができる。当該コンピュータ記憶媒体はまた、１つまたは複数の別々のコンポーネントまたは媒体（例えば、複数のＣＤ、ディスク、または他の記憶デバイス）であることができ、または、それに含まれることができる。本明細書で説明した動作を、１つまたは複数のコンピュータ可読記憶デバイスに格納されまたは他のソースから受信されたデータに対してデータ処理装置により実施される動作として実装することができる。
【００７４】
「データ処理システム」「コンピューティングデバイス」「コンポーネント」または「データ処理装置」という用語は、例としてプログラム可能プロセッサ、コンピュータ、システム・オン・チップ、または以上のうち複数または組合せを含む、データを処理するための様々な装置、デバイス、およびマシンを包含する。当該装置は、特殊目的論理回路、例えば、ＦＰＧＡ（フィールドプログラム可能ゲート・アレイ）またはＡＳＩＣ（特殊用途向け集積回路）を含むことができる。当該装置はまた、ハードウェアに加えて、着目するコンピュータプログラムに対する実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコル・スタック、データベース管理システム、オペレーティング・システム、クロス・プラットフォームランタイム環境、仮想マシン、またはそれらの１つまたは複数の組合せを構成するコードを含むことができる。当該装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッド・コンピューティングインフラのような様々な異なるコンピューティングモデルインフラを実現することができる。ダイレクト・アクションＡＰＩ１３５、コンテンツセレクタコンポーネント１２５、プーリング・コンポーネント１２０またはＮＬＰコンポーネント１１０および他のデータ処理システム１０５コンポーネントは、１つまたは複数のデータ処理装置、システム、コンピューティングデバイス、またはプロセッサを含むかまたは共有ことができる。
【００７５】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、スクリプト、またはコードとしても知られる）を、コンパイル型言語またはインタプリタ型言語、宣言型または手続型言語を含む任意の形態のプログラミング言語で書くことができ、スタンドアロンプログラムまたはモジュール、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境で使用するのに適した他のユニットを含む任意の形態で展開することができる。コンピュータプログラムはファイルシステム内のファイルに対応することができる。コンピュータプログラムを、他のプログラムまたはデータを保持するファイル部分（例えば、マークアップ言語ドキュメントに格納された１つまたは複数のスクリプト）に、着目するプログラム専用の単一のファイルに、または複数の協調ファイルに（例えば、１つまたは複数のモジュール、サブプログラム、またはコード部分を格納するファイル）格納することができる。コンピュータプログラムを、１つのコンピュータ上でまたは１つのサイトに配置されるかまたは複数のサイトにわたって分散され通信ネットワークにより相互接続された複数のコンピュータ上で実行されるように展開することができる。
【００７６】
本明細書で説明した当該プロセスおよび論理フローを、１つまたは複数のプログラム可能プロセッサが、１つまたは複数のコンピュータプログラム（例えば、データ処理システム１０５のコンポーネント）を実行して、入力データで動作し出力を生成することでアクションを実施することにより、実施することができる。当該プロセスおよび論理フローはまた、特殊目的論理回路、例えば、ＦＰＧＡ（フィールドプログラム可能ゲート・アレイ）またはＡＳＩＣ（特殊用途向け集積回路）により実施でき、装置をまた特殊目的論理回路、例えば、ＦＰＧＡ（フィールドプログラム可能ゲート・アレイ）またはＡＳＩＣ（特殊用途向け集積回路）として実装することができる。コンピュータプログラム命令およびデータを格納するのに適したデバイスを含むあらゆる形態の非揮発性メモリ、媒体およびメモリデバイスを含む例として半導体メモリデバイス、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュ・メモリデバイス、磁気ディスク、例えば、内部ハードディスクまたは取外し可能ディスク、磁気光ディスク、およびＣＤＲＯＭおよびＤＶＤ−ＲＯＭディスク。当該プロセッサおよび当該メモリを特殊目的論理回路で補完するかまたはそれに組み込むことができる。
【００７７】
本明細書で説明する主題を、コンピューティングシステムで実装することができるバックエンドコンポーネントを、例えば、データサーバとして含むか、またはミドルウェアコンポーネント、例えば、アプリケーションサーバを含むか、またはフロントエンドコンポーネント、例えば、ユーザがそれを通じて本明細書で説明した当該主題の実装と対話できるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ、または１つまたは複数のかかるバックエンド、ミドルウェア、またはフロントエンドコンポーネントの組合せを含む。当該システムの当該コンポーネントはデジタルデータ通信、例えば、通信ネットワークの任意の形態または媒体により相互接続することができる。通信ネットワークの例は、ローカル・エリア・ネットワーク（「ＬＡＮ」）および広帯域ネットワーク（「ＷＡＮ」）、インターネットワーク（例えば、インターネット）、およびピア・ツー・ピアネットワーク（例えば、アドホックピア・ツー・ピアネットワーク）を含む。
【００７８】
システム１００またはシステム５００のようなコンピューティングシステムはクライアントおよびサーバを含むことができる。クライアントおよびサーバは一般に互いから離れており、一般に通信ネットワークを通じて対話する（例えば、ネットワーク１６５）。クライアントおよびサーバの関係は、当該各コンピュータで実行され互いにクライアント−サーバ関係を有するコンピュータプログラムにより生ずる。幾つかの実装では、サーバはデータ（例えば、コンテンツ・アイテムを表すデータ・パケット）をクライアント・コンピューティング・デバイス（例えば、当該クライアント・コンピューティング・デバイスと対話するユーザにデータを表示し、そこからユーザ入力を受信する目的で）に送信する。当該クライアント・コンピューティング・デバイスで生成されたデータ（例えば、当該ユーザ対話の結果）は当該サーバで当該クライアント・コンピューティング・デバイスから受信されることができる（例えば、データ処理システム１０５によりコンピューティングデバイス１５０またはコンテンツプロバイダ・コンピューティングデバイス１５５またはサービス・プロバイダ・コンピューティング・デバイス１６０から受信される）。
【００７９】
動作を当該図面において特定の順序で説明したが、かかる動作を示した特定の順序でまたは逐次的な順序で実施する必要はなく、全ての図示した動作を実施する必要はない。本明細書で説明した動作を異なる順序で実施することができる。
【００８０】
様々なシステムコンポーネントの分離は全ての実装における分離を要求しないが、当該説明したプログラムコンポーネントを単一のハードウェアまたはソフトウェア製品に含めることができる。例えば、ＮＬＰコンポーネント１１０、コンテンツセレクタコンポーネント１２５、またはプーリング・コンポーネント１２０は、単一のコンポーネント、アプリ、またはプログラム、または１つまたは複数の処理回路を有する論理デバイス、またはデータ処理システム１０５の１つまたは複数のサーバの一部であることができる。
【００８１】
幾つかの例示的な実装を説明したが、以上は、例示的であり限定的ではなく、例として提示されていることは明らかである。特に、本明細書で提示した例の多くは方法の動作またはシステム要素の特定の組合せを含むが、これらの動作およびこれらの要素を他の方法で組み合わせて同一の目的を実現してもよい。１実装と関連して説明した動作、要素および特徴は他の実装または実装における類似の役割から排除されるものではない。
【００８２】
本明細書で使用したフレーズおよび用語は説明の目的のためであり限定として解釈されるべきではない。「〜を含む」、「〜を備える」、「〜を有する」、「〜を包含する」、「〜が関与する」、「〜により特徴付けられる」、「〜の点で特徴付けられる」、およびその本明細書における変形の使用は、その後に列挙された項目、その均等物、および追加の項目、ならびに排他的にその後に列挙された項目からなる代替的な実装を含むことを意味する。１実装では、本明細書で説明するシステムおよび方法は当該説明した要素、動作、またはコンポーネントの１つ、複数の各組合せ、または全てから成る。
【００８３】
本明細書で単一形で参照されるシステムおよび方法の実装または要素または動作に対する任意の言及は複数のこれらの要素を含む実装を含んでもよく、本明細書の任意の実装または要素または動作への複数形の任意の参照は単一の要素のみを含む実装を含んでもよい。単一形または複数形における参照は本明細書で開示したシステムまたは方法、それらのコンポーネント、動作、または要素を単一のまたは複数の構成に限定しようとするものではない。任意の情報、動作または要素に基づく任意の動作または要素への参照は当該動作または要素は任意の情報、動作、または要素に少なくとも部分的に基づく実装を含んでもよい。
【００８４】
本明細書で開示した任意の実装を任意の他の実装または実施形態と組み合わせてもよく「実装」、「幾つかの実装」、「１実装」等への言及は必ずしも相互に排他的ではなく、当該実装と関連して説明した特定の特徴、構造、または特性が少なくとも１つの実装または実施形態に含まれてもよいを示すことを意図している。本明細書で使用した用語は必ずしも全て同一の実装を参照しない。任意の実装を、任意の他の実装と、包含的にまたは排他的に、本明細書で開示した態様および実装と一貫する任意の方式で結合してもよい。
【００８５】
「または」に対する言及は、「または」を用いて説明された任意の用語が当該説明した用語のうち１つ、複数、および全ての何れかを示しうるように、包含的として解釈してもよい。例えば、「‘Ａ’および‘Ｂ’のうち少なくとも１つ」への言及は‘Ａ’のみ、‘Ｂ’のみ、ならびに‘Ａ’および‘Ｂ’の両方を含むことができる。「〜を備える」または他のオープンな用語と関連して使用されるかかる言及は追加の項目を含むことができる。
【００８６】
当該図面、詳細な説明または任意の請求項における技術的特徴に参照記号が続く場合、当該参照記号は当該図面、詳細な説明、および特許請求の範囲の明瞭性を高めるために含まれている。したがって、当該参照記号もそれがないことも任意のクレーム要素の範囲に対する限定効果を有さない。
【００８７】
本明細書で説明するシステムおよび方法をその特徴から逸脱せずに他の特定の形態で具体化してもよい。例えば、データ処理システム１０５による複数のオーディオ入力信号（または識別または各要求またはトリガキーワード）の受信は、同時にまたは逐次的に１つまたは複数のソースから発生することができる。以上の実装は説明したシステムおよび方法の限定ではなく例示的なものである。本明細書で説明するシステムおよび方法の範囲はしたがって以上の説明ではなく添付の特許請求の範囲により示され、添付の特許請求の範囲の均等物の意味と範囲に入る変更がそこに包含される。
【符号の説明】
【００８８】
１０５  データ処理システム
１１０  自然言語プロセッサ・コンポーネント
１１５  インタフェース
１２０  プーリング・コンポーネント
１２５  コンテンツ・セレクタ・コンポーネント
１３０  オーディオ信号生成器コンポーネント
１３５  ダイレクト・アクションＡＰＩ
１４０  セッション・ハンドラ
１４５  データ・リポジトリ
１４６  パラメータ
１４７  ポリシ
１４８  コンテンツ・データ
１４９  テンプレート
１５０  クライアント・コンピューティング・デバイス
１５１  センサ
１５２  トランスデューサ
１５３  オーディオ・ドライバ
１５４  スピーカ
１５５  コンテンツ・プロバイダ・デバイス
１６０  サービス・プロバイダ・デバイス
１６１  サービス・プロバイダの自然言語プロセッサ・コンポーネント
１６２  サービス・プロバイダ・インタフェース
１６５  ネットワーク
【図１】
2020115363.tif 000003
【図２】
2020115363.tif 000004
【図３】
2020115363.tif 000005
【図４】
2020115363.tif 000006
【図５】
2020115363.tif 000007
【手続補正書】
【提出日】令和2年4月2日(2020.4.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境における音声起動されたスレッドを統合するためのシステムであって、
データ処理システムのインタフェースを介して、第１のクライアントコンピューィングデバイスのセンサにより検出された第１の入力オーディオ信号を含むデータ・パケットを受信する、前記データ処理システムにより実行される自然言語プロセッサコンポーネントと、
第１のトリガキーワードに基づいておよび第１の要求に応答して、第１のアクションを定義するパラメータを有する第１のアクションデータ構造を生成する、前記データ処理システムのダイレクト・アクションアプリケーションプログラミングインタフェース（「ＡＰＩ」）と、
前記データ処理システムのプーリング・コンポーネントであって、
前記第１のアクションデータ構造の第２のアクションデータ構造との比較に基づいて、前記第１のアクションデータ構造および前記第２のアクションデータ構造の間の重複のレベルを決定し、
前記重複のレベルの比較、前記第１のアクションデータ構造、および前記第２のアクションデータ構造に基づいて、前記第１のアクションデータ構造、および前記第２のアクションデータ構造を統合するプールされたデータ構造を生成し、
コンピュータ・ネットワークを介して、前記プールされたデータ構造をサービス・プロバイダ・コンピューティング・デバイスに送信して、前記サービス・プロバイダ・コンピューティング・デバイスに、前記プールされたデータ構造により定義され前記第１のアクションおよび第２のアクションに対応する動作を実施させる、
プーリング・コンポーネントと、
を備え、
前記自然言語プロセッサコンポーネントは、前記第１の入力オーディオ信号を解析して前記第１の要求および前記第１の要求に対応する前記第１のトリガキーワードを識別し、
前記自然言語プロセッサコンポーネントは、前記データ処理システムの前記インタフェースを介して、第２のクライアント・コンピューティング・デバイスのセンサにより検出された第２の入力オーディオ信号を含むデータ・パケットを受信し、前記第２の入力オーディオ信号を解析して第２の要求および前記第２の要求に対応する第２のトリガキーワードを識別し、
前記ダイレクト・アクションＡＰＩは、前記第２のトリガキーワードに基づいておよび前記第２の要求に応答して、前記第２のアクションを定義するパラメータを有する第２のアクションデータ構造を生成する、
システム。
【請求項２】
前記データ処理システムは、前記第１のアクションデータ構造、および前記第２のアクションデータ構造にヒューリスティック技術を適用して前記第１のアクションデータ構造および前記第２のアクションデータ構造の間の前記重複のレベルを示すプーリング・パラメータを決定する、
請求項１に記載のシステム。
【請求項３】
前記データ処理システムは、前記第１のアクションデータ構造を前記第２のアクションデータ構造とマージして、前記プールされたデータ構造を生成する、
請求項１に記載のシステム。
【請求項４】
前記データ処理システムは、前記プールされたデータ構造の生成に応答して、前記第１のアクションデータ構造、および前記第２のアクションデータ構造の実行をバイパスする、
請求項１に記載のシステム。
【請求項５】
前記データ処理システムは、複数のアクションを前記プールされたデータ構造を介して実施する、
請求項１に記載のシステム。
【請求項６】
前記データ処理システムは、前記サービス・プロバイダ・コンピューティング・デバイスとセッションを確立して、前記プールされたデータ構造を実行する、
請求項１に記載のシステム。
【請求項７】
前記データ処理システムは、前記第１のアクションデータ構造、および前記第２のアクションデータ構造の実行をバイパスする前記サービス・プロバイダ・コンピューティング・デバイスとセッションを確立して、前記プールされたデータ構造を実行する、
請求項１に記載のシステム。
【請求項８】
前記データ処理システムは、音声起動されたアシスタントを備える、または、音声起動されたアシスタントとインタフェースしている、
請求項１に記載のシステム。
【請求項９】
前記データ処理システムは、
第１のアカウントおよび第１の位置を示す前記第１のアクションデータ構造を決定し、
前記第１のアカウントとは異なる第２のアカウントおよび前記第１の位置示す前記第２のアクションデータ構造を決定し、
前記第１のアクションデータ構造および前記第２のアクションデータ構造の双方により示される前記第１の位置に応答して前記プールされたデータ構造を生成する、
請求項１に記載のシステム。
【請求項１０】
前記重複のレベルは前記第１のアクションデータ構造と前記第２のアクションデータ構造の間の類似性メトリックを示す、
請求項１に記載のシステム。
【請求項１１】
前記第１のアクションは第１の複数のサブアクションを含む、
請求項１に記載のシステム。
【請求項１２】
前記第１のアクションを定義する前記パラメータ、および前記第２のアクションを定義する前記パラメータはそれぞれ、位置データを示す、
請求項１に記載のシステム。
【請求項１３】
前記第１のアクションを定義する前記パラメータ、および前記第２のアクションを定義する前記パラメータはそれぞれ、共通の主題を識別する、
請求項１に記載のシステム。
【請求項１４】
音声起動されたデータ・パケット・ベースのコンピュータ・ネットワーク環境における音声起動されたスレッドを統合するための方法であって、
１つまたは複数のプロセッサおよびメモリを備えるデータ処理システムにより、第１のクライアント・コンピューティング・デバイスのセンサにより検出された第１の入力オーディオ信号を含むデータ・パケットを受信するステップと、
前記データ処理システムにより、前記第１の入力オーディオ信号を解析して第１の要求および前記第１の要求に対応する第１のトリガキーワードを識別するステップと、
前記データ処理システムにより、前記第１のトリガキーワードに基づいておよび前記第１の要求に応答して、第１のアクションを定義するパラメータを有する第１のアクションデータ構造を生成するステップと、
前記データ処理システムにより、第２のクライアント・コンピューティング・デバイスのセンサにより検出された第２の入力オーディオ信号を含むデータ・パケットを受信するステップと、
前記データ処理システムにより、前記第２の入力オーディオ信号を解析して、第２の要求および前記第２の要求に対応する第２のトリガキーワードを識別するステップと、
前記データ処理システムにより、前記第２のトリガキーワードに基づいておよび前記第２の要求に応答して、第２のアクションを定義するパラメータを有する第２のアクションデータ構造を生成するステップと、
前記データ処理システムにより、前記第１のアクションデータ構造の第２のアクションデータ構造との比較に基づいて、前記第１のアクションデータ構造および前記第２のアクションデータ構造の間の重複のレベルを決定するステップと、
前記データ処理システムにより、前記比較および前記重複のレベル、前記第１のアクションデータ構造、ならびに前記第２のアクションデータ構造に基づいて、前記第１のアクションデータ構造、および前記第２のアクションデータ構造を統合するプールされたデータ構造を生成するステップと、
前記データ処理システムにより、コンピュータ・ネットワークを介して、前記プールされたデータ構造をサービス・プロバイダ・コンピューティング・デバイスに送信して、前記サービス・プロバイダ・コンピューティング・デバイスに、前記プールされたデータ構造により定義され前記第１のアクションおよび前記第２のアクションに対応する動作を実施させるステップと、
を含む、方法。
【請求項１５】
前記第１のアクションデータ構造および第２のアクションデータ構造へのヒューリスティック技術の適用を介して、前記第１のアクションデータ構造と前記第２のアクションデータ構造の間の前記重複のレベルを示すプーリング・パラメータを決定するステップを含む、
請求項１４に記載の方法。
【請求項１６】
前記第１のアクションデータ構造を前記第２のアクションデータ構造とマージして、前記プールされたデータ構造を生成するステップを含む、請求項１４に記載の方法。
【請求項１７】
前記プールされたデータ構造の生成に応答して、前記第１のアクションデータ構造、および前記第２のアクションデータ構造の実行をバイパスするステップを含む、請求項１４に記載の方法。
【請求項１８】
複数のアクションを前記プールされたデータ構造を介して実施するステップを含む、請求項１４に記載の方法。
【請求項１９】
前記サービス・プロバイダ・コンピューティング・デバイスとセッションを確立して、前記プールされたデータ構造を実行するステップを含む、請求項１４に記載の方法。
【請求項２０】
第１のクライアントコンピューィングデバイスおよび第２のクライアントコンピューィングデバイスをバイパスする前記サービス・プロバイダ・コンピューティング・デバイスとセッションを確立して、前記プールされたデータ構造を実行するステップを含む、請求項１４に記載の方法。
【外国語明細書】
2020115363000001.pdf