(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
次に以下に、パケット化されたオーディオ信号を変調する方法、装置、およびシステムに関係する様々な概念ならびに方法、装置、およびシステムの実装のより詳細な説明を示す。上で導入され、以下でより詳しく説明される様々な概念は、多数の方法のうちのどれかで実装され得る。
【0011】
本開示は、一般的に、パケット化されたオーディオ信号の動的変調を実行するためのデータ処理システムを対象とする。データ処理システムは、1つもしくは複数のインターフェースまたは1つもしくは複数の種類のコンピュータネットワーク上の情報伝送の効率および有効性を改善することができる。たとえば、コンピューティングシステムは、限られた数のインターフェース、限られた種類のインターフェースにアクセスできるか、または与えられた時点において限られた数の利用可能なインターフェースがあるものとしてよい。いくつかの種類のインターフェースはより大きなコンピューティングリソースまたは電池を消費し得るので、システムが現在利用可能なインターフェースに応答して情報を効率的に伝送することは難題であり得る。
【0012】
本開示のシステムおよび方法は、一般的に、通信セッションのコンテキストに基づき出力オーディオを動的に変調するデータ処理システムを対象とする。データ処理システムは、音質、周波数、中心周波数、および振幅を変調し、透かしを入れ、オーバーレイし、または他の何らかの方法で出力オーディオの一部を変調または調整して、出力オーディオのその部分のコンテキストまたは種類を指示することができる。データ処理システムは、第1のオーディオ変調を出力オーディオ信号の第1の部分に使用し、第2のオーディオ変調をオーディオ信号の第2の部分に、第1の部分と異なる第2の部分に対するコンテキストに基づき使用することができる。たとえば、第2の部分は、リアルタイム選択プロセスにおいて、サードパーティコンテンツプロバイダによって提供され、データ処理システムによって選択されるコンテンツアイテムに対応するオーディオを含み得る。
【0013】
本発明の解決方法では、指示を与えるために出力オーディオファイルの一部を変調することによってリソース消費量、プロセッサ利用度、電池消費量、帯域幅利用度、オーディオファイルのサイズ、またはスピーカによって消費される時間の長さを低減することができる。いくつかの場合において、データ処理システムは、追加のオーディオコンテンツをオーディオファイルに付加する代わりに、オーディオファイルの一部分を変調することができる。オーディオファイルの一部分を変調することによって、データ処理システムは、オーディオファイルに付加された、または別の方式で与えられる別の指示を与えることと比較してより少ないデータ伝送を行うか、またはより少ないオーディオ信号を生成することによってリソース消費量を低減することができる。
【0014】
図1は、パケット化されたオーディオ信号の動的変調を実行するための例示的なシステム100を示している。システム100は、コンテンツ選択基盤を含むことができる。システム100は、データ処理システム102を備え得る。データ処理システム102は、コンテンツプロバイダコンピューティングデバイス106、サービスプロバイダコンピューティングデバイス108、またはクライアントコンピューティングデバイス104のうちの1つまたは複数と、ネットワーク105を介して通信することができる。ネットワーク105は、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、メトロエリアネットワーク、または他のエリアネットワーク、イントラネット、衛星ネットワーク、および音声もしくはデータ携帯電話ネットワークなどの他のコンピュータネットワークを含み得る。ネットワーク105は、ラップトップ、デスクトップ、タブレット、携帯情報端末、スマートフォン、ポータブルコンピュータ、またはスピーカなどの、少なくとも1つのコンピューティングデバイス104上に提示されるか、出力されるか、レンダリングされるか、または表示されるものとしてよいウェブページ、ウェブサイト、ドメイン名、またはユニフォームリソースロケータなどの情報リソースにアクセスするために使用され得る。たとえば、ネットワーク105を介して、コンピューティングデバイス104のユーザは、サービスプロバイダ108またはコンテンツプロバイダ106によって提供される情報またはデータにアクセスすることができる。コンピューティングデバイス104は、ディスプレイを備えていても備えていなくてもよく、たとえば、コンピューティングデバイスは、マイクロフォンおよびスピーカなどの、限られた種類のユーザインターフェースを備え得る。いくつかの場合において、コンピューティングデバイス104の主たるユーザインターフェースは、マイクロフォンおよびスピーカであるものとしてよい。
【0015】
ネットワーク105は、ディスプレイネットワーク、たとえば、コンテンツ配置または検索エンジン結果システムに関連付けられているか、またはコンテンツアイテム配置キャンペーンの一部としてサードパーティ製コンテンツアイテムを含む資格のあるインターネット上で利用可能な情報リソースのサブセットを含むか、またはそれらの構成要素となり得る。ネットワーク105は、クライアントコンピューティングデバイス104によって提示されるか、出力されるか、レンダリングされるか、または表示され得るウェブページ、ウェブサイト、ドメイン名、またはユニフォームリソースロケータなどの情報リソースにアクセスするためにデータ処理システム102によって使用され得る。たとえば、ネットワーク105を介して、クライアントコンピューティングデバイス104のユーザは、コンテンツプロバイダコンピューティングデバイス106またはサービスプロバイダコンピューティングデバイス108によって提供される情報またはデータにアクセスすることができる。
【0016】
ネットワーク105は、任意の種類または形態のネットワークであってよく、2地点間ネットワーク、放送網、ワイドエリアネットワーク、ローカルエリアネットワーク、電気通信網、データ通信ネットワーク、コンピュータネットワーク、ATM(非同期転送モード)ネットワーク、SONET(同期光ネットワーク)ネットワーク、SDH(同期デジタルハイアラーキ)ネットワーク、ワイヤレスネットワーク、および有線ネットワークのうちのどれかを含み得る。ネットワーク105は、赤外線チャネルまたは衛星帯域などのワイヤレスリンクを含み得る。ネットワーク105のトポロジーは、バス型、スター型、またはリング型ネットワークトポロジーを含み得る。ネットワークは、高度携帯電話プロトコル(「AMPS」)、時分割多元接続(「TDMA」)、符号分割多元接続(「CDMA」)、グローバルシステムフォーモバイルコミュニケーションズ(「GSM(登録商標)」)、汎用パケット無線サービス(「GPRS」)、またはユニバーサルモバイル通信システム(「UMTS」)を含む、モバイルデバイス間の通信に使用される1つまたは複数の任意のプロトコルを使用する携帯電話ネットワークを含み得る。異なる種類のデータは、異なるプロトコルを介して伝送され得るか、または同じ種類のデータは、異なるプロトコルを介して伝送され得る。
【0017】
システム100は、少なくとも1つのデータ処理システム102を備え得る。データ処理システム102は、ネットワーク105を介して、たとえば、コンピューティングデバイス104、コンテンツプロバイダデバイス106(コンテンツプロバイダ106)、またはサービスプロバイダデバイス108(またはサービスプロバイダ108)と通信するためのプロセッサを有するコンピューティングデバイスなどの少なくとも1つの論理デバイスを備えることができる。データ処理システム102は、少なくとも1つの計算リソース、サーバ、プロセッサ、またはメモリを備え得る。たとえば、データ処理システム102は、少なくとも1つのデータセンタ内に配置されている複数の計算リソースまたはサーバを備え得る。データ処理システム102は、複数の論理的にグループ化されたサーバを含むものとしてよく、分散コンピューティング技術を利用しやすくすることができる。サーバの論理グループは、データセンタ、サーバファーム、またはマシンファームと称され得る。サーバは、また、地理的に分散されていてもよい。データセンタまたはマシンファームは、単一のエンティティとして管理され得るか、またはマシンファームは、複数のマシンファームを含むことができる。各マシンファーム内のサーバは、異機種であってもよく、サーバまたはマシンのうちの1つまたは複数が1つまたは複数の種類のオペレーティングシステムプラットフォームに従って動作することができる。
【0018】
マシンファーム内のサーバは、関連付けられているストレージシステムとともに高密度ラックシステム内に格納され、エンタープライズデータセンタ内に配置され得る。たとえば、このようにしてサーバを一元管理することで、サーバおよび高性能ストレージシステムをローカライズされた高性能ネットワーク上に配置することによってシステム管理性、データセキュリティ、システムの物理的セキュリティ、およびシステム性能を改善し得る。サーバおよびストレージシステムを含む、データ処理システム102のコンポーネントの全部または一部を中央集中化し、それらを高度なシステム管理ツールに結合することにより、サーバリソースをより効率的に使用することができ、それにより、必要な電力および処理の節約をはかり、帯域幅使用を減らす。
【0019】
システム100は、少なくとも1つのサービスプロバイダデバイス108を備えるか、アクセスするか、または他の何らかの形でインタラクティブにやり取りすることができる。サービスプロバイダデバイス108は、ネットワーク105を介して、たとえば、コンピューティングデバイス104、データ処理システム102、またはコンテンツプロバイダ106と通信するためのプロセッサを有するコンピューティングデバイスなどの少なくとも1つの論理デバイスを備えることができる。サービスプロバイダデバイス108は、少なくとも1つの計算リソース、サーバ、プロセッサ、またはメモリを備え得る。たとえば、サービスプロバイダデバイス108は、少なくとも1つのデータセンタ内に配置されている複数の計算リソースまたはサーバを備え得る。サービスプロバイダデバイス108は、データ処理システム102の1つまたは複数のコンポーネントもしくは機能を備えることができる。
【0020】
コンテンツプロバイダコンピューティングデバイス106は、オーディオ出力コンテンツアイテムとしてクライアントコンピューティングデバイス104により表示するためにオーディオベースのコンテンツアイテムを提供することができる。コンテンツアイテムは、「Would you like me to order you a taxi?」と述べる音声ベースのメッセージなどの商品もしくはサービスのオファーを含むことができる。たとえば、コンテンツプロバイダコンピューティングデバイス155は、音声ベースの問い合わせに応答して提供され得る一連のオーディオコンテンツアイテムを記憶するためのメモリを備えることができる。コンテンツプロバイダコンピューティングデバイス106は、オーディオベースのコンテンツアイテム(または他のコンテンツアイテム)を、それらがデータリポジトリ124に記憶され得るデータ処理システム102に送ることもできる。データ処理システム102は、オーディオコンテンツアイテムを選択し、オーディオコンテンツアイテムをクライアントコンピューティングデバイス104に提供する(かまたは提供するようにコンテンツプロバイダコンピューティングデバイス104に命令する)ことができる。オーディオベースのコンテンツアイテムはもっぱらオーディオであるか、またはテキスト、画像、またはビデオデータと組み合わせたものとすることができる。
【0021】
サービスプロバイダデバイス108は、少なくとも1つのサービスプロバイダ自然言語プロセッサコンポーネント142およびサービスプロバイダインターフェース144を備えるか、インターフェースするか、または他の何らかの形で通信することができる。サービスプロバイダコンピューティングデバイス108は、少なくとも1つのサービスプロバイダ自然言語プロセッサ(NLP: Natural Language Processor)コンポーネント142および少なくとも1つのサービスプロバイダインターフェース144を備えることができる。サービスプロバイダNLPコンポーネント142(またはサービスプロバイダデバイス108のダイレクトアクションAPIなどの他のコンポーネント)はクライアントコンピューティングデバイス104と(データ処理システム102を介して、またはデータ処理システム102をバイパスして)関わり、クライアントコンピューティングデバイス104とサービスプロバイダコンピューティングデバイス108との間の行ったり来たり(Back-and-Forth)のリアルタイムの音声またはオーディオベースの会話(たとえば、セッション)を作成することができる。サービスプロバイダNLP142は、データ処理システム102のNLPコンポーネント112としての1つまたは複数の機能または特徴を備えることができる。たとえば、サービスプロバイダインターフェース144は、データメッセージを受信するか、またはデータ処理システム102のダイレクトアクションAPI116に送ることができる。サービスプロバイダコンピューティングデバイス108およびコンテンツプロバイダコンピューティングデバイス106は、同じエンティティに関連付けられ得る。たとえば、コンテンツプロバイダコンピューティングデバイス106は、カーシェアリングサービスに対するコンテンツアイテムを作成するか、記憶するか、または利用可能にすることができ、サービスプロバイダコンピューティングデバイス108は、クライアントコンピューティングデバイス104のエンドユーザを車で迎えに行くようにカーシェアサービスのタクシーまたは自動車の配車を手配するためにクライアントコンピューティングデバイス106とのセッションを確立することができる。データ処理システム102は、たとえば、カーシェアサービスのタクシーまたは自動車の配車を手配するために、ダイレクトアクションAPI116、NLPコンポーネント112、または他のコンポーネントを介して、サービスプロバイダコンピューティングデバイス104を含めるか、またはバイパスする、クライアントコンピューティングデバイスとのセッションを確立することもできる。
【0022】
コンピューティングデバイス104は、少なくとも1つのセンサ134、トランスデューサ136、オーディオドライバ138、またはプリプロセッサ140を備えるか、インターフェースするか、または他の何らかの形で通信することができる。センサ134は、たとえば、周辺光センサ、近接センサ、温度センサ、加速度計、ジャイロスコープ、動き検出器、GPSセンサ、位置センサ、マイクロフォン、またはタッチセンサを含み得る。トランスデューサ136は、スピーカまたはマイクロフォンを備えることができる。オーディオドライバ138は、ハードウェアトランスデューサ136にソフトウェアインターフェースを提供することができる。オーディオドライバは、データ処理システム102によって提供されるオーディオファイルまたは他の命令を実行して、対応する音響波または音波を生成するようにトランスデューサ136を制御することができる。プリプロセッサ140は、キーワードを検出し、そのキーワードに基づきアクションを実行するように構成され得る。プリプロセッサ140は、さらなる処理のために、1つまたは複数の検索語をフィルタリングで除去するかまたは検索語を修正することを、検索語をデータ処理システム102に伝送する前に行うことができる。プリプロセッサ140は、マイクロフォンによって検出されたアナログオーディオ信号をデジタルオーディオ信号に変換し、ネットワーク105を介して、デジタルオーディオ信号を搬送する1つまたは複数のデータパケットをデータ処理システム102に伝送することができる。いくつかの場合において、プリプロセッサ140は、入力オーディオ信号の一部または全部を搬送するデータパケットを、そのような伝送を実行する命令を検出したことに応答して伝送することができる。命令は、たとえば、入力オーディオ信号を含むデータパケットをデータ処理システム102に伝送するためのトリガーキーワードまたは他のキーワードまたは承認を含むことができる。
【0023】
クライアントコンピューティングデバイス104は、音声問い合わせをクライアントコンピューティングデバイス104へのオーディオ入力として(センサ134を介して)入力し、データ処理システム102(またはコンテンツプロバイダコンピューティングデバイス106もしくはサービスプロバイダコンピューティングデバイス108)からクライアントコンピューティングデバイス104に送られ、トランスデューサ136(たとえば、スピーカ)から出力され得るコンピュータ発生音声の形態のオーディオ出力を受け取るエンドユーザに関連付けられ得る。コンピュータ発生音声は、実際の人またはコンピュータによって生成される言語からの読み取りを含むことができる。
【0024】
データリポジトリ124は、1つまたは複数のローカルデータベースまたは分散型データベースを含むことができ、データベース管理システムを含み得る。データリポジトリ124は、コンピュータデータストレージまたはメモリを備えるものとしてよく、他にもデータはあるがとりわけ、1つまたは複数のパラメータ126、1つまたは複数のポリシー128、コンテンツデータ130、またはテンプレート132を記憶することができる。パラメータ126、ポリシー128、およびテンプレート132は、クライアントコンピューティングデバイス104とデータ処理システム102(またはサービスプロバイダコンピューティングデバイス108)との間の音声ベースのセッションに関する規則などの情報を含むことができる。コンテンツデータ130は、オーディオ出力または関連付けられているメタデータ、さらにはクライアントコンピューティングデバイス104との1つまたは複数の通信セッションの一部であってよい入力オーディオメッセージに対するコンテンツアイテムを含み得る。
【0025】
データ処理システム102は、少なくとも1つの計算リソースまたはサーバを有するコンテンツ配置システムを備え得る。データ処理システム102は、少なくとも1つのインターフェース110を備えるか、インターフェースするか、または他の何らかの形で通信することができる。データ処理システム102は、少なくとも1つの自然言語プロセッサコンポーネント112を備えるか、インターフェースするか、または他の何らかの形で通信することができる。データ処理システム102は、少なくとも1つのセッションハンドラ114を備えるか、インターフェースするか、または他の何らかの形で通信することができる。データ処理システム102は、少なくとも1つのダイレクトアクション・アプリケーション・プログラミング・インターフェース(「API」)116を備えるか、インターフェースするか、または他の何らかの形で通信することができる。データ処理システム102は、少なくとも1つのコンテンツセレクタコンポーネント118を備えるか、インターフェースするか、または他の何らかの形で通信することができる。データ処理システム102は、少なくとも1つのポリシーエンジン120を備えるか、インターフェースするか、または他の何らかの形で通信することができる。データ処理システム102は、少なくとも1つのオーディオ信号発生器122を備えるか、インターフェースするか、または他の何らかの形で通信することができる。データ処理システム102は、少なくとも1つのデータリポジトリ124を備えるか、インターフェースするか、または他の何らかの形で通信することができる。少なくとも1つのデータリポジトリ124は、1つまたは複数のデータ構造体またはデータベース内に、パラメータ126、ポリシー128、コンテンツデータ130、またはテンプレート132を入れるか、または記憶することができる。パラメータ126は、たとえば、閾値、距離、時間間隔、持続時間、スコア、または重みを含むことができる。コンテンツデータ130は、たとえば、コンテンツプロバイダ106によって提供されるか、またはコンテンツ選択を円滑にするためにデータ処理システムによって取得または決定されるコンテンツキャンペーン情報、コンテンツグループ、コンテンツ選択基準、コンテンツアイテムオブジェクトまたは他の情報を含むことができ
る。コンテンツデータ130は、たとえば、コンテンツキャンペーンの過去の実績を含み得る。
【0026】
インターフェース110、自然言語プロセッサコンポーネント112、セッションハンドラ114、ダイレクトアクションAPI116、コンテンツセレクタコンポーネント118、ポリシーエンジン120、またはオーディオ信号発生器コンポーネント122は、各々、プログラマブルロジックアレイエンジンなどの少なくとも1つの処理ユニットもしくは他の論理デバイス、またはデータベースリポジトリもしくはデータベース124と通信するように構成されているモジュールを含み得る。インターフェース110、自然言語プロセッサコンポーネント112、セッションハンドラ114、ダイレクトアクションAPI116、コンテンツセレクタコンポーネント118、ポリシーエンジン120、オーディオ信号発生器コンポーネント122、およびデータリポジトリ124は、別個のコンポーネント、単一のコンポーネント、またはデータ処理システム102の一部であってよい。データ処理システム102などの、システム100およびそのコンポーネントは、1つまたは複数のプロセッサ、論理デバイス、または回路などの、ハードウェア要素を備えることができる。
【0027】
データ処理システム102は、複数のコンピューティングデバイス104に関連付けられている匿名コンピュータネットワーク活動情報を取得することができる。コンピューティングデバイス104のユーザは、データ処理システム102がユーザのコンピューティングデバイス104に対応するネットワーク活動情報を取得することを肯定的に許可することができる。たとえば、データ処理システム102は、1つまたは複数の種類のネットワーク活動情報を取得するために同意を求めるプロンプトをコンピューティングデバイス104のユーザに出すことができる。コンピューティングデバイス104のユーザの識別情報は匿名のままであってよく、コンピューティングデバイス104は一意的識別子(たとえば、データ処理システムまたはコンピューティングデバイスのユーザによって提供されるユーザまたはコンピューティングデバイスに対する一意的識別子)に関連付けられ得る。データ処理システムは、各観察を対応する一意的識別子に関連付けることができる。
【0028】
コンテンツプロバイダ106は、電子コンテンツキャンペーンを確立することができる。電子コンテンツキャンペーンは、データリポジトリ124内にコンテンツデータ130として記憶され得る。電子コンテンツキャンペーンは、共通テーマに対応する1つまたは複数のグループを指すものとしてよい。コンテンツキャンペーンは、コンテンツグループ、コンテンツアイテムデータオブジェクト、およびコンテンツ選択基準を含む階層データ構造体を含み得る。コンテンツキャンペーンを作成するために、コンテンツプロバイダ106は、コンテンツキャンペーンのキャンペーンレベルパラメータに対する値を指定することができる。キャンペーンレベルパラメータは、たとえば、キャンペーン名、コンテンツアイテムオブジェクトを配置するための好ましいコンテンツネットワーク、コンテンツキャンペーンに使用されるべきリソースの値、コンテンツキャンペーンに対する開始日および終了日、コンテンツキャンペーンに対する持続時間、コンテンツアイテムオブジェクト配置のスケジュール、言語、地理的位置、コンテンツアイテムオブジェクトを提供する際のコンピューティングデバイスの種類を含むことができる。いくつかの場合において、印象は、コンテンツアイテムオブジェクトがそのソース(たとえば、データ処理システム102またはコンテンツプロバイダ106)からいつフェッチされるかを指すものとしてよく、カウント可能である。いくつかの場合において、ワンクリック詐欺の可能性があるため、ロボット活動は、印象として、フィルタリングされ、除外され得る。したがって、いくつかの場合において、印象はブラウザからのページ要求に対するウェブサーバからの応答の測定を指すものとしてよく、これはロボット活動およびエラーコードからフィルタリングされ、コンテンツアイテムオブジェクトをレンダリングしてコンピューティングデバイス104上に表示する機会にできる限り近い時点において記録される。いくつかの場合において、印象は、表示できるまたは聴き取れる印象を指すものとしてよく、たとえば、コンテンツアイテムオブジェクトは、クライアントコンピューティングデバイス104の表示デバイス上に少なくとも部分的に(たとえば、20%、30%、30%、40%、50%、60%、70%、またはそれ以上)表示可能であるか、またはコンピューティン
グデバイス104のスピーカ136を介して聴き取れる。クリックまたは選択は、聴き取れる印象への音声応答、マウスクリック、タッチインタラクション、ジェスチャー、シェイク、オーディオインタラクション、またはキーボードクリックなどの、コンテンツアイテムオブジェクトとのユーザインタラクションを指すものとしてよい。変換は、ユーザがコンテンツアイテムオブジェクトに関して所望のアクションを実行すること、たとえば、製品もしくはサービスを購入すること、調査を完遂すること、コンテンツアイテムに対応する実店舗を訪問すること、または電子取引を完遂することを指すものとしてよい。
【0029】
コンテンツプロバイダ106は、コンテンツキャンペーンに対する1つまたは複数のコンテンツグループをさらに確立することができる。コンテンツグループは、キーワード、単語、検索語、フレーズ、地理的位置、コンピューティングデバイスの種類、時刻、関心、話題、または垂直などの、1つまたは複数のコンテンツアイテムオブジェクトおよび対応するコンテンツ選択基準を含む。同じコンテンツキャンペーンの下にあるコンテンツグループは、同じキャンペーンレベルパラメータを共有することができるが、キーワード、否定的キーワード(たとえば、主コンテンツ上の否定的キーワードの存在下でのコンテンツアイテムの配置をブロックする)、キーワードに対する入札、または入札もしくはコンテンツキャンペーンに関連付けられているパラメータなどの、特定のコンテンツグループレベルパラメータに対する指定を修正している場合もある。
【0030】
新規コンテンツグループを作成するために、コンテンツプロバイダは、コンテンツグループのコンテンツグループレベルパラメータに対する値を提供することができる。コンテンツグループレベルパラメータは、たとえば、コンテンツグループ名またはコンテンツグループテーマ、および異なるコンテンツ配置機会(たとえば、自動配置もしくは管理された配置)または成果(たとえば、クリック、印象、または変換)を含む。コンテンツグループ名またはコンテンツグループテーマは、コンテンツプロバイダ106がコンテンツグループのコンテンツアイテムオブジェクトが表示のために選択されるべきである話題または主題を捕らえるために使用できる1つまたは複数の検索語であってよい。たとえば、自動車の販売代理店は、保有している車両の各ブランドに対して異なるコンテンツグループを作成することができ、保有している車両の各モデルに対する異なるコンテンツグループをさらに作成し得る。自動車の販売代理店が使用することができるコンテンツグループテーマの例は、たとえば、「Make A sports car」、「Make B sports car」、「Make C sedan」、「Make C truck」、「Make C hybrid」、「Make D hybrid」を含む。たとえば、例示的なコンテンツキャンペーンテーマが「hybrid」であり、「Make C hybrid」および「Make D hybrid」の両方に対するグループコンテンツを含み得る。
【0031】
コンテンツプロバイダ106は、各コンテンツグループに1つまたは複数のキーワードおよびコンテンツアイテムオブジェクトを与えることができる。キーワードは、コンテンツアイテムオブジェクトに関連付けられるか、または識別される製品もしくはサービスに関連する検索語を含むことができる。キーワードは、1つまたは複数の検索語もしくはフレーズを含むことができる。たとえば、自動車の販売代理店は、コンテンツグループまたはコンテンツキャンペーンに対するキーワードとして、「sports car」、「V-6 engine」、「four-wheel drive」、「fuel efficiency」を含むことができる。いくつかの場合において、否定的キーワードは、いくつかの検索語またはキーワードに関してコンテンツ配置を回避するか、防止するか、ブロックするか、または無効にするためにコンテンツプロバイダによって指定され得る。コンテンツプロバイダは、コンテンツアイテムオブジェクトを選択するために使用される、完全一致、フレーズ一致、またはあいまい一致などのマッチングの種類を指定することができる。
【0032】
コンテンツプロバイダ106は、コンテンツプロバイダ106によって与えられるコンテンツアイテムオブジェクトを選択するためにデータ処理システム102によって使用されるべき1つまたは複数のキーワードを提供することができる。コンテンツプロバイダ106は、値付けする1つまたは複数のキーワードを識別し、様々なキーワードに対する入札額を提示することができる。コンテンツプロバイダ106は、コンテンツアイテムオブジェクトを選択するためにデータ処理システム102によって使用されるべき追加のコンテンツ選択基準を提供することができる。複数のコンテンツプロバイダ106は、同じまたは異なるキーワードに値付けすることができ、データ処理システム102は、電子メッセージのキーワードの指示を受信したことに応答してコンテンツ選択プロセスまたは広告オークションを実行することができる。
【0033】
コンテンツプロバイダ106は、データ処理システム102によって選択される1つまたは複数のコンテンツアイテムオブジェクトを提供することができる。データ処理システム102は、(たとえば、コンテンツセレクタコンポーネント118を介して)、コンテンツグループに対して指定されたリソース割り振り、コンテンツスケジュール、最高入札、キーワード、および他の選択基準と一致するコンテンツ配置機会が利用可能になったときにコンテンツアイテムオブジェクトを選択することができる。音声コンテンツアイテム、オーディオコンテンツアイテム、テキストコンテンツアイテム、画像コンテンツアイテム、ビデオコンテンツアイテム、マルチメディアコンテンツアイテム、またはコンテンツアイテムリンクなどの、異なる種類のコンテンツアイテムオブジェクトがコンテンツグループに含まれ得る。コンテンツアイテムを選択した後、データ処理システム102は、コンテンツアイテムオブジェクトを伝送して、コンピューティングデバイス104またはコンピューティングデバイス104の表示デバイス上にレンダリングすることができる。レンダリングするステップは、表示デバイス上にコンテンツアイテムを表示するステップ、またはコンピューティングデバイス104のスピーカを介してコンテンツアイテムを再生するステップを含み得る。データ処理システム102は、コンテンツアイテムオブジェクトをレンダリングする命令をコンピューティングデバイス104に送ることができる。データ処理システム102は、コンピューティングデバイス104、コンピューティングデバイス104のオーディオドライバ138に、オーディオ信号または音響波を生成するように命令することができる。
【0034】
データ処理システム102は、たとえば、データパケットを使用して情報を送受信するように設計されるか、構成されるか、構築されるか、または動作可能であるインターフェースコンポーネント110を備えることができる。インターフェース110は、ネットワークプロトコルなどの、1つまたは複数のプロトコルを使用して情報を送受信することができる。インターフェース110は、ハードウェアインターフェース、ソフトウェアインターフェース、有線インターフェース、またはワイヤレスインターフェースを含むことができる。インターフェース110は、一方のフォーマットから別のフォーマットに変換するか、またはフォーマットすることを円滑にすることができる。たとえば、インターフェース110は、ソフトウェアコンポーネントなどの、様々なコンポーネントの間の通信に対する定義を含むアプリケーションプログラミングインターフェースを含むことができる。
【0035】
データ処理システム102は、入力オーディオ信号をデータ処理システム102のインターフェース110に伝達し、クライアントコンピューティングデバイスのコンポーネントを、出力オーディオ信号をレンダリングするように駆動するためのアプリなどのクライアントコンピューティングデバイス104にインストールされているアプリケーション、スクリプト、またはプログラムを含むことができる。データ処理システム102は、データパケットまたはオーディオ入力信号を含むかもしくは識別する他の信号を受信することができる。たとえば、データ処理システム102は、NLPコンポーネント112を実行するか、作動させることでオーディオ信号を受信もしくは取得し、オーディオ信号を解析することができる。たとえば、NLPコンポーネント112は、人間とコンピュータとの間のインタラクションを取り持つことができる。NLPコンポーネント112は、自然言語を理解し、人間または自然言語入力から意味を導出することをデータ処理システム102に行わせるための技術とともに構成され得る。NLPコンポーネント112は、統計的機械学習などの、機械学習に基づく技術を含むか、またはその技術とともに構成され得る。NLPコンポーネント112は、決定木、統計モデル、または確率的モデルを利用して、入力オーディオ信号を解析することができる。NLPコンポーネント112は、たとえば、名前付きエンティティ認識(たとえば、テキストのストリームが与えられた場合に、人々または場所などのテキスト内のどのアイテムが適切な名前にマップされるか、および人、場所、または組織などの、そのような各名前の種類がどのようなものであるかを決定する)、自然言語生成(たとえば、コンピュータデータベースからの情報または意味論的意図を理解可能な人間言語に変換する)、自然言語理解(たとえば、テキストをコンピュータモジュールが操作することができる一階論理構造などのより形式的な言語に変換する)、機械翻訳(たとえば、テキストを一方の人間言語から他方の人間言語に自動的に翻訳する)、形態論的分割(たとえば、単語を個別の形態素に分離し、形態素のクラスを識別するが、これは考察されている言語の単語の形態または構造の複雑度に基づき困難な場合があり得る)、質問回答(たとえば、人間言語質問への回答を決定する、これは限定的で
ある場合も限定的でない場合もある)、意味処理(たとえば、単語を識別し、その意味を符号化し、識別された単語を類似の意味を有する他の単語に関係付けた後に行われ得る処理)などの機能を実行することができる。
【0036】
NLPコンポーネント112は、入力信号を、記憶されている代表的な一組のオーディオ波形(たとえば、データリポジトリ124内の)と比較し、最もよく一致するものを選択することによってオーディオ入力信号を認識されたテキストに変換する。一組のオーディオ波形は、データ処理システム102にアクセス可能なデータリポジトリ124または他のデータベースに記憶され得る。代表的な波形は、大きいユーザ群について生成され、次いで、ユーザの話し声サンプルで強化され得る。オーディオ信号が認識されたテキストに変換された後、NLPコンポーネント112は、テキストと、たとえば、ユーザにまたがる学習を介して、または手動による指定を通じて、データ処理システム102が利用され得るアクションに関連付けられている単語とのマッチングを行う。
【0037】
オーディオ入力信号は、クライアントコンピューティングデバイス104のセンサ134またはトランスデューサ136(たとえば、マイクロフォン)によって検出され得る。トランスデューサ136、オーディオドライバ138、または他のコンポーネントを介して、クライアントコンピューティングデバイス104は、オーディオ入力信号をデータ処理システム102に(たとえば、ネットワーク105を介して)送ることができ、これは(たとえば、インターフェース110によって)受信され、NLPコンポーネント112に送られるか、またはデータリポジトリ124内に記憶され得る。
【0038】
NLPコンポーネント112は、入力オーディオ信号を取得することができる。NLPコンポーネント112は、入力オーディオ信号から、少なくとも1つの要求または要求に対応する少なくとも1つのトリガーキーワードを識別することができる。要求は、入力オーディオ信号の意図または主題を指示することができる。トリガーキーワードは、行われる可能性の高いアクションの種類を指示することができる。たとえば、NLPコンポーネント112は、入力オーディオ信号を解析して、ディナーおよび映画に出席するため夕方に家を出る少なくとも1つの要求を識別することができる。トリガーキーワードは、少なくとも1つの単語、フレーズ、語幹もしくは部分単語、または行われるべきアクションを指示する派生語を含み得る。たとえば、入力オーディオ信号からのトリガーキーワード「go」または「to go to」は、輸送の必要性を指示し得る。この例では、入力オーディオ信号(または識別された要求)は、輸送の意図を直接表すことはないが、トリガーキーワードは、要求によって指示される少なくとも1つの他のアクションの補助アクションであることを指示する。
【0039】
NLPコンポーネント112は、入力オーディオ信号を解析して、要求およびトリガーキーワードを識別するか、決定するか、取り出すか、または他の何らかの形で取得することができる。たとえば、NLPコンポーネント112は、意味処理技術(Semantic Processing Technique)を入力オーディオ信号に適用して、トリガーキーワードまたは要求を識別することができる。NLPコンポーネント112は、意味処理技術を入力オーディオ信号に適用して、第1のトリガーキーワードおよび第2のトリガーキーワードなどの、1つまたは複数のトリガーキーワードを含むトリガーフレーズを識別することができる。たとえば、入力オーディオ信号は、「I need someone to do my laundry and my dry cleaning」という文を含むことができる。NLPコンポーネント112は、意味処理技術、または他の自然言語処理技術を、文を含むデータパケットに適用して、「do my laundry」および「do my dry cleaning」というトリガーキーワードを識別することができる。NLPコンポーネント112は、laundryおよびdry cleaningなどの、複数のトリガーキーワードをさらに識別することができる。たとえば、NLPコンポーネント112は、トリガーフレーズがそのトリガーキーワードおよび第2のトリガーキーワードを含むと決定することができる。
【0040】
NLPコンポーネント112は、入力オーディオ信号をフィルタリングしてトリガーキーワードを識別することができる。たとえば、入力オーディオ信号を搬送するデータパケットは、「It would be great if I could get someone that could help me go to the airport」を含むことができ、その場合、NLPコンポーネント112は「it」、「would」、「be」、「great」、「if」、「I」、「could」、「get」、「someone」、「that」、「could」、または「help」のように1つまたは複数の検索語をフィルタリングで除去することができる。これらの検索語をフィルタリングで除去することによって、NLPコンポーネント112は、「go to the airport」などの、トリガーキーワードをより正確にかつ確実に識別し、これがタクシーまたは乗車シェアサービスの要求であると決定することができる。
【0041】
いくつかの場合において、NLPコンポーネントは、入力オーディオ信号を搬送するデータパケットが1つ複数の要求を含むと決定することができる。たとえば、入力オーディオ信号は、「I need someone to do my laundry and my dry cleaning」という文を含むことができる。NLPコンポーネント112は、ランドリーサービスおよびドライクリーニングサービスの要求であると決定することができる。NLPコンポーネント112は、ランドリーサービスおよびドライクリーニングサービスの両方を提供することができるサービスプロバイダに対する単一の要求であると決定することができる。NLPコンポーネント112は、これが、2つの要求、すなわち、ランドリーサービスを実行するサービスプロバイダに対する第1の要求およびドライクリーニングサービスを提供するサービスプロバイダに対する第2の要求であると決定することができる。いくつかの場合において、NLPコンポーネント112は、複数の決定された要求を組み合わせて単一の要求にし、単一の要求をサービスプロバイダデバイス108に伝送することができる。いくつかの場合において、NLPコンポーネント112は、個別の要求を各サービスプロバイダデバイス108に伝送するか、または両方の要求を別々に同じサービスプロバイダデバイス108に伝送することができる。
【0042】
データ処理システム102は、トリガーキーワードに基づき、要求に応答する第1のアクションデータ構造体を生成するように設計され構築されたダイレクトアクションAPI116を備えることができる。データ処理システム102のプロセッサは、ダイレクトアクションAPI116を呼び出して、カーシェアサービスからの自動車などのサービスまたは製品を要求するか、または注文するサービスプロバイダデバイス108へのデータ構造体を生成するスクリプトを実行することができる。ダイレクトAPI116は、データリポジトリ124からのデータ、さらにクライアントコンピューティングデバイス104からエンドユーザの同意を得て受信されたデータを取得して、場所、時間、ユーザアカウント、物流もしくは他の情報を決定し、サービスプロバイダデバイス108がカーシェアサービスに自動車を予約するなどのオペレーションを実行することを可能にすることができる。ダイレクトアクションAPI116を使用することで、データ処理システム102は、また、サービスプロバイダデバイス108と通信して、この例による変換を完遂し、カーシェアピックアップ予約を行うこともできる。
【0043】
ダイレクトアクションAPI116は、NLPコンポーネント112からの命令またはコマンド、またはデータ処理システム102の他のコンポーネントを受信して、第1のアクションデータ構造体を生成または構築することができる。ダイレクトアクションAPI116は、データリポジトリ124に記憶されているテンプレートリポジトリ132からのテンプレートを選択するためにアクションの種類を決定することができる。アクションの種類は、たとえば、サービス、製品、予約、またはチケットを含むことができる。アクションの種類は、サービスまたは製品の種類をさらに含むことができる。たとえば、サービスの種類は、カーシェアサービス、食品配達サービス、ランドリーサービス、メイドサービス、修理サービス、または家事サービスを含むことができる。製品の種類は、たとえば、衣類、靴、おもちゃ、電子機器、コンピュータ、書籍、または宝飾品を含むことができる。予約の種類は、たとえば、ディナー予約または美容室予約を含むことができる。チケットの種類は、たとえば、映画チケット、スポーツ会場チケット、または航空券を含むことができる。いくつかの場合において、サービス、製品、予約、またはチケットの種類は、価格、場所、出荷の種類、入手性、または他の属性に基づき分類され得る。
【0044】
ダイレクトアクションAPI116は、データ処理システム102によって決定されるような、エンドユーザの意図を満足させるために指定されたアクションを実行することができる。その入力で指定されているアクションに応じて、ダイレクトアクションAPI116は、ユーザ要求を履行するために必要なパラメータを識別するコードまたはダイアログスクリプトを実行することができる。そのようなコードは、ホームオートメーションサービスの名称などの、たとえば、データリポジトリ124内にある追加情報を探索し得るか、または要求されたタクシーの意図された目的地などのエンドユーザ質問を尋ねるようにクライアントコンピューティングデバイス104においてレンダリングするためのオーディオ出力を行うことができる。ダイレクトアクセスAPI116は、必要なパラメータを決定することができ、情報をアクセションデータ構造体にパッケージ化することができ、次いで、これは、コンテンツセレクタコンポーネント118などの別のコンポーネントに、または履行されるべきサービスプロバイダコンピューティングデバイス108に送信され得る
【0045】
ダイレクトAPI116は、要求の種類を識別した後に、テンプレートリポジトリ132から対応するテンプレートにアクセスすることができる。テンプレートは、サービスプロバイダデバイス108の要求されたオペレーション(ピックアップ場所でエンドユーザをピックアップし、エンドユーザを目的地まで輸送するためにタクシーを送るオペレーションなど)を促進するためにダイレクトアクションAPI116によって埋められ得るフィールドを構造化データセットに入れることができる。フィールドは、数値、文字列、Unicode値、ブール論理、2進値、16進値、識別子、場所の座標、地理的領域、タイムスタンプ、または他の値で埋められ得る。フィールドまたはデータ構造体のそれ自体は、データセキュリティを維持するように暗号化またはマスクすることができる。
【0046】
ダイレクトアクションAP116は、テンプレートリポジトリ132に対して探索または他の問い合わせ実行し、トリガーキーワードおよび要求の1つまたは複数の特性と一致するテンプレートを選択することができる。たとえば、要求が自動車または目的地への乗車の要求に対応する場合、データ処理システム102は、カーシェアリングサービステンプレートを選択することができる。カーシェアリングサービステンプレートは、デバイス識別子、ピックアップ場所、目的地、乗客数、またはサービスの種類のうちの1つまたは複数のフィールドを備えることができる。ダイレクトアクションAPI116は、これらのフィールドに値を埋め込むことができる。これらのフィールドに値を埋め込むために、ダイレクトアクションAPI116は、コンピューティングデバイス104の1つまたは複数のセンサ134またはデバイス104のユーザインターフェースにpingを行うか、ポーリングを行うか、または他の何らかの形でそこから情報を取得することができる。たとえば、ダイレクトアクションAPI116は、GPSセンサなどの位置センサを使用して発信元位置を検出することができる。ダイレクトアクションAPI116は、コンピューティングデバイス104のエンドユーザに調査、プロンプト、または問い合わせをサブミットすることによってさらなる情報を取得することができる。ダイレクトアクションAPIは、データ処理システム102のインターフェース110およびコンピューティングデバイス104のユーザインターフェース(たとえば、オーディオインターフェース、音声ベースユーザインターフェース、ディスプレイ、またはタッチスクリーン)を介して調査、プロンプト、または問い合わせをサブミットすることができる。したがって、ダイレクトアクションAPI116は、トリガーキーワードまたは要求に基づき第1のアクションデータ構造体に対するプレートを選択し、1つまたは複数のセンサ134によって検出されるか、またはユーザインターフェースを介して取得される情報をテンプレート内の1つまたは複数のフィールドに埋め込み、サービスプロバイダデバイス108によるオペレーションの実行を円滑にするように第1のアクションデータ構造体を生成するか、作成するか、または他の何らかの形で構築することができる。
【0047】
データ処理システム102は、コンテンツセレクタコンポーネント118を備えるか、実行するか、または他の何らかの形で通信して、自然言語プロセッサによって識別されたトリガーキーワードを受信し、トリガーキーワードに基づき、リアルタイムコンテンツ選択プロセスを介してコンテンツアイテムを選択することができる。コンテンツ選択プロセスは、サードパーティコンテンツプロバイダ106によって提供されるスポンサー付きコンテンツアイテムを選択するステップを指すか、または含むことができる。リアルタイムコンテンツ選択プロセスは、複数のコンテンツプロバイダによって提供されるコンテンツアイテムがコンピューティングデバイス104に提供する1つまたは複数のコンテンツアイテムを選択するために解析されるか、処理されるか、重み付けされるか、またはマッチングが行われるサービスを含むことができる。コンテンツセレクタコンポーネント118は、コンテンツ選択プロセスをリアルタイムで実行することができる。コンテンツ選択プロセスをリアルタイムで実行するステップは、クライアントコンピューティングデバイス104を介して受信されるコンテンツに対する要求に応答してコンテンツ選択プロセスを実行するステップを指すものとしてよい。リアルタイムコンテンツ選択プロセスは、要求を受信する時間間隔(たとえば、5秒、10秒、20秒、30秒、1分、2分、3分、5分、10分、または20分)の範囲内で実行され(たとえば、開始するか、または完了し)得る。リアルタイムコンテンツ選択プロセスは、クライアントコンピューティングデバイス104との通信セッションにおいて、または通信セッションが終了した後の時間間隔内で実行され得る。
【0048】
たとえば、データ処理システム102は、コンテンツアイテムオブジェクトを選択するように設計されるか、構築されるか、構成されるか、または動作可能であるコンテンツセレクタコンポーネント118を備えることができる。音声ベース環境に表示するコンテンツアイテムを選択するために、データ処理システム102は(たとえば、NLPコンポーネント112を介して)、入力オーディオ信号を解析してキーワード(たとえば、トリガーキーワード)を識別し、それらのキーワードを使用して、あいまい一致、完全一致、またはフレーズ一致に基づき一致するコンテンツアイテムを選択することができる。たとえば、コンテンツセレクタコンポーネント118は、候補コンテンツアイテムの主題を分析するか、解析するか、または他の何らかの形で処理して、候補コンテンツアイテムの主題がクライアントコンピューティングデバイス104のマイクロフォンによって検出された入力オーディオ信号のキーワードまたはフレーズの主題に対応するかどうかを決定することができる。コンテンツセレクタコンポーネント118は、画像処理技術、文字認識技術、自然言語処理技術、またはデータベース探索を使用して候補コンテンツアイテムの音声、オーディオ、検索語、文字、テキスト、シンボル、または画像を識別するか、分析するか、または認識し得る。候補コンテンツアイテムは、候補コンテンツアイテムの主題を示すメタデータを含むものとしてよく、その場合、コンテンツセレクタコンポーネント118はメタデータを処理して、候補コンテンツアイテムの主題が入力オーディオ信号に対応しているかどうかを決定し得る。
【0049】
コンテンツプロバイダ106は、コンテンツアイテムを含むコンテンツキャンペーンをセットアップするときに追加のインジケータを提供することができる。コンテンツプロバイダは、コンテンツセレクタコンポーネント118が候補コンテンツアイテムに関する情報を使用して探索を実行することによって識別することができるコンテンツキャンペーンまたはコンテンツグループレベルの情報を提供し得る。たとえば、候補コンテンツアイテムは、コンテンツグループ、コンテンツキャンペーン、コンテンツプロバイダにマップし得る、一意的識別子を含み得る。コンテンツセレクタコンポーネント118は、データリポジトリ124内のコンテンツキャンペーンデータ構造体に記憶されている情報に基づき、コンテンツプロバイダ106に関する情報を決定し得る。
【0050】
データ処理システム102は、コンピュータネットワークを介して、コンピューティングデバイス104上に提示するコンテンツの要求を受信することができる。データ処理システム102は、クライアントコンピューティングデバイス104のマイクロフォンによって検出された入力オーディオ信号を処理することによって要求を識別することができる。要求は、デバイスの種類、場所、および要求に関連付けられているキーワードなどの、要求の選択基準を含むことができる。
【0051】
この要求に応答して、データ処理システム102は、データリポジトリ124、またはコンテンツプロバイダ106に関連付けられているデータベースからコンテンツアイテムオブジェクトを選択し、ネットワーク105を介し、またコンピューティングデバイス104を介して提示するコンテンツアイテムを提供することができる。コンピューティングデバイス104は、コンテンツアイテムオブジェクトをインタラクティブに操作することができる。コンピューティングデバイス104は、コンテンツアイテムへのオーディオ応答を受信することができる。コンピューティングデバイス104は、サービスプロバイダ108を識別することをコンピューティングデバイス104に行わせるか、または行わせることを可能にするコンテンツアイテムオブジェクトに関連付けられているハイパーリンクまたは他のボタンを選択する、サービスプロバイダ108にサービスを要求する、サービスを実行するようにサービスプロバイダ108に命令する、情報をサービスプロバイダ108に伝送する、または他の何らかの形でサービスプロバイダデバイス108に問い合わせる指示を受け取ることができる。
【0052】
データ処理システム102は、出力信号を生成するためにオーディオ信号発生器コンポーネント122を備えるか、実行するか、または通信することができる。出力信号は、1つまたは複数の部分を含み得る。たとえば、出力信号は、第1の部分と第2の部分とを備えるものとしてよい。出力信号の第1の部分は、第1のアクションデータ構造体に対応し得る。出力信号の第2の部分は、リアルタイムコンテンツ選択プロセスにおいてコンテンツセレクタコンポーネント118によって選択されたコンテンツアイテムに対応し得る。
【0053】
オーディオ信号発生器コンポーネント122は、第1の部分が第1のデータ構造体に対応する音を有する出力信号を生成することができる。たとえば、オーディオ信号発生器コンポーネント122は、ダイレクトアクションAPI116によって第1のアクションデータ構造体のフィールド内に埋め込まれている1つまたは複数の値に基づき出力信号の第1の部分を生成することができる。タクシーサービスの例では、フィールドに対する値は、たとえば、ピックアップ場所に対する123 Main Street、目的地に対する1234 Main Street、乗客数に対する2、およびサービスのレベルに対する経済性を含むことができる。オーディオ信号発生器コンポーネント122は、コンピューティングデバイスのエンドユーザがサービスプロバイダ108への要求伝送の継続を望んでいることを確認するために出力信号の第1の部分を生成することができる。第1の部分は、「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?」という出力を含むことができる。
【0054】
いくつかの場合において、第1の部分は、サービスプロバイダデバイス108から受信された情報を含み得る。サービスプロバイダデバイス108から受信された情報は、第1のアクションデータ構造体に合わせてカスタマイズされるか、または手直しされ得る。たとえば、データ処理システム102は(たとえば、ダイレクトアクションAPI116を介して)、第1のアクションデータ構造体をサービスプロバイダ108に伝送し、その後に、オペレーションを実行するようにサービスプロバイダ108に命令することができる。その代わりに、データ処理システム102は、第1のアクションデータ構造体に初期または予備的処理を実行してオペレーションに関する予備的情報を生成するようにサービスプロバイダデバイス108に命令することができる。タクシーサービスの例では、第1のアクションデータ構造体に対する予備的処理は、ピックアップ場所の周りに配置されるサービス要件のレベルを満たす利用可能なタクシーを識別するステップと、最も近い利用可能なタクシーがピックアップ場所に到着するまでの時間の長さを推定するステップと、目的地への到着時刻を推定するステップと、タクシーサービスの料金を推定するステップとを含むことができる。推定された予備的値は、固定された値、様々な条件に基づき変更を受ける推定値、または値の範囲を含み得る。サービスプロバイダデバイス108は、ネットワーク104を介して、予備的情報をデータ処理システム102に返すか、またはクライアントコンピューティングデバイス104に直接返すことができる。データ処理システム102は、サービスプロバイダデバイス108からの予備的結果を出力信号に組み込み、出力信号をコンピューティングデバイス104に伝送することができる。出力信号は、たとえば、「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?」を含むことができる。これは、出力信号の第1の部分を形成し得る。
【0055】
いくつかの場合において、データ処理システム102は、出力信号の第2の部分を形成することができる。出力信号の第2の部分は、リアルタイムコンテンツ選択プロセスにおいてコンテンツセレクタコンポーネント118によって選択されたコンテンツアイテムを含み得る。第1の部分は、第2の部分と異なり得る。たとえば、第1の部分は、クライアントコンピューティングデバイス104のセンサ134によって検出された入力オーディオ信号を搬送するデータパケットに直接応答する第1のアクションデータ構造体に対応する情報を含むことができるが、第2の部分は、第1のアクションデータ構造体にわずかに関連し得るコンテンツセレクタコンポーネント104によって選択されたコンテンツアイテム、またはコンテンツプロバイダデバイス106によって提供されたスポンサー付きコンテンツを含むことができる。たとえば、コンピューティングデバイス104のエンドユーザは、Taxi Service Company Aにタクシーを要求することができる。データ処理システム102は、Taxi Service Company Aからタクシーに関する情報を含むように出力信号の第1の部分を生成することができる。しかしながら、データ処理システム102は、キーワード「taxi service」とエンドユーザが関心を持っていると思われる第1のアクションデータ構造体に収容されている情報とに基づき選択されたコンテンツアイテムを含むように出力信号の第2の部分を生成することができる。たとえば、第2の部分は、Taxi Service Company Bなどの、異なるタクシーサービス会社によって提供されるコンテンツアイテムまたは情報を含み得る。ユーザは、Taxi Service Company Bを特に要求していない場合があるが、データ処理システム102は、それにもかかわらず、ユーザがTaxi Service Company Bとのオペレーションを実行することを選択し得るのでTaxi Service Company Bからコンテンツアイテムを提供することができる。
【0056】
データ処理システム102は、第1のアクションデータ構造体からの情報をTaxi Service Company Bに伝送して、ピックアップ時刻、目的地の到着時刻、および乗車料金を決定することができる。データ処理システム102は、この情報を受信し、「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?」のような出力信号の第2の部分を生成することができる。次いで、コンピューティングデバイス104のエンドユーザは、Taxi Service Company Aによって提供される乗車サービスまたはTaxi Service Company Bによって提供される乗車サービスを選択することができる。
【0057】
出力信号の第2の部分で、Taxi Service Company Bによって提供されるサービスに対応するスポンサー付きコンテンツアイテムを提供する前に、データ処理システム102は、第2の部分がリアルタイムコンテンツ選択プロセスにおいて選択されたコンテンツアイテムオブジェクトに対応することをエンドユーザコンピューティングデバイスに通知することができる(たとえば、コンテンツセレクタコンポーネント118によって)。しかしながら、データ処理システム102では、コンピューティングデバイス104のエンドユーザに通知を提供するための異なる種類のインターフェースへのアクセスは限られている可能性がある。たとえば、コンピューティングデバイス104は、表示デバイスを備えないか、または表示デバイスは、無効にされるか、またはオフにされ得る。コンピューティングデバイス104の表示デバイスは、コンピューティングデバイス104のスピーカよりも消費するリソースが多くなる場合があり、したがって、コンピューティングデバイス104のスピーカを使用して通知を伝えるのと比べてコンピューティングデバイス104の表示デバイスをオンにすることは効率が低い場合がある。したがって、いくつかの場合において、データ処理システム102は、1つもしくは複数のインターフェースまたは1つもしくは複数の種類のコンピュータネットワーク上の情報伝送の効率および有効性を改善することができる。たとえば、データ処理システム102は(たとえば、オーディオ信号発生器コンポーネント122を介して)、コンテンツアイテムを含む出力オーディオ信号の一部分を変調して、出力信号のその部分がスポンサー付きコンテンツアイテムを含むという指示または通知をエンドユーザに与えることができる。
【0058】
オーディオ信号発生器コンポーネント122は、1つまたは複数のオーディオ変調技術を使用して出力信号を生成することができる。オーディオ変調技術は、たとえば、周波数偏移(Frequency Shift)、振幅偏移(Amplitude Shift)、オーディオオーバーレイ、またはオーディオ透かし(Audio Watermark)を含むことができる。オーディオ変調技術は、いくつかの場合において、変調を適用するかもしくは元の出力信号の一部を変更すること、または元のオーディオ信号を変更もしくは変調しないこと(たとえば、元の出力信号の一部に対する変更または変調がないこと)を含み得る。
【0059】
データ処理システム102は、第1のオーディオ変調のある出力信号の第1の部分を生成することができる。データ処理システム102は、第2のオーディオ変調のある出力信号の第2の部分を生成することができる。第1のオーディオ変調は、出力信号の第1の部分が出力信号の第2の部分と異なる種類のものであることを指示するために第2のオーディオ変調と異なるものとしてよい。たとえば、出力信号の第1の部分の第1のオーディオ変調は、第1の部分が有機的結果であるか、またはエンドユーザの入力オーディオ信号に直接応答することを指示し得る。出力信号の第2の部分の第2のオーディオ変調は、第2の部分がリアルタイムコンテンツ選択プロセスにおいてコンテンツセレクタによって選択されたスポンサー付きコンテンツアイテムであることを指示することができる。
【0060】
第1のオーディオ変調は、既定のオーディオ変調を含むことができる。既定のオーディオ変調は、いくつかの場合において、音を変調しないことを指す。たとえば、既定の変調は、ゼロ周波数偏移、ピッチ偏移なし、振幅変化なし、またはオーディオ透かしなしを指すものとしてよい。いくつかの場合において、第1の部分は、ピッチ、周波数、音質、振幅(たとえば、音量)を増減するか、またはオーディオ透かしを適用することによって変調され得る。
【0061】
オーディオ信号発生器コンポーネント122は、出力信号の一部分の周波数を偏移させることによって出力信号の少なくとも一部を変調することができる。オーディオ信号発生器コンポーネント122は、出力信号の一部分の周波数を高くするか、または低くすることができる。オーディオ信号発生器コンポーネント122は、出力信号の周波数を高くすることで、結果として元の出力信号と比較してより高い周波数、トーン、またはピッチを持つ出力信号を生成することができる。オーディオ信号発生器コンポーネント122は、出力信号の周波数を低くすることで、結果として元の出力信号と比較してより低い周波数、トーン、またはピッチを持つ出力信号を生成することができる。オーディオ信号発生器コンポーネントは、出力信号の低音域または高音域を調整することができる。
【0062】
オーディオ信号発生器コンポーネント122は、ミキサまたは周波数ミキサを備えることができる。ミキサは、印加される2つの信号から新しい周波数の信号を生成する非線形電気回路を指すものとしてよい。たとえば、周波数f1およびf2の2つの信号がミキサに適用され、ミキサは、ヘテロダインと称される、元の周波数の和f1+f2および差f1-f2の新しい信号を生成することができる。
【0063】
オーディオ信号発生器コンポーネント122は、出力信号の少なくとも一部に記録された音のピッチを上げるか、または下げることができるピッチシフタ、ピッチベンダ、またはオートチューナを含むことができる。ピッチシフタは、プリセットされた、またはあらかじめ決定されている間隔だけオーディオ信号のピッチを上げるか、または下げるサウンドエフェクトユニットを指すものとしてよい。たとえば、ピッチを4度上げるように設定されているピッチシフタは、各音符を実際に演奏される音符よりも全音階的音程3つ分高くすることができる。ピッチシフタは、1もしくは2オクターブ、または音程変化の範囲だけピッチを上げるか、または下げることができる。ピッチシフタは、「偏移された」ピッチを元のピッチと組み合わせて2音以上の和音を作成するハーモナイザを備えることができる。
【0064】
いくつかの場合において、出力信号は、デジタル録音を含むことができる。オーディオ信号発生器コンポーネント122は、デジタル信号処理を通じてデジタル録音に対してピッチ偏移を実行することができる。オーディオ信号発生器122は、生成後にまたはリアルタイムでピッチ値を偏移させることができる。たとえば、オーディオ信号発生器コンポーネント122は、ピッチ偏移部分を持つ出力信号を生成し、ピッチ偏移値を持つ出力信号を含むデータパケットをクライアントコンピューティングデバイス104に伝送して再生することができる。いくつかの場合において、オーディオ信号発生器コンポーネント122は、命令を含む出力信号をクライアントコンピューティングデバイス104に伝送してピッチ値を再生中にリアルタイムで偏移させることができる。クライアントコンピューティングデバイス104は、ペイロード内の出力信号さらにはピッチ値を上または下に偏移させる命令、およびピッチを偏移させる量を搬送するデータパケットを受信することができる。クライアントコンピューティングデバイス104は、データ処理システム102から(たとえば、ネットワーク105を介して)出力信号およびピッチ命令を受信することができる。クライアントコンピューティングデバイス104は(たとえば、オーディオドライバ138を介して)、クライアントコンピューティングデバイス102のスピーカ(たとえば、136)が音を再生するときに出力信号の一部分の周波数を偏移させることができる。
【0065】
オーディオ信号発生器コンポーネント122は、出力の振幅を増大させるための増幅器を備えることができる。オーディオ信号発生器コンポーネント122は、デジタル信号処理技術を適用して、出力信号の少なくとも一部分の振幅を増大させることができる。オーディオ信号発生器コンポーネント122は、トランスデューサ136またはスピーカよって生成される音の少なくとも一部分の振幅を増大させる命令をオーディオドライバ138に伝送することができる。オーディオ信号発生器コンポーネント122は、出力の1つまたは複数の部分への1つまたは複数の種類の変調を含むオーディオファイルを生成することができる。
【0066】
オーディオ信号発生器コンポーネント122は、オーディオ透かしを出力信号の少なくとも一部分に適用することができる。オーディオ透かし入れは、取り除くことが困難であるような仕方で情報を信号(たとえば、オーディオ信号)内に埋め込むプロセスを指すものとしてよい。たとえば、透かしは、透かしを取り除くと元のオーディオ信号が歪み、元のオーディオ信号が望ましくないか、または適当でない信号になるように周波数スペクトル全体にわたって適用され得る。信号が複製される場合、情報もその複製で搬送される。オーディオ透かしは、取り除くことが困難である識別子、一意的識別子、または他の信号もしくは情報を含むことができる。いくつかの場合において、オーディオ透かしは、出力信号の周波数スペクトル全体にわたって適用され得る。オーディオ透かしは、可聴周波数範囲(たとえば、20Hzから20,000Hz)内の信号を含むことができる。
【0067】
オーディオ信号発生器コンポーネント122は、オーディオオーバーレイを出力信号の少なくとも一部分に適用することができる。オーディオオーバーレイは、トーン、音符、フレーズ、楽器、拍子、または他のオーディオオーバーレイを含むことができる。オーディオオーバーレイは、出力信号の一部分と同じまたは異なる振幅を有することができる。たとえば、オーディオオーバーレイは、コンピューティングデバイス104のエンドユーザによってバックグラウンドオーディオまたは音であるように知覚され得る。オーディオオーバーレイは、「This content item provided by content provider」などの陳述を含むことができる。
【0068】
したがって、コンテンツアイテムに対応する出力の一部を変調することによって、データ処理システム102は(たとえば、オーディオ信号発生器コンポーネント122を介して)、オーディオインターフェースを介してコンテンツアイテムに関する追加情報を効率よく伝送することができる。元のコンテンツアイテムは、変調されてよい。元のコンテンツアイテムは、そのコンテンツアイテムがスポンサー付きコンテンツアイテムに対応するという指示、または可聴指示を含み得ない。データ処理システム102は、元のコンテンツアイテムがそのような通知または指示を含み得ないのでコンテンツアイテムに対応する部分を変調することができる。元のコンテンツアイテムを変調することで、追加オーディオクリップを可聴コンテンツアイテムに追加することに勝る効率または改善がもたらされ得るが、これは、追加の場合には追加のデータ伝送を必要とし、追加のスピーカリソースおよび電池リソース、追加処理リソースを占有し、他の何らかの形で元の可聴コンテンツアイテムよりも長い時間間隔を占有し得るからである。
【0069】
データ処理システム102は(たとえば、インターフェース110およびネットワーク105を介して)、オーディオ信号発生器コンポーネント122によって生成された出力信号を含むデータパケットを伝送することができる。出力信号は、クライアントデバイス104の、またはそれによって実行される、オーディオドライバコンポーネント138がクライアントデバイス104のスピーカ(たとえば、トランスデューサ136)を駆動して出力信号に対応する音響波を生成するようにすることができる。
【0070】
データ処理システム102は、リアルタイムコンテンツ選択プロセスを介して選択されたコンテンツアイテムに基づき、決定すべきポリシーエンジンコンポーネント120を備えるか、アクセスするか、実行するか、または他の何らかの形で通信し、出力信号の少なくとも一部に変調を適用するようにオーディオ信号発生器コンポーネント122に命令することができる。ポリシーエンジンコンポーネント120は、たとえば、出力信号の第2の部分に変調を適用し、出力信号の第1の部分を変調しないことを決定することができる。ポリシーエンジンコンポーネント120は、たとえば、出力信号の第1の部分に第1の変調を適用し、第1の変調と異なる第2の変調を出力信号の第2の部分に適用することを決定することができる。
【0071】
ポリシーエンジンコンポーネント120は、1つまたは複数の規則、決定木、発見的方法、または機械学習技術を含むか、または利用して出力信号の一部を変調すること、および変調の種類を決定することができる。たとえば、ポリシーエンジンコンポーネント120は、コンテンツアイテムに対応する出力信号の一部分に変調を適用し、第1のアクションデータ構造体に対応する出力信号の一部分を変調しないように命令する規則を利用することができる。ポリシーエンジンコンポーネント120は、第1のアクションデータ構造体を含むか、または対応する出力信号の第1の部分に第1の変調を適用し、リアルタイムコンテンツ選択プロセスにおいてコンテンツセレクタコンポーネント118によって選択されたコンテンツアイテムオブジェクトを含むか、または対応する出力信号の第2の部分に第2の変調を適用するように命令する規則を利用することができる。
【0072】
ポリシーエンジンコンポーネント120は、1つまたは複数の規則を含むか、または利用することができる。規則は、データリポジトリ124内のポリシーデータ構造体128に記憶され得る。規則は、if/then文、条件文、イベント駆動規則、またはブール論理を含むことができる。規則は、たとえば、コンテンツアイテムプロバイダデバイス106によって提供されるコンテンツアイテムに対応する場合にその部分を変調すること、それがコンテンツアイテムに対応し、コンテンツアイテムがコンピューティングデバイス104に以前に提供されていない場合にその部分を変調すること、それがコンテンツアイテムに対応し、コンテンツアイテムが時間間隔(たとえば、最後の10分、最後の30分、最後の1時間、最後の2時間、最後の4時間、最後の8時間、最後の24時間、最後の72時間、またはそれ以上の時間)でコンピューティングデバイス104に以前に提供されていない場合にその部分を変調すること、それがコンテンツアイテムに対応し、コンテンツアイテムが通信セッション(たとえば、セッションハンドラ114によって決定されるような会話セッション)においてコンピューティングデバイス104に以前に提供されていない場合にその部分を変調すること、コンピューティングデバイス104が現在の場所または他のあらかじめ決定されている場所に配置されている間にそれがコンピューティングデバイス104に以前に提示されていない場合にその部分を変調すること、またはコンピューティングデバイス104がその時間間隔で現在の場所または他のあらかじめ決定されている場所に配置されていた間にそれがコンピューティングデバイス104に以前に提示されていない場合にその部分を変調することを含むことができる。
【0073】
たとえば、コンピューティングデバイス104が123 Main Streetに配置されており、リアルタイムコンテンツ選択プロセスでコンテンツセレクタコンポーネント118によって選択されたコンテンツアイテムオブジェクトに対応することを指示するために第2の変調で変調された出力信号の第2の部分を受信した場合、ポリシーエンジンコンポーネント120は、データリポジトリ124内に記憶されているポリシーデータ構造体128から選択されるか取り出された規則に基づき、コンテンツアイテムがコンピューティングデバイス104に提示された前の時点と同じ場所にある間に、コンテンツアイテムがコンピューティングデバイス104に以前に提示されていたときの15分以内に、第2の部分がコンピューティングデバイス104に提供されている場合に第2の変調を適用しないことを決定することができる。
【0074】
データ処理システム102は、セッションハンドラコンポーネント114を備えるか、実行するか、アクセスするか、または他の何らかの形で通信して、クライアントデバイス104とデータ処理システム102との間の通信セッションを確立することができる。通信セッションは、クライアントデバイス104のセンサ134によって検出される入力オーディオ信号およびデータ処理システム102によってクライアントデバイス104に伝送される出力信号を含むクライアントデバイス104とデータ処理システム102との間の1つまたは複数のデータ伝送を指すものとしてよい。データ処理システム102は(たとえば、セッションハンドラコンポーネント114を介して)、入力オーディオ信号を受信したことに応答して通信セッションを確立することができる。セッションハンドラ114は、一意的識別子を通信セッションに割り当てることができる。たとえば、データ処理システムは、通信セッションがいつ確立されたかということに対応するタイムスタンプ、通信セッションの一意的識別子、通信セッションの日時スタンプ、およびサービスプロバイダデバイスの識別子などの複数の値から形成されたタプルに基づき通信セッションに対する一意的識別子を生成することができる。データ処理システム102は、通信セッションに対する持続時間を設定することができる。データ処理システム102は、通信セッションについて設定された持続時間に対するタイマまたはカウンタを設定することができる。タイマの終了に応答して、データ処理システム102は受信セッションを終了することができる。
【0075】
通信セッションは、クライアントデバイス104がセッションを確立するための認証情報または資格証明書を提供するネットワークベースの通信セッションを指すものとしてよい。いくつかの場合において、通信セッションは、セッション時にデータパケットによって搬送されるトピックまたはオーディオ信号のコンテキストを指す。たとえば、第1の通信セッションは、タクシーサービスに関係する(たとえば、キーワード、第1のアクションデータ構造体、またはコンテンツアイテムオブジェクトを含む)クライアントデバイス104とデータ処理システム102との間で伝送されるオーディオ信号を指すものとしてよく、第2の通信セッションは、ランドリーおよびドライクリーニングサービスに関係するクライアントデバイス104とデータ処理システム102との間で伝送されるオーディオ信号を指すものとしてよい。この例では、データ処理システム102は、オーディオ信号のコンテキストが異なると決定し(たとえば、NLPコンポーネント112を介して)、二組のオーディオ信号を異なる通信セッションに分けることができる。セッションハンドラ114は、ドライクリーニングおよびランドリーサービスに関係する1つまたは複数のオーディオ信号を識別したことに応答して乗車サービスに関係する第1のセッションを終了することができる。したがって、データ処理システム102は、オーディオ信号のコンテキストを検出したことに応答してドライクリーニングおよびランドリーサービスに関係するオーディオ信号に対する第2のセッションを開始するか、または確立することができる。
【0076】
セッションハンドラ114は、通信セッションにおいて発生した第1の種類のネットワーク活動(たとえば、タクシーサービス)から第2の種類のネットワーク活動(たとえば、ランドリーサービス)への遷移を検出することができる。セッションハンドラ114は、この遷移に応答して、通信セッションを終了することができる。セッションハンドラ114は、クライアントデバイスとデータ処理システムとの間の第2の通信セッションを確立することができる。第2の通信セッションは、第2の種類のネットワーク活動(たとえば、ランドリーサービス)および第2の入力オーディオ信号(たとえば、ランドリーサービスの要求)を含むことができる。
【0077】
セッションハンドラ114は、パラメータデータ構造体126に記憶されている様々なパラメータまたはポリシーデータ構造体128に記憶されているポリシーを使用して通信を開始するか、確立するか、または終了することができる。パラメータは、たとえば、時間間隔、場所境界、距離、関連性スコア、意味ベクトル距離、クライアントデバイス104とデータ処理システム102との間のオーディオ信号もしくは往復通信の数、データ処理システム102とクライアントデバイス104との間で伝送される単語の数、またはデータ処理システム102とクライアントデバイス104との間で伝送される文もしくは問い合わせの数を含むことができる。ポリシーは、たとえば、パラメータに基づき設定され得る条件、イベント、またはトリガーに応答して通信セッションを終了することを含み得る。たとえば、ポリシーは、クライアントデバイス104が、通信セッションが確立されたときのユーザの位置から半径100メートルとして定義される場所ベースの境界を出たことに応答して、通信セッションを終了することを含むことができる。
【0078】
コンテンツアイテムオブジェクトに対応する出力信号の一部分を変調することで、コンテンツアイテムに加えて追加のオーディオまたはビデオ通知を提供することと比較してリソース消費を減らすことができるが、データ処理システム102は(たとえば、ポリシーエンジンコンポーネント120およびセッションハンドラコンポーネント114を介して)、リアルタイムコンテンツ選択プロセスを介して選択されたコンテンツアイテムが通信セッション中にクライアントデバイスに以前に提示されていた場合にコンテンツアイテムに対応する出力信号の部分を変調しないことを決定することによってリソース消費をさらに減らすことができる。コンテンツアイテムが同じ通信セッションにおいて以前に提示されていたので、データ処理システム102は、変調を介して同じ指示を提供する必要がないと決定し、変調なしで済ませることができ、それによって、オーディオ信号発生器コンポーネント122によるリソース消費を回避し、変調技術(たとえば、ピッチ偏移、振幅変化、オーディオオーバーレイ、またはオーディオ透かし)を適用することができる。
【0079】
しかしながら、データ処理システム102が、通信セッションにおいてコンテンツアイテムがクライアントデバイス104に以前に提供されていなかったと決定した場合、データ処理システム102は、通信セッション中に以前に提供されていないコンテンツアイテムに応答して、第2のオーディオ変調が第1のオーディオ変調と異なる出力信号の第2の部分を生成するようにオーディオ信号発生器コンポーネント122に命令することができる。
【0080】
いくつかの場合において、通信セッションは、クライアントコンピューティングデバイス104のマイクロフォンによって検出された複数の入力オーディオ信号を含み得る。コンテンツセレクタコンポーネント118は、第2の入力オーディオ信号に基づき、第2のコンテンツアイテムを選択することができる。データ処理システム102は(たとえば、ポリシーエンジンコンポーネント120を介して)、第2のコンテンツアイテムに対応する出力信号の一部分に変調技術を適応するかどうかを決定することができる。たとえば、ポリシーエンジン120は、第2のコンテンツアイテムが通信セッションにおいて以前に選択されクライアントデバイスに対して提供された1つまたは複数のコンテンツアイテムと異なると決定することができる。コンテンツアイテムは、それが異なるサービスもしくは製品に対するものであるか、または異なるコンテンツプロバイダデバイス106によって提供される場合に異なり得る。第2のコンテンツアイテムは、第1のコンテンツアイテムと異なるので、データ処理システム102は、第2のコンテンツアイテムに対応するオーディオ出力を変調することによって指示を与えることを決定することができる。リソース消費を減らすために、データ処理システム102は、第2のコンテンツアイテムが通信セッションにおいて以前に提供されたコンテンツと一致するか、または類似している場合に出力を変調しないものとしてよい(たとえば、同じサービスもしくは製品または同じコンテンツプロバイダデバイス108によって提供されるサービスもしくは製品について)。
【0081】
第2のコンテンツアイテムが、通信セッションにおいて以前に提示されたコンテンツアイテムの一部または全部と異なる場合、データ処理システム102は、コンテンツセレクタコンポーネントによって選択された第2のコンテンツアイテムに対応する第3の部分を含む第2の出力信号を生成するようにオーディオ信号発生器コンポーネント122に命令することができる。オーディオ信号発生器コンポーネント122は、第1のコンテンツアイテムに対応する出力信号の第2の部分を生成するために使用される同じ変調、または異なる変調により生成される第3の部分を生成することができる。
【0082】
いくつかの場合において、データ処理システム102は、第2のコンテンツアイテムが通信セッションにおいて以前に選択された少なくとも1つのコンテンツアイテムに対応すると決定し、通信セッションにおいて以前に提供された1つまたは複数のコンテンツアイテムに応答して、第2のコンテンツアイテムに対応する部分を含み、データ構造体に対応する第1の部分上で使用される第1のオーディオ変調により生成される出力信号を生成するようにオーディオ信号発生器コンポーネント122に命令することができる。たとえば、データ処理システム102は、この場合に、データ構造体に対応する第1の部分から第2のコンテンツアイテムを区別せず、したがって、同じ変調技術または既定の変調技術(たとえば、変調なし)を適用することを決定することができる。
【0083】
いくつかの場合において、データ処理システムは、通信セッションを、スポンサー付きコンテンツアイテムを含むとマークするか、またはフラグをたてることができる。通信セッションに、少なくとも1つのスポンサー付きコンテンツアイテムを含むものとしてフラグをたてた後、データ処理システムは、フラグをたてられた通信セッションにおいて提供される一部または全部の出力信号を変調することを決定することができる。データ処理システムは、時間間隔に基づき、またはデータ処理システムが有機的結果またはスポンサーなしアイテムを提供することに応答してその通信セッションのフラグを外すことができる。データ処理システムは、通信セッションのコンテキストの変化に基づき通信セッションのフラグを外すことができる。通信のフラグが外された後、データ処理システムは、出力オーディオ信号を変調するのを停止することができる。データ処理システムは、単一のスポンサー付きコンテンツアイテムまたは複数のスポンサー付きコンテンツアイテムに対応するオーディオ信号を変調することができる。
【0084】
図2は、パケット化されたオーディオ信号を変調するためのシステム100の図である。システムは、
図1に示されているシステム100の1つまたは複数のコンポーネントを備えることができる。205において、クライアントコンピューティングデバイス104は、コンピューティングデバイス104のマイクロフォンまたは他のセンサによって検出された入力オーディオ信号を搬送するデータパケットを伝送することができる。クライアントコンピューティングデバイス104は、入力オーディオ信号をデータ処理システム102に伝送することができる。データ処理システム102は、サービスプロバイダデバイス108およびコンテンツプロバイダデバイス106と通信するか、または他の何らかの方法でインターフェースし、210で出力信号の第1の部分を生成し、215で出力信号の第2の部分を生成することができる。出力信号の第1の部分は、入力オーディオ信号に応答する第1のアクションデータ構造体に対応し得る。出力信号の第1の部分は、サービスプロバイダデバイス108に関連付けられている情報を含むか、または他の何らかの形で関連付けられ得る。たとえば、出力信号の第1の部分は、入力オーディオ信号内に要求を確認する問い合わせを含むことができる。出力信号の第2の部分は、コンテンツプロバイダデバイス106によって提供されるコンテンツアイテムオブジェクトを含むことができる。コンテンツアイテムオブジェクトは、205で受信された入力オーディオ信号の1つまたは複数のキーワードに基づくリアルタイムコンテンツ選択プロセスにおいてデータ処理システム102によって選択され得る。220で、データ処理システム102は、さらに、第1のオーディオ変調を出力信号の第1の部分に適用し、225で、第2のオーディオ変調を出力信号の第2の部分に適用することができる。230および235で、データ処理システム102は、出力信号の第1の部分を第1の変調と、出力信号の第2の部分を第2の変調とマージするか、組み合わせるか、まとめるか、または他の何らかの形で並列させて、変調された出力信号(出力信号と称され得る)にすることができる。データ処理システム102は、クライアントコンピューティングデバイス104に伝送するために第1の部分および第2の部分を有するオーディオファイルを生成することができる。デー
タ処理システム102は、変調された出力信号をクライアントコンピューティングデバイス104にストリーミングして、出力信号を再生することをクライアントコンピューティングデバイス104に行わせることができる。
【0085】
図3は、パケット化されたオーディオ信号を変調するためのシステム100の図である。システムは、
図1に示されているシステム100の1つまたは複数のコンポーネントを備えることができる。305で、クライアントコンピューティングデバイス104は、第1の入力オーディオ信号をデータ処理システム102に伝送することができる。第1の入力オーディオ信号は、クライアントコンピューティングデバイス104のマイクロフォンによって検出され得る。データ処理システム102は、第1の入力オーディオ信号を受信したことに応答して第1の通信セッションを確立することができる。310で、データ処理システム102は、サービスプロバイダデバイス108およびコンテンツプロバイダデバイス106と通信して、第1の出力信号を生成することができる。第1の出力信号は、入力オーディオ信号に応答するサービスを提供するサービスプロバイダ108に対応する第1の変調を有する第1の部分を含むことができる。第1の出力信号は、リアルタイムコンテンツ選択プロセスにおいて、コンテンツプロバイダデバイス106によって提供され、データ処理システム102によって選択されるコンテンツアイテムオブジェクトに対応する任意の第2のオーディオ変調を有する第2の部分を含み得る。データ処理システム102は、ネットワークを介して第1の出力信号をクライアントコンピューティングデバイス104に伝送することができる。
【0086】
315で、データ処理システム102は、クライアントコンピューティングデバイス104から第2の入力オーディオ信号を受信することができる。データ処理システム104は、第2の入力オーディオ信号を解析し、第2の入力オーディオ信号が第1の通信セッション325に属していると決定することができる、たとえば、データ処理システム102のセッションハンドラは、第1の通信セッションを維持すること、または第1の通信セッションを終了しないことを決定することができる。320で、データ処理システム102は、サービスプロバイダデバイス108およびコンテンツプロバイダデバイス106とインタラクティブにやり取りして、第2の出力信号を生成することができる。第2の出力信号は、第1のオーディオ変調を持つ第3の部分を含むことができる。第3の部分は、サービスプロバイダデバイス108に対応するものとしてよい。第2の出力信号は、第1のオーディオ変調を持つ第4の部分を含むことができる。第4の部分は、コンテンツプロバイダデバイス106によって提供されるコンテンツアイテムオブジェクトに対応することができる。データ処理システム102は、第1の変調を第4の部分に適用することができるが、それは、データ処理システム102が、同じ通信セッション325においてコンテンツプロバイダデバイス106からのコンテンツアイテムがクライアントコンピューティングデバイス104に以前に提供されたと決定することができるからである。したがって、データ処理システム102は、コンテンツアイテムの変調ベースの指示が同じ通信セッションにおいて以前に提供されたとデータ処理システム102が決定することができるので、第2の出力信号の第4の部分を変調しないことによってリソース利用度を低減することができる。次いで、データ処理システム102は、第2の出力信号を搬送するデータパケットをクライアントコンピューティングデバイス104に伝送することができる。
【0087】
たとえば、データ処理システムは、インテリジェントパーソナルアシスタントまたは音声ベースデジタルアシスタントを含むことができる。エンドユーザは、どのような天気であるかをデータ処理システムに口頭で尋ねることができる。データ処理システムは、オーディオを介して、可聴出力信号の第1の部分内の天気情報で応答することができる。したがって、第1の部分は、ユーザの問い合わせへの有機的な結果または応答を含むことができる。可聴信号の第1の部分に付加された場合、データ処理システムは、コンテンツ選択プロセスにおいて選択されたスポンサー付きコンテンツアイテムを提供することができる。データ処理システムは第2の部分のオーディオを変調して、第2の部分がスポンサー付きコンテンツアイテムを含むことを指示することができる。スポンサー付きコンテンツアイテムは、たとえば、乗車シェアリングサービスに対するオーディオコンテンツアイテムであり得る。
【0088】
図4は、パケット化されたオーディオ信号の動的変調を実行するための例示的な方法を示す図である。方法400は、1つまたは複数のコンポーネント、システム、またはシステム100もしくはシステム500の要素によって実行され得る。方法400は、データ処理システムが入力オーディオ信号を受信するステップを含み得る(ACT405)。データ処理システムは、クライアントコンピューティングデバイスから入力オーディオ信号を受信することができる。たとえば、データ処理システムによって実行される自然言語プロセッサコンポーネントが、データ処理システムのインターフェースを介してクライアントコンピューティングデバイスから入力オーディオ信号を受信することができる。データ処理システムは、クライアントコンピューティングデバイス(またはクライアントデバイス)のセンサによって検出された入力オーディオ信号を搬送するか、または含むデータパケットを受信することができる。
【0089】
ACT410において、方法400は、データ処理システムが入力オーディオ信号を解析するステップを含み得る。自然言語プロセッサコンポーネントは、入力オーディオ信号を解析して、要求および要求に対応するトリガーキーワードを識別することができる。たとえば、クライアントデバイスによって検出されたオーディオ信号は、「Okay device, I need a ride from Taxi Service Company A to go to 1234 Main Street.」を含み得る。このオーディオ信号において、初期トリガーキーワードは、「okay device」を含むものとしてよく、これは入力オーディオ信号をデータ処理システムに伝送することをクライアントデバイスに指示することができる。クライアントデバイスのプリプロセッサは、残りのオーディオ信号をデータ処理システムに送信する前に検索語「okay device」をフィルタリングで取り除くことができる。いくつかの場合において、クライアントデバイスは、追加検索語をフィルタリングで取り除くか、またはキーワードを生成してデータ処理システムに伝送しさらに処理することができる。
【0090】
データ処理システムは、入力オーディオ信号内のトリガーキーワードを識別することができる。トリガーキーワードは、たとえば、「to go to」もしくは「ride」またはこれらの検索語の変形を含むことができる。トリガーキーワードは、サービスまたは製品の種類を指示することができる。データ処理システムは、入力オーディオ信号内の要求を識別することができる。要求は、検索語「I need」に基づき決定され得る。キーワードおよび要求は、意味処理技術または他の自然言語処理技術を使用して決定され得る。
【0091】
ACT415において、方法400は、データ処理システムが第1のアクションデータ構造体を生成するステップを含み得る。データ処理システムは、トリガーキーワードに基づき第1のアクションデータ構造体を生成することができる。第1のアクションデータ構造体は、要求に応答するものとしてよい。たとえば、クライアントコンピューティングデバイスのエンドユーザがTaxi Service Company Aにタクシーを要求した場合、第1のアクションデータ構造体は、Taxi Service Company Aにタクシーサービスを要求するための情報を含み得る。データ処理システムは、Taxi Service Company Aに対するテンプレートを選択し、Taxi Service Company Aがタクシーをクライアントコンピューティングデバイスのユーザの元に送りユーザをピックアップし、ユーザを要求された目的地に輸送することを可能にする値をテンプレート内のフィールドに埋め込むことができる。
【0092】
ACT420において、方法400は、データ処理システムがトリガーキーワードを受信し、コンテンツアイテムオブジェクトを選択するステップを含み得る。データ処理システムは、自然言語プロセッサによって識別された入トリガーキーワードを受信することができる。データ処理システムは、トリガーキーワードに基づき、リアルタイムコンテンツ選択プロセスを介してコンテンツアイテムを選択することができる。コンテンツアイテムオブジェクトは、コンテンツプロバイダによって提供され得る。コンテンツアイテムオブジェクトは、データ処理システムが第1のアクションデータ構造体を伝送する先のサービスプロバイダデバイスと異なるコンテンツプロバイダによって提供され得る。データ処理システムは、入力オーディオ信号内のクライアントデバイスの使用によって要求されたサービスプロバイダと異なるコンテンツプロバイダからコンテンツアイテムオブジェクトを選択することができる。たとえば、ユーザはTaxi Service Company Aにタクシーサービスを要求することができるが、リアルタイムコンテンツ選択プロセスにおいてデータ処理システムによって選択されたコンテンツアイテムオブジェクトは、Taxi Service Company Bからのものであり得る。
【0093】
ACT425において、方法400は、データ処理システムが第1のアクションデータ構造体に対応する第1の部分およびコンテンツアイテムに対応する第2の部分を含む出力信号を生成するステップを含み得る。いくつかの場合において、第1の部分は変調され得ないが、第2の部分は変調される。いくつかの場合において、第1の部分および第2の部分は、第1の部分を第2の部分から区別するために異なる変調により変調される。たとえば、データ処理システムは、第1の部分のピッチを下げ、第2の部分のピッチを上げるか、データ処理システムは、第1の部分の音量を上げ、第2の部分の音量を下げるか、データ処理システムは、第1の部分の音量を上げ、第2の部分のピッチを上げるか、またはデータ処理システムは、第1の部分のピッチを上げ、オーディオオーバーレイもしくは透かしを第2の部分に適用することができる。
【0094】
ACT430において、方法400は、データ処理システムが出力信号をクライアントコンピューティングデバイスに伝送するステップを含み得る。データ処理システムは、オーディオ信号発生器コンポーネントによって生成された出力信号を含むデータパケットを伝送して、クライアントデバイスによって実行されるオーディオドライバコンポーネントがクライアントデバイスのスピーカを駆動して出力信号に対応する音響波を生成するようにすることができる。
【0095】
図5は、例示的なコンピュータシステム500のブロック図である。コンピュータシステムまたはコンピューティングデバイス500は、システム100、または処理システム102などのそのコンポーネントを含むか、または実装するために使用され得る。コンピューティングシステム500は、情報を伝達するためのバス505または他の通信コンポーネントと、情報を処理するためにバス505に結合されているプロセッサ510または処理回路とを備える。コンピューティングシステム500は、情報を処理するためにバスに結合されている1つまたは複数のプロセッサ510もしくは処理回路も備え得る。コンピューティングシステム500は、情報、およびプロセッサ510によって実行されるべき命令を記憶するためにバス505に結合されるランダムアクセスメモリ(RAM)または他のダイナミックストレージデバイスなどのメインメモリ515も備える。メインメモリ515は、データリポジトリ145であり得るか、または含み得る。メインメモリ515は、プロセッサ510による命令の実行時に位置情報、一時変数、または他の中間情報を記憶するためにも使用できる。コンピュータシステム500は、静的情報とプロセッサ510に対する命令とを記憶するためにバス505に結合されているリードオンリーメモリ(ROM)520または他のスタティックストレージデバイスをさらに備え得る。ソリッドステートデバイス、磁気ディスク、または光ディスクなどのストレージデバイス525はバス505に結合され、情報および命令を永続的に記憶することができる。ストレージデバイス525は、データリポジトリ145を含み得るか、またはその一部であってよい。
【0096】
コンピューティングシステム500は、情報をユーザに対し表示するために、バス505を介して液晶ディスプレイ、またはアクティブマトリックスディスプレイなどのディスプレイ535に結合され得る。英数字および他のキーを備えるキーボードなどの入力デバイス530はバス505に結合され、情報およびコマンド選択をプロセッサ510に伝達することができる。入力デバイス530は、タッチスクリーンディスプレイ535を含み得る。入力デバイス530は、マウス、トラックボール、またはカーソル方向キーなどのカーソルコントロールも備え、それにより、方向情報およびコマンド選択をプロセッサ510に伝達し、ディスプレイ535上のカーソル移動を制御することができる。ディスプレイ535は、たとえば、データ処理システム102、クライアントコンピューティングデバイス150、または
図1の他のコンポーネントの一部であってもよい。
【0097】
本明細書で説明されているプロセス、システム、および方法は、メインメモリ515に収められている命令の配置構成をプロセッサ510が実行することに応答してコンピューティングシステム500によって実装され得る。このような命令は、ストレージデバイス525などの別のコンピュータ可読媒体からメインメモリ515内に読み込まれ得る。メインメモリ515に収められている命令の配置構成が実行されると、コンピューティングシステム500は本明細書で説明されている例示的なプロセスを実行する。多重処理配置構成の1つまたは複数のプロセッサも、メインメモリ515に収められている命令を実行するために採用され得る。ハード配線された回路は、本明細書で説明されているシステムおよび方法と一緒にソフトウェア命令の代わりに、またはそれと組み合わせて使用され得る。本明細書で説明されているシステムおよび方法は、ハードウェア回路とソフトウェアとの特定の組合せに限定されない。
【0098】
例示的なコンピューティングシステムが
図5において説明されているけれども、本明細書で説明されているオペレーションを含む主題は、他の種類のデジタル電子回路で、または本明細書およびその構造的等価物において開示されている構造を含む、コンピュータソフトウェア、ファームウェア、またはハードウェアで、またはそれらのうちの1つまたは複数の組合せで実装され得る。
【0099】
本明細書で説明されているシステムがユーザに関する個人情報を収集するか、または個人情報を利用し得る状況に関して、ユーザは、プログラムまたは機能により個人情報(たとえば、ユーザのソーシャルネットワーク、社会的行為もしくは活動、ユーザの選好、またはユーザの現在の場所に関する情報)を収集し得るかどうかを制御する、またはユーザに対してより高い関連性を有する思われるコンテンツをコンテンツサーバまたは他のデータ処理システムから受信するかどうか、またはどのように受信するかを制御する機会を与えられ得る。それに加えて、パラメータを生成するときに、特定データが、それが記憶されるか、または使用される前に1つまたは複数の方法で匿名化されるものとしてよく、したがって個人的に識別可能な情報は取り除かれる。たとえば、ユーザの身元は、ユーザに対して個人的に識別可能な情報が決定され得ないように匿名化され得るか、または位置情報(市名、郵便番号、国レベルなど)が得られる場合にユーザの地理的位置が一般化されるものとしてよく、したがって、ユーザの詳細な位置が決定され得ない。したがって、ユーザは、コンテンツサーバによってユーザに関する情報がどのように収集され、どのように使用されるかを制御し得る。
【0100】
本明細書で説明されている主題およびオペレーションは、デジタル電子回路で、または本明細書およびその構造的等価物において開示されている構造を含む、コンピュータソフトウェア、ファームウェア、またはハードウェアで、またはそれらのうちの1つまたは複数の組合せで実装され得る。本明細書において説明されている主題は、1つまたは複数のコンピュータプログラム、たとえば、データ処理装置によって実行できるようにまたはデータ処理装置の動作を制御するために1つまたは複数のコンピュータ記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数の回路として実現されてよい。代替的に、またはそれに加えて、プログラム命令は、データ処理装置による実行のため好適な受信機装置に送信する情報が符号化されるように生成される、人工的に生成された伝搬信号、たとえば、機械で生成された電気、光、または電磁信号上で符号化され得る。コンピュータ記憶媒体は、コンピュータ可読ストレージデバイス、コンピュータ可読ストレージ基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらのうちの1つもしくは複数の組合せであり得るか、または含まれ得る。コンピュータ記憶媒体は、伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成される伝搬信号内に符号化されているコンピュータプログラム命令の送信元または送信先とすることができる。コンピュータ記憶媒体は、また、1つまたは複数の独立したコンポーネントまたは媒体(たとえば、複数のCD、ディスク、または他のストレージデバイス)であり得るか、または含まれ得る。本明細書において説明されているオペレーションは、1つまたは複数のコンピュータ可読ストレージデバイス上に記憶されるか、または他のソースから受信されたデータに対してデータ処理装置によって実行されるオペレーションとして実装され得る。
【0101】
「データ処理システム」、「コンピューティングデバイス」、「コンポーネント」、または「データ処理装置」という用語は、たとえばプログラム可能プロセッサ、コンピュータ、1つまたは複数のシステムオンチップ、または前述のものの組合せを含む、データを処理するための様々な装置、デバイス、およびマシンを包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)を含んでいてもよい。装置は、また、ハードウェアに加えて、注目しているコンピュータプログラム用の実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォーム実行時環境、仮想マシン、またはこれらのうちの1つまたは複数のものの組合せを構成するコードも含み得る。装置および実行環境は、ウェブサービス、分散型コンピューティング、およびグリッドコンピューティング基盤などの様々な異なるコンピューティングモデル基盤を実現することができる。ダイレクトアクションAPI135、コンテンツセレクタコンポーネント125、予測コンポーネント120、またはNLPコンポーネント110、および他のデータ処理システム102コンポーネントは、1つまたは複数のデータ処理装置、システム、コンピューティングデバイス、またはプロセッサを含むか、または共有することができる。
【0102】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、スクリプト、またはコードとも称される)は、コンパイル言語またはインタプリタ言語、宣言型もしくは手続き型言語を含む、任意の形態のプログラミング言語で書かれ、スタンドアロンプログラム、またはモジュール、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境において使用するのに適している他のユニットを含む、任意の形態で配備され得る。コンピュータプログラムは、ファイルシステム内のファイルに対応するものとしてよい。コンピュータプログラムは、他のプログラムをまたはデータ(たとえば、マークアップ言語ドキュメントに記憶される1つまたは複数のスクリプト)を保持するファイルの一部に、注目しているプログラム専用の単一ファイルに、または複数の協調ファイル(たとえば、1つまたは複数のモジュール、副プログラム、またはコードの一部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに配置されるか、または複数のサイトにまたがって分散され、通信ネットワークによって相互接続されている複数のコンピュータ上で実行されるように配備され得る。
【0103】
本明細書で説明されているプロセスおよび論理の流れは、入力データを操作し、出力を生成することによってアクションを実行するように1つまたは複数のコンピュータプログラム(たとえば、データ処理システム102のコンポーネント)を実行する1つまたは複数のプログラム可能なプロセッサによって実行され得る。これらのプロセスまたは論理の流れは、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)によっても実行され、また装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)としても実装され得る。コンピュータプログラムの命令およびデータを記憶するのに適したデバイスは、たとえば、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補助されるか、または専用論理回路に組み込まれ得る。
【0104】
本明細書で説明されている主題は、バックエンドコンポーネントを、たとえば、データサーバとして備えるか、またはミドルウェアコンポーネント、たとえば、アプリケーションサーバを備えるか、またはフロントエンドコンポーネント、たとえば、ユーザが本明細書で説明されている主題の実装をインタラクティブに操作することを可能にするグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータを備えるコンピューティングシステムで、または1つまたは複数のそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せで実装され得る。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体、たとえば、通信ネットワーク、によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、およびピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
【0105】
システム100またはシステム500などのコンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、一般に、互いに隔てられており、典型的には、通信ネットワーク(たとえば、ネットワーク165)を通じてインタラクティブな操作を行う。クライアントとサーバとの関係は、コンピュータプログラムが各コンピュータ上で実行され、互いとの間にクライアント-サーバ関係を有することによって発生する。いくつかの実装において、サーバはデータ(たとえば、コンテンツアイテムを表すデータパケット)をクライアントデバイスに(たとえば、クライアントデバイスをインタラクティブに操作するユーザにデータを表示し、ユーザ入力を受け取ることを目的して)伝送する。クライアントデバイスで(たとえば、ユーザインタラクションの結果として)生成されたデータは、サーバにおいてクライアントデバイスから受信され(たとえば、コンピューティングデバイス150またはコンテンツプロバイダコンピューティングデバイス155またはサービスプロバイダコンピューティングデバイス160からデータ処理システム102によって受信され)得る。
【0106】
オペレーションは特定の順序で図面に示されているが、そのようなオペレーションは、示される特定の順序でもしくは順番に実行される必要がなく、例示されているすべてのオペレーションが実行される必要があるとは限らない。本明細書で説明されているアクションは、異なる順序で実行できる。
【0107】
様々なシステムコンポーネントを分離するといってもすべての実装で分離する必要はなく、説明されているプログラムコンポーネントは単一のハードウェアまたはソフトウェア製品に含まれ得る。たとえば、NLPコンポーネント112またはコンテンツセレクタコンポーネント118は、単一のコンポーネント、アプリ、もしくはプログラム、または1つまたは複数の処理回路を有する論理デバイス、またはデータ処理システム102の1つまたは複数のサーバの一部であり得る。
【0108】
いくつかの例示的な実装が説明されているが、前述の内容は例示的であり、限定する意図はなく、例として提示されていることは明らかである。特に、本明細書に提示されている例の多くは、方法動作またはシステム要素の特定の組合せを伴い、それらの動作およびそれらの要素は、同じ目的を遂行するために他の方法で組み合わされてもよい。一実装に関連して説明されている動作、要素、および特徴では、他の実装における類似の役割または実装から除外されることは意図されていない。
【0109】
本明細書で使用されている語法および術語は、説明を目的とするものであり、限定するものとしてみなされるべきでない。「含む、備える(including)」、「からなる、備える、含む(comprising)」、「有する(having)」、「収容する、含む(containing)」、「伴う(involving)」、「特徴付けられる(characterized by)」、「特徴とする(characterized in that)」、および本明細書におけるそれらの変形では、それ以降に記載される項目、同等の項目、および追加項目、さらにはこれ以降排他的に記載されている項目からなる代替的実装を包含することが意図されている。一実装において、本明細書で説明されているシステムおよび方法は、説明されている要素、動作、またはコンポーネントのうちの1つ、複数の各組合せ、またはすべてからなる。
【0110】
本明細書において単数形で参照されているシステムおよび方法の実装または要素または動作への参照は、また、これらの複数の要素を含む実装も包含するものとしてよく、本明細書における実装または要素または動作への複数の参照は、また、単一の要素のみを含む実装も包含し得る。単数形または複数形による参照は、本開示のシステムまたは方法、そのコンポーネント、動作、または要素を単一または複数の構成に限定することを意図していない。情報、動作、または要素に基づいている動作または要素への参照は、動作または要素が少なくとも一部は情報、動作、または要素に基づく実装を含み得る。
【0111】
本明細書で開示されている実装は、他の実装または実施形態と組み合わされるものとしてよく、「実装」、「いくつかの実装」、「一実装」、または同様の言い回しへの参照は、必ずしも相互排他的でなく、実装に関連して説明されている特定の特徴、構造、または特性が少なくとも1つの実装または実施形態に含まれ得ることを指示することが意図されている。そのような術語は、必ずしもすべて同じ実装を指しているわけではない。実装は、本明細書で開示されている態様および実装に一致する方式で、包含的にまたは排他的に他の実装と組み合わされてもよい。
【0112】
「または」への参照は、「または」を使用して説明されている術語が、説明されている術語の1つ、複数、およびすべてのどれかを指示し得るように包含的に解釈され得る。たとえば、「AおよびBのうちの少なくとも一方」の参照は、Aのみ、Bのみ、さらにはAとBの両方を含み得る。「含む」または他のオープンターミノロジーと併せて使用されるそのような参照は、追加項目を含むことができる。
【0113】
図面、詳細な説明、または請求項における技術的特徴の後に引用符号が続く場合、引用符号は、図面、詳細な説明、および請求項の明瞭さを高めるために含まれている。したがって、引用符号があることもないことも、請求要素の範囲に対する限定的効果を有しない。
【0114】
本明細書で説明されているシステムおよび方法は、その特徴から逸脱することなく他の特定の形式で具現化され得る。たとえば、データ処理システム102は、第2のアクション210が完了しているか、または今から始まるところであることを指示する第2のアクション210からのデータなど、スレッド200のアクションのシーケンスにおける前のアクションからのデータに一部基づきその後のアクション(たとえば、第3のアクション215)に対するコンテンツアイテムを選択することができる。前述の実装は、説明されているシステムおよび方法を限定するものではなく、例示するものである。したがって、本明細書で説明されているシステムおよび方法の範囲は、前述の説明ではなく、付属の請求項によって指示され、請求項の等価性の意味および範囲に入る変更は、そこに包含される。