(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023098998
(43)【公開日】2023-07-11
(54)【発明の名称】メッセージングにおける動的メッセージ処理およびデータの集約
(51)【国際特許分類】
H04L 65/1069 20220101AFI20230704BHJP
【FI】
H04L65/1069
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023064822
(22)【出願日】2023-04-12
(62)【分割の表示】P 2021557363の分割
【原出願日】2020-03-26
(31)【優先権主張番号】62/825,153
(32)【優先日】2019-03-28
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】511094772
【氏名又は名称】ライブパーソン, インコーポレイテッド
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】ジェフリー・サルター
(57)【要約】 (修正有)
【課題】発信者をテレフォニー環境からテキストメッセージング環境にリダイレクトするシステム、方法及びプログラムを提供する。
【解決手段】通信セッション中の動的かつ自動的なメッセージ処理方法であって、ネットワークデバイス(携帯電話)は、クライアントデバイス(企業のデバイス)に関連付けられた固定電話に電話をかけるために使用され、電話が終了した場合、ネットワークデバイスまたはクライアントデバイスのいずれかが、他方へのテキストメッセージを生成し、通信セッションを確立する。クライアントデバイスは、テキストメッセージによって完了され得るサービス要求の様々なオプションを、ネットワークデバイスに提示する。ネットワークデバイスは、サービス要求を送信し、サービス要求は、クライアントによって実現される。
【選択図】
図6
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
ネットワークデバイスにおいてクライアントデバイスからメッセージを受信すること、ここにおいて、前記メッセージは、複数のルーティング経路を含む、と、
前記複数のルーティング経路のうちの選択されたルーティング経路を生成することと、
前記ネットワークデバイスと前記クライアントデバイスのノードとの間に双方向通信セッションを確立すること、ここにおいて、前記ノードは、前記選択されたルーティング経路に基づいて決定される、と、
前記双方向通信セッションの終了を容易にすること、ここにおいて、前記双方向通信セッションの前記終了は、前記クライアントデバイスに、前記選択されたルーティング経路を送信させる、と、
前記選択されたルーティング経路に関連するデータを受信することと、
新しいメッセージを送信すること、ここにおいて、前記新しいメッセージは、インテントインジケータデータを含む、と、
サーバから前記新しいメッセージに対する応答を受信すること、ここにおいて、前記応答は、前記選択されたルーティング経路および前記インテントインジケータデータに対応する1つまたは複数の提案を含む、と、
前記応答の表示を容易にすることと、
を備える方法。
【請求項2】
前記メッセージ、前記新しいメッセージ、および前記応答は、テキストメッセージである、請求項1に記載の方法。
【請求項3】
前記クライアントデバイスは、固定電話に接続されている、請求項1に記載の方法。
【請求項4】
前記ネットワークデバイスにおいて前記クライアントデバイスから前記メッセージを受信する前に、前記ネットワークデバイスによって前記固定電話に対する電話を発呼することをさらに備え、
ここにおいて、前記新しいメッセージは、前記サーバにおいて受信され、前記サーバは、前記選択されたルーティング経路および前記インテントインジケータデータを評価するために機械学習モデルを使用することによって前記応答を生成する、
請求項3に記載の方法。
【請求項5】
前記固定電話は、前記クライアントデバイスと同じ電話番号に関連付けられる、請求項3に記載の方法。
【請求項6】
前記1つまたは複数の提案は、複数のクライアントデバイスのための前記選択されたルーティング経路に関連する集約されたデータを含み、前記集約されたデータは、前記ネットワークデバイスに固有である、請求項3に記載の方法。
【請求項7】
システムであって、
1つまたは複数のデータプロセッサと、
命令を含む非一時的なコンピュータ可読記憶媒体と、
を備え、前記命令は、前記1つまたは複数のデータプロセッサ上で実行されると、前記1つまたは複数のデータプロセッサに、
ネットワークデバイスにおいてクライアントデバイスからメッセージを受信すること、ここにおいて、前記メッセージは、複数のルーティング経路を含む、と、
前記複数のルーティング経路のうちの選択されたルーティング経路を生成することと、
前記ネットワークデバイスと前記クライアントデバイスのノードとの間に双方向通信セッションを確立すること、ここにおいて、前記ノードは、前記選択されたルーティング経路に基づいて決定される、と、
前記双方向通信セッションの終了を容易にすること、ここにおいて、前記終了は、前記クライアントデバイスに、前記選択されたルーティング経路を送信させる、と、
前記選択されたルーティング経路に関連するデータを受信することと、
新しいメッセージを送信すること、ここにおいて、前記新しいメッセージは、インテントインジケータデータを含む、と、
サーバから前記新しいメッセージに対する応答を受信すること、ここにおいて、前記応答は、前記選択されたルーティング経路および前記インテントインジケータデータに対応する1つまたは複数の提案を含む、と、
前記応答の表示を容易にすることと、
を含む動作を実行させる、システム。
【請求項8】
前記メッセージ、前記新しいメッセージ、および前記応答は、テキストメッセージである、請求項7に記載のシステム。
【請求項9】
前記クライアントデバイスは、固定電話に接続されている、請求項7に記載のシステム。
【請求項10】
前記動作は、
前記ネットワークデバイスにおいて前記クライアントデバイスから前記メッセージを受信する前に、前記ネットワークデバイスによって前記固定電話に対する電話を発呼することをさらに含み、
ここにおいて、前記新しいメッセージは、前記サーバにおいて受信され、前記サーバは、前記選択されたルーティング経路および前記インテントインジケータデータを評価するために機械学習モデルを使用することによって前記応答を生成する、
請求項9に記載のシステム。
【請求項11】
前記固定電話は、前記クライアントデバイスと同じ電話番号に関連付けられる、請求項9に記載のシステム。
【請求項12】
前記1つまたは複数の提案は、複数のクライアントデバイスのための前記選択されたルーティング経路に関連する集約されたデータを含み、前記集約されたデータは、前記ネットワークデバイスに固有である、請求項7に記載のシステム。
【請求項13】
非一時的な機械可読記憶媒体に有形に具現化されたコンピュータプログラム製品であって、データ処理装置に、
ネットワークデバイスにおいてクライアントデバイスからメッセージを受信すること、ここにおいて、前記メッセージは、複数のルーティング経路を含む、と、
前記複数のルーティング経路のうちの選択されたルーティング経路を生成することと、
前記ネットワークデバイスと前記クライアントデバイスのノードとの間に双方向通信セッションを確立すること、ここにおいて、前記ノードは、前記選択されたルーティング経路に基づいて決定される、と、
前記双方向通信セッションの終了を容易にすること、ここにおいて、前記終了は、前記クライアントデバイスに、前記選択されたルーティング経路を送信させる、と、
前記選択されたルーティング経路に関連するデータを受信することと、
新しいメッセージを送信すること、ここにおいて、前記新しいメッセージは、インテントインジケータデータを含む、と、
サーバから前記新しいメッセージに対する応答を受信すること、ここにおいて、前記応答は、前記選択されたルーティング経路および前記インテントインジケータデータに対応する1つまたは複数の提案を含む、と、
前記応答の表示を容易にすることと、
を含む動作を実行させるように構成された命令を含むコンピュータプログラム製品。
【請求項14】
前記メッセージ、前記新しいメッセージ、および前記応答は、テキストメッセージである、請求項13に記載のコンピュータプログラム製品。
【請求項15】
前記クライアントデバイスは、固定電話に接続されている、請求項13に記載のコンピュータプログラム製品。
【請求項16】
前記動作は、
前記ネットワークデバイスにおいて前記クライアントデバイスから前記メッセージを受信する前に、前記ネットワークデバイスによって前記固定電話に対する電話を発呼することをさらに含み、
ここにおいて、前記新しいメッセージは、前記サーバにおいて受信され、前記サーバは、前記選択されたルーティング経路および前記インテントインジケータデータを評価するために機械学習モデルを使用することによって前記応答を生成する、
請求項15に記載のコンピュータプログラム製品。
【請求項17】
前記固定電話は、前記クライアントデバイスと同じ電話番号に関連付けられる、請求項15に記載のコンピュータプログラム製品。
【請求項18】
前記1つまたは複数の提案は、複数のクライアントデバイスのための前記選択されたルーティング経路に関連する集約されたデータを含み、前記集約されたデータは、前記ネットワークデバイスに固有である、請求項13に記載のコンピュータプログラム製品。
【請求項19】
前記インテントインジケータデータおよびメタデータからインテント値を決定するために、前記選択されたルーティング経路についての前記メタデータを処理することをさらに備える請求項13に記載のコンピュータプログラム製品。
【請求項20】
前記双方向通信セッションから通信データを受信することと、
自然言語理解データを生成するために、自然言語処理を使用して前記通信データを処理することと、
前記インテントインジケータデータについてのインテント値が、前記双方向通信セッションからの前記通信データのコンテキストにおける前記ネットワークデバイスのユーザの目的の信号であるように、前記自然言語理解データを使用して、前記インテントインジケータデータに基づくインテント値を選択することと、
をさらに備える請求項13に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
[0001]本願は、2019年3月28日に出願された米国仮特許出願第62/825,153号の利益を主張し、これは、あらゆる目的のために、その全体が参照により本明細書に組み込まれている。
【技術分野】
【0002】
[0002]本開示は、一般に、通信のルーティングを容易にすることに関する。より具体的には、通信セッション中に異なるデバイス間でメッセージを動的にルーティングおよび処理するための技法が提供される。例えば、実施形態は、1つまたは複数のクライアントとのサービスを実行するために、発信者をテレフォニー環境からテキストメッセージング環境にリダイレクトし得る。
【背景技術】
【0003】
[0003]クライアントは、多くの場合、そのサービスを求めているユーザからの電話に対応するために、テレフォニーシステムを使用する。これらのテレフォニーシステムは、ユーザがクライアントの生身の担当者と話すことを可能にし得るか、または対話型音声応答(IVR:interactive voice response)システムを使用し得る。IVRは、人間の発信者が、テレフォニー環境内のコンピュータに電話をかけて、それと通信することを可能にする技術である。IVRテレフォニー環境では、コンピュータは、典型的に、人間の発信者が、人間の発信者の電話のキーパッドを介して、デュアルトーン多重周波数シグナリング(DTMF)トーンを入力として使用して回答する、予め録音された音声オーディオプロンプトを典型的に出力する。IVRテレフォニーシステムは、多くの場合、人間の発信者が、人間の発信者を支援できる可能性のある人間のオペレータに誘導され得るように、人間の発信者がなぜ電話をかけているのかを決定するために使用される。しかしながら、しばしば発信者からは、従来のIVRシステムでは、発信者が選択を行うことができるようになる前に、膨大なメニューの全てのオプションを読み上げる長い録音を発信者が聞かされることで時間を無駄にすることが多いという不満の訴えがあった。発信者はまた、しばしば、人間のオペレータと会話するのに待たされ長期間保留状態に置かれるか、または人間のオペレータが全く電話にでない場合があり、苛立ちにつながり得る。
【0004】
[0004]SMS(ショートメッセージサービス)は、標準化された通信プロトコルを使用して、2つの携帯電話デバイス間のテキストベースの通信を可能にするテキストメッセージングサービスである。MMS(マルチメディアメッセージサービス)は、標準化された通信プロトコルを使用して画像ならびにテキストを送り得る、2つの携帯電話デバイス間の通信を可能にするメッセージングサービスである。メッセージングサービスは、それらが非同期通信を可能にするという点で、ユーザにとって便利であり、従来の音声ベースの電話中でのようにユーザが絶えず注意を払う必要なしに、メッセージが届いたときにユーザに通知する。
【発明の概要】
【0005】
[0005]実施形態という用語および同様の用語は、本開示および以下の特許請求の範囲の主題の全てを広く指すことが意図される。これらの用語を含む記述は、本明細書で説明される主題を限定するものではなく、または以下の特許請求の範囲の意味または範囲を限定するものではないことが理解されるべきである。本明細書でカバーされる本開示の実施形態は、この発明の概要ではなく、以下の特許請求の範囲によって定義される。この発明の概要は、本開示の様々な態様の大まかな概要であり、以下の詳細な説明のセクションにおいてさらに説明される概念のうちのいくつかを紹介する。この発明の概要は、特許請求される主題の重要なまたは本質的な特徴を識別することを意図したものではなく、特許請求される主題の範囲を決定するために単独で使用されることを意図したものでもない。主題は、本開示の明細書全体の適切な部分、任意または全ての図面、および各請求項を参照することによって理解されるべきである。
【0006】
[0006]本開示の実施形態は、上記で提示された技術的課題に対処するための技術的解決策を提供する。例えば、ネットワークデバイス(例えば、ユーザの携帯電話)が、クライアントデバイス(例えば、企業のデバイス)に関連付けられた固定電話に電話をかけるために使用され得る。電話が終了した場合、ネットワークデバイスまたはクライアントデバイスのいずれかが、他方へのテキストメッセージを生成し、通信セッションを確立し得る。クライアントデバイスは、テキストメッセージによって完了され得るサービス要求の様々なオプションを、ネットワークデバイスに提示し得る。ネットワークデバイスは、サービス要求を送信し得、サービス要求は、クライアントによって実現(fulfilled)され得る。その後のある時点で、クライアントデバイスは、通信セッションを終了し、会話をサーバ(例えば、複数の端末デバイスおよびエージェント、ならびに/または複数のクライアントデバイスに関連付けられたアグリゲータ)にハンドオフし得る。サーバは、ネットワークデバイスからのクエリおよび自然言語通信を受け入れ、必要に応じてクエリに回答し得る。クライアントデバイスとは異なり、サーバに対して行われるクエリは、クライアント固有である必要はなく、複数のクライアントまたはクライアントとは無関係のその他任意の主題に関連し得る。
【0007】
[0007]本開示のある特定の実施形態は、コンピュータによりインプリメントされる方法を含む。方法は、クライアントデバイスにおいてネットワークデバイスからメッセージを受信することを含み得る。メッセージは、複数のルーティング経路を含み得る。方法は、複数のルーティング経路のうちのルーティング経路の選択を生成することを含み得る。方法は、クライアントデバイスとネットワークデバイスのノードとの間に双方向通信セッションを確立することを含み得る。ノードは、選択されたルーティング経路に基づいて決定され得る。方法は、双方向通信セッションの終了を容易にすることを含み得る。終了は、ネットワークデバイスに、選択されたルーティング経路を送信させ得る。方法は、選択されたルーティング経路に関連するデータを受信することを含み得る。方法は、新しいメッセージを送信することを含み得る。新しいメッセージは、インテントインジケータデータを含み得る。新しいメッセージがサーバにおいて受信されると、サーバは、選択されたルーティング経路およびインテントインジケータデータを評価するための機械学習モデルを使用することによって、応答を生成し得る。方法は、新しいメッセージに対する応答を受信することを含み得る。応答は、選択されたルーティング経路およびインテントインジケータデータに対応する1つまたは複数の提案を含み得る。方法は、応答の表示を容易にすることを含み得る。
【0008】
[0008]本開示のある特定の実施形態は、システムを含む。システムは、1つまたは複数のデータプロセッサと、命令を含む非一時的なコンピュータ可読記憶媒体とを含み得、命令は、1つまたは複数のデータプロセッサ上で実行されると、1つまたは複数のデータプロセッサに、上記および本明細書で説明される方法を実行させる。
【0009】
[0009]本開示のある特定の実施形態は、データ処理装置に、上記および本明細書で説明される方法を実行させるように構成された命令を含む、非一時的な機械可読記憶媒体において有形に具現化されたコンピュータプログラム製品を含む。
【0010】
[0010]本開示は、添付の図面と併せて説明される。
【図面の簡単な説明】
【0011】
【
図1】[0011]
図1は、ネットワークインタラクションシステムの一実施形態のブロック図を示す。
【
図2】[0012]
図2は、接続管理システムを含むネットワークインタラクションシステムの一実施形態のブロック図を示す。
【
図3】[0013]
図3は、接続コンポーネントの動作のプロトコルスタックマッピングを表したものを示す。
【
図4】[0014]
図4は、一実施形態によるマルチデバイス通信交換システムを表す。
【
図5】[0015]
図5は、接続管理システムの一実施形態のブロック図を示す。
【
図6】[0016]
図6は、通信セッション中の動的かつ自動的なメッセージ処理のためのネットワーク環境のブロック図を示す。
【
図7】[0017]
図7は、ネットワークデバイスと、クライアントデバイスと、接続管理システムとの間で動的に切り替わるメッセージ環境のブロック図を示す。
【
図8】[0018]
図8は、動的メッセージング処理の方法を例示するフローチャートである。
【
図9】[0019]
図9は、本明細書で説明される実施形態による、動的メッセージング処理およびデータ集約の方法を例示するフローチャートである。
【発明を実施するための形態】
【0012】
[0020]添付の図面では、同様のコンポーネントおよび/または特徴は、同じ参照ラベルを有し得る。さらに、同じタイプの様々なコンポーネントは、参照ラベルの後に、ダッシュと、同様のコンポーネント同士を区別する第2のラベルとを続けることによって区別され得る。本明細書において第1の参照ラベルのみが使用される場合、その説明は、第2の参照ラベルにかかわらず、同じ第1の参照ラベルを有する同様のコンポーネントのうちの任意の1つに適用可能である。
【0013】
[0021]次に続く説明は、(1つまたは複数の)実施形態の例のみを提供し、本開示の範囲、適用可能性、または構成を限定するようには意図されない。むしろ、(1つまたは複数の)実施形態の例の次に続く説明は、実施形態の例をインプリメントすることを可能にする説明を当業者に提供する。様々な変更が、添付の特許請求の範囲に記載されるような趣旨および範囲から逸脱することなく、要素の配置および機能において行われ得ることが理解される。
【0014】
[0022]
図1は、本明細書で説明されるある特定の実施形態および機能をインプリメントおよびサポートするネットワークインタラクションシステムの一実施形態のブロック図を示す。ある特定の実施形態は、ネットワークデバイス105(これは、ユーザ110によって操作され得る)と、クライアント125に関連付けられたクライアントデバイス130との間の接続チャネルを確立することに関する。ある特定の実施形態では、ネットワークインタラクションシステムは、端末デバイス115(これは、エージェント120によって操作され得る)を含み得る。
【0015】
[0023]ある特定の実施形態では、ユーザ110は、電話デバイス132を介して、クライアント125に連絡を取ろうとする個人であり得る。クライアント125は、サービスを提供、運用(operates)、もしくは運営する(runs)エンティティであり得るか、または本明細書で説明されるように、クライアント125に利用可能なタスクを実行するために、そのようなエンティティによって雇用またはアサインされた個人であり得る。エージェント120は、サービスに関するサポートまたは情報をユーザ110に提供することをタスクとして課されたサポートエージェント等の個人であり得る。多数のエージェントのうち、エージェントのサブセットが、特定のクライアント125に対してサポートまたは情報を提供するのに適切であり得る。エージェント120は、クライアント125と提携していても、提携していなくてもよい。各エージェントは、1つまたは複数のクライアント125に関連付けられ得る。いくつかの非限定的な例では、ユーザ110は、携帯電話を介してアポイントメント(appointment)を入れようと試みている個人であり得、クライアント125は、医療サービスを提供する会社であり得、エージェント120は、その会社によって雇用された担当者であり得る。様々な実施形態では、ユーザ110、クライアント125、およびエージェント120は、他の個人またはエンティティであり得る。
【0016】
[0024]
図1が単一のネットワークデバイス105、端末デバイス115、およびデータベース127に結合されたクライアントデバイス130のみを示している一方で、インタラクションシステムは、複数または多数(例えば、数十、数百、または数千)もの、これらのタイプのデバイスのうちの1つまたは複数の各々を含み得る。様々なインプリメンテーションでは、インタラクションシステムの異なるノードは、クライアントデバイス130、電話デバイス132、およびクライアント125のための1つまたは複数の共有データベース127に結合された他のデバイスの繰り返しのコピー(repeated copies)を含み得る。同様に、
図1が単一のユーザ110、エージェント120およびクライアント125のみを示している一方で、
図1のインタラクションシステムは、複数または多数もの、このようなエンティティのうちの1つまたは複数の各々を含み得る。したがって、所与のネットワークデバイスと通信するためにどの端末デバイスが選択されるべきかを決定する必要がある場合がある。さらに複雑な問題として、リモートサーバ140もまた、ネットワークデバイス通信(network-device communications)を選択するために、受信および応答するように構成され得る。
【0017】
[0025]接続管理システム150は、通信の戦略的ルーティングを容易にし得る。通信は、(例えば、タイプ入力または音声入力等の、エンティティからの入力に基づいて定義された)コンテンツを有するメッセージを含み得る。通信はまた、送信デバイスに関するデータ(例えば、IPアドレス、アカウント識別子、デバイスタイプ、および/またはオペレーティングシステム)、宛先アドレス、クライアントの識別子、ウェブページまたはウェブページ要素(例えば、通信が生成されたときに訪問されているか、または別の方法で通信に関連付けられている、ウェブページまたはウェブページ要素)の識別子またはオンライン履歴データ、時間(例えば、時刻および/または日付)、および/または宛先アドレス等の、追加のデータを含み得る。他の情報も通信に含められ得る。いくつかの事例では、接続管理システム150は、通信全体を別のデバイスにルーティングする。いくつかの事例では、接続管理システム150は、通信を修正(modifies)するか、または(例えば、当初の通信に基づいて)新しい通信を生成する。新しいまたは修正された通信は、メッセージ(またはその処理されたバージョン)、(例えば、送信デバイス、ウェブページまたはオンライン履歴、および/または時間に関する)追加のデータのうちの少なくともいくつか(または全て)、および/または接続管理システム150によって識別された他のデータ(例えば、特定のアカウント識別子またはデバイスに関連付けられたアカウントデータ)を含み得る。新しいまたは修正された通信は、他の情報も含み得る。
【0018】
[0026]戦略的ルーティングを容易にすることの一部は、ネットワークデバイス105と1つまたは複数の端末デバイス115との間の1つまたは複数の接続チャネルを確立、更新、および使用することを含み得る。例えば、ネットワークデバイス105から通信を受信すると、接続管理システム150は、まず(もしあれば)どのクライアントに通信が対応するかを推定し得る。クライアントを識別すると、接続管理システム150は、ネットワークデバイス105との通信のためにクライアントに関連付けられた端末デバイス115を識別し得る。いくつかの事例では、識別は、複数のエージェント(または、エキスパートもしくは代行者(delegates))の各々のプロファイルを評価することを含み得、複数のエージェントのうちの各エージェント(例えば、エージェント120)は、端末デバイス(例えば、端末デバイス115)に関連付けられている。評価は、ネットワークデバイスメッセージにおけるコンテンツに関連し得る。
【0019】
[0027]いくつかの事例では、接続管理システム150は、ネットワークデバイス105と、クライアント(またはリモートサーバ140)に関連付けられた端末デバイスとの間に何らかの接続チャネルが確立されているかどうか、および確立されている場合には、その通信を含む一連の通信を交換するために、そのようなチャネルが使用されるべきかどうかを決定し得る。
【0020】
[0028]ネットワークデバイス105と通信する端末デバイス115を選択すると、接続管理システム150は、ネットワークデバイス105と端末デバイス115との間の接続チャネルを確立し得る。いくつかの事例では、接続管理システム150は、選択された端末デバイス115にメッセージを送信し得る。メッセージは、ネットワークデバイス105と通信するために、提案された割当ての受諾を要求し得るか、またはそのような割当てが生成されたことを識別し得る。メッセージは、ネットワークデバイス105に関する情報(例えば、IPアドレス、デバイスタイプ、および/またはオペレーティングシステム)、関連付けられたユーザ110に関する情報(例えば、使用言語(language spoken)、クライアントとインタラクトした持続時間、スキルレベル、センチメント、および/またはトピック選好)、受信された通信、ネットワークデバイス105への通信を生成および送信するためのコード(例えば、クリック可能なハイパーリンク)、および/またはネットワークデバイス105への通信を生成および送信するための命令を含み得る。
【0021】
[0029]一事例では、ネットワークデバイス105と端末デバイス115との間の通信は、接続管理システム150を通じてルーティングされ得る。このような構成は、接続管理システム150が、通信交換を監視することと、いずれかのデバイスの非応答性または延長されたレイテンシ等の(例えば、規則に基づいて定義されるような)問題を検出することとを可能にし得る。さらに、このような構成は、通信の選択的または完全な記憶を容易にし得、これは、後に、例えば、通信交換の品質を評価するために、および/または、特定の通信後ターゲット(post-communication targets)を促進するようにルーティング規則を更新または生成するための学習をサポートするために使用され得る。
【0022】
[0030]いくつかの実施形態では、接続管理システム150は、リアルタイムで通信交換を監視し、ライブ通信に基づいて自動化されたアクション(例えば、規則ベースのアクション)を実行し得る。例えば、接続管理システム150が、通信が特定のアイテム(例えば、製品)に関連すると決定すると、接続管理システム150は、アイテムに関する追加の情報(例えば、入手可能なアイテムの数量、アイテムに関連するサポート書類(support documents)へのリンク、またはアイテムもしくは類似のアイテムに関する他の情報)を含む追加のメッセージを端末デバイス115に自動的に送信し得る。
【0023】
[0031]一事例では、指定された端末デバイス115は、接続管理システム150を通じて通信を中継することなく、ネットワークデバイス105と通信し得る。デバイス105、115の一方または両方が、通信監視および/またはデータ記憶を容易にするために、特定の通信メトリックまたはコンテンツを接続管理システム150に報告してもよい(または報告しなくてもよい)。
【0024】
[0032]上述されたように、接続管理システム150は、選択通信をリモートサーバ140にルーティングし得る。リモートサーバ140は、所定の方法で情報を提供するように構成され得る。例えば、リモートサーバ140は、通信に応答して送信するために、定義された1つまたは複数のテキストパッセージ、音声記録(voice recording)、および/またはファイルにアクセスし得る。リモートサーバ140は、例えば、受信された通信の解析(例えば、セマンティックまたはマッピング解析)に基づいて、特定のテキストパッセージ、記録、またはファイルを選択し得る。
【0025】
[0033]接続管理システム150において実行されるルーティングおよび/または他の決定または処理は、1つまたは複数のクライアントデバイス130によって少なくとも部分的に定義されるかまたは提供されるデータおよび/または規則に基づいて実行され得る。例えば、クライアントデバイス130は、エージェントの優先順位付け、端末デバイスのタイプ、および/または、トピック/スキルマッチングを識別する通信を送信し得る。別の例として、クライアントデバイス130は、ルーティング決定に潜在的に影響を及ぼす様々な変数(例えば、言語互換性、予測応答時間、デバイスタイプおよび能力、ならびに/または端末デバイスの負荷バランシング)に適用するための1つまたは複数の重みを識別し得る。どの端末デバイスおよび/またはエージェントがクライアントに関連付けられるべきかは、動的であり得ることが理解されよう。クライアントデバイス130および/または端末デバイス115からの通信は、所与の端末デバイスおよび/またはエージェントがクライアントに関連付けられたものとして追加または削除されるべきであることを示す情報を提供し得る。例えば、クライアントデバイス130は、IPアドレスを有する通信と、そのアドレスを有する端末デバイスが、クライアント関連の端末デバイスを識別するリストに追加されるべきか、またはそのリストから削除されるべきかに関するインジケーションとを送信し得る。
【0026】
[0034]各通信(例えば、デバイス間、デバイスと接続管理システム150との間、リモートサーバ140と接続管理システム150との間、またはリモートサーバ140とデバイスとの間)は、1つまたは複数のネットワーク170上で行われ得る。オープンまたはクローズドネットワークの任意の組合せが、1つまたは複数のネットワーク170に含まれ得る。好適なネットワークの例は、インターネット、パーソナルエリアネットワーク、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、またはワイヤレスローカルエリアネットワーク(WLAN)を含む。他のネットワークも同様に好適であり得る。1つまたは複数のネットワーク170は、イントラネット、エクストラネット、またはそれらの組合せ内に完全に組み込まれ得るか、またはそれらを含み得る。いくつかの事例では、1つまたは複数のネットワーク170におけるネットワークは、Bluetooth(登録商標)またはBluetooth Low Energyチャネル等の、短距離通信チャネルを含む。一実施形態では、2つ以上のシステムおよび/またはデバイス間の通信は、セキュアソケットレイヤ(SSL)またはトランスポートレイヤセキュリティ(TLS)等の、セキュア通信プロトコルによって達成され得る。加えて、データおよび/またはトランザクションの詳細は、限定はしないが、データ暗号化標準(DES)、トリプルDES、Rivest-Shamir-Adleman暗号(RSA)、Blowfish暗号、Advanced Encryption Standard(AES)、CAST-128、CAST-256、無相関化高速暗号(DFC:Decorrelated Fast Cipher)、Tiny Encryption Algorithm(TEA)、eXtended TEA(XTEA)、Corrected Block TEA(XXTEA)、および/またはRC5等のような、任意の便利な、既知の、または開発される方法に基づいて、暗号化され得る。
【0027】
[0035]ネットワークデバイス105、端末デバイス115、および/またはクライアントデバイス130は、例えば、ポータブル電子デバイス(例えば、スマートフォン、タブレット、ラップトップコンピュータ、またはスマートウェアラブルデバイス)、または非ポータブル電子デバイス(例えば、1つまたは複数のデスクトップコンピュータ、スマート家電、サーバ、および/またはプロセッサ)を含み得る。接続管理システム150は、ネットワークデバイス、端末デバイス、およびクライアントデバイスとは別個に収容され得るか、または(例えば、デバイス上のアプリケーションのインストールを介して)1つまたは複数のそのようなデバイスの一部であり得る。リモートサーバ140は、各デバイスおよび接続管理システム150とは別個に収容され得、および/または、別のデバイスまたはシステムの一部であり得る。
図1における各デバイス、サーバ、およびシステムが単一のデバイスとして示されている一方で、複数のデバイスが代わりに使用され得ることが理解されよう。例えば、ネットワークデバイスのセットが、単一のユーザから様々な通信を送信するために使用され得、またはリモートサーバ140は、サーバスタックを含み得る。
【0028】
[0036]ソフトウェアエージェントまたはアプリケーションは、図示されたデバイス、システム、またはサーバ上にインストールされ得、および/またはその上で実行可能であり得る。一事例では、ソフトウェアエージェントまたはアプリケーションは、様々な図示された要素が相補的な形で動作し得るように構成される。例えば、デバイス上のソフトウェアエージェントは、デバイス使用に関するデータを収集し、別個の接続管理システムに送信するように構成され得、別個の接続管理システム上のソフトウェアアプリケーションが、データを受信および処理するように構成され得る。
【0029】
[0037]
図2は、ネットワークインタラクションシステムの別の実施形態のブロック図を示す。一般に、
図2は、ネットワークデバイス205が、ルータ207および広域ネットワーク270等のネットワーク接続を介して、1つまたは複数の端末デバイス215と通信することを可能にするように構成および配置された様々なコンポーネントを例示する。図示された事例は、3つのローカルエリアネットワーク235に含まれる9個の端末デバイス215を含む。
【0030】
[0038]いくつかの事例では、ネットワークデバイス205からの通信は、どの端末デバイスが通信を受信すべきかを少なくとも部分的にまたは完全に示す宛先データ(例えば、宛先IPアドレス)を含む。
図2で説明されたシステム等のネットワークインタラクションシステムは、宛先データを処理し、適切なルーティングを容易にし得る、1つまたは複数のインターネットワーク接続コンポーネント245を含み得る。
【0031】
[0039]各インターネットワーク接続コンポーネント245は、複数のネットワーク235に接続され得、複数のネットワークカードをインストールされ得る(例えば、各カードは異なるネットワークに接続される)。例えば、インターネットワーク接続コンポーネント245は、広域ネットワーク270(例えば、インターネット)および1つまたは複数のローカルエリアネットワーク235に接続され得る。図示された事例では、通信がネットワークデバイス205から端末デバイスのいずれかに送信されるためには、図示されたシステムでは、通信は、複数のインターネットワーク接続コンポーネント245によって処理される。同様に、ルータ233を介したクライアントデバイス230との通信も、インターネットワーク接続コンポーネント245によって処理される。
【0032】
[0040]インターネットワーク接続コンポーネント245が通信(または通信に対応するパケットのセット)を受信すると、インターネットワーク接続コンポーネント245は、この通信を宛先に関連付けられたネットワークに渡すルートの少なくとも一部を決定し得る。ルートは、例えば、(例えば、ルータにおいて記憶された)ルーティングテーブルを使用して決定され得、これは、事前に定義されたか、(例えば、別のルータからまたは別のデバイスからの)着信メッセージ(incoming message)に基づいて生成されたか、または学習された1つまたは複数のルートを含み得る。
【0033】
[0041]インターネットワーク接続コンポーネント245の例は、ルータ260およびゲートウェイ265を含む。インターネットワーク接続コンポーネント245(例えば、ゲートウェイ265)は、ネットワークシステムまたはプロトコル間で変換するように構成され得る。例えば、ゲートウェイ265は、伝送制御プロトコル/インターネットプロトコル(TCP/IP)デバイスと、インターネットワークパケット交換/シーケンスパケット交換(IPX/SPX)デバイスとの間の通信を容易にし得る。
【0034】
[0042]ローカルエリアネットワーク235において通信を受信すると、さらなるルーティングが依然として実行され得る。このようなイントラネットワークルーティングは、スイッチ280またはハブ285等の、イントラネットワーク接続コンポーネント245を介して実行され得る。各イントラネットワーク接続コンポーネント245は、(例えば、無線で、またはイーサネット(登録商標)ケーブル等を介して有線で)複数の端末デバイス215に接続され得る。ハブ285は、それが接続されている各デバイスに対して、全ての受信された通信を繰り返すように構成され得る。次いで、各端末デバイスは、端末デバイスが宛先デバイスであるかどうか、または通信が無視されるべきであるかどうかを決定するために、各通信を評価し得る。スイッチ280は、通信を宛先端末デバイスのみに選択的に誘導するように構成され得る。
【0035】
[0043]いくつかの事例では、ローカルエリアネットワーク235は、複数のセグメントに分割され得、その各々が、独立したファイアウォール、セキュリティ規則、およびネットワークプロトコルに関連付けられ得る。イントラネットワーク接続コンポーネント245は、イントラセグメントルーティングを容易にするために、1つ、複数、または全てのセグメントの各々に提供され得る。ブリッジ290は、複数のセグメント275にわたって通信をルーティングするように構成され得る。
【0036】
[0044]ネットワークにわたって、またはネットワーク内で通信を適切にルーティングするために、様々なコンポーネントが通信における宛先データを分析する。例えば、そのようなデータは、通信がどのネットワークにルーティングされるべきか、通信がネットワーク内のどのデバイスにルーティングされるべきか、または端末デバイスがどの通信を処理すべきか(または無視すべきか)を示し得る。しかしながら、いくつかの事例では、ネットワークデバイスからの通信に、どの端末デバイスが参加すべきか(またはどのネットワークが加わるべきかさえも)は直ぐには分からない。
【0037】
[0045]例として、端末デバイスのセットが、同様のタイプの応答通信を提供するように構成され得る。したがって、ネットワークデバイスからの通信におけるクエリは、どのネットワークデバイスに通信がルーティングされるかにかかわらず、同様の方法で応答され得ることが予期され得る。この仮定は、高いレベルで当てはまり得るが、端末デバイスに関係する様々な詳細は、他のものと比較して特定のルーティングが有利になることをもたらし得る。例えば、セット内の端末デバイスは、(例えば)どの通信チャネルがサポートされているか、ネットワークデバイスへの地理的近接性および/またはネットワーク近接性、および/または、関連付けられたエージェントの特性(例えば、知識ベース、経験、使用言語、可用性、一般的な性格またはセンチメント等)に関して互いに異なり得る。したがって、選択ルーティングは、ネットワークデバイス通信により正確におよび/または完全に応答する、より高速な応答を容易にし得る。1つの問題点は、ネットワークデバイスを端末デバイスにマッピングする静的ルーティングが、通信のトピック、チャネルタイプ、エージェントの可用性等におけるバリエーションを考慮できない場合があることである。
【0038】
[0046]
図2では、接続管理システム250は、中継器および/または宛先アドレスとして機能するように構成され得る。したがって、例えば、ネットワークデバイス205のセットは、各々が接続管理システム250を宛先として識別する通信を送信し得る。接続管理システム250は、各通信を受信し得、端末デバイスのセットを(例えば、各端末デバイスについてのメトリックを生成するために)同時並行に監視し得る。監視および規則に基づいて、接続管理システム250は、それが各通信を中継し得る端末デバイス215を識別し得る。実施形態に応じて、端末デバイスの通信は、同様に、さらなる中継のために(例えば、接続管理システム250の)一定の宛先に誘導され得るか、または端末デバイスは、対応するネットワークデバイスと直接通信を開始し得る。これらの実施形態は、効率的なルーティングおよび徹底した通信の監視を容易にし得る。
【0039】
[0047]
図2の多くのバリエーションが企図されることが理解されよう。例えば、接続管理システム250は、接続管理システム250(またはその一部)に対応するアプリケーションが、コンポーネントにインストールされるように、接続コンポーネント(例えば、インターネットワーク接続コンポーネント245またはイントラネットワーク接続コンポーネント245)に関連付けられ得る。アプリケーションは、例えば、独立に、または(例えば、1つまたは複数の他のコンポーネント、ネットワークデバイス、またはリモートサーバ上で実行中の)1つまたは複数の同様のまたは相補的なアプリケーションと通信することによって、実行し得る。
【0040】
[0048]
図3は、接続コンポーネントの動作のプロトコルスタックマッピングを表したものを示す。より具体的には、
図3は、様々な接続コンポーネントに対応する開放型システムインタラクション(OSI:Open Systems Interaction)モデルにおける動作の層を識別する。
【0041】
[0049]OSIモデルは、複数の論理層302~314を含み得る。これらの層は、層302~312がそれぞれ上位レベルをサービスし、層304~314がそれぞれ下位層によってサービスされるように、順序付けられたスタックで配置されている。OSIモデルは、物理層302を含む。物理層302は、パラメータの物理的通信(例えば、電気的、光学的、または電磁的)を定義し得る。物理層302はまた、接続を確立および閉じるためのプロトコル等の接続管理プロトコルを定義する。物理層302は、フロー制御プロトコルおよび送信モードをさらに定義し得る。
【0042】
[0050]リンク層304は、ノード間通信を管理し得る。リンク層304は、エラー(例えば、物理層302における送信エラー)を検出および訂正し、アクセス許可を管理し得る。リンク層304は、媒体アクセス制御(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アドレス)に基づいて通信フレームをフィルタリングすることが可能であるので、リンク層で動作し得る。
【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を介して)電話によるメッセージ通信またはテキストメッセージ通信を送信し得る。通信は、クライアントロケーション423または端末ロケーション443にルーティングされ得る。接続管理システム430は、通信を受信し、どのクライアントデバイスまたは端末デバイスが通信に応答すべきかを識別する。このような決定は、(例えば、コンテンツ分析またはクライアントを示すユーザ入力に基づいて)その通信が関係するクライアントを識別することと、クライアントに関連付けられた1つまたは複数の端末デバイスの各々について1つまたは複数のメトリックを決定することとに依存し得る。例えば、
図4では、端末デバイス440A、440B、および440Cの各クラスタが、異なるクライアントに、または特定のクライアントのための異なるノード(例えば、異なるトピック、応答タイプに焦点を合わせたノード、または特定のルーティング経路もしくはルーティング経路の一部に関連付けられたノード)に対応し得る。端末デバイスは、地理的に同じ場所に配置され得るか、または分散され得る。メトリックは、記憶または学習されたデータおよび/またはリアルタイムの監視に基づいて(例えば、可用性に基づいて)決定され得る。
【0051】
[0059]接続管理システム430は、1つまたは複数のルータ435、または他のインターネットワークもしくはイントラネットワーク接続コンポーネントを介して、様々な端末デバイスおよびクライアントデバイスならび他のコンポーネントと通信し得る。接続管理システム430は、1つまたは複数のデータストアにおいて、通信、端末デバイスの動作、クライアント規則、および/またはユーザ関連のアクション(例えば、オンラインアクティビティ)からの、またはそれらに関係するデータを収集、分析、および/または記憶し得る。このようなデータは、通信ルーティングに影響を及ぼし得る。
【0052】
[0060]例えば、機械学習モデルは、将来のルーティングの選択を改善するために、前の動作からのルーティングの結果および以前のデータを使用し得る。これは、構築されたデータセットおよび履歴データを用いた教師あり学習と、システム内の現在のルーティング経路のための予測または射影モデルに基づく教師なし学習と、システム使用ターゲットとの任意の組合せを用いて行われ得る。任意のこのようなデータが、自然言語データを生成するために、または機械学習モデルを更新するために、自然言語処理(例えば、自然言語理解、自然言語推論等)のための動作において使用され得る。次いで、このようなデータは、動的メッセージ処理を改善するために(例えば、改善されたインテントインジケータデータ結果または応答メッセージ生成)、クライアントシステムによって使用され得るか、またはネットワークデバイス上もしくはサーバ上で実行中のアプリケーションと共有され得る。
【0053】
[0061]クライアントデバイス415はまた、クライアントロケーションに関連付けられた電話デバイス425に接続され得る。電話デバイス425は、いくつかの実施形態では、電話番号に関連付けられた固定電話であり得る。ネットワークデバイス405は、電話デバイス425に関連付けられた電話番号へのテキスト(例えば、SMS)メッセージを生成および送信する能力を有し得、これは、いくつかの実施形態では、クライアントデバイス415にルーティングされ得る。クライアントデバイス415は、テキストメッセージを受信および処理することが可能であり得る。ネットワークデバイス405から受信されたテキストメッセージを処理するために、クライアントデバイス415は、サーバ420に結合され得る。サーバ420は、製品情報、アポイントメントスケジュール、営業時間、ロケーション情報、連絡先情報、および同様のもの等の、クライアントロケーション423において提供される商品またはサービスに関する情報についてのクライアントデバイス415からの問い合わせを受信し、それに応答し得る。
【0054】
[0062]
図5は、接続管理システムの一実施形態のブロック図を示す。メッセージ受信機インターフェース505が、メッセージを受信し得る。いくつかの事例では、メッセージは、例えば、ネットワークデバイス等の、(例えば、接続管理システムとは別個に収容されるか、または同じハウジング内に収容される)ソースデバイスによって送信される通信の一部として受信され得る。いくつかの事例では、通信は、一連の通信または通信交換の一部であり得、これは、2つのデバイス(例えば、ネットワークデバイスおよびクライアントデバイス)間でルーティングされている一連のメッセージまたはメッセージ交換を含み得る。このメッセージまたは通信交換は、デバイス間のインタラクションの一部であり得、および/またはそれを定義し得る。通信チャネルまたは動作チャネルは、デバイス間のルーティングおよび通信交換を容易にするために使用される1つまたは複数のプロトコル(例えば、ルーティングプロトコル、タスク割当てプロトコル、および/またはアドレス指定プロトコル)を含み得る。
【0055】
[0063]いくつかの事例では、メッセージは、ロカールまたはリモートユーザインターフェースにおいて受信された入力に基づいて生成されたメッセージを含み得る。例えば、メッセージは、ボタンもしくはキーの押下または記録された音声信号に基づいて生成されたメッセージを含み得る。一事例では、メッセージは、ネットワークデバイスが特定の入力コマンド(例えば、キー順)を提供したことを検出した際に生成されるもの等の、自動的に生成されたメッセージを含む。メッセージは、通信交換を開始するためのもの等の、命令または要求を含み得る。
【0056】
[0064]いくつかの事例では、メッセージは、クライアントの識別子を含み得るか、またはそれに関連付けられ得る。例えば、メッセージは、クライアント(またはクライアントに関連付けられたデバイス)を明示的に識別し得、メッセージは、クライアントに関連付けられたウェブページまたはアプリを含み得るか、またはそれに関連付けられ得、メッセージは、クライアントに関連付けられた宛先アドレスを含み得るか、またはそれに関連付けられ得、あるいは、メッセージは、クライアントに関連付けられたアイテム(例えば、製品)またはサービスの識別を含み得るか、またはそれに関連付けられ得る。例として、ネットワークデバイスは、特定のクライアントのアプリページを提示し得、これは、エージェントに通信を送信するためのオプションを提供し得る。メッセージに対応するユーザ入力を受信すると、メッセージおよび特定のクライアントの識別子(例えば、ある電話番号へのテキストメッセージ)を含むように、通信が生成され得る。
【0057】
[0065]処理エンジン510が、受信された通信および/またはメッセージを処理し得る。処理は、例えば、1つまたは複数の特定のデータ要素(例えば、メッセージ、クライアント識別子、ネットワークデバイス識別子、アカウント識別子等)を抽出することを含み得る。処理は、(例えば、特定のデバイスタイプ、オペレーティングシステム、通信チャネルタイプ、プロトコルおよび/またはネットワークと互換性があるように)フォーマットまたは通信タイプを変換することを含み得る。
【0058】
[0066]メッセージ評価エンジン515が、(例えば、抽出または受信された)メッセージを評価し得る。評価は、例えば、メッセージについての1つまたは複数のカテゴリまたはタグを識別することを含み得る。カテゴリまたはタグの例は、(例えば)トピック、センチメント、複雑さ、および緊急性を含み得る。メッセージをカテゴリ分類することと、タグ付けすることとの間の違いは、カテゴリが(例えば、カテゴリオプションの所定のセットに従って)限定され得る一方で、タグは自由(open)であり得ることである。トピックは、例えば、技術的問題、使用の質問(a use question)、または要求を含み得る。カテゴリまたはタグは、例えば、(例えば、キーワード、文構造、繰り返された単語、句読文字および/または冠詞でない単語を識別することによる)メッセージのセマンティック解析、(例えば、選択された1つまたは複数のカテゴリを有する)ユーザ入力、および/またはメッセージ関連の統計値(例えば、タイピング速度および/または応答レイテンシ)に基づいて決定され得る。
【0059】
[0067]いくつかの事例では、メッセージ評価エンジン515は、メッセージについてのメトリックを決定し得る。メトリックは、例えば、文字数、単語数、大文字数、全て大文字の単語数、または特定の文字もしくは句読点(例えば、感嘆符、疑問符、および/またはピリオド)のインスタンスの数を含み得る。メトリックは、感嘆符(または疑問符)で終わる文の割合、全て大文字の単語の割合等の比率を含み得る。
【0060】
[0068]メッセージ評価エンジン515は、メッセージ、メッセージメトリック、および/またはメッセージ統計値をメッセージデータストア520に記憶し得る。各メッセージはまた、対応するソースデバイス、宛先デバイス、ネットワークデバイス、端末デバイス、クライアント、1つまたは複数のカテゴリ、1つまたは複数のステージ、および/またはメッセージ関連の統計値を識別するデータ等の、他のデータ(例えば、メタデータ)に関連して記憶され得る。接続管理システムの様々なコンポーネント(例えば、メッセージ評価エンジン515および/またはインタラクション管理エンジン525)は、クエリ応答メッセージ、メッセージメトリック、および/またはメッセージ統計値を検索する(retrieve)ために、メッセージデータストア520をクエリし得る。
【0061】
[0069]インタラクション管理エンジン525は、どのデバイスに通信がルーティングされるべきか、ならびに受信デバイスおよび送信デバイスがどのように通信すべきかを決定し得る。これらの決定の各々は、例えば、特定のネットワークデバイス(または特定のユーザに関連付けられた任意のネットワークデバイス)が、クライアントデバイスまたは端末デバイスのセットにおける端末デバイス(例えば、接続管理システムに関連付けられた任意の端末デバイス、または1つまたは複数の特定のクライアントに関連付けられた任意の端末デバイス)と以前に通信しことがあるかどうかに依存し得る。
【0062】
[0070]いくつかの事例では、ネットワークデバイス(または、同じユーザもしくはプロファイルに関連付けられた他のネットワークデバイス)が、所与の端末デバイスと以前に通信したことがあるとき、通信ルーティングは、一般に、同じ端末デバイスに向かってバイアスされ得る。ルーティングに影響を及ぼし得る他の要因は、例えば、端末デバイス(または対応するエージェント)が利用可能であるかどうか、および/または端末デバイスの予測応答レイテンシを含み得る。このような要因は、絶対的に、または他の端末デバイスに対応する同様のメトリックに対して相対的に考慮され得る。再ルーティング規則(例えば、クライアント固有の規則または一般的規則)が、エージェント一貫性を断念する(forego)かどうかを決定するために、そのような要因がどのように評価され、重み付けされるべきかを示し得る。
【0063】
[0071]ネットワークデバイス(または同じユーザもしくはアカウントに関連付けられた他のネットワークデバイス)が所与の端末デバイスと以前に通信したことがないとき、端末デバイスの選択は、例えば、様々なエージェントの知識ベースが通信のトピックに対応する程度、所与の時間でのおよび/またはチャネルタイプ上での様々なエージェントの可用性、(例えば、クライアントに関連付けられた)端末デバイスのタイプおよび/または能力等の要因に基づいて実行され得る。一事例では、規則は、これらのような1つまたは複数の要因に対するサブパラメータと、各パラメータに割り当てるべき重みとをどのように決定するかを識別し得る。重み付けされたサブパラメータを組み合わせる(例えば、合計する)ことによって、各エージェントについてのパラメータが決定され得る。次いで、端末デバイスの選択が、端末デバイスのパラメータを比較することによって行われ得る。
【0064】
[0072]デバイスがどのように通信すべきか決定することに関して、インタラクション管理エンジン525は、(例えば)クライアントデバイスまたは端末デバイスが、(例えば)SMSメッセージ、音声通話、ビデオ通信等を介して通信に応答すべきかどうかを決定し得る。通信タイプは、例えば、(例えば、クライアントまたはユーザによって少なくとも部分的に定義される)通信タイプ優先順位リスト、(例えば、一貫性を促進するように)ネットワークデバイスから以前に受信された通信のタイプ、受信されたメッセージの複雑さ、ネットワークデバイスの能力、および/または、1つまたは複数の端末デバイスの可用性に基づいて選択され得る。明らかに、いくつかの通信タイプは、(例えば、高速メッセージ応答が予期される)リアルタイム通信をもたらすことになる一方で、その他は、(例えば、メッセージ間の(例えば、数分または数時間の)遅延が許容可能である)非同期通信をもたらし得る。
【0065】
[0073]さらに、インタラクション管理エンジン525は、2つのデバイス間の連続チャネルが確立、使用、または終了されるべきかどうかを決定し得る。連続チャネルは、ネットワークデバイスから指定された端末デバイスまたはクライアントへの将来の通信のルーティングを容易にするように構造化され得る。このバイアスは、メッセージ系列(message series)にわたってさえも持続し得る。いくつかの事例では、(例えば、エージェントを識別する)連続チャネルの表現が、ネットワークデバイス上で提示されるべき提示に含まれ得る。このようにして、ユーザは、効率を高めるために通信が一貫してルーティングされるべきであることを理解し得る。
【0066】
[0074]一事例では、パラメータが、所与のネットワークデバイスおよび端末デバイスに対応する接続パラメータを決定するために、本明細書で説明される1つまたは複数の要因と、(例えば、1つまたは複数の要因の各々についての重みを含む)規則とを使用して生成され得る。パラメータは、全体的な一致または所与の通信もしくは通信系列に固有の一致に関係し得る。したがって、例えば、パラメータは、所与の端末デバイスがネットワークデバイス通信に応答するのに適していると予測される程度を反映し得る。いくつかの事例では、パラメータ分析が、所与の通信をそれにルーティングするための端末デバイスの各々を識別するために、および接続チャネルを確立、使用、または終了するかどうかを識別するために使用され得る。パラメータ分析がルーティング決定とチャネル決定との両方に対処するために使用されるとき、各決定に関連するパラメータは、同じ、同様の、または異なる方式で決定され得る。
【0067】
[0075]したがって、例えば、パラメータが、長期一致(long-term match)の強度を予測するためのものであるか、特定のメッセージクエリに応答するためのものであるかに応じて、異なる要因が考慮され得ることが理解されよう。例えば、前者の場合には、全体的なスケジュールおよび時間帯の考慮が重要であり得、一方、後者の場合には、即時の可用性がより高く重み付けされ得る。1つのパラメータが、単一のネットワークデバイス/端末デバイスの組合せに対して決定され得、または所与のネットワークデバイスと異なる端末デバイスとの間の一致をそれぞれ特徴付けている複数のパラメータが決定され得る。
【0068】
[0076]例として、クライアントに関連付けられた3つの端末デバイスのセットが、潜在的な通信ルーティングについて評価され得る。特定の通信に関する一致に関連する各々についてのパラメータが生成され得る。最初の2つの端末デバイスの各々は、通信を送信したネットワークデバイスと以前に通信したことがあり得る。ネットワークデバイスからの入力は、第1のデバイスとの(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の端末デバイスにメッセージがルーティングされるべきであることを示し得る。特定の端末デバイスへのルーティングが失敗した場合、そのメッセージは、次に高いパラメータを有するデバイスにルーティングされ得、以下同様である。
【0069】
[0077]パラメータは、1つまたは複数の絶対閾値または相対閾値と比較され得る。例えば、通信がルーティングされ得る端末デバイスを選択するために、端末デバイスのセットについてのパラメータが、高いパラメータを識別するために互いに比較され得る。別の例として、パラメータ(例えば、高いパラメータ)が、端末デバイスとの連続チャネルを確立するかどうかを決定するために、1つまたは複数の絶対閾値と比較され得る。いくつかの実施形態では、連続チャネルを確立するための全体的な閾値は、所与の一連のメッセージにおいて通信を一貫してルーティングするための閾値よりも高い。いくつかの実施形態では、全体的な閾値と、通信を一貫してルーティングするかどうかを決定するための閾値との間のこの差は、チャネルの拡張された有用性を仮定すると(given)、連続チャネルのコンテキストでは、強い一致が重要であるからであり得る。いくつかの他の実施形態では、連続チャネルを使用することについての全体的な閾値は、連続チャネルを確立するための閾値、および/または所与の一連のメッセージにおいて通信を一貫してルーティングするための閾値よりも低くなる。
【0070】
[0078]インタラクション管理エンジン525は、様々なコンテキストにおいて、アカウントエンジン530とインタラクトし得る。例えば、アカウントエンジン530は、デバイスに対応するアカウントを識別するために、アカウントデータストア535内のネットワークデバイスまたは端末デバイスの識別子をルックアップし得る。さらに、アカウントエンジン530は、以前の通信交換に関するデータ(例えば、回数(times)、(1つまたは複数の)関与した他のデバイス、チャネルタイプ、解決段階、(1つまたは複数の)トピックおよび/または関連付けられたクライアント識別子)、接続チャネルに関するデータ(例えば、1つまたは複数のクライアントの各々について、何らかのチャネルが存在するかどうか、各チャネルに関連付けられた端末デバイス、確立時間、使用頻度、最終使用日付、任意のチャネル制約および/またはサポートされる通信のタイプを示す)、ユーザまたはエージェントの選好または制約に関するデータ(例えば、端末デバイスの選択、応答レイテンシ、端末デバイスの一貫性、エージェントの専門知識、および/または通信タイプの選好もしくは制約に関連する)、および/または、ユーザまたはエージェントの特性に関するデータ(例えば、年齢、(1つまたは複数の)使用言語または選好の言語、地理的位置、関心等)を維持し得る。
【0071】
[0079]さらに、インタラクション管理エンジン525は、アカウントデータストア535が現在のチャネルデータを反映するように更新され得るように、アカウントエンジン530に様々な接続チャネルアクションを知らせ(alert)得る。例えば、チャネルを確立すると、インタラクション管理エンジン525は、アカウントエンジン530に確立を通知し、ネットワークデバイス、端末デバイス、アカウント、およびクライアントのうちの1つまたは複数を識別し得る。その後、アカウントエンジン530は、(いくつかの事例では)利用されているエージェント一貫性をユーザが認識し得るように、チャネルの存在をユーザに通知し得る。
【0072】
[0080]インタラクション管理エンジン525は、クライアントマッピングエンジン540とさらにインタラクトし得、それは、通信を1つまたは複数のクライアント(および/または関連付けられたブランド)にマッピングし得る。いくつかの事例では、ネットワークデバイス自体から受信される通信が、クライアントに対応する識別子(例えば、クライアント、ウェブページ、またはアプリページの識別子)を含む。識別子は、(例えば、クライアントマッピングエンジン540が検出し得る)メッセージの一部として含まれ得るか、またはメッセージ包含通信(message-inclusive communication)における他のデータとして含まれ得る。次いで、クライアントマッピングエンジン540は、クライアントおよび/またはクライアントの識別子に関する追加のデータを検索するために、クライアントデータストア545内の識別子をルックアップし得る。
【0073】
[0081]いくつかの事例では、メッセージは、特にいずれのクライアントにも対応しない場合がある。例えば、メッセージは、一般的なクエリを含み得る。クライアントマッピングエンジン540は、例えば、メッセージに対してセマンティック解析を実行し、1つまたは複数のキーワードを識別し、(1つまたは複数の)キーワードに関連付けられた1つまたは複数のクライアントを識別し得る。いくつかの事例では、単一のクライアントが識別される。いくつかの事例では、複数のクライアントが識別される。次いで、各クライアントの識別が、ユーザが(例えば、関連付けられた端末デバイスを介して)通信すべきクライアントを選択し得るように、ネットワークデバイスを介して提示され得る。
【0074】
[0082]クライアントデータストア545は、クライアントに関連付けられた1つまたは複数の端末デバイス(および/またはエージェント)の識別を含み得る。端末ルーティングエンジン550が、ルーティング決定に影響を及ぼすために、1つ、複数、または全てのそのような端末デバイス(および/またはエージェント)の各々に関係するデータを検索または収集し得る。例えば、端末ルーティングエンジン550は、端末データストアを維持し得、これは、端末デバイスのデバイスタイプ、オペレーティングシステム、通信タイプの能力、インストールされたアプリケーションアクセサリ、地理的位置、および/または識別子(例えば、IPアドレス)等の情報を記憶し得る。一部の情報は、動的に更新され得る。例えば、端末デバイスが利用可能であるかどうかを示す情報は、(例えば)端末デバイスからの通信(例えば、デバイスがスリープ状態にあるか、オフ/オンにされているか、非アクティブ/アクティブ状態にあるかを識別し、または入力が時間期間内に受信されたかどうかを識別する)、通信ルーティング(例えば、端末デバイスが通信交換に関与しているかどうか、またはその一部であるように割り当てられているかどうかを示す)、または通信交換が終了または開始したことを示す、ネットワークデバイスまたは端末デバイスからの通信に基づいて、動的に更新され得る。
【0075】
[0083]様々なコンテキストでは、1つまたは複数の通信交換に従事していることは、必ずしも端末デバイスが別の通信交換に従事するのに利用可能でないことを示すとは限らないことが理解されよう。通信タイプ(例えば、メッセージ)、クライアントにより識別されたもしくはユーザにより識別された目標応答時間、および/または(例えば、一般的な、またはユーザに関する)システム負荷等の様々な要因が、端末デバイスがいくつの交換に関与し得るかに影響を及ぼし得る。
【0076】
[0084]インタラクション管理エンジン525が通信交換または接続チャネルに関与させるべき端末デバイスまたはクライアントデバイスを識別したとき、それは、端末ルーティングエンジン550に通知し得、端末ルーティングエンジン550は、端末データストア555から、宛先(例えば、IP)アドレス、デバイスタイプ、プロトコル等のような、端末デバイスに関する任意の関連データを検索し得る。次いで、処理エンジン510は、(いくつかの事例では)特定のフォーマットを有し、特定のプロトコルに準拠するように等、メッセージ包含通信を修正し得るか、または(メッセージを含む)新しい通信を生成し得る。いくつかの事例では、新しいまたは修正されたメッセージは、ネットワークデバイスに対応するアカウントデータ、メッセージクロニクル、および/またはクライアントデータ等の、追加のデータを含み得る。
【0077】
[0085]次いで、メッセージ送信機インターフェース560が、端末デバイスまたはクライアントデバイスに通信を送信し得る。送信は、例えば、別個のハウジングに収容されたデバイスへの有線または無線送信を含み得る。端末デバイスは、接続管理システムと同じまたは異なるネットワーク(例えば、ローカルエリアネットワーク)内の端末デバイスを含み得る。したがって、端末デバイスに通信を送信することは、インターネットワークまたはイントラネットワークの接続コンポーネントに通信を送信することを含み得る。
【0078】
[0086]
図6は、通信セッション中の動的かつ自動的なメッセージ処理のためのネットワーク環境のブロック図を示す。
図6に示されるように、ユーザ601は、クラウドネットワーク610を介してサーバ615に接続するために、ネットワークデバイス605を使用し得る。ネットワークデバイス605は、テキストメッセージの形態で通信を送信および受信することが可能である、モバイルデバイス等の任意の好適なデバイスであり得る。いくつかの実施形態では、ネットワークデバイス605は、電話をかけることがさらに可能であり得る。クラウドネットワーク610は、セルラネットワーク等の、テキストメッセージングをサポートするように構成された任意の好適なネットワークであり得る。
【0079】
[0087]サーバ615は、テキストメッセージを送受信することも可能な任意の好適なサーバの形態であり得る。代替として、サーバ615は、テキストメッセージを送受信することが可能な別のデバイスと通信状態にあり得る。いくつかの実施形態では、サーバ615は、接続管理システムを含み得るか、または接続管理システムであり得る。サーバ615は、宛先決定エンジン620と、データ集約エンジン625と、統合ユーザプロファイルデータベース630と、を含み得る。加えて、サーバ615は、複数のクライアントデバイス635A~Cと通信状態にあり得る。3つのクライアントデバイス635A~Cとして示されおよび説明されているが、サーバ615は、任意の数のクライアントデバイスと通信状態にあり得ることが企図される。
【0080】
[0088]宛先決定エンジン620は、プロセッサ(図示せず)とともに、クラウドネットワーク610を介してネットワークデバイス605からテキストメッセージを受信するように構成され得る。宛先決定エンジン620は、テキストメッセージをルーティングすべき、複数のクライアントデバイス635A~Cのうちの適切なクライアントデバイスを決定し得る。宛先決定エンジン620は、いくつかの実施形態では、テキストメッセージのコンテンツに基づいて、サーバ615がテキストメッセージについての適切な宛先であると決定し得る。いくつかの実施形態では、サーバ615は、省略され得、テキストメッセージは、ネットワークデバイス605と、クライアントデバイス635A~Cのうちの1つまたは複数との間で、直接ルーティングされ得る。宛先決定エンジン620は、クライアントデバイス635A~Cから通信を受信することと、通信をテキストメッセージとして再フォーマットすることと、テキストメッセージを適切なネットワークデバイス605にルーティングすることと、を行うようにさらに構成され得る。
【0081】
[0089]データ集約エンジン625は、プロセッサ(図示せず)とともに、クライアントデバイス635A~Cのうちの1つまたは複数から、ユーザ601またはネットワークデバイス605に関するデータを要求および/または検索するように構成され得る。データ集約エンジン625は、ネットワークデバイス605からのテキストメッセージに応答して、テキストメッセージのコンテンツに基づいて、クライアントデバイス635A、635B、および635Cからのデータを要求し得る。例えば、サーバ615は、ネットワークデバイス605から、「今晩午後7:00に2名分の予約席があるマクファーソンスクエア内の全てのレストランを私に送ってください」というテキストメッセージを受信し得る。データ集約エンジン625は、マクファーソンスクエア内のレストランに関連付けられたクライアントデバイス635Aおよび635Cに対して、それらが午後7:00に2名分の予約席があるかどうかに関するクエリを作り(formulate)得る。応答が受信されると、それらは、統合ユーザプロファイルデータベース630において、テキストメッセージと、ユーザ601および/またはネットワークデバイス605の識別子とに関連して記憶され得る。加えて、応答は、ネットワークデバイス605に戻るようにルーティングされ得る。
【0082】
[0090]
図7は、ネットワークデバイスと、クライアントデバイスと、接続管理システム(例えば、サーバまたは集約サーバ)との間で動的に切り替わるメッセージ環境のブロック図を示す。ユーザ700は、クライアント710にテキストメッセージを送るために、ネットワークデバイス705を使用し得る。テキストメッセージは、クライアント710に関連付けられた固定電話番号に送られ得る。いくつかの実施形態では、テキストメッセージは、ユーザ700が固定電話番号でクライアント710に電話をかけるためにネットワークデバイス705を使用した後に送られ得る。クライアント710は、任意の商品またはサービスのプロバイダであり得る。
【0083】
[0091]例えば、ユーザ700は、「アポイントメントを取ることはできますか?」というテキストメッセージ751をクライアント710に送信するために、ネットワークデバイス705を使用し得る。ネットワークデバイス705が会話を開始するように示されているが、代替として、クライアント710が会話を開始し得ることが企図される。例えば、ユーザ700は、クライアント710に関連付けられた固定電話に電話をかけるためにネットワークデバイス705を使用し得、クライアント710は、電話に応答する代わりに、テキストメッセージでネットワークデバイス705に応答し得る。
【0084】
[0092]これに応答して、クライアント710は、利用可能なアポイントメントがいつであるかを決定するために、そのスケジューリングシステムを探索し、「月曜日の午前10時または午後1時にアポイントメントが利用可能です」というテキストメッセージ752(例えば、複数のルーティング経路を含むメッセージ)を送り得る。ネットワークデバイス705は、テキストメッセージ753、例えば、「月曜日の午前10時」で応答し得る。クライアント710は、「月曜日の午前10時が確定しました」というテキストメッセージ754を送り得る。次いで、クライアント710は、そのスケジューリングシステムを更新し得る。
【0085】
[0093]一方、クライアント710は、接続管理システムのサーバ615または同様のサーバに、会話をハンドオフし得る。接続管理システム715は、複数のクライアント720と動作可能に通信状態にあり得、ユーザ700またはネットワークデバイス705に関するデータを検索し、集約し、記憶するように構成され得る。例えば、接続管理システム715は、「全てのアポイントメントを見ますか?」と尋ねるテキストメッセージ755を、ネットワークデバイス705に送り得る。ネットワークデバイス705は、テキストメッセージ756「はい」で応答し得る。接続管理システム715は、全ての利用可能なクライアント720との、ユーザ700の全てのアポイントメントを検索するために、クライアント720と通信し得る。接続管理システム715は、「こちらがあなたの全てのアポイントメントです」というテキストメッセージ757を送信し得る。テキストメッセージ757は、クライアント720からの集約されたデータの全てを含み得る。
【0086】
[0094]接続管理システム715(例えば、サーバまたは集約サーバ)がネットワークデバイス705を介してユーザ700とのその会話を開始することに関して示されおよび説明されているが、代替として、ユーザ700が接続管理システム715との会話を開始し得ることが企図される。加えて、ネットワークデバイス705とクライアント710との間の直接接続として示されおよび説明されているが、接続管理システム715が、ネットワークデバイス705とクライアント710との間を同様にインターフェースし得ることが企図される。
【0087】
[0095]接続管理システム715は、いくつかの実施形態では、インテントインジケータデータまたはインテントデータのためにクライアントデバイスからのメッセージを処理し得る。これは、クライアントデバイスからコンテンツ管理システム715へのメッセージに関連付けられたインテント値を選択するための自然言語処理を含み得る。例えば、クライアントデバイスが、メッセージ753の後、かつメッセージ755を受信する前に、コンテンツ管理システム715に対して「アポイントメント」というテキストを送った場合、この単語は、接続管理システム715における機械学習モデルを使用して、インテントインジケータデータとしてコンテンツ管理システム715によって処理され得る。コンテンツ管理システムは、クライアント710からのメッセージング履歴とともにインテントインジケータデータを使用して、複数の可能なインテント値からインテント値を選択するために、テキスト「アポイントメント」を処理し得る。このようなインテント値は、全てのアポイントメントを見る、アポイントメントをキャンセルする、アポイントメントを再スケジュールするためのオプション、または他のそのような値を含み得る。機械学習モデルを使用すると、テキスト「アポイントメント」は、インテント値に関連付けられた応答を選択するために処理され得る。このケースでは、接続管理システム715の機械学習モデルは、全てのアポイントメントを見ることのインテント値に関連付けられた応答メッセージを受信することが、インテントインジケータデータ「アポイントメント」に最も密接に対応すると決定し、メッセージ755「全てのアポイントメントを見ますか?」で応答する。対照的に、ネットワークデバイス705から接続管理システム715への新しいメッセージ「新しいアポイントメント」、「cx apptmt」、「apt?」、「nxt apt」、「apt時間?」、または「cng apt時間?」は、それぞれ、接続管理システム715が、メッセージから識別されたインテントインジケータデータから決定される異なるインテント値に基づいて、異なる応答を提供することをもたらし得る。
【0088】
[0096]いくつかのこのような例では、接続管理システムは、クライアントデバイスに関連付けられたアカウントまたはクライアントデバイスとの以前の通信からの情報にアクセスし得るか、またはそれを記憶し得る。これは、クライアントデバイスに提供されるルーティング経路に関する情報と、クライアントにおいてネットワークデバイスから受信されるルーティング経路の選択とを含み得る。この情報は、接続管理システム715において、クライアント710、クライアント720から、または直接ネットワークデバイス705から受信され得る。次いで、接続管理システム715は、新しいメッセージがインテントインジケータデータを含んでいる状態で、ネットワークデバイス705から新しいメッセージを受信する。インテントインジケータデータは、自然言語テキストまたは音声情報であり得る。インテントインジケータデータはまた、新しいメッセージの一部として受信されるメタデータであり得る。いくつかの実施形態では、インテントインジケータデータまたはインテントインジケータデータの複数の要素は、このようなデータの組合せを含み得る。次いで、接続管理システム715は、1つまたは複数の機械学習モデルを使用して、(1つまたは複数の)インテントインジケータデータを処理し、機械学習モデルを使用して応答を生成する。上記で説明されたように、これは、インテントインジケータデータと、ネットワークデバイス705のユーザのインテントを推論するために接続管理システムに利用可能なその他任意のデータとに基づく1つまたは複数のルーティング経路を含む応答であり得る。次いで、応答が、インテントインジケータデータおよび以前のデータ(例えば、ネットワークデバイス705とクライアント710との間の通信からのルーティング経路の以前の選択)に基づいて、接続管理システム715または接続管理システム715によって管理されるクライアント720によって生成される。応答は、接続管理システム715を使用してネットワークデバイス705に通信され、ネットワークデバイス705上での応答データの表示を容易にするための情報およびデータを含んでいる。
【0089】
[0097]接続管理システムは、ユーザアカウントに関連付けられたインテントを更新するためにインテントインジケータデータを使用するインテント処理システムを含み得る。インテントデータは、本明細書で説明されるように、通信セッション、履歴データ、ユーザプロファイルデータ、または任意のそのようなソースを介して収集され得る。一例は、メインアカウントと、開設されかつ顧客に関連付けられた新しいフレックスアカウントとの間で金銭を移動させる試みを示す、顧客からの自然言語テキストを含み得る。インテント処理システムは、顧客が対処されることを希望している問題を決定するために、このインテントインジケータデータを評価し得る。この特定の事例では、顧客は、1つのオンラインアカウントから別のアカウントに資金を移動するのにトラブルが生じている可能性がある。提供されたインテントインジケータデータに基づいて、インテント処理システムは、インテントインジケータデータに応答して、どのクライアントノードおよび関連するアクションまたは情報を取るべきかを決定するために使用されるインテント値または他のアクション値を更新するために、他のコンテキストデータとともにインテントインジケータデータを収集し得る。これは、要求または問題が共有されるコンテキストに関連付けられたインテントまたはアクション値、緊急性のレベル、顧客のストレスまたは不安レベル、時間的制約があるかどうか等を含み得る。さらに、インテント処理システムは、選択されたインテント値に基づいて、顧客が何を解決したいかを識別し得る。
【0090】
[0098]一例では、識別されたインテント値に基づいて、接続管理システムのインテント処理システムが、識別されたインテント値に関連付けられた顧客によって提供される問題または要求を解決するために、選択されたプロセスを識別する。例えば、顧客からのインテントインジケータデータに基づいて、インテント処理システムは、顧客がアカウントに資金を振り込み得る前に、それらが認可(authorized)されなければならないと決定し得る。さらに、インテント処理システムは、アカウントの認可がオンラインで実行され得ると決定し得る。識別されたプロセスに基づいて、インテント処理システムは、インテントを解決するだけでなく、ポジティブな顧客体験をもたらすような方法でそれを行う、顧客インテントに応答するための戦略を開発し得る。これは、顧客をクライアント顧客サービスノードに誘導すること、またはそのようなノードとの接続チャネルを確立するのを支援することを含み得る。インテントシステムは、応答の基礎、応答の所望の結果、および/または応答に風味付けするための任意のポジティブな追加(positive additions)を開発することを含み得る機械学習プロセスを含み得る。提案された応答のコンテンツは、機械学習システムの一部として、エージェントとの過去の顧客インタラクションの分析を介して顧客プロファイルにおいて識別されているような顧客選好に基づいて生成され得る。インテント処理システムは、追加の選択および提案された応答戦略の承認のために、顧客に提供されることになるルーティング経路についての提案された応答戦略を使用し得る。これは、既存の通信チャネルの一部であり得るか、または、インテント処理システムは、ユーザと通信し、ユーザから戦略の承認を受けること(receiving)を目的として、新しいチャネルを確立し得る。戦略が承認された場合、接続管理システムは、適切なクライアントノードへの新しいチャネルを支援し得る。戦略が拒否された場合、ユーザ通信をヘルプデスクまたはヘルプルーティング経路にルーティングする等の、新しい戦略またはデフォルトフォールバック戦略が実行され得る。いくつかのシステムでは、任意のこのような応答は、機械学習アルゴリズムによって選択されたルーティングデータを提供するために、特定のインテントインジケータデータおよびコンテキストデータ(例えば、ユーザストレス、ユーザインテントインジケータ、ユーザ履歴データ等)を考慮する機械学習アルゴリズムに基づいてカスタマイズまたは設定され得る。カスタマイズされたルーティング経路に加えて、システムは、データ(例えば、インテントインジケータデータ、アクションデータ、ユーザ人口統計データ等)に基づいて、カスタマイズされたルーティング経路に関連付けられた、カスタマイズされた自然言語通信を生成し得る。これは、ユーザに合わせてカスタマイズされた情報を提供するために、ユーザのためのカスタマイズされた言語および用語法(terminology)(例えば、「問題点が見えてきました(I see the issue)」)を含み得る。このようなシステムは、適切な解決(resolution)に達するために、および通信効率を改善するために、個々のユーザによって使用されるシステムリソースを低減することによって、デバイスおよび通信システムの動作を改善する。
【0091】
[0099]機械学習モデルは、ネットワークデバイス(例えば、顧客)とサービス(例えば、クライアント)との間の通信を監視するフィードバックシステムを使用し得る。このようなパフォーマンス監視システムは、クライアントが顧客のインテントに対処するのに効果的であるかどうかを決定するために、顧客とクライアントとの間のインタラクションを監視し得る。例えば、パフォーマンス監視システムは、新しいインテントインジケータデータが顧客から受信されるにつれて、インテントが実現されているかどうかを決定するために、あらゆる顧客発言を評価し得る(例えば、顧客がクライアントシステムの現在のノードとのインタラクションから期待される結果を得ていないという苛立ちレベルまたは機械学習識別されたインジケータを監視している)。例示的な例として、パフォーマンス監視システムは、顧客が「できました(Done)」で応答したときに、顧客がクライアントにより提供されたルーティング経路からポジティブな結果を認めた(acknowledged)こと、および顧客が顧客のインテントを達成するためのルーティング経路を選択できたことを決定し得る。さらに、顧客が、「ありがとう!うまくいきました!」で応答したとき、パフォーマンス監視システムは、顧客のインテントが満たされたと決定し得る。次いで、この情報は、将来のシステムユーザについてのインテント値を識別するための他のユーザのインテントインジケータデータの分析を含む、システムの任意の態様についての機械学習モデルを更新するために使用され得る。例えば、パフォーマンス監視システムは、なぜある特定のルーティング経路が、ネガティブまたはポジティブな顧客結果で選択されるかを決定するために、クライアントメトリックを監視する調査アルゴリズムをインプリメントし得る。この決定に基づいて、パフォーマンス監視システムは、動作、ノード選択、およびルーティング経路を更新するために、機械学習アルゴリズムにフィードバックを提供して、システムパフォーマンスを改善し得る。本明細書で説明されるように、サーバシステム(例えば、サーバ615)が、任意のそのような動作を実行し得、またはこれら動作は、そのような動作を実行するためにともに動作する異なるサブシステムまたはエンジンを有するネットワーク化されたサーバシステムの一部であり得る。これは、サーバ615が、接続管理システム、宛先決定エンジン620、データ集約エンジン625、統合ユーザプロファイルデータベース630、またはこのような要素の任意の組合せであり得るかまたはそれを含み得る、上記で説明された構成を含み得る。他の実施形態では、他の構成またはインプリメンテーションが使用され得る。
【0092】
[0100]
図8は、動的メッセージング処理の方法を例示するフローチャートである。ステップ805において、メッセージが、ネットワークデバイスにおいてクライアントデバイスから受信される。メッセージは、テキストメッセージであり得る。メッセージは、複数のルーティング経路を含み得る。例えば、メッセージは、ネットワークデバイスによって要求された場合にクライアントデバイスによって実現され得るサービス要求の複数のオプションを含み得る。メッセージは、ネットワークデバイスがクライアントデバイスにかけた固定電話に応答して、クライアントデバイスによって生成されたものであり得る。いくつかの実施形態では、ネットワークデバイスは、固定電話番号を介して、クライアントデバイスへの初期メッセージを生成し得る。メッセージ内のルーティング経路は、ネットワークデバイスのユーザが、複数のルーティング経路のうちの特定のルーティング経路の選択を示すことを可能にするために、ネットワークデバイスによって使用または応答され得る様々な選択オプションを含む。1つのルーティング経路は、複数のルーティング経路をナビゲートする際の一般的な支援の要求を伴い得る。別のルーティング経路は、複数のルーティング経路から利用可能なサービス要求の特定のカテゴリの選択を伴い得る。複数のルーティング経路は、ルーティングツリー内にネストされたサブ経路を有する等、経路の複雑なセット内に共有分岐を含み得る。加えて、複数のルーティング経路における特定の経路が、サーバに関連付けられ得る。これらのサーバは、クライアントデバイスとは別個であり、サーバから利用可能なサービスまたは情報に関連付けられた、ルーティング経路から予期される特定の情報または結果に基づき得る。このようなサーバの追加の態様が、以下のステップ830および835において使用され、これは、このようなサーバへのおよびこのようなサーバからのメッセージングを伴い得る。
【0093】
[0101]ステップ810において、複数のルーティング経路のうちのルーティング経路の選択が生成される。例えば、ユーザは、クライアントデバイスによって実現され得るサービス要求に相関するオプションを(例えば、ネットワークデバイスの入力インターフェースを使用して)選択するために、ネットワークデバイスを使用し得る。上記で説明されたように、このようなメッセージは、以前の通信チャネル(例えば、電話または音声チャネル)の終了に続いて受信され得る。いくつかの実施形態では、クライアント機械学習モデルが、以前のチャネルからの情報を処理し、ネットワークデバイスに提供される複数のルーティング経路を選択するために、この情報を使用する。これは、上記で説明されたように、以前の通信の一部として収集された任意の情報、ならびにネットワークデバイスに関連付けられたユーザまたはアカウントに関するその他任意の情報に基づき得る。クライアントデバイスは、テキストメッセージによって完了され得るサービス要求の様々なオプションとして、複数のルーティング経路をネットワークデバイスに提示し得る。他の実施形態では、テキストメッセージングまたは他のメッセージングを含む任意のこのようなチャネルまたはチャネルの組合せが、オプションの提示のために使用され得る。
【0094】
[0102]ステップ815において、双方向通信セッションが、ネットワークデバイスとクライアントデバイスのノードとの間に確立される。このセッションは、ネットワークデバイスにおけるルーティング経路の選択に応答して確立され得る。クライアントデバイスは、双方向通信のためのノードが、選択されたルーティング経路に基づいて決定され得るように、ある特定のノードがある特定のルーティング経路に関連付けられている状態で、複数のノードを有し得る。例えば、選択されたルーティング経路がアポイントメントのためのサービス要求に対応する場合、クライアントデバイスの関連するノードは、スケジューリングエンジンであり得る。選択されたルーティング経路が情報のためのものである場合、ノードは、評価および応答エンジンであり得る。ネットワークデバイスとクライアントデバイスとの間の通信は、サービス要求の実現に関する会話または通信を含み得る。いずれのケースでも、ネットワークデバイスは、ネットワークデバイスとノードとの間のチャネル通信の参加者として、双方向通信を確立することに参加する。
【0095】
[0103]いくつかの例では、双方向通信セッションの一部としての通信は、システム内の1つまたは複数のエンジンによって処理および分析され得る。一実施形態では、例えば、自然言語処理が、自然言語理解データまたは自然言語解釈データを生成するために、通信のチャネルに対して実行され得る。このようなデータは、通信チャネルからのデータだけでなく、他のコンテキストデータも解析および分析することによって生成され得る。これは、選択されたルーティング経路および複数のルーティング経路のコンテキストから導出されたチャネル、ロケーションまたはコンテキストデータからのメタデータを含み得る。日付、時間、ユーザまたはデバイスの識別または関連付け等の他のコンテキストデータ、およびその他任意のそのようなデータが、自然言語理解データまたは自然言語解釈データの一部として使用され得る。次いで、このようなデータは、システム内のインテントインジケータデータの限られた選択(a limited selection)からインテントインジケータデータの値を生成するために使用され得る。例えば、複数のルーティング経路は、限られた数のインテントが、システム内で利用可能なデータおよびアクションに関連付けられている状態で、データを提供するか、またはユーザに代わってアクションを取るために、システムのコンテキストにおいて構造化され得る。通信チャネルからのデータ、チャネルメタデータ、コンテキストデータ、特定のユーザまたはネットワークデバイスのための以前のルーティング経路の選択データ、またはそのようなデータの任意の組合せを処理することによって、予期されるユーザインテントに関連付けられた値が、インテントインジケータデータとして生成され得る。
【0096】
[0104]ステップ820において、双方向通信セッションの終了が容易にされる。例えば、クライアントデバイスは、サービス要求を実現させ得、それ以上のサービス要求は、ネットワークデバイスによって行われない。ネットワークデバイスは、双方向通信セッションの終了を容易にすることの一部として、チャネルを拒否し得る(can the channel)。通信セッションの終了は、クライアントデバイスに、選択されたルーティング経路を送信させ得る。選択されたルーティング経路は、例えば、接続管理システムまたはサーバに送信され得る。
【0097】
[0105]ステップ825において、選択されたルーティング経路に関連するデータが受信される。例えば、選択されたルーティング経路が1つのレストランでの予約に関連する場合、レストランに関する情報、行われた他の予約またはアポイントメントに関する情報等が、ネットワークデバイスにおいて受信され得る。
【0098】
[0106]ステップ830において、新しいメッセージが送信され得る。新しいメッセージは、テキストメッセージであり得る。新しいメッセージは、例えば、ネットワークデバイスから接続管理システムに送信され得る。新しいメッセージは、インテントインジケータデータを含み得る。様々な実施形態では、インテントインジケータデータは、様々な方法で所望のアクションを示す。いくつかの実施形態では、新しいメッセージは、自然言語によるもの(例えば、会話型)であり得る。ネットワークデバイスにおける自然言語処理は、メッセージとともに送られるべきインテントインジケータデータの値を生成するために使用され得る。新しいメッセージがサーバにおいて受信されると、サーバは、選択されたルーティング経路およびインテントインジケータデータを評価するための機械学習モデルを使用することによって、応答を生成し得る。上記で説明されたように、このような機械学習は、ネットワークデバイスからの新しいメッセージに対する応答を生成するために、インテントインジケータデータおよび他のコンテキストデータとともに、自然言語分析を使用し得る。上記の例を続けると、インテントインジケータデータは、別の予約を行うためのものであり得、予約に関する追加情報が、新しいメッセージ中の他のデータ(例えば、インテントインジケータデータに付随する自然言語または会話データ)とともにインテントインジケータデータの値を使用して、機械学習モデルから推論され得る。ユーザデバイスとの双方向通信セッションまたは任意の以前の通信セッションにおける複数のルーティング経路および特定のルーティング経路の選択に関する情報が、クライアントデバイスにおける機械学習モデルに情報を提供する(inform)ために使用され得る。
【0099】
[0107]ステップ835において、新しいメッセージに対する応答が受信される。一実施形態では、応答は、テキストメッセージである。他の実施形態では、本明細書で説明された通信チャネルの任意の組合せを含む、他の通信チャネルが使用され得る。応答は、選択されたルーティング経路およびインテントインジケータデータに対応する1つまたは複数の提案を含み得る。いくつかの実施形態では、1つまたは複数の提案は、複数のクライアントデバイスのための選択されたルーティング経路に関連する集約されたデータを含み、集約されたデータは、ネットワークデバイスに固有であり得る。上記の例では、応答は、様々なレストランおよび追加の予約に利用可能な時間のリストを含み得る。ステップ840において、応答の表示が容易にされる。例えば、テキストメッセージ応答は、ネットワークデバイス上に表示され得る。
【0100】
[0108]上記の説明は、レストラン予約システムのコンテキストにおいて与えられた。このような方法の態様は、多種多様な他のシステムにも適用できることが明らかであろう。1つのクライアントデバイスは、例えば、製品に対する顧客支援を提供し得る。複数のルーティング経路は、機能デバイスのためのデバイス動作支援と、機能していないデバイスのためのデバイス分析および修理支援と、デバイスに関連する製品のための注文支援と、のためのルーティング経路を含み得る。このようなルーティング経路の各サブセットは、クライアントデバイスにおいて異なるノードを有し得る。ネットワークデバイスが提供されたルーティング経路の中から特定のルーティング経路を選択すると、チャネルが、クライアントデバイスのノードと確立される。上記で説明されたように、ネットワークデバイスとクライアントデバイスのノードとの間のチャネル上で交換されるデータ、ならびに他のデータ(例えば、コンテキスト、チャネルについてのメタデータ等)は、ネットワークデバイスにおけるインテントインジケータデータ値選択と、クライアントデバイスまたはサーバにおける機械分析との両方を支援するために分析され得る。次いで、クライアントデバイスまたはサーバは、双方向通信セッションが終了した後に、ネットワークデバイスに追加情報を提供し得、ネットワークデバイスは、応答を表示し得る。これは、交換部品の注文に関する詳細、デバイスの動作モードを選択するための指示、関連アイテムの注文について第三者とインタラクトするためのリンクもしくは通信チャネル情報、または追加情報の入手先を含み得る。
【0101】
[0109]
図9は、動的メッセージング処理およびデータ集約の方法を例示するフローチャートである。いくつかのインプリメンテーションでは、
図9のプロセス900は、プロセス800の対応する動作を実行するネットワークデバイスとインタラクトするサーバ動作に対応する。他の実施形態では、プロセス900は、メッセージ処理およびデータ集約のための他の同様の対応する動作を実行するネットワークデバイスおよびクライアントデバイスとインタラクトし得る。プロセス900は、サーバ615等のサーバシステム、またはその他任意のそのようなシステムによって実行され得る。いくつかの実施形態では、プロセス900は、システムの1つまたは複数のプロセッサによって実行されると、システムにプロセス900を実行させる、非一時的な媒体に記憶された命令として具現化され得る。
【0102】
[0110]プロセス900のステップ905は、複数のルーティング経路を備えるメッセージの生成を伴う。本明細書で説明されるように、このようなルーティング経路は、ある特定のコンテキストに基づいて所与のメッセージまたはイベントをどこに配信すべきかに関するシステムのランタイム決定を伴う。複数のルーティング決定は、ユーザによって選択された複数のルーティング経路のうちのルーティング経路のユーザ選択を可能にするために、ユーザに関連付けられた、予期されるユーザ選好、概観、または予期される(1つまたは複数の)インテントに基づくオプションを伴い得る。複数のルーティング経路は、ユーザについての予期されるインテントに関連付けられ得るか、またはユーザが、ユーザのネットワークデバイスからユーザのインテントに一致するサーバにインテントインジケータデータを提供することを効率的に可能にするように構造化されたルーティング経路に関連付けられ得る、様々なクライアントシステムまたはクライアントシステムのノードへのクエリに基づき得る。ノードまたはクライアントシステムへのこのようなクエリは、サーバが、後続のステップで受信されるべきコンテキストデータおよび予期されるインテントインジケータデータに基づいて、ユーザのためのインテント値を選択するために(例えば、機械学習アルゴリズムとともに)使用し得る、コンテキストまたは他のサポートデータを収集し得る。
【0103】
[0111]プロセス900のステップ910において、ルーティング経路の選択を含む応答が受信される。サーバは、ステップ915において、このルーティング経路の選択を使用して、ネットワークデバイス(例えば、スマートフォン等のユーザのデバイス)と、クライアントデバイスのノード(例えば、複数のルーティング経路から選択されたルーティング経路に関連付けられたシステム)との間の双方向通信セッションを容易にする。サーバは、サーバの接続管理システム(例えば、接続管理システム715)の動作の一部として、双方向通信セッションの通信と、ステップ920におけるその最終的な終了との両方を容易にし得る。本明細書で説明されるように、このような動作は、クライアントデバイスおよびクライアントノード(例えば、クライアント710および720)と統合され得るか、または他の実施形態では独立して構造化され得る。
【0104】
[0112]プロセス900のステップ925において、選択されたルーティング経路に関連するインテントインジケータデータが、サーバシステムにおいて受信される。これは、接続管理システムを介してネットワークデバイスからクライアントノードにルーティングされているメッセージの一部であり得、またはシステム内でインテントを達成しようとする現在のユーザの試みに関連付けられた任意のソースからのユーザまたはユーザアカウントに関するデータであり得る。様々な実施形態では、インテントインジケータデータは、ステップ925でのみならず、集約されたデータをサーバと共有する、サーバまたは関連付けられたデバイスを使用する任意の通信またはインタラクションの全体にわたって、動的メッセージ処理およびデータ集約の一部として収集され得る。これは、ステップ910からの応答、ステップ920の一部として、双方向通信セッションの一部として交換されるデータ、または(例えば、インテントインジケータデータからインテント値を識別するため、およびインテントにサービスするための応答を提供するために)サーバとのユーザのインタラクションを支援する際に使用するために集約され得るデータを含むその他任意の以前のステップを含み得る。ステップ930において、このデータは、システム内の更新されたインテント値を選択するために処理され得る。いくつかの実施形態では、インテント値は、直接ユーザのネットワークデバイスからの、ならびに本明細書で説明されるその他任意のソースからのインテントインジケータデータを含む様々なコンテキスト情報から導出された値である。ネットワークデバイスとの現在のインタラクションについてデータが集約および分析されると、プロセス900を実行しているサーバは、機械学習モデルを使用してネットワークデバイスのインテント値を更新し得る。したがって、インテント値は、新しい情報が(例えば、ユーザのネットワークデバイスとの現在の通信から)経時的に導出されるにつれて変化する可変インジケータである。
【0105】
[0113]いくつかの実施形態では、システムは、ユーザがシステムとインタラクトするためのありそうな理由(likely reason)の予想に基づく初期インテント値を有し得る。実際のインタラクションが発生するにつれて、それらは、以前のインテントを確認し得るか、またはインテント値を修正させ得る。機械学習モデルは、ユーザとのいかなるインタラクションもなしに、経時的にシステム内のインテント値を更新し得、集約されたデータに基づくその記憶されたインテント値は、この次にユーザがシステムに関連付けられた(例えば、サーバに関連付けられた接続管理システムによって管理される)通信チャネルに関与するときに、ユーザのネットワークデバイスとの初期インタラクションを通知するために使用され得る。システムによって集約されるデータは、システムによってルーティングされるデータであり得るだけでなく、ある特定のポイントで、ユーザとインタラクトすることをタスクとして課され得る生身のオペレータ等の、クライアントのエージェントによるシステムへのデータ入力も含み得る。システムからの自動的に処理されたデータと、エージェントによって入力されたデータとを含む、それらのインタラクションに関する情報は全て、機械学習モデルに供給され得る。データは固定的に格納され、ユーザまたはユーザアカウントに関連付けられた変化するインテント値を更新するために使用される。
【0106】
[0114]さらに、サーバがインテントインジケータデータを受信することに加えて、そのデータは、インテント値を決定する際に使用するために様々な方法で処理され得る。いくつかの実施形態では、自然言語処理は、テキストまたは自動音声認識のためにLexおよびDialogflow等のツールを使用して実行され得る。その場合、このようなツールからの自然言語理解(NLU:Natural language understanding)または推論システムは、インテントインジケータデータ内の情報を構造化するために使用され得る。いくつかのインプリメンテーションでは、次いで、そのようなデータは、システムに関連付けられた可能性のあるインテント値の限られたセットからインテント値を選択するために、機械学習または人工知能ツール(例えば、ニューラルネットワーク)によって処理され得る。システムについてのこのようなインテント値は、特定のクライアントノードおよびルーティングに関連付けられ得る。いくつかのシステムでは、特定のノードのインテント値は、システムのインテント値のサブセットであり得、現在のインテント値を決定し、追加情報がユーザのネットワークデバイスから受信されるにつれてインテント値を更新するために、複数のティアまたはレベルの決定が、各レベルでの機械学習分析を使用して行われる。インテント値決定のさらなる詳細は、あらゆる目的のために参照により組み込まれている、「DYNAMIC ENDPOINT COMMUNICATION CHANNELS」と題する米国特許出願第16/601,863号に記載されている。
【0107】
[0115]プロセス900のステップ935において、インテントインジケータデータに関連付けられたインテント値と、ステップ910からのルーティング経路とに対応する提案を含む通信が生成される。上記で説明されたステップ930およびサーバシステムによって実行される分析のコンテキストでは、いったんインテント値(例えば、現在のネットワークデバイス通信に基づく更新されたインテント値)が特定のステップについて識別されると、提案(例えば、新しいルーティング経路)を含む通信が、ユーザのネットワークデバイスのために生成される。次いで、この通信は、ユーザのインテントを満たすか、または現在のシステムインタラクションに関連付けられたユーザのインテントを達成しようと試みるためにシステムとさらに通信するために使用され得る、ネットワークデバイス上のオプションおよび情報の表示を容易にし得る。
【0108】
[0116]特定の詳細は、実施形態の完全な理解を提供するために上記説明で与えられた。しかしながら、これら実施形態は、これらの特定の詳細なしに実施され得ることが理解される。例えば、これら実施形態を不必要な詳細で不明瞭にしないために、回路はブロック図で示され得る。他の事例では、周知の回路、プロセス、アルゴリズム、構造、および技法が、これら実施形態を不明瞭にすることを避けるために、不要な詳細なしで示され得る。
【0109】
[0117]上記で説明された技法、ブロック、ステップ、および手段のインプリメンテーションは、様々な方法で行われ得る。例えば、これらの技法、ブロック、ステップ、および手段は、ハードウェア、ソフトウェア、またはそれらの組合せでインプリメントされ得る。ハードウェアインプリメンテーションの場合、処理ユニットは、1つまたは複数の特定用途向け集積回路(ASIC)、デジタルシグナルプロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、上記で説明された機能を実行するように設計された他の電子ユニット、および/またはそれらの組合せの内でインプリメントされ得る。
【0110】
[0118]また、実施形態の一部は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として図示されるプロセスとして説明され得ることに留意されたい。フローチャートは、動作をシーケンシャルプロセスとして説明し得るが、動作の多くは、並行してまたは同時並行に実行され得る。加えて、動作の順序は並べ換えられ得る。プロセスは、その動作が完了したときに終了するが、図面に含まれていない追加のステップを有し得る。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラム等に対応し得る。プロセスが関数に対応するとき、その終了は、関数が呼び出し関数または主関数に戻ることに対応する。
【0111】
[0119]さらに、実施形態は、ハードウェア、ソフトウェア、スクリプト言語、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、および/またはそれらの任意の組合せによってインプリメントされ得る。ソフトウェア、ファームウェア、ミドルウェア、スクリプト言語、および/またはマイクロコードでインプリメントされるとき、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体等の機械可読媒体に記憶され得る。コードセグメントまたは機械実行可能命令は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、スクリプト、クラス、または命令、データ構造、および/もしくはプログラムステートメントの任意の組合せを表し得る。コードセグメントは、情報、データ、引数、パラメータ、および/またはメモリコンテンツを渡すことおよび/または受け取ることによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データ等は、メモリ共有、メッセージパッシング、チケットパッシング、ネットワーク送信等を含む、任意の好適な手段を介して渡される、転送される、または送信されることができる。
【0112】
[0120]ファームウェアおよび/またはソフトウェアインプリメンテーションの場合、方法は、本明細書で説明された機能を実行するモジュール(例えば、プロシージャ、関数等)を用いてインプリメントされ得る。命令を有形に具現化する任意の機械可読媒体が、本明細書で説明された方法をインプリメントする際に使用され得る。例えば、ソフトウェアコードは、メモリに記憶され得る。メモリは、プロセッサの内部またはプロセッサの外部にインプリメントされ得る。本明細書で使用される場合、「メモリ」という用語は、任意のタイプの長期、短期、揮発性、不揮発性、または他の記憶媒体を指し、いかなる特定のタイプのメモリもしくはメモリの数、またはメモリが記憶される媒体のタイプにも限定されるべきでない。
【0113】
[0121]さらに、本明細書で開示されたように、「記憶媒体」、「記憶」、または「メモリ」という用語は、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気RAM、コアメモリ、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、および/または情報を記憶するための他の機械可読媒体を含む、データを記憶するための1つまたは複数のメモリを表し得る。「機械可読媒体」という用語は、限定はしないが、ポータブルまたは固定記憶デバイス、光記憶デバイス、ワイヤレスチャネル、および/または、(1つまたは複数の)命令および/またはデータを含むかまたは搬送する、記憶すること可能な様々な他の記憶媒体を含む。
【0114】
[0122]本開示の原理は、特定の装置および方法に関連して上記で説明されたが、この説明は、本開示の範囲の限定としてではなく、単に例としてなされたものであることを明確に理解されたい。
【手続補正書】
【提出日】2023-05-10
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
接続管理サーバシステムによって、インタラクションの一部として第1の通信タイプのメッセージを生成すること、ここにおいて、前記メッセージは、複数のルーティング経路を含み、前記複数のルーティング経路の各ルーティング経路は、異なるトピックおよび対応するクライアントデバイスノードに関連付けられる、と、
応答メッセージを受信することと、前記応答メッセージは、前記複数のルーティング経路のうちのルーティング経路を含む、
前記応答メッセージを使用して前記インタラクションに関連付けられた初期インテント値を識別することと、
前記インタラクションの一部としてユーザデバイスとクライアントデバイスのノードとの間の双方向通信セッションを容易にすること、ここにおいて、前記ノードは、前記ルーティング経路に基づいて決定され、前記ノードは、複数の電話デバイスおよび関連付けられたノードから選択された電話デバイスである、と、
前記双方向通信セッションの終了を容易にすること、ここにおいて、前記双方向通信セッションが終了すると、前記ユーザデバイスは、選択されたルーティング経路を示す送信を開始する、と、
前記選択されたルーティング経路に関連するインテントインジケータデータを受信すること、ここにおいて、前記双方向通信セッションが終了すると、前記インテントインジケータデータは、前記クライアントデバイスから受信される、と、
更新されたインテント値を識別するために前記インテントインジケータデータを処理することと、
前記更新されたインテント値および前記選択されたルーティング経路を使用してカスタマイズされたルーティング経路を動的に生成することと、
前記選択されたルーティング経路および前記更新されたインテント値に対応する前記カスタマイズされたルーティング経路を含む新しいメッセージを生成することと、
前記第1の通信タイプとは異なる第2の通信タイプを使用して前記新しいメッセージを送信することと
を備える、コンピュータ実装方法。
【請求項2】
前記メッセージを送信することをさらに備え、前記メッセージが前記ユーザデバイスにおいて受信されると、前記インタラクションに関連付けられた接続管理システムは、前記インタラクションおよび前記ユーザデバイスに関連付けられた前記初期インテント値を生成する、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記第2の通信タイプは、テキストメッセージの通信タイプである、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記メッセージは、音声通信であり、前記第1の通信タイプが電話通信タイプである、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記新しいメッセージは、前記選択されたルーティング経路および前記更新されたインテント値を有する機械学習モデルを使用して生成される、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記新しいメッセージに対する応答を受信することと、
前記応答に基づいて前記新しいメッセージを生成するために使用される機械学習モデルを更新することと
をさらに備える、請求項1に記載のコンピュータ実装方法。
【請求項7】
コンピューティングデバイスであって、
メモリと、
前記メモリに結合された1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサは、
接続管理サーバシステムによって、インタラクションの一部として第1の通信タイプのメッセージを生成すること、ここにおいて、前記メッセージは、複数のルーティング経路を含み、前記複数のルーティング経路の各ルーティング経路は、異なるトピックおよび対応するクライアントデバイスノードに関連付けられる、と、
応答メッセージを受信することと、前記応答メッセージは、前記複数のルーティング経路のうちのルーティング経路を含む、
前記応答メッセージを使用して前記インタラクションに関連付けられた初期インテント値を識別することと、
前記インタラクションの一部としてユーザデバイスとクライアントデバイスのノードとの間の双方向通信セッションを容易にすること、ここにおいて、前記ノードは、前記ルーティング経路に基づいて決定され、前記ノードは、複数の電話デバイスおよび関連付けられたノードから選択された電話デバイスである、と、
前記双方向通信セッションの終了を容易にすること、ここにおいて、前記双方向通信セッションが終了すると、前記ユーザデバイスは、選択されたルーティング経路を示す送信を開始する、と、
前記選択されたルーティング経路に関連するインテントインジケータデータを受信すること、ここにおいて、前記双方向通信セッションが終了すると、前記インテントインジケータデータは、前記クライアントデバイスから受信される、と、
更新されたインテント値を識別するために前記インテントインジケータデータを処理することと、
前記更新されたインテント値および前記選択されたルーティング経路を使用してカスタマイズされたルーティング経路を動的に生成することと、
前記選択されたルーティング経路および前記更新されたインテント値に対応する前記カスタマイズされたルーティング経路を含む新しいメッセージを生成することと、
前記第1の通信タイプとは異なる第2の通信タイプを使用して前記新しいメッセージを送信することと
を備える動作を実行するように構成される、コンピューティングデバイス。
【請求項8】
前記1つまたは複数のプロセッサは、
前記メッセージを送信することを備える動作を実行するようにさらに構成され、前記メッセージが前記ユーザデバイスにおいて受信されると、前記インタラクションに関連付けられた接続管理システムは、前記インタラクションおよび前記ユーザデバイスに関連付けられた前記初期インテント値を生成する、請求項7に記載のコンピューティングデバイス。
【請求項9】
前記第2の通信タイプは、テキストメッセージの通信タイプである、請求項7に記載のコンピューティングデバイス。
【請求項10】
前記メッセージは、音声通信であり、前記第1の通信タイプが電話通信タイプである、請求項7に記載のコンピューティングデバイス。
【請求項11】
前記新しいメッセージは、前記選択されたルーティング経路および前記更新されたインテント値を有する機械学習モデルを使用して生成される、請求項7に記載のコンピューティングデバイス。
【請求項12】
前記1つまたは複数のプロセッサは、
前記新しいメッセージに対する応答を受信することと、
前記応答に基づいて前記新しいメッセージを生成するために使用される機械学習モデルを更新することと
を備える動作を実行するようにさらに構成される、請求項7に記載のコンピューティングデバイス。
【請求項13】
命令を備える非一時的なコンピュータ可読媒体であって、前記命令は、デバイスの1つまたは複数のプロセッサによって実行されると、前記デバイスに、
接続管理サーバシステムによって、インタラクションの一部として第1の通信タイプのメッセージを生成すること、ここにおいて、前記メッセージは、複数のルーティング経路を含み、前記複数のルーティング経路の各ルーティング経路は、異なるトピックおよび対応するクライアントデバイスノードに関連付けられる、と、
応答メッセージを受信することと、前記応答メッセージは、前記複数のルーティング経路のうちのルーティング経路を含む、
前記応答メッセージを使用して前記インタラクションに関連付けられた初期インテント値を識別することと、
前記インタラクションの一部としてユーザデバイスとクライアントデバイスのノードとの間の双方向通信セッションを容易にすること、ここにおいて、前記ノードは、前記ルーティング経路に基づいて決定され、前記ノードは、複数の電話デバイスおよび関連付けられたノードから選択された電話デバイスである、と、
前記双方向通信セッションの終了を容易にすること、ここにおいて、前記双方向通信セッションが終了すると、前記ユーザデバイスは、選択されたルーティング経路を示す送信を開始する、と、
前記選択されたルーティング経路に関連するインテントインジケータデータを受信すること、ここにおいて、前記双方向通信セッションが終了すると、前記インテントインジケータデータは、前記クライアントデバイスから受信される、と、
更新されたインテント値を識別するために前記インテントインジケータデータを処理することと、
前記更新されたインテント値および前記選択されたルーティング経路を使用してカスタマイズされたルーティング経路を動的に生成することと、
前記選択されたルーティング経路および前記更新されたインテント値に対応する前記カスタマイズされたルーティング経路を含む新しいメッセージを生成することと、
前記第1の通信タイプとは異なる第2の通信タイプを使用して前記新しいメッセージを送信することと
を備える動作を実行させる、非一時的なコンピュータ可読媒体。
【請求項14】
前記動作はさらに、前記デバイスに、
前記メッセージを送信することを備える動作を実行させ、前記メッセージが前記ユーザデバイスにおいて受信されると、前記インタラクションに関連付けられた接続管理システムは、前記インタラクションおよび前記ユーザデバイスに関連付けられた前記初期インテント値を生成する、請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項15】
前記第2の通信タイプは、テキストメッセージの通信タイプである、請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項16】
前記メッセージは、音声通信であり、前記第1の通信タイプが電話通信タイプである、請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項17】
前記新しいメッセージは、前記選択されたルーティング経路および前記更新されたインテント値を有する機械学習モデルを使用して生成される、請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項18】
前記動作はさらに、前記デバイスに、
前記新しいメッセージに対する応答を受信することと、
前記応答に基づいて前記新しいメッセージを生成するために使用される機械学習モデルを更新することと
を備える動作を実行させる、請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項19】
前記カスタマイズされたルーティング経路は、カスタマイズされた言語および用語法を含むように機械学習アルゴリズムによって生成され、前記カスタマイズされた言語および用語法は、前記インテントインジケータデータを使用して前記ユーザデバイスに対してカスタマイズされる、請求項1に記載のコンピュータ実装方法。
【請求項20】
前記第2の通信タイプは、通信タイプ優先順位リストから選択される、請求項1に記載のコンピュータ実装方法。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0114
【補正方法】変更
【補正の内容】
【0114】
[0122]本開示の原理は、特定の装置および方法に関連して上記で説明されたが、この説明は、本開示の範囲の限定としてではなく、単に例としてなされたものであることを明確に理解されたい。
以下に、出願当初の特許請求の範囲に記載の事項を、そのまま、付記しておく。
[C1]
コンピュータ実装方法であって、
ネットワークデバイスにおいてクライアントデバイスからメッセージを受信すること、ここにおいて、前記メッセージは、複数のルーティング経路を含む、と、
前記複数のルーティング経路のうちの選択されたルーティング経路を生成することと、
前記ネットワークデバイスと前記クライアントデバイスのノードとの間に双方向通信セッションを確立すること、ここにおいて、前記ノードは、前記選択されたルーティング経路に基づいて決定される、と、
前記双方向通信セッションの終了を容易にすること、ここにおいて、前記双方向通信セッションの前記終了は、前記クライアントデバイスに、前記選択されたルーティング経路を送信させる、と、
前記選択されたルーティング経路に関連するデータを受信することと、
新しいメッセージを送信すること、ここにおいて、前記新しいメッセージは、インテントインジケータデータを含む、と、
サーバから前記新しいメッセージに対する応答を受信すること、ここにおいて、前記応答は、前記選択されたルーティング経路および前記インテントインジケータデータに対応する1つまたは複数の提案を含む、と、
前記応答の表示を容易にすることと、
を備える方法。
[C2]
前記メッセージ、前記新しいメッセージ、および前記応答は、テキストメッセージである、C1に記載の方法。
[C3]
前記クライアントデバイスは、固定電話に接続されている、C1に記載の方法。
[C4]
前記ネットワークデバイスにおいて前記クライアントデバイスから前記メッセージを受信する前に、前記ネットワークデバイスによって前記固定電話に対する電話を発呼することをさらに備え、
ここにおいて、前記新しいメッセージは、前記サーバにおいて受信され、前記サーバは、前記選択されたルーティング経路および前記インテントインジケータデータを評価するために機械学習モデルを使用することによって前記応答を生成する、
C3に記載の方法。
[C5]
前記固定電話は、前記クライアントデバイスと同じ電話番号に関連付けられる、C3に記載の方法。
[C6]
前記1つまたは複数の提案は、複数のクライアントデバイスのための前記選択されたルーティング経路に関連する集約されたデータを含み、前記集約されたデータは、前記ネットワークデバイスに固有である、C3に記載の方法。
[C7]
システムであって、
1つまたは複数のデータプロセッサと、
命令を含む非一時的なコンピュータ可読記憶媒体と、
を備え、前記命令は、前記1つまたは複数のデータプロセッサ上で実行されると、前記1つまたは複数のデータプロセッサに、
ネットワークデバイスにおいてクライアントデバイスからメッセージを受信すること、ここにおいて、前記メッセージは、複数のルーティング経路を含む、と、
前記複数のルーティング経路のうちの選択されたルーティング経路を生成することと、
前記ネットワークデバイスと前記クライアントデバイスのノードとの間に双方向通信セッションを確立すること、ここにおいて、前記ノードは、前記選択されたルーティング経路に基づいて決定される、と、
前記双方向通信セッションの終了を容易にすること、ここにおいて、前記終了は、前記クライアントデバイスに、前記選択されたルーティング経路を送信させる、と、
前記選択されたルーティング経路に関連するデータを受信することと、
新しいメッセージを送信すること、ここにおいて、前記新しいメッセージは、インテントインジケータデータを含む、と、
サーバから前記新しいメッセージに対する応答を受信すること、ここにおいて、前記応答は、前記選択されたルーティング経路および前記インテントインジケータデータに対応する1つまたは複数の提案を含む、と、
前記応答の表示を容易にすることと、
を含む動作を実行させる、システム。
[C8]
前記メッセージ、前記新しいメッセージ、および前記応答は、テキストメッセージである、C7に記載のシステム。
[C9]
前記クライアントデバイスは、固定電話に接続されている、C7に記載のシステム。
[C10]
前記動作は、
前記ネットワークデバイスにおいて前記クライアントデバイスから前記メッセージを受信する前に、前記ネットワークデバイスによって前記固定電話に対する電話を発呼することをさらに含み、
ここにおいて、前記新しいメッセージは、前記サーバにおいて受信され、前記サーバは、前記選択されたルーティング経路および前記インテントインジケータデータを評価するために機械学習モデルを使用することによって前記応答を生成する、
C9に記載のシステム。
[C11]
前記固定電話は、前記クライアントデバイスと同じ電話番号に関連付けられる、C9に記載のシステム。
[C12]
前記1つまたは複数の提案は、複数のクライアントデバイスのための前記選択されたルーティング経路に関連する集約されたデータを含み、前記集約されたデータは、前記ネットワークデバイスに固有である、C7に記載のシステム。
[C13]
非一時的な機械可読記憶媒体に有形に具現化されたコンピュータプログラム製品であって、データ処理装置に、
ネットワークデバイスにおいてクライアントデバイスからメッセージを受信すること、ここにおいて、前記メッセージは、複数のルーティング経路を含む、と、
前記複数のルーティング経路のうちの選択されたルーティング経路を生成することと、
前記ネットワークデバイスと前記クライアントデバイスのノードとの間に双方向通信セッションを確立すること、ここにおいて、前記ノードは、前記選択されたルーティング経路に基づいて決定される、と、
前記双方向通信セッションの終了を容易にすること、ここにおいて、前記終了は、前記クライアントデバイスに、前記選択されたルーティング経路を送信させる、と、
前記選択されたルーティング経路に関連するデータを受信することと、
新しいメッセージを送信すること、ここにおいて、前記新しいメッセージは、インテントインジケータデータを含む、と、
サーバから前記新しいメッセージに対する応答を受信すること、ここにおいて、前記応答は、前記選択されたルーティング経路および前記インテントインジケータデータに対応する1つまたは複数の提案を含む、と、
前記応答の表示を容易にすることと、
を含む動作を実行させるように構成された命令を含むコンピュータプログラム製品。
[C14]
前記メッセージ、前記新しいメッセージ、および前記応答は、テキストメッセージである、C13に記載のコンピュータプログラム製品。
[C15]
前記クライアントデバイスは、固定電話に接続されている、C13に記載のコンピュータプログラム製品。
[C16]
前記動作は、
前記ネットワークデバイスにおいて前記クライアントデバイスから前記メッセージを受信する前に、前記ネットワークデバイスによって前記固定電話に対する電話を発呼することをさらに含み、
ここにおいて、前記新しいメッセージは、前記サーバにおいて受信され、前記サーバは、前記選択されたルーティング経路および前記インテントインジケータデータを評価するために機械学習モデルを使用することによって前記応答を生成する、
C15に記載のコンピュータプログラム製品。
[C17]
前記固定電話は、前記クライアントデバイスと同じ電話番号に関連付けられる、C15に記載のコンピュータプログラム製品。
[C18]
前記1つまたは複数の提案は、複数のクライアントデバイスのための前記選択されたルーティング経路に関連する集約されたデータを含み、前記集約されたデータは、前記ネットワークデバイスに固有である、C13に記載のコンピュータプログラム製品。
[C19]
前記インテントインジケータデータおよびメタデータからインテント値を決定するために、前記選択されたルーティング経路についての前記メタデータを処理することをさらに備えるC13に記載のコンピュータプログラム製品。
[C20]
前記双方向通信セッションから通信データを受信することと、
自然言語理解データを生成するために、自然言語処理を使用して前記通信データを処理することと、
前記インテントインジケータデータについてのインテント値が、前記双方向通信セッションからの前記通信データのコンテキストにおける前記ネットワークデバイスのユーザの目的の信号であるように、前記自然言語理解データを使用して、前記インテントインジケータデータに基づくインテント値を選択することと、
をさらに備えるC13に記載のコンピュータプログラム製品。
【外国語明細書】