(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023166445
(43)【公開日】2023-11-21
(54)【発明の名称】メッセージングを自動化に転送するためのシステムおよび方法
(51)【国際特許分類】
H04L 67/564 20220101AFI20231114BHJP
H04L 51/02 20220101ALI20231114BHJP
H04L 51/214 20220101ALI20231114BHJP
【FI】
H04L67/564
H04L51/02
H04L51/214
【審査請求】有
【請求項の数】21
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023135409
(22)【出願日】2023-08-23
(62)【分割の表示】P 2022507381の分割
【原出願日】2020-08-07
(31)【優先権主張番号】62/883,994
(32)【優先日】2019-08-07
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】511094772
【氏名又は名称】ライブパーソン, インコーポレイテッド
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】ジョー・ブラッドリー
(72)【発明者】
【氏名】アラン・ギルクレスト
(72)【発明者】
【氏名】ラビキラン・チッタリ
(72)【発明者】
【氏名】ボディ・デブ
(57)【要約】 (修正有)
【課題】通信のルーティングを促進するコンピュータ実装方法を提供する。
【解決手段】コンピュータ実装方法は、会話の要求を受信し、メッセージングから識別された会話の意図に基づいて、ネットワークデバイスと端末デバイスとの間のメッセージングをあるタイプのボットに動的に転送し、ボットとの会話を監視してフィードバックを受信し、自動化中に選択されたタイプのボットの信頼性スコアを決定するために使用されるモデルにフィードバックを適用する。
【選択図】
図11
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
会話の要求を受信することと、
前記会話の意図を決定することと、ここにおいて、前記意図が、前記要求から決定される、
前記意図に基づいて、1つまたは複数のタイプのボットを識別することと、ここにおいて、ボットのタイプが、前記意図に基づく、対応する信頼性スコアを有し、ここにおいて、前記信頼性スコアが、前記意図が特定のタイプのボットを使用して解決可能である可能性を示す、
エージェントによって動作させられる端末デバイスからあるタイプのボットに前記会話を転送するための1つまたは複数のオプションを動的に提供するために、前記1つまたは複数のタイプのボットに対応する前記1つまたは複数の信頼性スコアを使用することと、ここにおいて、前記会話を転送するための前記1つまたは複数のオプションが端末デバイスにおいて受信されるとき、オプションを選択することが、選択されたタイプのボットとの会話を促進させ、ここにおいて、前記選択されたタイプのボットとの前記会話が、前記エージェントによって前記端末デバイスにおいて監視される、
前記会話についてのフィードバックを受信することと、
将来の意図と、1つまたは複数の将来の要求をルーティングすることに関連する前記1つまたは複数のタイプのボットに対する将来の信頼性スコアとを決定するために使用されるモデルに、前記フィードバックを適用することとを備える、コンピュータ実装方法。
【請求項2】
前記選択されたタイプのボットとの前記会話を前記端末デバイスにおいて表示すること
をさらに備える、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記選択されたタイプのボットとの前記会話に基づいて、感情スコアを計算すること
をさらに備える、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記感情スコアがしきい値を下回ると決定することと、
前記会話を前記端末デバイスに転送することと
をさらに備える、請求項3に記載のコンピュータ実装方法。
【請求項5】
前記要求が自然言語で行われる、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記オプションが選択されるとき、前記将来の意図と、前記1つまたは複数の将来の要求をルーティングすることに関連する前記1つまたは複数のタイプのボットに対する前記将来の信頼性スコアとを決定するために使用される前記モデルが、前記将来の意図が決定されるとき、前記オプションを提供するように更新される、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記フィードバックが、前記端末デバイスおよび前記会話の前記要求がそこから受信されたネットワークデバイスから受信される、請求項1に記載のコンピュータ実装方法。
【請求項8】
命令を含む、非一時的機械可読記憶媒体に有形に具現化されたコンピュータプログラム製品であって、前記命令が、1つまたは複数のプロセッサによって実行されたときに、前記1つまたは複数のプロセッサに、
会話の要求を受信することと、
前記会話の意図を決定することと、ここにおいて、前記意図が、前記要求から決定される、
前記意図に基づいて、1つまたは複数のタイプのボットを識別することと、ここにおいて、ボットのタイプが、前記意図に基づく、対応する信頼性スコアを有し、ここにおいて、前記信頼性スコアが、前記意図が特定のタイプのボットを使用して解決可能である可能性を示す、
エージェントによって動作させられる端末デバイスからあるタイプのボットに前記会話を転送するための1つまたは複数のオプションを動的に提供するために、前記1つまたは複数のタイプのボットに対応する前記1つまたは複数の信頼性スコアを使用することと、ここにおいて、前記会話を転送するための前記1つまたは複数のオプションが端末デバイスにおいて受信されるとき、オプションを選択することが、選択されたタイプのボットとの会話を促進させ、ここにおいて、前記選択されたタイプのボットとの前記会話が、前記エージェントによって前記端末デバイスにおいて監視される、
前記会話についてのフィードバックを受信することと、
将来の意図と、1つまたは複数の将来の要求をルーティングすることに関連する前記1つまたは複数のタイプのボットに対する将来の信頼性スコアとを決定するために使用されるモデルに、前記フィードバックを適用することとを含む動作を実行させる、コンピュータプログラム製品。
【請求項9】
前記動作が、
前記選択されたタイプのボットとの前記会話を前記端末デバイスにおいて表示することをさらに含む、請求項8に記載のコンピュータプログラム製品。
【請求項10】
前記動作が、
前記選択されたタイプのボットとの前記会話に基づいて、感情スコアを計算すること
をさらに備える、請求項8に記載のコンピュータプログラム製品。
【請求項11】
前記動作が、
前記感情スコアがしきい値を下回ると決定することと、
前記会話を前記端末デバイスに転送することと
をさらに含む、請求項10に記載のコンピュータプログラム製品。
【請求項12】
前記要求が自然言語で行われる、請求項8に記載のコンピュータプログラム製品。
【請求項13】
前記オプションが選択されるとき、前記将来の意図と、前記1つまたは複数の将来の要求をルーティングすることに関連する前記1つまたは複数のタイプのボットに対する前記将来の信頼性スコアとを決定するために使用される前記モデルが、前記将来の意図が決定されるとき、前記オプションを提供するように更新される、請求項8に記載のコンピュータプログラム製品。
【請求項14】
システムであって、
1つまたは複数のプロセッサと、
命令を含む、1つまたは複数の非一時的機械可読記憶媒体とを備え、前記命令が、前記1つまたは複数のプロセッサによって実行されたときに、前記1つまたは複数のプロセッサに、
会話の要求を受信することと、
前記会話の意図を決定することと、ここにおいて、前記意図が、前記要求から決定される、
前記意図に基づいて、1つまたは複数のタイプのボットを識別することと、ここにおいて、ボットのタイプが、前記意図に基づく、対応する信頼性スコアを有し、ここにおいて、前記信頼性スコアが、前記意図が特定のタイプのボットを使用して解決可能である可能性を示す、
エージェントによって動作させられる端末デバイスからあるタイプのボットに前記会話を転送するための1つまたは複数のオプションを動的に提供するために、前記1つまたは複数のタイプのボットに対応する前記1つまたは複数の信頼性スコアを使用することと、ここにおいて、前記会話を転送するための前記1つまたは複数のオプションが端末デバイスにおいて受信されるとき、オプションを選択することが、選択されたタイプのボットとの会話を促進させ、ここにおいて、前記選択されたタイプのボットとの前記会話が、前記エージェントによって前記端末デバイスにおいて監視される、
前記会話についてのフィードバックを受信することと、
将来の意図と、1つまたは複数の将来の要求をルーティングすることに関連する前記1つまたは複数のタイプのボットに対する将来の信頼性スコアとを決定するために使用されるモデルに、前記フィードバックを適用することとを含む動作を実行させる、システム。
【請求項15】
前記動作が、
前記選択されたタイプのボットとの前記会話を前記端末デバイスにおいて表示することをさらに含む、請求項14に記載のシステム。
【請求項16】
前記動作が、
前記選択されたタイプのボットとの前記会話に基づいて、感情スコアを計算すること
をさらに備える、請求項14に記載のシステム。
【請求項17】
前記動作が、
前記感情スコアがしきい値を下回ると決定することと、
前記会話を前記端末デバイスに転送することと
をさらに含む、請求項16記載のシステム。
【請求項18】
前記要求が自然言語で行われる、請求項14に記載のシステム。
【請求項19】
前記オプションが選択されるとき、前記将来の意図と、前記1つまたは複数の将来の要求をルーティングすることに関連する前記1つまたは複数のタイプのボットに対する前記将来の信頼性スコアとを決定するために使用される前記モデルが、前記将来の意図が決定されるとき、前記オプションを提供するように更新される、請求項14に記載のシステム。
【請求項20】
前記フィードバックが、前記端末デバイスおよび前記会話の前記要求がそこから受信されたネットワークデバイスから受信される、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001]本出願は、参照によりその全体が本明細書に組み込まれる、2019年8月7日に出願された、米国仮特許出願第62/883,994号の利益を主張する。
【0002】
[0002]本開示は、一般に、通信のルーティングを促進することに関する。より詳細には、ネットワークデバイスと端末デバイスとの間のメッセージングをボットに動的に転送し、自動化中にボットの性能を追跡するための技法が提供される。
【発明の概要】
【0003】
[0003]実施形態などの用語は、本開示の主題および以下の特許請求の範囲のすべてを広く指すことが意図される。これらの用語を含む記述は、本明細書で説明される主題を限定する、または以下の特許請求の意味または範囲を限定すると理解されるべきではない。本明細書で対象となる本開示の実施形態は、発明の概要ではなく、以下の特許請求の範囲により定義される。本発明の概要は、本開示の様々な態様のハイレベルの概要であり、以下で発明を実施するための形態の部分でさらに説明される概念のいくつかを紹介する。本発明の概要は、特許請求される主題の主要なまたは本質的な特徴を識別することが意図されず、請求される主題の範囲を決定するために独立して使用されることも意図されない。本主題は、本開示の明細書全体、いずれかまたはすべての図面および各請求項の適切な部分を参照することによって理解されるべきである。
【0004】
[0004]本開示のいくつかの実施形態は、コンピュータ実装方法を含む。本方法は、会話の要求を受信することを含み得る。本方法は、会話の意図を決定することをさらに含み得る。意図は、要求から決定され得る。本方法は、意図に基づいて、会話をボットに転送するオプションを自動的に提供することをさらに含み得る。このオプションが選択されるとき、ボットとの会話が促進され得る。本方法は、会話についてのフィードバックを受信することをさらに含み得る。本方法は、1つまたは複数の将来の要求に関連する将来の意図を決定するために使用されるモデルにフィードバックを適用することをさらに含み得る。
【0005】
[0005]本開示のいくつかの実施形態は、システムを含む。本システムは、1つまたは複数のデータプロセッサと、命令を含む非一時的コンピュータ可読記憶媒体とを含み、命令は、1つまたは複数のデータプロセッサによって実行されるとき、1つまたは複数のデータプロセッサに上記および本明細書で説明される方法を実行させる。
【0006】
[0006]本開示のいくつかの実施形態は、データ処理装置に上記および本明細書で説明される方法を実行させるように構成された命令を含む、非一時的機械可読記憶媒体内で有形に実施されるコンピュータプログラム製品を含む。
【0007】
[0007]本開示は、添付の図面に関連して説明される。
【図面の簡単な説明】
【0008】
【
図1】[0008]ネットワーク対話システムの一実施形態のブロック図。
【
図2】[0009]ネットワーク対話システムの別の実施形態のブロック図。
【
図3A】[0010]接続管理システムを含むネットワーク対話システムの他の実施形態のブロック図。
【
図3B】接続管理システムを含むネットワーク対話システムの他の実施形態のブロック図。
【
図3C】接続管理システムを含むネットワーク対話システムの他の実施形態のブロック図。
【
図4】[0011]接続構成要素の動作のプロトコルスタックマッピングの表現。
【
図5】[0012]一実施形態によるマルチデバイス通信交換システムを表す図。
【
図6】[0013]接続管理システムの一実施形態のブロック図。
【
図7】[0014]通信セッション中にボットと端末デバイスとを動的に切り替えるためのネットワーク環境のブロック図。
【
図9】[0016]機械学習技法を使用してエンドポイント選択を向上させるためのネットワーク環境を表すブロック図。
【
図10A】[0017]メッセージングを自動化に転送するためのユーザインターフェースのスクリーンショット。
【
図10B】メッセージングを自動化に転送するためのユーザインターフェースのスクリーンショット。
【
図10C】メッセージングを自動化に転送するためのユーザインターフェースのスクリーンショット。
【
図10D】メッセージングを自動化に転送するためのユーザインターフェースのスクリーンショット。
【
図10E】メッセージングを自動化に転送するためのユーザインターフェースのスクリーンショット。
【
図10F】メッセージングを自動化に転送するためのユーザインターフェースのスクリーンショット。
【
図10G】メッセージングを自動化に転送するためのユーザインターフェースのスクリーンショット。
【
図11】[0018]メッセージングを自動化に転送するための方法のフローチャート。
【発明を実施するための形態】
【0009】
[0019]添付の図では、同様の構成要素および/または特徴は同じ参照ラベルを有する場合がある。さらに、同じタイプの様々な構成要素は、参照ラベルの後に、ダッシュと、同様の構成要素を区別する第2のラベルとを続けることによって区別されてよい。本明細書において第1の参照ラベルのみが使用される場合、説明は、第2の参照ラベルにかかわらず、同じ第1の参照ラベルを有する同様の構成要素のどの1つにも適用可能である。
【0010】
[0020]以下の説明は、実施形態の好ましい例を与えるにすぎず、本開示の範囲、適用可能性、または構成を限定することは意図されない。そうではなく、実施形態の好ましい例の以下の説明は、実施形態の好ましい例を実装することを可能にする説明を当業者に与える。添付の特許請求の範囲に記載されるような趣旨および範囲から逸脱することなく、要素の機能および配置において様々な変更が行われ得ることを理解されたい。
【0011】
[0021]
図1は、本明細書で説明されるいくつかの実施形態および特徴を実装およびサポートするネットワーク対話システム100の一実施形態のブロック図を示す。いくつかの実施形態は、(ユーザ110によって動作され得る)ネットワークデバイス105と(エージェント120によって動作され得る)端末デバイス115との間に接続チャネルを確立することに関する。いくつかの実施形態では、ネットワーク対話システム100は、クライアント125に関連するクライアントデバイス130を含み得る。
【0012】
[0022]いくつかの実施形態では、ユーザ110は、ウェブサイトを個々にブラウジングすること、またはリモートサーバ140によって提供されるオンラインサービスにアクセスすることであってよい。クライアント125は、ウェブサイトまたはオンラインサービスを提供する、動作させる、または実行するエンティティ、または本明細書で説明されるクライアント125に利用可能なタスクを実行するために、そのようなエンティティによって採用または割り当てられた個人であってよい。エージェント120は、ウェブサイトまたはオンラインサービスに関して、サポートまたは情報をユーザ110に提供する任務を負ったサポートエージェントなど、個人であってよい。多数のエージェントの中から、特定のクライアント125に対するサポートまたは情報を提供するためにエージェントのサブセットが適することがある。エージェント120は、クライアント125に関連付けられてよく、または関連付けられなくてもよい。各エージェントは、1人または複数のクライアント125に関連付けられ得る。いくつかの非限定的な例では、ユーザ110は、パーソナルコンピューティングデバイスからオンラインストアで買い物する個人であってよく、クライアント125は、オンラインで製品を販売する企業であってよく、エージェント120は、企業によって採用された代表であってよい。様々な実施形態では、ユーザ110、クライアント125、およびエージェント120は、他の個人またはエンティティであってよい。
【0013】
[0023]
図1は、単一のネットワークデバイス105、端末デバイス115、およびクライアントデバイス130のみを示すが、対話システム100は、これらのタイプのデバイスのうちの1つまたは複数の各々のうちの複数または多く(たとえば、数十の、数百の、数千の)を含み得る。同様に、
図1は、単一のユーザ110、エージェント120、およびクライアント125のみを示すが、対話システム100は、そのようなエンティティのうちの1つまたは複数の各々のうちの複数または多くを含み得る。したがって、所与のネットワークデバイスと通信するために、どの端末デバイスが選択されるべきかを決定することが必要な場合がある。さらなる複雑な問題として、リモートサーバ140もまたネットワークデバイス通信を選択するために受信および応答するように構成され得る。
【0014】
[0024]接続管理システム150は、通信の戦略的ルーティングを促進し得る。通信は、(たとえば、タイプまたは話された入力など、エンティティからの入力に基づいて定義される)コンテンツを有するメッセージを含み得る。通信は、送信デバイスに関するデータ(たとえば、IPアドレス、アカウント識別子、デバイスタイプ、および/またはオペレーティングシステム)、宛先アドレス、クライアントの識別子、ウェブページまたはウェブページ要素(たとえば、通信が生成されたときに、またはさもなければ、通信に関連付けられたときに、訪問されているウェブページまたはウェブページ要素)の識別子もしくはオンライン履歴データ、時間(たとえば、時刻および/または日付)、および/または宛先アドレスなど、追加のデータを含んでもよい。他の情報が通信の中に含まれてよい。いくつかの事例では、通信管理システム150は、通信全体を別のデバイスにルーティングする。いくつかの事例では、接続管理システム150は、通信を修正するか、または(たとえば、最初の通信に基づいて)新しい通信を生成する。新しいまたは修正された通信は、メッセージ(または、その処理されたバージョン)、(たとえば、送信デバイス、ウェブページ、またはオンライン履歴および/または時間に関する)追加データの少なくともいくつか(またはすべて)、および/または接続管理システム150によって識別された他のデータ(たとえば、特定のアカウント識別子またはデバイスに関連するアカウントデータ)を含み得る。新しいまたは修正された通信は、他の情報も同様に含み得る。
【0015】
[0025]戦略的ルーティング促進の部分は、ネットワークデバイス105と1つまたは複数の端末デバイス115との間で1つまたは複数の接続チャネルを確立、更新、および使用することを含み得る。たとえば、ネットワークデバイス105から通信を受信すると、接続管理システム150は、通信がどのクライアント(もしあれば)に対応するかを最初に推定し得る。クライアントを識別すると、接続管理システム150は、ネットワークデバイス105と通信するためにクライアントに関連する端末デバイス115を識別し得る。いくつかの事例では、識別は、複数のエージェント(または、専門家もしくは代表)の各々のプロファイルを評価することを含んでよく、複数のエージェント内の各エージェント(たとえば、エージェント120)は、端末デバイス(たとえば、端末デバイス115)に関連付けられる。評価は、ネットワークデバイスメッセージ内のコンテンツに関係し得る。端末デバイス115の識別は、たとえば、すべての目的のために、参照によりその全体が本明細書に組み込まれる、2010年3月17日に出願された、米国出願第12/725,799号で説明される技法を含み得る。
【0016】
[0026]いくつかの事例では、接続管理システム150は、ネットワークデバイス105とクライアント(または、リモートサーバ140)に関連する端末デバイスとの間に任意の接続チャネルが確立されているかどうかを決定し、そうである場合、その通信を含めて一連の通信を交換するために、そのようなチャネルが使用されるべきかどうかを決定し得る。
【0017】
[0027]ネットワークデバイス105と通信するための端末デバイス115を選択すると、接続管理システム150は、ネットワークデバイス105と端末デバイス115との間に接続チャネルを確立し得る。いくつかの事例では、接続管理システム150は、選択された端末デバイス115にメッセージを送信し得る。メッセージは、ネットワークデバイス105と通信するために提案される割当ての容認を要求し得るか、またはそのような割当てが生成されていることを識別し得る。このメッセージは、ネットワークデバイス105に関する情報(たとえば、IPアドレス、デバイスタイプ、および/またはオペレーティングシステム)、関連するユーザ110に関する情報(たとえば、話される言語、クライアントと対話する持続時間、スキルレベル、感情(sentiment)、および/または話題の選好)、受信された通信、ネットワークデバイス105に対する通信を生成および送信するためのコード(たとえば、クリック可能なハイパーリンク)、および/または通信を生成し、ネットワークデバイス105に送信するための命令を含み得る。
【0018】
[0028]一事例では、ネットワークデバイス105と端末デバイス115との間の通信は、接続管理システム150を通してルーティングされ得る。そのような構成は、接続管理システム150が通信交換を監視し、デバイスまたは延長されたレイテンシのいずれかの非応答性などの(たとえば、規則に基づいて定義される)問題を検出することを可能にし得る。さらに、そのような構成は、たとえば、通信交換の品質を査定するために、および/または特定の通信後ターゲットを推進するためのルーティング規則を更新または生成するための学習をサポートするために後で使用され得る、通信の選択的または完全な記憶を促進し得る。
【0019】
[0029]いくつかの実施形態では、接続管理システム150は、通信交換をリアルタイムで監視し、ライブ通信に基づいて、自動化されたアクション(たとえば、規則ベースのアクション)を実行し得る。たとえば、接続管理システム150が、通信が特定の商品(たとえば、製品)に関係すると決定するとき、接続管理システム150は、その商品に関する追加情報(たとえば、利用可能な商品の品質、その商品に関する文書をサポートするためのリンク、またはその商品または同様の商品に関する他の情報)を含む追加メッセージを端末デバイス115に自動的に送信し得る。
【0020】
[0030]一事例では、指令された端末デバイス115は、接続管理システム150を通して通信を中継せずに、ネットワークデバイス105と通信し得る。1つまたは両方のデバイス105、115は、通信監視および/またはデータ記録を促進するための特定の通信基準またはコンテンツを接続管理システム150に報告してよい(またはしなくてもよい)。
【0021】
[0031]述べたように、接続管理システム150は、選択通信をリモートサーバ140にルーティングし得る。リモートサーバ140は、所定の方法で情報を提供するように構成され得る。たとえば、リモートサーバ140は、通信に応答して送信するために、定義された1つまたは複数のテキスト通路、音声記録および/またはファイルにアクセスし得る。リモートサーバ140は、たとえば、受信された通信の解析(たとえば、意味解析またはマッピング解析)に基づいて、特定のテキストパッセージ、記録またはファイルを選択し得る。
【0022】
[0032]接続管理システム150において実行されたルーティングおよび/または他の決定もしくは処理は、1つまたは複数のクライアントデバイス130によって少なくとも部分的に定義または提供された規則および/またはデータに基づいて実行され得る。たとえば、クライアントデバイス130は、エージェントの優先順位付け、端末デバイスタイプ、および/または話題/スキルマッチングを識別する通信を送信し得る。別の例として、クライアントデバイス130は、ルーティング決定に潜在的に影響を及ぼす様々な変数に加えるための1つまたは複数の重みを識別し得る(たとえば、言語適合性、予測される応答時間、デバイスタイプおよび能力、および/または端末デバイス負荷分散)。どの端末デバイスおよび/またはエージェントがクライアントに関連付けられることになるかは動的であり得ることを諒解されよう。クライアントデバイス130および/または端末デバイス115からの通信は、所与の端末デバイスおよび/またはエージェントがクライアントに関連する端末デバイスおよび/またはエージェントとして追加または除去されるべきであることを示す情報を提供し得る。たとえば、クライアントデバイス130は、IPアドレスとの通信、およびそのアドレスを有する端末デバイスがクライアント関連端末デバイスを識別するリストへ追加されるかまたはリストから除去されるかについての指示を送信し得る。
【0023】
[0033](たとえば、デバイス間の、デバイスと接続管理システム150との間の、リモートサーバ140と接続管理システム150との間の、またはリモートサーバ140とデバイスとの間の)各通信は、1つまたは複数のネットワーク170上で生じ得る。開かれたまたは閉じられたネットワークの任意の組合せが1つまたは複数のネットワーク170内に含まれてよい。好適なネットワークの例は、インターネット、パーソナルエリアネットワーク、ローカルエリアネットワーク(LAN)、広域エリアネットワーク(WAN)、またはワイヤレスローカルエリアネットワーク(WLAN)を含む。他のネットワークも同様に適していることがある。1つまたは複数のネットワーク170は、その中に完全に組み込まれてよいか、またはイントラネット、エクストラネット、またはそれらの組合せを含んでもよい。いくつかの事例では、1つまたは複数のネットワーク170内のネットワークは、ブルートゥース(登録商標)またはブルートゥース低エネルギー(Bluetooth(登録商標) Low Energy)チャネルなど、短距離通信チャネルを含む。一実施形態では、2つ以上のシステムおよび/またはデバイス間の通信は、セキュアソケットレイヤ(SSL)またはトランスポートレイヤセキュリティ(TLS)などのセキュア通信プロトコルによって達成され得る。加えて、データおよび/または取引詳細は、限定されないが、データ暗号化規格(DES)、トリプルDES、リベストーシャミアーエーデルマン(Rivest-Shamir-Adleman)暗号化(RSA)、ブローフィッシュ暗号化、高度暗号化規格(AES)、CAST-128、CAST-256、デコーリレーテッドファストサイファー(DFC:Decorrelated Fast Cipher)、タイニーエンクリプションアルゴリズム(TEA:Tiny Encryption Algorithm)、エクステンデッドTEA(XTEA:eXtended TEA)、コレクテッドブロックTEA(XXTEA:Corrected Block TEA)、および/またはRC5、など、任意の好都合な、既知の、または開発されることになる方法に基づいて暗号化され得る。
【0024】
[0034]ネットワークデバイス105、端末デバイス115、および/またはクライアントデバイス130は、たとえば、ポータブル電子デバイス(たとえば、スマートフォン、タブレット、ラップトップコンピュータ、またはスマートウェアラブルデバイス)または非ポータブル電子デバイス(たとえば、1つまたは複数のデスクトップコンピュータ、スマートアプライアンス、サーバ、および/またはプロセッサ)を含み得る。接続管理システム150は、ネットワークデバイス、端末デバイス、およびクライアントデバイスとは別に格納されてよく、または(たとえば、デバイス上のアプリケーションのインストールを通した)1つまたは複数のそのようなデバイスの部分であってよい。リモートサーバ140は、各デバイスおよび接続管理システム150とは別に格納されてよい、および/または別のデバイスまたはシステムの部分であってよい。
図1の各デバイス、サーバ、およびシステムは単一のデバイスとして示されているが、複数のデバイスが代わりに使用され得ることを諒解されよう。たとえば、ネットワークデバイスのセットは、単一のユーザから様々な通信を送信するために使用されてよく、またはリモートサーバ140は、サーバスタックを含んでよい。
【0025】
[0035]ソフトウェアエージェントまたはアプリケーションは、示されたデバイス、システム、またはサーバ上にインストールされ得るおよび/または実行可能であり得る。一事例では、ソフトウェアエージェントまたはアプリケーションは、様々な示された要素が相補的な方法で作用し得るように構成され得る。たとえば、デバイス上のソフトウェアエージェントは、デバイス使用に関するデータを収集して別個の接続管理システムに送信するように構成され得、別個の接続管理システム上のソフトウェアアプリケーションは、データを受信および処理するように構成され得る。
【0026】
[0036]
図2は、ネットワーク対話システム200の別の実施形態のブロック図を示す。概して、
図2は、ネットワークデバイス205が1つまたは複数の端末デバイス215と通信することを可能にするように構成および配置された様々な構成要素を示す。示される事例は、3つのローカルエリアネットワーク235内に含まれた9個の端末デバイス215を含む。
【0027】
[0037]いくつかの事例では、ネットワークデバイス205からの通信は、どの端末デバイスが通信を受信すべきかを少なくとも部分的にまたは全体的に示す宛先データ(たとえば、宛先IPアドレス)を含む。ネットワーク対話システム200は、宛先データを処理して適切なルーティングを促進することができる、1つまたは複数のネットワーク間接続構成要素240および/または1つまたは複数のネットワーク内接続構成要素255を含み得る。
【0028】
[0038]各ネットワーク間接続構成要素245は、複数のネットワーク235に接続され得、複数のネットワークカードをインストールさせる(たとえば、各カードを異なるネットワークに接続させる)ことができる。たとえば、ネットワーク間接続構成要素245は、広域ネットワーク270(たとえば、インターネット)および1つまたは複数のローカルエリアネットワーク235に接続され得る。示された事例では、通信がネットワークデバイス205から端末デバイスのうちのいずれかに送信されるために、示されたシステム内で、通信は複数のネットワーク間接続構成要素245によって処理されなければならない。
【0029】
[0039]ネットワーク間接続構成要素245が通信(または、通信に対応するパケットのセット)を受信するとき、ネットワーク間通信構成要素245は、宛先に関連するネットワークに通信を渡すためのルートの少なくとも部分を決定し得る。ルートは、たとえば、事前定義され、(たとえば、別のルータからのまたは別のデバイスからの)着信メッセージに基づいて生成または学習された、1つまたは複数のルートを含み得る、(たとえば、ルータに記憶された)ルーティングテーブルを使用して決定され得る。
【0030】
[0040]ネットワーク間接続構成要素245の例は、ルータ260とゲートウェイ265とを含む。ネットワーク間接続構成要素245(たとえば、ゲートウェイ265)は、ネットワークシステム間またはプロトコル間で変換するように構成され得る。たとえば、ゲートウェイ265は、送信制御プロトコル/インターネットプロトコル(TCP/IP)とインターネットワークパケット交換/シーケンス化パケット交換(IPX/SPX:Internetwork Packet Exchange/Sequenced Packet Exchange)デバイスとの間の通信を促進し得る。
【0031】
[0041]ローカルエリアネットワーク235において通信を受信すると、さらなるルーティングが依然として実行される必要がある。そのようなネットワーク内ルーティングは、スイッチ280またはハブ285など、ネットワーク内接続構成要素255を介して実行され得る。各ネットワーク内接続構成要素255は、複数の端末デバイス215に(たとえば、ワイヤレスに、またはイーサネット(登録商標)ケーブルを介してなど、ワイヤードで)接続され得る。ハブ285は、ハブ285が接続された各デバイスに対するすべての通信を繰り返すように構成され得る。各端末デバイスは、次いで、端末デバイスが宛先デバイスであるかどうか、または通信が無視されるべきであるかどうかを決定するために各通信を評価し得る。スイッチ280は、通信を宛先端末デバイスのみに選択的にダイレクトするように構成され得る。
【0032】
[0042]いくつかの事例では、ローカルエリアネットワーク235は、その各々が独立したファイアウォール、セキュリティ規則、およびネットワークプロトコルに関連付けられ得る、複数のセグメントに分割され得る。ネットワーク内接続構成要素255は、セグメント内ルーティングを促進するために、1つの、さらに多くの、またはすべてのセグメントの各々の中で提供され得る。ブリッジ280は、セグメント275にわたって通信をルーティングするように構成され得る。
【0033】
[0043]ネットワークにわたってまたはその中で通信を適切にルーティングするために、様々な構成要素は通信内の宛先データを解析する。たとえば、そのようなデータは、通信がどのネットワークにルーティングされるべきか、通信がネットワーク内のどのデバイスにルーティングされるべきか、またはどの通信を端末デバイスが処理すべきか(反対に、無視すべきか)を示し得る。しかしながら、いくつかの事例では、どの端末デバイス(また、さらにどのネットワーク)がネットワークデバイスからの通信に参加することになるかは直ちに明らかにならない。
【0034】
[0044]例示のために、端末デバイスのセットは、同様のタイプの応答通信を提供するように構成され得る。したがって、どのネットワークデバイスにその通信がルーティングされているかにかかわらず、ネットワークデバイスからの通信内のクエリは同様の方法で応答され得ることが予想され得る。この仮定はハイレベルでは適正であり得るが、端末デバイスに関する様々な詳細は、他と比較して特定のルーティングを有利にし得る。たとえば、セット内の端末デバイスは、(たとえば)どの通信チャネルがサポートされるか、ネットワークデバイスに対する地理的および/またはネットワーク近接性、および/または関連するエージェントの特性(たとえば、知識ベース、経験、話される言語、可用性、一般的なパーソナリティまたは感情、など)に関して互いと異なり得る。したがって、選択ルーティングは、ネットワークデバイス通信により正確におよび/または完全に応答する、より高速な応答を促進し得る。複雑なのは、端末デバイスに対する静的なルーティングマッピングネットワークデバイスが、通信の話題、チャネルタイプ、エージェント可用性、などにおける変化を明らかにすることに失敗し得ることである。
【0035】
[0045]
図3A~
図3Cは、接続管理システムを含むネットワーク対話システム300a~cの他の実施形態のブロック図を示す。示されるシステム300a~cの各々は、簡単のために、2つのローカルエリアネットワーク235のみを示すが、実施形態はローカルエリアネットワークの数を増やすように拡張され得ることを諒解されよう。システム300A~Cの各々は、どの端末デバイスがネットワークデバイス205と通信することになるかを識別し得、接続チャネルを確立および管理(たとえば、保持または閉鎖)し得、交換において通信を再ルーティングするかどうかまたはいつするかを決定し得る、などを行う、接続管理システム350を含み得る。したがって、接続管理システム350は、ルーティング決定に影響を及ぼすために、通信、エージェント可用性、端末デバイスまたはエージェントの能力、などを動的にリアルタイムで評価するように構成され得る。
【0036】
[0046]
図3Aでは、通信管理システム350は、ネットワークデバイス205およびリモートサーバ340の各々に関連付けられる(たとえば、接続管理システム350aは、ネットワークデバイス205に関連付けられ、通信管理システム350bは、リモートサーバ340に関連付けられる)。たとえば、接続管理システム350aおよび/または接続管理システム350bは、それぞれ、ネットワークデバイス205およびリモートサーバ340の各々の上にアプリケーションとしてインストールまたは記憶され得る。アプリケーションの実行は、たとえば、ネットワークデバイス205との通信交換に参加するために選択された端末デバイス215を識別するために、ネットワークデバイス205とリモートサーバ340との間の通信を促進し得る。識別は、本明細書で開示される1つまたは複数の要因(たとえば、可用性、エージェントのまたは端末デバイスの知識ベースを備えた通信の話題/詳細レベル間のマッチング、予測されるレイテンシ、チャネルタイプの可用性、など)に基づいて行われ得る。
【0037】
[0047]クライアントデバイス330は、ルーティング決定がどのように行われることになるかを示すクライアントデータを提供し得る。たとえば、そのようなデータは、特定の特性がどのように重み付けされるか、もしくはマッチするか、あるいは制約またはバイアス(たとえば、負荷分散または予測される応答レイテンシに関して)についての指示を含み得る。クライアントデータは、通信チャネルがいつ確立される(または閉鎖される)べきか、または通信が異なるネットワークデバイスにいつ再ルーティングされるべきかに関する仕様を含んでもよい。クライアントデータは、通信ルーティングに対する規則など、様々なクライアント特定規則を定義するために使用され得る。
【0038】
[0048]リモートサーバ340上で実行している通信管理システム350bは、どの通信チャネルがサポートされるか、ネットワークデバイスに対する地理的および/またはネットワーク近接性、端末デバイスとの通信レイテンシおよび/または安定性、端末デバイスのタイプ、端末デバイスの能力、端末デバイス(または、エージェント)が所与のネットワークデバイス(または、ユーザ)と前に通信したかどうか、および/または関連するエージェントの特性(たとえば、知識ベース、経験、話される言語、可用性、一般的なパーソナリティまたは感情、など)など、端末デバイスに関係する(たとえば、所与のクライアントに関係する)様々な基準を監視し得る。したがって、接続管理システム350bは、それらの基準に基づいて、ネットワークデバイス通信により正確におよび/または完全に応答する、より高速の応答を促進するためのルーティングを選択することが可能にされ得る。
【0039】
[0049]
図3Aに示される例では、ネットワークデバイス205とリモートサーバ340との間の通信交換は、宛先アドレスの早期の識別を促進し得る。ネットワークデバイス205は、その場合、後続の通信をダイレクトするために宛先アドレスを使用し得る。たとえば、ネットワークデバイス205は、(たとえば、1つまたは複数のネットワーク間接続および広域ネットワークを介して)リモートサーバ340に初期通信を送ることができ、リモートサーバ340は、1つまたは複数の対応するクライアントを識別し得る。リモートサーバ340は、次いで、1つまたは複数の対応するクライアントに関連する端末デバイスのセットを識別し、それらの端末デバイスに対する基準を収集し得る。基準は、通信交換に関与するための端末デバイスを選択するために(たとえば、リモートサーバ340によって)評価され得、端末デバイスに関する情報(たとえば、IPアドレス)は、ネットワークデバイス205に送られ得る。いくつかの実施形態では、リモートサーバ340は、様々な端末デバイスに対する基準を連続的にまたは周期的に収集および評価し、評価結果をデータストア内に記憶し得る。そのような実施形態では、1つまたは複数の対応するクライアントに関連する端末デバイスのセットを識別すると、リモートサーバ340は、データストアからの記憶された評価結果にアクセスし、記憶された評価結果に基づいて、通信交換に関与するための端末デバイスを選択し得る。
【0040】
[0050]
図3Bでは、接続管理システム350は、リレーおよび/または宛先アドレスとしてサービスするように構成され得る。したがって、たとえば、ネットワークデバイス205のセットは、各々が、接続管理システム350を宛先として識別する通信を送信し得る。接続管理システム350は、各通信を受信することができ、(たとえば、各端末デバイスに対する基準を生成するために)端末デバイスのセットを同時に監視し得る。監視および規則に基づいて、接続管理システム350は、自らが各通信を中継し得る端末デバイス215を識別し得る。実施形態に応じて、端末デバイス通信は、さらなる中継のために(たとえば、接続管理システム350の)一貫した宛先に同様にダイレクトされ得るか、または端末デバイスは、対応するネットワークデバイスと直接的に通信し始めることができる。これらの実施形態は、効率的なルーティングおよび完全な通信監視を促進し得る。
【0041】
[0051]
図3Cに示された実施形態は、
図3Bの実施形態と同様である。しかしながら、いくつかの実施形態では、接続管理システム350は、ネットワーク内構成要素(たとえば、端末デバイス、ネットワーク内接続、または他)に直接的に接続される。
【0042】
[0052]
図3A~
図3Cの多くの変形形態が企図されることを諒解されよう。たとえば、接続管理システム350は、接続管理システム350(または、その部分)に対応するアプリケーションがその構成要素の上にインストールされるように、接続構成要素(たとえば、ネットワーク間接続構成要素245またはネットワーク内接続構成要素255)に関連付けられ得る。アプリケーションは、たとえば、独立して、または(1つまたは複数の他の構成要素、ネットワークデバイス、またはリモートサーバ上で実行している)1つまたは複数の同様のまたは相補的アプリケーションと通信することによって、実行し得る。
【0043】
[0053]
図4は、接続構成要素の動作のプロトコルスタックマッピング400の表現を示す。より詳細には、
図4は、様々な接続構成要素に対応する開放型システム間相互接続(OSI)モデル内の動作のレイヤを識別する。
【0044】
[0054]OSIモデルは、複数の論理レイヤ402~414を含み得る。これらのレイヤは、レイヤ402~412が各々、より高いレベルにサービスし、レイヤ404~414が各々、下位レイヤによってサービスされるように、順序付きスタックで配置される。OSIモデルは、物理レイヤ402を含む。物理レイヤ402は、パラメータ物理通信(たとえば、電気、光、または電磁)を定義し得る。物理レイヤ402は、接続を確立および閉鎖するためのプロトコルなど、接続管理プロトコルをやはり定義する。物理レイヤ402は、フロー制御プロトコルおよび送信モードをさらに定義し得る。
【0045】
[0055]リンクレイヤ404は、ノードツーノード通信を管理し得る。リンクレイヤ404は、エラー(たとえば、物理レイヤ402内の送信エラー)を検出および補正し、アクセス許可を管理し得る。リンクレイヤ404は、媒体アクセス制御(MAC)レイヤおよび論理リンク制御(LLC)レイヤを含み得る。
【0046】
[0056]ネットワークレイヤ406は、同じネットワーク内のノードにわたって(たとえば、可変長の)転送データを(たとえば、データグラムとして)調整させることができる。ネットワークレイヤ406は、論理ネットワークアドレスを物理機械アドレスに変換し得る。
【0047】
[0057]トランスポートレイヤ408は、送信および受信品質を管理し得る。トランスポートレイヤ408は、送信制御プロトコル(TCP)など、データを転送するためのプロトコルを提供し得る。トランスポートレイヤ408は、送信のためのデータパケットのセグメント化/非セグメント化を実行し得、レイヤ402~406内で生じる送信エラーを検出し明らかにし得る。セッションレイヤ410は、ローカルアプリケーションとリモートアプリケーションとの間の接続を開始、保持、および終了し得る。セッションは、リモートプロシージャ対話(remote-procedure interactions)の部分として使用され得る。プレゼンテーションレイヤ412は、アプリケーションレイヤまたはネットワークレイヤによって容認されることが知られているデータタイプに基づいて、データを暗号化、解読、およびフォーマットし得る。
【0048】
[0058]アプリケーションレイヤ414は、通信を制御または管理するソフトウェアアプリケーションと対話し得る。そのようなアプリケーションを介して、アプリケーションレイヤ414は、(たとえば)宛先、ローカルリソース状態もしくは可用性、および/または通信コンテンツもしくはフォーマッティングを識別し得る。様々なレイヤ402~414は、利用可能および適用可能な場合、他の機能を実行し得る。
【0049】
[0059]ネットワーク内接続構成要素422、424は、物理レイヤ402およびリンクレイヤ404内で動作するとして示される。より詳細には、ハブは、動作が通信の受信および送信に対して制御され得るように、物理レイヤ内で動作し得る。ハブは通信に対処するまたはデータをフィルタ処理する能力に欠けるため、ハブはより高いレベルで動作する能力をほとんどから全く持たない。一方、スイッチは、アドレス(たとえば、MACアドレス)に基づいて通信フレームをフィルタ処理することが可能であるため、スイッチはリンクレイヤ404内で動作し得る。
【0050】
[0060]一方、ネットワーク間接続構成要素426、428は、より高いレベル(たとえば、レイヤ406~414)で動作することが示される。たとえば、ルータは、アドレス(たとえば、IPアドレス)に基づいて、通信データパケットをフィルタ処理し得る。ルータは、パケットを適切なネットワークにダイレクトするために、アドレスに基づいてパケットを特定のポートに転送し得る。ゲートウェイは、ネットワークレイヤ以上において動作し、(たとえば、プロトコルまたはアーキテクチャにわたって)データの同様のフィルタ処理およびダイレクト、ならびにさらなる変換を実行し得る。
【0051】
[0061]接続管理システム450は、様々な実施形態において、様々なレイヤのうちの1つ、より多く、すべて、またはいずれかと対話すること、および/またはその上で動作することが可能である。たとえば、接続管理システム450は、ハブが通信する端末デバイスを動的に調整するために、ハブと対話し得る。別の例として、接続管理システム450は、その構成要素が宛先(たとえば、MAC、論理、または物理)アドレスとしてどの端末デバイスを選択するかに影響を及ぼすために、ブリッジ、スイッチ、ルータ、またはゲートウェイと通信し得る。さらなる例として、接続管理システム450は、トランスポートレイヤ408上でデータパケットのセグメント、セッションレイヤ410上でセッション持続時間、および/またはプレゼンテーションレイヤ412上で暗号化および/または圧縮を監視、制御、またはダイレクトし得る。いくつかの実施形態では、接続管理システム450は、特定のレイヤ上で動作する装置(たとえば、リンクレイヤ404上で動作するスイッチ)と通信を交換する(たとえば、そこにコマンドを送る)ことによって、既存の(たとえば、ネットワークデバイスと端末デバイスとの間の)通信を特定の方法でルーティングまたは修正することによって、および/または既存の通信に基づいて、特定の情報(たとえば、新しい宛先アドレス)を含む新しい通信を生成することによって、様々なレイヤと対話し得る。したがって、接続管理システム450は、様々なデバイスとの対話を介して、および/または様々なプロトコルスタックレイヤにおいて影響を及ぼす動作を介して、通信ルーティングおよびチャネル確立(または、保持または終了)に影響を及ぼし得る。
【0052】
[0062]
図5は、一実施形態によるマルチデバイス通信交換システム500を表す。システム500は、様々なタイプの通信チャネルを介して様々なタイプの端末デバイスと通信するように構成されたネットワークデバイス505を含む。
【0053】
[0063]示される事例では、ネットワークデバイス505は、(たとえば、基地局510を介して)セルラーネットワーク上で通信を送信し得る。通信は、動作ネットワーク515にルーティングされ得る。動作ネットワーク515は、通信を受信し、どの端末デバイスがその通信に応答するかを識別する接続管理システム520を含み得る。そのような決定は、その通信が関係するクライアントを(たとえば、コンテンツ解析またはクライアントを示すユーザ入力に基づいて)識別すること、およびそのクライアントに関連する1つまたは複数の端末デバイスの各々に対する1つまたは複数の基準を決定することに依存し得る。たとえば、
図5において、端末デバイス530a~cの各クラスタは、異なるクライアントに対応し得る。端末デバイスは、地理的にコロケートされても、または分散されてもよい。これらの基準は、記憶または学習されたデータおよび/または(たとえば、可用性に基づく)リアルタイム監視に基づいて決定され得る。
【0054】
[0064]接続管理システム520は、1つまたは複数のルータ525、または他のネットワーク間もしくはネットワーク内接続構成要素を介して、様々な端末デバイスと通信し得る。接続管理システム520は、通信、端末デバイス動作、クライアント規則、および/または1つまたは複数のデータストアにおけるユーザ関連アクション(たとえば、オンラインアクティビティ)からの、またはそれに関する、データを収集、解析、および/または記憶し得る。そのようなデータは、通信ルーティングに影響を及ぼし得る。
【0055】
[0065]特に、様々な他のデバイスは、通信ルーティングおよび/または処理に影響を及ぼすためにさらに使用され得る。たとえば、示される事例では、接続管理システム520は、ウェブサーバ540にも接続される。したがって、接続管理システム520は、技術的な商品詳細など、関心を引くデータを検索し得る。
【0056】
[0066]ネットワークデバイス505は、(たとえば、ウェブサーバ545を含めて)ウェブサーバに接続されてもよい。いくつかの事例では、そのようなサーバとの通信は、接続管理システム520との通信交換を開始するための最初のオプションを提供される。たとえば、ネットワークデバイス505は、特定のウェブページを訪問している間に通信機会が利用可能であり、そのようなオプションが提示され得ることを検出し得る。
【0057】
[0067]通信システム500の1つまたは複数の要素は、ソーシャルネットワーキングサーバ550に接続されてもよい。ソーシャルネットワーキングサーバ550は、様々なユーザデバイスから受信されたデータをアグリゲートし得る。したがって、たとえば、接続管理システム520は、所与のユーザまたはユーザのクラスの一般的な(または、ユーザ固有の)行動を推定することが可能であり得る。
【0058】
[0068]
図6は、接続管理システム600の一実施形態のブロック図を示す。メッセージ受信機インターフェース605は、メッセージを受信し得る。いくつかの事例では、メッセージは、たとえば、ネットワークデバイスまたは端末デバイスなど、(たとえば、接続管理システム600とは別に格納された、またな同じハウジング内の)ソースデバイスによって送信された通信の部分として受信され得る。いくつかの事例では、通信は、2つのデバイス(たとえば、ネットワークデバイスおよび端末デバイス)間にルーティングされた一連のメッセージまたはあるメッセージの交換を含み得る、一連の通信またはある通信の交換の部分であり得る。このメッセージまたは通信交換は、デバイス同士の間の対話の部分であり得る、および/またはそれを定義し得る。通信チャネルまたは動作チャネルは、デバイス同士の間のルーティングおよび通信交換を促進するために使用される、1つまたは複数のプロトコル(たとえば、ルーティングプロトコル、タスク割当てプロトコル、および/またはアドレス指定プロトコル)を含み得る。
【0059】
[0069]いくつかの事例では、メッセージは、ローカルまたはリモートユーザ対話において受信された入力に基づいて生成されたメッセージを含み得る。たとえば、メッセージは、ボタンまたはキー押下または記録された音声信号に基づいて生成されたメッセージを含み得る。一事例では、メッセージは、ネットワークデバイスが、特定のアプリページまたはウェブサイトを提示している、または特定の入力コマンド(たとえば、キーシーケンス)を提供したと検出すると生成されるメッセージなど、自動的に生成されたメッセージを含む。メッセージは、通信交換を開始するための命令または要求など、命令または要求を含み得る。
【0060】
[0070]いくつかの事例では、メッセージは、クライアントの識別子を含んでよいか、またはそれに関連付けられてよい。たとえば、メッセージは、クライアント(または、クライアントに関連するデバイス)を明示的に識別することができる;メッセージは、クライアントに関連するウェブページまたはアプリページを含んでよいか、またはそれに関連付けられてよい;メッセージは、クライアントに関連する宛先アドレスを含んでよいか、またはそれに関連付けられてよい;またはメッセージは、クライアントに関連する商品(たとえば、製品)またはサービスの識別情報を含んでよいか、またはそれに関連付けられてよい。例示のために、ネットワークデバイスは、通信をエージェントに送信するためのオプションを提供し得る、特定のクライアントのアプリページを提示していることがある。メッセージに対応するユーザ入力を受信すると、通信は、そのメッセージおよび特定のクライアントの識別子を含めるために生成され得る。
【0061】
[0071]処理エンジン610は、受信された通信および/またはメッセージを処理し得る。処理は、たとえば、1つまたは複数の特定のデータ要素(たとえば、メッセージ、クライアント識別子、ネットワークデバイス識別子、アカウント識別子など)を抽出すること含み得る。処理は、(たとえば、特定のデバイスタイプ、オペレーティングシステム、通信チャネルタイプ、プロトコルおよび/またはネットワークに適合するように)フォーマッティングまたは通信タイプを転送することを含み得る。
【0062】
[0072]メッセージ査定エンジン615は、(たとえば、抽出または受信された)メッセージを査定し得る。査定は、たとえば、メッセージに対する1つまたは複数のカテゴリーまたはタグを識別することを含み得る。カテゴリーまたはタグタイプの例は、(たとえば)話題、感情、複雑性、および緊急性を含み得る。メッセージをカテゴリー化することとタグ付けすることの差異は、カテゴリーは(たとえば、カテゴリーオプションの事前定義されたセットに従って)限定され得るが、タグはオープンであり得ることである。話題は、たとえば、技術的問題、ユーザの質問、または要求を含み得る。カテゴリーまたはタグは、たとえば、(たとえば、キーワード、文の構造、反復語、句読文字、および/または冠詞ではない語(non-article words)を識別することによる)メッセージの意味解析、(たとえば、選択された1つまたは複数のカテゴリーを有する)ユーザ入力、および/またはメッセージ関連統計(たとえば、タイプ速度および/または応答レイテンシ)に基づいて決定され得る。
【0063】
[0073]いくつかの事例では、メッセージ査定エンジン615は、メッセージに対する基準を決定し得る。基準は、たとえば、文字、語、大文字、すべて大文字の語、または特定の文字または句読符(たとえば、感嘆符、疑問符、および/またはピリオド)の例の数を含み得る。基準は、感嘆符(または、疑問符)で終わる文の比率、すべて大文字である語の比率、など、比率を含み得る。
【0064】
[0074]メッセージ査定エンジン615は、メッセージ、メッセージ基準、および/またはメッセージ統計をメッセージデータストア620内に記憶し得る。各メッセージは、対応するソースデバイス、宛先デバイス、ネットワークデバイス、端末デバイス、クライアント、1つまたは複数のカテゴリー、1つまたは複数の段階および/またはメッセージ関連統計など、他のデータ(たとえば、メタデータ)に関連付けられて記憶されてもよい。接続管理システム600の様々な構成要素(たとえば、メッセージ査定エンジン615および/または対話管理エンジン625)は、クエリ応答メッセージ、メッセージ基準、および/またはメッセージ統計を検索するためにメッセージデータストア620に問い合わせることができる。
【0065】
[0075]対話管理エンジン625は、どのデバイスに通信がルーティングされるべきか、および受信デバイスおよび送信デバイスがどのように通信するべきかを決定し得る。これらの決定の各々は、たとえば、特定のネットワークデバイス(または、特定のユーザに関連する任意のネットワークデバイス)が端末デバイスのセット内の端末デバイス(たとえば、接続管理システム600に関連する任意の端末デバイスまたは1人または複数の特定のクライアントに関連する任意の端末デバイス)と前に通信したかどうかに依存し得る。
【0066】
[0076]いくつかの事例では、ネットワークデバイス(または、同じユーザまたはプロファイルに関連する他のネットワークデバイス)が所与の端末デバイスと前に通信しているとき、通信ルーティングは、概して、同じ端末デバイスに対してバイアスされ得る。ルーティングに影響を及ぼし得る他の要因は、たとえば、端末デバイス(または、対応するエージェント)が利用可能であるかどうか、および/または端末デバイスの予測された応答レイテンシを含み得る。そのような要因は、絶対的であると見なされ得るか、または他の端末デバイスに対応する同様の基準に対して相対的であると見なされ得る。再ルーティング規則(たとえば、クライアント固有のまたは一般的な規則)は、エージェント一貫性を断念する(forego)かどうかを決定するために、そのような要因が、どのように査定され、重み付けされるべきかを示し得る。
【0067】
[0077]ネットワークデバイス(または、同じユーザまたはアカウントに関連する他のネットワークデバイス)が所与の端末デバイスと前に通信していないとき、たとえば、様々なエージェントの知識ベースが通信の話題に対応する範囲、所与の時点におけるおよび/またはチャネルタイプに対する様々なエージェントの可用性、(たとえば、クライアントに関連する)端末デバイスのタイプおよび/または能力などの要因に基づいて、端末デバイス選択が実行され得る。一事例では、規則は、これらなど、1つまたは複数の要因に対するサブパラメータおよび各パラメータを割り当てるための重みをどのように決定するかを識別し得る。重み付けされたサブパラメータを組み合わせる(たとえば、合計する)ことによって、各エージェントに対するパラメータが決定され得る。次いで、端末デバイスのパラメータを比較することによって端末デバイス選択が行われ得る。
【0068】
[0078]デバイスがどのように通信するかを決定することに関して、対話管理エンジン625は、端末デバイスが(たとえば)SMSメッセージ、音声呼出し、音声通信、などを介して、通信に応答すべきかどうかを(たとえば)決定し得る。通信タイプは、たとえば、(たとえば、クライアントまたはユーザによって少なくとも部分的に定義された)通信タイプ優先順位リスト、(たとえば、一貫性を促すために)ネットワークデバイスから前に受信された通信のタイプ、受信されたメッセージの複雑性、ネットワークデバイスの能力、および/または1つまたは複数の端末デバイスの可用性に基づいて、選択され得る。明らかに、いくつかの通信タイプは、(たとえば、高速メッセージ応答が予想される場合)リアルタイム通信をもたらすことになり、他の通信タイプは、(たとえば、メッセージ同士の間の(たとえば、数分または数時間の)遅延が容認できる場合)非同期通信をもたらすことがある。
【0069】
[0079]さらに、対話管理エンジン625は、2つのデバイス間で連続チャネルが確立、使用、または終了されるべきかを決定し得る。連続チャネルは、ネットワークデバイスから指定された端末デバイスへのさらなる通信のルーティングを促進するように構築され得る。このバイアスは、メッセージシリーズにわたってすら残存し得る。いくつかの事例では、(たとえば、エージェントを識別する)連続チャネルの表現は、ネットワークデバイス上に提示されることになるプレゼンテーション内に含まれ得る。このようにして、ユーザは、効率性を促進するために、通信が一貫してルーティングされるべきであることを理解し得る。
【0070】
[0080]一事例では、パラメータは、所与のネットワークデバイスおよび端末デバイスに対応する接続パラメータを決定するために、本明細書で説明される1つまたは複数の要因および(たとえば、1つまたは複数の要因の各々に対する重みを含む)規則を使用して生成され得る。パラメータは、マッチ全体または所与の通信または通信シリーズに固有のマッチに関係し得る。したがって、たとえば、パラメータは、所与の端末デバイスがネットワークデバイス通信に応答するのに適すると予測される程度を反映し得る。いくつかの事例では、パラメータ解析は、所与の通信をルーティングする端末デバイスの各々、および接続チャネルを確立、使用、または終了するかどうかを識別するために使用され得る。パラメータ解析がルーティング決定およびチャネル決定の両方に対処するために使用されるとき、各決定に関連するパラメータは、同じ、同様の、または異なる方法で決定され得る。
【0071】
[0081]したがって、たとえば、特定のメッセージクエリに応答するためのパラメータに対して、そのパラメータが長期マッチの強度を予測するためのパラメータであるかどうかに応じて、異なる要因が考慮され得ることを諒解されよう。たとえば、前者の事例では、スケジュール全体および時間帯の考慮が重要であり得るが、後者の事例では、即時可用性がより高く重み付けされ得る。単一のネットワークデバイス/端末デバイスの組合せに対してあるパラメータが決定され得、または各々が所与のネットワークデバイスと異なる端末デバイスとの間のマッチを特徴付ける複数のパラメータが決定され得る。
【0072】
[0082]例示のために、クライアントに関連する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の端末デバイスであることを示し得る。特定の端末デバイスに対するルーティングが成功しなかった場合、メッセージは、次の最高のパラメータを備えたデバイスにルーティングされ得る、などである。
【0073】
[0083]パラメータは、1つまたは複数の絶対しきい値または相対しきい値と比較され得る。たとえば、端末デバイスのセットに対するパラメータは、通信がルーティングされ得る端末デバイスを選択する目的で高いパラメータを識別するために互いと比較され得る。別の例として、パラメータ(たとえば、高いパラメータ)は、端末デバイスとの連続チャネルを確立するかどうかを決定するために、1つまたは複数の絶対しきい値と比較され得る。連続チャネルを確立するための全体的しきい値は、所与の一連のメッセージ内で一貫して通信をルーティングするためのしきい値よりも高くてよい(しかしながら、そうでなくてもよい)。全体的しきい値と通信を一貫してルーティングするかどうかを決定するためのしきい値との間の差異は、チャネルの拡張されたユーティリティを考慮すると、連続チャネルの文脈において強い整合が重要であるためであり得る。いくつかの実施形態では、連続チャネルを使用するための全体的しきい値は、連続チャネルを確立するためのおよび/または所与の一連のメッセージ内で一貫して通信をルーティングするためのしきい値よりも低いことがある(しかしながら、そうでなくてもよい)。
【0074】
[0084]対話管理エンジン625は、様々な文脈において、アカウントエンジン630と対話し得る。たとえば、アカウントエンジン630は、デバイスに対応するアカウントを識別するために、アカウントデータストア635内のネットワークデバイスまたは端末デバイスの識別子をルックアップし得る。さらに、アカウントエンジン630は、前の通信交換に関するデータ(たとえば、時間、関連する他のデバイス、チャネルタイプ、解像度段階、話題、および/または関連するクライアント識別子)、(たとえば、1つまたは複数のクライアントの各々に対して、何らかのチャネルが存在するかどうか、各チャネルに関連する端末デバイス、確立時間、使用頻度、最後の使用日、何らかのチャネル制約および/またはサポートされる通信タイプを示す)接続チャネルに関するデータ、ユーザまたはエージェントの選好または制約に関する(たとえば、端末デバイス選択、応答レイテンシ、端末デバイス一貫性、エージェント専門知識、および/または通信タイプ選好または制約に関する)データ、および/またはユーザまたはエージェントの特性(たとえば、年齢、話されるまたは好まれる言語、地理的ロケーション、関心、など)に関するデータを保持し得る。
【0075】
[0085]さらに、対話管理エンジン625は、アカウントデータストア635が現在のチャネルデータを反映するために更新され得るように、アカウントエンジン630に様々な接続チャネルアクションについて警告し得る。たとえば、チャネルを確立すると、対話管理エンジン625は、アカウントエンジン630にその確立について通知し、ネットワークデバイス、端末デバイス、アカウント、およびクライアントのうちの1つまたは複数を識別し得る。アカウントエンジン635は、(いくつかの事例では)ユーザが利用可能であるエージェント一貫性を認識し得るように、チャネルの存在を後でユーザに通知し得る。
【0076】
[0086]対話管理エンジン625は、通信を1つまたは複数のクライアント(および/または関連ブランド)にマッピングし得るクライアントマッピングエンジン640とさらに対話し得る。いくつかの事例では、ネットワークデバイス自体から受信された通信は、クライアントに対応する識別子(たとえば、クライアントの識別子、ウェブページ、またはアプリページ)を含む。識別子は、(たとえば、クライアントマッピングエンジン640が検出し得る)メッセージの部分として含まれてよく、またはメッセージ包含的通信内の他のデータとして含まれてもよい。クライアントマッピングエンジン640は、次いで、クライアントに関する追加データおよび/またはクライアントの識別子を検出するために、クライアントデータストア645内の識別子をルックアップし得る。
【0077】
[0087]いくつかの事例では、メッセージは、特にいずれかのクライアントに対応しなくてよい。たとえば、メッセージは、一般的なクエリを含み得る。クライアントマッピングエンジン640は、たとえば、メッセージに対する意味解析を実行し、1つまたは複数のキーワードを識別し、キーワードに関連する1つまたは複数のクライアントを識別し得る。いくつかの事例では、単一のクライアントが識別される。いくつかの事例では、複数のクライアントが識別される。各クライアントの識別は、次いで、ユーザが(たとえば、関連する端末デバイスを介して)通信するクライアントを選択することができるように、ネットワークデバイスを介して提示され得る。
【0078】
[0088]クライアントデータストア645は、クライアントに関連する1つまたは複数の端末デバイス(および/またはエージェント)の識別情報を含み得る。端末ルーティングエンジン650は、ルーティング決定に影響を及ぼすために、1つの、さらに多くの、またはすべてのそのような端末デバイス(および/またはエージェント)の各々に関係するデータを検索または収集し得る。たとえば、端末ルーティングエンジン650は、端末デバイスのデバイスタイプ、オペレーティングシステム、通信タイプ能力、インストールされたアプリケーションアクセサリ、地理的ロケーション、および/または識別子(たとえば、IPアドレス)などの情報を記憶し得る、端末データストア655を保持し得る。いくつかの情報は動的に更新され得る。たとえば、端末デバイスが利用可能であるかどうかを示す情報は、(たとえば)(たとえば、デバイスがスリープであるかどうか、オフ/オンにされているかどうか、非アクティブ/アクティブであるかどうかを識別する、または入力が時間期間内に受信されているかどうかを識別する)端末デバイスからの通信、(たとえば、端末デバイスが通信交換の部分に関連するかどうか、またはそれに割り当てられているかどうかを示す)通信ルーティング、または通信交換が終了または開始したことを示す、ネットワークデバイスまたは端末デバイスからの通信に基づいて、動的に更新され得る。
【0079】
[0089]様々な文脈において、1つまたは複数の通信交換に参加していることは、必ずしも端末デバイスが別の通信交換に参加するために利用可能でないことを示すとは限らないことが諒解されよう。通信タイプ(たとえば、メッセージ)、クライアント識別されたまたはユーザ識別されたターゲット応答時間、および/または(たとえば、一般にまたはユーザに関する)システム負荷などの様々な要因は、どの程度多くの交換に端末デバイスが関与し得るかに影響を及ぼし得る。
【0080】
[0090]対話管理エンジン625が通信交換または接続チャネルに関与するための端末デバイスを識別したとき、対話管理エンジン625は、宛先(たとえば、IPアドレス)アドレス、デバイスタイプ、プロトコル、など、端末デバイスに関する何らかの関連データを端末データストア655から検索し得る端末ルーティングエンジン650に通知し得る。処理エンジン610は、次いで、(いくつかの事例では)特定のフォーマットを有するために、特定のプロトコルに準拠するために、など、メッセージ包含的通知を修正し得るか、または(メッセージを含む)新しい通信を生成し得る。いくつかの事例では、新しいまたは修正されたメッセージは、ネットワークデバイスに対応するアカウントデータ、メッセージクロニクル、および/またはクライアントデータなど、追加のデータを含み得る。
【0081】
[0091]メッセージ送信機インターフェース660は、次いで、通信を端末デバイスに送信し得る。送信は、たとえば、別個のハウジング内に格納されたデバイスへのワイヤードまたはワイヤレス送信を含み得る。端末デバイスは、接続管理システム600と同じまたは異なるネットワーク(たとえば、ローカルエリアネットワーク)内に端末デバイスを含み得る。したがって、通信を端末デバイスに送信することは、通信をネットワーク間またはネットワーク内接続構成要素に送信することを含み得る。
【0082】
[0092](たとえば、ユーザによって動作させられる)ネットワークデバイスとの通信セッション中にボットを介してメッセージを自動化に転送するためのシステムおよび方法が提供される。ユーザは、問題の解決に関して、エージェントとの会話を開始するためにネットワークデバイスを使用し得る。エージェントは、ユーザの意図の解決を加速させるために関連する端末デバイス上でウェッジを起動し得る。ユーザの意図は、自動的に識別され、ボットに転送するために推奨される自動化が行われ得る。注文番号、アカウント番号、など、主要なユーザ情報も提供され得る。エージェントは、エージェントが転送に対する推奨についてのフィードバックを提供することを可能にするボットへの転送を、手動でまたは自動的に、開始し得る。さらに、エージェントは、転送された会話をウォッチし、ユーザが不満足であるように思われ始める場合、会話を助けるために、端末デバイスを使用し得る。ユーザとボットとの間の会話は、エージェントとの会話にインラインで出現し得る。
【0083】
[0093]いくつかの実施形態では、エージェントは、ボットに転送された複数の会話を監視し、必要に応じて、会話を助けることが可能である。感情スコアは、会話を助ける優先順位を促進するために端末デバイス上に表示されるために利用され得る。「意図のヒント」および「推奨される自動化」など、人工知能を利用するアシスト特徴は、会話窓内にアクション可能なインライン示唆として示され得る。フィードバックは、データ科学をトレーニング入力としてモデルに適用するために全体として使用および解析され得る。
【0084】
[0094]いくつかの実装形態では、ボットは、ネットワークデバイスと自律的に通信するように構成され得る。さらに、ボットは特定の能力に対して構成され得る。能力の例は、データベース記録を更新すること、更新をユーザに提供すること、ユーザに関する追加データをエージェントに提供すること、ユーザの意図を決定し、その意図に基づいて、ユーザを宛先システムにルーティングすること、ユーザと通信しているエージェントに対する応答を予測または示唆すること、1つまたは複数の追加のボットまたはエージェントを含めるために通信セッションをエスカレートさせること、および他の好適な能力を含み得る。いくつかの実装形態では、ボットが(たとえば、チャット対応インターフェースを使用した)通信セッション中に(たとえば、ユーザによって動作させられる)ネットワークデバイスと通信している間、通信サーバは、端末デバイスを用いてボットを切り替えることを自動的および動的に決定し得る。たとえば、ボットは、いくつかのタスク(たとえば、ユーザに関連するデータベース記録を更新すること)に関してユーザと通信し得るが、端末デバイスは、より困難なタスクに関してユーザと通信し得る(たとえば、技術的問題を解決するための通信チャネルを使用した通信)。
【0085】
[0095]いくつかの実装形態では、通信セッション中に自動化に切り替えるかどうかを決定することは、通信セッション内のメッセージの1つまたは複数の特性の解析に基づき得る。さらに、メッセージ、会話、エンティティ、エージェント、などの感情を表すために動的感情パラメータが生成され得る。たとえば、動的感情パラメータが、ユーザがボットに苛立っていることを示す場合、システムは、ライブエージェントがユーザと通信し得るように、ボットを端末デバイスと自動的に切り替えることができる。すべての目的のために、その内容全体が参照により本明細書に組み込まれる、2016年6月2日に出願された米国特許出願第15/171,525号を参照されたい。いくつかの例では、ボットと端末デバイスとを切り替えるかどうかを決定することは、ユーザからの催促なしに実行され得る。決定は、通信セッション(たとえば、チャット)内の現在のメッセージの特性、前の通信セッションにおいてユーザによって送信された前のメッセージの特性、会話内の複数のメッセージに対する特性(たとえば、感情)の軌道、またはユーザに関連する追加情報(たとえば、プロファイル情報、選好情報、およびユーザに関連する他の好適な情報)を含めて、任意の数の要因に基づいて、通信サーバにおいて自動的に実行され得る。
【0086】
[0096]
図7は、通信セッション中にボットと端末デバイスとを動的に切り替えるためのネットワーク環境のブロック図を示す。いくつかの実装形態では、ネットワーク環境700は、ネットワークデバイス705と、通信サーバ710と、端末デバイス715と、ボット720とを含み得る。通信サーバ710は、少なくとも1つの記憶デバイスを備えた1つまたは複数のプロセッサを備えたサーバであってよく、本明細書で説明される方法および技法を実行するように構成され得る。たとえば、通信サーバ710は、(たとえば、ユーザによって動作させられる)ネットワークデバイスと(たとえば、エージェントによって動作させられる)端末デバイスとの間の通信セッションを管理し得る。通信サーバ710は、ネットワークデバイス705および端末デバイス715が、通信セッション中に互いと通信し得るように、ネットワークデバイス705と端末デバイス715との間に通信チャネルを確立し得る。通信セッションは、ネットワークデバイス705と端末デバイス715との間の1つまたは複数のメッセージの交換を促進し得る。本開示は、通信セッション中のメッセージの交換に限定されない。他の形態の通信が、通信セッション、たとえば、ビデオ通信(たとえば、ビデオフィード)およびオーディオ通信(たとえば、ボイスオーバIP接続)によって促進され得る。
【0087】
[0097]いくつかの実装形態では、通信サーバ710は、ネットワークデバイス705とボット720との間で通信チャネルを確立し得る。ボット720は、実行されるとき、ネットワークデバイス705と自律的に通信するように構成されるコードであり得る。たとえば、ボット720は、ネットワークデバイス705に関連するユーザとの会話を開始するためのメッセージを自動的に生成する、および/またはネットワークデバイス705からのメッセージに自動的に応答するボットであってよい。さらに、通信サーバ710は、プラットフォームに関連付けられ得る。クライアント(たとえば、プラットフォームに対する外部システム)は、プラットフォームを使用して彼らの内部通信システムにおいて異なるタイプのボットを展開し得る。いくつかの例では、クライアントは、クライアントが本明細書で説明される方法および技法を彼らの内部通信システム内に実装することを可能にするプラットフォーム内で彼ら独自のボットを使用し得る。
【0088】
[0098]いくつかの実装形態では、ボットは1つまたは複数のソースによって定義され得る。たとえば、データストア730は、通信サーバのクライアントによって定義された(たとえば、作成または符号化された)ボットを表すコードを記憶し得る。たとえば、その独自のボットを定義したクライアントは、ボットを通信サーバ710にロードし得る。クライアントによって定義されたボットは、クライアントボットデータストア730内に記憶され得る。データストア740は、第三者システムによって定義されたボットを表すコードを記憶し得る。たとえば、第三者システムは、独立したソフトウェアベンダーを含み得る。データストア750は、通信サーバ710に関連するエンティティによって定義されたボットを表すコードを記憶し得る。たとえば、エンティティによって符号化されるボットは、ボットが実行され、ユーザと自律的に通信し得るように、通信サーバ710にロードされ得るかまたはそれによってアクセス可能であり得る。いくつかの実装形態では、通信サーバ710は、クラウドネットワーク760を使用して、データストア730、データストア740、および/またはデータストア750内に記憶されたボットにアクセスし得る。クラウドネットワーク760は、任意のネットワークであってよく、インターネット、パーソナルエリアネットワーク、ローカルエリアネットワーク(LAN)、キャンパスエリアネットワーク(CAN)、メトロポリタンエリアネットワーク(MAN)、広域ネットワーク(WAN)、ワイヤレスローカルエリアネットワーク(WLAN)、イントラネット、エクストラネットなどのプライベートネットワーク、または他のバックボーンなど、オープンネットワークを含み得る。
【0089】
[0099]さらに、端末デバイス715は、エージェントによって動作させられ得る。端末デバイス715は、任意のポータブル(たとえば、モバイルフォン、タブレット、ラップトップ)であってよく、または非ポータブルデバイス(たとえば、電子キオスク、デスクトップコンピュータ、など)であってもよい。いくつかの事例では、エージェントは、端末デバイス715上で実行しているブラウザを使用してウェブサイトにアクセスし得る。たとえば、ウェブサイトは、端末デバイス715のブラウザ上で実行しているコンソールまたはプラットフォームを含み得る。エージェントは、ブラウザを使用してプラットフォームにログインされ得る。1つまたは複数のログイン資格証明(たとえば、ユーザ名、パスワード、など)は、エージェントがコンソールまたはコンソール内に含まれたウェブアプリケーションに対するアクセスを得ることを可能にする前に、エージェントの識別子を認証するために使用され得る。コンソールの例は、1つまたは複数のAPI(アプリケーションプログラミングインターフェース)、1つまたは複数の関数を含むダッシュボード、通信セッションを確立することまたはそれに参加することが可能な(プラグインをダウンロードする必要なしに)ウェブブラウザ上で実行するウェブホストアプリケーション、および他の好適なインターフェースを含むプラットフォームを含み得る。さらに、コンソールは、実行され得る、1つまたは複数のウェブアプリケーションまたは関数を含み得る。ウェブアプリケーションまたは関数は、ブラウザにおいて、通信サーバ710、ローカルサーバ、リモートサーバ、または他の好適なコンピューティングデバイスにおいて、実行され得る。たとえば、ウェブアプリケーション、ネイティブアプリケーション、または関数は、エージェントが、ユーザと通信すること、ユーザと1つまたは複数のボットとの間の通信を閲覧することを可能にし得る。
【0090】
[00100]いくつかの実装形態では、通信サーバ710は、特定の通信セッション中に会話をボット720と端末デバイス715との間で動的に切り替えさせる自動化を推奨し得る。たとえば、通信サーバ710は、ネットワークデバイス705とボット720との間の通信セッションを促進し得る。ボット720は、通信セッション中に1つまたは複数のメッセージをネットワークデバイス705と交換することによって、ネットワークデバイス705と自律的に通信するように構成され得る。通信サーバ710は、ライブエージェントが、ボット720の代わりに、ネットワークデバイス705と通信し得るように、ボット720を端末デバイス715と切り替える(または、場合によっては、逆)かどうかを動的に決定し得る。いくつかの実装形態では、切替えは、ネットワークデバイス705または端末デバイス715からの催促なしに実行され得る。たとえば、切替えは、端末デバイスに要求するようにネットワークデバイス705に催促せずに、ネットワークデバイス705とボット720との間で交換されるメッセージのメッセージパラメータ(たとえば、あるメッセージまたは一連のメッセージの感情を表すスコア)に基づき得る。
【0091】
[00101]いくつかの実装形態では、通信サーバ710は、ボット720を端末デバイス715と切り替える(または、場合によっては、逆)かどうかを自動的に決定するために、1つまたは複数の機械学習モデルまたは人工知能を利用する。たとえば、ネットワークデバイス705とボット720との間で交換されるメッセージは、出力を生成するために、1つまたは複数の機械学習モデルまたは人工知能によって入力として使用され得る。出力は、ネットワークデバイス705とボット720との間の通信セッションが、ライブエージェントに切り替えられるべきか、または保持されるべきかを指定し得る。機械学習モデルは、教師あり学習技法を使用してトレーニングされ得る。たとえば、入力メッセージのデータセット、および適切な応答エンティティ(たとえば、ライブエージェントまたはボット)を指定する、対応する出力が、機械学習モデルのトレーニングのために選択され得る。いくつかの例では、入力メッセージは、通信サーバ710の管理者、ネットワークデバイス705および通信サーバ710と対話し得る他のネットワークデバイスのユーザ、および/または通信サーバ710に関連する他のソースから取得され得る。機械学習モデルまたは人工知能は、機械学習モデルまたは人工知能に供給された入力メッセージに基づいて、機械学習モデルまたは人工知能が対応する通信セッションがライブエージェントによって処理されるか、またはボットによって処理されるかを決定するために使用され得る有用な出力を提供しているかどうかを決定するために評価され得る。この評価に基づいて、機械学習モデルまたは人工知能は、機械学習モデルまたは人工知能が所望の結果を生成する可能性を高めるために修正され得る(たとえば、1つまたは複数のパラメータまたは変数が更新され得る)。
【0092】
[00102]いくつかの実装形態では、1つまたは複数の機械学習モデルまたは人工知能は、入力メッセージまたは一連のメッセージの感情を表すスコアを出力として生成し得る。通信サーバ710は、生じたスコアがボット720またはライブエージェントに対する通信セッションの割振りに対応するしきい値を上回るかどうかを決定し得る。たとえば、スコアがしきい値を上回る場合、通信サーバ710は、通信セッションがボット720に最も適していると決定し得る。したがって、通信セッションが現在ネットワークデバイス705と端末デバイス715(たとえば、ライブエージェント)との間にある場合、通信サーバ710は、通信セッションを端末デバイス715からボット720に自動的に遷移させるか、または端末デバイス715を動作させているライブエージェントにボット720がネットワークデバイス705との通信セッションを処理し得ることを示すことができる。代替として、スコアがこのしきい値を上回らない場合、通信サーバ710は、通信セッションが端末デバイス715(たとえば、ライブエージェント)に最も適していると決定し得る。この例では、通信セッションが現在ネットワークデバイス705とボット720との間にある場合、通信サーバ710は、通信セッションをボット720から端末デバイス715に自動的に遷移させ得る。いくつかの事例では、スコアがこのしきい値を上回らない場合、通信サーバ710は、端末デバイス715を動作させているライブエージェントが通信セッションに介入すべきであることをライブエージェントに示し得る。上記で説明されたしきい値およびスコアは例示のためであることを意味し、ネットワークデバイス705との特定の通信セッションのためにボット720を利用するか、または端末デバイス715を利用するかを決定するために、代替のしきい値およびスコアリング機構が実装され得ることに留意されたい。
【0093】
[00103]いくつかの事例では、通信サーバ710は、ネットワークデバイス705との所与の通信セッションに対する関連アクションを決定するために使用され得る規則またはポリシーの動的セットを実装し得る。規則のセットは、管理者または通信サーバ710に関連する他の許可されたエンティティによって提供され得るか、または上記で説明されたような1つまたは複数の機械学習アルゴリズムまたは人工知能を使用して生成され得る。例示的な例として、通信サーバ710は、規則またはポリシーのセットに基づいて、(たとえば、通信セッションをボット720から端末デバイス715に遷移させる、またはその逆など)代替アクションを起動させるかどうかを決定するために、ネットワークデバイス705とボット720または端末デバイス715のいずれかとの間の会話の進行を評価し得る。たとえば、通信サーバ710が、通信セッション中に交換された、取得されたメッセージに基づいて、ボット720に対する信頼性スコア内におよび/またはネットワークデバイス705のユーザに対する感情スコア内にフラックスが存在すると決定する場合、通信サーバ710は、通信セッションに関連する規則またはポリシーのセットに基づいて、適切なアクションを決定し得る。これは、通信セッションをボット720から端末デバイス715に遷移させること、端末デバイス715が通信セッションに介入すべきであることを示す通知を端末デバイス715に送信すること、などを含み得る。関連アクションが取られると、通信サーバ710は、規則またはポリシーのセットを条件に取られたアクションの影響を評価するために、通信セッション中に交換された後続メッセージを監視し続けることができる。これらの後続のメッセージからおよび/またはユーザとライブエージェントの後のセッションから蓄積されたフィードバックに基づいて、通信サーバ710は、規則またはポリシーのセットを生成するために利用される機械学習アルゴリズムまたは人工知能を更新し得る。これらの更新は、通信セッション中に取られるべきアクションに対して改善された推奨を提供するために、規則またはポリシーのセットの動的作成または修正をもたらし得る。規則またはポリシーのセットが管理者または通信サーバ710に関連する他の許可されたエンティティによって定義される場合、通信サーバ710は、取得されたフィードバック、および規則またはポリシーのセットを更新するための推奨のセットを管理者または他の許可されたエンティティに提供し得る。
【0094】
[00104]いくつかの実装形態では、通信サーバ710は、ボット720とネットワークデバイス705との間で交換されたメッセージの特性に基づいて、ボット720と端末デバイス715とを自動的に切り替えると決定し得る。いくつかの事例では、特性(たとえば、メッセージパラメータ)を決定するためにメッセージのテキストを解析することは、メッセージに関連するテキストまたは非テキスト属性の解析を含み得る。たとえば、通信サーバ710は、メッセージ内に含まれたテキストの1つまたは複数の行をネットワークデバイス705から抽出し得る。通信サーバ710は、テキストの1つまたは複数の行がアンカーを含むかどうかを識別し得る。アンカーの例は、極性に関連するテキストの列(たとえば、感情または意図、負極性または苛立ち極性に対応する「苛立つ」という語、正極性に対応する「幸せ」という語、など)を含む。たとえば、1つのクライアントにとって「論争」という用語は否定的であり得るが、第2のクライアントにとっては中立または肯定的であり得る。いくつかの事例では、アンカーは、教師あり機械学習技法を使用して動的に決定され得る。たとえば、1つまたは複数のクラスタリングアルゴリズムが、記憶されたメッセージ内のパターンを見出すために記憶されたメッセージ上で実行され得る。クラスタリングされたメッセージは、アンカーを決定するためにさらにフィルタ処理され評価され得る。さらに、識別されたアンカー近くの1つまたは複数の語は、アンプリファイア(amplifier)に対してパースされ得る。アンプリファイアの一例は、「とても」、「あまり」、「ちょっと」、など、アンカーの極性に関連する強度を増大または低下させる用語である。この特性は、たとえば、タイプ速度、(たとえば、感嘆符、疑問符、など)メッセージ内で使用される特殊文字の数、(たとえば、キーワード、文の構造、反復語、句読文字、および/または冠詞ではない語を識別することによる)メッセージの意味解析、(たとえば、選択された1つまたは複数のカテゴリーを有する)ユーザ入力、および/またはメッセージ関連統計(たとえば、応答レイテンシ)を含み得る。
【0095】
[00105]非限定的な例として、メッセージパラメータは、負極性の高い強度を示す数値価であってよい(たとえば、0~100の段階で20のメッセージパラメータ、より低い数は負極性を示し、より高い数は正極性を示す)。アルゴリズムは、メッセージパラメータを計算するために使用され得る。たとえば、アルゴリズムは、教師あり機械学習技法に基づき得る。さらなる例では、「ちょっと」と言う用語が(たとえば、文「ちょっと好きじゃない」におけるように)アンカー「好きではない」の近くにある場合、「ちょっと」という用語は、負極性の中間強度を示すアンプリファイア用語として識別され得る。この場合、メッセージパラメータは、負極性の中間強度の識別に基づいて生成され得る。非限定的な例として、メッセージパラメータは、負極性の中間強度を示す数値価であってよい(たとえば、20のメッセージパラメータとは対照的に、40のメッセージパラメータ)。いくつかの事例では、メッセージパラメータは、どのセカンダリキューが通信を記憶するかを決定するために使用され得る。
【0096】
[00106]いくつかの実装形態では、メッセージの特性はメッセージに関連する感情であり得る。メッセージパラメータは、メッセージの感情を表し得る。たとえば、メッセージの感情が幸せである場合、メッセージパラメータは、ある値またはある範囲の値であり得、メッセージの感情が怒りである場合、メッセージパラメータは、別の値または別の範囲の値であり得る。ボットと端末デバイスとを切り替えるかどうかを決定することは、通信サーバ710において受信された各新しいメッセージで連続的に自動的に更新されるメッセージパラメータに基づき得る。
【0097】
[00107]いくつかの実装形態では、通信サーバ710が、会話がボット720から端末デバイス(たとえば、ライブエージェント)に切り替えられるべきであると決定する場合、通信サーバ710は、どの端末デバイス(たとえば、エージェント)がネットワークデバイス705のユーザによって提示される技術的問題を確実に解決する可能性が最も高いかを識別する。たとえば、ネットワークデバイス705から受信されたメッセージの特性およびそのメッセージを介してネットワークデバイス705のユーザによって表現された技術的問題に基づいて、通信サーバ710は、ユーザとの肯定的な対話のより高い可能性を提供すると同時に、技術的問題に対処する可能性があるエージェントに関連する端末デバイスを識別し得る。
【0098】
[00108]どのエージェントが技術的問題に対してユーザに応答するために最も適しているかを識別するために、通信サーバ710は、ネットワークデバイス705から受信されたメッセージの特性、および特定のエージェントの選択を出力として提供するように構成された機械学習モデルまたは人工知能アルゴリズムに対して入力としてネットワークデバイス705のユーザによって表現された技術的問題を使用し得る。機械学習モデルまたは人工知能アルゴリズムは、ユーザとライブエージェントとの間で前に行われた会話に関連するフィードバックを使用してトレーニングされ得る。このフィードバックは、各エージェントに関する一定の特性を識別するために使われ得る。これらの特性は、限定はされないが、技術的問題に関連する専門分野、特定の感情に対する応答性(たとえば、ユーザの苛立ちまたは怒りを軽減する能力、など)、応答レイテンシ、ユーザ満足度格付けまたはスコア、などを含み得る。エージェントがネットワークデバイス705とボット720との間の会話に介入することが要求される場合、通信サーバ710は、会話に介入し、肯定的なユーザ経験の増大された可能性を提供することができる特定のエージェントを選択するために、機械学習モデルまたは人工知能アルゴリズムを使用し得る。
【0099】
[00109]いくつかの実装形態では、通信サーバ710は、ネットワークデバイスとボットとの間の会話に介入するためのエージェントを選択するために使用される機械学習モデルまたは人工知能アルゴリズムをトレーニングまたは更新するために、ネットワークデバイス705からのフィードバックを使用する。たとえば、ネットワークデバイス705が選択されたエージェントとの否定的な経験を示すフィードバックを提供する場合、通信サーバ710は、受信されたフィードバックに関連する会話に対して同一または同様の特性を有する会話に対するエージェントの選択の可能性を低減するために機械学習モデルまたは人工知能アルゴリズムを更新し得る。代替として、ネットワークデバイス705が選択されたエージェントとの肯定的な経験を示すフィードバックを提供する場合、通信サーバ710は、同一または同様の会話に肯定的に対処するエージェントの能力をさらに向上させるために機械学習モデルまたは人工知能アルゴリズムを更新し得る。
【0100】
[00110]いくつかの実装形態では、通信サーバ710は、ネットワークデバイス705から受信されたメッセージに対する応答を推奨または予測し得る。たとえば、通信サーバ710は、ネットワークデバイス705から受信されたメッセージを評価し、それらの受信されたメッセージに対する応答を推奨するために機械学習モデルを使用することができる、メッセージ推奨システムを含み得る。メッセージ推奨システムは、ネットワークデバイス705と通信中のエージェントを支援するために推奨されるメッセージのセットを端末デバイス715上に表示し得る。
【0101】
[00111]
図8は、いくつかの実施形態による通信サーバ805のブロック図を示す。通信サーバ805は、
図7の通信サーバ710の内部構成要素を示し得る。通信サーバ805は、プロセッサ810とメモリ815とを含む、中央処理装置(CPU)807を含み得る。通信サーバ805は、記憶装置820をさらに含み得る。
【0102】
[00112]CPU807は、コンピュータ可読媒体825に結合され得る。コンピュータ可読媒体805は、任意の数のモジュールおよびエンジンを有し得る。5個のモジュールおよびエンジンが示されているが、本明細書で説明される機能を実行するために、より少数のまたはより多数のモジュールまたはエンジンがコンピュータ可読媒体825内で実装され得ることが企図される。
図8に示されるように、コンピュータ可読媒体825は、意図決定エンジン827と、ボット転送エンジン829と、フィードバックモジュール831と、ユーザインターフェース(UI)構成エンジン833と、機械学習エンジン835とを含み得る。
【0103】
[00113]意図決定エンジン827は、プロセッサ810とともに、会話の要求を受信するように構成され得る。要求は、ユーザによって動作させられるネットワークデバイスから受信され得る。要求は、たとえば、エージェントによって動作させられる端末デバイスにおいて受信され得る。意図決定エンジン827は、プロセッサ810とともに、会話の意図を決定するようにさらに構成され得る。意図は、要求から決定され得る。たとえば、要求は「私の注文状況を希望します」と述べることがある。この意図は、「order_status」として要求から抽出され得る。
【0104】
[00114]ボット転送エンジン829は、プロセッサ810とともに、異なるタイプのボットのセットからあるタイプのボットに会話を転送するための1つまたは複数のオプションを自動的に提供するように構成され得る。たとえば、会話をあるタイプのボットに転送するオプションは、意図に基づき得る。このオプションが選択されるとき、対応するタイプのボットとの会話が促進され得る。会話は、エージェントによって動作させられる端末デバイスから、手動でまたは自動的のいずれかで、ボットに転送され得る。自動転送は、たとえば、機械学習技術または過去の経験から決定される、特定のタイプのボットによる解決の高い信頼性を有する意図に対して生じ得る。いくつかの実装形態では、ボット転送エンジン829が、意図が特定のタイプのボットによって解決され得ると高い信頼性で決定する場合、ボット転送エンジン824は、会話を特定のタイプのボットに転送するオプションを提供せずに、エージェントによって動作させられる端末デバイスから特定のタイプのボットに会話を自動的に転送し得る。これは、ボットとの会話を促進するためのオプションの手動選択の必要を除去し得る。いくつかの実装形態では、ボット転送エージェント829は、会話をあるタイプのボットに転送するために前述の1つまたは複数のオプションを提示するかどうかを決定するために、信頼性しきい値を利用し得る。たとえば、ボット転送エンジン829が、特定の意図があるタイプのボットによる解決に対して高い信頼性スコアを有すると決定し、高い信頼性スコアが信頼性しきい値を上回る場合、ボット転送エンジン829は、会話をボットに転送するオプションを提示せずに、会話をこの特定のタイプのボットに自動的に転送し得る。代替として、ボット転送エンジン829が、特定の意図が信頼性しきい値を上回らない、あるタイプのボットによる解決のための信頼性スコアを有すると決定する場合、ボット転送エンジン829は、会話をボットに転送するための1つまたは複数のオプションを提示し得る。
【0105】
[00115]いくつかの事例では、ボット転送エンジン829は、会話の要求から決定された意図に基づいて、1つまたは複数のタイプのボットを識別し得る。たとえば、ボット転送エンジン829は、インテリジェントルーティングシステムとともに、異なるタイプのボットが所与の意図に対して満足な応答を生成する可能性または確率に対応する信頼性スコアを計算するために使用される信頼性スコアアルゴリズムを実装し得る。信頼性スコアは、割合または値が低ければ低いほど、その応答が着信メッセージに対する良好な予測である可能性が低くなり、割合が高ければ高いほど、その応答が着信メッセージに対する良好な予測である可能性が高くなる、割合または他の値であってよい。ユーザが特定のタイプのボットとの会話に関して不満足を表現した場合、インテリジェントルーティングシステムは、同一または同様の意図に対して、特定のタイプのボットにより低い信頼性スコアが割り当てられるように、信頼性スコアアルゴリズムを更新することができ、それにより、それらの同一または同様の意図が端末デバイス(たとえば、ライブエージェント)または別のタイプのボットによって適切に処理されるより高い可能性があるという指示として役立ち得る。別の非限定的な例として、ユーザが特定のタイプのボットとの会話に関して満足を表現した場合、インテリジェントルーティングシステムは、同一または同様の意図に対して、特定のタイプのボットに等しいまたはより高い信頼性スコアが割り当てられるように、信頼性スコアアルゴリズムを更新することができ、それにより、それらの同一または同様の意図が特定のタイプのボットによって適切に処理されるより高い可能性があるという指示として役立ち得る。
【0106】
[00116]いくつかの実装形態では、ボット転送エンジン829は、エージェントによって動作させられる端末デバイスからあるタイプのボットに会話を転送するための1つまたは複数のオプションを動的に提供し得る。たとえば、ボットを推奨し、フィードバックを受信するために端末デバイス上に表示され得るインターフェースを介して、ボット転送エンジン829は、識別された意図を処理することが可能であり得るタイプのボットに対する1つまたは複数の推奨をエージェントに提供し得る。各推奨は、意図が対応するタイプのボットを使用して解決可能である可能性を示す、対応する信頼性スコアを含み得る。要求を処理することが可能であり得る各タイプのボットに対する信頼性スコアを提供することに加えて、ボット転送エンジン829は、インターフェースを介して、通信セッションまたは会話をそのタイプのボットに転送するオプションをエージェントに提供し得る。エージェントが通信セッションを特定のタイプのボットに転送するオプションを選択する場合、ボット転送エンジン829は、通信セッションをこの特定のタイプのボットに転送し得る。ボット転送エンジン829は、1つまたは複数の要因に基づいて、特定のタイプのボットを選択し得る。たとえば、ボット転送エンジン829は、要求を提出したユーザとの通信セッションに参加するために十分な帯域幅を有する特定のタイプのボットを選択し得る。ボット転送エンジン829は、追加または代替として、ユーザの1つまたは複数の特性に基づいて、特定のタイプのボットを選択し得る。たとえば、ボット転送エンジン829は、ユーザの言語で通信するように構成された特定のタイプのボットを選択し得る。
【0107】
[00117]いくつかの実装形態では、ボット転送エンジン829は、会話をあるタイプのボットに転送するための各推奨についてのフィードバックを提供するためのオプションをエージェントにさらに提供し得る。たとえば、エージェントが会話を特定のボットに転送するための特定の推奨が不適切である(たとえば、そのタイプのボットが識別された意図を処理することができない、誤った意図が識別された、など)と決定する場合、ボット転送エンジン824は、信頼性スコアを計算して所与の意図および/または同様の意図に対する異なるタイプのボットに対する信頼性スコアに基づいて推奨を生成するために利用される機械学習アルゴリズムまたは人工知能をトレーニングするか、またはさもなければ更新するために、このフィードバックを使用し得る。これは、より低い信頼性スコアを同一または同様の意図に対して機械学習アルゴリズムまたは人工知能によってそのタイプのボットに割り当てさせ得る。代替として、エージェントが通信セッションが転送されるべき特定のタイプのボットを選択する場合、ボット転送エンジン829は、特定のタイプのボットを利用するためのその推奨についての肯定的なフィードバックの指示として、この選択を使用し得る。このフィードバックは、信頼性スコアおよび同一または同様の意図に対して特定のタイプのボットを使用するための推奨をさらに検証するように、上記で説明された機械学習アルゴリズムまたは人工知能をトレーニング、またはさもなければ更新するために使用され得る。
【0108】
[00118]いくつかの実装形態では、エージェントが会話を特定のタイプのボットに転送する特定の推奨を拒否する場合、ボット転送エンジン829は、識別された意図に基づいて、会話を他のタイプのボットに転送するための1つまたは複数の新しい推奨を生成するために、機械学習アルゴリズムまたは人工知能を使用し得る。上述のように、エージェントが会話を特定のタイプのボットに転送するための特定の推奨を拒否する場合、ボット転送エンジン829は、信頼性スコアを計算して所与の意図および/または同様の意図に対する異なるタイプのボットに対する信頼性スコアに基づいて推奨を生成するために利用される機械学習アルゴリズムまたは人工知能をトレーニングするか、またはさもなければ更新するために、このフィードバックを使用し得る。ボット転送エンジン829は、識別された意図に対する新しい推奨をエージェントに提供するために、更新された機械学習アルゴリズムまたは人工知能を使用し得る。したがって、ボット転送エンジン829は、その意図、および機械学習アルゴリズムまたは人工知能を使用して計算されたこれらの異なるタイプのボットに対する信頼性スコアに基づいて、会話をこれらの異なるタイプのボットに転送するための推奨をエージェントに動的に連続的に提供し得る。
【0109】
[00119]異なるタイプのボットは、自動化された様式で一定の意図を処理することが可能であり得る。たとえば、「order_status」という意図の場合、注文状況ボットは、提供された注文番号、顧客名、顧客電子メールアドレス、IPアドレス、などを使用して、注文情報をプルすることが可能であり得る。注文情報が決定されると、注文状況は、注文状況ボットによって確認され、会話の中でユーザに提供し戻され得る。別の例として、「payment_status」という意図の場合、支払状況ボットは、提供されたアカウント番号、顧客名、顧客電子メールアドレス、IPアドレス、などを使用して、請求情報をプルすることが可能であり得る。さらに、請求情報を使用して、支払状況ボットは、顧客が支払を行ったかどうか、行われた支払が処理されているかどうか、などを決定し得る。他のタイプのボットは、より複雑な技術的問題を処理すること(たとえば、ハードウェアまたはソフトウェア問題をトラブルシュートすること、不正報告に対処すること、など)が可能であり得る。
【0110】
[00120]いくつかの実施形態では、ネットワークデバイスとボットとの間の会話は、端末デバイスを動作させているエージェントが会話に介入することを可能にするために、端末デバイスにおいて表示され得る。エージェントは、会話についてのユーザの満足度の計算された感情スコアに基づいて、会話に介入すると決定し得る(または、会話は端末デバイスに自動的に転送し戻され得る)。たとえば、ユーザが会話に満足する場合、感情スコアがそれを上回るべきしきい値が存在し得る。感情スコアがしきい値を下回る場合、会話は手動でまたは自動的に端末デバイスに転送し戻され得る。
【0111】
[00121]感情スコアは、感情スコアを生成するための入力として会話中に交換されるメッセージを利用するように構成され得る機械学習エンジン835によって計算され得る。機械学習エンジン835は、教師あり学習技法を使用してトレーニングされた、1つまたは複数の機械学習モデルを利用し得る。たとえば、入力メッセージのデータセット、ならびに対応する感情および感情スコアが、機械学習モデルのトレーニングのために選択され得る。いくつかの例では、入力メッセージは、通信サーバ805の管理者、ユーザ、エージェント、および他のソースから取得され得る。1つまたは複数の機械学習モデルは、1つまたは複数の機械学習モデルに供給される入力メッセージに基づいて、1つまたは複数の機械学習モデルが会話に対する感情および対応する感情スコアを決定するために使用され得る有用な出力を提供しているかどうかを決定するために評価され得る。この評価に基づいて、1つまたは複数の機械学習は、1つまたは複数の機械学習モデルが所望の結果を生成する可能性を高めるために修正され得る(たとえば、1つまたは複数のパラメータまたは変数が更新され得る)。
【0112】
[00122]いくつかの事例では、1つまたは複数の機械学習モデルは、ネットワークデバイスとボットとの間の特定の会話に対する感情を決定するために、1つまたは複数のクラスタリングアルゴリズムを利用し得る。たとえば、機械学習エンジン835は、極性に関連し得るテキストのアンカーまたは他の列を識別するために、ネットワークデバイスとボットとの間の会話中に交換されたメッセージを抽出し得る。機械学習エンジン835は、抽出されたメッセージが既知の感情に関連する特定のクラスタに対応するかどうかを決定し得る。クラスタは、会話についてのユーザの満足度の感情スコアに関連付けられてもよいか、またはさもなければ、それを決定するために使用されてもよい。たとえば、各クラスタは、特定の感情に対応することに加えて、上記で説明されたような、極性を示し得る特定のスコアに関連付けられ得る。
【0113】
[00123]いくつかの実装形態では、ネットワークデバイスとボットとの間の会話は、端末デバイスを動作させているエージェントが会話を評価し、その会話に手動で介入することを要求せずに、端末デバイスに自動的に転送され得る。たとえば、特定の会話に対する感情スコアが感情スコアしきい値を下回る場合、ボット転送エンジン829は、ライブエージェントを会話に介入させるために、会話をボットから端末デバイスに自動的に転送し得る。いくつかの事例では、ボット転送エンジン829は、端末デバイスを動作させているエージェントが、会話に介入することまたは会話を端末デバイスに自動的に転送することを可能にするために、会話を端末デバイスにおいて提示するかどうかを決定するために、複数のしきい値を利用し得る。たとえば、会話に対する感情スコアが、第1の感情スコアしきい値を下回るが、より低い、第2の感情スコアしきい値を下回らない場合、ボット転送エンジン829は、エージェントが、そのように要求される場合、会話に介入することを可能にするために、会話を端末デバイスにおいて提示し得る。しかしながら、感情スコアが第1の感情スコアしきい値と第2の感情スコアしきい値の両方を下回る場合、ボット転送エンジン829は、会話をエージェント介入のために端末デバイスに自動的に転送し得る。
【0114】
[00124]フィードバックモジュール831は、プロセッサ810とともに、会話についてのフィードバックを受信するように構成され得る。フィードバックは、端末デバイスを動作させているエージェントによって提供され得る。フィードバックは、ボットが、どの程度良好に、意図を識別したか、および/またはネットワークデバイス上でユーザによって表現された要求を処理したかを反映し得る。加えて、フィードバックモジュール831は、会話に参加したユーザからフィードバックを取得し得る。たとえば、会話の終わりに、フィードバックモジュール831は、ユーザによって利用されるネットワークデバイスに、ボットおよび/またはライブエージェントとのその会話についてのフィードバックを提供する要求を送信し得る。この要求は、それを通して、ユーザが、会話に関するその感情を示し、同様に、ボットおよび/またはライブエージェントの性能評価を提供することができる、調査の形で提供され得る。いくつかの事例では、フィードバックモジュール831は、会話中に会話に参加したユーザからフィードバックを取得し得る。たとえば、フィードバックモジュール831は、ユーザの感情を決定するために、会話中にユーザの応答を評価し得る。たとえば、フィードバックモジュール831は、ユーザメッセージが極性に関連するアンカーを含むかどうかを識別するために、ユーザメッセージに関連するテキストまたは非テキスト属性を解析し得る。例示的な例として、ユーザが、メッセージ内に、ユーザが「苛立っている」ことを示すか、または提案される解決策が不正確である(たとえば、「いいえ」応答、など)ことを示す場合、フィードバックモジュール831は、メッセージが負極性を表すと決定し、したがって、ボットが満足のいく方法で、意図を識別すること、および/またはユーザによって表現された要求を処理することに失敗したと決定し得る。フィードバックは、任意の好適な形態で受信され得る。たとえば、フィードバックは、文字で、数字で、用語を通して、アイコンまたはグラフィックスの選択を通して、など、表現され得る。フィードバックを提供し、会話のビューをレンダリングするために、エージェントおよび/またはユーザに表示されるインターフェースは、プロセッサ810とともに、ユーザインターフェース構成エンジン833によって処理され得る。
【0115】
[00125]機械学習エンジン835は、プロセッサ810とともに、会話、識別された意図、および提供されたフィードバックをデータベース内にフィードし、どの程度良好にあるタイプのボットおよび/またはライブエージェントがその会話を処理したかに関する推論を引き出すためにデータを解析するように構成され得る。このデータは、他の履歴会話データおよびフィードバックとともに、1つまたは複数の将来の要求に関連する将来の意図を決定するために使用され得るモデルを構築するために使用され得る。たとえば、特定のタイプのボットが、ユーザが満足するように、「order_status」意図を成功裏に処理した場合、将来の「order_status」意図もその特定のタイプのボットに転送され得る。加えて、「私の注文ステータスを希望します」と述べる将来の要求は、肯定的なフィードバックに基づいて「order_status」意図と自動的に相関され得る。しかしながら、特定のタイプのボットが、ユーザの不満足に対する意図を処理しなかった場合、前述の意図と同様の将来の意図は、これらの将来の意図がライブエージェントによって処理されように端末デバイスに転送されるか、または別のタイプのボットに対する、意図に基づき計算された信頼性スコアに基づいて意図を処理するのにより適している可能性があるその別のタイプのボットに転送され得る。
【0116】
[00126]一例として、ユーザが「delivery_status」の意図でエージェントに初めて連絡するとき、ユーザは、注文状況ボットに自動的にリダイレクトされ得る。エージェントは、注文状況ボットが会話を転送するのに適したボットであったかどうか、および注文ステータスボットがその意図を解決することが可能であったかどうかなど、対話の1つまたは複数の態様についてのフィードバックを提供し得る。さらに、ユーザは、注文状況ボットがユーザの意図を成功裏に解決したかどうか、注文状況ボットがユーザのメッセージに応答したかどうか、注文状況ボットからの応答がその意図および/またはユーザによって提出された特定のメッセージに関連したかどうか、など、対話の同様のまたは異なる態様についてのフィードバックを提供してもよい。注文状況ボットが正しいボットでなかったこと、会話が自動的に転送されるべきではなかったこと、または注文状況ボットが意図を解決することができなかったことを示し得る、エージェントが会話に介入しなければならなかったか否かを観測することによってなど、エージェントおよび/またはユーザからの明示的なフィードバックなしに、対話についてのフィードバックを収集するために、他の技法が使用され得る。フィードバックは、将来の対話に適用され得るモデルをトレーニングするために使用され得る。たとえば、注文状況ボットが適切なボットでなく、買い物状況ボットなど、別のタイプのボットが適切なボットであったことが確認された場合、将来観測される「delivery_status」意図は、代わりに、買い物状況ボットに転送され得る。フィードバックは、将来の対話に適用されるモデルをさらに改良するために、ユーザと買い物状況ボットとの間の対話に対して再度収集され得る。
【0117】
[00127]
図9は、機械学習技法を使用してエンドポイント選択(すなわち、端末デバイスまたはボット)を向上させるためのネットワーク環境900を表すブロック図を示す。ネットワーク環境900は、(ユーザによって動作させられる)ネットワークデバイス905、通信サーバ910と、ボット915と、端末デバイス920とを含み得る。通信サーバ910は、ネットワークデバイス905と、少なくとも1つのボット915と、端末デバイス920とが通信することを可能にする通信チャネルの確立を促進し得る。
【0118】
[00128]通信サーバ910は、インテリジェントルーティングシステム925と、メッセージ推奨システム930と、メッセージデータストア935とを含み得る。インテリジェントルーティングシステム925およびメッセージ推奨システム930の各々は、一定の動作を実装するための命令を実行するプロセッサおよびメモリを備えた1つまたは複数のコンピューティングデバイスを含み得る。いくつかの実装形態では、インテリジェントルーティングシステム925は、ネットワークデバイスから受信された通信を適切な宛先に知的にルーティングするように構成されたボットであり得る。インテリジェントルーティングシステム925は、1つまたは複数の機械学習技法または人工知能技法にメッセージを知的にルーティングさせるコードを実行するように構成された、1つまたは複数のプロセッサを含み得る。いくつかの実装形態では、インテリジェントルーティングシステム925は、ネットワークデバイス905から受信されたメッセージがボット915によって成功裏に対処され得るかどうかを予測するモデルをトレーニングするために、1つまたは複数の機械学習技法を実行し得る。
【0119】
[00129]非限定的な例として、インテリジェントルーティングシステム925は、通信サーバ910(たとえば、ユーザが様々なデバイスにわたって互いと通信することを可能にするように構成されたネイティブアプリケーション)によって確立または促進された通信チャネルを通してネットワークデバイス905からメッセージを受信し得る。インテリジェントルーティングシステム925は、上記で説明されたいくつかの実施形態に従って、着信メッセージを評価し得る。たとえば、インテリジェントルーティングシステム925は、トレーニングされた機械学習モデルを使用して、受信されたメッセージ内に含まれたコンテンツ(たとえば、テキスト、オーディオクリップ、画像、エモーティコン、または他の好適なコンテンツ)を評価し得る。メッセージのコンテンツは、予測される宛先(たとえば、特定の端末デバイスまたはボット)を生成するために、機械学習モデル内に入力され得る。機械学習モデルは、ネットワークデバイス905から受信されたフィードバック信号940に基づいて連続的にトレーニングされ得る。いくつかの実装形態では、インテリジェントルーティングシステム925は、予測された宛先のネットワークデバイス905から肯定応答を要求し得る。非限定的な例として、インテリジェントルーティングシステム925は、機械学習技法を使用してメッセージを評価することができ、評価の結果は、ボット915がそのメッセージに対する宛先であるという予測を含み得る。確証するために、インテリジェントルーティングシステム925は、フィードバック信号940を自動的に要求し得る。たとえば、フィードバック信号940は、ネットワークデバイス905が、ボット915がそのメッセージに対する正確な宛先であるかどうかを肯定応答するための要求(たとえば、「テクニカルサポートは正確な宛先ですか?」)を含み得る。ネットワークデバイス905が、ボット915が正確な宛先(たとえば、ネットワークデバイス905を動作させているユーザによって意図された宛先)であるという肯定応答を送信する場合、インテリジェントルーティングシステム925は、受信されたメッセージに全く同じまたはそれと同様のコンテンツ(たとえば、コンテンツ内の10パーセントの差異など、類似性のしきい値)を含む将来のメッセージがボット915にルーティングされるべきであることを予測するように機械学習モデルをトレーニングし得る。しかしながら、インテリジェントルーティングシステム925がボット915が受信されたメッセージに対する正確なまたは意図された宛先ではなく、むしろ端末デバイス920が正確なまたは意図された宛先であることを示すフィードバック信号940を受信する場合、インテリジェントルーティングシステム925は、受信されたメッセージに全く同じまたはそれと同様のコンテンツを含む将来のメッセージが(ボット915の代わりに)端末デバイス920にルーティングされるべきであるという機械学習モデルをトレーニングし得る。いくつかの実装形態では、インテリジェントルーティングシステム925は、将来のメッセージを端末デバイス920にルーティングするように機械学習モデルを即時に更新またはトレーニングしなくてもよく、むしろ、インテリジェントルーティングシステム925は、受信されたメッセージと全く同じまたはそれと同様のコンテンツを有するすべての将来のメッセージを端末デバイス920にルーティングする前に、ボット915へのしきい値数の不正確なルーティングを待機することが可能である。非限定的な例として、インテリジェントルーティングシステム925は、ネットワークデバイスが、ボット915が正確ではない、または意図された宛先ではないことを示すフィードバック信号を5回送信した後、(ボット915にルーティングされるべきであると予測された)将来のメッセージを、ボット915の代わりに、端末デバイス920にルーティングし始めることができる。
【0120】
[00130]いくつかの実装形態では、インテリジェントルーティングシステム925は、ボット915または端末デバイス920との会話の完了後に、ネットワークデバイス905からフィードバック信号940を取得する。たとえば、ユーザとボット915または端末デバイス920を使用するエージェントとの間の会話の終結時に、インテリジェントルーティングシステム925は、ユーザによって表現された意図を処理する際に、ボット915および/または端末デバイス920(たとえば、ライブエージェント)の性能についてのフィードバックを要求し得る。ネットワークデバイス905は、この要求に応答して、ユーザの会話の過程で、ボット915および/または端末デバイス920による意図の処理についてのユーザの満足を示すフィードバック信号940を提供し得る。ユーザからのこのフィードバックに基づいて、インテリジェントルーティングシステム925は、機械学習モデルを更新またはトレーニングし得る。たとえば、ユーザがボット915との会話に関して不満を表現した場合、インテリジェントルーティングシステム925は、同一または同様の意図を有する将来のメッセージを端末デバイス920にルーティングするように機械学習モデルを更新またはトレーニングし得る。別の非限定的な例として、ユーザがボット915との会話に関して満足を表現した場合、インテリジェントルーティングシステム925は、同一または同様の意図を有する将来のメッセージをボット915にルーティングする可能性を増大させるために機械学習モデルを強化し得る。
【0121】
[00131]いくつかの実装形態では、インテリジェントルーティングシステム925は、ボット915が所与の意図に対して満足な応答を生成する可能性または確率に対応する信頼性スコアを計算するために使用される信頼性スコアアルゴリズムを実装し得る。信頼性スコアは、割合または値が低ければ低いほど、その応答が着信メッセージに対する良好な予測である可能性が低くなり、割合が高ければ高いほど、その応答が着信メッセージに対する良好な予測である可能性が高くなる、割合または他の値であってよい。ユーザがボット915との会話に関して不満足を表現した場合、インテリジェントルーティングシステム925は、同一または同様の意図に対して、ボット915により低い信頼性スコアが割り当てられるように、信頼性スコアアルゴリズムを更新することができ、それにより、その同一または同様の意図が端末デバイス920によって適切に処理されるより高い可能性があるという指示として役立ち得る。別の非限定的な例として、ユーザがボット915との会話に関して満足を表現した場合、インテリジェントルーティングシステム925は、同一または同様の意図に対して、ボット915に等しいまたはより高い信頼性スコアが割り当てられるように、信頼性スコアアルゴリズムを更新することができ、それにより、それらの同一または同様の意図がボット915によって適切に処理されるより高い可能性があるという指示として役立ち得る。
【0122】
[00132]いくつかの実装形態では、インテリジェントルーティングシステム925は、ボット915または端末デバイス920との会話の完了後、ネットワークデバイス905およびインテリジェントルーティングシステム925がネットワークデバイス905からのメッセージに対する宛先に関して不正確な応答を提供したかどうかを決定するために、ネットワークデバイス905からのフィードバック信号940を使用する。たとえば、インテリジェントルーティングシステム925が、当初、ボット915が受信されたメッセージに対する宛先であると予測し、ネットワークデバイス905が、これがそのメッセージに対する正確な宛先であるという肯定応答を提供するが、後で、(たとえば、ネットワークデバイス905からの後のフィードバックを通して、またはエージェントが会話に介入しなければならない結果として)ボット915が受信されたメッセージに対する正確な宛先ではなかったと決定される場合、インテリジェントルーティングシステム925は、同一または同様の意図を有する将来のメッセージを端末デバイス920にルーティングするように機械学習モデルを更新またはトレーニングし得る。さらに、インテリジェントルーティングシステム925は、機械学習モデルをトレーニングするために同一または同様の意図に対応する予測に関する肯定応答を使用するのを断念することができ、代わりに、機械学習モデルをトレーニングまたは更新するためのネットワークデバイス905からの会話後フィードバックを待機し得る。
【0123】
[00133]メッセージデータストア935は、1つまたは複数のネットワークデバイスから過去に受信されたいくつかのまたはすべてのメッセージを記憶し得る。さらに、メッセージデータストア935は、ネットワークデバイスとの前の通信セッション中に端末デバイスまたはボットによって送信されたいくつかのまたはすべてのメッセージも記憶し得る。メッセージデータストア935は、通信セッション中にネットワークデバイスによってボットに送信されたいくつかのまたはすべてのメッセージも記憶し得る。さらに、メッセージデータストア935は、通信セッション中にボットによってネットワークデバイスに送信されたいくつかのまたはすべてのメッセージを記憶し得る。いくつかの実装形態では、メッセージデータストア935は、処理されたすべてのメッセージ(たとえば、によって送信された、またはにおいて受信された)通信サーバ910のデータベースであり得る。
【0124】
[00134]メッセージ推奨システム930は、メッセージデータストア935において記憶されたメッセージのデータベースを解析し得る。いくつかの実装形態では、メッセージ推奨システム930は、1つまたは複数の機械学習アルゴリズムまたは人工知能アルゴリズムを使用して、メッセージデータストア935において記憶されたメッセージを評価し得る。たとえば、メッセージ推奨システム930は、メッセージデータストア935内に記憶されたメッセージのデータベースに対して、K-meansクラスタリング、ミーンズシフト(means-shift)クラスタリング、ノイズを有するアプリケーションの密度ベース空間クラスタリング(DBSCAN:Density-Based Spatial Clustering of Applications with Noise)クラスタリング、混合ガウスモデル(GMM)を使用したエクスペクテーションマキシマイゼーション(EM:Expectation-Maximization)クラスタリング、および他の好適な機械学習アルゴリズムなど、1つまたは複数のクラスタリングアルゴリズムを実行し得る。いくつかの実装形態では、エージェントを支援するための応答メッセージを予測するために、リカレントニューラルネットワーク(RNN)または畳み込みニューラルネットワーク(CNN)が使用され得る。いくつかの実装形態では、メッセージ推奨システム930は、通信セッション中にネットワークデバイスから受信された着信メッセージに対する応答を予測する目的ですべての前のメッセージを評価するために、サポートベクターマシン(SVM)、教師あり、半教師あり、アンサンブル技法、または教師なし機械学習技法を使用し得る。たとえば、メッセージ推奨システム930は、ネットワークデバイスから受信されたメッセージ(または、ボットまたは端末デバイスから通信サーバ910において受信されたメッセージ)のコンテンツを評価し、評価の結果をメッセージデータストア935内に記憶された前のメッセージの1つまたは複数のクラスタと比較し得る。クラスタが識別されると、メッセージ推奨システム930は、信頼性しきい値に基づいて、最も関連する応答メッセージを識別し得る。たとえば、(たとえば、ネットワークデバイス905から通信サーバ910において受信された)着信メッセージは、着信メッセージのコンテンツに基づく技術問題に対応し得る。メッセージ推奨システム930は、着信メッセージのコンテンツの評価(たとえば、テキスト評価)に基づいて、着信メッセージが技術問題に対応することを識別し得る。メッセージ推奨システム930は、技術問題に関連するメッセージのクラスタを識別するために、メッセージデータストア935にアクセスし得る。メッセージ推奨システム930は、信頼性しきい値に基づいて、メッセージのクラスタ内の1つまたは複数の応答メッセージを選択し得る。非限定的な例として、信頼性アルゴリズムは、信頼性スコアを生成するために実行され得る。信頼性スコアは、割合が低ければ低いほど、その応答が着信メッセージに対する良好な予測である可能性が低くなり、割合が高ければ高いほど、その応答が着信メッセージに対する良好な予測である可能性が高くなる、割合値であってよい。最小信頼性しきい値は、各発見されたパターンに関連する確実性または信用性の測度と定義され得る。さらに、信頼性アルゴリズムの一例は、アプリオリアルゴリズム、2つのデータセット間の類似性を示す類似性アルゴリズム、および他の好適な信頼性アルゴリズムであり得る。
【0125】
[00135]いくつかの実装形態では、メッセージ推奨システム930は、ネットワークデバイス905との会話において使用するために最も関連する応答メッセージをボット915または端末デバイス920(たとえば、ライブエージェント)に提供する。ボット915は、メッセージ推奨システム930によって提供された応答メッセージから、最高信頼性スコアを有する応答メッセージを選択し得る。ボット915は、この応答を会話の部分としてネットワークデバイス905に提供し得る。いくつかの事例では、メッセージ推奨システム930は、ネットワークデバイス905のユーザによって選択された応答メッセージに対する反応を識別するために会話を監視し得る。たとえば、メッセージ推奨システム930は、1つまたは複数のクラスタリングアルゴリズムをさらにトレーニングするために、この反応(たとえば、選択された応答メッセージに応答して提出されたメッセージ)を使用し得る。例示的な例として、ボット915がネットワークデバイス905のユーザによって否定的に受け取られた応答メッセージを提出する場合、メッセージ推奨システム930は、ネットワークデバイスから同一または同様の着信メッセージに対して選択されている特定の応答メッセージの可能性(たとえば、信頼性スコア)を低減させるために、クラスタリングアルゴリズムを更新し得る。代替として、ボット915がネットワークデバイス905のユーザによって肯定的に受け取られた応答メッセージを提出する場合、メッセージ推奨システム930は、同一または同様の着信メッセージに対して特定の応答メッセージの選択をさらに強化するために、クラスタリングアルゴリズムを更新し得る。
【0126】
[00136]最も関連する応答メッセージが端末デバイス920に提供される場合、これらの最も関連する応答メッセージは、選択、および端末デバイス920とネットワークデバイス905との間の会話への組込みのために、端末デバイス920を使用してエージェントに提示され得る。エージェントは、会話において使用するための特定の応答メッセージを選択すること、またはエージェントに提示された応答メッセージを無視することを選定し得る。エージェントがメッセージ推奨システム930によって提供された応答メッセージからある応答メッセージを選択する場合、メッセージ推奨システム930は、上記で説明されたように、ネットワークデバイス905のユーザによって選択された応答メッセージに対する反応を識別するために、会話を監視し得る。しかしながら、エージェントが、メッセージ推奨システム930によって提供された応答メッセージを無視し、その独自の応答メッセージをネットワークデバイス905に提供する場合、メッセージ推奨システム930は、この応答メッセージを記録し、この応答メッセージを識別された技術的問題に関連付けることができる。さらに、メッセージ推奨システム930は、提出された応答メッセージに対するユーザの感情を決定するために、会話を監視し得る。エージェントによって提出された応答メッセージがユーザによって肯定的に受け取られる場合、メッセージ推奨システム930は、応答メッセージを識別された技術的問題に対応するクラスタに関連付けるために、クラスタリングアルゴリズムを更新し得る。しかしながら、エージェントによって提出された応答メッセージがユーザによって否定的に受け取られる場合、メッセージ推奨システム930は、応答メッセージが代替クラスタに関連付けられ得るかどうかを決定するために応答メッセージを評価するか、またはさもなければ、応答メッセージと識別された技術的問題に対応するクラスタとの関連付けを解除し得る。
【0127】
[00137]
図10Aは、いくつかの実施形態による、端末デバイス上に表示され得るインターフェースの例示的なスクリーンショットを示す。ユーザ主導型会話は、スクリーンの一部分の上に出現し得る。たとえば、ユーザは「こんにちは。私の注文はどこ?」と言うためにネットワークデバイスを動作させることができる。端末デバイスおよび/またはボットは、意図、たとえば、注文状況、を決定するために、この要求を解析し得る。注文状況ボットは、会話が自動化に転送されることを推奨するウィジェットとして表示され得る。ウィジェットは、意図がボットによって成功裏に対処され得る信頼性をさらに表示し得る。たとえば、ウィジェットは、意図がボットによって成功裏に対処され得る信頼性を示し得る信頼性スコアまたは格付けを表示し得る。
図10Aに示すように、注文状況ボットに対する信頼性スコアまたは格付けは、注文状況ボットが意図を成功裏に対処し得る高い可能性を示し得る、「高」として提示される。いくつかの事例では、ウィジェットは、意図に対する特定のボットの選択に対する説明または正当化をさらに表示し得る。たとえば、
図10Aに示すように、ユーザが「私の注文はどこ?」と明示的に言ったため、注文状況ボットが選択される。これは、特定のボットの選択に対する適切なコンテンツをエージェントに提供し得る。ウィジェットは、エージェントが会話をボットに転送することを可能にする対話要素(たとえば、ボタン)、ならびにエージェントが推奨についてのフィードバックを提供することを可能にする他の対話要素をさらに表示し得る。手動転送として開始されるとして示されているが、いくつかの実施形態では、会話は自動的にボットに転送され得ることが企図される。
【0128】
[00138]いくつかの実装形態では、それを通してインターフェースが表示される端末デバイスは、ユーザによって提出された要求の1つまたは複数の特性に基づいて、端末デバイス(たとえば、エージェント)のセットの中から選択され得る。たとえば、端末デバイスは、対応するエージェントが肯定的なユーザ経験につながる肯定的な方法で、決定された意図に対処する可能性に基づいて選択され得る。たとえば、上記で説明されたように、ネットワークデバイスから受信されたメッセージの特性およびネットワークデバイスのユーザによって表現された技術的問題は、特定のエージェントの選択を出力として提供するように構成された機械学習モデルまたは人工知能アルゴリズムに対する入力として使用され得る。機械学習モデルまたは人工知能アルゴリズムは、肯定的なユーザ経験の増大された可能性を提供し得る特定のエージェントを選択し得る。インターフェースは、選択されたエージェントがユーザ要求および前述のウィジェットとともに提示されるように、選択されたエージェントに関連する端末デバイスに提供され得る。
【0129】
[00139]
図10Bは、いくつかの実施形態による、フィードバックを受信するために端末デバイス上に表示され得るインターフェースの例示的なスクリーンショットを示す。「私の注文はどこ?」という要求に対して、2つの自動化、注文状況ボットおよび支払いボット、が推奨され得る。エージェントは、支払いボット上の否定的なフィードバックを選択し、支払いボットがユーザの意図に適合しないことを選択し得る。このフィードバックは、どのボットが将来の転送のために推奨されるかをより良好に精緻化するために機械学習エンジンによって使用され得る。
【0130】
[00140]
図10Cは、いくつかの実施形態による、会話を自動化に転送するために端末デバイス上に表示され得るインターフェースの例示的なスクリーンショットを示す。端末デバイスを動作させているエージェントは、会話を端末デバイスからボットに転送するための転送オプションを有する対話要素(たとえば、ボタン)を選択し得る。
【0131】
[00141]
図10Dは、いくつかの実施形態による、異なるタイプのボットを推奨し、フィードバックを受信するために端末デバイス上に表示され得るインターフェースの例示的なスクリーンショットを示す。「私の注文はどこ?数日前に料金請求されました」と述べる要求が受信され得る。会話を転送するための2つの異なるタイプのボット、注文状況ボットおよび支払いボット、が推奨され得る。要求は支払いについて議論しているが、会話の意図は、支払いではなく、注文状況に関する。したがって、エージェントは、会話を支払いボットに転送するための推奨に対して否定的なフィードバックを提供し得る。否定的なフィードバックは、将来の意図をより良好に確認し、自動化に対してより良好な推奨を行うために、機械学習エンジンによって使用され得る。
【0132】
[00142]一実施形態では、各推奨は、特定のタイプのボットが識別された意図を満足な方法で処理することが可能になる可能性に対応する信頼性スコアをさらに含む。上記のように、信頼性スコアアルゴリズムは、特定のタイプのボットが識別された意図に対して満足な応答を提供する可能性または確率に対応する信頼性スコアを計算するために使用され得る。
図10Dに示されるように、注文状況ボットに対する信頼性スコアまたは格付けは、注文状況ボットが識別された意図に成功裏に対処し得る高い可能性を示し得る、「高」であるとして提示される。同様に、支払いボットに対する信頼性スコアまたは格付けは、異なる意図に対して「高」であるとして提示される。
【0133】
[00143]いくつかの事例では、エージェントには、識別された1つまたは複数の意図に対する異なるタイプのボットの提示に対する説明または正当化が提供され得る。たとえば、
図10Dに示されるように、ユーザが「私の注文はどこ?」と明示的に言ったため、注文状況ボットが選択される。さらに、ユーザが「数日前に料金請求されました」と明示的に言ったため、支払いボットが選択される。これは、そこから異なる意図が識別されたユーザからの所与の要求に応答して、異なるタイプのボットの識別に対する適切なコンテキストをエージェントに提供し得る。ウィジェットは、エージェントが会話をボットに転送することを可能にする対話要素(たとえば、ボタン)、ならびにエージェントが推奨についてのフィードバックを提供することを可能にする他の対話要素をさらに表示し得る。
【0134】
[00144]上述のように、エージェントは、会話を特定のタイプのボットに転送するための推奨について否定的なフィードバックを提供し得る。否定的なフィードバックは、将来の意図をより良好に確認し、これらの将来の意図を処理することが可能であり得るタイプのボットに対してより良好な推奨を行うために、機械学習エンジンによって使用され得る。たとえば、エージェントが、特定のタイプのボットがユーザによって提出された特定のメッセージまたは要求に関連する実際の意図を処理するのに適していないことを示す場合、フィードバックは、所与の通信セッションから、ユーザの意図、およびこの意図に基づいて、その意図を処理することが可能であり得る、1つまたは複数のタイプのボットを識別するように構成された、1つまたは複数の機械学習アルゴリズムまたは人工知能をトレーニングまたはさもなければ更新するために使用され得る。いくつかの事例では、1つまたは複数の機械学習アルゴリズムまたは人工知能は、特定の意図に対して不適切であると決定された特定のタイプのボットに対する信頼性スコアが同一または同様の意図に対してその特定のタイプのボットに対して低減されるように更新され得る。
【0135】
[00145]いくつかの実装形態では、インターフェースを介して提供される推奨は、識別された意図に対する異なるタイプのボットの対応する信頼性スコアに基づいて選択される。たとえば、インターフェースを介して提示される特定の推奨は、識別された意図に対して最高信頼性スコアを有する、特定のタイプのボットに対応し得る。いくつかの事例では、推奨は、特定の意図に対するしきい値を上回る信頼性スコアを有する、異なるタイプのボットに対して提供され得る。これは、取得された要求に対する特定のタイプのボットの選択のための追加のオプションをエージェントに提供し得る。
【0136】
[00146]
図10Eは、いくつかの実施形態による、会話が自動化に転送された後に端末デバイス上に表示され得るインターフェースの例示的なスクリーンショットを示す。エージェントは、会話を注文状況ボットに進めるために、転送に対応する対話要素を選択し得る。しかしながら、エージェントが、必要に応じて会話を「助ける」こと、すなわち、ユーザによる不満足など、何らかの理由で介入することができるように、ユーザとボットとの間の会話は端末デバイス上に依然として表示され得る。たとえば、エージェントが、ユーザがボットによって提供された応答メッセージに否定的に応答していると決定する場合、エージェントは、会話に介入するためのボットウィジェットの対話要素を選択し、その独自の応答メッセージをユーザに提供し得る。いくつかの事例では、上記で説明された通信サーバは、エージェントが会話に介入することが要求されるかどうかを決定するために、ユーザとボットとの間の会話をやはり監視し得る。たとえば、会話サーバが、ユーザがボットによって提出された応答メッセージに否定的に応答していると決定する場合、通信サーバは、(たとえば、信頼性を「高」からより低い値に変更する、など)そのボットに対して低減された信頼性格付けまたはスコアを示すように、ボットウィジェットを更新し得る。これは、ボットの性能が特定の会話に対して低下しているという、エージェントに対する指示として役立ち得る。いくつかの事例では、ボットに対する信頼性格付けまたはスコアが特定のしきい値を下回る場合、通信サーバは、会話をエージェントに自動的に転送し得る。インターフェースを通して、通信サーバは、この転送をエージェントに警告することができ、これは、会話に介入するようにエージェントに催促し得る。
【0137】
[00147]
図10Fは、ユーザとボットとの間に表示される会話全体を示す。
図10Gは、自動化推奨を有する、端末デバイス上に表示され得るインターフェースの代替スクリーンショットを示す。
図10Gでは、信頼性レベルは、「関連性」およびそれに伴う割合として表示される。信頼レベルに加えて、インターフェースは、ボット推奨が識別された意図に対して適切であるかどうかを示すためにエージェントによって使用され得る、1つまたは複数の対話要素を含み得る。たとえば、
図10Gに示されるように、インターフェースは、各自動化(たとえば、ボット)推奨に対して、「肯定(vote up)」ボタンおよび「否定(vote down)」ボタンを含み得る。特定の推奨に対する「肯定」ボタンの選択は、識別された意図に対する特定のボットの選択が適切または正確であるという指示として役立ち得る。このフィードバックは、同一または同様の意図に対する特定のボットの選択をさらに強化するように機械学習モデルまたは人工知能アルゴリズムをトレーニングまたは更新するために使用され得る。しかしながら、特定の推奨に対する「否定」ボタンの選択は、識別された意図に対する特定のボットの選択が不適切または不正確であるという指示として役立ち得る。このフィードバックは、同一または同様の意図に対する特定のボットの選択の可能性を低減させるように機械学習モデルまたは人工知能アルゴリズムをトレーニングまたは更新するために使用され得る。
【0138】
[00148]インターフェースは、エージェントが特定の推奨に対する否定ボタンの選択に対して正当化を提供することを可能にするためのドロップダウンメニューまたは他のオプションをさらに含み得る。ドロップダウンメニューまたは他のオプションは、エージェントがそこから選択し得る、1つまたは複数の事前定義された応答を含み得る。追加または代替として、インターフェースは、エージェントが、否定ボタンの選択に対するその独自の正当化を提供するか、または正当化の提供を全面的に断念するオプションを含み得る。エージェントによって提供される応答は、特定のボットが特定の意図に対して選択される可能性が低いように、機械学習モデルまたは人工知能アルゴリズムをさらにトレーニングまたは更新するために使用され得る。
【0139】
[00149]
図11は、メッセージングを自動化に転送するための方法のフローチャートである。ステップ1105において、会話の要求が受信され得る。要求は、支援または、端末デバイスを動作させているエージェントとの何らかの他の会話を求めるユーザによって、ネットワークデバイスにおいて開始され得る。要求は、対話要素の選択によって、または任意の他の好適な方法によって、自然言語で受信され得る。
【0140】
[00150]ステップ1110において、会話の意図が決定され得る。意図は、要求を解析することによって決定され得る。たとえば、要求が自然言語で受信される場合、その要求は、要求内のキーワードを決定し、他の言語を無視するためにパースされ得る。別の例では、要求は、その要求に最も近い意図を決定するために意図のデータベースと比較され得る。いくつかの実施形態では、要求に関連する意図を識別するために、機械学習が使用され得る。
【0141】
[00151]ステップ1115において、意図に基づいて、会話をボットに転送するオプションが自動的に提供され得る。このオプションが選択されるとき、ボットとの会話が促進され得る。たとえば、意図が、(過去に受信されたフィードバックの機械学習モデルから決定された)ボットによって過去に成功裏に処理されている意図である場合、オプションは、高い成功確率に基づいてその会話を転送するために端末デバイス上に自動的に提供され得る。成功の確率は、本明細書でさらに論じられるように、信頼性スコアまたは関連性スコアとして表現され得、任意の好適な形態で提示され得る。いくつかの実施形態では、会話中、ネットワークデバイスとボットとの間の会話に基づいて、感情スコアが計算され得る。感情スコアは、ユーザの会話に関する満足を反映するスコアであり得る。いくつかの実施形態では、感情スコアがしきい値を下回る場合、会話は端末デバイスに転送し戻されてよい。
【0142】
[00152]ステップ1120において、会話についてのフィードバックが受信され得る。たとえば、エージェントは、ネットワークデバイスのユーザとボットとの間の会話をウォッチし続けることができ、対話の様々な特徴についてのフィードバックを提供し得る。たとえば、エージェントは、要求の言語に基づく意図の識別についてフィードバックを提供し得る。エージェントは、会話を自動化に転送するための推奨が適切であるか否か、および/または会話を特定のボットに転送するための推奨が適切であるか否かについてフィードバックをさらに提供し得る。エージェントは、ボットが、たとえば、ユーザ満足に基づいて、どの程度良好に要求に対処したかについてのフィードバックをさらに提供し得る。
【0143】
[00153]ステップ1125において、1つまたは複数の将来の要求に関連する将来の意図を決定するためにフィードバックが使用されるモデルに適用され得る。たとえば、要求からの意図の識別についてのフィードバックは、機械学習に従って意図を識別するために使用されるモデルをさらに精緻化するために使用され得る。会話を自動化に転送するかどうかについてのフィードバックは、自動化に転送されるべきであるまたはされるべきではない将来の会話を識別するために使用され得る。会話を特定のボットに転送するかどうかについてのフィードバックは、特定のボットが将来推奨されるべきであるかどうか、などを識別するために使用され得る。
【0144】
[00154]上記の説明では、実施形態の完全な理解を与えるために具体的な詳細が与えられる。しかしながら、実施形態はこれらの具体的な詳細なしに実践され得ることを理解されよう。たとえば、これらの実施形態を不必要な詳細において不明瞭にしないために、回路がブロック図として示される場合がある。他の事例では、実施形態を不明瞭にすることを回避するために、よく知られている回路、プロセス、アルゴリズム、構造、および技法が不要な詳細なしに示され得る。
【0145】
[00155]上記で説明された技法、ブロック、ステップ、および手段の実装形態は、様々な方法で行われてよい。たとえば、これらの技法、ブロック、ステップ、および手段は、ハードウェア、ソフトウェア、またはそれらの組合せで実装され得る。ハードウェア実装の場合、処理ユニットは、1つまたは複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、上記で説明された機能を実行するように設計された他の電子ユニット、および/またはそれらの組合せの中で実装され得る。
【0146】
[00156]また、これらの実施形態の部分は、フローチャート、流れ図、データフロー図、構造図、またはブロック図として示されるプロセスとして説明されることがあることに留意されたい。フローチャートは、動作を逐次的なプロセスとして説明し得るが、動作の多くは、並行してまたは同時に実行され得る。加えて、動作の順序は並べ替えられ得る。その動作が完了されるとき、プロセスは終了されるが、図中に含まれない追加のステップを有し得る。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応することができる。プロセスが機能に対応するとき、その終了は、呼出し機能またはメイン機能に機能が戻ることに対応する。
【0147】
[00157]さらに、実施形態は、ハードウェア、ソフトウェア、スクリプト言語、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、および/またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、スクリプト言語、および/またはマイクロコードで実装されるとき、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体などのコンピュータ可読媒体内に記憶され得る。コードセグメントまたは機械実行可能命令は、手続き、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、スクリプト、クラス、または、命令、データ構造、および/またはプログラムステートメントの任意の組合せを表し得る。コードセグメントは、情報、データ、引数、パラメータ、および/またはメモリ内容を渡すことおよび/または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共用、メッセージパッシング、チケットパッシング、ネットワーク送信などを含む任意の適切な手段を介して、渡され、転送され、または送信され得る。
【0148】
[00158]ファームウェアおよび/またはソフトウェア実装の場合、本方法は、本明細書で説明された機能を実行するモジュール(たとえば、プロシージャ、関数、など)を用いて実装され得る。命令を有形に実施するいかなる機械可読媒体も、本明細書で説明された方法を実装する際に使用され得る。たとえば、ソフトウェアコードは、メモリ内に記憶され得る。メモリは、プロセッサの内部またはプロセッサの外部に実装され得る。本明細書で使用する「メモリ」という用語は、長期メモリ、短期メモリ、揮発性メモリ、不揮発性メモリ、または他の記憶媒体のいずれかのタイプを指し、メモリのいずれかの特定のタイプもしくはメモリの数、またはメモリが記憶される媒体のタイプに限定されるべきではない。
【0149】
[00159]さらに、本明細書で開示されたように、「記憶媒体」、「ストレージ」、または「メモリ」という用語は、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気RAM、コアメモリ、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、および/または情報を記憶するための他の機械可読媒体を含む、データを記憶するための1つまたは複数のメモリを表し得る。「コンピュータ可読媒体」という用語は、限定されないが、ポータブルまたは固定記憶デバイス、光記憶デバイス、ワイヤレスチャネル、および/または命令および/またはデータを含むまたは担持する、記憶することが可能な様々な他の記憶媒体を含む。
【0150】
[00160]本開示の原理が特定の装置および方法に関して上記で説明されているが、本説明は、本開示の範囲に対する限定ではなく、例としてのみ行われることを明確に理解されよう。
【手続補正書】
【提出日】2023-09-19
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
会話に関連する意図を決定することと、ここにおいて、メッセージは、前記会話中にリアルタイムで交換され、前記会話は、端末デバイスに関連する、
前記メッセージが交換されたときにリアルタイムで前記メッセージを受信することと、
推奨される応答メッセージを生成するためにトレーニングされた機械学習モデルに対する入力として前記意図および前記メッセージを使用することと、ここにおいて、前記トレーニングされた機械学習モデルは、前記意図に基づいてメッセージのクラスタを識別し、前記推奨される応答メッセージは、前記推奨される応答メッセージに関連する信頼性スコアが信頼性しきい値を満たす結果として生成される、
前記推奨される応答メッセージを提供することと、ここにおいて、前記推奨される応答が前記端末デバイスにおいて受信されるとき、前記端末デバイスに関連するエージェントが、前記推奨される応答メッセージを伝えるか、または代替の応答メッセージを伝えるかを決定する、
前記会話中に交換された実際の応答メッセージに対応するフィードバックを動的に決定することと、ここにおいて、前記実際の応答メッセージは、前記推奨される応答メッセージまたは前記代替の応答メッセージのいずれかを含む、
前記フィードバックに基づいて前記会話の極性を決定することと、
新しい推奨される応答メッセージを決定するために、前記意図、前記実際の応答メッセージ、および前記極性を使用して前記トレーニングされた機械学習モデルを更新することと、ここにおいて、前記トレーニングされた機械学習モデルは、前記実際の応答メッセージ、前記極性、および前記フィードバックに従って前記識別されたメッセージのクラスタを修正することで更新される、
を備える、コンピュータ実装方法。
【請求項2】
前記会話中に前記エージェントに対応するメッセージを記録することと、
前記会話の前記極性に基づいて、前記エージェントに対応する前記メッセージを前記意図に関連付けることと、
をさらに備える、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記端末デバイスは、前記会話中に肯定的な経験を提供するために、前記端末デバイスの可能性に基づいて選択される、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記会話に対応する前記フィードバックは、前記会話中に交換される前記メッセージに関連するテキストおよび非テキスト属性を含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記意図は、前記会話の要求に関連し、前記要求は、自然言語で行われる、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記会話の前記極性は、別のトレーニングされた機械学習モデルを使用して決定され、他のトレーニングされた機械学習モデルは、前記会話中に前記メッセージが交換されたときに前記極性を決定するようにトレーニングされる、請求項1に記載のコンピュータ実装方法。
【請求項7】
システムであって、
1つまたは複数のプロセッサと、
命令を記憶するメモリと、
を備え、前記命令は、前記1つまたは複数のプロセッサによって実行された結果として、
会話に関連する意図を決定することと、ここにおいて、メッセージは、前記会話中にリアルタイムで交換され、前記会話は、端末デバイスに関連する、
前記メッセージが交換されたときにリアルタイムで前記メッセージを受信することと、
推奨される応答メッセージを生成するためにトレーニングされた機械学習モデルに対する入力として前記意図および前記メッセージを使用することと、ここにおいて、前記トレーニングされた機械学習モデルは、前記意図に基づいてメッセージのクラスタを識別し、前記推奨される応答メッセージは、前記推奨される応答メッセージに関連する信頼性スコアが信頼性しきい値を満たす結果として生成される、
前記推奨される応答メッセージを提供することと、ここにおいて、前記推奨される応答が前記端末デバイスにおいて受信されるとき、前記端末デバイスに関連するエージェントが、前記推奨される応答メッセージを伝えるか、または代替の応答メッセージを伝えるかを決定する、
前記会話中に交換された実際の応答メッセージに対応するフィードバックを動的に決定することと、ここにおいて、前記実際の応答メッセージは、前記推奨される応答メッセージまたは前記代替の応答メッセージのいずれかを含む、
前記フィードバックに基づいて前記会話の極性を決定することと、
新しい推奨される応答メッセージを決定するために、前記意図、前記実際の応答メッセージ、および前記極性を使用して前記トレーニングされた機械学習モデルを更新することと、ここにおいて、前記トレーニングされた機械学習モデルは、前記実際の応答メッセージ、前記極性、および前記フィードバックに従って前記識別されたメッセージのクラスタを修正することで更新される、
を前記システムに行わせる、システム。
【請求項8】
前記命令は、
前記会話中に前記エージェントに対応するメッセージを記録することと、
前記会話の前記極性に基づいて、前記エージェントに対応する前記メッセージを前記意図に関連付けることと、
を前記システムにさらに行わせる、請求項7に記載のシステム。
【請求項9】
前記端末デバイスは、前記会話中に肯定的な経験を提供するために、前記端末デバイスの可能性に基づいて選択される、請求項7に記載のシステム。
【請求項10】
前記会話に対応する前記フィードバックは、前記会話中に交換される前記メッセージに関連するテキストおよび非テキスト属性を含む、請求項7に記載のシステム。
【請求項11】
前記意図は、前記会話の要求に関連し、前記要求は、自然言語で行われる、請求項7に記載のシステム。
【請求項12】
前記会話の前記極性は、別のトレーニングされた機械学習モデルを使用して決定され、他のトレーニングされた機械学習モデルは、前記会話中に前記メッセージが交換されたときに前記極性を決定するようにトレーニングされる、請求項7に記載のシステム。
【請求項13】
実行可能命令が記憶されている非一時的コンピュータ可読記憶媒体であって、前記実行可能命令は、コンピュータシステムの1つまたは複数のプロセッサによって実行された結果として、
会話に関連する意図を決定することと、ここにおいて、メッセージは、前記会話中にリアルタイムで交換され、前記会話は、端末デバイスに関連する、
前記メッセージが交換されたときにリアルタイムで前記メッセージを受信することと、
推奨される応答メッセージを生成するためにトレーニングされた機械学習モデルに対する入力として前記意図および前記メッセージを使用することと、ここにおいて、前記トレーニングされた機械学習モデルは、前記意図に基づいてメッセージのクラスタを識別し、前記推奨される応答メッセージは、前記推奨される応答メッセージに関連する信頼性スコアが信頼性しきい値を満たす結果として生成される、
前記推奨される応答メッセージを提供することと、ここにおいて、前記推奨される応答が前記端末デバイスにおいて受信されるとき、前記端末デバイスに関連するエージェントが、前記推奨される応答メッセージを伝えるか、または代替の応答メッセージを伝えるかを決定する、
前記会話中に交換された実際の応答メッセージに対応するフィードバックを動的に決定することと、ここにおいて、前記実際の応答メッセージは、前記推奨される応答メッセージまたは前記代替の応答メッセージのいずれかを含む、
前記フィードバックに基づいて前記会話の極性を決定することと、
新しい推奨される応答メッセージを決定するために、前記意図、前記実際の応答メッセージ、および前記極性を使用して前記トレーニングされた機械学習モデルを更新することと、ここにおいて、前記トレーニングされた機械学習モデルは、前記実際の応答メッセージ、前記極性、および前記フィードバックに従って前記識別されたメッセージのクラスタを修正することで更新される、
を前記コンピュータシステムに行わせる、非一時的コンピュータ可読記憶媒体。
【請求項14】
前記実行可能命令は、
前記会話中に前記エージェントに対応するメッセージを記録することと、
前記会話の前記極性に基づいて、前記エージェントに対応する前記メッセージを前記意図に関連付けることと、
を前記コンピュータシステムにさらに行わせる、請求項13に記載の非一時的コンピュータ可読記憶媒体。
【請求項15】
前記端末デバイスは、前記会話中に肯定的な経験を提供するために、前記端末デバイスの可能性に基づいて選択される、請求項13に記載の非一時的コンピュータ可読記憶媒体。
【請求項16】
前記会話に対応する前記フィードバックは、前記会話中に交換される前記メッセージに関連するテキストおよび非テキスト属性を含む、請求項13に記載の非一時的コンピュータ可読記憶媒体。
【請求項17】
前記意図は、前記会話の要求に関連し、前記要求は、自然言語で行われる、請求項13に記載の非一時的コンピュータ可読記憶媒体。
【請求項18】
前記会話の前記極性は、別のトレーニングされた機械学習モデルを使用して決定され、他のトレーニングされた機械学習モデルは、前記会話中に前記メッセージが交換されたときに前記極性を決定するようにトレーニングされる、請求項13に記載の非一時的コンピュータ可読記憶媒体。
【請求項19】
前記フィードバックは、前記実際の応答メッセージに対する反応を識別するために前記会話を監視することによって動的に決定され、前記反応は、前記会話の前記極性を決定するために使用される、請求項1に記載のコンピュータ実装方法。
【請求項20】
前記フィードバックは、前記実際の応答メッセージに対する反応を識別するために前記会話を監視することによって動的に決定され、前記反応は、前記会話の前記極性を決定するために使用される、請求項7に記載のシステム。
【請求項21】
前記フィードバックは、前記実際の応答メッセージに対する反応を識別するために前記会話を監視することによって動的に決定され、前記反応は、前記会話の前記極性を決定するために使用される、請求項13に記載の非一時的コンピュータ可読記憶媒体。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0150
【補正方法】変更
【補正の内容】
【0150】
[00160]本開示の原理が特定の装置および方法に関して上記で説明されているが、本説明は、本開示の範囲に対する限定ではなく、例としてのみ行われることを明確に理解されよう。
以下に、出願当初の特許請求の範囲に記載の事項を、そのまま、付記しておく。
[C1]
コンピュータ実装方法であって、
会話の要求を受信することと、
前記会話の意図を決定することと、ここにおいて、前記意図が、前記要求から決定される、
前記意図に基づいて、1つまたは複数のタイプのボットを識別することと、ここにおいて、ボットのタイプが、前記意図に基づく、対応する信頼性スコアを有し、ここにおいて、前記信頼性スコアが、前記意図が特定のタイプのボットを使用して解決可能である可能性を示す、
エージェントによって動作させられる端末デバイスからあるタイプのボットに前記会話を転送するための1つまたは複数のオプションを動的に提供するために、前記1つまたは複数のタイプのボットに対応する前記1つまたは複数の信頼性スコアを使用することと、ここにおいて、前記会話を転送するための前記1つまたは複数のオプションが端末デバイスにおいて受信されるとき、オプションを選択することが、選択されたタイプのボットとの会話を促進させ、ここにおいて、前記選択されたタイプのボットとの前記会話が、前記エージェントによって前記端末デバイスにおいて監視される、
前記会話についてのフィードバックを受信することと、
将来の意図と、1つまたは複数の将来の要求をルーティングすることに関連する前記1つまたは複数のタイプのボットに対する将来の信頼性スコアとを決定するために使用されるモデルに、前記フィードバックを適用することとを備える、コンピュータ実装方法。
[C2]
前記選択されたタイプのボットとの前記会話を前記端末デバイスにおいて表示すること
をさらに備える、C1に記載のコンピュータ実装方法。
[C3]
前記選択されたタイプのボットとの前記会話に基づいて、感情スコアを計算すること
をさらに備える、C1に記載のコンピュータ実装方法。
[C4]
前記感情スコアがしきい値を下回ると決定することと、
前記会話を前記端末デバイスに転送することと
をさらに備える、C3に記載のコンピュータ実装方法。
[C5]
前記要求が自然言語で行われる、C1に記載のコンピュータ実装方法。
[C6]
前記オプションが選択されるとき、前記将来の意図と、前記1つまたは複数の将来の要求をルーティングすることに関連する前記1つまたは複数のタイプのボットに対する前記将来の信頼性スコアとを決定するために使用される前記モデルが、前記将来の意図が決定されるとき、前記オプションを提供するように更新される、C1に記載のコンピュータ実装方法。
[C7]
前記フィードバックが、前記端末デバイスおよび前記会話の前記要求がそこから受信されたネットワークデバイスから受信される、C1に記載のコンピュータ実装方法。
[C8]
命令を含む、非一時的機械可読記憶媒体に有形に具現化されたコンピュータプログラム製品であって、前記命令が、1つまたは複数のプロセッサによって実行されたときに、前記1つまたは複数のプロセッサに、
会話の要求を受信することと、
前記会話の意図を決定することと、ここにおいて、前記意図が、前記要求から決定される、
前記意図に基づいて、1つまたは複数のタイプのボットを識別することと、ここにおいて、ボットのタイプが、前記意図に基づく、対応する信頼性スコアを有し、ここにおいて、前記信頼性スコアが、前記意図が特定のタイプのボットを使用して解決可能である可能性を示す、
エージェントによって動作させられる端末デバイスからあるタイプのボットに前記会話を転送するための1つまたは複数のオプションを動的に提供するために、前記1つまたは複数のタイプのボットに対応する前記1つまたは複数の信頼性スコアを使用することと、ここにおいて、前記会話を転送するための前記1つまたは複数のオプションが端末デバイスにおいて受信されるとき、オプションを選択することが、選択されたタイプのボットとの会話を促進させ、ここにおいて、前記選択されたタイプのボットとの前記会話が、前記エージェントによって前記端末デバイスにおいて監視される、
前記会話についてのフィードバックを受信することと、
将来の意図と、1つまたは複数の将来の要求をルーティングすることに関連する前記1つまたは複数のタイプのボットに対する将来の信頼性スコアとを決定するために使用されるモデルに、前記フィードバックを適用することとを含む動作を実行させる、コンピュータプログラム製品。
[C9]
前記動作が、
前記選択されたタイプのボットとの前記会話を前記端末デバイスにおいて表示することをさらに含む、C8に記載のコンピュータプログラム製品。
[C10]
前記動作が、
前記選択されたタイプのボットとの前記会話に基づいて、感情スコアを計算すること
をさらに備える、C8に記載のコンピュータプログラム製品。
[C11]
前記動作が、
前記感情スコアがしきい値を下回ると決定することと、
前記会話を前記端末デバイスに転送することと
をさらに含む、C10に記載のコンピュータプログラム製品。
[C12]
前記要求が自然言語で行われる、C8に記載のコンピュータプログラム製品。
[C13]
前記オプションが選択されるとき、前記将来の意図と、前記1つまたは複数の将来の要求をルーティングすることに関連する前記1つまたは複数のタイプのボットに対する前記将来の信頼性スコアとを決定するために使用される前記モデルが、前記将来の意図が決定されるとき、前記オプションを提供するように更新される、C8に記載のコンピュータプログラム製品。
[C14]
システムであって、
1つまたは複数のプロセッサと、
命令を含む、1つまたは複数の非一時的機械可読記憶媒体とを備え、前記命令が、前記1つまたは複数のプロセッサによって実行されたときに、前記1つまたは複数のプロセッサに、
会話の要求を受信することと、
前記会話の意図を決定することと、ここにおいて、前記意図が、前記要求から決定される、
前記意図に基づいて、1つまたは複数のタイプのボットを識別することと、ここにおいて、ボットのタイプが、前記意図に基づく、対応する信頼性スコアを有し、ここにおいて、前記信頼性スコアが、前記意図が特定のタイプのボットを使用して解決可能である可能性を示す、
エージェントによって動作させられる端末デバイスからあるタイプのボットに前記会話を転送するための1つまたは複数のオプションを動的に提供するために、前記1つまたは複数のタイプのボットに対応する前記1つまたは複数の信頼性スコアを使用することと、ここにおいて、前記会話を転送するための前記1つまたは複数のオプションが端末デバイスにおいて受信されるとき、オプションを選択することが、選択されたタイプのボットとの会話を促進させ、ここにおいて、前記選択されたタイプのボットとの前記会話が、前記エージェントによって前記端末デバイスにおいて監視される、
前記会話についてのフィードバックを受信することと、
将来の意図と、1つまたは複数の将来の要求をルーティングすることに関連する前記1つまたは複数のタイプのボットに対する将来の信頼性スコアとを決定するために使用されるモデルに、前記フィードバックを適用することとを含む動作を実行させる、システム。
[C15]
前記動作が、
前記選択されたタイプのボットとの前記会話を前記端末デバイスにおいて表示することをさらに含む、C14に記載のシステム。
[C16]
前記動作が、
前記選択されたタイプのボットとの前記会話に基づいて、感情スコアを計算すること
をさらに備える、C14に記載のシステム。
[C17]
前記動作が、
前記感情スコアがしきい値を下回ると決定することと、
前記会話を前記端末デバイスに転送することと
をさらに含む、C16記載のシステム。
[C18]
前記要求が自然言語で行われる、C14に記載のシステム。
[C19]
前記オプションが選択されるとき、前記将来の意図と、前記1つまたは複数の将来の要求をルーティングすることに関連する前記1つまたは複数のタイプのボットに対する前記将来の信頼性スコアとを決定するために使用される前記モデルが、前記将来の意図が決定されるとき、前記オプションを提供するように更新される、C14に記載のシステム。
[C20]
前記フィードバックが、前記端末デバイスおよび前記会話の前記要求がそこから受信されたネットワークデバイスから受信される、C14に記載のシステム。
【外国語明細書】