(58)【調査した分野】(Int.Cl.,DB名)
前記ネットワークセキュリティ機器は、前記クライアントデバイスの位置と前記第2のクライアントデバイスの位置の間の前記距離が所定の閾値を上回ることに基づいて、前記第1のアラーム条件を検出する、請求項4に記載のシステム。
前記コンテンツセレクタコンポーネントは、前記コンテンツ・アイテム内の前記応答オーディオ信号の前記第2の特性をキャプチャする命令を生成する、請求項1に記載のシステム。
前記ネットワークセキュリティ機器は、前記コンテンツ・アイテムとの対話に応答して、前記クライアントデバイスと確立された前記通信セッションを終了する、請求項1に記載のシステム。
前記ネットワークセキュリティ機器は、前記パスフレーズが格納されたパスフレーズにマッチしないことに基づいて、前記第2のアラーム条件を設定する、請求項13に記載のシステム。
【発明を実施するための形態】
【0008】
以下は、パケット化されたオーディオ信号の認証のための方法、装置、およびシステムの実装に関連する様々な概念のより詳細な説明である。上で導入し以下でさらに詳細に説明する様々な概念を任意の多数の方法で実装してもよい。
【0009】
本開示は一般に、音声起動されたコンピュータネットワーク環境におけるパケット化されたオーディオ信号を認証するためのデータ処理システムに関する。データ処理システムは、例えば、当該ネットワークにわたるそれらの送信の前に悪意ある送信を無効にすることで、1つまたは複数のコンピュータネットワーク上の可聴データパケット送信の効率および有効性を高めることができる。本解決策はまた、当該悪意あるオーディオ信号送信によりおそらく影響を受けるリモート・コンピュータプロセスを無効にすることで計算効率を高めることができる。悪意あるオーディオ信号の当該送信を無効にすることで、当該システムは、当該ネットワークにわたって当該悪意あるオーディオ信号を運搬する当該データパケットを送信しないことで帯域幅利用を減らすことができる。当該自然に話されたオーディオ信号を処理することは計算集約的なタスクであることができる。おそらく悪意あるオーディオ信号を検出することで、当該システムは、当該システムがおそらく悪意あるオーディオ信号の処理をスキップまたは一時的にスキップすることを可能とすることで、計算の無駄を減らすことができる。当該システムは、当該悪意ある活動が検出されたとき通信セッションを無効にすることで計算の無駄を減らすことができる。
【0010】
本明細書で説明するシステムおよび方法は、オーディオ入力クエリを受信するデータ処理システムを含むことができる。当該クエリをまた、オーディオ入力信号と称することができる。当該オーディオ入力クエリから、データ処理システムは要求および当該要求に対応するトリガキーワードを識別することができる。当該システムは、当該オーディオ入力クエリに基づいてアクションデータ構造を生成することができる。当該システムはまた、当該オーディオ入力クエリの特性を測定することができる。当該システムは、当該当該オーディオ入力クエリの特性が予測されたまたは期待される当該オーディオ入力クエリの特性にマッチするかどうかを判定することができる。当該特性が期待される特性にマッチしない場合、当該システムは、当該オーディオ入力クエリの当該ソースに送信し戻すコンテンツ・アイテムを選択することができる。通信セッションは当該ソースで開始することができる。当該コンテンツ・アイテムは、当該ソースに関連付けられたスピーカを通じて再生しうる出力信号を含むことができる。当該システムは、当該コンテンツ・アイテムへの応答オーディオ信号を受信することができる。当該応答オーディオ信号はまた、当該システムにより期待される特性と比較される特性を含むことができる。当該応答オーディオ信号の特性が期待される特性にマッチしない場合、当該システムは、当該ソースとの当該通信セッションを無効にし、当該ソースがサードパーティサービスプロバイダまたはコンテンツプロバイダとの通信セッションを開始するのを防止することができ、これはネットワーク帯域幅を節約し、プロセッサ利用を減らし、電気電力を節約する。
【0011】
本解決策は、当該対話を認証することで、安全でないオーディオベースのユーザ対話の送信を防止することができる。オーディオベースのユーザ対話の安全性を確保することは、悪意あるプロセスが当該ユーザ(または他の)アカウントのもとで実行されることを防止することができる。悪意あるプロセスの実行を防止することはまた、ネットワーク帯域幅利用を減らし、プロセッサ利用または負荷を減らすことができる。本解決策は、認証されていないオーディオベースのユーザ対話の送信を停止することでネットワーク帯域幅利用を減らすことができる。
【0012】
図1は、音声起動されたデータパケット(または他のプロトコル)ベースのコンピュータネットワーク環境におけるパケット化されたオーディオ信号の認証を実施する例示的なシステム100を示す。システム100は少なくとも1つのデータ処理システム105を含むことができる。データ処理システム105は、少なくとも1つのプロセッサを有する少なくとも1つのサーバを含むことができる。例えば、データ処理システム105は、少なくとも1つのデータセンタまたはサーバ・ファームに配置された複数のサーバを含むことができる。データ処理システム105は、オーディオ入力信号から要求および当該要求に関連付けられたトリガキーワードを決定することができる。当該要求およびトリガキーワードに基づいてデータ処理システム105は、複数のシーケンス−依存動作を含むスレッドを決定または選択することができ、動作のマッチ当該シーケンスに依存しない順序で、例えば音声起動された通信または計画システムの一部としてコンテンツ・アイテム(および本明細書で説明したように他のアクションを開始する)を選択することができる。当該コンテンツ・アイテムは、描画するときにオーディオ出力または音波を提供する1つまたは複数のオーディオファイルを含むことができる。当該コンテンツ・アイテムはオーディオコンテンツに加えて他のコンテンツ(例えば、テキスト、ビデオ、または画像コンテンツ)を含むことができる。
【0013】
データ処理システム105は、複数の、論理的にグループ化されたサーバを含むことができ、分散コンピューティング技術を促進する。サーバの当該論理グループをデータセンタ、サーバ・ファームまたはマシン・ファームと称してもよい。当該サーバは地理的に分散されることができる。データセンタまたはマシン・ファームを単一のエンティティとして管理してもよく、または当該マシン・ファームは複数のマシン・ファームを含むことができる。各マシン・ファーム内の当該サーバはであることができる不均一である。即ち、当該サーバまたはマシンのうち1つまたは複数が1つまたは複数のタイプのオペレーティング・システムプラットフォームに従って動作することができる。データ処理システム105は、関連付けられた記憶システムとともに1つまたは複数の高密度ラック・システムに格納され、例えばエンタープライズデータセンタに配置された、データセンタ内のサーバを含むことができる。このように統合されたサーバを有するデータ処理システム105は、当該システムのシステム管理可能性、データセキュリティ、当該物理セキュリティ、高性能ネットワーク上にサーバおよび高性能記憶システムを配置することでシステム性能を高めることができる。サーバおよび記憶システムを含むデータ処理システム105コンポーネントの全部または一部の集約と、それらを高度なシステム管理ツールと組み合わせることで、サーバリソースのより効率的な利用が可能となる、これは電力および処理要件を節約し帯域幅利用を減らす。
【0014】
データ処理システム105は少なくとも1つの自然言語プロセッサ(NLP)コンポーネント110、少なくとも1つのインタフェース115、少なくとも1つのネットワークセキュリティ機器123、少なくとも1つのコンテンツセレクタコンポーネント125、少なくとも1つのオーディオ信号ジェネレータコンポーネント130、少なくとも1つのダイレクト・アクション・アプリケーション・プログラミング・インタフェース(API)135、少なくとも1つのセッションハンドラコンポーネント140、少なくとも1つの通信API136、および少なくとも1つのデータリポジトリ145を含むことができる。NLPコンポーネント110、インタフェース115、ネットワークセキュリティ機器123、コンテンツセレクタコンポーネント125、オーディオ信号ジェネレータコンポーネント130、ダイレクト・アクションAPI135、およびセッションハンドラコンポーネント140はそれぞれ、データリポジトリ145とおよび他のコンピューティングデバイス(例えば、クライアントコンピューティングデバイス150、コンテンツプロバイダコンピューティングデバイス155、またはサービスプロバイダコンピューティングデバイス160)と、少なくとも1つのコンピュータネットワーク165を介して通信するように構成されたプログラム可能論理アレイのような少なくとも1つの処理ユニット、サーバ、仮想サーバ、回路、エンジン、エージェント、機器、または他の論理デバイスを含むことができる。ネットワーク165は、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、メトロポリタン・ネットワーク、または他の領域ネットワーク、イントラネット、衛星ネットワーク、音声またはデータモバイル電話通信ネットワーク、およびその組合せのような他のコンピュータネットワークのようなコンピュータネットワークを含むことができる。
【0015】
セッションハンドラコンポーネント140はデータ処理システム105およびクライアントコンピューティングデバイス150の間の通信セッションを確立することができる。セッションハンドラコンポーネント140は、入力オーディオ信号を当該コンピューティングデバイス150から受信することに基づいて当該通信セッションを生成することができる。セッションハンドラコンポーネント140は、日時、クライアントコンピューティングデバイス150の位置、当該入力オーディオ信号のコンテキスト、または音声プリントに基づいて、当該通信セッションの初期期間を設定することができる。セッションハンドラコンポーネント140は当該セッションの期限切れの後に当該通信セッションを終了することができる。認証は通信セッションごとに1回必要であるにすぎない。例えば、データ処理システム105は、当該通信セッション中に以前の成功した認証があったと判定でき、当該通信セッションが切れるまで追加の認証を要求としない。
【0016】
ネットワーク165は、コンテンツ配置または検索エンジン結果システムに関連付けられるか、または、サードパーティコンテンツ・アイテムをコンテンツ・アイテム配置キャンペーンの一部として含む権利がある。ディスプレイネットワーク、例えば、インターネット上で利用可能な情報リソースのサブセットを含むかまたは構成することができる。ネットワーク165を、クライアントコンピューティングデバイス150により提供、出力、描画、または表示できるウェブページ、ウェブサイト、ドメイン名、またはユニフォーム・リソース・ロケータのような情報リソースにアクセスするためにデータ処理システム105により使用することができる。例えば、ネットワーク165を介してクライアントコンピューティングデバイス150のユーザは、コンテンツプロバイダコンピューティングデバイス155またはサービスプロバイダコンピューティングデバイス160により提供された情報またはデータにアクセスすることができる。
【0017】
ネットワーク165は、例えばポイント・ツー・ポイントネットワーク、ブロードキャストネットワーク、広帯域ネットワーク、ローカル・エリア・ネットワーク、電気通信ネットワーク、データ通信ネットワーク、コンピュータネットワーク、ATM(Asynchronous Transfer Mode)ネットワーク、SONET(Synchronous Optical Network)ネットワーク、SDH(Synchronous Digital Hierarchy)ネットワーク、ワイヤレスネットワークまたは有線ネットワーク、およびその組合せを含むことができる。ネットワーク165は赤外線チャネルまたは衛星帯域のような無線リンクを含むことができる。ネットワーク165のトポロジはバス、星形、またはリング・ネットワークトポロジを含んでもよい。ネットワーク165は高度携帯電話プロトコル(「AMPS」)、時分割多重アクセス(「TDMA」)、符号分割多重アクセス(「CDMA」)、グローバル・システム・フォー・モバイル・コミュニケーション(「GSM」)、汎用パケット無線サービス(「GPRS」)またはユニバーサル・モバイル電気通信システム(「UMTS」)を含む、モバイルデバイスの間で通信するために使用される任意の1つまたは複数のプロトコルを用いた携帯電話ネットワークを含むことができる。様々なタイプのデータが異なるプロトコルを介して送信されてもよい、または同一のタイプのデータが異なるプロトコルを介して送信されてもよい。
【0018】
クライアントコンピューティングデバイス150、コンテンツプロバイダコンピューティングデバイス155、およびサービスプロバイダコンピューティングデバイス160はそれぞれ、ネットワーク165を介して互いにまたはデータ処理システム105と通信するためのプロセッサを有するコンピューティングデバイスのような少なくとも1つの論理デバイスを含むことができる。クライアントコンピューティングデバイス150、コンテンツプロバイダコンピューティングデバイス155、およびサービスプロバイダコンピューティングデバイス160はそれぞれ、少なくとも1つのデータセンタに配置された少なくとも1つのサーバ、プロセッサまたはメモリ、または複数の計算リソースまたはサーバを含むことができる。クライアントコンピューティングデバイス150、コンテンツプロバイダコンピューティングデバイス155、およびサービスプロバイダコンピューティングデバイス160はそれぞれ、デスクトップコンピュータ、ラップトップ、タブレット、携帯情報端末、スマートフォン、ポータブルコンピュータ、シン・クライアントコンピュータ、仮想サーバ、または他のコンピューティングデバイスのような少なくとも1つのコンピューティングデバイスを含むことができる。
【0019】
クライアントコンピューティングデバイス150は少なくとも1つのセンサ151、少なくとも1つのトランスデューサ152、少なくとも1つのオーディオドライバ153、および少なくとも1つのスピーカ154を含むことができる。センサ151はマイクロフォンまたはオーディオ入力センサを含むことができる。センサ151はまた、GPSセンサ、近接性センサ、周辺光センサ、温度センサ、動きセンサ、加速度計、またはジャイロスコープのうち少なくとも1つを含むことができる。トランスデューサ152は当該オーディオ入力を電子信号を変換することができる。オーディオドライバ153は、オーディオ入力を処理するかまたはオーディオ出力を提供するようにクライアントコンピューティングデバイス150の他のコンポーネントのうちセンサ151、トランスデューサ152またはオーディオドライバ153を制御するためにクライアントコンピューティングデバイス150の1つまたは複数のプロセッサにより実行されるスクリプトまたはプログラムを含むことができる。スピーカ154は当該オーディオ出力信号を送信することができる。
【0020】
クライアントコンピューティングデバイス150を、エンド・ユーザに関連付けることができる。当該エンド・ユーザは、音声クエリをオーディオ入力としてクライアントコンピューティングデバイス150に(センサ151を介して)入力し、データ処理システム105(またはコンテンツプロバイダコンピューティングデバイス155またはサービスプロバイダコンピューティングデバイス160)からクライアントコンピューティングデバイス150に提供できるコンピュータ生成された音声の形でオーディオ出力を受信し、スピーカ154から出力する。当該コンピュータ生成された音声は、実際の人またはコンピュータ生成された言語からの記録を含むことができる。
【0021】
コンテンツプロバイダコンピューティングデバイス155は、クライアントコンピューティングデバイス150によりオーディオ出力コンテンツ・アイテムとして表示するためのオーディオベースのコンテンツ・アイテムを提供することができる。当該コンテンツ・アイテムは「Would you like me to order you a taxi?」と述べる音声ベースのメッセージのような商品またはサービスの申し出を含むことができる。例えば、コンテンツプロバイダコンピューティングデバイス155は、音声ベースのクエリに応答して提供できる一連のオーディオコンテンツ・アイテムを格納するためのメモリを含むことができる。コンテンツプロバイダコンピューティングデバイス155はまた、オーディオベースのコンテンツ・アイテム(または他のコンテンツ・アイテム)をデータ処理システム105に提供することができる。それらをデータリポジトリ145に格納することができる。データ処理システム105は当該オーディオコンテンツ・アイテムを選択することができ、(または提供するようにコンテンツプロバイダコンピューティングデバイス155に指示する)当該オーディオコンテンツ・アイテムをクライアントコンピューティングデバイス150に提供するすることができる。当該コンテンツは、クライアントコンピューティングデバイス150のユーザを認証するように生成されたセキュリティ質問を含むことができる。当該オーディオベースのコンテンツ・アイテムは、排他的にオーディオであることができ、または、テキスト、画像、またはビデオデータと組み合わせることができる。
【0022】
サービスプロバイダコンピューティングデバイス160は少なくとも1つのサービスプロバイダ自然言語プロセッサ(NLP)コンポーネント161および少なくとも1つのサービスプロバイダインタフェース162を含むことができる。サービスプロバイダNLPコンポーネント161(またはサービスプロバイダコンピューティングデバイス160のダイレクト・アクションAPIのような他のコンポーネント)は、クライアントコンピューティングデバイス150と(データ処理システム105を介してまたはデータ処理システム105をバイパスして)協調して、クライアントコンピューティングデバイス150およびサービスプロバイダコンピューティングデバイス160の間で行き来するリアルタイム音声またはオーディオベースの会話(例えば、セッション)を生成することができる。例えば、サービスプロバイダインタフェース162はデータメッセージを受信し、または、データメッセージをデータ処理システム105のダイレクト・アクションAPI135に提供することができる。サービスプロバイダコンピューティングデバイス160およびコンテンツプロバイダコンピューティングデバイス155を同一のエンティティに関連付けることができる。例えば、コンテンツプロバイダコンピューティングデバイス155はカーシェア・サービスに対して利用可能なコンテンツ・アイテムを生成、格納、または作成でき、およびサービスプロバイダコンピューティングデバイス160は、セッションをクライアントコンピューティングデバイス150と確立して、クライアントコンピューティングデバイス150の当該エンド・ユーザをピックアップするためのタクシーまたは当該カーシェアサービスの車の配送をアレンジすることができる。データ処理システム105、ダイレクト・アクションAPI135、NLPコンポーネント110または他のコンポーネントを介してはまた、サービスプロバイダコンピューティングデバイス160を含むかまたはバイパスして、当該クライアントコンピューティングデバイスとの当該セッションを確立し、例えばタクシーまたは当該カーシェアサービスの車の配送をアレンジすることができる。
【0023】
サービスプロバイダデバイス160、コンテンツプロバイダデバイス155、およびデータ処理システム105はAPI136を含むことができる。エンド・ユーザは、音声会話を介して、コンテンツ・アイテムと対話でき、通信セッションを介してデータ処理システム105と対話することができる。当該音声会話はクライアントデバイス150および会話API136の間であることができる。会話API136は、データ処理システム105、サービスプロバイダ160、またはコンテンツプロバイダ155により実行されることができる。データ処理システム105は、データ処理システムが会話API136を実行するとき、エンド・ユーザの当該コンテンツとの直接的な対話に関する追加の情報を取得することができる。提供されたサービスプロバイダ160またはコンテンツプロバイダ155が会話API136を実行するとき、当該通信セッションは、データ処理システム105を通じてルーティングされることができるか、または、各エンティティは当該通信セッションのデータパケットをデータ処理システム105に転送することができる。会話API136がデータ処理システム105により実行されたとき、本明細書で説明したネットワーキングセキュリティ機器は当該通信セッションを終了することができる。ネットワーキングセキュリティ機器105は、サービスプロバイダ160またはコンテンツプロバイダ155が会話API136を実行したとき、サービスプロバイダ160またはコンテンツプロバイダ155が当該通信セッションを停止(または無効に)するための命令を送信することができる。
【0024】
データリポジトリ145は1つまたは複数のローカルまたは分散データベースを含むことができ、データベース管理システムを含むことができる。データリポジトリ145はコンピュータデータ記憶またはメモリを含むことができ、他のデータのうち1つまたは複数のパラメータ146、1つまたは複数のポリシ147、コンテンツデータ148、またはテンプレート149を格納することができる。パラメータ146、ポリシ147、およびテンプレート149はクライアントコンピューティングデバイス150およびデータ処理システム105(またはサービスプロバイダコンピューティングデバイス160)の間の音声ベースのセッションに関するルールのような情報を含むことができる。コンテンツデータ148は、オーディオ出力に対するコンテンツ・アイテムまたは関連付けられたメタデータ、ならびにクライアントコンピューティングデバイス150との1つまたは複数の通信セッションの一部であることができる入力オーディオメッセージを含むことができる。
【0025】
データ処理システム105は、入力オーディオ信号をデータ処理システム105のインタフェース115に通信して、クライアントコンピューティングデバイスのコンポーネントを駆動して、出力オーディオ信号を描画するためのアプリのような、クライアントコンピューティングデバイス150にインストールされたアプリケーション、スクリプトまたはプログラムを含むことができる。データ処理システム105は、オーディオ入力信号を含むかまたは識別するデータパケットまたは他の信号を受信することができる。例えば、データ処理システム105は、NLPコンポーネント110を実行して当該オーディオ入力信号を受信することができる。当該オーディオ入力信号は、当該クライアントコンピューティングデバイスのセンサ151(例えば、マイクロフォン)により検出されることができる。NLPコンポーネント110は、当該入力信号を格納された、代表的な組のオーディオ波形に対して比較して最も近いマッチを選択することで、オーディオ入力信号を認識されたテキストに変換することができる。当該代表的な波形を大規模な1組の入力信号にわたって生成することができる。ユーザは当該入力信号の幾つかを提供することができる。当該オーディオ信号が認識されたテキストに変換されると、NLPコンポーネント110は、例えば学習段階を介して、システム200が生成しうるアクションに関連付けられた単語に当該テキストをマッチすることができる。トランスデューサ152、オーディオドライバ153、または他のコンポーネントを介して、クライアントコンピューティングデバイス150は当該オーディオ入力信号をデータ処理システム105(例えば、ネットワーク165を介して)に提供することができる。当該オーディオ入力信号は、(例えば、インタフェース115により)受信され、NLPコンポーネント110に提供され、または、データリポジトリ145にコンテンツデータ148として格納されることができる。
【0026】
NLPコンポーネント110は当該入力オーディオ信号を取得することができる。当該入力オーディオ信号から、NLPコンポーネント110は、少なくとも1つの要求または当該要求に対応する少なくとも1つのトリガキーワードを識別することができる。当該要求は当該入力オーディオ信号の意図または主題を示すことができる。当該トリガキーワードは行われる可能性があるアクションのタイプを示すことができる。例えば、NLPコンポーネント110は当該入力オーディオ信号を解析して、夕方に家を出てディナーおよび映画に参加する少なくとも1つの要求を識別することができる。当該トリガキーワードは、取るべきアクションを示す少なくとも1つの単語、フレーズ、語源または部分語、または派生物を含むことができる。例えば、当該入力オーディオ信号からのトリガキーワード「go」または「to go to」は輸送に対する必要性を示すことができる。本例では、当該入力オーディオ信号(または当該識別された要求)は輸送の意図を直接表現しないが、当該トリガキーワードは、輸送が当該要求により示される少なくとも1つの他のアクションに対する付属的アクションであることを示す。
【0027】
コンテンツセレクタコンポーネント125はこの情報をデータリポジトリ145から取得することができる。それをコンテンツデータ148の一部として格納することができる。コンテンツセレクタコンポーネント125はデータリポジトリ145に問い合わせて、当該コンテンツ・アイテムを、例えば、コンテンツデータ148から選択または識別することができる。コンテンツセレクタコンポーネント125はまた、当該コンテンツ・アイテムをコンテンツプロバイダコンピューティングデバイス155から選択することができる。例えばデータ処理システム105から受信されたクエリに応答して、コンテンツプロバイダコンピューティングデバイス155はコンテンツ・アイテムを、クライアントコンピューティングデバイス150による最終出力のために、データ処理システム105(またはそのコンポーネント)に提供することができる。
【0028】
オーディオ信号ジェネレータコンポーネント130は、コンテンツ・アイテムを含む出力信号を生成または取得することができる。例えば、データ処理システム105はオーディオ信号ジェネレータコンポーネントを実行して、当該コンテンツ・アイテムに対応する出力信号を生成または作成することができる。データ処理システム105のインタフェース115は、コンピュータネットワーク165を介して出力信号を含む1つまたは複数のデータパケットをクライアントコンピューティングデバイス150に提供または送信することができる。例えばデータ処理システム105は、当該出力信号をデータリポジトリ145からまたはオーディオ信号ジェネレータコンポーネント130からクライアントコンピューティングデバイス150に提供することができる。データ処理システム105はまた、データパケット送信を介して、コンテンツプロバイダコンピューティングデバイス155またはサービスプロバイダコンピューティングデバイス160に、当該出力信号をクライアントコンピューティングデバイス150に提供するように指示することができる。当該出力信号を、取得し、生成し、1つまたは複数のデータパケット(または他の通信プロトコル)に変換し、または1つまたは複数のデータパケット(または他の通信プロトコル)としてデータ処理システム105(または他のコンピューティングデバイス)からクライアントコンピューティングデバイス150に送信することができる。
【0029】
コンテンツセレクタコンポーネント125は、当該入力オーディオ信号のアクションに対してリアルタイムコンテンツ選択プロセスの一部として当該コンテンツ・アイテムを選択することができる。例えば、当該コンテンツ・アイテムを、オーディオ出力として当該入力オーディオ信号への直接応答の会話方式で送信するために、クライアントコンピューティングデバイスに提供することができる。当該コンテンツ・アイテムを識別し当該コンテンツ・アイテムをクライアントコンピューティングデバイス150に提供するためのリアルタイムコンテンツ選択プロセスは、当該入力オーディオ信号の時刻から1分以下で発生することができ、リアルタイムと考えることができる。
【0030】
当該コンテンツ・アイテムに対応する出力信号、例えば、オーディオ信号ジェネレータコンポーネント130により取得または生成され、インタフェース115およびコンピュータネットワーク165を介してクライアントコンピューティングデバイス150に送信された出力信号は、クライアントコンピューティングデバイス150に、オーディオドライバ153を実行してスピーカ154を駆動して当該出力信号に対応する音波を生成させることができる。当該音波は当該コンテンツ・アイテムのまたは当該コンテンツ・アイテムに対応する単語を含むことができる。
【0031】
データ処理システムのダイレクト・アクションAPI135は、当該トリガキーワードに基づいて、アクションデータ構造を生成することができる。ダイレクト・アクションAPI135はデータ処理システム105により決定されるものとして、指定されたアクションを実行してエンド・ユーザの意図を満たすことができる。その入力で指定されたアクションに依存して、ダイレクト・アクションAPI135は、ユーザ要求を満たすのに必要なパラメータを識別するコードまたはダイアログスクリプトを実行することができる。当該アクションデータ構造を当該要求に応答して生成することができる。当該アクションデータ構造は、サービスプロバイダコンピューティングデバイス160により送受信されるメッセージに含まれることができる。NLPコンポーネント110により解析された要求に基づいて、ダイレクト・アクションAPI135は、サービスプロバイダコンピューティングデバイス160のうちどれに当該メッセージを送信すべきであるかを判定することができる。例えば、入力オーディオ信号が「order a taxi」を含む場合、NLPコンポーネント110は、トリガ単語「order」およびタクシーに対する要求を識別することができる。ダイレクト・アクションAPI135は当該要求を、タクシーサービスのサービスプロバイダコンピューティングデバイス160へのメッセージとして送信するためのアクションデータ構造へパッケージ化することができる。当該メッセージはまた、コンテンツセレクタコンポーネント125に渡すことができる。当該アクションデータ構造は当該要求を完了するための情報を含むことができる。本例では、当該情報はピックアップ位置および宛先位置を含むことができる。ダイレクト・アクションAPI135は、どのフィールドを当該アクションデータ構造に含めるべきかを判定するために、テンプレート149をリポジトリ145から取り出すことができる。ダイレクト・アクションAPI135は必要なパラメータを決定し、当該情報をアクションデータ構造にパッケージ化することができる。ダイレクト・アクションAPI135はコンテンツをリポジトリ145から取り出して、当該データ構造のフィールドに関する情報を取得することができる。ダイレクト・アクションAPI135は、当該テンプレートからのフィールドをその情報で埋めて、当該データ構造を生成することができる。ダイレクト・アクションAPI135はまた、当該フィールドを当該入力オーディオ信号からのデータで埋めることができる。テンプレート149を、サービスプロバイダのカテゴリに対して標準化するか、または、特定のサービスプロバイダに対して標準化することができる。例えば、乗車共有サービスプロバイダは以下の標準化されたテンプレート149を使用してデータ構造{client_device_identifier; authentication_credentials; pick_up_location; destination_location; no_passengers; service_level}を生成することができる。当該アクションデータ構造は次いで、コンテンツセレクタコンポーネント125のような別のコンポーネントまたは満たすべきサービスプロバイダコンピューティングデバイス160に送信することができる。
【0032】
ダイレクト・アクションAPI135は、(カーシェア会社のような、コンテンツ・アイテムに関連付けることができる)サービスプロバイダコンピューティングデバイス160と通信して、映画が終了する時刻に映画館の位置に対するタクシーまたは相乗り車をオーダーすることができる。データ処理システム105は、クライアントコンピューティングデバイス150とのデータパケット(または他のプロトコル)ベースのデータメッセージ通信の一部として、この位置または時刻情報を、データリポジトリ145から、またはサービスプロバイダコンピューティングデバイス160またはコンテンツプロバイダコンピューティングデバイス155のような他のソースから取得することができる。このオーダー(または他の変換)の確認を、クgreat, you will have a car waiting for you at 11 pm outside the theater」のようなオーディオ出力を描画させるデータ処理システム105からの出力信号の形で、オーディオ通信としてデータ処理システム105からクライアントコンピューティングデバイス150に提供することができる。データ処理システム105は、ダイレクト・アクションAPI135を介して、サービスプロバイダコンピューティングデバイス160と通信して車のオーダーを確認することができる。
【0033】
データ処理システム105は、当該コンテンツ・アイテム(「would you like a ride home from the movie theater?」)に対する応答(例えば、「yes please」)を取得でき、パケット・ベースのデータメッセージをサービスプロバイダNLPコンポーネント161(またはサービスプロバイダコンピューティングデバイスの他のコンポーネント)にルーティングすることができる。このパケット・ベースのデータメッセージは、サービスプロバイダコンピューティングデバイス160に、変換に影響を及ぼさせる、例えば、映画の映画館の外部で車のピックアップ予約を行わせることができる。この変換または確認された順序(または当該スレッドの任意の他のアクションの任意の他の変換)は、当該スレッドの1つまたは複数のアクションの完了の前に、例えば映画の完了の前に、ならびに当該スレッドの1つまたは複数のアクションの完了に続いて、例えば、ディナーに続いて発生することができる。
【0034】
ダイレクト・アクションAPI135は、データリポジトリ145からのコンテンツデータ148(またはパラメータ146またはポリシ147)、ならびに位置、時間、ユーザアカウント、物流または当該カーシェアサービスから車を予約するための他の情報を決定するためにエンド・ユーザ同意によりクライアントコンピューティングデバイス150から受信されたデータを取得することができる。コンテンツデータ148(またはパラメータ146またはポリシ147)はアクションデータ構造に含まれることができる。当該アクションデータ構造に含まれるコンテンツが認証に使用されるエンド・ユーザデータを含むとき、当該データを、データリポジトリ145に格納されている前にハッシュ機能に通すことができる。ダイレクト・アクションAPI135を用いて、データ処理システム105はまた、サービスプロバイダコンピューティングデバイス160と通信して、この例ではカーシェアのピックアップ予約を行うことによって当該変換を完了することができる。
【0035】
データ処理システム105はコンテンツ・アイテムに関連付けられたアクションをキャンセルすることができる。当該アクションのキャンセルはネットワークセキュリティ機器123がアラーム条件を生成することに応答することができる。ネットワークセキュリティ機器123は、ネットワークセキュリティ機器123が、当該入力オーディオ信号が悪意あるまたはクライアントコンピューティングデバイス150の認証されたエンド・ユーザにより提供されていないことを予測するとき、アラーム条件を生成することができる。
【0036】
データ処理システム105はインタフェースを含むことができ、またはネットワークセキュリティ機器123と通信する。ネットワークセキュリティ機器123は、クライアントコンピューティングデバイス150およびコンテンツプロバイダコンピューティングデバイス155の間の信号送信を認証することができる。当該信号送信は、クライアントコンピューティングデバイス150からのオーディオ入力およびクライアントコンピューティングデバイス150からのオーディオ応答信号であることができる。当該オーディオ応答信号を、データ処理システム105により1つまたは複数の通信セッション中にクライアントコンピューティングデバイス150に送信されたコンテンツ・アイテムに応答して生成することができる。ネットワークセキュリティ機器123は、アクションデータ構造を当該入力オーディオ信号の1つまたは複数の特性および応答オーディオ信号と比較することにより、当該信号送信を認証することができる。
【0037】
ネットワークセキュリティ機器123は当該入力オーディオ信号の特性を決定することができる。当該オーディオ信号の特性は、音声プリント、キーワード、検出された音声の数、オーディオソースの識別、およびオーディオソースの位置を含むことができる。例えば、ネットワークセキュリティ機器123は、当該入力オーディオ信号のスペクトルコンポーネントを測定して、当該入力オーディオ信号を生成するために使用される音声の音声プリントを生成することができる。当該入力オーディオ信号に応答して生成された音声プリントを、データ処理システム105により保存された格納された音声プリントに比較することができる。当該保存された音声プリントは、認証された音声プリント、例えば、当該システムのセットアップ段階中にクライアントコンピューティングデバイス150の認証されたユーザにより生成された音声プリントであることができる。
【0038】
ネットワークセキュリティ機器123はまた、当該入力オーディオ信号の非オーディオ特性を決定することができる。クライアントコンピューティングデバイス150は当該入力オーディオ信号内の非オーディオ情報を含むことができる。当該非オーディオ情報は、クライアントコンピューティングデバイス150により決定または示される位置であることができる。当該非オーディオ情報はクライアントコンピューティングデバイス150の識別子を含むことができる。非オーディオ特性または情報はまた、ワンタイムパスワードデバイスまたは指紋リーダでのチャレンジ応答のような物理認証デバイスを含むことができる。
【0039】
ネットワークセキュリティ機器123は、当該入力オーディオ信号の特性がアクションデータ構造に対応しないとき、アラーム条件を設定することができる。例えば、ネットワークセキュリティ機器123は、当該アクションデータ構造および当該入力オーディオ信号の特性の間のミスマッチを検出することができる。1例では、当該入力オーディオ信号はクライアントコンピューティングデバイス150の位置を含むことができる。当該アクションデータ構造は、エンド・ユーザのスマートフォンの一般的な位置に基づく位置のようなエンド・ユーザの予測された位置を含むことができる。ネットワークセキュリティ機器123が、クライアントコンピューティングデバイス150の位置が当該アクションデータ構造に含まれる当該位置の予め定義された範囲内にないと判定した場合、ネットワークセキュリティ機器123はアラーム条件を設定することができる。別の例では、ネットワークセキュリティ機器123は、当該入力オーディオ信号の音声プリントを、データリポジトリ145に格納され当該アクションデータ構造に含まれるエンド・ユーザの音声プリントと比較することができる。当該2つの音声プリントがマッチしない場合、ネットワークセキュリティ機器123はアラーム条件を設定することができる。
【0040】
ネットワークセキュリティ機器123は、どの入力オーディオ信号特性に認証が基づくべきかを入力オーディオ信号内の要求に応答して判定することができる。異なる特性による認証は異なる計算要件を有することができる。例えば、音声プリントを比較するステップは2つの位置を比較することよりも計算的に集約的であることができる。求められていない計算集約的な認証方法を選択するステップは計算的に無駄でありうる。ネットワークセキュリティ機器123は、当該要求に基づいて認証に使用される特性を選択することによってデータ処理システム105の効率を高めることができる。例えば、当該入力オーディオ信号に関連付けられたセキュリティ・リスクが低いとき、ネットワークセキュリティ機器123は、計算集約的でない特性を用いて認証方法を選択することができる。ネットワークセキュリティ機器123は、当該要求を完了するために要求されたコストに基づいて当該特性を選択することができる。例えば、当該入力オーディオ信号が「order a new laptop computer」であるとき音声プリント特性を使用できるが、当該入力オーディオ信号が「order a taxi」であるときは位置特性を選択することができる。当該特性の選択は、当該要求を完了するために要求された時刻または計算集約に基づくことができる。より計算的なリソースを消費する特性を、完了するためにより計算的なリソースを必要とする要求を生成する入力オーディオ信号を認証するために使用することができる。例えば、当該入力オーディオ信号は「Ok, I’d like to go to dinner and the movies」であり、は複数のアクションおよび要求を含み、複数のサービスプロバイダ160を含むことができる。当該入力オーディオ信号は、可能な映画を検索し、可能なレストランの利用可能を検索し、レストラン予約を行い、および映画チケットを購入する要求を生成することができる。この入力オーディオ信号の完了は、計算的により集約的であり、かつ、入力オーディオ信号「Ok, what time is it?」よりも完了するのに長い時間がかかる
【0041】
ネットワークセキュリティ機器123はまた、入力オーディオ信号に含まれる要求に基づいてアラーム条件を設定することができる。ネットワークセキュリティ機器123は、アクションデータ構造のサービスプロバイダコンピューティングデバイス160への送信がクライアントコンピューティングデバイス150のエンド・ユーザへの金銭的請求をもたらす場合、アラーム条件を自動的に設定することができる。例えば、第1の入力オーディオ信号「Ok, order a pizza」は金銭的請求を生成でき、第2の入力オーディオ信号「Ok, what time is it」は生成しない。本例では、ネットワークセキュリティ機器123は、当該第1の入力オーディオ信号に対応するアクションデータ構造を受信した際にアラーム条件を自動的に設定し、当該第2の入力オーディオ信号に対応するアクションデータ構造を受信した際にアラーム条件を設定しないことができる。
【0042】
ネットワークセキュリティ機器123は、当該アクションデータ構造が特定のサービスプロバイダデバイス160に対して意図した判定に基づいて、アラーム条件を設定することができる。例えば、クライアントコンピューティングデバイス150のエンド・ユーザは、さらなる認証なしにどのサービスプロバイダとデータ処理システム105がエンド・ユーザのかわりに対話できるかに関して制限を設定することができる。例えば、エンド・ユーザに子供がいる場合、おもちゃを販売するサービスプロバイダを介しておもちゃを子供が購入するのを防止するために、エンド・ユーザは、アクションデータ構造がさらなる認証なしにおもちゃ販売店へ送信できない制限を設定することができる。ネットワークセキュリティ機器123が特定のサービスプロバイダデバイス160に対して意図されたアクションデータ構造を受信するとき、ネットワークセキュリティ機器123は、アラーム条件が自動的に設定されるべきかどうかを判定するために、データリポジトリ内のポリシーを検索することができる。
【0043】
ネットワークセキュリティ機器123は当該アラーム条件の指示をコンテンツセレクタコンポーネント125に送信することができる。コンテンツセレクタコンポーネント125はコンテンツ・アイテムを選択して、クライアントコンピューティングデバイス150に送信することができる。当該コンテンツ・アイテムは、当該入力オーディオ信号を認証するためのパスフレーズまたは追加の情報に対する可聴要求であることができる。当該コンテンツ・アイテムをクライアントコンピューティングデバイス150に送信することができる。オーディオドライバ153は、トランスデューサ152を介して、当該コンテンツ・アイテムを音波に変換する。クライアントコンピューティングデバイス150のエンド・ユーザは当該コンテンツ・アイテムに応答することができる。エンド・ユーザの応答は、センサ151によりデジタル化され、データ処理システム105に送信されることができる。NLPコンポーネント110は、当該応答オーディオ信号を処理し、当該応答をネットワークセキュリティ機器123に提供することができる。ネットワークセキュリティ機器123は、当該応答オーディオ信号の特性を当該入力オーディオ信号または当該アクションデータ構造の特性と比較することができる。例えば、当該コンテンツ・アイテムはパスフレーズの要求であることができる。NLPコンポーネント110は、当該応答のテキストオーディオ信号を認識して、当該テキストをネットワークセキュリティ機器123に渡すことができる。ネットワークセキュリティ機器123はハッシュ関数を当該テキストに実行することができる。同一のハッシュ機能でハッシュされているので、エンド・ユーザの認証されたパスフレーズはデータリポジトリ145に保存することができる。ネットワークセキュリティ機器123は、当該ハッシュされたテキストを当該保存された、ハッシュされたパスフレーズと比較することができる。当該ハッシュされたテキストおよびハッシュされたパスフレーズがマッチする場合、ネットワークセキュリティ機器123は当該入力オーディオ信号を認証することができる。当該ハッシュされたテキストおよび当該ハッシュされたパス段階がマッチしない場合、ネットワークセキュリティ機器123は第2のアラーム条件を設定することができる。
【0044】
ネットワークセキュリティ機器123は通信セッションを終了することができる。ネットワークセキュリティ機器123は、クライアントコンピューティングデバイス150と確立された通信セッションを無効にし、一時停止し、または停止するための命令をサービスプロバイダコンピューティングデバイス160に送信することができる。当該通信セッションの終了は、ネットワークセキュリティ機器123が第2のアラーム条件を設定することに応答することができる。ネットワークセキュリティ機器123は、データ処理システム105を介してサービスプロバイダコンピューティングデバイス160との通信セッションを生成するための当該コンピューティングデバイスの能力を無効にすることができる。例えば、ネットワークセキュリティ機器123が入力オーディオ信号「Ok, order a taxi」に応答して第2のアラーム条件を設定する場合、ネットワークセキュリティ機器123は、通信セッションの能力がクライアントコンピューティングデバイス150および当該タクシーサービスプロバイダデバイスの間で確立されるのを無効にすることができる。認証されたユーザは、後の時点で当該タクシーサービスプロバイダデバイスを再認証することができる。
【0045】
図2は、オーディオ信号の認証を実施するためのシステム200の例示的な動作を示す流れ図を示す。システム200は、システム100と関連して上述したコンポーネントまたは要素のうち1つまたは複数を含むことができる。例えば、システム200は、クライアントコンピューティングデバイス150およびサービスプロバイダコンピューティングデバイス160と、例えば、ネットワーク165を介して通信するデータ処理システム105を含むことができる。
【0046】
システム200の動作は、クライアントコンピューティングデバイス150が入力オーディオ信号201をデータ処理システム105に送信することで開始することができる。データ処理システム105が当該入力オーディオ信号を受信すると、データ処理システム105のNLPコンポーネント110は、当該入力オーディオ信号を、要求および当該要求に対応するトリガキーワードに解析することができる。通信セッションは、データ処理システム105を介してクライアントコンピューティングデバイス150およびサービスプロバイダコンピューティングデバイス160の間で確立されたであることができる。
【0047】
ダイレクト・アクションAPI135は当該要求に基づいてアクションデータ構造を生成することができる。例えば、当該入力オーディオ信号は「I want a ride to the movies」であることができる。本例では、ダイレクト・アクションAPI135は当該要求が車サービスに関するものであると判定することができる。ダイレクト・アクションAPI135は、当該入力オーディオ信号を生成した現在のクライアントコンピューティングデバイス150の位置を決定でき、最も近い映画の映画館の位置を決定することができる。ダイレクト・アクションAPI135は、クライアントコンピューティングデバイス150の位置を車サービスに対するピックアップ位置として含み、最も近い映画の映画館の位置を車サービスの目的地として含む、アクションデータ構造を生成することができる。当該アクションデータ構造はまた当該入力オーディオ信号の1つまたは複数の特性を含むことができる。データ処理システム105は、アラーム条件を設定すべきかどうかを判定するために、当該アクションデータ構造をネットワークセキュリティ機器に渡すことができる。
【0048】
当該ネットワークセキュリティ機器がアラーム条件を検出した場合、データ処理システム105は、コンテンツセレクタコンポーネント125を介して、コンテンツ・アイテムを選択することができる。データ処理システム105はコンテンツ・アイテム202をクライアントコンピューティングデバイス150に提供することができる。コンテンツ・アイテム202を、データ処理システム105およびクライアントコンピューティングデバイス150の間の通信セッションの一部として、クライアントコンピューティングデバイス150に提供することができる。当該通信セッションはリアルタイムな人から人への会話の流れと感覚を有することができる。例えば、当該コンテンツ・アイテムは、クライアントコンピューティングデバイス150で再生されるオーディオ信号を含むことができる。エンド・ユーザは当該オーディオ信号に応答することができる。当該オーディオ信号は、センサ151によりデジタル化され、データ処理システム105に送信されることができる。当該コンテンツ・アイテムは、クライアントコンピューティングデバイス150に送信されたセキュリティ質問、コンテンツ・アイテム、または他の質問であることができる。当該質問を、トランスデューサ152を介して、当該入力オーディオ信号を生成したエンド・ユーザに提供することができる。幾つかの実装では、当該セキュリティ質問は、クライアントコンピューティングデバイス150およびデータ処理システム105の間の過去の対話に基づくことができる。例えば、入力オーディオ信号の当該送信の前に、「Ok, order a pizza」の入力オーディオ信号を提供することでユーザがシステム200を介してピザを注文した場合、当該セキュリティ質問は「what did you order for dinner last night」を含みうる。当該コンテンツ・アイテムはまた、データ処理システム105に提供されるパスワードの要求を含むことができる。当該コンテンツ・アイテムは、第1のコンピューティングデバイス150に関連付けられた第2のコンピューティングデバイス150へのプッシュ通知を含むことができる。例えば、当該入力オーディオ信号の確認を要求するプッシュ通知を、クライアントコンピューティングデバイス150に関連付けられたスマートフォンに送信することができる。ユーザは、当該入力オーディオ信号が真正であることを確認するために当該プッシュ通知を選択することができる。
【0049】
クライアントコンピューティングデバイス150およびデータ処理システム105の間の通信セッション中に、ユーザはコンテンツ・アイテムに応答することができる。ユーザは口頭で当該コンテンツ・アイテムに応答することができる。当該応答を、センサ151によりデジタル化し、複数のデータパケットにより運搬される応答オーディオ信号203としてデータ処理システム105に送信することができる。当該可聴信号はまた特性を含むことができ、当該特性をネットワークセキュリティ機器により分析することができる。当該ネットワークセキュリティ機器がアラーム条件が継続すると当該応答オーディオ信号の条件に基づいて判定した場合、当該ネットワークセキュリティ機器は、メッセージ204をサービスプロバイダコンピューティングデバイス160に送信することができる。メッセージ204は、サービスプロバイダコンピューティングデバイス160がクライアントコンピューティングデバイス150との通信セッションを無効にするための命令を含むことができる。
【0050】
図3は、音声起動されたデータパケット(または他のプロトコル)ベースのコンピュータネットワーク環境におけるパケット化されたオーディオ信号を認証する例示的な方法300を示す。方法300は入力オーディオ信号を含むデータパケットを受信するステップを含むことができる(動作302)。例えば、データ処理システムは、NLPコンポーネントを実行または起動して、ネットワークを介してパケットまたは他のプロトコルベースの送信をクライアントコンピューティングデバイスから受信することができる。当該データパケットは、エンド・ユーザが「Ok, I would like to go to go dinner and then a movie tonight」をスマートフォンに対して言ったような、当該センサにより検出された入力オーディオ信号を含むことができるかまたはそれに対応することができる。
【0051】
方法300は当該入力オーディオ信号内の要求およびトリガキーワードを識別するステップを含むことができる(動作304)。例えば、当該NLPコンポーネントは当該入力オーディオ信号を解析して、(上述の例における「ディナー」または「映画」のような)要求ならびに当該要求に対応または関するトリガキーワード「go」「go to」または「to go to」を識別することができる。
【0052】
方法300は当該要求に基づいて第1のアクションデータ構造を生成するステップを含むことができる(動作306)。当該ダイレクト・アクションAPIは、当該入力オーディオ信号の当該要求を満たすために当該サービスプロバイダコンピューティングデバイスまたはコンテンツプロバイダコンピューティングデバイスにより送信し処理できるデータ構造を生成することができる。例えば、上の例を続けると、当該ダイレクト・アクションAPIは、レストラン予約サービスに送信された第1のアクションデータ構造を生成することができる。第1のアクションデータ構造は、クライアントコンピューティングデバイスの現在の位置の近くに配置され、当該クライアントのユーザコンピューティングデバイスに関連付けられた他の仕様(例えば、クライアントのユーザコンピューティングデバイスにより好まれる料理タイプ)を満たすレストランの検索を実施することができる。当該ダイレクト・アクションAPIはまた当該予約に対して好適な時刻を決定することができる。例えば、データ処理システムは、当該検索中に選択されたレストランが15分先であり、現在時刻は午後6:30であると判定することができる。データ処理システムは、午後6:45の後の時刻に好適な予約時間を設定することができる。本例では、第1のアクションデータ構造は当該レストラン名前および当該好適な予約時間を含むことができる。データ処理システムは、第1のアクションデータ構造を当該サービスプロバイダコンピューティングデバイスまたは当該コンテンツプロバイダコンピューティングデバイスに送信することができる。動作306は複数のアクションデータ構造を生成するステップを含むことができる。上述の入力オーディオ信号に対して、映画タイトルおよびレストラン名前を含む第2のアクションデータ構造を生成でき、ピックアップおよび降車位置を含む第3のアクションデータ構造を生成することができる。データ処理システムは、第2のアクションデータ構造を映画チケット予約サービスに提供し、第3のアクションデータ構造を車予約サービスに提供することができる。
【0053】
方法300はまた、第1のアクションデータ構造を当該入力オーディオ信号の特性と比較するステップを含むことができる(動作308)。当該ネットワークセキュリティ機器は、当該入力オーディオ信号の特性を第1のアクションデータ構造と比較して、当該入力オーディオ信号の真正性を決定することができる。当該入力オーディオ信号の真正性決定することは、当該入力オーディオ信号を生成した人が入力オーディオ信号を生成するのに認証されたかどうかを判定するステップを含むことができる。当該入力オーディオ信号の特性は、音声プリント、キーワード、検出された音声の数、オーディオソースの識別(例えば、当該入力オーディオ信号が発生した場所からの当該センサまたはクライアントコンピューティングデバイスの識別)、オーディオソースの位置、または別のクライアントコンピューティングデバイスの位置(および当該他のクライアントコンピューティングデバイスおよび当該オーディオソースの間の当該距離)を含むことができる。例えば、認証された音声プリントを、ユーザ発話の一節をもたせることでセットアップ段階中に生成することができる。これらの一節が発話されると、当該ネットワークセキュリティ機器は、当該頻度コンテンツ、品質、期間、集約、動的、および当該信号のピッチに基づいて音声プリントを生成することができる。当該ネットワークセキュリティ機器は、当該ネットワークセキュリティ機器が、当該入力オーディオ信号の特性が第1のアクションデータ構造または他の期待されるデータにマッチしないと判定した場合に、アラーム条件を生成することができる。例えば、「Ok, I would like to go to go dinner and then a movie tonight」に対するアクションデータ構造を生成したとき、データ処理システムは、ユーザのスマートフォンの位置に基づいてピックアップ位置を含む車予約サービスに対するアクションデータ構造を生成することができる。当該アクションデータ構造は当該位置を含むことができる。当該入力オーディオ信号をインタラクティブスピーカシステム生成することができる。当該インタラクティブスピーカシステムの位置は当該入力オーディオ信号とともにデータ処理システムに送信される。本例では、ユーザのスマートフォンの位置が当該インタラクティブスピーカシステムの位置にマッチしない(または当該インタラクティブスピーカシステムの予め定義された距離内にない)場合、ユーザが当該インタラクティブスピーカシステムの近くになく、当該ネットワークセキュリティ機器は、ユーザが当該入力オーディオ信号を生成しなかった可能性が高いと判定することができる。当該ネットワークセキュリティ機器はアラーム条件を生成することができる。クライアントコンピューティングデバイス150および二次クライアントデバイス(例えば、エンド・ユーザのスマートフォン)の間の距離を、当該2つのデバイスの間の直線の線形距離、当該2つのデバイスの間の移動距離として計算することができる。当該距離はまた、当該2つのデバイスの位置の間の旅行時間に基づくことができる。当該距離が、IPアドレスおよびWi−Fiネットワーク位置のような位置を示すことができる他の特性に基づいてもよい。
【0054】
方法300はコンテンツ・アイテムを選択するステップを含むことができる(動作310)。当該コンテンツ・アイテムは、当該トリガキーワードおよび当該アラーム条件に基づくことができ、リアルタイムコンテンツ選択プロセスを介して選択することができる。当該コンテンツ・アイテムを、当該入力オーディオ信号を認証するために選択することができる。当該コンテンツ・アイテムは、ユーザのスマートフォンのようなクライアントコンピューティングデバイスに表示される通知、オンラインドキュメント、またはメッセージであることができる。当該コンテンツ・アイテムは、クライアントコンピューティングデバイスに送信され当該トランスデューサを介してユーザにブロードキャストされたオーディオ信号であることができる。当該コンテンツ・アイテムはセキュリティ質問であることができる。当該セキュリティ質問は、パスワードの要求のような予め定義されたセキュリティ質問であることができる。当該セキュリティ質問は動的に生成されることができる。例えば、当該セキュリティは、ユーザまたはクライアントコンピューティングデバイスの当該過去の履歴に基づいて生成された質問であることができる。
【0055】
方法300は可聴信号を運搬するデータパケットを受信するステップを含むことができる(動作312)。当該データパケットは、クライアントコンピューティングデバイスおよびデータ処理システムの会話APIの間で送信された可聴信号を運搬することができる。会話APIは、当該コンテンツ・アイテムとの対話に応答してデータ処理システムとの通信セッションを確立することができる。当該可聴信号は、動作310中にクライアントコンピューティングデバイスに送信された当該コンテンツ・アイテムに対するユーザの応答を含むことができる。例えば、当該コンテンツ・アイテムは、クライアントコンピューティングデバイスに、「what is your authorization code?」を尋ねるオーディオ信号を生成させることができる。当該可聴信号は当該コンテンツ・アイテムへのエンド・ユーザ応答を含むことができる。当該コンテンツ・アイテムへのエンド・ユーザ応答は当該応答オーディオ信号の特性であることができる。
【0056】
方法300はまた、当該応答オーディオ信号の特性を当該入力オーディオ信号の特性と比較するステップを含むことができる(動作314)。当該応答オーディオ信号はパスフレーズまたは他の特性を含むことができる。当該コンテンツ・アイテムは、クライアントコンピューティングデバイスが当該応答オーディオ信号の1つまたは複数の特定の特性をキャプチャするための命令を含むことができる。例えば、当該入力オーディオ信号の特性はクライアントコンピューティングデバイスの位置であることができる。当該応答オーディオ信号の特性は当該入力オーディオ信号の特性と異なることができる。例えば、当該応答オーディオ信号の特性は音声プリントであることができる。当該コンテンツ・アイテムは当該音声プリント特性をキャプチャするための命令を含むことができる。当該命令は、追加の頻度コンテンツを当該音声プリントに対して分析できるように、当該応答オーディオ信号をより高いサンプリング頻度でキャプチャするステップを含むことができる。当該システムが当該応答オーディオ信号の特性および当該入力オーディオ信号の間のマッチを検出しない場合、当該システムはアラーム条件を設定することができる。例えば、当該応答オーディオ信号の特性が、当該入力オーディオ信号に関連付けられたパスフレーズにマッチしないパスフレーズを含む場合、当該アラーム条件を設定することができる。
【0057】
当該応答オーディオ信号の特性が当該入力オーディオ信号の特性(例えば、当該パスフレーズ(またはそのハッシュ)マッチ)にマッチする場合、パス条件を設定することができる。パス条件が設定されたとき、当該システムは、当該クライアントデバイスとの当該通信セッションを継続するための命令をサードパーティを送信することができる。当該所定の時間の期限切れまで当該通信セッションが再認証される必要がないように、当該通信セッションを継続するための当該命令は所定の時間量に対する当該通信セッションを認証することができる。
【0058】
方法300はまた、当該通信セッションを無効にするための命令をサードパーティプロバイダデバイスに送信するステップを含むことができる(動作316)。当該通信セッションを無効にすることは、メッセージおよびアクションデータ構造が当該サービスプロバイダデバイスに送信されるのを防止することができる。これは、望まないネットワークトラフィックを減らすことでネットワーク利用を高めることができる。当該通信セッションを無効にすることは、当該サービスプロバイダデバイスが悪意あるかまたは誤って生成された要求を処理しないので、計算の無駄を減らすことができる。
【0059】
図4は例示的なコンピュータシステム400のブロック図である。当該コンピュータシステムまたはコンピューティングデバイス400は、システム100、またはデータ処理システム105のようなそのコンポーネントを含むことができるかまたはそれを実装するために使用される。コンピューティングシステム400は、情報を通信するためのバス405または他の通信コンポーネントおよび情報を処理するためにバス405に接続されるプロセッサ410または処理回路を含む。コンピューティングシステム400はまた1つまたは複数のプロセッサ410または情報を処理するための当該バスに接続される処理回路を含むことができる。コンピューティングシステム400はまた、情報、およびプロセッサ410により実行される命令を格納するためのバス405に接続されたランダム・アクセスメモリ(RAM)または他の動的記憶デバイスのようなメイン・メモリ415を含む。メイン・メモリ415はデータリポジトリ145であることができるかまたはそれを含むことができる。メイン・メモリ415をまた、プロセッサ410による命令の実行中に位置情報、一時的変数、または他の中間情報を格納するために使用することができる。コンピューティングシステム400はさらに、プロセッサ410のための静的情報および命令を格納するためにバス405に接続される読取専用メモリ(ROM)420または他の静的記憶デバイスを含んでもよい。固体状態デバイス、磁気ディスクまたは光ディスクのような記憶デバイス425を、永続的に情報および命令を格納するためにバス405に接続することができる。記憶デバイス425はデータリポジトリ145を含むことができるかまたはその一部であることができる。
【0060】
コンピューティングシステム400を、情報をユーザに表示するために、バス405を介して、液晶ディスプレイ、またはアクティブ行列ディスプレイのようなディスプレイ435に接続してもよい。英数字および他のキーを含むキーボードのような入力デバイス430を、情報およびコマンド選択をプロセッサ410に通信するためにバス405に接続してもよい。入力デバイス430はタッチ・スクリーンディスプレイ435を含むことができる。入力デバイス430はまた、方向情報およびコマンド選択をプロセッサ410に通信しディスプレイ435上のカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キーのようなカーソル・コントロールを含むことができる。ディスプレイ435は、例えば、
図1のデータ処理システム105、クライアントコンピューティングデバイス150または他のコンポーネントの一部であることができる。
【0061】
本明細書で説明したプロセス、システムおよび方法をプロセッサ410がメイン・メモリ415に含まれる命令の配置を実行したことに応答してコンピューティングシステム400により実装することができる。かかる命令を、記憶デバイス425のような別のコンピュータ可読媒体からメイン・メモリ415に読み込むことができる。メイン・メモリ415に含まれる命令の配置の実行は、コンピューティングシステム400に、本明細書で説明した例示的なプロセスを実施させる。マルチプロセッシング配置における1つまたは複数のプロセッサをまた、メイン・メモリ415に含まれる命令を実行するために使用することができる。ハードワイヤード回路を、本明細書で説明するシステムおよび方法とともにソフトウェア命令の代わりにまたはそれを組み合わせて使用することができる。本明細書で説明したシステムおよび方法はハードウェア回路およびソフトウェアの任意の特定の組合せに限定されない。
【0062】
例示的なコンピューティングシステムを
図4で説明したが、本明細書で説明した動作を含む当該主題を、本明細書で開示した構造およびそれらの構造的均等物を含む他のタイプのデジタル電子回路で、またはコンピュータソフトウェア、ファームウェア、またはハードウェアで、またはそれらの1つまたは複数の組合せで実装することができる。
【0063】
本明細書で説明するシステムがユーザに関する個人情報を収集するか、または個人情報を利用しうる状況に対して、ユーザに、プログラムまたは機能が個人情報(例えば、ユーザのソーシャルネットワーク、ソーシャルアクションまたはアクティビティ、ユーザの嗜好、またはユーザの位置に関する情報)を収集しうるかどうかを制御するか、またはユーザにより関連しうるコンテンツサーバまたは他のデータ処理システムからコンテンツを受信するかどうかまたはその方法を制御するための機会を与えてもよい。さらに、特定のデータはそれが格納または使用される前に1つまたは複数の方法で匿名化してもよく、その結果個人的に識別可能な情報がパラメータを生成するときに除去される。例えば、ユーザのアイデンティティを匿名化してもよく、その結果個人的に識別可能な情報をユーザに対して決定できず、またはユーザの特定の位置を決定できないように、ユーザの地理的位置を位置情報が取得される場所で(例えば都市、郵便番号、または状態レベルに)一般化してもよい。したがって、ユーザは、どのように情報がユーザに関して収集され当該コンテンツサーバにより使用されるかを制御することができる。
【0064】
当該主題および本明細書で説明した動作を、本明細書で開示した構造およびそれらの構造的均等物を含むデジタル電子回路で、またはコンピュータソフトウェア、ファームウェア、またはハードウェアで、またはそれらの1つまたは複数の組合せで実装することができる。本明細書で説明した当該主題を、データ処理装置による実行のためにまたは当該装置の動作を制御するために1つまたは複数のコンピュータ記憶媒体で符号化された、1つまたは複数のコンピュータプログラム、例えば、コンピュータプログラム命令の1つまたは複数の回路として実装することができる。代替的にまたは追加として、当該プログラム命令を、人工的に生成された伝播信号、例えば、データ処理装置による実行のために適切な受信器装置に送信するための情報を符号化するために生成されたマシン−生成された電気、光、または電磁気信号で符号化することができる。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムなまたはシリアル・アクセスメモリ・アレイまたはデバイス、またはそれらの1つまたは複数の組合せであることができ、または、それらに含まれることができる。コンピュータ記憶媒体は伝播信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝播信号で符号化されたコンピュータプログラム命令のソースまたは宛先であることができる。当該コンピュータ記憶媒体はまた、1つまたは複数の別々のコンポーネントまたは媒体(例えば、複数のCD、ディスク、または他の記憶デバイス)であることができ、または、それに含まれることができる。本明細書で説明した動作を、1つまたは複数のコンピュータ可読記憶デバイスに格納されまたは他のソースから受信されたデータに対してデータ処理装置により実施される動作として実装することができる。
【0065】
「データ処理システム」「コンピューティングデバイス」「コンポーネント」または「データ処理装置」という用語は、例としてプログラム可能プロセッサ、コンピュータ、システム・オン・チップ、または以上のうち複数または組合せを含む、データを処理するための様々な装置、デバイス、およびマシンを包含する。当該装置は、特殊目的論理回路、例えば、FPGA(フィールドプログラム可能ゲート・アレイ)またはASIC(特殊用途向け集積回路)を含むことができる。当該装置はまた、ハードウェアに加えて、着目するコンピュータプログラムに対する実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコル・スタック、データベース管理システム、オペレーティング・システム、クロス・プラットフォームランタイム環境、仮想マシン、またはそれらの1つまたは複数の組合せを構成するコードを含むことができる。当該装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッド・コンピューティングインフラのような様々な異なるコンピューティングモデルインフラを実現することができる。ダイレクト・アクションAPI135、コンテンツセレクタコンポーネント125、ネットワークセキュリティ機器123、またはNLPコンポーネント110および他のデータ処理システム105コンポーネントは、1つまたは複数のデータ処理装置、システム、コンピューティングデバイス、またはプロセッサを含むかまたは共有ことができる。
【0066】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、スクリプト、またはコードとしても知られる)を、コンパイル型言語またはインタプリタ型言語、宣言型または手続型言語を含む任意の形態のプログラミング言語で書くことができ、スタンドアロンプログラムまたはモジュール、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境で使用するのに適した他のユニットを含む任意の形態で展開することができる。コンピュータコンピュータプログラムはイルシステム内のファイルに対応することができる。コンピュータコンピュータプログラムを、他のプログラムまたはデータを保持するファイル部分(例えば、マークアップ言語ドキュメントに格納された1つまたは複数のスクリプト)に、着目するプログラム専用の単一のファイルに、または複数の協調ファイルに(例えば、1つまたは複数のモジュール、サブプログラム、またはコード部分を格納するファイル)格納することができる。コンピュータコンピュータプログラムを、1つのコンピュータ上でまたは1つのサイトに配置されるかまたは複数のサイトにわたって分散され通信ネットワークにより相互接続された複数のコンピュータ上で実行されるように展開することができる。
【0067】
本明細書で説明した当該プロセスおよび論理フローを、1つまたは複数のプログラム可能プロセッサが、1つまたは複数のコンピュータプログラム(例えば、データ処理システム105のコンポーネント)を実行して、入力データで動作し出力を生成することでアクションを実施することにより、実施することができる。当該プロセスおよび論理フローはまた、特殊目的論理回路、例えば、FPGA(フィールドプログラム可能ゲート・アレイ)またはASIC(特殊用途向け集積回路)により実施でき、装置をまた特殊目的論理回路、例えば、FPGA(フィールドプログラム可能ゲート・アレイ)またはASIC(特殊用途向け集積回路)として実装することができる。コンピュータプログラム命令およびデータを格納するのに適したデバイス、例として半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュ・メモリデバイスを含むあらゆる形態の非揮発性メモリ、媒体およびメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたは取外し可能ディスク、磁気光ディスク、およびCDROMおよびDVD−ROMディスクを含む。当該プロセッサおよび当該メモリを特殊目的論理回路で補完するかまたはそれに組み込むことができる。
【0068】
本明細書で説明する主題を、コンピューティングシステムで実装することができるバックエンドコンポーネントを、例えば、データサーバとして含むか、またはミドルウェアコンポーネント、例えば、アプリケーションサーバを含むか、またはフロントエンドコンポーネント、例えば、ユーザがそれを通じて本明細書で説明した当該主題の実装と対話できるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ、または1つまたは複数のかかるバックエンド、ミドルウェア、またはフロントエンドコンポーネントの組合せを含む。当該システムの当該コンポーネントはデジタルデータ通信、例えば、通信ネットワークの任意の形態または媒体により相互接続することができる。通信ネットワークの例は、ローカル・エリア・ネットワーク(「LAN」)および広帯域ネットワーク(「WAN」)、インターネットワーク(例えば、インターネット)、およびピア・ツー・ピアネットワーク(例えば、アドホックピア・ツー・ピアネットワーク)を含む。
【0069】
システム100またはシステム400のような当該コンピューティングシステムはクライアントおよびサーバを含むことができる。コンピュータクライアントおよびサーバは一般に互いから離れており、一般に通信ネットワークを通じて対話する(例えば、ネットワーク165)。クライアントおよびサーバの関係は、当該各コンピュータで実行され互いにクライアント−サーバ関係を有するコンピュータプログラムにより生ずる。幾つかの実装では、サーバは、(例えば、データを表示し、ユーザ入力を当該クライアントデバイスと対話するユーザから受信する目的で)データ(例えば、コンテンツ・アイテムを表すデータパケット)をクライアントデバイスに送信する。当該クライアントデバイスで生成されたデータ(例えば、ユーザ対話の結果)は当該クライアントデバイスから当該サーバでから(例えば、受信されたデータ処理システム105によりクライアントコンピューティングデバイス150またはコンテンツプロバイダコンピューティングデバイス155またはサービスプロバイダコンピューティングデバイス160から)受信されることができる。
【0070】
動作を当該図面において特定の順序で説明したが、かかる動作を示した特定の順序でまたは逐次的な順序で実施する必要はなく、全ての図示した動作を実施する必要はない。本明細書で説明した動作を異なる順序で実施することができる。
【0071】
様々なシステムコンポーネントの分離は全ての実装における分離を要求しないが、当該説明したプログラムコンポーネントを単一のハードウェアまたはソフトウェア製品に含めることができる。例えば、NLPコンポーネント110、コンテンツセレクタコンポーネント125、またはネットワークセキュリティ機器123は、単一のコンポーネント、アプリ、またはプログラム、または1つまたは複数の処理回路を有する論理デバイス、またはデータ処理システム105の1つまたは複数のサーバの一部であることができる。
【0072】
幾つかの例示的な実装を説明したので、以上は、例示的であり限定的ではなく、例として提示されていることは明らかである。特に、本明細書で提示した例の多くは方法の動作またはシステム要素の特定の組合せを含むが、これらの動作およびこれらの要素を他の方法で組み合わせて同一の目的を実現してもよい。1実装と関連して説明した動作、要素および特徴は他の実装または実装における類似の役割から排除されるものではない。
【0073】
本明細書で使用したフレーズおよび用語は説明の目的のためであり限定として解釈されるべきではない。「〜を含む」、「〜を備える」、「〜を有する」、「〜を包含する」、「〜が関与する」、「〜により特徴付けられる」、「〜の点で特徴付けられる」、およびその本明細書における変形の使用、は、その後に列挙された項目、その均等物、および追加の項目、ならびに排他的にその後に列挙された項目からなる代替的な実装を含むことを意味する。1実装では、本明細書で説明するシステムおよび方法は当該説明した要素、動作、またはコンポーネントの1つ、複数の各組合せ、または全てから成る。
【0074】
本明細書で単一形で参照されるシステムおよび方法の実装または要素または動作に対する任意の言及は複数のこれらの要素を含む実装を含んでもよく、本明細書の任意の実装または要素または動作への複数形の任意の参照は単一の要素のみを含む実装を含んでもよい。単一形または複数形における参照は本明細書で開示したシステムまたは方法、それらのコンポーネント、動作、または要素を単一のまたは複数の構成に限定しようとするものではない。任意の情報、動作または要素に基づく任意の動作または要素への参照は当該動作または要素は任意の情報、動作、または要素に少なくとも部分的に基づく実装を含んでもよい。
【0075】
本明細書で開示した任意の実装を任意の他の実装または実施形態と組み合わせてもよく「実装」、「幾つかの実装」、「1実装」等への言及は必ずしも相互に排他的ではなく、当該実装と関連して説明した特定の特徴、構造、または特性が少なくとも1つの実装または実施形態に含まれてもよいを示すことを意図している。本明細書で使用した用語は必ずしも全て同一の実装を参照しない。任意の実装を、任意の他の実装と、包含的にまたは排他的に、本明細書で開示した態様および実装と一貫する任意の方式で結合してもよい。
【0076】
「または」に対する言及は、「または」を用いて説明された任意の用語が当該説明した用語のうち1つ、複数、および全ての何れかを示しうるように、包含的として解釈してもよい。例えば、「‘A’および‘B’のうち少なくとも1つ」への言及は‘A’のみ、‘B’のみ、ならびに‘A’および‘B’の両方を含むことができる。「〜を備える」または他のオープンな用語と関連して使用されるかかる言及は追加の項目を含むことができる。
【0077】
当該図面、詳細な説明または任意の請求項における技術的特徴に参照記号が続く場合、当該参照記号は当該図面、詳細な説明、および特許請求の範囲の明瞭性を高めるために含まれている。したがって、当該参照記号もそれがないことも任意のクレーム要素の範囲に対する限定効果を有さない。
【0078】
本明細書で説明するシステムおよび方法をその特徴から逸脱せずに他の特定の形態で具体化してもよい。以上の実装は説明したシステムおよび方法の限定ではなく例示的なものである。本明細書で説明するシステムおよび方法の範囲はしたがって以上の説明ではなく添付の特許請求の範囲により示され、添付の特許請求の範囲の均等物の意味と範囲に入る変更がそこに包含される。