(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-04-04
(54)【発明の名称】エンドポイント通信チャネル選択を実現する動的テキストメッセージ処理
(51)【国際特許分類】
H04L 51/18 20220101AFI20220328BHJP
H04L 51/02 20220101ALI20220328BHJP
【FI】
H04L51/18
H04L51/02
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021549320
(86)(22)【出願日】2020-02-19
(85)【翻訳文提出日】2021-10-04
(86)【国際出願番号】 US2020018893
(87)【国際公開番号】W WO2020172326
(87)【国際公開日】2020-08-27
(32)【優先日】2019-02-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】511094772
【氏名又は名称】ライブパーソン, インコーポレイテッド
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100179062
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100219542
【氏名又は名称】大宅 郁治
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】チェン、アンソニー
(57)【要約】
本開示は、概して、テキストメッセージングインターフェースを介して多種多様なトピックおよびユーザ意図を扱うためのコンシェルジュサービスを提供することに関する。コンシェルジュサービスは、要求または命令を履行する目的で、要求を行うかまたは命令を提供するユーザと1つ以上のエンドポイントとの間の自然言語会話を動的に管理し、容易にすることができる接続管理システムの一部となることができる。
【選択図】
図7
【特許請求の範囲】
【請求項1】
コンピュータ実現方法であって、
要求テキストメッセージを受信することと、前記要求テキストメッセージは自然言語要求を含み、
予め規定された意図を識別するために前記自然言語要求を解釈することと、
前記予め規定された意図に基づいて、前記自然言語要求を受信するエンドポイントを自動的に選択することと、
前記自然言語要求を前記エンドポイントに転送することと、
前記自然言語要求に対する応答を受信することと、
前記応答に基づいて応答テキストメッセージを生成することと、前記応答テキストメッセージは自然言語応答を含み、
前記応答テキストメッセージを送信することとを含む、コンピュータ実現方法。
【請求項2】
前記自然言語要求はリソースに対する要求であり、前記応答テキストメッセージが前記リソースを含む、請求項1に記載のコンピュータ実現方法。
【請求項3】
前記エンドポイントは、複数のエンドポイントから選択される、請求項1に記載のコンピュータ実現方法。
【請求項4】
前記自然言語要求を解釈することは、1つ以上のキーワードについて前記自然言語要求を構文解析することを含み、前記1つ以上のキーワードは、前記予め規定された意図を識別するために使用される、請求項1に記載のコンピュータ実現方法。
【請求項5】
前記要求テキストメッセージは、ユーザに関係付けられたモバイルデバイスから受信される、請求項1に記載のコンピュータ実現方法。
【請求項6】
第2の要求テキストメッセージを受信することと、前記第2の要求テキストメッセージが第2の自然言語要求を含み、
第2の予め規定された意図を識別するために前記第2の自然言語要求を解釈することと、
前記第2の予め規定された意図に基づいて、前記第2の自然言語要求を受信する代替エンドポイントを自動的に選択することと、
前記第2の自然言語要求を前記代替エンドポイントに転送することとをさらに含む、請求項1に記載のコンピュータ実現方法。
【請求項7】
第2の要求テキストメッセージを受信することと、前記第2の要求テキストメッセージは第2の自然言語要求を含み、
前記エンドポイントに基づいて、前記第2の自然言語要求を受信する代替エンドポイントを自動的に選択することと、
前記第2の自然言語要求を前記代替エンドポイントに転送することとをさらに含む、請求項1に記載のコンピュータ実現方法。
【請求項8】
システムであって、
1つ以上のプロセッサと、
命令を含む非一時的コンピュータ読取可能記憶媒体とを備え、前記命令は、前記1つ以上のプロセッサ上で実行されるとき、前記1つ以上のプロセッサに、
要求テキストメッセージを受信することと、前記要求テキストメッセージは自然言語要求を含み、
予め規定された意図を識別するために前記自然言語要求を解釈することと、
前記予め規定された意図に基づいて、前記自然言語要求を受信するエンドポイントを自動的に選択することと、
前記自然言語要求を前記エンドポイントに転送することと、
前記自然言語要求に対する応答を受信することと、
前記応答に基づいて応答テキストメッセージを生成することと、前記応答テキストメッセージが自然言語応答を含み、
前記応答テキストメッセージを送信することと、を含む動作を実行させる、システム。
【請求項9】
前記自然言語要求はリソースに対する要求であり、前記応答テキストメッセージは前記リソースを含む、請求項8に記載のシステム。
【請求項10】
前記エンドポイントは複数のエンドポイントから選択される、請求項8に記載のシステム。
【請求項11】
前記自然言語要求を解釈することは、1つ以上のキーワードについて前記自然言語要求を構文解析することを含み、前記1つ以上のキーワードは、前記予め規定された意図を識別するために使用される、請求項8に記載のシステム。
【請求項12】
前記要求テキストメッセージは、ユーザに関係付けられたモバイルデバイスから受信される、請求項8に記載のシステム。
【請求項13】
前記動作は、
第2の要求テキストメッセージを受信することと、前記第2の要求テキストメッセージが第2の自然言語要求を含み、
第2の予め規定された意図を識別するために前記第2の自然言語要求を解釈することと、
前記第2の予め規定された意図に基づいて、前記第2の自然言語要求を受信する代替エンドポイントを自動的に選択することと、
前記第2の自然言語要求を前記代替エンドポイントに転送することとをさらに含む、請求項8に記載のシステム。
【請求項14】
前記動作は、
第2の要求テキストメッセージを受信することと、前記第2の要求テキストメッセージは第2の自然言語要求を含み、
前記エンドポイントに基づいて、前記第2の自然言語要求を受信する代替エンドポイントを自動的に選択することと、
前記第2の自然言語要求を前記代替エンドポイントに転送することとをさらに含む、請求項8に記載のシステム。
【請求項15】
命令を含む非一時的機械読取可能記憶媒体において有形に具現化されたコンピュータプログラム製品であって、
前記命令は、データ処理装置に、
要求テキストメッセージを受信することと、前記要求テキストメッセージは自然言語要求を含み、
予め規定された意図を識別するために前記自然言語要求を解釈することと、
前記予め規定された意図に基づいて、前記自然言語要求を受信するエンドポイントを自動的に選択することと、
前記自然言語要求を前記エンドポイントに転送することと、
前記自然言語要求に対する応答を受信することと、
前記応答に基づいて応答テキストメッセージを生成することと、前記応答テキストメッセージが自然言語応答を含み、
前記応答テキストメッセージを送信することと、を含む動作を実行させる、コンピュータプログラム製品。
【請求項16】
前記自然言語要求がリソースに対する要求であり、前記応答テキストメッセージは前記リソースを含む、請求項15に記載のコンピュータプログラム製品。
【請求項17】
前記エンドポイントは、複数のエンドポイントから選択される、請求項15に記載のコンピュータプログラム製品。
【請求項18】
前記自然言語要求を解釈することは、1つ以上のキーワードについて前記自然言語要求を構文解析することを含み、前記1つ以上のキーワードは、前記予め規定された意図を識別するために使用される、請求項15に記載のコンピュータプログラム製品。
【請求項19】
前記要求テキストメッセージは、ユーザに関係付けられたモバイルデバイスから受信される、請求項15に記載のコンピュータプログラム製品。
【請求項20】
前記動作は、
第2の要求テキストメッセージを受信することと、前記第2の要求テキストメッセージは第2の自然言語要求を含み、
第2の予め規定された意図を識別するために前記第2の自然言語要求を解釈することと、
前記第2の予め規定された意図に基づいて、前記第2の自然言語要求を受信する代替エンドポイントを自動的に選択することと、
前記第2の自然言語要求を前記代替エンドポイントに転送することとをさらに含む、請求項15に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
[0001]本願は、2019年2月22日に出願された米国仮特許出願第62/809,136号の利益を主張し、その全体が参照によってここに組み込まれる。
【分野】
【0002】
[0002]本開示は、一般に人工知能(AI)を使用する通信処理に関する。より具体的には、AIプラットフォームを配備して通信チャネル中のエンドポイントを選択する技術が提供され、これにより、ユーザは、自然言語クエリに回答するのに最も適したエンドポイントにかかわることが可能になる。
【背景】
【0003】
[0003]ボットスクリプトは、データ処理およびタスク管理を自動化するために実行されることができる。しかしながら、データ量の規模が増大し、ますます動的かつ複雑になるにつれて、従来のボットスクリプトは、効率の著しい欠如を示す。タスク管理のためにターゲット結果を正確に検出するようにボットスクリプトを構成することは、しばしば困難である。ボットスクリプトはまた、典型的には、異なる通信チャネル間などの複数の異なる環境にわたってタスクを処理することができない。
【概要】
【0004】
[0004]実施形態という用語および同様の用語は、本開示の主題事項および以下の特許請求の範囲のすべてを広く指すように意図される。これらの用語を含む記述は、ここに記載される主題事項を限定するものではなく、または以下の特許請求の範囲の意味もしくは範囲を限定するものでもないことを理解されたい。ここに包含される本開示の実施形態は、この概要ではなく、以下の特許請求の範囲によって定義される。この概要は、本開示の様々な態様の高レベルの概要であり、以下の詳細な説明セクションにおいてさらに説明される概念のうちのいくつかを紹介する。この概要は、請求項中に記載されている主題事項の鍵または本質的な特徴を識別することを意図されてはおらず、請求項中に記載されている主題事項の範囲を決定するために単独で使用されることも意図されてはいない。主題事項は、本開示の明細書全体の適切な部分、任意または全ての図面、および各請求項を参照することによって理解されるべきである。
【0005】
[0005]本開示の実施形態は、上記で提示された技術的課題に対処するための技術的解決策を提供する。例えば、ボット(例えば、プロセッサを使用して実行するボットスクリプト)は、ネットワークデバイスとクライアントデバイスと端末デバイスとの間でデータパケット(例えば、通信、コンテンツを含むメッセージ、信号、およびこれらに類するもの)をルーティングするように構成されてもよい。ボットは、コーディング言語に依存しないように構成されてもよい。例えば、ボットは、システムと対話するためにアプリケーションプログラミングインターフェース(API)を使用するようにコード化されてもよく、したがって、APIコールを行うことが可能な任意の言語でコード化されてもよい。本開示のある実施形態は、機械学習モデルに基づいてルーティングインスタンスのボットの精度を向上させるために実現できる人工知能技術および/または機械学習技術を提供する。
【0006】
[0006]ある実施形態は、通信セッションの間にネットワークデバイス(例えば、ユーザによって操作されるユーザデバイス)と、クライアントデバイスと、(例えば、ライブエージェントによって操作される)端末デバイスとの間でメッセージを動的に処理するためのシステムおよび方法に関する。いくつかのインプリメンテーションでは、ボットは、ネットワークデバイスと自律的に通信するように構成されることができる。さらに、ボットは、特定の能力のために構成されることができる。能力の非限定的な例は、通信をターゲット宛先にインテリジェントにルーティングすること、データベース中に記憶されたデータを修正すること、更新をユーザに提供すること、ユーザに関する追加情報をエージェントに提供すること、ユーザの意図を決定し、その意図に基づいてユーザを宛先システムにルーティングすること、ユーザと通信するエージェントに対する応答を予測または提案すること、およびボットと1つ以上の端末デバイスとの間の通信セッションをエスカレートさせることを含むことができる。いくつかのインプリメンテーションでは、ボットが通信セッション(例えば、ショートメッセージサービス(SMS)、ネイティブアプリケーションのアプリ内チャット機能、またはウェブベースのチャットセッション)においてネットワークデバイスと通信している間、通信サーバは、エージェントに関係付けられた端末デバイスにチャットセッションを転送することを自動的かつ動的に決定することができる。例えば、ボットは、あるタスク(例えば、更新された情報を受信し、データベース中に記憶された記録を更新するようなタスク)についてネットワークデバイスと通信することができ、一方、端末デバイスは、より困難なタスク(例えば、技術的問題を解決すること)に関してネットワークデバイスと通信することができる。単一の通信セッションにおいて、ボットはユーザと通信してもよく、通信サーバはボットと端末デバイスとの間で動的に切り替えることができ、端末デバイスは、ボットの代わりに、またはボットに加えてネットワークデバイスと通信することができる。有利なことに、通信セッションは、端末デバイスに関係するタスクのバランスを改善するために、ボットと端末デバイスとの間で動的に切り替えることができる。
【0007】
[0007]いくつかのインプリメンテーションでは、ボットは、複数の環境においておよび/または複数の環境にわたってタスクを自動的かつ自律的に処理するように構成されることができる。非限定的な例として、通信サーバは、ユーザによって操作されるモバイルデバイス(例えば、ネットワークデバイス)とエージェントによって操作されるデスクトップコンピュータ(例えば、端末デバイス)との間のSMSテキストベースの通信チャネルを確立するか、またはその確立を容易にするように構成されてもよい。通信サーバは、デスクトップコンピュータから受信した入力(例えば、キーストローク)をSMSテキストメッセージに変換し、SMSテキストメッセージをユーザの携帯電話に送信することができる。通信セッションの間に、ボットは、エージェントがユーザと通信するのを支援することができ、またはボットは、会話を制御し、通信チャネルを使用してユーザと直接通信することができる。
【0008】
[0008]本開示のある特定実施形態は、コンピュータ実現方法を含む。方法は、要求テキストメッセージを受信することを含んでいてもよい。要求テキストメッセージは、自然言語要求を含んでいてもよい。方法は、予め規定された意図を識別するために自然言語要求を解釈することをさらに含んでいてもよい。方法は、予め規定された意図に基づいて、自然言語要求を受信するエンドポイントを自動的に選択することをさらに含んでいてもよい。方法は、自然言語要求をエンドポイントに転送することをさらに含んでいてもよい。方法は、エンドポイントから自然言語要求に対する応答を受信することをさらに含んでいてもよい。方法は、応答に基づいて応答テキストメッセージを生成することをさらに含んでいてもよい。応答テキストメッセージは、自然言語応答を含んでいてもよい。方法は、応答テキストメッセージを送信することをさらに含んでいてもよい。
【0009】
[0009]本開示のある実施形態は、システムを含む。システムは、1つ以上のデータプロセッサと、命令を含む非一時的コンピュータ読取可能記憶媒体とを含んでいてもよく、命令は、1つ以上のデータプロセッサ上で実行されるとき、1つ以上のデータプロセッサに、上記およびここで説明した方法を実行させる。
【0010】
[0010]本開示のある実施形態は、データ処理装置に上記およびここで説明した方法を実行させるように構成された命令を含む、非一時的機械読取可能記憶媒体において有形に具現化されたコンピュータプログラム製品を含む。
【0011】
[0011]有利なことに、システム(例えば、ルーティングシステム、ここで説明する通信サーバ、および他の適切なシステム)に取り込まれ、それらによって処理されるデータのますます動的な性質は、ネットワーク環境に複雑さをもたらす。複雑に取り込まれたデータを伴うタスクを自律的かつ自動的に処理するためにボットスクリプトを実行することは、システム中の処理リソースに過度の負担を生じさせることがある(例えば、メッセージの不正確なルーティングは、サーバまたはキューを過負荷にさせるかもしれない)。本開示の実施形態は、人工知能または機械学習技術のインプリメンテーションを含む技術的利点を提供して、サーバまたはシステムにわたる負荷不均衡を低減し、ボットによるタスク管理を継続的に向上させることによって、システムの全体的機能を改善する。
【図面の簡単な説明】
【0012】
[0012]本開示は、添付の図面と併せて説明される。
【
図1】[0013]
図1は、ネットワーク対話システムの実施形態のブロックダイヤグラムを示す。
【
図2】[0014]
図2は、接続管理システムを含むネットワーク対話システムの実施形態のブロックダイヤグラムを示す。
【
図3】[0015]
図3は、接続コンポーネントの動作のプロトコルスタックマッピングの表現を示す。
【
図4】[0016]
図4は、実施形態にしたがう、マルチデバイス通信交換を表す。
【
図5】[0017]
図5は、接続管理 システムの実施形態のブロックダイヤグラムを示す。
【
図6】[0018]
図6は、動的テキストメッセージ処理の方法を図示するフローチャートである。
【
図7】[0019]
図7は、スタジアム環境における動的テキストメッセージ処理のための例示的なシステムを表す。
【
図8A】[0020]
図8Aは、接続管理システムによって容易にされる通信のための例示的なユーザインターフェースを示す。
【
図8B】
図8Bは、接続管理システムによって容易にされる通信のための例示的なユーザインターフェースを示す。
【
図8C】
図8Cは、接続管理システムによって容易にされる通信のための例示的なユーザインターフェースを示す。
【
図8D】
図8Dは、接続管理システムによって容易にされる通信のための例示的なユーザインターフェースを示す。
【
図8E】
図8Eは、接続管理システムによって容易にされる通信のための例示的なユーザインターフェースを示す。
【
図8F】
図8Fは、接続管理システムによって容易にされる通信のための例示的なユーザインターフェースを示す。
【
図8G】
図8Gは、接続管理システムによって容易にされる通信のための例示的なユーザインターフェースを示す。
【
図8H】
図8Hは、接続管理システムによって容易にされる通信のための例示的なユーザインターフェースを示す。
【0013】
[0021]添付した図面では、同様のコンポーネントまたは特徴は、同じ参照ラベルを有することができる。さらに、同じタイプのさまざまなコンポーネントが、参照ラベルに、ハイフンと、類似のコンポーネントを区別する第2のラベルとを後続させることによって区別できる。本明細書で第1の参照ラベルのみが用いられている場合には、その説明は、第2の参照ラベルにかかわらず同じ第1の参照ラベルを有する類似のコンポーネントの何れか1つに適用可能である。
【詳細な説明】
【0014】
[0022]次の説明は、実施形態の好ましい例のみを提供しており、本開示の範囲、適用可能性、または構成を限定するようには意図されていない。むしろ、次の実施形態の好ましい例の説明は、実施形態の好ましい例を実現するために可能とする説明を当業者に提供する。添付された特許請求の範囲に記載されているような精神および範囲から逸脱することなく、要素の機能および構成において様々な変更がなされてもよいことが理解されるべきである。
【0015】
[0023]実施形態は、ユーザのタスクを支援するためのコンシェルジュ人工知能サービスに関する。「コンシェルジュ」サービスという用語は、限られた数の単純なタスクしか実行できず、通信するための固定プロトコルを必要とする従来技術の仮想アシスタントと区別するために使用される。ここで説明されるコンシェルジュサービスは、例えば、テキストメッセージまたは他のメッセージングアプリケーションを含む、ネットワークデバイス上の通信ユーザインターフェースを通した通信によってタスクを受信することができる。通信は、自然言語で受信することができる(すなわち、ウェイクワード、キーワード、特定のフレーズ、明示的な命名サービスなどを含む固定プロトコルへの準拠を必要としない)。
【0016】
[0024]コンシェルジュサービスは、受信した自然言語通信の意図を決定し、ユーザのタスクを支援するための適切なエンドポイントを決定することができ、ネットワークデバイスと適切なエンドポイントとの間の会話を開くことができる。エンドポイントは、エージェントの端末デバイス、クライアントのクライアントデバイス、サービスのアプリケーションプログラミングインターフェース(API)、およびこれらに類するものであることがある。いくつかの実施形態では、コンシェルジュサービスは、自然言語通信を電話番号などのパブリックアドレスにアドレス指定することによってコンタクトできる。
【0017】
[0025]いくつかの実施形態では、コンシェルジュサービスは、テキストメッセージングアプリケーションから発信された通信を受信することができる。テキストメッセージングアプリケーションは、いくつかの望ましくない品質によって特徴付けられることがあり、例えば、会話からアドレスを追加または削除することができず、会話スレッドが厳密に線形であり、したがって、複数のトピックスレッドを区別することが困難であるなどである。コンシェルジュサービスは、関係付けられたネットワークデバイスを操作するユーザと、会話に追加または削除される1つ以上のエンドポイントとの間の仲介者として機能することによって、この品質を克服することができる。加えて、コンシェルジュサービスがテキストメッセージチェーン内で追加のまたは新しい意図を検出するとき、コンシェルジュサービスは会話を詳しく説明し、ユーザにとって明確な方法でメッセージを提示することができる。さらに、異なるエンドポイントが異なる会話に関係付けられているとき、コンシェルジュサービスは、それぞれの会話内のエンドポイントに対して意図されているメッセージのみを、意図されているエンドポイントにルーティングすることができる。
【0018】
[0026]実施形態は、固定プロトコルへの準拠を必要としない自然言語で与えられた要求を処理することができる。実施形態は、自然言語処理技術を実行してユーザの意図を理解することができ、適切な意図に一致する利用可能なエンドポイントを選択することができる。したがって、実施形態は、コンシェルジュサービスから利益を得るようにユーザが訓練されることを必要とせず、コンシェルジュサービスは、特定のアプリケーションがテキストメッセージングアプリケーションの外部にダウンロードされることを必要としない。
【0019】
[0027]実施形態は、いくつかの技術的効率で設計されている。一例では、本テクノロジーは、標準的なメッセージングアプリケーションを利用して、「コンシェルジュ」人工知能サービスとインターフェースする。これは、新しいソフトウェアがダウンロードされてユーザのネットワークデバイス上で実行される必要がなく、コンシェルジュ人工知能サービスがサーバベースであり、したがって、人工知能の一部が機械学習によって訓練されるか、またはユーザのネットワークデバイス上にインストールされるときよりも頻繁に新しい機械学習に基づいて更新できるという点で効率を提供する。
【0020】
[0028]本テクノロジーはまた、ユーザのネットワークデバイス上で一般的な特定の問題を解決する。現代のネットワークデバイスは、各々がそれらの特定の目的のために、多くの「アプリ」を必要とするかもしれない。これは、各アプリがどのような機能を実行するかをユーザが覚えていなければならないという否定的な結果をもたらし、そのアプリを使用するために、ユーザは、時には何百ものアプリを探して正しいものを見つけなければならない。本テクノロジーは、ユーザインターフェースのユーザを他のユビキタスアプリ(すなわち、テキストメッセージングアプリケーション)において既に利用可能にすることによって、これらの欠点を克服する。これらおよび他の利点は、以下の説明から明らかになるであろう。
【0021】
[0029]
図1は、ここで説明するある実施形態および特徴を実現およびサポートするネットワーク対話システムの一実施形態のブロックダイヤグラムを示す。ある実施形態は、(ユーザ110によって操作されることができる)ネットワークデバイス105と1つ以上のエンドポイントとの間の接続チャネルを確立することに関する。エンドポイントは、クライアント125に関係付けられたクライアントデバイス130および/または(エージェント120によって操作されることができる)端末デバイス115を含んでいてもよい。
【0022】
[0030]いくつかの実施形態では、ユーザ110は、遠隔サーバ140によって提供されるオンラインサービスにアクセスする個人であることがある。いくつかの実施形態では、ユーザ110は、その代わりにサービスが実行されることを望む個人であることがある。そのようなサービスは、トランザクションを行うこと、対話に参加すること、タスクまたはサービスを有するエージェントから助けを得ること、質問に回答することなどを含むことができる。クライアント125は、サービスを提供し、動作させ、もしくは実行するエンティティ、またはここで説明するようにクライアント125にとって利用可能なタスクを実行するためにそのようなエンティティによって採用され、もしくは割り当てられた個人であることがある。エージェント120は、サービスに関するサポートまたは情報をユーザ110に提供するタスクを有するサポートエージェントなどの個人であることがある。多数のエージェントの中から、エージェントのサブセットが、特定のクライアント125に対するサポートまたは情報を提供するのに適しているかもしれない。エージェント120は、クライアント125と提携していてもよく、または提携していなくてもよい。各エージェントは、1つ以上のクライアント125に関係付けることができる。いくつかの非限定的な例では、ユーザ110は、携帯電話を介して予約を取ろうとする個人であることがあり、クライアント125は、医療サービスを提供する会社であることがあり、エージェント120は、会社によって雇用された代表者であることがある。様々な実施形態では、ユーザ110、クライアント125、およびエージェント120は、他の個人またはエンティティであることがある。
【0023】
[0031]
図1は、単一のネットワークデバイス105、端末デバイス115、およびクライアントデバイス130のみを示しているが、対話システムは、これらのタイプのデバイスのうちの1つ以上のそれぞれの複数または多く(例えば、数十、数百、または数千)を含むことができる。同様に、
図1は、単一のユーザ110、エージェント120、およびクライアント125のみを示しているが、対話システム100は、そのようなエンティティのうちの1つ以上のそれぞれの複数または多くを含むことができる。したがって、所定のネットワークデバイスと通信するためにどの端末デバイスが選択されるべきかを決定することが必要であるかもしれない。さらに複雑な問題として、遠隔サーバ140はまた、ネットワークデバイス通信を受信し、ネットワークデバイス通信を選択するために応答するように構成されてもよい。
【0024】
[0032]接続管理システム150は、通信の戦略的ルーティングを容易にすることができる。接続管理システム150は、ユーザ110および様々なエンドポイントと通信するためのコンシェルジュサービスを提供することができる。コンシェルジュサービスは、自然言語通信を理解し、会話スレッドにおいて回答および質問を生成し、受信した自然言語通信の特性を接続管理システム150に通知するために使用される会話インターフェースであることがある。
【0025】
[0033]通信は、(例えば、タイプ入力または口頭入力など、エンティティからの入力に基づいて定義された)コンテンツを有するメッセージを含むことができる。通信はまた、送信デバイスに関するデータ(例えば、IPアドレス、アカウント識別子、デバイスタイプ、および/またはオペレーティングシステム)、宛先アドレス、クライアントの識別子、ウェブページまたはウェブページ要素の識別子(例えば、通信が生成されたとき、またはそうでなければ通信に関係付けられたときに訪問されているウェブページまたはウェブページ要素)、またはオンライン履歴データ、時間(例えば、時刻および/または日付)、および/または宛先アドレスなどの追加データを含むことができる。他の情報を通信に含めることができる。いくつかの事例では、接続管理システム150は、通信全体を別のデバイスにルーティングする。いくつかの事例では、接続管理システム150は、通信を修正するか、または(例えば、初期通信に基づいて)新しい通信を生成する。新しいまたは修正された通信は、メッセージ(またはその処理されたバージョン)、(例えば、送信デバイス、ウェブページまたはオンライン履歴および/または時間に関する)追加データ、および/または接続管理システムによって識別された他のデータ(例えば、特定のアカウント識別子またはデバイスに関係付けられたアカウントデータ)を含むことができる。新しいまたは修正された通信は、他の情報も含むことができる。
【0026】
[0034]戦略的ルーティング促進の一部は、ネットワークデバイス105と1つ以上の端末デバイス115との間の1つ以上の接続チャネルを確立し、更新し、使用することを含むことができる。例えば、ネットワークデバイス105から通信を受信すると、接続管理システム150は、通信がどのクライアント(もしあれば)に対応するかを推定することができる。クライアントを識別すると、接続管理システム150は、ネットワークデバイス105との通信のためにクライアントに関係付けられた端末デバイス115を識別することができる。いくつかの事例では、識別は、複数のエージェント(または専門家もしくは委任先)のそれぞれのプロファイルを評価することを含むことができ、複数のエージェント中の各エージェント(例えば、エージェント120)は、端末デバイス(例えば、端末デバイス115)に関係付けられる。評価は、ネットワークデバイスメッセージ内のコンテンツに関連することができる。端末デバイス115の識別は、例えば、2010年3月17日に出願された米国特許出願第12/725,799号に記載されている技術を含むことができ、その全体があらゆる目的のために参照によりここに組み込まれる。
【0027】
[0035]いくつかの事例では、接続管理システム150は、ネットワークデバイス105とクライアントに関係付けられたエンドポイントとの間に任意の接続チャネルが確立されているかどうかを決定することができ、確立されている場合、そのようなチャネルが通信を含む一連の通信を交換するために使用されるべきかどうかを決定することができる。
【0028】
[0036]ネットワークデバイス105と通信するためのエンドポイントを選択すると、接続管理システム150は、ネットワークデバイス105とエンドポイントとの間の接続チャネルを確立することができる。いくつかの事例では、接続管理システム150は、選択されたエンドポイントにメッセージを送信することができる。メッセージは、ネットワークデバイス105と通信するために提案された割当ての受諾を要求するか、またはそのような割当てが生成されたことを識別してもよい。メッセージは、ネットワークデバイス105についての情報(例えば、IPアドレス、デバイスタイプ、および/またはオペレーティングシステム)、関係するユーザ110についての情報(例えば、話された言語、クライアントと対話した期間、スキルレベル、感情、および/またはトピック選好)、受信した通信、通信を生成しネットワークデバイス105に送信するためのコード(例えば、クリック可能ハイパーリンク)、および/または通信を生成しネットワークデバイス105に送信するための命令を含むことができる。
【0029】
[0037]一例では、ネットワークデバイス105とエンドポイントとの間の通信は、接続管理システム150を通してルーティングされることができる。そのような構成は、接続管理システム150が通信交換を監視し、いずれかのデバイスの非応答性または延長された待ち時間等の(例えば、規則に基づいて定義されるような)問題を検出することを可能にすることができる。さらに、そのような構成は、通信の選択的または完全な記憶を容易にすることができ、それは後に、例えば、通信交換の品質を評価するために、および/または特定の通信後ターゲットを促進するようにルーティングルールを更新もしくは生成するための学習をサポートするために使用されてもよい。
【0030】
[0038]いくつかの実施形態では、接続管理システム150は、リアルタイムで通信交換を監視し、ライブ通信に基づいて自動化されたアクション(例えば、ルールベースのアクション、人工知能起源のアクションなど)を実行することができる。例えば、通信が特定のアイテム(例えば、製品)に関連すると接続管理システム150が決定するとき、接続管理システム150は、アイテムについての追加情報(例えば、利用可能なアイテムの量、アイテムに関連する文書をサポートするリンク、またはアイテムもしくは同様のアイテムについての他の情報)を含む追加メッセージをエンドポイントに自動的に送信することができる。
【0031】
[0039]いくつかの実施形態では、指定されたエンドポイントは、接続管理システム150を通して通信を中継することなく、ネットワークデバイス105と通信することができる。デバイス105、115の一方または両方は、通信監視および/またはデータ記憶を容易にするために、特定の通信メトリックまたはコンテンツを接続管理システム150に報告してもよい(または報告しなくてもよい)。
【0032】
[0040]上述のように、接続管理システム150は、選択された通信を遠隔サーバ140にルーティングしてもよい。遠隔サーバ140は、予め定められた方法で情報を提供するように構成することができる。例えば、遠隔サーバ140は、通信に応答して送信するために、定義された1つ以上のテキストパッセージ、音声録音および/またはファイルにアクセスしてもよい。遠隔サーバ140は、例えば、受信した通信の分析(例えば、意味またはマッピング分析)に基づいて、特定のテキストパッセージ、記録、またはファイルを選択してもよい。
【0033】
[0041]接続管理システム150において実行されるルーティングおよび/または他の決定もしくは処理は、1つ以上のクライアントデバイス130によって少なくとも部分的に定義または提供されるルールおよび/またはデータに基づいて実行されることができる。例えば、クライアントデバイス130は、エージェントの優先順位付け、端末デバイスタイプ、および/またはトピック/スキルマッチングを識別する通信を送信してもよい。別の例として、クライアントデバイス130は、ルーティング決定に潜在的に影響を及ぼす様々な変数(例えば、言語互換性、予測応答時間、デバイスタイプおよび能力、ならびに/または端末デバイス負荷バランシング)に適用する1つ以上の重みを識別してもよい。
どの端末デバイスおよび/またはエージェントがクライアントに関係付けられるべきかは動的であってもよいことが理解されよう。クライアントデバイス130および/または端末デバイス115からの通信は、所定の端末デバイスおよび/またはエージェントがクライアントに関係付けられたものとして追加または削除されるべきであることを示す情報を提供してもよい。例えば、クライアントデバイス130は、IPアドレスとの通信と、そのアドレスを有する端末デバイスがクライアント関係端末デバイスを識別するリストに追加されるべきか、またはそこから削除されるべきかに関する表示とを送信することができる。
【0034】
[0042](例えば、デバイス間、デバイスと接続管理システム150との間、遠隔サーバ140と接続管理システム150との間、または遠隔サーバ140とデバイスとの間の)各通信は、1つ以上のネットワーク170を通して生じることができる。オープンまたはクローズドネットワークの任意の組み合わせが、1つ以上のネットワーク170に含まれることができる。適切なネットワークの例には、インターネット、パーソナルエリアネットワーク、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、またはワイヤレスローカルエリアネットワーク(WLAN)が含まれる。他のネットワークが、同様にふさわしいかもしれない。1つ以上のネットワーク170は、イントラネット、エクストラネット、またはそれらの組み合わせ内に完全に組み込まれることができ、またはそれらを含むことができる。いくつかの事例では、1つ以上のネットワーク170中のネットワークは、Bluetooth(登録商標)またはBluetooth Low Energyチャネルなどの短距離通信チャネルを含む。一実施形態では、2つ以上のシステムおよび/またはデバイス間の通信は、セキュアソケットレイヤ(SSL)またはトランスポートレイヤセキュリティ(TLS)等のセキュア通信プロトコルによって達成されることができる。さらに、データおよび/またはトランザクションの詳細は、データ暗号化規格(DES)、トリプルDES、リベスト・シャミア・エーデルマン暗号化(RSA)、Blowfish暗号化、高度暗号化規格(Advanced Encryption Standard)(AES)、CAST-128、CAST-256、無相関化高速暗号(DFC)、小さな暗号化アルゴリズム(Tiny Encryption Algorithm)(TEA)、拡張TEA(eXtended TEA)(XTEA)、修正ブロックTEA(Corrected Block TEA)(XXTEA)、および/またはRC5などであるがこれらに限定されない任意の便利な、既知の、または開発される方法に基づいて暗号化することができる。
【0035】
[0043]ネットワークデバイス105、端末デバイス115、および/またはクライアントデバイス130は、例えば、ポータブル電子デバイス(例えば、スマートフォン、タブレット、ラップトップコンピュータ、またはスマートウェアラブルデバイス)または非ポータブル電子デバイス(例えば、1つ以上のデスクトップコンピュータ、スマート器具、サーバ、および/またはプロセッサ)を含むことができる。いくつかの実施形態では、ネットワークデバイス105は、テキストメッセージング能力を有するモバイルデバイスであってもよい。接続管理システム150は、ネットワーク、端末およびクライアントデバイスとは別個に収容されることができ、または(例えば、デバイス上のアプリケーションのインストールを介して)1つ以上のそのようなデバイスの一部であってもよい。遠隔サーバ140は、各デバイスおよび接続管理システム150とは別個に収容されてもよく、および/または別のデバイスもしくはシステムの一部であってもよい。
図1の各デバイス、サーバおよびシステムは単一のデバイスとして示されているが、代わりに複数のデバイスが使用されてもよいことが理解されよう。例えば、ネットワークデバイスのセットは、単一のユーザから様々な通信を送信するために使用されてもよく、または遠隔サーバ140はサーバスタックを含んでいてもよい。
【0036】
[0044]ソフトウェアエージェントまたはアプリケーションは、描いたデバイス、システム、またはサーバ上にインストールされてもよく、および/またはそれら上で実行可能であってもよい。一例では、ソフトウェアエージェントまたはアプリケーションは、様々な描かれた要素が相補的な方法で機能することができるように構成される。例えば、デバイス上のソフトウェアエージェントは、デバイス使用についてのデータを収集して別個の接続管理システムに送信するように構成することができ、別個の接続管理システム上のソフトウェアアプリケーションは、データを受信して処理するように構成することができる。
【0037】
[0045]
図2は、接続管理システムを含むネットワーク対話システムの別の実施形態のブロックダイヤグラムを示す。描かれたシステムは、簡略化のために2つのローカルエリアネットワーク235のみを示しているが、実施形態は、ローカルエリアネットワークの数を拡張するように拡張されてもよいことが理解されることができる。システムは、どの端末デバイスがネットワークデバイス205と通信すべきかを識別することができ、接続を確立および管理(例えば、維持または閉鎖)することができ、交換機内で通信を再ルーティングすべきかどうか、およびいつ再ルーティングすべきかを決定することなどができる接続管理システム250を含む。したがって、接続管理システム150は、ルーティング決定に影響を及ぼすために、通信、エージェント利用可能性、端末デバイスまたはエージェントの能力などを動的に、リアルタイムで評価するように構成されてもよい。
【0038】
[0046]接続管理システム250は、中継および/または宛先アドレスとして機能するように構成されてもよい。したがって、例えば、ネットワークデバイス205のセットが通信を送信することができ、それぞれが接続管理システム250を宛先として識別する。接続管理システム250は、各通信を受信することができ、(例えば、各端末デバイスについてのメトリックを生成するために)端末デバイスのセットを同時に監視することができる。監視およびルールに基づいて、接続管理システム250は、各通信を中継してもよい端末デバイス215を識別することができる。実施形態に応じて、端末デバイス通信は、同様に、さらなる中継のために(例えば、接続管理システム250の)一貫した宛先に向けられてもよく、または端末デバイスは、対応するネットワークデバイスと直接通信を開始してもよい。これらの実施形態は、効率的なルーティングおよび完全な通信監視を容易にすることができる。
【0039】
[0047]
図2の多くの変形形態が企図されることが理解されよう。例えば、接続管理システム250は、接続管理システム250(またはその一部)に対応するアプリケーションがコンポーネントにインストールされるように、接続コンポーネント(例えば、ネットワーク間接続コンポーネント245またはネットワーク内接続コンポーネント255)に関係付けられてもよい。アプリケーションは、例えば、独立して、または1つ以上の同様のもしくは相補的なアプリケーションと通信することによって(例えば、1つ以上の他のコンポーネント、ネットワークデバイス、または遠隔サーバ上で実行することによって)実行することができる。
【0040】
[0048]
図3は、接続コンポーネントの動作のプロトコルスタックマッピングの表現を示す。より具体的には、
図3は、様々な接続コンポーネントに対応する開放型システム相互作用(OSI)モデルにおける動作のレイヤを識別する。
【0041】
[0049]OSIモデルは、複数の論理レイヤ302から314を含むことができる。レイヤは、レイヤ302から312がそれぞれより高いレベルを提供し、レイヤ304から314はそれぞれより低いレイヤによって提供されるように、順序付けられたスタックで構成される。OSIモデルは、物理レイヤ302を含む。物理レイヤ302は、パラメータ物理通信(例えば、電気的、光学的、または電磁的)を定義することができる。物理レイヤ302はまた、接続を確立して閉じるためのプロトコルなどの接続管理プロトコルを定義する。物理レイヤ302はさらに、フロー制御プロトコルおよび送信モードを定義することができる。
【0042】
[0050]リンクレイヤ304は、ノード間通信を管理することができる。リンクレイヤ304は、エラー(例えば、物理レイヤ302における送信エラー)を検出して訂正し、アクセス許可を管理することができる。リンクレイヤ404は、媒体アクセス制御(MAC)レイヤおよび論理リンク制御(LLC)レイヤを含むことができる。
【0043】
[0051]ネットワークレイヤ306は、同じネットワーク中のノードにわたって(例えば、データグラムとして)、(例えば、可変長の)データを転送することを協調させることができる。ネットワークレイヤ306は、論理ネットワークアドレスを物理マシンアドレスに変換することができる。
【0044】
[0052]トランスポートレイヤ308は、送信および受信品質を管理することができる。トランスポートレイヤ308は、送信制御プロトコル(TCP)などのデータを転送するためのプロトコルを提供することができる。トランスポートレイヤ308は、送信のためにデータパケットのセグメント化/デセグメント化を実行することができ、レイヤ302から306において生じる送信エラーを検出して考慮することができる。セッションレイヤ310は、ローカルアプリケーションと遠隔アプリケーションとの間の接続を開始し、維持し、終了することができる。セッションは、遠隔手順対話の一部として使用することができる。プレゼンテーションレイヤ312は、アプリケーションまたはネットワークレイヤによって受け入れられることが知られているデータタイプに基づいて、データを暗号化、復号、およびフォーマットすることができる。
【0045】
[0053]アプリケーションレイヤ314は、通信を制御または管理するソフトウェアアプリケーションと対話することができる。そのようなアプリケーションを介して、アプリケーションレイヤ314は、(例えば)宛先、ローカルリソース状態もしくは利用可能性、および/または通信コンテンツもしくはフォーマットを識別することができる。様々なレイヤ302から314は、利用可能かつ適用可能な他の機能を実行することができる。
【0046】
[0054]ネットワーク内接続コンポーネント322、324は、物理レイヤ302およびリンクレイヤ304において動作するように示されている。より具体的には、ハブは、通信の受信および送信に関して動作を制御することができるように、物理レイヤで動作することができる。ハブは、通信をアドレス指定する能力またはデータをフィルタリングする能力を欠いているので、より高いレベルで動作する能力をほとんどまたは全く有していない。一方、スイッチは、アドレス(例えば、MACアドレス)に基づいて通信フレームをフィルタリングすることができるので、リンクレイヤ404において動作することができる。
【0047】
[0055]一方、ネットワーク間接続コンポーネント326、328は、より高いレベル(例えば、レイヤ306から314)上で動作するように示されている。例えば、ルータは、アドレス(例えば、IPアドレス)に基づいて通信データパケットをフィルタリングすることができる。ルータは、パケットを適切なネットワークに向けるために、アドレスに基づいて特定のポートにパケットを転送することができる。ゲートウェイは、ネットワークレイヤで、およびネットワークレイヤ上で動作し、同様のフィルタリングおよび指示、ならびに(例えば、プロトコルまたはアーキテクチャにわたる)データのさらなる変換を行うことができる。
【0048】
[0056]接続管理システム350は、様々な実施形態では、様々なレイヤのうちの1つ、複数、すべて、もしくはいずれかと対話し、および/またはそれらの上で動作することができる。例えば、接続管理システム350は、ハブがどの端末デバイスまたはクライアントデバイスと通信するかを動的に調整するように、ハブと対話することができる。別の例として、接続管理システム350は、コンポーネントがどの端末デバイスを宛先(例えば、MAC、論理または物理)アドレスとして選択するかに影響を及ぼすように、ブリッジ、スイッチ、ルータまたはゲートウェイと通信することができる。さらなる例として、接続管理システム350は、トランスポートレイヤ308上のデータパケットのセグメント化、セッションレイヤ310上のセッション期間、ならびに/またはプレゼンテーションレイヤ312上の暗号化および/もしくは圧縮を監視、制御、または指示することができる。いくつかの実施形態では、接続管理システム350は、特定のレイヤ上で動作する機器(例えば、リンクレイヤ304上で動作するスイッチ)と通信を交換する(例えば、機器にコマンドを送る)ことによって、既存の通信を特定の方法で(例えば、ネットワークデバイスとクライアントデバイスとの間で)ルーティングまたは修正することによって、および/または既存の通信に基づいて特定の情報(例えば、新しい宛先アドレス)を含む新しい通信を生成することによって、様々なレイヤと対話することができる。したがって、接続管理システム350は、様々なデバイスとの対話を介して、および/または様々なプロトコルスタックレイヤにおける動作に影響を及ぼすことを介して、通信ルーティングおよびチャネル確立(または保守もしくは終了)に影響を及ぼすことができる。
【0049】
[0057]
図4は、一実施形態によるマルチデバイス通信交換システムを表す。システムは、様々なタイプの通信チャネルを通して様々なタイプのエンドポイントデバイスと通信するように構成されたネットワークデバイス405を含む。
【0050】
[0058]描かれた事例では、ネットワークデバイス405は、セルラネットワークを通して(例えば、基地局410を介して)テキストメッセージ通信を送信することができる。通信は、通信を受信し、どのエンドポイントデバイスが通信に応答すべきかを識別する接続管理システム430を介して、クライアントロケーション423または端末ロケーション443にルーティングされることができる。そのような決定は、(例えば、クライアントを示すコンテンツ分析またはユーザ入力に基づいて)その通信が関係するクライアントを識別することと、クライアントに関係付けられた1つ以上の端末デバイスのそれぞれについての1つ以上のメトリックを決定することとに依存することができる。例えば、
図4において、端末デバイス440aからcの各クラスタは、異なるクライアントに対応することができる。端末デバイスは、地理的に同じ場所に配置されてもよく、または分散してもよい。メトリックは、記憶または学習されたデータおよび/またはリアルタイム監視に基づいて(例えば、利用可能性に基づいて)決定されてもよい。
【0051】
[0059]接続管理システム430は、1つ以上のルータ435または他のネットワーク間もしくはネットワーク内接続コンポーネントを介して、様々な端末デバイスおよび他のコンポーネントと通信することができる。接続管理システム430は、1つ以上のデータストアにおいて、通信、端末デバイス動作、クライアントルール、および/またはユーザ関係アクション(例えば、オンラインアクティビティ)から、またはそれらに関するデータを収集、分析、および/または記憶することができる。そのようなデータは、通信ルーティングに影響を及ぼしてもよい。
【0052】
[0060]ネットワークデバイス405は、いくつかの実施形態では、接続管理システム430を介してクライアントデバイス420にルーティングされてもよいテキスト(例えば、SMS)メッセージを生成および送信する能力を有してもよい。クライアントデバイス420は、何らかのフォーマットで(すなわち、テキストメッセージフォーマットで、または接続管理システム430によって変換された別のフォーマットで)接続管理システム430からメッセージを受信および処理することが可能であってもよい。サーバ420は、製品情報、サービス情報、およびこれらに類するもののような、クライアントロケーション423において提供される商品またはサービスに関する情報についてのメッセージをネットワークデバイス405から受信し、それに応答してもよい。
【0053】
[0061]
図5は、接続管理システムの実施形態のブロックダイヤグラムを示す。メッセージ受信機インターフェース505は、メッセージを受信することができる。いくつかの実施形態では、メッセージは、例えば、ネットワークデバイスまたはエンドポイントなどの(例えば、接続管理システムとは別個に収容されるか、または同じハウジング内に収容される)ソースデバイスによって送信される通信の一部として受信されることができる。いくつかの実施形態では、通信は、2つのデバイス(例えば、ネットワークデバイスおよびエンドポイント)の間でルーティングされる一連のメッセージまたは通信交換を含むことができる、一連の通信または通信交換の一部であることがある。このメッセージまたは通信交換は、デバイス間の相互作用の一部であってもよく、および/またはそれを定義してもよい。通信チャネルまたは動作チャネルは、デバイス間のルーティングおよび通信交換を容易にするために使用される1つ以上のプロトコル(例えば、ルーティングプロトコル、タスク割り当てプロトコル、および/またはアドレス指定プロトコル)を含むことができる。
【0054】
[0062]いくつかの実施形態では、メッセージは、ユーザインターフェースにおいて受信された入力に基づいて生成されたメッセージを含むことができる。例えば、メッセージは、ボタンもしくはキーの押下、または記録された音声信号、または音声テキスト化ソフトウェアに基づいて生成されたメッセージを含むことができる。一例では、メッセージは、ネットワークデバイスが特定のアプリページもしくはウェブページを提示していること、または特定の入力コマンド(例えば、キーシーケンス)を与えたことを検出すると生成されるメッセージなど、自動的に生成されたメッセージを含む。メッセージは、通信交換を開始するためのものなどの命令または要求を含むことができる。
【0055】
[0063]いくつかの実施形態では、メッセージは、話されたかタイプされたかにかかわらず、自然言語通信であることがある。ここで使用されるような自然言語通信は、人間の間で伝えるために使用される言語の通常の使用を指し、特定の仮想アシスタントまたは人工知能ツールと通信するために必要とされるプロトコルによって定義される言語の使用と対比される。自然言語通信は、通信が人工知能にアドレス指定されていることを人工知能ツールに警告するためのウェイクワードの使用などの制約を必要とすべきでない。さらに、自然言語通信は、通信をどのようにサービスするかを理解するために、ユーザが特定のキーワード、特定のフレーズを識別すること、またはサービスに明示的に名前を付けることを必要とすべきではない。
【0056】
[0064]本テクノロジーは自然言語通信を利用するが、通信は、特定のキーワード、特定のフレーズを識別するか、またはサービスに明示的に名前を付けることができる。例えば、メッセージは、クライアントの識別子を含むか、またはクライアントの識別子に関係付けられることができる。例えば、メッセージは、クライアント(またはクライアントに関係付けられたデバイス)を明示的に識別することができ、メッセージは、クライアントに関係付けられたウェブページまたはアプリを含むかまたはそれに関係付けることができ、メッセージは、クライアントに関係付けられた宛先アドレスを含むかまたはそれに関係付けることができ、またはメッセージは、(例えば、クライアントによって販売されている、クライアントによって販売された、またはクライアントがサービスするものである)クライアントに関係付けられたアイテム(例えば、製品)またはサービスの識別を含むかまたはそれに関係付けることができる。例示すると、ネットワークデバイスは、エージェントに通信を送信するためのオプションを提供してもよい、特定のクライアントのアプリページを提示してもよい。メッセージに対応するユーザ入力を受信すると、コンシェルジュサービス152に送られることができるメッセージおよび特定のクライアントの識別子を含むように通信が生成されてもよい。
【0057】
[0065]処理エンジン510は、受信された通信および/またはメッセージを処理してもよい。処理は、例えば、1つ以上の特定のデータ要素(例えば、メッセージ、クライアント識別子、ネットワークデバイス識別子、アカウント識別子など)を抽出することを含むことができる。処理は、フォーマットまたは通信タイプを(例えば、特定のデバイスタイプ、オペレーティングシステム、通信チャネルタイプ、プロトコルおよび/またはネットワークと互換性があるように)変換することを含むことができる。
【0058】
[0066]コンシェルジュサービス515は、(例えば、抽出または受信された)メッセージを評価してもよい。評価は、例えば、メッセージに対する1つ以上の意図を識別することを含むことができる。意図の例は、(例えば)トピック、感情、複雑さ、および緊急性を含むことができる。トピックは、主題、製品、サービス、技術的問題、使用質問、苦情、返金要求または購入要求などを含むことができるが、これらに限定されない。意図は、例えば、(例えば、キーワード、文構造、反復語、句読点文字および/または非冠詞語を識別することによる)メッセージの意味分析、(例えば、選択された1つ以上のカテゴリを有する)ユーザ入力、および/またはメッセージ関連統計(例えば、タイピング速度および/または応答待ち時間)に基づいて決定することができる。
【0059】
[0067]いくつかの実施形態では、質問を明確にすること、または単に追加情報を要求することを含むことができる会話にユーザを関与させることによって、意図を明確にできる。
【0060】
[0068]いくつかの実施形態では、コンシェルジュサービス515は、自然言語通信を理解し、通信の意図を認識し、ユーザをダイアログに関与させるために、会話インターフェースを利用することができる。会話インターフェースは、機械学習または深層学習アルゴリズムを使用して訓練された人工知能のタイプである。言語を解釈することに加えて、会話インターフェースはまた、ユーザと会話インターフェースとの間のダイアログのコンテキストにおいて意味をなす質問およびステートメントを通して、ユーザに返信することができる。会話インターフェースは、ときには「ボット」および「チャットボット」として知られる。会話インターフェースの一例は、Amazon Web ServicesによるLexとして知られている。
【0061】
[0069]いくつかの実施形態では、コンシェルジュサービス515は、メッセージについてのメトリックを決定することができる。メトリックは、例えば、多数の文字、単語、大文字、全大文字、または特定の文字または句読点のインスタンス(例えば、感嘆符、疑問符および/またはピリオド)を含むことができる。メトリックは、感嘆符(または疑問符)で終わる文の割合、すべて大文字で書かれた単語の割合などの比率を含むことができる。
【0062】
[0070]コンシェルジュサービス515は、メッセージ、メッセージメトリックおよび/またはメッセージ統計をメッセージデータストア520に記憶することができる。各メッセージはまた、対応するソースデバイス、宛先デバイス、ネットワークデバイス、エンドポイント、クライアント、1つ以上のカテゴリ、1つ以上のステージ、および/またはメッセージ関係統計を識別するデータなど、他のデータ(例えば、メタデータ)に関連して記憶できる。接続管理システムの様々なコンポーネントは、メッセージデータストア520に問い合わせて、クエリ応答メッセージ、メッセージメトリック、および/またはメッセージ統計を取り出すことができる。
【0063】
[0071]対話管理エンジン525は、どのエンドポイントに通信がルーティングされるべきか、ならびに受信デバイスおよび送信デバイスがどのように通信すべきかを決定することができる。これらの決定のそれぞれは、例えば、特定のネットワークデバイス(または特定のユーザに関係付けられた任意のネットワークデバイス)が、エンドポイントのセット中のエンドポイント(例えば、接続管理システムに関係付けられた任意のエンドポイント、または1つ以上の特定のクライアントに関係付けられた任意のエンドポイント)と以前に通信したかどうかに依存してもよい。
【0064】
[0072]いくつかの実施形態では、ネットワークデバイス(または同じユーザもしくはアカウントに関係付けられた他のネットワークデバイス)が所定のエンドポイントと(例えば、クライアントに関係する事項について)以前に通信したとき、通信ルーティングは、概して、同じエンドポイントに向かってバイアスされることができる。ルーティングに影響を及ぼすかもしれない他の要因は、例えば、以前の通信に関する推定または識別されたユーザまたはエージェント感情、現在の通信のトピック(例えば、以前の通信のトピックおよび/または1つ以上のエンドポイントに関係付けられた知識ベースに関連する範囲)、エンドポイントが利用可能であるかどうか、および/またはエンドポイントの予測応答待ち時間を含むことができる。そのような要因は、絶対的に、または他のエンドポイントに対応する同様のメトリックに対して相対的に考慮されてもよい。再ルーティングルール(例えば、クライアント固有のルールまたは一般的なルール)は、エージェントの一貫性を放棄するかどうかを決定するために、そのような要因がどのように評価され重み付けされるかを示すことができる。
【0065】
[0073]ネットワークデバイス(または同じユーザもしくはアカウントに関係付けられた他のネットワークデバイス)が(例えば、クライアントに関する事項について)所定のエンドポイントと以前に通信していないとき、エンドポイント選択は、例えば、様々なエージェントの知識ベースが通信トピックに対応する程度、所定の時間におけるおよび/もしくはチャネルタイプを通した様々なエージェントの利用可能性、エンドポイントのタイプおよび/もしくは能力、ユーザとエージェントとの間の言語一致、ならびに/または性格分析などの要因に基づいて実行することができる。一例では、ルールは、これらのような1つ以上の因子に対するサブスコアおよび各スコアに割り当てる重みをどのように決定するかを識別することができる。重み付けされたサブスコアを組み合わせる(例えば、合計する)ことによって、各エージェントのスコアを決定することができる。次いで、エンドポイントのスコアを比較することによって(例えば、高いまたは最も高いスコアを選択するために)エンドポイント選択を行うことができる。
【0066】
[0074]デバイスがどのように通信すべきかを決定することに関して、対話管理エンジン525は、エンドポイントが(例えば)電子メール、オンラインチャット、SMSメッセージ、音声通話、ビデオチャットなどを介して通信に応答すべきかどうかを(例えば)決定することができる。通信タイプは、例えば、(例えば、クライアントまたはユーザによって少なくとも部分的に定義される)通信タイプ優先リスト、(例えば、一貫性を促進するように)ネットワークデバイスから以前に受信された通信のタイプ、受信メッセージの複雑性、ネットワークデバイスの能力、および/または1つ以上のエンドポイントの可用性に基づいて選択されることができる。明らかに、いくつかの通信タイプは、結果としてリアルタイム通信(例えば、高速メッセージ応答が期待される場合)をもたらす一方で、他の通信タイプは、非同期通信(例えば、メッセージ間の(例えば、数分または数時間の)遅延が許容可能である場合)をもたらすことができる。
【0067】
[0075]いくつかの実施形態では、通信タイプは、テキストメッセージングまたはチャットアプリケーションであることがある。これらの通信テクノロジーは、新しいソフトウェアをダウンロードしてユーザのネットワークデバイス上で実行する必要がないという利益を提供する。
【0068】
[0076]さらに、対話管理エンジン525は、2つのデバイス間の連続チャネルが確立されるべきか、使用されるべきか、または終了されるべきかを決定することができる。ネットワークデバイスから指定されたエンドポイントへの将来の通信のルーティングを容易にするように、連続チャネルを構築することができる。このバイアスは、メッセージシリーズ(例えば、数日間、数週間または数ヶ月間)にわたってさえ持続することができる。いくつかの実施形態では、(例えば、エージェントを識別する)連続チャネルの表現は、ネットワークデバイス上に提示されるべき提示に含まれることができる。このようにして、ユーザは、効率を上げるために通信が一貫してルーティングされるべきであることを理解することができる。
【0069】
[0077]一例では、所定のネットワークデバイスおよびエンドポイントに対応する接続スコアを決定するために、ここで説明する1つ以上の要因と(例えば、1つ以上の要因のそれぞれについての重みを含む)ルールとを使用して、スコアを生成できる。スコアは、全体的な一致または所定の通信もしくは通信シリーズに特有のものに関してもよい。したがって、例えば、スコアは、所定のエンドポイントがネットワークデバイス通信に応答するのに適していると予測される程度を反映することができる。いくつかの実施形態では、スコア分析を使用して、所定の通信をルーティングするエンドポイントのそれぞれを識別し、接続を確立、使用、または終了するかどうかを識別することができる。ルーティング決定およびチャネル決定の両方に対処するためにスコア分析が使用されるとき、各決定に関連するスコアは、同じ、同様の、または異なる様式で決定されてもよい。
【0070】
[0078]したがって、例えば、スコアが、特定のメッセージクエリに応答するスコアに対する長期一致の強度を予測するものであるか否かに応じて、異なる要因が考慮されてもよいことが理解されよう。例えば、前者の例では、全体的なスケジュールおよび時間帯の考慮が重要であるかもしれないが、後者の例では、即時利用可能性がより高度に重み付けされてもよい。単一のネットワークデバイス/端末デバイスの組み合わせについてスコアを決定することができ、または所定のネットワークデバイスと異なるエンドポイントとの間の一致をそれぞれ特徴付ける複数のスコアを決定することができる。
【0071】
[0079]例示するために、クライアントに関係付けられた3つのエンドポイントのセットが、潜在的な通信ルーティングについて評価されてもよい。スコアは、特定の通信についての一致に関係する各々について生成されてもよい。最初の2つのエンドポイントのそれぞれは、通信を送信したネットワークデバイスと以前に通信していてもよい。ネットワークデバイスからの入力は、第1のデバイスとの通信との対話の満足を示してもよい。したがって、第1、第2、および第3のデバイスについての(ルールに従って計算された)過去対話サブスコアは、それぞれ10、5、および0であってもよい。(負の満足度入力は、負のサブスコアをもたらすかもしれない。)第3のエンドポイントのみが直ちに利用可能であると決定されてもよい。第2のエンドポイントは15分以内に応答するために利用可能であるが、第1のエンドポイントは翌日まで応答するために利用可能ではないことが予測されるかもしれない。したがって、第1、第2および第3のデバイスについての高速応答サブスコアは、1、3および10であってもよい。最後に、(エンドポイントに関係付けられた)エージェントが通信におけるトピックについて精通している度合いを推定することができる。第3のエンドポイントに関係付けられたエージェントは、他の2つのデバイスに関係付けられたエージェントよりも精通しており、結果として3、4、および9のサブスコアをもたらすことが決定されてもよい。この例では、ルールは重み付けパラメータまたは正規化パラメータを含まず(ただし、他の事例では、ルールがあってもよい)、結果として14、11、および19のスコアをもたらす。したがって、メッセージが第3のエンドポイントである最も高いスコアを有するデバイスにルーティングされるべきであることを、ルールは示してもよい。特定のエンドポイントへのルーティングが失敗した場合、メッセージは、次に高いスコアを有するデバイスにルーティングされることができ、以下同様である。
【0072】
[0080]スコアは、1つ以上の絶対的または相対的しきい値と比較されてもよい。例えば、通信がルーティングされることができるエンドポイントを選択するための高いスコアを識別するために、エンドポイントのセットに対するスコアを互いに比較できる。別の例として、スコア(例えば、高スコア)を1つ以上の絶対しきい値と比較して、エンドポイントを有する連続チャネルを確立するかどうかを決定することができる。連続チャネルを確立するための全体的なしきい値は、所定の一連のメッセージ中で通信を一貫してルーティングするためのしきい値よりも高くてもよい(がそうである必要はない)。全体的なしきい値と、一貫して通信をルーティングするか否かを決定するためのしきい値との間のこの差は、チャネルの拡張された有用性を考慮すると、強い一致が連続チャネルコンテキストにおいて重要であるためであるかもしれない。いくつかの実施形態では、連続チャネルを使用するための全体的しきい値は、連続チャネルを確立するための、および/または所定の一連のメッセージにおける通信を一貫してルーティングするためのしきい値より低くてもよい(が、そうである必要はない)。
【0073】
[0081]対話管理エンジン525は、様々なコンテキストにおいてアカウントエンジン530と対話することができる。例えば、アカウントエンジン530は、デバイスに対応するアカウントを識別するために、アカウントデータストア535中のネットワークデバイスまたはエンドポイントの識別子をルックアップしてもよい。さらに、アカウントエンジン530は、以前の通信交換についてのデータ(例えば、時間、関与する他のデバイス、チャネルタイプ、解決段階、トピックおよび/または関係するクライアント識別子)、(例えば、1つ以上のクライアントのそれぞれについて、チャネルが存在するか否か、各チャネルに関係するエンドポイント、確立時間、使用頻度、最終使用日、任意のチャネル制約および/またはサポートされる通信タイプを示す)通信チャネル、(例えば、端末デバイス選択、応答待ち時間、端末デバイス一貫性、エージェント専門知識、および/または通信タイプ選好もしくは制約に関連する)ユーザもしくはエージェント選好または制約、および/またはユーザまたはエージェント特性(例えば、年齢、話されるまたは好ましい言語、地理的ロケーション、関心など)を維持することができる。
【0074】
[0082]さらに、対話管理エンジン525は、アカウントデータストア535が現在のチャネルデータを反映するように更新できるように、様々な接続チャネルアクションについてアカウントエンジン530に警告することができる。例えば、チャネルを確立すると、対話管理エンジン525は、アカウントエンジン530に確立を通知し、ネットワークデバイス、エンドポイント、アカウント、およびクライアントのうちの1つ以上を識別することができる。アカウントエンジン535は、その後、チャネルの存在をユーザに通知することができ、ユーザは、利用されているエージェントの一貫性を知ることができる。
【0075】
[0083]対話管理エンジン525はさらに、クライアントマッピングエンジン540と対話することができ、これは、通信を1つ以上のクライアント(および/または関係するブランド)にマッピングすることができる。いくつかの実施形態では、ネットワークデバイス自体から受信した通信は、クライアントに対応する識別子(例えば、クライアント、製品、サービス、ウェブページ、またはアプリページの識別子)を含む。識別子は、(例えば、クライアントマッピングエンジン540が検出してもよい)メッセージの一部として含まれることができ、またはメッセージを含む通信における他のデータとして含まれることができる。次いで、クライアントマッピングエンジン540は、クライアントデータストア545中の識別子をルックアップして、クライアントについての追加データおよび/またはクライアントの識別子を取り出すことができる。
【0076】
[0084]いくつかの実施形態では、メッセージは、特にどのクライアントにも対応しないかもしれない。例えば、メッセージは、一般的なクエリを含んでいてもよい。クライアントマッピングエンジン540は、例えば、メッセージに対して意味分析を実行し、1つ以上のキーワードを識別し、キーワードに関係付けられた1つ以上のクライアントを識別することができる。いくつかの実施形態では、単一のクライアントが識別される。いくつかの実施形態では、複数のクライアントが識別される。次いで、各クライアントの識別が、ネットワークデバイスを介して提示されてもよく、ユーザは、(例えば、関係するエンドポイントを介して)通信するクライアントを選択することができる。
【0077】
[0085]クライアントデータストア545は、クライアントに関係付けられた1つ以上のエンドポイント(および/またはエージェント)の識別を含むことができる。エンドポイントルーティングエンジン550は、ルーティング決定に影響を及ぼすように、1つ、複数、またはすべてのそのようなエンドポイント(および/またはエージェント)のそれぞれに関するデータを検索または収集することができる。例えば、端末ルーティングエンジン550は、エンドポイントのデバイスタイプ、オペレーティングシステム、通信タイプ能力、インストールされたアプリケーションアクセサリ、地理的ロケーションおよび/または識別子(例えば、IPアドレス)などの情報を記憶することができるエンドポイントデータストア555を維持することができる。情報はまた、経験レベル、位置、スキルレベル、知識ベース(例えば、エージェントが精通しているトピックおよび/または様々なトピックについての知識のレベル)、パーソナリティメトリック、作業時間、話された言語および/または人口統計情報などのエージェント情報を含むことができる。一部の情報は動的に更新することができる。例えば、エンドポイントが利用可能であるか否かを示す情報は、(例えば)エンドポイントからの通信(例えば、デバイスがスリープ中であるか、オフ/オンされているか、アイドル/アクティブであるかを識別すること、またはある期間内に入力が受信されたかを識別すること)、(例えば、エンドポイントが通信交換に関与しているかまたは通信交換の一部として割り当てられているかを示す)通信ルーティング、または通信交換が終了または開始したことを示すネットワークデバイスまたはエンドポイントからの通信に基づいて動的に更新されてもよい。
【0078】
[0086]様々なコンテキストにおいて、1つ以上の通信交換に関与していることは、エンドポイントが別の通信交換に関与するために利用可能でないことを必ずしも示さないことが理解されよう。通信タイプ(例えば、テキスト、メッセージ、電子メール、チャット、電話)、クライアント識別またはユーザ識別のターゲット応答時間、および/または(例えば、一般的な、またはユーザに関する)システム負荷などの様々な要因が、エンドポイントが関与するかもしれない交換回数に影響を及ぼすかもしれない。
【0079】
[0087]対話管理エンジン525が、通信交換または接続に関与するエンドポイントを識別したとき、それは、宛先(例えば、IP)アドレス、デバイスタイプ、プロトコルなど、エンドポイントデータストア555からエンドポイントについての任意の関連データを取り出すことができる端末ルーティングエンジン550に通知することができる。次いで、処理エンジン510は、特定のフォーマットを有し、特定のプロトコルに準拠するようになど、メッセージ包含通信を修正するか、または新しい通信(メッセージを含む)を生成することができる。いくつかの実施形態では、新しいまたは修正されたメッセージは、ネットワークデバイスに対応するアカウントデータ、メッセージクロニクル、および/またはクライアントデータなどの追加データを含んでいてもよい。
【0080】
[0088]メッセージ送信機インターフェース560は、次いで、エンドポイントに通信を送信することができる。送信は、例えば、別個のハウジング内に収容されたデバイスへのワイヤードまたはワイヤレス送信を含むことができる。エンドポイントは、接続管理システムと同じまたは異なるネットワーク(例えば、ローカルエリアネットワーク)中のエンドポイントを含むことができる。したがって、通信をエンドポイントに送信することは、通信をネットワーク間またはネットワーク内接続コンポーネントに送信することを含むことができる。
【0081】
[0089](例えば、ユーザによって操作される)ネットワークデバイスとの通信セッションの間に、ここで「コンシェルジュサービス」と呼ばれることがあるボットとエンドポイントとの間で動的に切り替えるためのシステムおよび方法が提供される。いくつかのインプリメンテーションでは、コンシェルジュサービス515は、ユーザと自律的にチャットするように構成されてもよい。さらに、コンシェルジュサービス515は、特定の能力のために構成されることができる。能力の例は、データベース記録を更新すること、更新をユーザに提供すること、ユーザについての追加データをエージェントに提供すること、ユーザの意図を決定し、その意図に基づいてユーザを宛先システムにルーティングすること、ユーザと通信するエージェントに対する応答を予測または提案すること、1つ以上の追加のボットまたはエージェントを含むように通信セッションをエスカレートさせること、レポートを生成すること、オープンな会話スレッドを追跡すること、および他の適切な能力を含むことができる。いくつかのインプリメンテーションでは、コンシェルジュサービス515がチャットセッションにおいてユーザと通信している間に、通信サーバは、チャットセッションをエンドポイントに転送することを自動的かつ動的に決定することができる。例えば、コンシェルジュサービス515は、あるタスク(例えば、ユーザに関係付けられたデータベース記録を更新すること)についてユーザと通信することができるが、エンドポイントは、より困難なタスク(例えば、技術的問題を解決するために通信チャネルを使用して通信すること)についてユーザと通信することができる。
【0082】
[0090]いくつかのインプリメンテーションでは、コンシェルジュサービス515とエンドポイントとの間でチャットセッションを転送すべきかどうかを決定することは、通信セッションにおけるメッセージの1つ以上の特性の分析に基づくことができる。さらに、メッセージについて動的な感情スコアを生成することができる。例えば、感情スコアが、ユーザがコンシェルジュサービス515に不満であることを示すケースでは、システムは、ユーザと通信するためのエンドポイントでコンシェルジュサービス515を自動的に切り替えることができる。2016年6月2日に出願された米国シリアル番号15/171,525号を参照されたく、その開示は、あらゆる目的のためにその全体が参照によりここに組み込まれる。いくつかの例では、コンシェルジュサービス515とエンドポイントとの間で切り替えるべきかどうかを決定することは、ユーザからのプロンプトなしに実行されることができる。決定は、チャットセッションにおける現在のメッセージの特性、以前のチャットセッションにおいてユーザによって送信された以前のメッセージの特性、会話における複数のメッセージにわたる特性(例えば、感情)の軌跡、またはユーザに関係付けられた追加情報(例えば、プロファイル情報、選好情報、メンバーシップ情報、およびユーザに関係付けられた他の適切な情報)を含む、任意の数の要因に基づいて、通信サーバにおいて自動的に行われることができる。
【0083】
[0091]
図6は動的テキストメッセージ処理の方法を図示するフローチャートである。
図6の方法は、例えば、ここで説明する接続管理システムによって実行することができる。いくつかの実施形態では、
図6の方法は、(ここで交換可能に使用されるによって)コンシェルジュサービスまたはボットによって実行されてもよい。
【0084】
[0092]ステップ605において、要求テキストメッセージを受信できる。いくつかの実施形態では、要求テキストメッセージは、モバイルデバイス、またはテキスト(例えば、SMS)メッセージを生成および送信することが可能な別のデバイスなど、ネットワークデバイスから受信されてもよい。要求テキストメッセージは、自然言語での要求を含んでいてもよい。ここで使用されるように、自然言語は、機械からのアクションまたは応答を誘発するために別様に必要な特殊または特定の単語または言語とは対照的に、会話的に使用される単語または単語の組み合わせを指してもよい。いくつかの実施形態では、自然言語要求は、リソースに対する要求であってもよい。例えば、要求は、データまたは情報に対する要求であってもよい。
【0085】
[0093]ステップ610において、自然言語要求は、予め規定された意図を識別するために解釈されてもよい。いくつかの実施形態では、自然言語要求の単語は、所定の意図を示す任意のキーワードを識別するために構文解析されてもよい。例えば、自然言語要求は、「私は配達用の食品を注文したい」であってもよい。要求を構文解析して、要求の動作ワード、すなわち「注文」、「食品」、および「配達」を識別することができる。関係付けられた予め規定された意図は、「食品配達」であってもよい。
【0086】
[0094]ステップ615において、エンドポイントは、予め規定された意図に基づいて自然言語要求を受信するように自動的に選択されてもよい。エンドポイントは、例えば、ここで説明されるクライアントデバイスまたは端末デバイスであってもよい。エンドポイントは、複数のエンドポイントから選択されてもよい。言い換えれば、同じエンドポイントはすべての自然言語要求を受信しなくてもよい。例えば、「食品配達」という予め規定された意図のためのエンドポイントは、レストラン、商品スタンド、またはコンビニエンスストアであってもよく、これらは、ポイントオブセール(POS)システムなどのクライアントデバイスを動作させることができる。しかしながら、「グリル情報」という予め規定された意図は、グリルに関する情報にアクセスし、それを提供することが可能なエージェントに関係付けられた端末デバイスのエンドポイントを選択できる。
【0087】
[0095]ステップ620において、自然言語要求はエンドポイントに転送されてもよい。いくつかの実施形態では、予め規定された意図は、代替または追加として、エンドポイントに転送されてもよい。要求は、任意の通信チャネルを通してエンドポイントに転送することができる。例えば、要求はテキストメッセージの形態で受信されたが、要求は、クライアントデバイスまたは端末デバイスと通信するために使用される別の形態またはフォーマットに変換されてもよい。例えば、要求は、電子メール、データオブジェクト等として転送されてもよい。加えて、要求は、セルラネットワーク、ワイドエリアネットワーク、ローカルエリアネットワークなどを含む任意の適切なネットワークを通して転送されてもよい。言い換えれば、要求テキストメッセージはセルラネットワークを通して受信されたが、クライアントデバイスまたは端末デバイスに要求を転送するために、任意の適切なネットワークが使用されてもよい。
【0088】
[0096]ステップ625において、自然言語要求に対する応答が受信されてもよい。応答は、エンドポイントから直接的または間接的に到来することができる。例えば、エンドポイントは、レストランに関係付けられたクライアントデバイスであったかもしれない。しかしながら、クライアントは、要求を検討し、それが商品スタンドに転送されるべきであると決定したかもしれない。この例では、商品スタンドに関係付けられたクライアントデバイスは、要求に対する応答を作成することができる。要求に対する応答は、任意の適切なデータを含んでいてもよい。例えば、応答は、利用可能なオプションのメニューまたは提示、確認等を含んでいてもよい。ここで説明するように、応答は、要求と同じ通信チャネルを通して、または同じフォーマットで、受信されてもされなくてもよい。
【0089】
[0097]ステップ630において、応答に基づいて応答テキストメッセージが生成されてもよい。応答テキストメッセージは、自然言語応答を含んでいてもよい。いくつかの実施形態では、応答は、自然言語でエンドポイントから受信されてもよい。いくつかの実施形態では、応答は、別のフォーマットでエンドポイントから受信され、ネットワークデバイスに適した自然言語に変換されてもよい。自然言語要求がリソースに対する要求である実施形態では、応答テキストメッセージは、リソースを含んでいてもよい。例えば、要求がグリルに関する情報に対するものである場合、応答テキストメッセージはその情報を提供することができる。
【0090】
[0098]ステップ635において、応答テキストメッセージが送信される。いくつかの実施形態では、応答テキストメッセージは、要求テキストメッセージを生成したネットワークデバイスに送信される。いくつかの実施形態では、応答テキストメッセージは、別のネットワークデバイス、クライアントデバイス、端末デバイスなどを含む、別のエンドポイントに送信されてもよい。例えば、要求テキストメッセージが、情報がサードパーティデバイスに送られること示した場合、応答テキストメッセージはサードパーティデバイスに送信されてもよい。
【0091】
[0099] いくつかの実施形態において、フォローアップアクションが行われてもよい。いくつかの実施形態では、第2の要求テキストメッセージが受信されてもよい。第2の要求テキストメッセージは、第2の自然言語要求を含んでいてもよい。第2の自然言語要求は、第2の予め規定された意図を識別するために解釈されてもよい。代替エンドポイントは、第2の予め規定された意図に基づいて第2の自然言語要求を受信するように自動的に選択されてもよい。第2の自然言語要求は、代替エンドポイントに転送されてもよい。言い換えれば、異なるテキストメッセージが異なるエンドポイントにルーティングされてもよく、2つ以上の通信チャネルが、異なる意図に対して同じネットワークデバイスと通信するために開かれてもよい。
【0092】
[00100]いくつかの実施形態では、第2の要求テキストメッセージが受信されてもよい。第2の要求テキストメッセージは、第2の自然言語要求を含んでいてもよい。代替エンドポイントは、エンドポイントに基づいて第2の自然言語要求を受信するように自動的に選択されてもよい。第2の自然言語要求は、代替エンドポイントに転送されてもよい。言い換えれば、いくつかの実施形態では、新しい要求に対するエンドポイントは、前の要求に対するエンドポイントに基づいて選択されてもよい。
【0093】
[00101]
図6に関してここで説明した方法は、いくつかの理由で有利であるかもしれない。例えば、コンシェルジュサービスは、テキストメッセージングを介してユーザと通信することができ、これは、モバイルデバイス上に追加のまたは専用のソフトウェアを必要としない。さらに、コンシェルジュサービスおよびユーザは、構造化されたまたは特化された用語またはフォーマットを使用することとは対照的に、自然言語で会話的に互いに通信することができる。しかしながら、コンシェルジュサービスはまた、クライアントデバイスおよび端末デバイスなどの他のデバイスと、それらの好ましいフォーマットおよび好ましい通信チャネルで通信することができる。
言い換えれば、ユーザは、Apple Business ChatまたはGoogle RBMなどの最適な通信チャネルまたはアプリケーションを使用することが可能であるかもしれない。
【0094】
[00102]
図7は、動的テキストメッセージ処理のための例示的なシステムを表す。
図7に図示される例では、システムはスタジアム705環境で使用されてもよい。例えば、ユーザ710は、スタジアム705でスポーツイベントに出席しているかもしれない。ユーザ710は、特定のセクションおよび列に着席しているかもしれない。ユーザ710は、自分のネットワークデバイス715を操作して、通信管理システム720と通信することができる。例えば、ユーザ710は、ネットワークデバイス715を使用して、通信管理システム720に関係する指定された電話番号へのテキストメッセージを作成することができる。テキストメッセージは自然言語であってもよい。
【0095】
[00103]言い換えれば、ユーザ710は、セルラネットワークを通して通信管理システム720と通信を交換するためにネットワークデバイス715を使用してもよい。スタジアム705内にあるものとして図示されているが、通信管理システム720は、スタジアム705に対してローカルまたは遠隔に位置付けられてもよいことが企図される。例えば、いくつかの実施形態では、通信管理システム720はクラウド中に位置付けられてもよい。
【0096】
[00104]通信管理システム720は、複数のサービスプロバイダと動作可能に通信することができる。例えば、通信管理システム720は、食品プロバイダ725A、飲料プロバイダ725B、およびゲームプロバイダ725Cと通信することができる。3つのプロバイダ725AからCに関して図示および説明されているが、通信管理システム720は、任意の数およびタイプのプロバイダと通信してもよいことが企図される。加えて、ここで図示および説明されるように、通信管理システム720はまた、スタジアム705の内部または外部に位置付けられた端末デバイスおよびエージェントと動作可能に通信してもよい。
【0097】
[00105]テキストメッセージがネットワークデバイス715から受信されるとき、通信管理システム720は、プロバイダ725AからCのうちのどれに要求を転送すべきかを決定するために、テキストメッセージを解釈してもよい。通信管理システム720は、プロバイダ725AからCと効果的に通信するために、テキストメッセージ中の要求を別のフォーマットに変換することができる。さらに、通信管理システム720は、ネットワークデバイスとは異なる通信チャネルを通してプロバイダ725AからCと通信することができる。例えば、通信管理システム720は、セルラネットワーク上のテキストメッセージを通してネットワークデバイスと通信してもよいが、プロバイダ725AからCとは異なる方法を介して通信してもよい。
【0098】
[00106]
図8Aから
図8Hを参照してさらなる説明を行うことができる。
図8Aから
図8Hは、接続管理システムによって容易にされる通信のための例示的なユーザインターフェースを示す。
図8Aは、フットボールゲームの間にスタジアムから接続管理システムとの通信セッションを開始するために送られるテキストメッセージを示す。
図8Aは、「始める」というテキストメッセージを、接続管理システムに関係付けられた電話番号に送るネットワークデバイスのスクリーンショットを図示している。これに応答して、接続管理システムは、「ドリンクを注文する」、「チーム商品を買う」、および「ファンタジーフットボールに参加する」などの利用可能なサービスのリストで応答することができる。
図8Aに示すように、ネットワークデバイスを操作するユーザと接続管理システムとの両方は、自然言語で互いに通信することができる。
【0099】
[00107]
図8Bは、ネットワークデバイスと通信管理システムとの間の継続的な通信を図示する。接続管理システムは、利用可能なサービスのオプションを選択するようにユーザに促すことができる。ユーザは、「ファンタジーフットボールをプレーしたい!」という自然言語で応答することができる。接続管理システムは、このテキストメッセージを構文解析して、ユーザの意図を識別することができる。例えば、接続管理システムは、テキストメッセージ中の「ファンタジーフットボール」を識別し、ネットワークデバイスとのファンタジーフットボールセッションを開始することができる。例えば、ファンタジーフットボールゲームセッションを開始するために、接続管理システムは、ファンタジーフットボールゲームサーバ(例えば、ESPまたはYAHOO!スポーツ)に対するコマンドへの意図を作成できる。接続管理システムは、ファンタジーフットボールセッションを容易にするために、命令およびプロンプトを提供することができる。換言すれば、接続管理システムは、交換されるメッセージが自然言語であって会話的に思われるように、ファンタジーフットボールゲームサーバとユーザのネットワークデバイスとの間の仲介者として機能することができる。例えば、
図8Bおよび8Cに示すように、接続管理システムは、ファンタジーフットボールチームの選手を選ぶようにユーザに促すことができる。
図8Cに示されるように、写真、アイコン、および/またはインタラクティブ要素は、通信を容易にするために、ネットワークデバイスにテキストメッセージで提供されてもよい。ここでは接続管理システムによって直接促進されるものとして説明されているが、通信は代わりに、クライアントデバイスまたは端末デバイスから接続管理システムを通してルーティングされてもよいことが企図される。
【0100】
[00108]ネットワークデバイスからの要求は、他の形態、すなわち、テキストメッセージ以外の形態であってもよいことが企図される。例えば、
図8Dは、ネットワークデバイスがスタジアム中のユーザの座席に配達される飲料を注文することを可能にする、ネットワークデバイスに送られたテキストメッセージ中のQRコード(登録商標)を図示している。
図8Dに示すように、ファンタジーフットボールに対する要求および応答は、飲料注文に対する要求および応答とシームレスに織り込まれてもよい。換言すれば、複数の異なる会話を一度に行うことができる。この例では、ユーザはその後、自分のネットワークデバイスを使用して、飲料を注文することについての会話を開始することができる。飲料購入について議論している間、接続管理システムは、ファンタジーフットボールステータスについてのメッセージをネットワークデバイスに転送することができる。接続管理システムは、各会話スレッドの状態およびコンテキスト、すなわち、会話はファンタジーフットボールステータスをどこでやめたか、現在の飲料注文は何であるか、過去の飲料注文は何であったか、最後の問い合わせに何の商品があったかなどを維持することができる。
図8Eに示されるように、飲料に利用可能なオプションのリストは、グラフィカルおよび/またはテキスト形式で提示されてもよく、ユーザによって自然言語で注文されることができる。接続管理システム(またはクライアントもしくは端末デバイス)は、所望の製品を配達するために、ユーザのセクション、列、および座席をユーザに促すことができる。
図8Fに示すように、接続管理システムは、チェックアウト、チップを与える、および総コストの計算を容易にすることができる。接続管理システムはまた、商品またはサービスを提供するクライアントデバイスへの支払いを容易にするために、ネットワークデバイス上で利用可能な他のアプリケーションまたは情報(例えば、Apple Pay)とインターフェースしてもよい。さらに、接続管理システムは、広告および/またはスポンサーシップを会話に組み込むことができる。
【0101】
[00109]
図8Gに示されているように、通信は、商品を買うことを要求するために自然言語で継続してもよい。例えば、ユーザは、「ジャージを購入したい」と述べるテキストメッセージを送ることができる。接続管理システムは、チーム衣料品店に関係付けられたクライアントデバイスとインターフェースして、ネットワークデバイスに在庫のジャージのリストを提供することができる。
図8Hに示されるように、接続管理システムは、ユーザが自分のネットワークデバイスでジャージを注文し、記憶されたクレジットカードまたは支払いタイプを使用してジャージに対して支払うことを容易にすることができる。他の例では、ユーザは、説明した方法で接続管理システムを使用して、別のゲームのチケットを購入または販売すること、事前に、またはガレージから出る途中で、駐車料金を支払うことなどができる。
【0102】
[00110]
図8Hにも示されているように、接続管理システムは、異なるエンドポイントを有する異なるトピック間でシームレスに通信することができる。例えば、
図8Hは、衣料についてのメッセージ、支払いについてのメッセージ、ファンタジーフットボールについてのメッセージ、および追加のファンタジーフットボールポイントを収集するゲームを開始するメッセージを図示している。接続管理システムによって収集され追跡されたポイントは、ネットワークデバイスのユーザによって使用されて、ポイントに関連するまたは関連しない商品またはサービスを引き換えることができると考えられる。
【0103】
[00111]スタジアムロケーションにおいて使用されるものとして
図8Aから
図8Hに関して示し、説明したがが、実施形態は、通信、情報、商品、またはサービスが望ましい複数のロケーションにおいて使用されてもよいことが企図される。一例では、ユーザは映画館にいることがある。ユーザは、映画館に関係付けられた電話番号にテキストを打ち、商品、土産、他の映画チケット、およびこれらに類するものを注文することができる。ユーザは、注文されたアイテムを配達させるために、映画館における自分の座席ロケーションを指定することができる。
【0104】
[00112]別の例では、ユーザは飛行機に乗っていることがある。ユーザは、フライトに関係付けられた電話番号にメッセージを打ち、食品、飲料、エンターテイメント、ホテル、レンタカー、アップグレード、アクティビティ、または将来のフライトを注文することができる。ユーザは、機上で自分の座席を指定することができ、物理的に配達可能なアイテムはユーザの座席に運ばれることができる。他のアイテム(例えば、音楽、映画、ゲーム、旅行確認など)をユーザのモバイルデバイスに配達することができる。
【0105】
[00113]さらに別の例では、ユーザはホテルに到着することができる。ユーザは、コンシェルジュサービスに関係付けられた電話番号にメッセージを打ち、ルームサービスを注文し、エリアレストランで予約を行い、アクティビティの予約を行い、ナイトライフの予約を行い、ホテルのコンビニエンスストアからのアイテムを注文し、室内エンターテイメントを注文し、およびこれらに類するものすることができる。一実施形態では、ユーザは、アイテムを配達させ、部屋に課金させるために、ホテル内の自分の部屋のロケーションを指定することができる。別の実施形態では、コンシェルジュサービスは、ユーザによって提供された情報から、またはユーザがテキストメッセージを送った電話番号を使用することによって、ユーザの部屋番号をルックアップすることができる。物理的に配達可能なアイテムは、ユーザの部屋に配達することができる。他のアイテムは、例えば、ユーザのモバイルデバイス、テレビなどに電子的に配信することができる。
【0106】
[00114]さらに別の例では、ユーザは、ダンス競技を見るためにレストランに到着することができる。ユーザは、レストランに関係付けられた電話番号にメッセージを打ち、食品および飲料を自分の座席に注文することができる。ユーザはまた、テキストメッセージを介してレストランに関与して、競技における競技者についてのクイズをして、ポイントを獲得するためにショーからの敗退の順序に賭けをすることができる。ショーの終わりに、ユーザは、食品、飲料、商品、もしくはギフトカードについての自分のポイントを精算することができ、または将来の訪問(例えば、翌週の競争の別のエピソード)のためにポイントを預けることができる。これにより、レストランに対してロイヤリティが獲得される。
【0107】
[00115]ユーザがテキストメッセージ通信を開始するものとしてここでは説明したが、サービスが代替的にテキストメッセージ通信を開始してもよいことが企図される。例えば、飛行機サービスは、飛行機が10,000フィート(3048メートル)を超えると、そのフライトのチケットを購入した(および任意選択で、機内WiFiも購入した)ユーザとのテキストメッセージ通信を開始することができる。別の例では、ホテルは、予約時またはチェックイン時に携帯電話番号を提供したユーザとのテキストメッセージ通信を開始することができる。これらのテキストメッセージ通信は、到着時の良好な経験を保証するために、チェックインの時間、チェックインの後、またはチェックインの前など、任意の適切な時間に開始されてもよい。例えば、グローバルポジショニングシステム(GPS)、Bluetooth(登録商標)、またはこれらに類するものを使用することによって、ユーザのデバイスが特定のロケーションまたはその近くにあることが検出されたときに、テキストメッセージ通信がいずれかの端部で開始されてもよいことがさらに企図される。
【0108】
[00116]ここでは主にネットワークデバイスのユーザと接続管理システムとの間の1対1の購入およびゲームに関して示し、説明しているが、接続管理システムは、複数のユーザ間での大規模なエンターテイメントオプションを容易にしてもよいことが企図される。例えば、マルチプレーヤライブゲームは、スタジアムにおける観客とともに、遠隔で見ている観客との間で容易にされてもよい。ゲームは、例えば、イベントの過程を通して実行されるトリビアゲームであることがある。スコアボードは、ネットワークデバイス上および/またはスタジアムイベントにおけるスクリーン上の体験において表示されてもよい。発生したポイントは、ここでさらに説明するように、賞を決定するために記憶または使用することができる。同様に、この概念は、レストランにおける、映画館における、テレビ番組を見る、飛行機上の、ホテルにおける、およびこれらに類するもののような客に適用することができる。
【0109】
[00117]実施形態の徹底的な理解を提供するために、上記説明において特定の詳細が与えられる。しかしながら、これらの特定の詳細なしに、実施形態を実施できることを理解すべきである。例えば、実施形態を不必要な詳細で不明瞭にしないように、回路はブロックダイヤグラムとして示されることができる。他の事例では、周知の回路、プロセス、アルゴリズム、構造、および技術が、実施形態を曖昧にすることを避けるために、不要な詳細なしで示されることができる。
【0110】
[00118]上記で説明した技術、ブロック、ステップ、および手段の実現は、様々な方法で行われることができる。例えば、これらの技術は、ハードウェア、ソフトウェア、またはこれらの組み合わせで実現できる。ハードウェアインプリメンテーションについて、処理ユニットは、1つ以上の、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、制御装置、マイクロ制御装置、マイクロプロセッサ、上述した機能を実行するように設計されている他の電子ユニット、および/または、これらを組み合わせ内で実現されてもよい。
【0111】
[00119]また、実施形態の一部は、フローチャート、フローダイヤグラム、データフローダイヤグラム、構造ダイヤグラム、またはブロックダイヤグラムとして描かれるプロセスとして説明できることに留意されたい。フローチャートは、連続的なプロセスとして動作を説明できるが、動作の多くは並行してまたは同時に実行されることができる。さらに、動作の順序は再構成されてもよい。プロセスは、その動作が完了すると終了されるが、図面に含まれていない追加のステップを有する可能性がある。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応できる。プロセスが関数に対応するとき、その終了は呼び出し関数、またはmain関数に関数が戻ることに対応する。
【0112】
[00120]さらに、実施形態は、ハードウェア、ソフトウェア、スクリプト言語、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはこれらの任意の組み合わせによって実現できる。ソフトウェア、ファームウェア、ミドルウェア、スクリプト言語、および/またはマイクロコードで実現されるとき、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体のような機械読取可能媒体中に記憶できる。コードセグメントまたは機械実行可能な命令は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、スクリプト、クラス、または、命令、データ構造、および/もしくはプログラムステートメントの任意の組み合わせを表すことができる。コードセグメントは、情報、データ、引数、パラメータ、および/またはメモリコンテンツを渡すこと、および/または受け取ることによって別のコードセグメントまたはハードウェア回路に結合されることができる。情報、引数、パラメータ、データ等は、メモリ共有、メッセージパッシング、チケットパッシング、ネットワーク送信などを含む任意の適切な手段を介して、渡され、転送され、または送信されることができる。
【0113】
[00121] ファームウェアおよび/またはソフトウェアのインプリメンテーションについて、方法論は、ここで説明された機能を実行するモジュール(例えば、プロシージャ、機能等)で実現されることができる。命令を有形に具現化する任意の機械読取可能な媒体が、ここで説明された方法論を実現するのに使用されることができる。例えば、ソフトウェアコードは、メモリ中に記憶されることができる。メモリは、プロセッサの内部またはプロセッサの外部で実現できる。ここで使用されるように、「メモリ」という用語は、任意のタイプの長期、短期、揮発性、不揮発性、または他の記憶デバイスを指し、任意の特定のタイプのメモリもしくはメモリの数、またはメモリが記憶される媒体のタイプに限定されない。
【0114】
[00122] さらに、ここで開示したように、用語「記憶媒体」、「記憶装置」または「メモリ」は、データを記憶するための1つ以上のデバイスを表すことができ、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気RAM、コアメモリ、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、および/または情報を記憶するためのその他の機械読取可能媒体を含む。「機械読取可能媒体」という用語は、ポータブルまたは固定記憶デバイス、光学記憶デバイス、ワイヤレスチャネル、ならびに/または、命令および/もしくはデータを記憶すること、含むこと、または搬送することが可能な様々な他の記憶媒体を含むが、これらに限定されない。
【0115】
[00123]本開示の原理が特定の装置および方法に関して上記で説明されたが、この説明は例としてのみなされ、本開示の範囲に対する限定としてではないことを明確に理解されたい。
【国際調査報告】