(57)【要約】  音声起動されたデータパケット・ベースのコンピュータネットワーク環境におけるパケット化されたアクションのルーティングが提供される。システムはデバイスのマイクロフォンにより検出されたオーディオ信号を受信することができる。前記システムは、前記オーディオ信号を解析して、トリガキーワードおよび要求を識別し、アクションデータ構造を生成することができる。前記システムは前記アクションデータ構造をサードパーティプロバイダデバイスに送信することができる。前記システムは、通信セッションが前記デバイスと確立されたとの指示を前記サードパーティプロバイダデバイスから受信することができる。
2019506759.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータネットワークを介してパケット化されたアクションをルーティングするためのシステムであって、
データ処理システムのインタフェースを介して、クライアントデバイスのセンサにより検出された入力オーディオ信号を含むデータパケットを受信する、前記データ処理システムにより実行される自然言語プロセッサコンポーネントと、
トリガキーワードに基づいて、要求に応答してアクションデータ構造を生成する、前記データ処理システムのダイレクト・アクション・アプリケーションプログラミングインタフェースと、
を備え、
前記自然言語プロセッサコンポーネントは、前記入力オーディオ信号を解析して、前記要求および前記要求に対応する前記トリガキーワードを識別し、
前記ダイレクト・アクション・アプリケーションプログラミングインタフェースは、前記アクションデータ構造をサードパーティプロバイダデバイスに送信して、前記サードパーティプロバイダデバイスに会話アプリケーションプログラミングインタフェースを起動し、前記サードパーティプロバイダデバイスおよび前記クライアントデバイスの間の通信セッションを確立させ、
前記データ処理システムは、前記サードパーティプロバイダデバイスから、前記サードパーティプロバイダデバイスが前記通信セッションを前記クライアントデバイスと確立したとの指示を受信する、
システム。
【請求項２】
前記データ処理システムは、
メモリに格納されたデータベースから、前記トリガキーワードに基づいてテンプレートを選択し、
前記テンプレートに基づいて前記アクションデータ構造を生成する、
請求項１に記載のシステム。
【請求項３】
前記データ処理システムは、
前記トリガキーワードに基づいて前記サードパーティプロバイダを識別し、
メモリに格納されたデータベースから、前記サードパーティプロバイダに基づくテンプレートを選択し、
前記サードパーティプロバイダに対する前記テンプレートに基づいて前記アクションデータ構造を生成する、
請求項１に記載のシステム。
【請求項４】
前記データ処理システムは、
メモリに格納されたデータベースから、前記トリガキーワードに基づいてテンプレートを選択し、
前記テンプレート内のフィールドを識別し、
前記テンプレート内の前記フィールドに対応する値を前記クライアントコンピューティングデバイスから受信し、
前記テンプレート内の前記フィールドを前記クライアントコンピューティングデバイスから受信された前記値で埋めて、前記アクションデータ構造を生成する、
請求項１に記載のシステム。
【請求項５】
前記データ処理システムは、
メモリに格納されたデータベースから、前記トリガキーワードおよび前記サードパーティプロバイダのうち少なくとも１つに基づいてテンプレートを選択し、
前記テンプレート内のフィールドを識別し、
前記クライアントコンピューティングデバイスのセンサに、前記テンプレート内の前記フィールドに対応する値を要求し、
前記テンプレート内の前記フィールドを前記クライアントコンピューティングデバイスから受信された前記値で埋めて、前記アクションデータ構造を生成する、
請求項１に記載のシステム。
【請求項６】
前記センサは、全地球測位システムセンサおよび加速度計のうち少なくとも１つを含む、請求項５に記載のシステム。
【請求項７】
前記自然言語プロセッサにより識別された前記トリガキーワードを受信し、前記トリガキーワードに基づいて、リアルタイムコンテンツ選択プロセスを介してコンテンツ・アイテムを選択する、前記データ処理システムにより実行されるコンテンツセレクタコンポーネントを備える、請求項１に記載のシステム。
【請求項８】
前記自然言語プロセッサにより識別された前記トリガキーワードを受信し、前記トリガキーワードに基づいて、リアルタイムコンテンツ選択プロセスを介してコンテンツ・アイテムを選択する、前記データ処理システムにより実行されるコンテンツセレクタコンポーネントを備え、前記コンテンツ・アイテムは前記サードパーティプロバイダデバイスと異なるコンテンツプロバイダデバイスにより提供される、請求項１に記載のシステム。
【請求項９】
前記自然言語プロセッサにより識別された前記トリガキーワードを受信し、前記トリガキーワードに基づいて、リアルタイムコンテンツ選択プロセスを介してコンテンツ・アイテムを選択する、前記データ処理システムにより実行されるコンテンツセレクタコンポーネントを備え、前記コンテンツ・アイテムは前記サードパーティプロバイダデバイスと異なるコンテンツプロバイダにより提供され、前記コンテンツ・アイテムは前記アクションデータ構造のサービスのタイプと異なるサービスのタイプに対応する、請求項１に記載のシステム。
【請求項１０】
前記データ処理システムは、前記アクションデータ構造を前記サードパーティプロバイダデバイスに送信して、前記サードパーティプロバイダデバイスに、前記サードパーティプロバイダデバイスにより実行される前記会話アプリケーションプログラミングインタフェースを起動させる、請求項１に記載のシステム。
【請求項１１】
前記データ処理システムは、前記アクションデータ構造を前記サードパーティプロバイダデバイスに送信して、前記サードパーティプロバイダデバイスに、前記サードパーティプロバイダデバイスに対して構成され前記データ処理システムにより実行される前記会話アプリケーションプログラミングインタフェースを起動させ、前記データ処理システムは、前記クライアントコンピューティングデバイスおよび前記サードパーティプロバイダデバイスの間でデータパケットをルーティングして、前記通信セッションを確立する、請求項１に記載のシステム。
【請求項１２】
コンピュータネットワークを介してパケット化されたアクションをルーティングする方法であって、
データ処理システムにより実行される自然言語プロセッサコンポーネントにより、前記データ処理システムのインタフェースを介して、クライアントデバイスのセンサにより検出された入力オーディオ信号を含むデータパケットを受信するステップと、
前記自然言語プロセッサコンポーネントにより、前記入力オーディオ信号を解析して、要求および前記要求に対応するトリガキーワードを識別するステップと、
前記データ処理システムのダイレクト・アクション・アプリケーションプログラミングインタフェースにより、前記トリガキーワードに基づいて、前記要求に応答してアクションデータ構造を生成するステップと、
前記ダイレクト・アクション・アプリケーションプログラミングインタフェースにより、前記アクションデータ構造をサードパーティプロバイダデバイスに送信して、前記サードパーティプロバイダデバイスに会話アプリケーションプログラミングインタフェースを起動し、前記サードパーティプロバイダデバイスおよび前記クライアントデバイスの間の通信セッションを確立させるステップと、
前記データ処理システムにより、前記サードパーティプロバイダデバイスから、前記サードパーティプロバイダデバイスが前記通信セッションを前記クライアントデバイスと確立したとの指示を受信するステップと、
を含む、方法。
【請求項１３】
前記データ処理システムにより、メモリに格納されたデータベースから、前記トリガキーワードに基づいてテンプレートを選択するステップと、
前記データ処理システムにより、前記テンプレートに基づいて前記アクションデータ構造を生成するステップと、
を含む、請求項１２に記載の方法。
【請求項１４】
前記データ処理システムにより、前記トリガキーワードに基づいて前記サードパーティプロバイダを識別するステップと、
前記データ処理システムにより、メモリに格納されたデータベースから、前記サードパーティプロバイダに基づくテンプレートを選択するステップと、
前記データ処理システムにより、前記サードパーティプロバイダに対する前記テンプレートに基づいて前記アクションデータ構造を生成するステップと、
を含む、請求項１２に記載の方法。
【請求項１５】
前記データ処理システムにより、メモリに格納されたデータベースから、前記トリガキーワードに基づいてテンプレートを選択するステップと、
前記データ処理システムにより、前記テンプレート内のフィールドを識別するステップと、
前記データ処理システムにより、前記テンプレート内の前記フィールドに対応する値を前記クライアントコンピューティングデバイスから受信するステップと、
前記データ処理システムにより、前記テンプレート内の前記フィールドを前記クライアントコンピューティングデバイスから受信された前記値で埋めて、前記アクションデータ構造を生成するステップと、
を含む、請求項１２に記載の方法。
【請求項１６】
前記データ処理システムにより、メモリに格納されたデータベースから、前記トリガキーワードおよび前記サードパーティプロバイダのうち少なくとも１つに基づいてテンプレートを選択するステップと、
前記データ処理システムにより、前記テンプレート内のフィールドを識別するステップと、
前記データ処理システムにより、前記クライアントコンピューティングデバイスのセンサに、前記テンプレート内の前記フィールドに対応する値を要求するステップと、
前記データ処理システムにより、前記テンプレート内の前記フィールドを前記クライアントコンピューティングデバイスから受信された前記値で埋めて、前記アクションデータ構造を生成するステップと、
を含む、請求項１２に記載の方法。
【請求項１７】
前記センサは、全地球測位システムセンサおよび加速度計のうち少なくとも１つを含む、請求項１６に記載の方法。
【請求項１８】
前記データ処理システムにより実行されるコンテンツセレクタコンポーネントにより、前記自然言語プロセッサにより識別された前記トリガキーワードを受信し、前記トリガキーワードに基づいて、リアルタイムコンテンツ選択プロセスを介してコンテンツ・アイテムを選択するステップを含む、請求項１２に記載の方法。
【請求項１９】
前記データ処理システムにより実行されるコンテンツセレクタコンポーネントにより、前記自然言語プロセッサにより識別された前記トリガキーワードを受信し、前記トリガキーワードに基づいて、リアルタイムコンテンツ選択プロセスを介してコンテンツ・アイテムを選択するステップであって、前記コンテンツ・アイテムは前記サードパーティプロバイダデバイスと異なるコンテンツプロバイダデバイスにより提供される、ステップを含む、請求項１２に記載の方法。
【請求項２０】
前記データ処理システムにより、前記アクションデータ構造を前記サードパーティプロバイダデバイスに送信して、前記サードパーティプロバイダデバイスに、前記サードパーティプロバイダデバイスに対して構成され前記データ処理システムにより実行される前記会話アプリケーションプログラミングインタフェースを起動させるステップであって、前記データ処理システムは、前記クライアントコンピューティングデバイスおよび前記サードパーティプロバイダデバイスの間でデータパケットをルーティングして、前記通信セッションを確立する、ステップを含む、請求項１２に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
関連出願の相互参照
本願は、発明の名称を「オーディオ−ベースのデータ構造生成」とした２０１６年１２月３０日出願の米国特許出願番号第１５／３９５、６８９号の優先権の利益を主張し、本明細書に引用によりすべての目的で全体として取り込まれる。
【０００２】
コンピューティングデバイスの間のパケット・ベースのまたは、ネットワークトラフィックデータの過度なネットワーク送信は、コンピューティングデバイスが当該ネットワークトラフィックデータを正しく処理し、当該ネットワークトラフィックデータに関連する動作を完了し、または当該ネットワークトラフィックデータにタイムリーに応答することを不可能としうる。ネットワークトラフィックデータの当該過度なネットワーク送信はまた、応答するコンピューティングデバイスがその処理能力を上回る場合に、データのルーティングを複雑化しまたは当該応答の当該品質を劣化させうる、これは非効率的な帯域幅利用をもたらしうる。コンテンツ・アイテム・オブジェクトに対応するネットワーク送信の制御は、コンピューティングデバイスの間のネットワークトラフィックデータのネットワーク送信を開始しうる多数のコンテンツ・アイテム・オブジェクトにより複雑化されうる。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示は一般には、異種のコンピューティングリソース上の情報送信および処理の効率および有効性を高めることに関する。異種のコンピューティングリソースが音声ベースのコンピューティング環境においてオーディオベースの命令を効率的に処理し、一貫しておよび正確に解析するのは困難である。例えば、当該異種のコンピューティングリソースは、同一の音声モデルへのアクセスを有さないかもしれず、または当該オーディオベースの命令を解析するのを困難にしうる古いまたは非同期の音声モデルにアクセスするかもしれない。
【０００４】
本開示のシステムおよび方法は一般に、コンピュータネットワークを介してパケット化されたアクションをルーティングするデータ処理システムに関する。データ処理システムは、当該音声ベースの命令を解析しアクションデータ構造を生成するための集約された音声に基づいてトレーニングされた音声モデルを用いて、当該音声ベースの入力を処理することができる。データ処理システムは当該アクションデータ構造をデータ処理システムまたはサードパーティプロバイダデバイスの１つまたは複数のコンポーネントに送信でき、それにより当該サードパーティプロバイダデバイスは当該音声ベースの入力を処理する必要なしに当該アクションデータ構造を処理することができる。複数のサードパーティプロバイダデバイスに対する当該音声ベースの入力を処理することによって、データ処理システムは音声ベースの命令が処理され実施される信頼性、効率、および精度を高めることができる。
【０００５】
少なくとも１つの態様は、コンピュータネットワークを介してパケット化されたアクションをルーティングするためのシステムに関する。当該システムは、処理システムにより実行される自然言語プロセッサ（「ＮＬＰ」）コンポーネントデータを含むことができる。当該ＮＬＰコンポーネントは、データ処理システムのインタフェースを介して、クライアントデバイスのセンサにより検出された入力オーディオ信号を含むデータパケットを受信することができる。当該ＮＬＰコンポーネントは当該入力オーディオ信号を解析して、要求および当該要求に対応するトリガキーワードを識別することができる。データ処理システムはダイレクト・アクション・アプリケーションプログラミングインタフェース（「ＡＰＩ」）を含むことができる。当該ダイレクト・アクションＡＰＩは、当該トリガキーワードに基づいて、当該要求に応答してアクションデータ構造を生成することができる。当該ダイレクト・アクションＡＰＩは当該アクションデータ構造をサードパーティプロバイダデバイスに送信して、当該サードパーティプロバイダデバイスに会話アプリケーションプログラミングインタフェースを起動し、当該サードパーティプロバイダデバイスおよび当該クライアントデバイスの間の通信セッションを確立させることができる。データ処理システムは、当該サードパーティプロバイダデバイスから、当該サードパーティプロバイダデバイスが当該通信セッションを当該クライアントデバイスと確立したとの指示を受信することができる。
【０００６】
少なくとも１つの態様はコンピュータネットワークを介してパケット化されたアクションをルーティングする方法に関する。当該方法はデータ処理システムが、データ処理システムのインタフェースを介して、クライアントデバイスのセンサにより検出された入力オーディオ信号を含むデータパケットを受信するステップを含むことができる。当該方法は、データ処理システムが当該入力オーディオ信号を解析して、要求および当該要求に対応するトリガキーワードを識別するステップを含むことができる。当該方法は、データ処理システムが、当該トリガキーワードに基づいて、当該要求に応答してアクションデータ構造を生成するステップを含むことができる。当該方法は、データ処理システムが、当該アクションデータ構造をサードパーティプロバイダデバイスに送信して、当該サードパーティプロバイダデバイスに会話アプリケーションプログラミングインタフェースを起動し、当該サードパーティプロバイダデバイスおよび当該クライアントデバイスの間の通信セッションを確立させるステップを含むことができる。当該方法は、データ処理システムが、当該サードパーティプロバイダデバイスから、当該サードパーティプロバイダデバイスが当該通信セッションを当該クライアントデバイスと確立したとの指示を受信するステップを含むことができる。
【０００７】
これらのおよび他の態様および実装を以下で説明する。以上の情報および以下の詳細な説明は様々な態様および実装の例示的な例を含み、クレームした態様および実装の性質と特徴を理解するための概要またはフレームワークを提供する。当該図面は当該様々な態様および実装の例示とさらなる理解を提供し、本明細書に組み込まれ本明細書の一部を構成する。
【０００８】
添付図面は正しい縮尺で描かれていない。当該様々な図面における同じ参照番号および指定は同じ要素を示す。明確さの目的のため、全てのコンポーネントが全ての図面においてラベル付けされていないかもしれない。
【図面の簡単な説明】
【０００９】
【図１】コンピュータネットワークを介してパケット化されたアクションをルーティングするためのシステムの例示を示す図である。
【図２】コンピュータネットワークを介してパケット化されたアクションをルーティングするためのシステムの動作の例示を示す図である。
【図３】コンピュータネットワークを介してパケット化されたアクションをルーティングするためのシステムの動作の例示を示す図である。
【図４】コンピュータネットワークを介してパケット化されたアクションをルーティングする方法の例示を示す図である。
【図５】本明細書で説明し図示したシステムおよび方法の要素を実装するために使用できるコンピュータシステム向けの汎用アーキテクチャを示すブロック図である。
【発明を実施するための形態】
【００１０】
以下は、コンピュータネットワークを介してパケット化されたアクションをルーティングする方法、装置、およびシステムの実装に関連する様々な概念のより詳細な説明である。上で導入し以下でさらに詳細に説明する様々な概念を任意の多数の方法で実装してもよい。
【００１１】
本開示は一般に、異種のコンピューティングリソース上の情報送信および処理の効率および有効性を高めることに関する。異種のコンピューティングリソースが音声ベースのコンピューティング環境においてオーディオベースの命令を効率的に処理し、一貫しておよび正確に解析するのは困難である。例えば、当該異種のコンピューティングリソースは、同一の音声モデルへのアクセスを有さないかもしれず、または当該オーディオベースの命令を解析するのを困難にしうる古いまたは非同期の音声モデルにアクセスするかもしれない。
【００１２】
本開示のシステムおよび方法は一般に、コンピュータネットワークを介してパケット化されたアクションをルーティングするデータ処理システムに関する。データ処理システムは特に、当該音声ベースの命令を解析しアクションデータ構造を生成するための集約された音声に基づいてトレーニングされた音声モデルを用いて当該音声ベースの入力を処理することができる。データ処理システムは当該アクションデータ構造をデータ処理システムまたはサードパーティプロバイダデバイスの１つまたは複数のコンポーネントに送信でき、それにより当該サードパーティプロバイダデバイスは当該音声ベースの入力を処理する必要なしに当該アクションデータ構造を処理することができる。複数のサードパーティプロバイダデバイスに対する当該音声ベースの入力を処理することによって、データ処理システムは音声ベースの命令が処理され実施される信頼性、効率、および精度を高めることができる。
【００１３】
本発明は、エンド・ユーザからの音声ベースの命令を解析し、テンプレートを用いてアクションデータ構造を構築し、当該アクションデータ構造を対応するサードパーティプロバイダにルーティングすることで、リソース消費、プロセッサ利用、バッテリ消費、帯域幅利用、オーディオファイルのサイズ、またはスピーカにより消費される時間量を減らすことができる。
【００１４】
図１はコンピュータネットワークを介してパケット化されたアクションをルーティングするための例示的なシステム１００を示す。システム１００はコンテンツ選択インフラを含むことができる。システム１００はデータ処理システム１０２を含むことができる。データ処理システム１０２は、ネットワーク１０５を介して、コンテンツプロバイダコンピューティングデバイス１０６、サービスプロバイダコンピューティングデバイス１０８、またはクライアントコンピューティングデバイス１０４の１つまたは複数と通信することができる。ネットワーク１０５は、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、メトロポリタン・ネットワーク、または他の領域ネットワーク、イントラネット、衛星ネットワーク、および音声またはデータモバイル電話ネットワークのような他の通信ネットワークのようなコンピュータネットワークを含むことができる。ネットワーク１０５を、ラップトップ、デスクトップ、タブレット、携帯情報端末、スマートフォン、ポータブルコンピュータ、またはスピーカのような少なくとも１つのコンピューティングデバイス１０４に提供、出力、描画、または表示できる、ウェブページ、ウェブサイト、ドメイン名、またはユニフォーム・リソース・ロケータのような情報リソースにアクセスするために使用することができる。例えば、ネットワーク１０５を介してコンピューティングデバイス１０４のユーザは、サービスプロバイダ１０８またはコンテンツプロバイダ１０６により提供された情報またはデータにアクセスすることができる。コンピューティングデバイス１０４は、ディスプレイを含んでも含まなくてもよい。例えば、当該コンピューティングデバイスは、マイクロフォンおよびスピーカのような制限されたタイプのユーザインタフェースを含んでもよい。幾つかのケースでは、コンピューティングデバイス１０４の主要なユーザインタフェースはマイクロフォンおよびスピーカであってもよい。
【００１５】
ネットワーク１０５は、コンテンツ配置または検索エンジン結果システムに関連付けられるか、または、サードパーティコンテンツ・アイテムをコンテンツ・アイテム配置キャンペーンの一部として含む権利があるディスプレイネットワーク、例えば、インターネット上で利用可能な情報リソースのサブセットを含むかまたは構成することができる。ネットワーク１０５を、クライアントコンピューティングデバイス１０４により提供、出力、描画、または表示できるウェブページ、ウェブサイト、ドメイン名、またはユニフォーム・リソース・ロケータのような情報リソースにアクセスするために、データ処理システム１０２により使用することができる。例えば、ネットワーク１０５を介してクライアントコンピューティングデバイス１０４のユーザはコンテンツプロバイダコンピューティングデバイス１０６またはサービスプロバイダコンピューティングデバイス１０８により提供された情報またはデータにアクセスすることができる。
【００１６】
ネットワーク１０５は、任意のタイプまたは形態のネットワークであってもよく、ポイント・ツー・ポイントネットワーク、ブロードキャストネットワーク、広帯域ネットワーク、ローカル・エリア・ネットワーク、電気通信ネットワーク、データ通信ネットワーク、コンピュータネットワーク、ＡＴＭ（Asynchronous Transfer Mode）ネットワーク、ＳＯＮＥＴ（Synchronous Optical Network）ネットワーク、ＳＤＨ（Synchronous Digital Hierarchy）ネットワーク、ワイヤレスネットワークおよび有線ネットワークのうち何れかを含んでもよい。ネットワーク１０５は赤外線チャネルまたは衛星帯域のような無線リンクを含んでもよい。ネットワーク１０５のトポロジはバス、星形、またはリング・ネットワークトポロジを含んでもよい。当該ネットワークは、高度携帯電話プロトコル（「ＡＭＰＳ」）、時分割多重アクセス（「ＴＤＭＡ」）、符号分割多重アクセス（「ＣＤＭＡ」）、グローバル・システム・フォー・モバイル・コミュニケーション（「ＧＳＭ（登録商標）」）、汎用パケット無線サービス（「ＧＰＲＳ」）またはユニバーサル・モバイル電気通信システム（「ＵＭＴＳ」）を含む、モバイルデバイスの間で通信するために使用される任意の１つまたは複数のプロトコルを用いた携帯電話ネットワークを含んでもよい。様々なタイプのデータが異なるプロトコルを介して送信されてもよいか、または、同一のタイプのデータが異なるプロトコルを介して送信されてもよい。
【００１７】
システム１００は少なくとも１つのデータ処理システム１０２を含むことができる。データ処理システム１０２は、ネットワーク１０５を介して、例えばコンピューティングデバイス１０４、コンテンツプロバイダデバイス１０６（コンテンツプロバイダ１０６）、またはサービスプロバイダデバイス１０８（またはサービスプロバイダ１０８）と通信するためのプロセッサを有するコンピューティングデバイスのような少なくとも１つの論理デバイスを含むことができる。データ処理システム１０２は、少なくとも１つの計算リソース、サーバ、プロセッサまたはメモリを含むことができる。例えば、データ処理システム１０２は少なくとも１つのデータセンタに配置された複数の計算リソースまたはサーバを含むことができる。データ処理システム１０２は、複数の、論理的にグループ化されたサーバを含むことができ、分散コンピューティング技術を促進する。サーバの当該論理グループをデータセンタ、サーバ・ファームまたはマシン・ファームと称してもよい。当該サーバはまた、地理的に分散されることができる。データセンタまたはマシン・ファームを単一のエンティティとして管理してもよく、または当該マシン・ファームは複数のマシン・ファームを含むことができる。各マシン・ファーム内の当該サーバは不均一であることができる。即ち、当該サーバまたはマシンのうち１つまたは複数が１つまたは複数のタイプのオペレーティング・システムプラットフォームに従って動作することができる。
【００１８】
当該マシン・ファーム内のサーバ、関連付けられた記憶システムとともに高密度ラック・システムに格納でき、エンタープライズデータセンタに配置することができる。例えば、当該サーバをこのように統合することで当該システムのシステム管理可能性、データセキュリティ、当該物理セキュリティを高めることができ、高性能ネットワーク上にサーバおよび高性能記憶システムを配置することでシステム性能を高めることができる。サーバおよび記憶システムを含むデータ処理システム１０２コンポーネントの全部または一部の集約化、それらを高度なシステム管理ツールと組み合わせることで、サーバリソースのより効率的な利用が可能となり、これは電力および処理要件を節約し帯域幅利用を減らす。
【００１９】
システム１００は、少なくとも１つのサービスプロバイダデバイス１０８を含み、それにアクセスし、または対話することができる。サービスプロバイダデバイス１０８は、ネットワーク１０５を介して、例えばコンピューティングデバイス１０４、データ処理システム１０２、またはコンテンツプロバイダ１０６と通信するためのプロセッサを有するコンピューティングデバイスのような少なくとも１つの論理デバイスを含むことができる。サービスプロバイダデバイス１０８は、少なくとも１つの計算リソース、サーバ、プロセッサまたはメモリを含むことができる。例えば、サービスプロバイダデバイス１０８は少なくとも１つのデータセンタに配置された複数の計算リソースまたはサーバを含むことができる。サービスプロバイダデバイス１０８はデータ処理システム１０２の１つまたは複数のコンポーネントまたは機能を含むことができる。
【００２０】
コンテンツプロバイダコンピューティングデバイス１０６は、クライアントコンピューティングデバイス１０４により表示するためのオーディオベースのコンテンツ・アイテムを、オーディオ出力コンテンツ・アイテムとして提供することができる。当該コンテンツ・アイテムは「Would you like me to order you a taxi?」と述べる音声ベースのメッセージのような商品またはサービスの申し出を含むことができる。例えば、コンテンツプロバイダコンピューティングデバイス１５５は、音声ベースのクエリに応答してを提供できる一連のオーディオコンテンツ・アイテムを格納するためのメモリを含むことができる。コンテンツプロバイダコンピューティングデバイス１０６はまた、オーディオベースのコンテンツ・アイテム（または他のコンテンツ・アイテム）をデータ処理システム１０２に提供することができる。それらをデータリポジトリ１２４に格納することができる。データ処理システム１０２は当該オーディオコンテンツ・アイテムを選択し、当該オーディオコンテンツ・アイテムをクライアントコンピューティングデバイス１０４に提供する（または提供するようにコンテンツプロバイダコンピューティングデバイス１０４に指示する）ことができる。当該オーディオベースのコンテンツ・アイテムは、排他的にオーディオであることができ、または、テキスト、画像、またはビデオデータと組み合わせることができる。
【００２１】
サービスプロバイダデバイス１０８はインタフェースを含むことができ、または少なくとも１つのサービスプロバイダ自然言語プロセッサコンポーネント１４２およびサービスプロバイダインタフェース１４４と通信することができる。サービスプロバイダコンピューティングデバイス１０８は、少なくとも１つのサービスプロバイダ自然言語プロセッサ（ＮＬＰ）コンポーネント１４２および少なくとも１つのサービスプロバイダインタフェース１４４を含むことができる。サービスプロバイダＮＬＰコンポーネント１４２（またはサービスプロバイダコンピューティングデバイス１０８のダイレクト・アクションＡＰＩのような他のコンポーネント）は、クライアントコンピューティングデバイス１０４と（データ処理システムを介して１０２またはデータ処理システム１０２をバイパスして）関与して、クライアントコンピューティングデバイス１０４およびサービスプロバイダコンピューティングデバイス１０８の間の行き来するリアルタイム音声またはオーディオベースの会話（例えば、セッション）を生成することができる。サービスプロバイダＮＬＰ１４２はデータ処理システム１０２のＮＬＰコンポーネント１１２としての１つまたは複数の機能または特徴を含むことができる。例えば、サービスプロバイダインタフェース１４４はデータメッセージを受信し、または、データメッセージをデータ処理システム１０２のダイレクト・アクションＡＰＩ１１６に提供することができる。サービスプロバイダコンピューティングデバイス１０８およびコンテンツプロバイダコンピューティングデバイス１０６を同一のエンティティに関連付けることができる。例えば、コンテンツプロバイダコンピューティングデバイス１０６はカーシェア・サービスに対して利用可能なコンテンツ・アイテムを生成、格納、または作成でき、およびサービスプロバイダコンピューティングデバイス１０８はクライアントコンピューティングデバイス１０６とのセッションを確立してクライアントコンピューティングデバイス１０４のエンド・ユーザをピックアップするためのタクシーまたはカーシェアサービスの車の配送をアレンジすることができる。データ処理システム１０２、ダイレクト・アクションＡＰＩ１１６を介して、ＮＬＰコンポーネント１１２または他のコンポーネントはまた、当該クライアントコンピューティングデバイスとのセッションを確立し、サービスプロバイダコンピューティングデバイス１０４を含むかまたはバイパスして、例えばタクシーまたはカーシェアサービスの車の配送をアレンジすることができる。
【００２２】
コンピューティングデバイス１０４は、インタフェース、またはと通信する少なくとも１つのセンサ１３４、トランスデューサ１３６、オーディオドライバ１３８、またはプリプロセッサ１４０を含むことができる。センサ１３４は、例えば、周辺光センサ、近接性センサ、温度センサ、加速度計、ジャイロスコープ、動き検出器、ＧＰＳセンサ、位置センサ、マイクロフォン、またはタッチセンサを含むことができる。トランスデューサ１３６はスピーカまたはマイクロフォンを含むことができる。オーディオドライバ１３８はソフトウェアインタフェースをハードウェアトランスデューサ１３６にを提供することができる。当該オーディオドライバは、データ処理システム１０２によりを提供されたオーディオファイルまたは他の命令を実行して、対応する音波または音波を生成するようにトランスデューサ１３６を制御することができる。プリプロセッサ１４０を、キーワードを検出するし、当該キーワードに基づいてアクションを実施するように構成することができる。プリプロセッサ１４０は、１つまたは複数の用語をフィルタするか、または、当該用語を、さらなる処理のために当該用語をデータ処理システム１０２に送信する前に修正することができる。プリプロセッサ１４０はマイクロフォンにより検出されたアナログオーディオ信号をデジタルオーディオ信号に変換し、ネットワーク１０５を介して、当該デジタルオーディオ信号を運搬する１つまたは複数のデータパケットをデータ処理システム１０２に送信することができる。幾つかのケースでは、プリプロセッサ１４０は、かかる送信を実施するための命令を検出したことに応答して、当該入力オーディオ信号の一部または全部を運搬するデータパケットを送信することができる。当該命令は、例えば、当該入力オーディオ信号を含むデータパケットをデータ処理システム１０２に送信するためのトリガキーワードまたは他のキーワードまたは承認を含むことができる。
【００２３】
クライアントコンピューティングデバイス１０４を、（センサ１３４を介して）音声クエリをオーディオ入力としてクライアントコンピューティングデバイス１０４に入力するエンド・ユーザに関連付けることができる。当該エンド・ユーザは、データ処理システム１０２（またはコンテンツプロバイダコンピューティングデバイス１０６またはサービスプロバイダコンピューティングデバイス１０８）からクライアントコンピューティングデバイス１０４に提供し、トランスデューサ１３６（例えば、スピーカ）から出力供できるコンピュータ生成された音声の形でオーディオ出力を受信する。当該コンピュータ生成された音声は実際の人またはコンピュータ生成された言語からの記録を含むことができる。
【００２４】
データリポジトリ１２４は１つまたは複数のローカルまたは分散データベースを含むことができ、データベース管理システムを含むことができる。データリポジトリ１２４はコンピュータデータ記憶またはメモリを含むことができ、他のデータのうち１つまたは複数のパラメータ１２６、１つまたは複数のポリシ１２８、コンテンツデータ１３０、またはテンプレート１３２を格納することができる。パラメータ１２６、ポリシ１２８、およびテンプレート１３２は、音声ベースのセッションに関するルールクライアントコンピューティングデバイス１０４およびデータ処理システム１０２（またはサービスプロバイダコンピューティングデバイス１０８）の間ののような情報を含むことができる。コンテンツデータ１３０は、オーディオ出力に対するコンテンツ・アイテムまたは関連付けられたメタデータ、ならびにクライアントコンピューティングデバイス１０４との１つまたは複数の通信セッションの一部でありうる入力オーディオメッセージを含むことができる。
【００２５】
データ処理システム１０２は少なくとも１つの計算リソースまたはサーバを有するコンテンツ配置システムを含むことができる。データ処理システム１０２は、インタフェースを含むか、または少なくとも１つのインタフェース１１０と通信することができる。データ処理システム１０２はインタフェースを含むことができ、または少なくとも１つの自然言語プロセッサコンポーネント１１２と通信する。データ処理システム１０２はインタフェースを含むことができ、または少なくとも１つのダイレクト・アクション・アプリケーションプログラミングインタフェース（「ＡＰＩ」）１１６と通信する。データ処理システム１０２はインタフェースを含むことができ、または少なくとも１つのセッションハンドラ１１４と通信する。データ処理システム１０２はインタフェースを含むことができ、または少なくとも１つのコンテンツセレクタコンポーネント１１８と通信する。データ処理システム１０２はインタフェースを含むことができ、または少なくとも１つのオーディオ信号ジェネレータ１２２と通信する。データ処理システム１０２はインタフェースを含むことができ、または少なくとも１つのデータリポジトリ１２４と通信する。少なくとも１つのデータリポジトリ１２４は、１つまたは複数のデータ構造またはデータベースに、パラメータ１２６、ポリシ１２８、コンテンツデータ１３０、またはテンプレート１３２をを含むかまたは格納することができる。パラメータ１２６は、例えば、閾値、距離、時間間隔、期間、スコア、または重みを含むことができる。コンテンツデータ１３０は、例えば、コンテンツキャンペーン情報、コンテンツグループ、コンテンツ選択基準、コンテンツ・アイテム・オブジェクトまたはコンテンツプロバイダ１０６により提供されたまたはコンテンツ選択を促進するためにデータ処理システムにより取得または決定された他の情報を含むことができる。コンテンツデータ１３０は、例えば、コンテンツキャンペーンの履歴性能を含むことができる。
【００２６】
インタフェース１１０、自然言語プロセッサコンポーネント１１２、セッションハンドラ１１４、ダイレクト・アクションＡＰＩ１１６、コンテンツセレクタコンポーネント１１８、またはオーディオ信号ジェネレータコンポーネント１２２はそれぞれ、プログラム可能論理アレイエンジンのような少なくとも１つの処理ユニットまたは他の論理デバイス、または当該データベースリポジトリまたはデータベース１２４と通信するように構成されたモジュールを含むことができる。インタフェース１１０、自然言語プロセッサコンポーネント１１２、セッションハンドラ１１４、ダイレクト・アクションＡＰＩ１１６、コンテンツセレクタコンポーネント１１８、オーディオ信号ジェネレータコンポーネント１２２およびデータリポジトリ１２４は、別々のコンポーネント、単一のコンポーネント、またはデータ処理システム１０２の一部であることができる。システム１００およびそのコンポーネント、データ処理システムのような１０２、は１つまたは複数のプロセッサ、論理デバイス、または回路のようなハードウェア要素を含むことができる。
【００２７】
データ処理システム１０２は複数のコンピューティングデバイス１０４に関連付けられた匿名コンピュータネットワーク活動情報を取得することができる。コンピューティングデバイス１０４のユーザは、データ処理システム１０２を肯定的に認証してユーザのコンピューティングデバイス１０４に対応するネットワーク活動情報を取得することができる。例えば、データ処理システム１０２は１つまたは複数のタイプのネットワーク活動情報を取得することに対する同意に関してコンピューティングデバイス１０４の当該ユーザを促すことができる。コンピューティングデバイス１０４のユーザのアイデンティティは匿名のままであってもよく、コンピューティングデバイス１０４を、一意な識別子（例えば、データ処理システムまたは当該コンピューティングデバイスのユーザにより提供された当該コンピューティングデバイスのユーザの一意な識別子）に関連付けることができる。データ処理システムは各観測を対応する一意な識別子に関連付けることができる。
【００２８】
コンテンツプロバイダ１０６は電子コンテンツキャンペーンを確立することができる。当該電子コンテンツキャンペーンをコンテンツデータ１３０としてデータリポジトリ１２４に格納することができる。電子コンテンツキャンペーンは、共通のテーマに対応する１つまたは複数のコンテンツグループを指すことができる。コンテンツキャンペーンは、コンテンツグループ、コンテンツ・アイテムデータオブジェクト、およびコンテンツ選択基準を含む階層的データ構造を含むことができる。コンテンツキャンペーンを生成するために、コンテンツプロバイダ１０６は、当該コンテンツキャンペーンのキャンペーンレベルパラメータの値を指定することができる。当該キーャンペーンレベルパラメータは、例えば、キャンペーン名、コンテンツ・アイテム・オブジェクトを配置するための好適なコンテンツネットワーク、当該コンテンツキャンペーンに使用されるリソースの値、当該コンテンツキャンペーンの開始日と終了日、当該コンテンツキャンペーンの期間、コンテンツ・アイテム・オブジェクト配置のスケジュール、言語、地理的位置、コンテンツ・アイテム・オブジェクトを提供するコンピューティングデバイスのタイプを含むことができる。幾つかのケースでは、印象は、コンテンツ・アイテム・オブジェクトがそのソース（例えば、データ処理システム１０２またはコンテンツプロバイダ１０６）からフェッチされたときを指すことができ、計測可能である。幾つかのケースでは、クリック詐欺の可能性のため、ロボット活動をインプレッションとしてフィルタし除外することができる。したがって、幾つかのケースでは、インプレッションはブラウザからのページ要求へのＷｅｂサーバからの応答の測定値を指すことができる、当該ページ要求はロボット活動およびエラーコードからフィルタされ、コンピューティングデバイス１０４に表示するためのコンテンツ・アイテム・オブジェクトを描画する機会にできるだけ近いポイントで記録される。幾つかのケースでは、インプレッションは視聴可能または可聴なインプレッションを指すことができる。例えば、当該コンテンツ・アイテム・オブジェクトは、少なくとも部分的に（例えば、２０％、３０％、３０％、４０％、５０％、６０％、７０％、またはそれ以上）クライアントコンピューティングデバイス１０４のディスプレイデバイスで視聴可能、またはコンピューティングデバイス１０４のスピーカ１３６を介して可聴である。クリックまたは選択は、可聴インプレッションへの音声応答、マウス−クリック、タッチ対話、ジェスチャ、振動、オーディオ対話、またはキーボードクリックのような当該コンテンツ・アイテム・オブジェクトとのユーザ対話を指すことができる。変換は、ユーザが、当該コンテンツ・アイテム・オブジェクトに関して所望のアクションをとったこと、例えば、製品またはサービスの購入、調査の完了、当該コンテンツ・アイテムに対応する物理的な店の訪問、または電子トランザクションの完了を指すことができる。
【００２９】
コンテンツプロバイダ１０６はさらに、コンテンツキャンペーンに対する１つまたは複数のコンテンツグループを確立することができる。コンテンツグループは、１つまたは複数のコンテンツ・アイテム・オブジェクトおよびキーワード、単語、用語、フレーズ、地理的位置、コンピューティングデバイスのタイプ、日時、関心、トピック、または垂直線のような対応するコンテンツ選択基準を含む。同一のコンテンツキャンペーンのもとでのコンテンツグループは同一のキャンペーンレベルパラメータを共有できるが、キーワード、ネガティブなキーワード（例えば、メイン・コンテンツに対するネガティブなキーワードの存在下で当該コンテンツ・アイテムの配置をブロックする）、キーワードに対する入札、または当該入札またはコンテンツキャンペーンに関連付けられたパラメータのような特定のコンテンツグループレベルパラメータに関する仕様をカスタマイズしてもよい。
【００３０】
新たなコンテンツグループを生成するために、当該コンテンツプロバイダは、当該コンテンツグループのコンテンツグループレベルパラメータの値を提供することができる。当該コンテンツグループレベルパラメータは、例えば、コンテンツグループの名前またはコンテンツグループのテーマ、および異なるコンテンツ配置機会（例えば、自動配置または管理された配置）に対する入札または結果（例えば、クリック、インプレッション、または変換）を含む。コンテンツグループの名前またはコンテンツグループテーマはコンテンツプロバイダ１０６が当該コンテンツグループのどのコンテンツ・アイテム・オブジェクトが表示のために選択されるべきかに対するトピックまたは主題をキャプチャするために使用できる、１つまたは複数の用語であることができる。例えば、車ディーラーは、それが有する車のブランドごとに異なるコンテンツグループを生成でき、さらに、それが有する車のモデルごとに異なるコンテンツグループを生成してもよい。当該車ディーラーが使用できるコンテンツグループテーマの例には、例えば、「Make A sports car」、「Make B sports car」、「Make C sedan」、「Make C truck」、「Make C hybrid」、または「Make D hybrid」が含まれる。例コンテンツキャンペーンテーマは「ハイブリッド」であることができ、例えば「Make C hybrid」および「Make D hybrid」の両方に対するコンテンツグループを含む。
【００３１】
コンテンツプロバイダ１０６は、１つまたは複数のキーワードおよびコンテンツ・アイテム・オブジェクトを各コンテンツグループに提供することができる。キーワードは、当該コンテンツ・アイテム・オブジェクトに関連付けられるかまたは識別された製品またはサービスに関連する用語を含むことができる。キーワードは１つまたは複数の用語またはフレーズを含むことができる。例えば、当該車ディーラーはコンテンツグループまたはコンテンツキャンペーンのためのキーワードとして、「スポーツカー」、「Ｖ−６エンジン」、「四輪駆動」、「燃料効率」を含むことができる。幾つかのケースでは、ネガティブなキーワードを、特定の用語またはキーワードに対するコンテンツ配置を回避、防止、ブロック、または無効にするためにコンテンツプロバイダにより指定することができる。当該コンテンツプロバイダはコンテンツ・アイテム・オブジェクトを選択するために使用される厳密なマッチ、フレーズマッチ、または広義のマッチのようなマッチングのタイプを指定することができる。
【００３２】
コンテンツプロバイダ１０６は、コンテンツプロバイダ１０６により提供されたコンテンツ・アイテム・オブジェクトを選択するためにデータ処理システム１０２により使用される１つまたは複数のキーワードを提供することができる。コンテンツプロバイダ１０６は、入札する１つまたは複数のキーワードを識別でき、さらに様々なキーワードに対する入札量を提供することができる。コンテンツプロバイダ１０６は、コンテンツ・アイテム・オブジェクトを選択するためにデータ処理システム１０２により使用される追加のコンテンツ選択基準を提供することができる。複数のコンテンツプロバイダ１０６は同一のまたは異なるキーワードに入札でき、データ処理システム１０２は、電子メッセージのキーワードの指示を受信したことに応答して、コンテンツ選択プロセスまたは広告オークションを実行することができる。
【００３３】
コンテンツプロバイダ１０６は、データ処理システム１０２により選択するための１つまたは複数のコンテンツ・アイテム・オブジェクトを提供することができる。データ処理システム１０２は（例えば、コンテンツセレクタコンポーネント１１８を介して）リソース位置、コンテンツスケジュール、最大入札、キーワード、およびコンテンツグループに対して指定された他の選択基準にマッチするコンテンツ配置機会が利用可能になったとき、当該コンテンツ・アイテム・オブジェクトを選択することができる。様々なタイプのコンテンツ・アイテム・オブジェクトは、音声コンテンツ・アイテム、オーディオコンテンツ・アイテム、テキストコンテンツ・アイテム、画像コンテンツ・アイテム、ビデオコンテンツ・アイテム、マルチメディアコンテンツ・アイテム、またはコンテンツ・アイテムリンクのようなコンテンツグループに含まれることができる。コンテンツ・アイテムを選択すると、データ処理システム１０２は、コンピューティングデバイス１０４またはコンピューティングデバイス１０４のディスプレイデバイスに描画するための当該コンテンツ・アイテム・オブジェクトを送信することができる。描画は、当該コンテンツ・アイテムをディスプレイデバイスに表示すること、または当該コンピューティングデバイスのスピーカ１０４を介して当該コンテンツ・アイテムを再生することを含むことができる。データ処理システム１０２は、コンピューティングデバイス１０４への命令を当該コンテンツ・アイテムを描画するオブジェクトに提供することができる。データ処理システム１０２は、オーディオ信号または音波を生成するように、コンピューティングデバイス１０４、またはコンピューティングデバイス１０４のオーディオドライバ１３８に指示することができる。
【００３４】
データ処理システム１０２は例えば、データパケットを用いて情報を送受信するように設計され、構成され、構築され、または動作するインタフェースコンポーネント１１０を含むことができる。インタフェース１１０は、ネットワークプロトコルのような１つまたは複数のプロトコルを用いて情報を送受信することができる。インタフェース１１０は、ハードウェアインタフェース、ソフトウェアインタフェース、有線インタフェース、またはワイヤレスインタフェースを含むことができる。インタフェース１１０は、或るフォーマットから別のフォーマットへのデータ変換またはデータ・フォーマットを促進することができる。例えば、インタフェース１１０は、様々なコンポーネントの間で通信するための定義を含む、ソフトウェアコンポーネントのようなアプリケーションプログラミングインタフェースを含むことができる。
【００３５】
データ処理システム１０２は、入力オーディオ信号をデータ処理システム１０２のインタフェース１１０に送信し当該クライアントコンピューティングデバイスのコンポーネントを駆動して、出力オーディオ信号を描画するためのアプリのようなクライアントコンピューティングデバイス１０４にインストールされたアプリケーション、スクリプトまたはプログラムを含むことができる。データ処理システム１０２はオーディオ入力信号を含むかまたは識別するデータパケットまたは他の信号を受信することができる。例えば、データ処理システム１０２は、ＮＬＰコンポーネント１１２を実行して、当該オーディオ信号を受信または取得し、当該オーディオ信号を解析することができる。例えば、ＮＬＰコンポーネント１１２は人間とコンピュータの間の対話を提供することができる。ＮＬＰコンポーネント１１２を、自然言語を理解しデータ処理システム１０２が人間または自然言語入力から意味を導出するための技術で構成することができる。ＮＬＰコンポーネント１１２は、統計的機械学習のような機械学習に基づく技術を含むことができるかまたはそれで構成することができる。ＮＬＰコンポーネント１１２は、決定木、統計的モデル、または確率論的モデルを利用して当該入力オーディオ信号を解析することができる。ＮＬＰコンポーネント１１２は、例えば、名前付きエンティティ認識（例えば、テキストのストリームが与えられると、当該テキスト内のどのアイテムを人または場所のような正確な名前にマップするか、および人、位置、または組織のような、各かかる名前がどんなタイプかを判定する）、自然言語生成（例えば、コンピュータデータベースまたはセマンティックな意図からの情報を理解可能な人間言語に変換する）、自然言語理解（例えば、コンピュータモジュールが操作できる１次論理構造のようなより形式的な表現にテキストを変換する）、マシン変換（例えば、自動的に或る人間の言語から別の人間の言語にテキストを翻訳する）、形態学的セグメンテーション（例えば、単語を独立な形態素に分離し当該形態素のクラスを識別する。これは、考慮されている言語の単語の形態学または構造の複雑性に基づいて困難なものでありうる）、質問回答（例えば、人間言語質問への回答を決定する。これは、特定的または制約なしであることができる）、セマンティック処理（例えば、当該識別された単語を、同様な意味を有する他の単語に関連付けるために単語を識別しその意味を符号化した後に発生しうる処理）のような機能を実施することができる。
【００３６】
ＮＬＰコンポーネント１１２は、入力信号を（例えば、データリポジトリ１２４に）格納された、代表的な組のオーディオ波形に対して比較し最も近いマッチを選択することで、当該オーディオ入力信号を認識されたテキストに変換する。当該１組のオーディオ波形を、データ処理システム１０２にアクセス可能なデータリポジトリ１２４または他のデータベースに格納することができる。当該代表的な波形は大規模な１組のユーザにわたって生成され、次いで当該ユーザからの会話サンプルで補強してもよい。当該オーディオ信号を認識されたテキストに変換された後、ＮＬＰコンポーネント１１２は、当該テキストを、関連付けられた、例えばユーザにわたるトレーニングを介してまたはマニュアル仕様を通じて、データ処理システム１０２がサービス提供できるアクションに関連付けられた単語にマッチする。
【００３７】
当該オーディオ入力信号はクライアントコンピューティングデバイス１０４のセンサ１３４またはトランスデューサ１３６（例えば、マイクロフォン）により検出されることができる。トランスデューサ１３６、オーディオドライバ１３８、または他のコンポーネントを介して、クライアントコンピューティングデバイス１０４は当該オーディオ入力信号をデータ処理システム１０２に（例えば、ネットワーク１０５を介して）提供することができる。それを、（例えば、インタフェース１１０により）受信でき、ＮＬＰコンポーネント１１２に提供するかまたはデータリポジトリ１２４に格納することができる。
【００３８】
ＮＬＰコンポーネント１１２は当該入力オーディオ信号を取得することができる。当該入力オーディオ信号から、ＮＬＰコンポーネント１１２は、少なくとも１つの要求または当該要求に対応する少なくとも１つのトリガキーワードを識別することができる。当該要求は当該入力オーディオ信号の意図または主題を示すことができる。当該トリガキーワードは行われる可能性があるアクションのタイプを示すことができる。例えば、ＮＬＰコンポーネント１１２は当該入力オーディオ信号を解析して、夕方に家を出てディナーおよび映画に参加する少なくとも１つの要求を識別することができる。当該トリガキーワードは、取るべきアクションを示す少なくとも１つの単語、フレーズ、語源または部分語、または派生物を含むことができる。例えば、当該入力オーディオ信号からの当該トリガキーワード「go」または「to go to」は輸送に対する必要性を示すことができる。本例では、当該入力オーディオ信号（または当該識別された要求）は輸送の意図を直接表現しないが、しかし当該トリガキーワードは、輸送が当該要求により示される少なくとも１つの他のアクションに対する付属的アクションであることを示す。
【００３９】
ＮＬＰコンポーネント１１２は当該入力オーディオ信号を解析し、識別し、決定し、取り出し、または当該要求および当該トリガキーワードを取得することができる。例えば、ＮＬＰコンポーネント１１２は、セマンティック処理技術を当該入力オーディオ信号に適用して、当該トリガキーワードまたは当該要求を識別することができる。ＮＬＰコンポーネント１１２は、当該セマンティック処理技術を当該入力オーディオ信号に適用して、第１のトリガキーワードおよび第２のトリガキーワードのような１つまたは複数のトリガキーワードを含むトリガ・フレーズを識別することができる。例えば、当該入力オーディオ信号は「I need someone to do my laundry and my dry cleaning」という文章を含むことができる。ＮＬＰコンポーネント１１２は、セマンティック処理技術、または他の自然言語処理技術を当該文章を含むデータパケットに適用して、トリガ・フレーズ「do my laundry」および「do my dry cleaning」を識別することができる。ＮＬＰコンポーネント１１２はさらに、洗濯、およびドライ・クリーニングのような複数のトリガキーワードを識別することができる。例えば、ＮＬＰコンポーネント１１２は、当該トリガフレーズが当該トリガキーワードおよび第２のトリガキーワードを含むと判定することができる。
【００４０】
ＮＬＰコンポーネント１１２は、フィルタ当該入力オーディオ信号をフィルタして当該トリガキーワードを識別することができる。例えば、当該入力オーディオ信号を運搬するデータパケットは「It would be great if I could get someone that could help me go to the airport」を含むことができる、この場合ＮＬＰコンポーネント１１２は、「it」、「would」、「be」、「great」、「if」、「I」、「could」、「get」、「someone」、「that」、「could」、または「help」といった１つまたは複数の用語をフィルタして除去することができる。これらの用語をフィルタして除去することで、ＮＬＰコンポーネント１１２は、「go to the airport」のようなトリガキーワードをより正確におよび信頼性高く識別し、これがタクシーまたは乗車共有サービスの要求であると判定することができる。
【００４１】
幾つかのケースでは、当該ＮＬＰコンポーネントは、当該入力オーディオ信号を運搬するデータパケットが１つまたは複数の要求を含むと判定することができる。例えば、当該入力オーディオ信号は「I need someone to do my laundry and my dry cleaning」という文章を含むことができる。ＮＬＰコンポーネント１１２はこれが洗濯サービスおよびドライ・クリーニングサービスの要求であると判定することができる。ＮＬＰコンポーネント１１２は、これが、洗濯サービスおよびドライ・クリーニングサービスの両方を提供できるサービスプロバイダに対する単一の要求であると判定することができる。ＮＬＰコンポーネント１１２は、これが２つの要求、即ち、洗濯サービスを実施するサービスプロバイダに対する第１の要求、およびドライ・クリーニングサービスを提供するサービスプロバイダに対する第２の要求であると判定することができる。幾つかのケースでは、ＮＬＰコンポーネント１１２は、当該複数の決定された要求を単一の要求に結合し、当該単一の要求をサービスプロバイダデバイス１０８に送信することができる。幾つかのケースでは、ＮＬＰコンポーネント１１２は独立な要求を各サービスプロバイダデバイス１０８に送信するか、または別々に両方の要求を同一のサービスプロバイダデバイス１０８に送信することができる。
【００４２】
データ処理システム１０２は、当該トリガキーワードに基づいて、当該要求に応答してアクションデータ構造を生成するように設計され構成されたダイレクト・アクションＡＰＩ１１６を含むことができる。データ処理システム１０２のプロセッサは、ダイレクト・アクションＡＰＩ１１６を起動して、カーシェアサービスからの車のようなサービスまたは製品を要求または注文するためのサービスプロバイダデバイス１０８に対するデータ構造を生成するスクリプトを実行することができる。ダイレクト・アクションＡＰＩ１１６はデータをデータリポジトリ１２４から取得でき、ならびにエンド・ユーザの同意によりクライアントコンピューティングデバイス１０４から受信されたデータを取得して、サービスプロバイダデバイス１０８がカーシェアサービスからの車の予約のような動作を実施できるようにするための位置、時間、ユーザアカウント、物流または他の情報を決定することができる。ダイレクト・アクションＡＰＩ１１６を用いて、データ処理システム１０２はまた、サービスプロバイダデバイス１０８と通信して、この例ではカーシェアのピックアップ予約を行うことによって当該変換を完了することができる。
【００４３】
ダイレクト・アクションＡＰＩ１１６はデータ処理システム１０２により決定されるように、指定されたアクションを実行してエンド・ユーザの意図を満たすことができる。その入力で指定された当該アクションに依存して、ダイレクト・アクションＡＰＩ１１６は、ユーザ要求を満たすのに必要なパラメータを識別するコードまたはダイアログスクリプトを実行することができる。かかるコードは、例えば、ホーム・オートメーションサービスの名前のようなデータリポジトリ１２４内の追加の情報を検索でき、またはエンド・ユーザに要求されたタクシーの意図した宛先のような質問をするために、クライアントコンピューティングデバイス１０４で描画するためのオーディオ出力を提供することができる。ダイレクト・アクションＡＰＩ１１６は必要なパラメータを決定し、当該情報をアクションデータ構造にパッケージ化することができる。当該アクションデータ構造を次いで、サービスプロバイダコンピューティングデバイス１０８のような別のコンポーネントまたは満たすべきコンテンツセレクタコンポーネント１１８に送信することができる。
【００４４】
ダイレクト・アクションＡＰＩ１１６は当該アクションデータ構造を生成または構築するための命令またはコマンドを、ＮＬＰコンポーネント１１２、またはデータ処理システム１０２の他のコンポーネントから受信することができる。ダイレクト・アクションＡＰＩ１１６はデータリポジトリ１２４に格納されたテンプレートリポジトリ１３２からテンプレートを選択するためのアクションのタイプを決定することができる。アクションのタイプは、例えば、サービス、製品、予約、またはチケットを含むことができる。アクションのタイプはさらに、サービスまたは製品のタイプを含むことができる。例えば、サービスのタイプは、カーシェアサービス、フード・デリバリーサービス、洗濯サービス、メイドサービス、修理サービス、または家庭サービスを含むことができる。製品のタイプは、例えば、衣服、靴、おもちゃ、電子、コンピュータ、ブック、または宝石を含むことができる。予約のタイプは、例えば、ディナー予約またはヘアサロンの予約を含むことができる。チケットのタイプは、例えば、映画チケット、競技場チケット、または飛行機チケットを含むことができる。幾つかのケースでは、サービス、製品、予約またはチケットのタイプを、価格、位置、発送、可用性、または他の属性のタイプに基づいて分類することができる。
【００４５】
ダイレクト・アクションＡＰＩ１１６は、要求のタイプを識別すると、対応するテンプレートにテンプレートリポジトリ１３２からアクセスすることができる。テンプレートは、（エンド・ユーザをピックアップ位置でピックアップしてエンド・ユーザを宛先位置に輸送するためにタクシーを回す動作のような）サービスプロバイダデバイス１０８に要求されたさらなる動作にダイレクト・アクションＡＰＩ１１６により埋めることができる構造化データ・セット内のフィールドを含むことができる。ダイレクト・アクションＡＰＩ１１６は、テンプレートリポジトリ１３２内で検索を実施して、当該トリガキーワードおよび要求の１つまたは複数の特性にマッチするテンプレートを選択することでができる。例えば、当該要求が宛先への車または乗車の要求に対応する場合、データ処理システム１０２はカーシェア・サービステンプレートを選択することができる。カーシェア・サービステンプレートは、以下のフィールド、即ち、デバイス識別子、ピックアップ位置、宛先位置、乗客の数、またはサービスのタイプのうち１つまたは複数を含むことができる。ダイレクト・アクションＡＰＩ１１６は当該フィールドを値で埋めることができる。当該フィールドを値で埋めるために、ダイレクト・アクションＡＰＩ１１６は、コンピューティングデバイス１０４の１つまたは複数のセンサ１３４またはデバイス１０４のユーザインタフェースをピングし、そこから情報をポーリングまたは取得することができる。例えば、ダイレクト・アクションＡＰＩ１１６は、ＧＰＳセンサのような位置センサを用いて当該ソース位置を検出することができる。ダイレクト・アクションＡＰＩ１１６は、コンピューティングデバイス１０４のエンドユーザに調査、プロンプト、またはクエリを送信することで、さらなる情報を取得することができる。当該ダイレクト・アクションＡＰＩは、データ処理システム１０２のインタフェース１１０およびコンピューティングデバイス１０４のユーザインタフェース（例えば、オーディオインタフェース、音声ベースのユーザインタフェース、ディスプレイ、またはタッチ・スクリーン）を介して、調査、プロンプト、またはクエリを送信することができる。したがって、ダイレクト・アクションＡＰＩ１１６は、当該トリガキーワードまたは当該要求に基づいて当該アクションデータ構造に対するテンプレートを選択し、１つまたは複数のセンサ１３４により検出されたまたはユーザインタフェースを介して取得された情報で当該テンプレート内の１つまたは複数のフィールドを埋め、サービスプロバイダデバイス１０８による動作の実施を促進するための当該アクションデータ構造を生成、作成、または構築することができる。
【００４６】
データ処理システム１０２は当該テンプレートをテンプレートデータ構造１３２から、例えば、当該トリガキーワード、要求、サードパーティプロバイダデバイス１０８、サードパーティプロバイダデバイス１０８のタイプ、サードパーティプロバイダデバイス１０８が入るカテゴリ（例えば、タクシーサービス、洗濯サービス、フラワー・サービス、またはフード・デリバリー）、位置、または他のセンサ情報を含む様々な因子のうち１つまたは複数に基づいて選択することができる。
【００４７】
当該トリガキーワードに基づいて当該テンプレートを選択するために、データ処理システム１０２は（例えば、ダイレクト・アクションＡＰＩ１１６を介して）当該トリガキーワードを用いて検索または他のクエリ動作をテンプレートデータベース１３２に実施して、当該トリガキーワードにマップまたは対応するテンプレートデータ構造を識別することができる。例えば、テンプレートデータベース１３２内の各テンプレートを、当該テンプレートが、通信セッションを確立するためにサードパーティプロバイダデバイス１０８が処理できるトリガキーワードに応答してアクションデータ構造を生成するように構成されることを示すための１つまたは複数のトリガキーワードに関連付けることができる。
【００４８】
幾つかのケースでは、データ処理システム１０２は、当該トリガキーワードに基づいてサードパーティプロバイダデバイス１０８を識別することができる。当該トリガキーワードに基づいてサードパーティプロバイダ１０８を識別するために、データ処理システム１０２は、データリポジトリ１２４内で検索を実施して、当該トリガキーワードにマップするサードパーティプロバイダデバイス１０８を識別することができる。例えば、当該トリガキーワードが「ride」または「to go to」を含む場合、データ処理システム１０２は、（例えば、ダイレクト・アクションＡＰＩ１１６を介して）サードパーティプロバイダデバイス１０８をタクシーサービス会社Ａに対応するとして識別することができる。データ処理システム１０２は、サードパーティプロバイダデバイス１０８を用いて当該テンプレートをテンプレートデータベース１３２から選択することができる。例えば、テンプレートデータベース１３２は、通信セッションを確立するためにサードパーティプロバイダデバイス１０８が処理できる当該トリガキーワードに応答してアクションデータ構造を生成するように構成されたサードパーティプロバイダデバイス１０８またはエンティティの間のテンプレートに対するマッピングまたは相関関係を含むことができる。幾つかのケースでは、当該テンプレートを、サードパーティプロバイダデバイス１０８に対して、またはサードパーティプロバイダデバイス１０８のカテゴリに関してカスタマイズすることができる。データ処理システム１０２は、サードパーティプロバイダ１０８に対するテンプレートに基づいて当該アクションデータ構造を生成することができる。
【００４９】
当該アクションデータ構造を構築または生成するために、データ処理システム１０２は、値で埋めるべき当該選択されたテンプレート内の１つまたは複数のフィールドを識別することができる。当該フィールドを、数値、文字列、ユニコード値、ブール論理、二進値、１６進値、識別子、位置座標、地理的領域、タイムスタンプ、または他の値で埋めることができる。当該フィールドまたは当該データ構造自体を、データセキュリティを維持するために、暗号化またはマスクすることができる。
【００５０】
当該テンプレート内のフィールドを決定すると、データ処理システム１０２は、当該テンプレートのフィールドを埋めるための当該フィールドに対する値を識別して、当該アクションデータ構造を生成することができる。データ処理システム１０２は、検索または他のクエリ動作をデータリポジトリ１２４に実施することで、当該フィールドに対する値を取得し、取り出し、決定し、または識別することができる。
【００５１】
幾つかのケースでは、データ処理システム１０２は当該フィールドに対する情報または値がデータリポジトリ１２４にないと判定することができる。データ処理システム１０２は、データリポジトリ１２４に格納された当該情報または値が古い、陳腐であるか、またはトリガキーワードおよび要求に応答してＮＬＰコンポーネント１１２により識別されたアクションデータ構造を構築する目的に適していないと判定することができる（例えば、クライアントコンピューティングデバイス１０４の位置が古い位置であり現在の位置でないかもしれないこと、アカウントが切れているかもしれないこと、当該宛先レストランが新たな位置に移動しているかもしれないこと、物理活動情報、または輸送のモード）。
【００５２】
データ処理システム１０２が、データ処理システム１０２のメモリ内で、当該テンプレートのフィールドに対する値または情報に対するアクセスを現在有さないと判定した場合、データ処理システム１０２は当該値または情報を取得することができる。データ処理システム１０２は、クライアントコンピューティングデバイス１０４の１つまたは複数の利用可能なセンサを問い合わせまたはポーリングし、クライアントコンピューティングデバイス１０４のエンド・ユーザに情報を促し、またはＨＴＴＰプロトコルを用いてオンラインのｗｅｂベースのリソースにアクセスすることによって、当該情報を取得することができるまたは取得する。例えば、データ処理システム１０２は、それがクライアントコンピューティングデバイス１０４の現在の位置を有さないと判定でき、現在の位置は当該テンプレートの必要とされるフィールドであってもよい。データ処理システム１０２は、クライアントコンピューティングデバイス１０４に位置情報を問い合わせることができる。データ処理システム１０２は、全地球測位システムセンサ、ＷＩＦＩ三角測量、携帯電波塔三角測量、Bluetooth（登録商標）ビーコン、ＩＰアドレス、または他の位置検知技術のような１つまたは複数の位置センサ１３４を用いて当該位置情報を提供するように、クライアントコンピューティングデバイス１０４に要求することができる。
【００５３】
ダイレクト・アクションＡＰＩ１１６は、当該アクションデータ構造をサードパーティプロバイダデバイス（例えば、サービスプロバイダデバイス１０８）に送信して、サードパーティプロバイダデバイス１０８に、会話アプリケーションプログラミングインタフェース（例えば、サービスプロバイダＮＬＰコンポーネント１４２）を起動させ、サードパーティプロバイダデバイス１０８およびクライアントコンピューティングデバイス１０４の間の通信セッションを確立させることができる。サービスプロバイダデバイス１０８およびクライアントコンピューティングデバイス１００４の間の通信セッションを確立したことに応答して、サービスプロバイダデバイス１０８は、データパケットをクライアントコンピューティングデバイス１０４にネットワーク１０５を介して直接に送信することができる。幾つかのケースでは、サービスプロバイダデバイス１０８は、データ処理システム１０２およびネットワーク１０５を介して、データパケットをクライアントコンピューティングデバイス１０４に送信することができる。
【００５４】
幾つかのケースでは、サードパーティプロバイダデバイス１０８は会話ＡＰＩ１４２の少なくとも一部を実行することができる。例えば、サードパーティプロバイダデバイス１０８は、当該通信セッションの特定の態様またはクエリのタイプを扱うことができる。サードパーティプロバイダデバイス１０８は、データ処理システム１０２により実行されるＮＬＰコンポーネント１１２を利用して、当該通信セッションに関連付けられたオーディオ信号の処理およびクエリに対する応答の生成を促進してもよい。幾つかのケースでは、データ処理システム１０２はサードパーティプロバイダ１０８に構成された会話ＡＰＩ１４２を含むことができる。幾つかのケースでは、データ処理システムは、当該クライアントコンピューティングデバイスおよび当該サードパーティプロバイダデバイスの間でデータパケットをルーティングして、当該通信セッションを確立する。データ処理システム１０２は、サードパーティプロバイダデバイス１０８から、当該サードパーティプロバイダデバイスがクライアントデバイス１０４との通信セッションを確立したとの指示を受信することができる。当該指示は、クライアントコンピューティングデバイス１０４の識別子、当該通信セッションが確立されたときに対応するタイムスタンプ、または当該通信セッションに関連付けられたアクションデータ構造のような当該通信セッションに関連付けられた他の情報を含むことができる。
【００５５】
幾つかのケースでは、会話ＡＰＩは、第１のＮＬＰ１１２の１つまたは複数のコンポーネントまたは機能を含む第２のＮＬＰであることができる。第２のＮＬＰ１４２は第１のＮＬＰ１１２と対話またはそれを利用することができる。幾つかのケースでは、システム１００は、データ処理システム１０２により実行される単一のＮＬＰ１１２を含むことができる。単一のＮＬＰ１１２はデータ処理システム１０２およびサードパーティサービスプロバイダデバイス１０８の両方をサポートすることができる。幾つかのケースでは、ダイレクト・アクションＡＰＩ１１６は、サービスの実施を促進するためのアクションデータ構造を生成または構築し、会話ＡＰＩは、さらにエンド・ユーザとの通信セッションへの応答またはクエリを生成し、または当該サービスのエンド・ユーザのエクスペリエンスまたは性能を実装または改善するための追加の情報を取得する。
【００５６】
データ処理システム１０２は、クライアントデバイス１０４およびデータ処理システム１０２の間の通信セッションを確立するために、セッションハンドラコンポーネント１１４を包含し、実行し、アクセスし、または通信することができる。当該通信セッションは、クライアントデバイス１０４のセンサ１３４により検出された入力オーディオ信号、およびデータ処理システム１０２によりクライアントデバイス１０４に送信された出力信号を含むクライアントデバイス１０４およびデータ処理システム１０２の間の１つまたは複数のデータ送信を指すことができる。データ処理システム１０２は、当該入力オーディオ信号を受信したことに応答して、（例えば、セッションハンドラコンポーネント１１４を介して）当該通信セッションを確立することができる。データ処理システム１０２は当該通信セッションに対する期間を設定することができる。データ処理システム１０２は当該通信セッションに対して設定された期間に対してタイマまたはカウンタを設定することができる。当該タイマの期限切れに応答して、データ処理システム１０２は当該通信セッションを終了することができる。
【００５７】
当該通信セッションは、クライアントデバイス１０４が当該セッションを確立するための認証情報または証明書を提供するネットワークベースの通信セッションを指すことができる。幾つかのケースでは、当該通信セッションは、当該セッション中にデータパケットにより運搬されるオーディオ信号のトピックまたはコンテキストを指す。例えば、第１の通信セッションはタクシーサービスに関連する（例えば、キーワード、アクションデータ構造、またはコンテンツ・アイテム・オブジェクトを含む）クライアントデバイス１０４およびデータ処理システム１０２の間で送信されたオーディオ信号を指すことができ、第２の通信セッションは洗濯およびドライ・クリーニングサービスに関連するクライアントデバイス１０４およびデータ処理システム１０２の間で送信されたオーディオ信号を指すことができる。本例では、データ処理システム１０２は当該オーディオ信号のコンテキストが異なると（例えば、ＮＬＰコンポーネント１１２を介して）判定し、当該２つの組のオーディオ信号を異なる通信セッションに分離することができる。セッションハンドラ１１４は、当該ドライ・クリーニングおよび洗濯サービスに関連する１つまたは複数のオーディオ信号を識別したことに応答して乗車サービスに関連する第１のセッションを終了することができる。したがって、データ処理システム１０２は、当該オーディオ信号のコンテキストを検出したことに応答してドライ・クリーニングおよび洗濯サービスに関連するオーディオ信号に対する第２のセッションを開始または確立することができる。
【００５８】
データ処理システム１０２は自然言語プロセッサにより識別されたトリガキーワードを受信し、当該トリガキーワードに基づいて、リアルタイムコンテンツ選択プロセスを介してコンテンツ・アイテムを選択するためにコンテンツセレクタコンポーネント１１８を包含、実行、または通信することができる。当該コンテンツ選択プロセスは、サードパーティコンテンツプロバイダ１０６により提供されたスポンサーされたコンテンツ・アイテム・オブジェクトを選択するステップを指すかまたは含むことができる。当該リアルタイムコンテンツ選択プロセスは、複数のコンテンツプロバイダにより提供されたコンテンツ・アイテムを解析し、処理し、重み付けし、またはマッチして、コンピューティングデバイス１０４に提供するための１つまたは複数のコンテンツ・アイテムを選択するサービスを含むことができる。コンテンツセレクタコンポーネント１１８は当該コンテンツ選択プロセスをリアルタイムに実施することができる。当該コンテンツ選択プロセスをリアルタイムに実施することは、当該コンテンツ要求がクライアントコンピューティングデバイス１０４を介して受信されたことに応答して当該コンテンツ選択プロセスを実施するステップを指すことができる。当該リアルタイムコンテンツ選択プロセスを、当該要求を受信する時間間隔（例えば、５秒、１０秒、２０秒、３０秒、１分、２分、３分、５分、１０分、または２０分）内に実施（例えば、開始または完了）することができる。当該リアルタイムコンテンツ選択プロセスを、クライアントコンピューティングデバイス１０４との通信セッション中に、または、当該通信セッションが終了した後のある時間間隔内に、実施することができる。
【００５９】
例えば、データ処理システム１０２は、コンテンツ・アイテム・オブジェクトを選択するように設計、構築、構成、または動作可能なコンテンツセレクタコンポーネント１１８を含むことができる。音声ベースの環境内で表示するためのコンテンツ・アイテムを選択するために、データ処理システム１０２は（例えば、ＮＬＰコンポーネント１１２を介して）当該入力オーディオ信号を解析して、キーワード（例えば、トリガキーワード）を識別し、当該キーワードを使用して広いマッチ、厳密なマッチ、またはフレーズマッチに基づいてマッチングコンテンツ・アイテムを選択することができる。例えば、コンテンツセレクタコンポーネント１１８は候補コンテンツ・アイテムの主題を分析、解析、または処理して、当該候補コンテンツ・アイテムの主題が、クライアントコンピューティングデバイス１０４のマイクロフォンにより検出された当該入力オーディオ信号のキーワードまたはフレーズの主題に対応するかどうかを判定することができる。コンテンツセレクタコンポーネント１１８は、画像処理技術、文字認識技術、自然言語処理技術、またはデータベース検索を用いて、音声、オーディオ、候補コンテンツ・アイテムの用語、文字、テキスト、記号、または画像を識別、分析、または認識してもよい。当該候補コンテンツ・アイテムは当該候補コンテンツ・アイテムの主題を示すメタデータを含んでもよく、この場合コンテンツセレクタコンポーネント１１８は当該メタデータを処理して、当該候補コンテンツ・アイテムの主題が当該入力オーディオ信号に対応するかどうかを判定してもよい。
【００６０】
コンテンツプロバイダ１０６は、コンテンツ・アイテムを含むコンテンツキャンペーンをセットアップするときに、追加のインジケータを提供してもよい。コンテンツプロバイダ１０６は、コンテンツセレクタコンポーネント１１８が当該候補コンテンツ・アイテムに関する情報を用いて検索を実施することで識別しうる情報を当該コンテンツキャンペーンまたはコンテンツグループレベルで提供してもよい。例えば、当該候補コンテンツ・アイテムは一意な識別子を含んでもよく、当該一意な識別子を、コンテンツグループ、コンテンツキャンペーン、またはコンテンツプロバイダにマップしてもよい。コンテンツセレクタコンポーネント１１８は、データリポジトリ１２４内のコンテンツキャンペーンデータ構造に格納された情報に基づいて、コンテンツプロバイダ１０６に関する情報を決定してもよい。
【００６１】
データ処理システム１０２は、コンピュータネットワークを介して、コンピューティングデバイス１０４で提示するためのコンテンツに対する要求を受信することができる。データ処理システム１０２は、クライアントコンピューティングデバイス１０４のマイクロフォンにより検出された入力オーディオ信号を処理することによって当該要求を識別することができる。当該要求は、当該要求に関連付けられたデバイスのタイプ、位置、およびキーワードのような当該要求の選択基準を含むことができる。当該要求はアクションデータ構造を含むことができる。
【００６２】
当該要求に応答して、データ処理システム１０２は、コンテンツ・アイテム・オブジェクトをデータリポジトリ１２４またはコンテンツプロバイダ１０６に関連付けられたデータベースから選択し、ネットワーク１０５を介してコンピューティングデバイス１０４を介して提供するために当該コンテンツ・アイテムを提供することができる。当該コンテンツ・アイテム・オブジェクトを、サービスプロバイダデバイス１０８と異なるコンテンツプロバイダデバイス１０８により提供することができる。当該コンテンツ・アイテムは、当該アクションデータ構造のサービスのタイプと異なるサービスのタイプ（例えば、タクシーサービス対フード・デリバリーサービス）に対応することができる。コンピューティングデバイス１０４は当該コンテンツ・アイテム・オブジェクトと対話することができる。コンピューティングデバイス１０４は当該コンテンツ・アイテムへのオーディオ応答を受信することができる。コンピューティングデバイス１０４は、コンピューティングデバイス１０４に、サービスプロバイダ１０８を識別し、サービスプロバイダ１０８にサービスを要求し、サービスを実施し、情報をサービスプロバイダ１０８に送信し、またはサービスプロバイダデバイス１０８を問い合わせるようにサービスプロバイダ１０８に指示させるかまたはそれを可能とする、当該コンテンツ・アイテム・オブジェクトに関連付けられたハイパーリンクまたは他のボタンを選択するための指示を受信することができる。
【００６３】
データ処理システム１０２は、出力信号を生成するためのオーディオ信号ジェネレータコンポーネント１２２を包含し、実行し、または通信する。当該出力信号は１つまたは複数の部分を含むことができる。例えば、当該出力信号は第１の部分および第２の部分を含むことができる。当該出力信号の第１の部分は当該アクションデータ構造に対応することができる。当該出力信号の第２の部分は、当該リアルタイムコンテンツ選択プロセス中にコンテンツセレクタコンポーネント１１８により選択されたコンテンツ・アイテムに対応することができる。
【００６４】
オーディオ信号ジェネレータコンポーネント１２２は、第１のデータ構造に対応する音を有する第１の部分で当該出力信号を生成することができる。例えば、オーディオ信号ジェネレータコンポーネント１２２は、ダイレクト・アクションＡＰＩ１１６によりアクションデータ構造のフィールドに埋められた１つまたは複数の値に基づいて当該出力信号の第１の部分を生成することができる。タクシーサービスの例では、当該フィールドに対する値は、例えば、ピックアップ位置に対する123 Main Street、宛先位置に対する1234 Main Street、乗客の数に関して２、およびサービスのレベルに関してエコノミーを含むことができる。オーディオ信号ジェネレータコンポーネント１２２は、コンピューティングデバイス１０４のエンド・ユーザがサービスプロバイダ１０８へ要求を送信することについて先に進みたいことを確認するために、当該出力信号の第１の部分を生成することができる。第１の部分は、以下の出力「Would you like to order an economy car from taxi Service Provider A to pick two people up at 123 Main Street and drop off at 1234 Main Street?」を含むことができる
【００６５】
幾つかのケースでは、第１の部分は、サービスプロバイダデバイス１０８から受信された情報を含むことができる。サービスプロバイダデバイス１０８から受信された当該情報を、アクションデータ構造に対してカスタマイズすることができる。例えば、データ処理システム１０２は（例えば、ダイレクト・アクションＡＰＩ１１６を介して）動作を実施するようにサービスプロバイダ１０８に指示する前に、当該アクションデータ構造をサービスプロバイダ１０８に送信することができる。その代わり、データ処理システム１０２はサービスプロバイダデバイス１０８に、初期または予備的処理を当該アクションデータ構造に実施して当該動作に関する予備的情報を生成するように指示することができる。タクシーサービスの例において、当該アクションデータ構造に対する当該予備的処理は、ピックアップ位置の周囲に配置されたサービス要件のレベルを満たす利用可能なタクシーを識別するステップと、最も近い利用可能なタクシーが当該ピックアップ位置に到達するための時間を推定するステップと、当該宛先への到着時刻を推定するステップと、当該タクシーサービスに対する価格を推定するステップを含むことができる。当該推定された予備値は、固定された値、様々な条件、または値の範囲に基づいて変化を受ける推定値を含んでもよい。サービスプロバイダデバイス１０８は、当該予備情報をデータ処理システム１０２に返すか、または直接ネットワーク１０４を介してクライアントコンピューティングデバイス１０４に返すことができる。データ処理システム１０２は、当該予備結果をサービスプロバイダデバイス１０８から当該出力信号に取り込み、当該出力信号をコンピューティングデバイス１０４に送信することができる。当該出力信号は、例えば、「Taxi Service Company A can pick you up at 123 Main Street in 10 minutes, and drop you off at 1234 Main Street by 9 AM for $10.  Do you want to order this ride?」を含むことができ、これは当該出力信号の第１の部分を形成することができる。
【００６６】
幾つかのケースでは、データ処理システム１０２は当該出力信号の第２の部分を形成することができる。当該出力信号の第２の部分は、リアルタイムコンテンツ選択プロセス中にコンテンツセレクタコンポーネント１１８により選択されたコンテンツ・アイテムを含むことができる。第１の部分は第２の部分と異なることができる。例えば、第１の部分は、クライアントコンピューティングデバイス１０４のセンサ１３４により検出された入力オーディオ信号を運搬するデータパケットに直接応答するアクションデータ構造に対応する情報を含むことができ、第２の部分は、当該アクションデータ構造に垂直方向に関連しうるか、またはコンテンツプロバイダデバイス１０６により提供されたスポンサーされたコンテンツを含むコンテンツセレクタコンポーネント１０４により選択されたコンテンツ・アイテムを含むことができる。例えば、コンピューティングデバイス１０４のエンド・ユーザはタクシーをタクシーサービス会社Ａに要求することができる。データ処理システム１０２は、タクシーサービス会社Ａからのタクシーに関する情報を含むために当該出力信号の第１の部分を生成することができる。しかし、データ処理システム１０２は、キーワード「taxi service」およびエンド・ユーザが関心があるかもしれない当該アクションデータ構造に含まれる情報に基づいて選択されたコンテンツ・アイテムを含むために当該出力信号の第２の部分を生成することができる。例えば、第２の部分は、タクシーサービス会社Ｂのような異なるタクシーサービス会社により提供されたコンテンツ・アイテムまたは情報を含むことができる。ユーザはタクシーサービス会社Ｂに特段要求していないかもしれないが、データ処理システム１０２は、当該ユーザがタクシーサービス会社Ｂと動作を実施することを選択しうるので、それにもかかわらずタクシーサービス会社Ｂからのコンテンツ・アイテムを提供してもよい。
【００６７】
データ処理システム１０２は、ピックアップ時刻、宛先の到着時刻、および乗車の価格を決定するための情報を、アクションデータ構造からタクシーサービス会社Ｂに送信することができる。データ処理システム１０２は、この情報を受信し、当該出力信号の第２の部分を「Taxi Service Company B can pick you up at 123 Main Street in 2 minutes, and drop you off at 1234 Main Street by 8:52 AM for $15.  Do you want this ride instead?」としてを生成でき、コンピューティングデバイス１０４のエンド・ユーザは次いで、タクシーサービス会社Ａにより提供された乗車またはタクシーサービス会社Ｂにより提供された乗車を選択することができる。
【００６８】
当該出力信号の第２の部分で、タクシーサービス会社Ｂにより提供されたサービスに対応する当該スポンサーされたコンテンツ・アイテムを提供する前に、データ処理システム１０２は、第２の部分が（例えば、コンテンツセレクタコンポーネント１１８により）リアルタイムコンテンツ選択プロセス中に選択されたコンテンツ・アイテム・オブジェクトに対応するとエンド・ユーザコンピューティングデバイスに通知することができる。しかし、データ処理システム１０２は、当該通知をコンピューティングデバイス１０４のエンド・ユーザに提供するための異なるタイプのインタフェースに対して制限されたアクセスを有することができる。例えば、コンピューティングデバイス１０４はディスプレイデバイスを含まなくてもよい、または当該ディスプレイデバイスを無効またはターンオフしてもよい。コンピューティングデバイス１０４の当該ディスプレイデバイスはコンピューティングデバイス１０４のスピーカより多くのリソースを消費するかもしれず、コンピューティングデバイス１０４のスピーカを用いて当該通知を運搬することと比べて、コンピューティングデバイス１０４の当該ディスプレイデバイスをターンオンするのはあまり効率的でないかもしれない。したがって、幾つかのケースでは、データ処理システム１０２は、１つまたは複数のインタフェースまたは１つまたは複数のタイプのコンピュータネットワーク上の情報送信の効率および有効性を高めることができる。例えば、データ処理システム１０２は（例えば、オーディオ信号ジェネレータコンポーネント１２２を介して）、当該コンテンツ・アイテムを含む出力オーディオ信号の部分をモジュール化して、当該出力信号のその部分がスポンサーされたコンテンツ・アイテムを含むという指示または通知をエンド・ユーザに提供することができる。
【００６９】
データ処理システム１０２は（例えば、インタフェース１１０およびネットワーク１０５を介して）、オーディオ信号ジェネレータコンポーネント１２２により生成された出力信号を含むデータパケットを送信することができる。当該出力信号は、クライアントデバイス１０４のオーディオドライバコンポーネント１３８またはクライアントデバイス１０４により実行されるオーディオドライバコンポーネント１３８に、クライアントデバイス１０４のスピーカ（例えば、トランスデューサ１３６）を駆動して当該出力信号に対応する音波を生成させることができる。
【００７０】
図２は、コンピュータネットワークを介して、パケット化されたアクションをルーティングするシステム１００の例示である。当該システムは、図１に示すシステム１００の１つまたは複数のコンポーネントを含むことができる。２０５で、クライアントコンピューティングデバイス１０４は、コンピューティングデバイス１０４のマイクロフォンまたは他のセンサにより検出された入力オーディオ信号を運搬するデータパケットを送信することができる。クライアントコンピューティングデバイス１０４は当該入力オーディオ信号をデータ処理システム１０２に送信することができる。データ処理システム１０２は当該入力オーディオ信号を解析して、当該要求に応答してアクションデータ構造を生成するためのキーワード、要求または他の情報を識別することができる。
【００７１】
動作２１０で、データ処理システム１０２は当該アクションデータ構造をサービスプロバイダデバイス１０８（またはサードパーティプロバイダデバイス１０８）に送信することができる。データ処理システム１０２はネットワークを介して当該アクションデータ構造を送信することができる。サービスプロバイダデバイス１０８は、データ処理システム１０２により送信された当該アクションデータ構造を受信および処理するように構成されたインタフェースを含むことができる。
【００７２】
サービスプロバイダデバイス１０８は（例えば、会話ＡＰＩを介して）動作２１５で当該アクションデータ構造に応答することができる。サービスプロバイダデバイス１０８からの当該応答は当該アクションデータ構造に対応して実施されるサービスの指示を含むことができる。当該応答は当該動作を実施することで進むための確認を含むことができる。当該応答は当該アクションデータ構造に対応する当該動作を実施するためのさらなる情報の要求を含むことができる。例えば、当該アクションデータ構造は乗車に関するものであることができ、サービスプロバイダ１０８は、当該乗車に対する乗客の数、乗客が望む車のタイプ、車における所望のアメニティ、または好適なピックアップ位置のようなさらなる情報の要求で応答することができる。追加の情報に対する要求は、当該アクションデータ構造に存在しないかもしれない情報を含むことができる。例えば、当該アクションデータ構造は、当該ピックアップ位置、宛先位置、および乗客の数のような、当該動作を実施するためのベースライン情報を含むことができる。当該ベースライン情報は、タクシーサービスカテゴリ内で複数のサービスプロバイダ１０８により使用される標準データ・セットであることができる。しかし、特定のタクシーサービスプロバイダ１０８は、クライアントコンピューティングデバイス１０４から追加の情報または嗜好を要求することによって、当該動作をカスタマイズし高めることを選択することができる。
【００７３】
サービスプロバイダデバイス１０８は、動作２１５で、データ処理システム１０２への応答を運搬する１つまたは複数のデータパケットを送信することができる。データ処理システム１０２は当該データパケットを解析し、当該データパケットのソースおよび当該データパケットの宛先を識別することができる。動作２２０で、データ処理システム１０２は、それに応じて、当該データパケットをクライアントコンピューティングデバイス１０４にルーティングまたは転送することができる。データ処理システム１０２はネットワーク１０５を介して当該データパケットをルーティングまたは転送することができる。
【００７４】
動作２２５で、当該クライアントコンピューティングデバイス２２０は、当該転送された応答に基づいて命令またはコマンドをデータ処理システム１０２に送信することができる。例えば、２２５で転送された応答は、乗客の数の要求およびタクシー乗車をスケジューリングすることで進むための確認であることができる。当該命令は２２５で、乗客の数およびピックアップをスケジューリングすることで進むための命令を含むことができる。クライアントデバイス１０４は、当該命令を運搬する１つまたは複数のデータパケットをデータ処理システム１０２に送信することができる。データ処理システム１０２は、動作２３０で、当該命令を運搬する当該データパケットをサービスプロバイダデバイス１０８にルーティングまたは転送することができる。
【００７５】
幾つかのケースでは、データ処理システム１０２は、動作２２０または動作２３０で、データパケットをそのまま（例えば、当該データパケットを操作せずに）ルーティングまたは転送することができる。幾つかのケースでは、データ処理システム１０２は、当該データパケットを処理して情報をフィルタし、または、サービスプロバイダデバイス１０８またはクライアントコンピューティングデバイス１０４による当該データパケットの処理を促進するための情報で当該データパケットを埋めることができる。例えば、データ処理システム１０２は、クライアントコンピューティングデバイス１０４のアイデンティティをサービスプロバイダデバイス１０８からマスクし、隠蔽し、または保護することができる。したがって、データ処理システム１０２は、サービスプロバイダ１０８がクライアントコンピューティングデバイス１０４のデバイス識別子またはユーザ名を直接に識別できないように、ハッシュ関数を用いて識別情報を暗号化することができる。データ処理システム１０２は、通信セッション中に使用するためのサービスプロバイダデバイス１０８に提供されたプロキシ識別子の、クライアントコンピューティングデバイス１０４の識別子またはユーザ名へのマッピングを維持することができる。
【００７６】
図３は、コンピュータネットワークを介してパケット化されたアクションをルーティングするシステム１００の例示である。当該システムは図１に示すシステム１００の１つまたは複数のコンポーネントを含むことができる。３０５で、クライアントコンピューティングデバイス１０４は、コンピューティングデバイス１０４のマイクロフォンまたは他のセンサにより検出された入力オーディオ信号を運搬するデータパケットを送信することができる。クライアントコンピューティングデバイス１０４は当該入力オーディオ信号をデータ処理システム１０２に送信することができる。データ処理システム１０２は当該入力オーディオ信号を解析して、当該要求に応答してアクションデータ構造を生成するためのキーワード、要求または他の情報を識別することができる。
【００７７】
動作３１０で、データ処理システム１０２はアクションデータ構造をサービスプロバイダデバイス１０８（またはサードパーティプロバイダデバイス１０８）に送信することができる。データ処理システム１０２はネットワークを介して当該アクションデータ構造を送信することができる。サービスプロバイダデバイス１０８は、データ処理システム１０２により送信された当該アクションデータ構造を受信および処理するように構成されたインタフェースを含むことができる。
【００７８】
サービスプロバイダデバイス１０８は（例えば、会話ＡＰＩを介して）動作３１５で当該アクションデータ構造に応答することができる。サービスプロバイダデバイス１０８からの当該応答は当該アクションデータ構造に対応して実施するサービスの指示を含むことができる。当該応答は当該動作を実施することで進むための確認を含むことができる。当該応答は当該アクションデータ構造に対応する当該動作を実施するためのさらなる情報の要求を含むことができる。例えば、当該アクションデータ構造は乗車に関するものであることができ、サービスプロバイダ１０８は、乗車に対する乗客の数、乗客が望む車のタイプ、車における所望のアメニティ、または好適なピックアップ位置のようなさらなる情報の要求で応答することができる。追加の情報に対する当該要求は、当該アクションデータ構造に存在しないかもしれない情報を含むことができる。例えば、当該アクションデータ構造は、ピックアップ位置、宛先位置、および乗客の数のような、当該動作を実施するためのベースライン情報を含むことができる。当該ベースライン情報は、タクシーサービスカテゴリ内で複数のサービスプロバイダ１０８により使用される標準データ・セットであることができる。しかし、特定のタクシーサービスプロバイダ１０８は、クライアントコンピューティングデバイス１０４から追加の情報または嗜好を要求することによって、当該動作をカスタマイズし高めることを選択することができる。
【００７９】
サービスプロバイダデバイス１０８は、ネットワーク１０５を介して、当該応答を運搬する１つまたは複数のデータパケットをクライアントコンピューティングデバイス１０４に直接送信することができる。例えば、データ処理システム１０２を通じて当該応答をルーティングする代わりに、サービスプロバイダデバイス１０８は、サービスプロバイダデバイス１０８により実行される会話ＡＰＩを介して、クライアントコンピューティングデバイス１０４に直接に応答することができる。これにより、当該サービスプロバイダは当該通信セッションをカスタマイズすることができる。
【００８０】
動作３２０で、クライアントコンピューティングデバイス１０４は、当該応答に基づいて、命令またはコマンドをサービスプロバイダデバイス１０８に送信することができる。例えば、３１５で提供された応答は、乗客の数の要求およびタクシー乗車をスケジューリングすることで進むための確認であることができる。３２０での命令は、乗客の数およびピックアップをスケジューリングすることで進むための命令を含むことができる。クライアントデバイス１０４は、データ処理システム１０２を通じてデータパケットをルーティングする代わりに、当該命令を運搬する１つまたは複数のデータパケットをサービスプロバイダデバイス１０８に送信することができる。
【００８１】
データ処理システム１０２は、サービスプロバイダデバイス１０８およびクライアントコンピューティングデバイス１０４が、通信識別子を各デバイスに渡すことでデータ処理システム１０２と独立に通信セッションを確立するのを促進することができる。例えば、データ処理システム１０２は、デバイス１０４の識別子をデバイス１０８に転送でき、データ処理システム１０２はデバイス１０８の識別子をデバイス１０４に転送することができる。したがって、デバイス１０８は当該通信セッションを直接にデバイス１０４と確立することができる。
【００８２】
幾つかのケースでは、デバイス１０８またはデバイス１０４は、通信セッションに関するステータス情報のような情報をデータ処理システム１０２に別々に転送することができる。例えば、デバイス１０８は、デバイス１０８がクライアントデバイス１０４との当該通信セッションの確立に完全に成功したとの指示をデータ処理システムに提供することができる。
【００８３】
図４は、パケット化されたオーディオ信号の動的変調を実施するための例示的な方法の例示である。方法４００を、システム１００またはシステム５００の１つまたは複数のコンポーネント、システムまたは要素により実施することができる。方法４００はデータ処理システムが入力オーディオ信号を受信するステップを含むことができる（動作４０５）。データ処理システムは当該入力オーディオ信号をクライアントコンピューティングデバイスから受信することができる。例えば、データ処理システムにより実行される自然言語プロセッサコンポーネントは当該入力オーディオ信号をデータ処理システムのインタフェースを介してクライアントコンピューティングデバイスから受信することができる。データ処理システムは、当該クライアントコンピューティングデバイス（またはクライアントデバイス）のセンサにより検出された入力オーディオ信号を運搬または含むデータパケットを受信することができる。
【００８４】
動作４１０で、方法４００はデータ処理システムが当該入力オーディオ信号を解析することを含むことができる。当該自然言語プロセッサコンポーネントは当該入力オーディオ信号を解析して、要求および当該要求に対応するトリガキーワードを識別することができる。例えば、当該クライアントデバイスにより検出された当該オーディオ信号は、「Okay device, I need a ride from Taxi Service Company A to go to 1234 Main Street.」を含むことができる。このオーディオ信号において、初期トリガキーワードは「okay device」を含むことができ、これは、クライアントデバイスが入力オーディオ信号をデータ処理システムに送信することを示すことができる。当該クライアントデバイスのプリプロセッサは、残りのオーディオ信号をデータ処理システムに送信する前に用語「okay device」をフィルタして除外することができる。幾つかのケースでは、当該クライアントデバイスは、追加の用語をフィルタして除外するか、または、さらなる処理のためにキーワードをデータ処理システムに送信することができる。
【００８５】
データ処理システムは当該入力オーディオ信号内のトリガキーワードを識別することができる。当該トリガキーワードは、例えば、「to go to」または「ride」またはこれらの用語の変形を含むことができる。当該トリガキーワードはサービスまたは製品のタイプを示すことができる。データ処理システムは当該入力オーディオ信号内の要求を識別することができる。当該要求を用語「I need」に基づいて決定することができる。当該トリガキーワードおよび要求を、セマンティック処理技術または他の自然言語処理技術を用いて決定することができる。
【００８６】
動作４１５で、方法４００はデータ処理システムがアクションデータ構造を生成するステップを含むことができる。データ処理システムはトリガキーワード、要求、サードパーティプロバイダデバイス、または他の情報に基づいて、当該アクションデータ構造を生成することができる。当該アクションデータ構造は当該要求に応答することができる。例えば、当該クライアントコンピューティングデバイスのエンド・ユーザがタクシーをタクシーサービス会社Ａに要求した場合、当該アクションデータ構造はタクシーサービス会社Ａへタクシーサービスを要求する情報を含むことができる。データ処理システムは、タクシーサービス会社Ａに対するテンプレートを選択し、当該テンプレート内のフィールドを値で埋め、タクシーサービス会社Ａがタクシーを当該クライアントコンピューティングデバイスのユーザに送り、当該ユーザをピックアップし当該ユーザを要求された目的地に輸送できるようにすることができる。
【００８７】
動作４２０で、方法４００は、データ処理システムが当該アクションデータ構造を当該サードパーティプロバイダデバイスに送信することを含むことができる。当該サードパーティデバイスは、受信されたアクションデータ構造を解析または処理し、会話ＡＰＩを起動し、当該サードパーティプロバイダデバイスおよび当該クライアントデバイスの間の通信セッションを確立すると判定することができる。サービスプロバイダデバイス１０８は、当該アクションデータ構造の内容に基づいて会話ＡＰＩを起動または実行または利用することを決定することができる。例えば、サービスプロバイダデバイス１０８は、追加の情報が当該アクションデータ構造に対応する動作を実施するステップを促進できると判定することができる。サービスプロバイダデバイス１０８は、クライアントコンピューティングデバイス１０４と通信することが、サービスのレベルを高めるか、または、当該動作の誤った実施に起因するリソース利用を減らすことができると判定することができる。サービスプロバイダデバイス１０８は、追加の情報を取得することでクライアントコンピューティングデバイス１０４のための動作をカスタマイズすると判定することができる。
【００８８】
動作４２５で、方法４００は、データ処理システムが、当該サードパーティプロバイダデバイスから、当該サードパーティプロバイダデバイスが通信セッションを当該クライアントデバイスと確立したとの指示を受信するステップを含むことができる。当該指示は、当該通信セッションが確立されたときに対応するタイムスタンプ、当該通信セッションの一意な識別子（例えば、デバイス識別子で形成されたタプル、当該通信セッションの時刻日付スタンプ、および当該サービスプロバイダデバイスの識別子）を含むことができる。
【００８９】
図５は例示的なコンピュータシステム５００のブロック図である。当該コンピュータシステムまたはコンピューティングデバイス５００は、システム１００、またはデータ処理システム１０２のようなそのコンポーネントを含むことができるかまたはそれを実装するために使用される。データ処理システム１０２はインテリジェント・パーソナル・アシスタントまたは音声ベースのデジタルアシスタントを含むことができる。コンピューティングシステム５００は、情報を通信するためのバス５０５または他の通信コンポーネントおよび情報を処理するためにバス５０５に接続するためのプロセッサ５１０または処理回路を含む。コンピューティングシステム５００はまた、情報を処理するためのに当該バスに接続された１つまたは複数のプロセッサ５１０または処理回路を含むことができる。コンピューティングシステム５００はまた、情報、およびプロセッサ５１０により実行される命令を格納するためにバス５０５に接続されたランダム・アクセスメモリ（ＲＡＭ）または他の動的記憶デバイスのようなメイン・メモリ５１５を含む。メイン・メモリ５１５はデータリポジトリ１４５であることができるかまたはそれを含むことができる。メイン・メモリ５１５をまた、プロセッサ５１０による命令の実行中に位置情報、一時的変数、または他の中間情報を格納するために使用することができる。コンピューティングシステム５００はさらに、プロセッサ５１０のための静的情報および命令を格納するために、バス５０５に接続される読取専用メモリ（ＲＯＭ）５２０または他の静的記憶デバイスを含んでもよい。固体状態デバイス、磁気ディスクまたは光ディスクのような記憶デバイス５２５は、永続的に情報および命令を格納するためにバス５０５に接続されることができる。記憶デバイス５２５はデータリポジトリ１４５を含むことができるかまたはその一部であることができる。
【００９０】
コンピューティングシステム５００を、バス５０５を介して、情報をユーザに表示するための、液晶ディスプレイ、またはアクティブ行列ディスプレイのようなディスプレイ５３５に接続してもよい。英数字および他のキーを含むキーボードのような入力デバイス５３０が、情報およびコマンド選択をプロセッサ５１０に通信するためにバス５０５に接続されてもよい。入力デバイス５３０はタッチ・スクリーンディスプレイ５３５を含むことができる。入力デバイス５３０はまた、方向情報およびコマンド選択をプロセッサ５１０に通信し、ディスプレイ５３５上のカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キーのようなカーソル・コントロールを含むことができる。ディスプレイ５３５は、例えば、図１のデータ処理システム１０２の一部は、クライアントコンピューティングデバイス１５０または他のコンポーネントであることができる。
【００９１】
本明細書で説明したプロセス、システムおよび方法、プロセッサ５１０がメイン・メモリ５１５に含まれる命令の配置を実行したことに応答してコンピューティングシステム５００により実装することができる。かかる命令を記憶デバイス５２５のような別のコンピュータ−可読媒体からメイン・メモリ５１５に読み込むことができる。メイン・メモリ５１５に含まれる命令の配置の実行は、コンピューティングシステム５００に本明細書で説明した例示的なプロセスを実施させる。マルチプロセッシング配置における１つまたは複数のプロセッサをまた、メイン・メモリ５１５に含まれる命令を実行するために使用することができる。ハードワイヤード回路を、本明細書で説明するシステムおよび方法とともにソフトウェア命令の代わりにまたはそれを組み合わせて使用することができる。本明細書で説明したシステムおよび方法はハードウェア回路およびソフトウェアの任意の特定の組合せに限定されない。
【００９２】
例示的なコンピューティングシステムを図５で説明したが、本明細書で説明した動作を含む主題を、本明細書で開示した構造およびそれらの構造的均等物を含む他のタイプのデジタル電子回路で、またはコンピュータソフトウェア、ファームウェア、またはハードウェアで、またはそれらの１つまたは複数の組合せで実装することができる。
【００９３】
本明細書で説明するシステムがユーザに関する個人情報を収集するか、または個人情報を利用しうる状況に対して、当該ユーザに、プログラムまたは機能が個人情報（例えば、ユーザのソーシャルネットワーク、ソーシャルアクションまたはアクティビティ、ユーザの嗜好、またはユーザの位置に関する情報）を収集しうるかどうかを制御するか、または、当該ユーザにより関連しうるコンテンツサーバまたは他のデータ処理システムからコンテンツを受信するかどうかまたはその方法を制御するための機会を与えてもよい。さらに、特定のデータはそれが格納または使用される前に１つまたは複数の方法で匿名化してもよく、その結果個人的に識別可能な情報がパラメータを生成するときに除去される。例えば、ユーザのアイデンティティを匿名化してもよく、その結果個人的に識別可能な情報をユーザに対して決定できず、またはユーザの特定の位置を決定できないように、ユーザの地理的位置を位置情報が取得される場所で（例えば都市、郵便番号、または状態レベルに）一般化してもよい。したがって、当該ユーザは、どのように情報が当該ユーザに関して収集され当該コンテンツサーバにより使用されるかを制御することができる。
【００９４】
当該主題および本明細書で説明した動作を、本明細書で開示した構造およびそれらの構造的均等物を含むデジタル電子回路で、またはコンピュータソフトウェア、ファームウェア、またはハードウェアで、またはそれらの１つまたは複数の組合せで実装することができる。本明細書で説明した当該主題を、データ処理装置による実行のためにまたは当該装置の動作を制御するために１つまたは複数のコンピュータ記憶媒体で符号化された、１つまたは複数のコンピュータプログラム、例えば、コンピュータプログラム命令の１つまたは複数の回路として実装することができる。代替的にまたは追加として、当該プログラム命令を、人工的に生成された伝播信号、例えば、データ処理装置による実行のために適切な受信器装置に送信するための情報を符号化するために生成されたマシン生成された電気、光、または電磁気信号で符号化することができる。コンピュータ記憶媒体は、コンピュータ−可読記憶デバイス、コンピュータ−可読記憶基板、ランダムなまたはシリアル・アクセスメモリ・アレイまたはデバイス、またはそれらの１つまたは複数の組合せであることができ、または、それらに含まれることができる。コンピュータ記憶媒体は伝播信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝播信号で符号化されたコンピュータプログラム命令のソースまたは宛先であることができる。当該コンピュータ記憶媒体はまた、１つまたは複数の別々のコンポーネントまたは媒体（例えば、複数のＣＤ、ディスク、または他の記憶デバイス）であることができ、または、それに含まれることができる。本明細書で説明した動作を、１つまたは複数のコンピュータ−可読記憶デバイスに格納されまたは他のソースから受信されたデータに対してデータ処理装置により実施される動作として実装することができる。
【００９５】
「データ処理システム」「コンピューティングデバイス」「コンポーネント」または「データ処理装置」という用語は、例としてプログラム可能プロセッサ、コンピュータ、システム・オン・チップ、または以上のうち複数または組合せを含む、データを処理するための様々な装置、デバイス、およびマシンを包含する。当該装置は、特殊目的論理回路、例えば、ＦＰＧＡ（フィールドプログラム可能ゲート・アレイ）またはＡＳＩＣ（特殊用途向け集積回路）を含むことができる。当該装置はまた、ハードウェアに加えて、着目するコンピュータプログラムに対する実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコル・スタック、データベース管理システム、オペレーティング・システム、クロス・プラットフォームランタイム環境、仮想マシン、またはそれらの１つまたは複数の組合せを構成するコードを含むことができる。当該装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッド・コンピューティングインフラのような様々な異なるコンピューティングモデルインフラを実現することができる。例えば、ダイレクト・アクションＡＰＩ１１６、コンテンツセレクタコンポーネント１１８、またはＮＬＰコンポーネント１１２および他のデータ処理システム１０２コンポーネントは、１つまたは複数のデータ処理装置、システム、コンピューティングデバイス、またはプロセッサを含むかまたは共有することができる。
【００９６】
Ａコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、スクリプト、またはコードとしても知られる）を、コンパイル型言語またはインタプリタ型言語、宣言型または手続型言語を含む任意の形態のプログラミング言語で書くことができ、スタンドアロンプログラムまたはモジュール、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境で使用するのに適した他のユニットを含む任意の形態で展開することができる。コンピュータプログラムはイルシステム内のファイルに対応することができる。コンピュータプログラムを、他のプログラムまたはデータを保持するファイル部分（例えば、マークアップ言語ドキュメントに格納された１つまたは複数のスクリプト）に、着目するプログラム専用の単一のファイルに、または複数の協調ファイルに（例えば、１つまたは複数のモジュール、サブプログラム、またはコード部分を格納するファイル）に格納することができる。コンピュータプログラムを、１つのコンピュータ上でまたは１つのサイトに配置されるかまたは複数のサイトにわたって分散され通信ネットワークにより相互接続された複数のコンピュータ上で実行されるように展開することができる。
【００９７】
本明細書で説明した当該プロセスおよび論理フローを、入力データで動作し出力を生成することによって、１つまたは複数のコンピュータプログラムを実行する１つまたは複数のプログラム可能プロセッサ（例えば、データ処理システム１０２のコンポーネント）により実施して、アクションを実施することができる。当該プロセスおよび論理フローはまた、特殊目的論理回路、例えば、ＦＰＧＡ（フィールドプログラム可能ゲート・アレイ）またはＡＳＩＣ（特殊用途向け集積回路）により実施でき、装置をまた特殊目的論理回路、例えば、ＦＰＧＡ（フィールドプログラム可能ゲート・アレイ）またはＡＳＩＣ（特殊用途向け集積回路）として実装することができる。コンピュータプログラム命令およびデータを格納するのに適したデバイス、例として半導体メモリデバイス、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュ・メモリデバイスを含むあらゆる形態の非揮発性メモリ、媒体およびメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたは取外し可能ディスク、磁気光ディスク、およびＣＤＲＯＭおよびＤＶＤ−ＲＯＭディスクを含む。当該プロセッサおよび当該メモリを特殊目的論理回路で補完するかまたはそれに組み込むことができる。
【００９８】
本明細書で説明する主題を、コンピューティングシステムで実装することができるバックエンドコンポーネントを、例えば、データサーバとして含むか、またはミドルウェアコンポーネント、例えば、アプリケーションサーバを含むか、またはフロントエンドコンポーネント、例えば、ユーザがそれを通じて本明細書で説明した当該主題の実装と対話できるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ、または１つまたは複数のかかるバックエンド、ミドルウェア、またはフロントエンドコンポーネントの組合せを含む。当該システムの当該コンポーネントはデジタルデータ通信、例えば、通信ネットワークの任意の形態または媒体により相互接続することができる。通信ネットワークの例は、ローカル・エリア・ネットワーク（「ＬＡＮ」）および広帯域ネットワーク（「ＷＡＮ」）、インターネットワーク（例えば、インターネット）、およびピア・ツー・ピアネットワーク（例えば、アドホックピア・ツー・ピアネットワーク）を含む。
【００９９】
システム１００またはシステム５００のようなコンピューティングシステムはクライアントおよびサーバを含むことができる。クライアントおよびサーバは一般に互いから離れており、一般に通信ネットワーク（例えば、ネットワーク１６５）を通じて対話する。クライアントおよびサーバの関係は、当該各コンピュータで実行され互いにクライアントサーバ関係を有するコンピュータプログラムにより生ずる。幾つかの実装では、サーバは、（例えば、データを表示し、ユーザ入力を当該クライアントデバイスと対話するユーザから受信する目的で）データ（例えば、コンテンツ・アイテムを表すデータパケット）をクライアントデバイスに送信する。当該クライアントデバイスで生成されたデータ（例えば、ユーザ対話の結果）は当該クライアントデバイスから当該サーバでから受信されることができる（例えば、コンピューティングデバイス１５０またはコンテンツプロバイダコンピューティングデバイス１５５またはサービスプロバイダコンピューティングデバイス１６０からデータ処理システム１０２により受信される）。
【０１００】
動作を当該図面において特定の順序で説明したが、かかる動作を示した特定の順序でまたは逐次的な順序で実施する必要はなく、全ての図示した動作を実施する必要はない。本明細書で説明した動作を異なる順序で実施することができる。
【０１０１】
様々なシステムコンポーネントの分離は全ての実装における分離を要求しないが、説明したプログラムコンポーネントを単一のハードウェアまたはソフトウェア製品に含めることができる。例えば、ＮＬＰコンポーネント１１２またはコンテンツセレクタコンポーネント１１８は、単一のコンポーネント、アプリ、またはプログラム、または１つまたは複数の処理回路を有する論理デバイス、またはデータ処理システム１０２の１つまたは複数のサーバの一部であることができる。
【０１０２】
幾つかの例示的な実装を説明したので、以上は、例示的であり限定的ではなく、例として提示されていることは明らかである。特に、本明細書で提示した例の多くは方法の動作またはシステム要素の特定の組合せを含むが、これらの動作およびこれらの要素を他の方法で組み合わせて同一の目的を実現してもよい。１実装と関連して説明した動作、要素および特徴は他の実装または実装における類似の役割から排除されるものではない。
【０１０３】
本明細書で使用したフレーズおよび用語は説明の目的のためであり限定として解釈されるべきではない。「〜を含む」、「〜を備える」、「〜を有する」、「〜を包含する」、「〜が関与する」、「〜により特徴付けられる」、「〜の点で特徴付けられる」、およびその本明細書における変形の使用は、その後に列挙された項目、その均等物、および追加の項目、ならびに排他的にその後に列挙された項目からなる代替的な実装を含むことを意味する。１実装では、本明細書で説明するシステムおよび方法は説明した要素、動作、またはコンポーネントの１つ、複数の各組合せ、または全てから成る。
【０１０４】
本明細書で単一形で参照されるシステムおよび方法の実装または要素または動作に対する任意の言及は複数のこれらの要素を含む実装を含んでもよく、本明細書の任意の実装または要素または動作への複数形の任意の参照は単一の要素のみを含む実装を含んでもよい。単一形または複数形における参照は本明細書で開示したシステムまたは方法、それらのコンポーネント、動作、または要素を単一のまたは複数の構成に限定しようとするものではない。任意の情報、動作または要素に基づく任意の動作または要素への参照は当該動作または要素は任意の情報、動作、または要素に少なくとも部分的に基づく実装を含んでもよい。
【０１０５】
本明細書で開示した任意の実装を任意の他の実装または実施形態と組み合わせてもよく「実装」、「幾つかの実装」、「１実装」等への言及は必ずしも相互に排他的ではなく、当該実装と関連して説明した特定の特徴、構造、または特性が少なくとも１つの実装または実施形態に含まれてもよいを示すことを意図している。本明細書で使用した用語は必ずしも全て同一の実装を参照しない。任意の実装を、任意の他の実装と、包含的にまたは排他的に、本明細書で開示した態様および実装と一貫する任意の方式で結合してもよい。
【０１０６】
「または」に対する言及は、「または」を用いて説明された任意の用語が当該説明した用語のうち１つ、複数、および全ての何れかを示しうるように、包含的として解釈してもよい。例えば、「‘Ａ’および‘Ｂ’のうち少なくとも１つ」への言及は‘Ａ’のみ、‘Ｂ’のみ、ならびに‘Ａ’および‘Ｂ’の両方を含むことができる。「〜を備える」または他のオープンな用語と関連して使用されるかかる言及は追加の項目を含むことができる。
【０１０７】
当該図面、詳細な説明または任意の請求項における技術的特徴に参照記号が続く場合、当該参照記号は当該図面、詳細な説明、および特許請求の範囲の明瞭性を高めるために含まれている。したがって、当該参照記号もそれがないことも任意のクレーム要素の範囲に対する限定効果を有さない。
【０１０８】
本明細書で説明するシステムおよび方法をその特徴から逸脱せずに他の特定の形態で具体化してもよい。例えば、データ処理システム１０２は、第２のアクション２１０が完了するかまたはまさに始まろうとすることを示す第２のアクション２１０からのデータのような、スレッド２００のアクションのシーケンスにおける過去のアクションからのデータに少なくとも部分的に基づいて、後続のアクションに対して（例えば、前記第３のアクション２１５に対して）コンテンツ・アイテムを選択することができる。以上の実装は説明したシステムおよび方法の限定ではなく例示的なものである。本明細書で説明するシステムおよび方法の範囲はしたがって以上の説明ではなく添付の特許請求の範囲により示され、添付の特許請求の範囲の均等物の意味と範囲に入る変更がそこに包含される。
【符号の説明】
【０１０９】
１０２  データ処理システム
１０４  コンピューティング・デバイス
１０５  ネットワーク
１０６  コンテンツ・プロバイダ・デバイス
１０８  サービス・プロバイダ・デバイス
１１０  インタフェース
１１２  自然言語プロセッサ・コンポーネント
１１４  セッション・ハンドラ・コンポーネント
１１６  ダイレクト・アクションＡＰＩ
１１８  コンテンツ・セレクタ・コンポーネント
１２２  オーディオ信号生成器コンポーネント
１２４  データ・リポジトリ
１２６  パラメータ
１２８  ポリシ
１３０  コンテンツ・データ
１３２  テンプレート
１３４  センサ
１３６  トランスデューサ
１３８  オーディオ・ドライバ
１４０  スピーカ
１４２  サービス・プロバイダの自然言語プロセッサ・コンポーネント
１４４  サービス・プロバイダ・インタフェース
【図１】
2019506759.tif 000003
【図２】
2019506759.tif 000004
【図３】
2019506759.tif 000005
【図４】
2019506759.tif 000006
【図５】
2019506759.tif 000007
【国際調査報告】
2019506759.tif 000008
2019506759.tif 000009
2019506759.tif 000010