(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-27
(45)【発行日】2023-12-05
(54)【発明の名称】通信システムインテント分析のためのシステムおよび方法
(51)【国際特許分類】
G06F 16/906 20190101AFI20231128BHJP
G06F 16/90 20190101ALI20231128BHJP
G06F 40/30 20200101ALI20231128BHJP
【FI】
G06F16/906
G06F16/90 100
G06F40/30
(21)【出願番号】P 2021573524
(86)(22)【出願日】2020-06-11
(86)【国際出願番号】 US2020037264
(87)【国際公開番号】W WO2020252183
(87)【国際公開日】2020-12-17
【審査請求日】2022-01-17
(32)【優先日】2019-06-12
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】511094772
【氏名又は名称】ライブパーソン, インコーポレイテッド
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100179062
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100219542
【氏名又は名称】大宅 郁治
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】ダン、マシュー
(72)【発明者】
【氏名】ブラッドリー、ジョー
(72)【発明者】
【氏名】オヌ、ローラ
【審査官】成瀬 博之
(56)【参考文献】
【文献】特開2011-150682(JP,A)
【文献】国際公開第2019/040591(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/00-40/58
(57)【特許請求の範囲】
【請求項1】
コンピュータによって実行される方法であって、
通信を受信することと、ここにおいて、前記通信は、1つまたは複数の単語を含み、前記通信
を生成したデバイスは、アクションを含む1つまたは複数のアクションに関連付けられる、
前記デバイスに関連付けられた前記アクションに対応する1つまたは複数の主要語を特定するために前記通信を自動的に構文解析することと、
前記1つまたは複数の主要語に関連付けられたインテントを特定することと、ここにおいて、前記インテントは、前記アクションを定義する、
前記インテントのアノテーションを
計算することと、ここにおいて、アノテーションは、前記通信と前記インテントとの間の関連付けの品質を定義する、
1つまたは複数のエージェントプロファイルの中から1つのエージェントプロファイルを選択すること、ここにおいて、前記エージェントプロファイルは特定のインテント、カテゴリ、主題またはトピックスの少なくとも1つの知識があるエージェントに関連付けられた情報を含み、前記エージェントプロファイルは、前記インテントに対する前記エージェントプロファイルの相関と、前記通信と前記インテントとの間の関連付けの品質とに基づいて選択される、と、
前記エージェントが前記インテントについての経験があることを示すエージェントプロファイルを有するエージェントに前記通信をルーティングすることと、
を含
む方法。
【請求項2】
前記通信は、自然言語で行われる、請求項1に記載
の方法。
【請求項3】
前記1つまたは複数の主要語は、前記1つまたは複数の主要語をデータベース内の1つまたは複数の既知の主要語と比較することによって特定される、請求項1に記載
の方法。
【請求項4】
前記1つまたは複数の主要語に関連付けられた前記インテントは、データベース内の記憶された関連付けを通して特定される、請求項1に記載
の方法。
【請求項5】
前記エージェントが前記インテントに関連付けられたインテントカテゴリについて精通していることを示す前記エージェントのためのプロファイルに基づいて、前記通信のためのエージェントプロファイルを選択することをさらに備える、請求項1に記載の方法。
【請求項6】
非一時的な機械可読記憶媒体に有形に具現化されたコンピュータプログラ
ムであって、前記非一時的な機械可読記憶媒体は、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
デバイスから通信を受信することと、ここにおいて、前記通信は、1つまたは複数の単語を含み、前記デバイスは、アクションを含む1つまたは複数のアクションに関連付けられる、
前記デバイスに関連付けられた前記アクションに対応する1つまたは複数の主要語を特定するために前記通信を自動的に構文解析することと、
前記1つまたは複数の主要語に関連付けられたインテントを特定することと、ここにおいて、前記インテントは、前記アクションを定義する、
前記インテントのアノテーションを
計算することと、ここにおいて、アノテーションは、前記通信と前記インテントとの間の関連付けの品質を定義する、
1つまたは複数のエージェントプロファイルの中から1つのエージェントプロファイルを選択すること、ここにおいて、前記エージェントプロファイルは特定のインテント、カテゴリ、主題またはトピックスの少なくとも1つの知識があるエージェントに関連付けられた情報を含み、前記エージェントプロファイルは、前記インテントに対する前記エージェントプロファイルの相関と、前記通信と前記インテントとの間の関連付けの品質とに基づいて選択される、と、
前記エージェントが前記インテントについての経験があることを示すエージェントプロファイルを有するエージェントに前記通信をルーティングすることと、
を含む動作を実行させる命令を含む、コンピュータプログラ
ム。
【請求項7】
前記通信は、自然言語で行われる、請求項
6に記載のコンピュータプログラ
ム。
【請求項8】
前記1つまたは複数の主要語は、前記1つまたは複数の主要語をデータベース内の1つまたは複数の既知の主要語と比較することによって特定される、請求項
6に記載のコンピュータプログラ
ム。
【請求項9】
前記1つまたは複数の主要語に関連付けられた前記インテントは、データベース内の記憶された関連付けを通して特定される、請求項
6に記載のコンピュータプログラ
ム。
【請求項10】
前記エージェントが前記インテントに関連付けられたインテントカテゴリについて精通していることを示す前記エージェントのためのプロファイルに基づいて、前記通信のためのエージェントプロファイルを選択することをさらに含む、請求項6に記載のコンピュータプログラム。
【請求項11】
システムであって、
1つまたは複数のプロセッサと、
1つまたは複数の非一時的な機械可読記憶媒体と
を備え、前記1つまたは複数の非一時的な機械可読記憶媒体は、前記1つまたは複数のプロセッサ上で実行されると、前記1つまたは複数のプロセッサに、
デバイスから通信を受信することと、ここにおいて、前記通信は、1つまたは複数の単語を含み、前記デバイスは、アクションを含む1つまたは複数のアクションに関連付けられる、
前記デバイスに関連付けられた前記アクションに対応する1つまたは複数の主要語を特定するために前記通信を自動的に構文解析することと、
前記1つまたは複数の主要語に関連付けられたインテントを特定することと、ここにおいて、前記インテントは、前記アクションを定義する、
前記インテントのアノテーションを
計算することと、ここにおいて、アノテーションは、前記通信と前記インテントとの間の関連付けの品質を定義する、
1つまたは複数のエージェントプロファイルの中から1つのエージェントプロファイルを選択すること、ここにおいて、前記エージェントプロファイルは特定のインテント、カテゴリ、主題またはトピックスの少なくとも1つの知識があるエージェントに関連付けられた情報を含み、前記エージェントプロファイルは、前記インテントに対する前記エージェントプロファイルの相関と、前記通信と前記インテントとの間の関連付けの品質とに基づいて選択される、と、
前記エージェントが前記インテントについての経験があることを示すエージェントプロファイルを有するエージェントに前記通信をルーティングすることと、
を含む動作を行わせる、システム。
【請求項12】
前記通信は、自然言語で行われる請求項
11に記載のシステム。
【請求項13】
前記1つまたは複数の主要語は、前記1つまたは複数の主要語をデータベース内の1つまたは複数の既知の主要語と比較することによって特定される、請求項
11に記載のシステム。
【請求項14】
前記1つまたは複数の主要語に関連付けられた前記インテントは、データベース内の記憶された関連付けを通して特定される、請求項
11に記載のシステム。
【請求項15】
前記エージェントが前記インテントに関連付けられたインテントカテゴリについて精通していることを示す前記エージェントのためのプロファイルに基づいて、前記通信のためのエージェントプロファイルを選択することをさらに含む、請求項11に記載のシステム。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
[0001]本出願は、2019年6月12日に出願された米国仮特許出願第62/860,520号の優先権の利益を主張し、その開示は、あらゆる目的のためにその全体が参照により本明細書に組み込まれる。
【技術分野】
【0002】
[0002]本開示は、一般に、人工知能(AI)を使用する通信処理に関する。より具体的には、自然言語クエリで受信されたインテントを特定および分析するためにAIプラットフォームを展開し、システム通信に関連付けられたインテント分析を使用してAIプラットフォームで通信システムのパフォーマンスを向上させるための技法が提供される。
【発明の概要】
【0003】
[0003]実施形態という用語および同様の用語は、本開示および以下の特許請求の範囲の主題のすべてを広く指すものとする。これらの用語を含むステートメントは、本明細書で説明される主題を限定するものでも、以下の特許請求の範囲の意味または範囲を限定するものでもないことは理解されるべきである。本明細書でカバーされる本開示の実施形態は、この概要ではなく、以下の特許請求の範囲によって定義される。この概要は、本開示の様々な態様の大まかな概要であり、以下の発明を実施するための形態のセクションにおいてさらに説明される概念のいくつかを紹介する。この概要は、特許請求される主題の重要なまたは本質的な特徴を特定することを意図するものでも、特許請求される主題の範囲を決定するために単独で使用されることを意図するものでもない。主題は、本開示の明細書全体、いずれかまたはすべての図面、および各請求項の適切な部分を参照することによって理解されるべきである。
【0004】
[0004]本明細書で説明される例は、人工知能(AI)駆動システムを用いてユーザに情報を提供するように構成された通信システムに関する。そのようなシステムは、多種多様なユーザ照会に応答するように構成され得る。ユーザ照会の性質が広い可能な範囲をカバーすると仮定すると、システム通信に関連付けられたユーザインテントを分類することは、AIシステムがユーザ通信に対する適切な応答を容易にすることを可能にする上で重要な関心事である。
【0005】
[0005]本明細書で説明される場合、「インテント」は、通信システムが対処可能なユーザ問題に関連付けられた機械ベースの通信システムカテゴリを指す。通信システムにおけるデバイスは、ユーザとの通信を管理するために、機械学習およびAIをインテント処理システムと併用することができる。異なるシステム実装形態は、異なるインテントグルーピングおよびカテゴリを使用することができる。例えば、医療に関連するユーザ質問に対処するための通信システムは、ハードウェアデバイスに関するユーザサポートを提供する通信システムとは異なるインテントカテゴリを使用することができる。医療制度のための通信システムは、「schedule an appointment(アポイントメントを取る)」、「get test results(検査結果を取得する)」、および「refill a prescription(処方箋を補充する)」などのインテントカテゴリを有し得るが、デバイスサポートシステムは、「get operating instructions(取扱説明書を取得する)」、「request warranty repairs(保証修理を要求する)」、「speak with a technician(専門家と話す)」、または「get troubleshooting assistance(トラブルシューティングアシスタンスを受ける)」などの代替的なインテントカテゴリを有することができる。追加的に、インテントカテゴリは、(例えば、複数のサブカテゴリレベルおよびツリーを使用して)様々なレベルの特異性で構造化され得る。例えば、「troubleshooting assistance(トラブルシューティングアシスタンス)」というインテントカテゴリは、「power-on problems(電源投入に関する問題)」、「operating errors(操作ミス)」、および「configuration errors(構成エラー)」などのカテゴリに関連付けられ得る。これらのサブカテゴリの各々は、既知のカテゴリに関連付けられたサブカテゴリをさらに有することができる。例えば、以前のユーザ通信において特定されたデバイス故障カテゴリは、ユーザ通信の機械分析およびAI処理に基づいて、インテントカテゴリが割り当てられ得る。
【0006】
[0006]いくつかの例では、システムは、多くのタイプのシステムをサポートすることができ(例えば、複数のビジネスおよび通信タイプに対するサポート)、したがって、異なるインテント分析ツリーは、ユーザとの複数の通信を通して精緻化され得るインテントカテゴリの初期セットを決定することができる。
【0007】
[0007]ユーザがシステムと通信すると、コンピューティングデバイスの自然言語処理動作は、ユーザ通信をインテントカテゴリと関連付け、経時的に通信が行われるにつれてインテントカテゴリおよびインテントサブカテゴリとの関連付けを精緻化するために、使用され得る。本明細書で説明される例は、AIおよび機械ベースの通信の効率を改善し、ユーザ通信への応答を容易にするために使用される処理リソースを低減し、そのようなシステムにおける機械駆動通信の品質を改善することによって、通信システムにおけるデバイスの動作を改善する。
【0008】
[0008]本開示の特定の例は、コンピュータ実装方法を含む。方法は、デバイスから通信を受信することを含み得る。通信は、1つまたは複数の単語を含み得る。デバイスは、1つまたは複数のアクションに関連付けられ得る。方法は、デバイスに関連付けられたアクションに対応する1つまたは複数の主要語を特定するために通信を自動的に構文解析することをさらに含み得る。方法は、1つまたは複数の主要語に関連付けられたインテントを特定することをさらに含み得る。インテントは、アクションを定義し得る。方法は、インテントのアノテーションを容易にすることをさらに含み得る。アノテーションは、通信とインテントとの間の関連付けの品質を定義し得る。方法は、関連付けの品質に基づいてインテントについてのメトリックを計算することをさらに含み得る。方法は、インテントおよびメトリックの表示を容易にすることをさらに含み得る。
【0009】
[0009]本開示の特定の実施形態は、システムを含む。システムは、1つまたは複数のデータプロセッサと、1つまたは複数のデータプロセッサ上で実行されると、1つまたは複数のデータプロセッサに、上記および本明細書で説明される方法を実行させる命令を含んでいる非一時的なコンピュータ可読記憶媒体とを含み得る。
【0010】
[0010]本開示の特定の実施形態は、データ処理装置に、上記および本明細書で説明される方法を実行させるように構成された命令を含む非一時的な機械可読記憶媒体において有形に具現化されたコンピュータプログラム製品を含む。
【0011】
[0011]本開示は、添付の図面と併せて説明される。
【図面の簡単な説明】
【0012】
【
図1】[0012]
図1は、本技術のいくつかの態様によるネットワーク対話システムの例となる実施形態を示す。
【
図2】[0013]
図2は、本技術のいくつかの態様によるネットワーク対話システムの例となる実施形態を示す。
【
図3A】[0014]
図3Aは、本技術のいくつかの態様による接続管理システムを含むネットワーク対話システムの例となる実施形態を示す。
【
図3B】
図3Bは、本技術のいくつかの態様による接続管理システムを含むネットワーク対話システムの例となる実施形態を示す。
【
図3C】
図3Cは、本技術のいくつかの態様による接続管理システムを含むネットワーク対話システムの例となる実施形態を示す。
【
図4】[0015]
図4は、本技術のいくつかの態様による接続コンポーネントの動作のプロトコルスタックマッピングの表現を示す。
【
図5】[0016]
図5は、本技術のいくつかの態様による、マルチデバイス通信交換システムの実施形態を表す。
【
図6】[0017]
図6は、本技術のいくつかの態様による接続管理システムの例となる実施形態を示す。
【
図7】[0018]
図7は、本技術のいくつかの態様によるインテント管理エンジンの例となる実施形態を示す。
【
図8】[0019]
図8は、本技術のいくつかの態様による方法の実施形態のフローチャートを示す。
【
図9】[0020]
図9は、本技術のいくつかの態様によるインテントモデルを構築するためのインターフェースの例となるスクリーンショットを示す。
【
図10】[0021]本技術のいくつかの態様によるインテントのアノテーションのための構成プロットを示す。
【
図11A】[0022]
図11Aは、本技術のいくつかの態様によるインテント駆動コンタクトセンターのための例となるダッシュボードレポートを示す。
【
図11B】
図11Bは、本技術のいくつかの態様によるインテント駆動コンタクトセンターのための例となるダッシュボードレポートを示す。
【
図11C】
図11Cは、本技術のいくつかの態様によるインテント駆動コンタクトセンターのための例となるダッシュボードレポートを示す。
【
図11D】
図11Dは、本技術のいくつかの態様によるインテント駆動コンタクトセンターのための例となるダッシュボードレポートを示す。
【
図11E】
図11Eは、本技術のいくつかの態様によるインテント駆動コンタクトセンターのための例となるダッシュボードレポートを示す。
【
図11F】
図11Fは、本技術のいくつかの態様によるインテント駆動コンタクトセンターのための例となるダッシュボードレポートを示す。
【
図12】[0023]
図12は、本技術のいくつかの態様によるインテント駆動コンタクトセンターのための例となるエージェントランキングを示す。
【
図13】[0024]
図13は、本技術のいくつかの実装形態による、インテント駆動通信システムの態様を実装するために使用され得る例となるコンピューティングデバイスを例示する。
【発明を実施するための形態】
【0013】
[0025]添付の図において、同様のコンポーネントおよび/または特徴は、同じ参照ラベルを有することができる。さらに、同じタイプの様々なコンポーネントは、参照ラベルの後にダッシュと、類似のコンポーネントを区別する第2のラベルとが続くことによって区別され得る。第1の参照ラベルだけが本明細書で使用される場合、その説明は、第2の参照ラベルにかかわらず、同じ第1の参照ラベルを有する同様のコンポーネントのいずれにも適用可能である。
【0014】
[0026]以下の説明は、例を与えるものであり、本開示の範囲、適用可能性、または構成を限定することを意図するものではない。むしろ、例の以下の説明は、例を実装するための実施可能な説明を当業者に提供する。添付の特許請求の範囲に記載される趣旨および範囲から逸脱することなく、要素の機能および配置に様々な変更を行うことができることが理解される。
【0015】
[0027]本明細書で説明される例は、人工知能(AI)および機械分析駆動システムを用いてユーザに情報を提供するように構成された通信システムに関する。そのようなシステムは、通信システムを分析および改善するために、例えば、自然言語処理(NLP)、自然言語分析(NLA)、ニューラルネットワーク、ならびに様々なAIおよび機械学習ツールを使用することができる。そのようなシステムは、多種多様なユーザ照会に応答するように構成され得る。ユーザ照会の性質が広い可能な範囲をカバーすると仮定すると、システム通信に関連付けられたユーザインテントを分類することは、AIシステムがユーザ通信に対する適切な応答を容易にすることを可能にする上で重要な関心事である。本明細書で説明されるように、そのようなシステムは、インテントカテゴリおよびインテントカテゴリに関連付けられたアクションに対するユーザ通信からの単語のマッチングおよびパフォーマンスを向上させるために、使用からのフィードバックに基づいて動的に更新され得る。異なる実装形態では、この更新は、データが収集されるときに周期的に、または機械学習を使用するAIシステムのためのデータセットにユーザ使用データを統合するための連続したリアルタイムフィードバックの一部として自動的に実行され得る。
【0016】
[0028]本明細書で説明される場合、「インテント(intent)」は、通信システムが対処可能なユーザ問題に関連付けられた機械ベースの通信システムカテゴリを指す。通信システムは、1つまたは複数の単語を有する通信(例えば、テキスト通信またはテキストに変換されたデータ)を受信することができ、通信内の単語と通信システムを介して利用可能なアクションとの間の関連付けを特定するために単語を分割することができる。
【0017】
[0029]通信システムのための「アクション(action)」は、AI駆動の通信システムのための通信ルーティングおよび通信応答オプションを指すことができる。システムにおいて利用可能なアクションは、インテントカテゴリに関連付けられ得る。例えば、ユーザインテントは、修理専門家と話すことであり得、アクションは、通信を修理専門家にルーティングすることであり得る。別の例は、デバイスサポートに関連付けられた一般的なユーザインテントであり、インテントカテゴリは、デバイストラブルシューティングオプションの様々なツリーを含むことができる。トラブルシューティング情報へのユーザのナビゲーションを容易にすることは、ユーザデバイスおよびユーザ通信に関連付けられた1つのアクション(または複数のアクション)と見なされる。通信システムにおけるデバイスは、ユーザとの通信に応答してシステムによって行われるアクションを管理するために、機械学習およびAIをインテント処理システムと併用することができる。異なるシステム実装形態は、異なるインテントグルーピングおよびカテゴリを使用することができる。例えば、医療に関連するユーザ質問に対処するための通信システムは、ハードウェアデバイスに関するユーザサポートを提供する通信システムとは異なるインテントカテゴリを使用することができる。医療制度のための通信システムは、「schedule an appointment」、「get test results」、および「refill a prescription」などのインテントカテゴリを有し得るが、デバイスサポートシステムは、「get operating instructions」、「request warranty repairs」、「speak with a technician」、または「get troubleshooting assistance」などの代替的なインテントカテゴリを有することができる。追加的に、インテントカテゴリは、(例えば、複数のサブカテゴリレベルおよびツリーを使用して)様々なレベルの特異性で構造化され得る。例えば、「troubleshooting assistance」というインテントカテゴリは、「power-on problems」、「operating errors」、および「configuration errors」などのカテゴリに関連付けられ得る。これらのサブカテゴリの各々は、既知のカテゴリに関連付けられたサブカテゴリをさらに有することができる。例えば、以前のユーザ通信において特定されたデバイス故障カテゴリは、ユーザ通信の機械分析およびAI処理に基づいて、インテントカテゴリが割り当てられ得る。各インテントカテゴリは、アクションに関連付けられ得る。そのようなアクションには、インテントカテゴリをさらに狭めるか、またはより具体的なインテントカテゴリを特定するための応答通信を生成すること、後続のアクションのためにユーザ情報を要求すること、ユーザを特定のサービスと接続すること、後続のフォローアップのための情報をユーザに提供すること、またはシステムがユーザを支援することができないことをユーザに通知することが含まれ得る。
【0018】
[0030]ユーザがシステムと通信すると、コンピューティングデバイスの自然言語処理動作は、ユーザ通信をインテントカテゴリと関連付け、経時的に通信が行われるにつれてインテントカテゴリおよびインテントサブカテゴリとの関連付けを精緻化するために、使用され得る。いくつかの例では、システムは、特定の通信におけるユーザインテントのアノテーションを容易にすることができる。本明細書で説明されるように、アノテーションは、ユーザ通信とその通信に割り当てられたインテントカテゴリとの間の関連付けを特徴付ける。このアノテーションは、例えば、ユーザ通信と、ユーザ通信に割り当てられたインテントカテゴリとの間の相関の強さを評価することができる。特定のタイプのユーザ通信およびインテントカテゴリについて、繰り返される低品質または低相関の関連付けが特定されると、機械学習システムが自動的にアラートを生成するか、または自動的に新しいインテントカテゴリを生成することができる。いくつかの例では、インテントカテゴリおよびユーザ通信についてのメトリックが生成され、通信システム動作を改善するために使用され得る。ユーザ通信が、割り当てられたインテントカテゴリにどの程度相関するかについての評価に加えて、他の「品質」メトリックをシステム分析に使用することができる。そのような品質メトリックは、通信セッションの品質のユーザフィードバックおよび主観的なユーザランキングに基づき得る。そのような品質メトリックは、通信セッション時間およびエージェント通信ボリュームについての情報を含む、AI駆動通信システムを使用する異なる人間エージェント間の比較メトリックに基づき得る。本明細書で説明される例は、AIおよび機械ベースの通信の効率を改善し、ユーザ通信への応答を容易にするために使用される処理リソースを低減し、そのようなシステムにおける機械駆動通信の品質を改善することによって、通信システムにおけるデバイスの動作を改善する。追加的に、本明細書で説明されるユーザインターフェースは、分析データのセットを生成するために使用される処理リソースを低減し、AI支援通信システムを管理するための関連する動作の効率を改善することによって、通信システムにおけるデバイスの動作を改善することができる。
【0019】
[0031]
図1は、本明細書で説明される特定の実施形態および特徴を実装およびサポートするネットワーク対話システム100の実施形態のブロック図を示す。特定の実施形態は、(ユーザ110によって操作され得る)ネットワークデバイス105と、(エージェント120によって操作され得る)端末デバイス115および/または(クライアント125によって操作される)クライアントデバイス130との間の接続を確立することに関する。
【0020】
[0032]いくつかの実施形態では、ユーザ110は、ウェブサイトを閲覧するか、またはリモートサーバ140によって提供されるオンラインサービスにアクセスする個人であり得る。いくつかの実施形態では、ユーザ110は、自身の代わりにサービスが実行されることを期待する個人であり得る。そのようなサービスには、質問に回答してもらうこと、別のデバイスを操作すること、タスクまたはサービスに関してエージェントから助けを得ること、トランザクションを行うことなどが含まれ得る。
【0021】
[0033]クライアント125は、ウェブサイトもしくはオンラインサービスを提供、運営、もしくは実行するエンティティ、または本明細書で説明されるようにクライアント125が利用可能なタスクを実行するためにそのようなエンティティによって採用もしくは割り当てられた個人であり得る。
【0022】
[0034]エージェント120は、ウェブサイトまたはオンラインサービスに関するサポートまたは情報(例えば、オンラインストアで入手可能な製品についての情報)をユーザ110に提供するタスクが課せられているサポートエージェントまたは販売担当者などの個人であり得る。多数のエージェントの中から、エージェントのサブセットが、特定のクライアント125にサポートまたは情報を提供するのに適している場合がある。エージェント120は、クライアント125と関わりがあってもなくてもよい。各エージェントは、1つまたは複数のクライアント125に関連付けられ得る。いくつかの非限定的な例では、ユーザ110は、パーソナルコンピューティングデバイスからオンラインストアで買い物をする個人であり得、クライアント125は、オンラインで製品を販売する会社であり得、エージェント120は、会社が雇用した販売担当者であり得る。様々な実施形態では、ユーザ110、クライアント125、およびエージェント120は、他の個人またはエンティティであり得る。
【0023】
[0035]
図1は、単一のネットワークデバイス105、端末デバイス115、およびクライアントデバイス130だけを示すが、対話システム100は、これらのタイプのデバイスのうちの1つまたは複数をそれぞれ複数または多数(例えば、数十、数百、または数千)含むことができる。同様に、
図1は、単一のユーザ110、エージェント120、およびクライアント125だけを示すが、対話システム100は、そのようなエンティティのうちの1つまたは複数をそれぞれ複数または多数含むことができる。したがって、所与のネットワークデバイスと通信するためにどのエンドポイントが選択されるべきかを決定することが必要であり得る。さらに問題を複雑にすると、リモートサーバ140もまた、ネットワークデバイス105との選択された通信を受信して応答するように構成され得る。
【0024】
[0036]接続管理システム150は、通信の戦略的ルーティングを容易にすることができる。通信は、(例えば、タイプ入力または音声入力などのエンティティからの入力に基づいて定義された)コンテンツを有するメッセージを含むことができる。通信はまた、送信デバイスについてのデータ(例えば、IPアドレス、アカウント識別子、デバイスタイプ、および/またはオペレーティングシステム)、宛先アドレス、クライアントの識別子、ウェブページまたはウェブページ要素の識別子(例えば、通信が生成されたとき、そうなければ通信に関連付けられたときに訪問されたウェブページまたはウェブページ要素)またはオンライン履歴データ、時間(例えば、時刻および/または日付)、および/または宛先アドレスなどの追加データを含むことができる。他の情報が通信に含まれ得る。いくつかの実施形態では、接続管理システム150は、通信全体を別のデバイスにルーティングする。いくつかの実施形態では、接続管理システム150は、通信を修正するか、または(例えば、初期通信に基づいて)新しい通信を生成する。新しいまたは修正された通信は、メッセージ(または、その処理されたバージョン)、(例えば、送信デバイス、ウェブページもしくはオンライン履歴、および/または時間についての)追加データの少なくとも一部(または全部)、および/または接続管理システム150によって特定された他のデータ(例えば、特定のアカウント識別子またはデバイスに関連付けられたアカウントデータ)を含むことができる。新しいまたは修正された通信は、他の情報も含むことができる。
【0025】
[0037]戦略的ルーティングを容易にする一環として、ネットワークデバイス105と1つまたは複数の端末デバイス115との間の1つまたは複数の接続を確立、更新、および使用することが含まれ得る。例えば、ネットワークデバイス105から通信を受信すると、接続管理システム150は、通信がどのクライアント(もしあれば)に対応するかを推定することができる。クライアントを特定すると、接続管理システム150は、ネットワークデバイス105との通信のために、クライアントに関連付けられた端末デバイス115を特定することができる。いくつかの実施形態では、この特定には、複数のエージェント(または、専門家もしくは委任先)の各々のプロファイルを評価することが含まれ得、複数のエージェントの各エージェント(例えば、エージェント120)は、端末デバイス(例えば、端末デバイス115)に関連付けられている。評価は、ネットワークデバイスメッセージ内のコンテンツに関連し得る。端末デバイス115の特定は、例えば、すべての目的で参照により全体が本明細書に組み込まれている、2010年3月17日に出願された米国特許出願第12/725,799号において説明されていた技法を含むことができる。
【0026】
[0038]いくつかの実施形態では、接続管理システム150は、ネットワークデバイス105とクライアント(または、リモートサーバ140)に関連付けられたエンドポイントとの間に任意の接続が確立されているかどうかを決定することができ、確立されている場合、そのようなチャネルが、この通信を含む一連の通信を交換するために使用されるものであるかどうかを決定することができる。
【0027】
[0039]ネットワークデバイス105と通信するためのエンドポイントを選択すると、接続管理システム150は、ネットワークデバイス105とエンドポイントとの間に接続を確立することができる。いくつかの実施形態では、接続管理システム150は、選択されたエンドポイントにメッセージを送信することができる。メッセージは、ネットワークデバイス105と通信するために提案された割当ての受諾を要求するか、またはそのような割当てが生成されたことを特定し得る。メッセージは、ネットワークデバイス105についての情報(例えば、IPアドレス、デバイスタイプ、および/またはオペレーティングシステム)、関連するユーザ110についての情報(例えば、話された言語、クライアントと対話していた持続時間、スキルレベル、センティメント、および/またはトピック選好)、受信された通信、通信を生成しネットワークデバイス105に送信するためのコード(例えば、クリック可能ハイパーリンク)、および/または通信を生成しネットワークデバイス105に送信するための命令を含むことができる。
【0028】
[0040]いくつかの実施形態では、ネットワークデバイス105とユーザデバイスのようなエンドポイントとの間の通信は、接続管理システム150を通してルーティングされ得る。そのような構成は、接続管理システム150が、通信交換を監視し、どちらかのデバイスの非応答性または延長されたレイテンシなどの問題(例えば、ルールに基づいて定義されるような)を検出することを可能にすることができる。さらに、そのような構成は、通信の選択的または完全な記憶を容易にすることができ、それは後に、例えば、通信交換の品質を評価するために、および/または特定の通信後ターゲットを促進するようにルーティングルールを更新もしくは生成するための学習をサポートするために使用され得る。本明細書でさらに説明されるように、そのような構成は、ユーザ110と1つまたは複数のエンドポイントとの間の会話の管理を容易にすることができる。
【0029】
[0041]いくつかの実施形態では、接続管理システム150は、リアルタイムで通信交換を監視し、ライブ通信に基づいて、オートメーション化されたアクション(例えば、ルールベースのアクション、人工知能由来のアクションなど)を実行することができる。例えば、通信が特定の製品に関連していると接続管理システム150が決定した場合、接続管理システム150は、製品についての追加情報(例えば、在庫の製品の量、製品に関連する付属書類へのリンク、または製品もしくは同様の製品についての他の情報)を含む追加メッセージをエンドポイントに自動的に送信することができる。
【0030】
[0042]いくつかの実施形態では、指定されたエンドポイントは、接続管理システム150を通して通信を中継することなく、ネットワークデバイス105と通信することができる。一方または両方のデバイス105、115は、通信監視および/またはデータ記憶を容易にするために、特定の通信メトリックまたはコンテンツを接続管理システム150にレポートし得る(または、レポートしなくてもよい)。
【0031】
[0043]上述のように、接続管理システム150は、選択された通信をリモートサーバ140にルーティングし得る。リモートサーバ140は、所定の方法で情報を提供するように構成され得る。例えば、リモートサーバ140は、通信に応答して送信すべき定義された1つまたは複数のテキストパッセージ、音声録音、および/またはファイルにアクセスし得る。リモートサーバ140は、例えば、受信された通信の分析(例えば、意味解析またはマッピング分析)に基づいて、特定のテキストパッセージ、記録、またはファイルを選択し得る。
【0032】
[0044]接続管理システム150において実行されるルーティングおよび/または他の決定もしくは処理は、1つまたは複数のクライアントデバイス130によって少なくとも部分的に定義または提供されるルールおよび/またはデータに基づいて実行され得る。例えば、クライアントデバイス130は、エージェントの優先順位付け、端末デバイスタイプ、および/またはトピック/スキルマッチングを特定する通信を送信し得る。別の例として、クライアントデバイス130は、ルーティング決定に影響を及ぼす可能性がある様々な変数(例えば、言語互換性、予測応答時間、デバイスタイプおよび能力、ならびに/または端末デバイス負荷バランシング)に適用すべき1つまたは複数の重みを特定し得る。どの端末デバイスおよび/またはエージェントがクライアントに関連付けられるかは、動的であり得ることが理解されるであろう。クライアントデバイス130および/または端末デバイス115からの通信は、所与の端末デバイスおよび/またはエージェントがクライアントに関連付けられているものとして削除されるかまたは追加されるべきであることを示す情報を提供し得る。例えば、クライアントデバイス130は、そのアドレスを有する端末デバイスが、クライアント関連端末デバイスを特定するリストから削除されるべきか追加されるべきかに関する指示およびIPアドレスを有する通信を送信することができる。
【0033】
[0045]各通信(例えば、デバイス間、デバイスと接続管理システム150との間、リモートサーバ140と接続管理システム150との間、またはリモートサーバ140とデバイスとの間)は、1つまたは複数のネットワーク170を介して行われ得る。オープンまたはクローズドネットワークの任意の組合せが、1つまたは複数のネットワーク170に含まれ得る。好適なネットワークの例には、インターネット、パーソナルエリアネットワーク、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、またはワイヤレスローカルエリアネットワーク(WLAN)が含まれる。他のネットワークも同様に好適であり得る。1つまたは複数のネットワーク170は、イントラネット、エクストラネット、またはそれらの組合せ内に完全に組み込まれ得るか、またはそれらを含むことができる。いくつかの実施形態では、1つまたは複数のネットワーク170内のネットワークは、Bluetooth(登録商標)またはBluetooth Low Energyチャネルなどの短距離通信チャネルを含む。一実施形態では、2つ以上のシステムおよび/またはデバイス間の通信は、セキュアソケット層(SSL)またはトランスポート層セキュリティ(TLS)などのセキュア通信プロトコルによって達成され得る。加えて、データおよび/またはトランザクションの詳細は、データ暗号化標準(DES)、トリプルDES、RSA(Rivest-Shamir-Adleman encryption)、Blowfish暗号化、AES(Advanced Encryption Standard)、CAST-128、CAST-256、DFC(Decorrelated Fast Cipher)、TEA(Tiny Encryption Algorithm)、XTEA(eXtended TEA)、XXTEA(Corrected Block TEA)、および/またはRC5などであるがこれらに限定されない任意の便利な、既知の、または開発されることとなる方法に基づいて暗号化され得る。
【0034】
[0046]ネットワークデバイス105、端末デバイス115、および/またはクライアントデバイス130は、例えば、ポータブル電子デバイス(例えば、スマートフォン、タブレット、ラップトップコンピュータ、またはスマートウェアラブルデバイス)または非ポータブル電子デバイス(例えば、1つまたは複数のデスクトップコンピュータ、スマートアプライアンス、サーバ、および/またはプロセッサ)を含むことができる。接続管理システム150は、ネットワーク、端末、IOT、およびクライアントデバイスとは別個に収容され得るか、または(例えば、デバイスへのアプリケーションのインストールを介して)1つまたは複数のそのようなデバイスの一部であり得る。リモートサーバ140は、各デバイスおよび接続管理システム150とは別個に収容され得、および/または別のデバイスもしくはシステムの一部であり得る。
図1の各デバイス、サーバ、およびシステムは、単一のデバイスとして示されているが、代わりに複数のデバイスが使用され得ることが理解されるであろう。例えば、ネットワークデバイスのセットが単一のユーザから様々な通信を送信するために使用され得るか、またはリモートサーバ140がサーバスタックを含み得る。
【0035】
[0047]ソフトウェアエージェントまたはアプリケーションは、図示されたデバイス、システム、またはサーバ上にインストールされ、および/またはそれら上で実行可能であり得る。1つの事例では、ソフトウェアエージェントまたはアプリケーションは、様々な図示された要素が相補的な方法で動作することができるように構成される。例えば、デバイス上のソフトウェアエージェントは、デバイス使用量についてのデータを収集して別個の接続管理システムに送信するように構成され得、別個の接続管理システム上のソフトウェアアプリケーションは、データを受信して処理するように構成され得る。
【0036】
[0048]
図2は、ネットワーク対話システム200の別の実施形態のブロック図を示す。一般に、
図2は、ネットワークデバイス205が1つまたは複数の端末デバイス215と通信することを可能にするように構成および配置された様々なコンポーネントを例示する。図示される事例は、3つのローカルエリアネットワーク235に含まれる9つの端末デバイス215を含む。
【0037】
[0049]いくつかの実施形態では、ネットワークデバイス205からの通信は、どの端末デバイスが通信を受信すべきかを少なくとも部分的にまたは完全に示す宛先データ(例えば、宛先IPアドレス)を含む。ネットワーク対話システム200は、宛先データを処理し、適切なルーティングを容易にすることができる1つまたは複数のネットワーク間接続コンポーネント245および/または1つまたは複数のネットワーク内接続コンポーネント255を含むことができる。
【0038】
[0050]各ネットワーク間接続コンポーネント245は、複数のネットワーク235に接続され得、複数のネットワークカードがインストールされていであろう(例えば、各カードは異なるネットワークに接続されている)。例えば、ネットワーク間接続コンポーネント245は、ワイドエリアネットワーク270(例えば、インターネット)および1つまたは複数のローカルエリアネットワーク235に接続され得る。図示される事例では、通信がネットワークデバイス205から端末デバイスのいずれかに送信されるためには、図示されたシステムにおいて、通信は、複数のネットワーク間接続コンポーネント245によって処理されなければならない。
【0039】
[0051]ネットワーク間接続コンポーネント245が通信(または、通信に対応するパケットのセット)を受信するとき、ネットワーク間接続コンポーネント245は、宛先に関連付けられたネットワークに通信を渡すためのルートの少なくとも一部を決定することができる。ルートは、例えば、事前定義されているか、(例えば、別のルータからのまたは別のデバイスからの)到来メッセージに基づいて生成されるか、または学習される1つまたは複数のルートを含むことができるルーティングテーブル(例えば、ルータに記憶されている)を使用して決定され得る。
【0040】
[0052]ネットワーク間接続コンポーネント245の例には、ルータ260およびゲートウェイ265が含まれる。ネットワーク間接続コンポーネント245(例えば、ゲートウェイ265)は、ネットワークシステムまたはプロトコル間で変換するように構成され得る。例えば、ゲートウェイ265は、TCP/IP(Transmission Control Protocol/Internet Protocol)デバイスとIPX/SPX(Internetwork Packet Exchange/Sequenced Packet Exchange)デバイスとの間の通信を容易にし得る。
【0041】
[0053]ローカルエリアネットワーク235において通信を受信すると、依然としてさらなるルーティングが実行される必要があり得る。そのようなネットワーク内ルーティングは、スイッチ280またはハブ285などのネットワーク内接続コンポーネント255を介して実行され得る。各ネットワーク内接続コンポーネント255は、複数の端末デバイス215に(例えば、ワイヤレスでまたはイーサネット(登録商標)ケーブルなどを介してワイヤードで)接続され得る。ハブ285は、すべての受信された通信を、それが接続されている各デバイスに繰り返すように構成され得る。次いで、各端末デバイスは、端末デバイスが宛先デバイスであるかどうか、または通信が無視されるべきかどうかを決定するために、各通信を評価することができる。スイッチ280は、通信を宛先端末デバイスだけに選択的に方向付けるように構成され得る。
【0042】
[0054]いくつかの実施形態では、ローカルエリアネットワーク235は、複数のセグメントに分割され得、セグメントの各々は、独立したファイアウォール、セキュリティルール、およびネットワークプロトコルに関連付けられ得る。ネットワーク内接続コンポーネント255は、セグメント内ルーティングを容易にするために、1つ、複数、またはすべてのセグメントの各々に設けられ得る。ブリッジ290は、セグメント275にわたって通信をルーティングするように構成され得る。
【0043】
[0055]ネットワークにわたってまたはネットワーク内で通信を適切にルーティングするために、様々なコンポーネントが通信中の宛先データを分析する。例えば、そのようなデータは、どのネットワークに通信がルーティングされるべきか、ネットワーク内のどのデバイスに通信がルーティングされるべきか、または端末デバイスがどの通信を処理すべきか(無視と対比して)を示すことができる。しかしながら、いくつかの実施形態では、どの端末デバイス(または、どのネットワーク)がネットワークデバイスからの通信に参加すべきかは、直ちには明らかにはならない。
【0044】
[0056]例示すると、端末デバイスのセットは、同様のタイプの応答通信を提供するように構成され得る。したがって、ネットワークデバイスからの通信におけるクエリは、通信がどのネットワークデバイスにルーティングされるかにかかわらず、同様の方法で応答され得ることが期待され得る。この仮定は高いレベルで真であり得るが、端末デバイスに関する様々な詳細により、特定のルーティングが他のものと比較して有利になり得る。例えば、セット内の端末デバイスは、(例えば)どの通信チャネルがサポートされているか、ネットワークデバイスへの地理的および/またはネットワーク近接性、および/または関連するエージェントの特性(例えば、知識ベース、経験、話される言語、可用性、一般のパーソナリティまたはセンティメントなど)に関して互いに異なり得る。したがって、選択されたルーティングは、ネットワークデバイス通信により正確におよび/または完全に応答するより速い応答を容易にし得る。複雑なのは、ネットワークデバイスを端末デバイスにマッピングする静的ルーティングでは、通信トピック、チャネルタイプ、エージェント可用性などの変動を考慮し損なう可能性があることである。
【0045】
[0057]
図3A、3B、3Cは、例となる接続管理システム350Aおよび350Bを含む接続管理システム350を含むネットワーク対話システム300a、300b、300cの他の実施形態のブロック図を示す。図示されたシステム300a、300b、300cの各々は、簡潔さのために2つのローカルエリアネットワーク235だけを示すが、実施形態を拡張してローカルエリアネットワークの数を拡張し得ることが理解され得る。システム300a、300b、300cの各々は、どの端末デバイスがネットワークデバイス205と通信すべきかを特定することができ、接続を確立および管理(例えば、維持または閉鎖)することができ、交換において通信を再ルーティングすべきかどうか、およびいつ再ルーティングすべきかを決定することなどができる接続管理システム150を含む。したがって、接続管理システム150は、ルーティング決定に影響を及ぼすために、通信、エージェント可用性、端末デバイスまたはエージェントの能力などを動的にかつリアルタイムで評価するように構成され得る。
【0046】
[0058]
図3Aにおいて、接続管理システム150は、ネットワークデバイス205およびリモートサーバ340の各々に関連付けられている(例えば、接続管理システム150aは、ネットワークデバイス205に関連付けられており、接続管理システム150bは、リモートサーバ340に関連付けられている)。例えば、接続管理システム150aおよび/または接続管理システム150bは、それぞれネットワークデバイス205およびリモートサーバ340の各々にアプリケーションとしてインストールまたは記憶され得る。アプリケーション(複数可)の実行は、例えば、ネットワークデバイス205とリモートサーバ340との間の通信を容易にし、ネットワークデバイス205との通信交換に参加するために選択された端末デバイス215を特定することができる。この特定は、本明細書で開示される1つまたは複数の要因(例えば、可用性、通信のトピック/詳細レベルとエージェントまたは端末デバイスの知識ベースとの間の一致、予測されるレイテンシ、チャネルタイプ可用性など)に基づいて行われ得る。
【0047】
[0059]クライアントデバイス330は、ルーティング決定がどのように行われるべきかを示すクライアントデータを提供することができる。例えば、そのようなデータは、特定の特性がどのように重み付けもしくはマッチングされるかに関する指示、または(例えば、負荷バランシングもしくは予測応答レイテンシに関する)制約もしくはバイアスを含むことができる。クライアントデータはまた、いつ通信チャネルが確立される(または、閉鎖される)べきか、またはいつ通信が異なるネットワークデバイスに再ルーティングされるべきかに関連する仕様を含むことができる。クライアントデータは、通信ルーティングなどのためのルールなど、様々なクライアント固有のルールを定義するために使用され得る。
【0048】
[0060]リモートサーバ340上で実行する接続管理システム150bは、どの通信チャネルがサポートされているか、ネットワークデバイスへの地理的および/またはネットワーク近接度、端末デバイスとの通信レイテンシおよび/または安定性、端末デバイスのタイプ、端末デバイスの能力、端末デバイス(または、エージェント)が所与のネットワークデバイス(または、ユーザ)と以前に通信したことがあるかどうか、ならびに/あるいは関連するエージェントの特性(例えば、知識ベース、経験、話される言語、可用性、一般のパーソナリティまたはセンティメントなど)など、端末デバイスに関する(例えば、所与のクライアントに関する)様々なメトリックを監視することができる。したがって、通信管理システム150bが、メトリックに基づいてネットワークデバイス通信により正確におよび/または完全に応答するより高速な応答を容易にするようにルーティングを選択することができようにし得る。
【0049】
[0061]
図3Aに図示される例では、ネットワークデバイス205とリモートサーバ340との間の通信交換は、宛先アドレスの早期特定を容易にすることができる。次いで、ネットワークデバイス205は、宛先アドレスを使用して、後続の通信を方向付け得る。例えば、ネットワークデバイス205は、(例えば、1つまたは複数のネットワーク間接続およびワイドエリアネットワークを介して)初期通信をリモートサーバ340に送り得、リモートサーバ340は、1つまたは複数の対応するクライアントを特定し得る。次いで、リモートサーバ340は、1つまたは複数の対応するクライアントに関連付けられた端末デバイスのセットを特定し、それらの端末デバイスについてのメトリックを収集し得る。メトリックは、通信交換に関与すべき端末デバイスを選択するために(例えば、リモートサーバ340によって)評価され得、端末デバイスに関する情報(例えば、IPアドレス)がネットワークデバイス205に送られ得る。いくつかの実施形態では、リモートサーバ340は、様々な端末デバイスについてのメトリックを連続的または周期的に収集して評価し、評価結果をデータストアに記憶し得る。そのような実施形態では、1つまたは複数の対応するクライアントに関連付けられた端末デバイスのセットを特定すると、リモートサーバ340は、データストアからの記憶された評価結果にアクセスし、記憶された評価結果に基づいて、通信交換に関与すべき端末デバイスを選択することができる。
【0050】
[0062]
図3Bにおいて、接続管理システム150は、中継および/または宛先アドレスとして機能するように構成され得る。したがって、例えば、ネットワークデバイス205のセットは、各々が接続管理システム150を宛先として特定する通信を送信し得る。接続管理システム150は、各通信を受信することができ、(例えば、各端末デバイスについてのメトリックを生成するために)端末デバイスのセットを同時に監視することができる。監視およびルールに基づいて、接続管理システム150は、それが各通信を中継し得る端末デバイス215を特定することができる。実施形態に応じて、端末デバイスの通信は、同様に、さらに中継するために(例えば、接続管理システム150の)一貫した宛先に方向付けられ得るか、または端末デバイスは、対応するネットワークデバイスと直接通信を開始し得る。これらの実施形態は、効率的なルーティングおよび完全な通信監視を容易にすることができる。
【0051】
[0063]
図3Cに図示される実施形態は、
図3Bのものと同様である。しかしながら、いくつかの実施形態では、接続管理システム150は、ネットワーク内コンポーネント(例えば、端末デバイス、ネットワーク内接続、または他のもの)に直接接続される。
【0052】
[0064]
図3A~
図3Cの多くの変形形態が企図されることは理解されるであろう。例えば、接続管理システム150は、接続管理システム150(または、その一部)に対応するアプリケーションが接続コンポーネント(例えば、ネットワーク間接続コンポーネント245またはネットワーク内接続コンポーネント255)にインストールされるように、そのコンポーネントに関連付けられ得る。アプリケーションは、例えば、独立して、または1つまたは複数の同様のもしくは相補的なアプリケーションと通信することによって(例えば、1つまたは複数の他のコンポーネント、ネットワークデバイス、またはリモートサーバ上で実行することによって)実行し得る。
【0053】
[0065]
図4は、接続コンポーネントの動作のプロトコルスタックマッピング400の表現を示す。より具体的には、
図4は、様々な接続コンポーネントに対応するOSI(Open Systems Interaction)モデルにおける動作の層を特定する。
【0054】
[0066]OSIモデルは、複数の論理層402~414を含むことができる。層は、層402~412がそれぞれより上位レベルにサービス提供し、層404~414がそれぞれ下位層によってサービス提供されるように、順序付けられたスタックで配置される。OSIモデルは、物理層402を含む。物理層402は、(例えば、電気的、光学的、または電磁的な)パラメータ物理通信を定義することができる。物理層402はまた、接続を確立したり閉鎖したりするためのプロトコルなどの接続管理プロトコルを定義する。物理層402はさらに、フロー制御プロトコルおよび送信モードを定義することができる。
【0055】
[0067]リンク層404は、ノード間通信を管理することができる。リンク層404は、エラー(例えば、物理層402における伝送エラー)を検出して訂正し、アクセス許可を管理することができる。リンク層404は、媒体アクセス制御(MAC)層および論理リンク制御(LLC)層を含むことができる。
【0056】
[0068]ネットワーク層406は、(例えば、データグラムとして)同じネットワーク内のノードにわたって(例えば、可変長の)データを転送することを調整することができる。ネットワーク層406は、論理ネットワークアドレスを物理マシンアドレスに変換することができる。
【0057】
[0069]トランスポート層408は、送受信品質を管理することができる。トランスポート層408は、伝送制御プロトコル(TCP)などの、データを転送するためのプロトコルを提供することができる。トランスポート層408は、送信のためにデータパケットのセグメンテーション/デセグメンテーションを実行することができ、層402、404、406において発生する伝送エラーを検出して考慮する(account for)ことができる。セッション層410は、ローカルアプリケーションとリモートアプリケーションとの間の接続を開始、維持、および終了することができる。セッションは、リモートプロシージャ対話の一部として使用され得る。プレゼンテーション層412は、アプリケーション層またはネットワーク層によって受け入れられることが知られているデータタイプに基づいて、データを暗号化、復号、およびフォーマットすることができる。
【0058】
[0070]アプリケーション層414は、通信を制御または管理するソフトウェアアプリケーションと対話することができる。そのようなアプリケーションを介して、アプリケーション層414は、(例えば)宛先、ローカルリソース状態もしくは可用性、および/または通信コンテンツもしくはフォーマットを特定することができる。様々な層402、404、406、408、410、412、414は、利用可能かつ適用可能な他の機能を実行することができる。
【0059】
[0071]ネットワーク内接続コンポーネント422、424は、物理層402およびリンク層404で動作するように示されている。より具体的には、通信の受信および送信に関して動作を制御することができるように、ハブが物理層で動作することができる。ハブには、通信を向ける能力またはデータをフィルタリングする能力がないため、上位レベルで動作する能力をほとんどまたは全く有していない。一方、スイッチは、アドレス(例えば、MACアドレス)に基づいて通信フレームをフィルタリングする能力があるため、リンク層404で動作することができる。
【0060】
[0072]一方、ネットワーク間接続コンポーネント426、428は、上位レベル(例えば、層406、408、410、412、414)で動作するように示されている。例えば、ルータは、アドレス(例えば、IPアドレス)に基づいて通信データパケットをフィルタリングすることができる。ルータは、パケットを適切なネットワークに方向付けるために、アドレスに基づいて特定のポートにパケットを転送することができる。ゲートウェイは、ネットワーク層以上で動作し、同様のフィルタリングおよび方向付け、ならびに(例えば、プロトコルまたはアーキテクチャにわたる)データのさらなる変換を実行することができる。
【0061】
[0073]接続管理システム450は、様々な実施形態では、様々な層のうちの1つ、複数、すべて、またはいずれかと対話し、および/またはそれらの上で動作することができる。例えば、接続管理システム450は、ハブがどの端末デバイスと通信するかを動的に調整するために、ハブと対話することができる。別の例として、接続管理システム450は、コンポーネントがどの端末デバイスを宛先(例えば、MAC、論理、または物理)アドレスとして選択するかに影響を及ぼすために、ブリッジ、スイッチ、ルータ、またはゲートウェイと通信することができる。さらなる例として、接続管理システム450は、トランスポート層408上のデータパケットのセグメンテーション、セッション層410上のセッション持続時間、ならびに/またはプレゼンテーション層412上の暗号化および/もしくは圧縮を監視、制御、または指示することができる。いくつかの実施形態では、接続管理システム450は、特定の層上で動作する機器(例えば、リンク層404上で動作するスイッチ)と通信を交換する(例えば、機器にコマンドを送る)ことによって、(例えば、ネットワークデバイスと端末デバイスとの間の)既存の通信を特定の方法でルーティングまたは修正することによって、および/または既存の通信に基づいて特定の情報(例えば、新しい宛先アドレス)を含む新しい通信を生成することによって、様々な層と対話することができる。したがって、接続管理システム450は、様々なデバイスとの対話を介して、および/または様々なプロトコルスタック層における動作に影響を及ぼすことを介して、通信ルーティングおよびチャネル確立(または、管理もしくは終了)に影響を及ぼすことができる。
【0062】
[0074]
図5は、実施形態によるマルチデバイス通信交換システム500を表す。システム500は、様々なタイプの通信チャネルを介して様々なタイプのエンドポイントと通信するように構成されたネットワークデバイス505を含む。
【0063】
[0075]図示された事例では、ネットワークデバイス505は、セルラーネットワークを介して(例えば、基地局510を介して)通信を送信することができる。通信は、動作ネットワーク515にルーティングされ得る。動作ネットワーク515は、通信を受信し、どのエンドポイントが通信に応答すべきかを特定する接続管理システム150を含むことができる。そのような決定は、(例えば、クライアントを示すユーザ入力またはコンテンツ分析に基づいて)その通信が関係するクライアントを特定することと、クライアントに関連付けられた1つまたは複数のエンドポイントの各々についての1つまたは複数のメトリックを決定することとに依存し得る。例えば、
図5において、エンドポイント530a、530b、530cの各クラスタは、異なるクライアントに対応することができる。エンドポイントは、地理的に同じ場所に位置していてもよいし、分散していてもよい。メトリックは、記憶または学習されたデータおよび/またはリアルタイム監視に基づいて(例えば、可用性に基づいて)決定され得る。
【0064】
[0076]接続管理システム520は、1つまたは複数のルータ525または他のネットワーク間もしくはネットワーク内接続コンポーネントを介して様々なエンドポイントと通信することができる。接続管理システム520は、1つまたは複数のデータストアにおける通信、端末デバイス動作、クライアントルール、および/またはユーザ関連アクション(例えば、オンラインアクティビティ、アカウントデータ、購入履歴など)からのデータもしくはそれらに関するデータを収集、分析、および/または記憶することができる。そのようなデータは、通信ルーティングに影響を及ぼし得る。
【0065】
[0077]とりわけ、通信ルーティングおよび/または処理に影響を及ぼすために、様々な他のデバイスがさらに使用され得る。例えば、図示された事例では、接続管理システム520はまた、ウェブサーバ540およびデータベース(複数可)535に接続されている。したがって、接続管理システム520は、技術的な製品の詳細、ニュース、現在の製品提供、現在のまたは予測される天気などの対象データを取り出すことができる。
【0066】
[0078]ネットワークデバイス505はまた、(例えば、ストリーミングウェブサーバ545を含む)ウェブサーバに接続され得る。いくつかの実施形態では、そのようなサーバとの通信により、接続管理システム150との通信交換を開始するための初期オプションを提供された。例えば、ネットワークデバイス505は、通信機会が利用可能であり、そのようなオプションが提示され得ることを、特定のウェブページを訪問している間に、検出し得る。
【0067】
[0079]いくつかの実施形態では、通信システム500の1つまたは複数の要素はまた、ソーシャルネットワーキングサーバ550に接続され得る。ソーシャルネットワーキングサーバ550は、様々なユーザデバイスから受信したデータを集約することができる。したがって、例えば、接続管理システム150は、所与のトピックに対する一般の(または、ユーザ固有の)インテントを推定すること、または所与のユーザもしくはユーザのクラスの一般の挙動を推定することが可能であり得る。ソーシャルネットワーキングサーバ550はまた、一人または複数人のユーザについてのソーシャルグラフを維持することができる。ソーシャルグラフは、ソーシャルユーザの第1のレベルの接続(直接接続)と、追加のレベルの接続(ユーザの直接接続を通した間接的な接続)とから構成され得る。
【0068】
[0080]
図6は、接続管理システム600の一実施形態のブロック図を示す。接続管理システム600は、いくつかの例では、接続管理システム150、520、または任意の他のそのような接続管理システムとして使用され得る。メッセージ受信インターフェース605は、メッセージを受信することができる。いくつかの実施形態では、メッセージは、例えば、ネットワークデバイスまたはエンドポイントなどの、(例えば、接続管理システム150とは別個に収容されるか、または同じハウジング内に収容される)ソースデバイスによって送信される通信の一部として受信され得る。いくつかの実施形態では、通信は、2つのデバイス(例えば、ネットワークデバイスおよびエンドポイント)の間でルーティングされる一連のメッセージまたは通信交換を含むことができる、一連の通信または通信交換の一部であり得る。このメッセージまたは通信交換は、デバイス間の対話の一部であり得、および/またはそれを定義し得る。通信チャネルまたは動作チャネルは、デバイス間の通信交換およびルーティングを容易にするために使用される1つまたは複数のプロトコル(例えば、ルーティングプロトコル、タスク割当てプロトコルおよび/またはアドレッシングプロトコル)を含むことができる。
【0069】
[0081]いくつかの実施形態では、メッセージは、ユーザインターフェースにおいて受信された入力に基づいて生成されたメッセージを含むことができる。例えば、メッセージは、ボタンもしくはキーの押下、記録された音声信号、またはspeech to textソフトウェアに基づいて生成されたメッセージを含むことができる。1つの事例では、メッセージは、ネットワークデバイスが特定のアプリページもしくはウェブページを提示していること、または特定の入力コマンド(例えば、キーシーケンス)を提供したことを検出すると生成されるメッセージなど、自動的に生成されたメッセージを含む。メッセージは、通信交換を開始するためのものなどの命令または要求を含むことができる。
【0070】
[0082]いくつかの実施形態では、メッセージは、話されたものにせよタイプされたものにせよ、自然言語コミュニケーションであり得る。自然言語コミュニケーションは、本明細書で使用される場合、人間の間でコミュニケーションをとるために使用される言語の通常の使用を指し、特定の仮想アシスタントまたは人工知能ツールとコミュニケーションをとるために必要とされるプロトコルによって定義される言語の使用とは異なる。自然言語コミュニケーションでは、コミュニケーションが人工知能に向けられていることを人工知能ツールに警告するためのウェイクワードの使用などの制約は必要とされるべきでない。追加的に、自然言語コミュニケーションでは、どのようにコミュニケーションをサービス提供するのかを理解するために、ユーザが、特定のキーワード、特定のフレーズを特定することも、サービスを明示的に指定する(name)ことも必要とされるべきではない。いくつかの実施形態では、自然言語は、エモティコンおよび現代のコミュニケーションの他の形態を含み得る。
【0071】
[0083]本技術は自然言語コミュニケーションを利用するが、コミュニケーションは、特定のキーワード、特定のフレーズを特定すること、またはサービスを明示的に指定することができる。例えば、メッセージは、クライアントの識別子を含むかまたはそれに関連付けられ得る。例えば、メッセージはクライアント(または、クライアントに関連付けられたデバイス)を明示的に特定することができ、メッセージはクライアントに関連付けられたウェブページまたはアプリを含むかまたはそれに関連付けられることができ、メッセージはクライアントに関連付けられた宛先アドレスを含むかまたはそれに関連付けられることができ、またはメッセージはクライアントに関連付けられたアイテム(例えば、製品)またはサービス(例えば、クライアントによって販売されている、クライアントによって販売されたことがある、またはクライアントがサービス提供するものである)の識別情報を含むかまたはそれに関連付けられることができる。例示すると、ネットワークデバイスは、通信をエージェントに送信するためのオプションを提供し得る特定のクライアントのアプリページを提示している可能性がある。メッセージに対応するユーザ入力を受信すると、このメッセージと特定のクライアントの識別子とを含むように通信が生成され得る。
【0072】
[0084]処理エンジン610は、受信された通信および/またはメッセージを処理し得る。処理には、例えば、1つまたは複数の特定のデータ要素(例えば、メッセージ、クライアント識別子、ネットワークデバイス識別子、アカウント識別子など)を抽出することが含まれ得る。処理には、フォーマットまたは通信タイプを(例えば、特定のデバイスタイプ、オペレーティングシステム、通信チャネルタイプ、プロトコルおよび/またはネットワークと互換性があるように)変換することが含まれ得る。
【0073】
[0085]インテント管理エンジン615は、(例えば、抽出または受信された)メッセージを評価し得る。このメッセージは、インターフェース605によって受信され、インテント管理エンジン615によって評価されるメッセージを管理するメッセージデータストア620からアクセス可能である。評価には、例えば、メッセージに対する1つまたは複数のインテントを特定することが含まれ得る。インテントの例には、(例えば)トピック、センティメント、複雑性、および緊急性が含まれ得る。トピックは、主題、製品、サービス、技術的問題、使用上の質問、苦情、返金要求、または購入要求などを含むことができるがこれらに限定されない。インテントは、例えば、(例えば、キーワード、構文、繰り返される単語、句読文字、および/または非冠詞単語を特定することによる)メッセージの意味解析、(例えば、選択された1つまたは複数のカテゴリを有する)ユーザ入力、および/またはメッセージ関連統計(例えば、タイピング速度および/または応答レイテンシ)に基づいて決定され得る。インテント管理エンジン615の態様は、機械学習を使用して、ユーザからの到来通信(例えば、テキスト)をインテントカテゴリに関連付けるためのシステムを生成および改訂することができる。例えば、機械学習モデルは、到来通信における単語およびフレーズ間の関連付けの以前のデータおよび結果、ならびに現在および過去の通信からの自然言語データを使用して、単語とインテントカテゴリとの間の関連付けを生成および更新することができる。これは、構築されたデータセットおよび履歴データを用いた教師あり学習、システムにおける現在のルーティング経路およびシステム使用ターゲットの期待または投影モデルに基づく教師なし学習の任意の組合せを用いて行われ得る。そのようなデータはいずれも、自然言語データを生成するためまたは機械学習モデルを更新するために、自然言語処理(例えば、自然言語理解、自然言語推論など)のための動作で使用され得る。次いで、そのようなデータは、動的メッセージ処理(例えば、改善されたインテントインジケータデータ結果または応答メッセージ生成)を改善するために、クライアントシステムによって使用されるか、またはネットワークデバイス上もしくはサーバ上で実行されるアプリケーションと共有され得る。いくつかの例では、畳み込みニューラルネットワークは、出力インテントカテゴリとともに、到来する単語およびフレーズのセットと併用され得る。そのようなニューラルネットワークは、入力された単語およびフレーズ、ならびにインテントカテゴリへの出力相関を用いて訓練されることができる。次いで、リアルタイムシステム動作は、そのようなニューラルネットワークのインスタンスを使用して、到来するユーザ通信およびユーザ通信内の単語とシステムにおけるインテントカテゴリとの間の関連付けに関するデータを生成することができる。そのようなニューラルネットワークの出力に基づいて、インテントカテゴリを、通信に関与するユーザまたはユーザアカウントに割り当てることができ、関連アクションが割り当てられ得る。いくつかの実装形態では、ニューラルネットワーク設定は、ユーザ通信内の単語と、これらの単語に基づいて選択されたインテントカテゴリおよびアクションとの間の関連付けをシフトするために、使用からのリアルタイム動的フィードバックを用いて修正され得る。これらの選択は、確率的であり得、したがって、AIおよび機械学習システムは、システムパフォーマンスを改善するために、ユーザフィードバックおよび使用データを統合することによって、ユーザ期待のシフトを自動的に追跡することができる。例えば、ユーザが特定のインテントカテゴリまたはサブカテゴリに対するエンドポイントアクションに向けられているとき、ユーザは、ユーザが異なるアクションを探していることを示すフィードバック通信を提供することができる。これは、将来のインテントカテゴリ割当てに関連付けられたアノテーションおよび確率をシフトするために、システムにおけるリアルタイムフィードバックとして使用され得る。
【0074】
[0086]いくつかの実施形態では、明確にする質問を含み得る会話にユーザ110を関与させることまたは単に追加情報を要求することによって、インテントを明確にすることができる。上述したものと同様に、ユーザに応答するためのシステムを生成および更新するために、様々な機械学習およびAIシステムが使用され得る。例えば、いくつかのシステムでは、各インテントカテゴリおよびサブカテゴリは、異なる関連する畳み込みニューラルネットワークを有することができる。いくつかの例では、ユーザからの単語の処理に応答して行われるアクションは、インテントカテゴリと、そのインテントカテゴリのためのニューラルネットワークをユーザとの通信に関連付けること、および割り当てられたニューラルネットワークを使用してユーザ通信を処理することである。本明細書で説明されるように、複数の異なるニューラルネットワークが、会話(例えば、ユーザとシステムとの間の複数の往復通信)の最中に使用され得、そのような通信のためのデータは、ユーザとの将来の対話に使用されるニューラルネットワークまたは他のシステムを更新するために機械学習動作ならびにインテントカテゴリおよびアクションをユーザ通信からの単語と関連付けるための動作において使用され得る。ユーザによる使用データは、インテントカテゴリ割当てを改善し、ユーザインテントトレンド(例えば、初期ユーザ通信に基づいて割り当てられたインテントと比較して、システムとのユーザ会話の終了時に特定される最終ユーザインテント結果)の変化を追跡するように、ニューラルネットワーク内の重みを調整するために使用されることができる。インテント管理エンジン615によって生成されたデータは、関連付けられたメッセージデータとともにメッセージデータストア620に記憶され得、このデータは、本明細書で説明されるように、連続的なリアルタイム分析更新または他の動的フィードバックおよびシステムへの修正のためのデータを管理することを含む、様々な更新のために使用され得る。
【0075】
[0087]対話管理エンジン625は、どのエンドポイントに通信がルーティングされるべきか、ならびに受信デバイスおよび送信デバイスがどのように通信すべきかを決定することができる。これらの決定の各々は、例えば、特定のネットワークデバイス(または、特定のユーザに関連付けられた任意のネットワークデバイス)が、エンドポイントのセット内のエンドポイント(例えば、接続管理システム150に関連付けられた任意のエンドポイント、または1つまたは複数の特定のクライアントに関連付けられた任意のエンドポイント)と以前に通信したことがあるかどうかに依存し得る。いくつかの例では、対話管理エンジン625は、ユーザ通信に割り当てられたインテントカテゴリに基づいて、ユーザ通信を異なるエンドポイントにルーティングするためのアクションとして呼び出される。これには、ユーザとの会話中に使用されているエンドポイント(例えば、特定のエージェントまたはAIリソース)に対する更新が含まれる。
【0076】
[0088]いくつかの実施形態では、ネットワークデバイス(または、同じユーザもしくはアカウントに関連付けられた他のネットワークデバイス)が、所与のエンドポイントと以前に通信したことがある場合(例えば、特定のトピックまたはシステムクライアントもしくはビジネスに関係する事項についての特定のエージェントまたはAIシステムとの通信)、通信ルーティングは、一般に、同じエンドポイントにバイアスされ得る。ルーティングに影響を及ぼし得る他の要因には、例えば、以前の通信に関する推論または特定されたユーザまたはエージェントセンティメント、現在の通信のトピック(例えば、それが以前の通信のトピックおよび/または1つまたは複数のエンドポイントに関連付けられた知識ベースに関連する程度)、エンドポイントが利用可能であるかどうか、および/またはエンドポイントの予測された応答レイテンシが含まれ得る。そのような要因は、絶対的に、または他のエンドポイントに対応する同様のメトリックに対して相対的に考慮され得る。再ルーティングルール(例えば、クライアント固有のルールまたは一般のルール)は、エージェントの一貫性を放棄するかどうかを決定するために、そのような要因がどのように評価され重み付けされるかを示すことができる。インテントカテゴリ割当てについて上述したものと同様に、システムにおける再ルーティングルールを決定するために、AI分析が使用され得る。例えば、機械学習システムによって処理された履歴データが、特定のタイプのユーザ通信と特定の再ルーティング動作との間の相関を特定しない場合、そのような再ルーティング動作は中断され得る。対照的に、そのような機械学習分析により、再ルーティングルールと相関する正の結果が特定されるとき、そのようなルールは、再ルーティングを優先させるために強調または強化され得る(例えば、追加のシステムを再ルーティング専用にする、エージェント割当てにおける再ルーティングオプションを優先させるなど)。
【0077】
[0089]ネットワークデバイス(または、同じユーザもしくはアカウントに関連付けられた他のネットワークデバイス)が、(例えば、クライアントに関する事項について)所与のエンドポイントと以前に通信したことがないとき、エンドポイント選択は、例えば、様々なエージェントの知識ベースが通信トピックに対応する程度、所与の時間におけるおよび/またはチャネルタイプを介した様々なエージェントの可用性、エンドポイントのタイプおよび/または能力、ユーザとエージェントとの間の言語マッチ、ならびに/あるいはパーソナリティ分析などの要因に基づいて実行され得る。1つの事例では、ルールは、これらのような1つまたは複数の要因に対するサブスコアおよび各スコアに割り当てる重みをどのように決定するかを特定することができる。重み付けされたサブスコアを組み合わせる(例えば、合計する)ことによって、各エージェントのスコアが決定され得る。次いで、(例えば、高いまたは最も高いスコアを選択するために)エンドポイントのスコアを比較することによってエンドポイント選択が行われ得る。
【0078】
[0090]デバイスがどのように通信すべきかを決定することに関して、対話管理エンジン625は(例えば)、エンドポイントが(例えば)電子メール、オンラインチャット、SMSメッセージ、音声通話、ビデオチャットなどを介して、通信に応答すべきかどうかを決定することができる。例えば、通信タイプは、(例えば、クライアントまたはユーザによって少なくとも部分的に定義される)通信タイプの優先順位リスト、(例えば、一貫性を促進するために)ネットワークデバイスから以前に受信された通信のタイプ、受信メッセージの複雑性、ネットワークデバイスの能力、および/または1つまたは複数のエンドポイントの可用性に基づいて選択され得る。明らかに、いくつかの通信タイプは、(例えば、高速メッセージ応答が期待される)リアルタイム通信となり、他の通信タイプは、(例えば、メッセージ間の遅延(例えば、数分または数時間の遅延)が許容可能である)非同期通信となり得る。
【0079】
[0091]いくつかの実施形態では、通信タイプは、テキストメッセージングまたはチャットアプリケーションであり得る。これらの通信技術は、新しいソフトウェアをダウンロードしてユーザのネットワークデバイス上で実行する必要がないという利点を提供する。いくつかの例では、通信タイプは、音声通信タイプであり得る。そのような例では、音声をテキストに変換するシステムを使用して、音声通信を処理して、本明細書で説明される例となるシステムによって分析されることとなる単語にすることができる。いくつかの例では、システムによって分析される単語は、オーディオデータによって表される単語を含むことができる。したがって、本明細書で説明されるように、単語は、メモリに記憶されたシンボルの組合せ(例えば、ASCII(American Standard Code for Information Interchange)データ)によって表され得るか、またはオーディオデータ(例えば、サウンドの組合せを表すデータ)によって表され得る。
【0080】
[0092]さらに、対話管理エンジン625は、(例えば、ユーザデバイスとシステムとの間の会話または反復送信のための)2つのデバイス間の連続チャネルが確立され、使用され、または終了されるべきかどうかを決定することができる。ネットワークデバイスから指定されたエンドポイントへの将来の通信のルーティングを容易にするために、連続チャネルが構築され得る。このバイアスは、メッセージシリーズ(例えば、数日間、数週間または数ヶ月間)にわたってさえ持続することができる。いくつかの実施形態では、(例えば、エージェントを特定する)連続チャネルの表現は、ネットワークデバイス上に提示されるべき提示に含まれ得る。このようにして、ユーザは、効率を上げるために通信が一貫してルーティングされるべきであることを理解することができる。
【0081】
[0093]1つの事例では、所与のネットワークデバイスおよびエンドポイントに対応する接続スコアを決定するために、本明細書で説明される1つまたは複数の要因と(例えば、1つまたは複数の要因の各々についての重みを含む)ルールとを使用して、スコアが生成され得る。スコアは、全体的な一致または所与の通信もしくは通信シリーズに特有のものに関係し得る。したがって、例えば、スコアは、所与のエンドポイントがネットワークデバイス通信に応答するのに適していると予測される程度を反映し得る。いくつかの実施形態では、所与の通信をルーティングすべきエンドポイントの各々と、接続を確立、使用、または終了するかどうかとを特定するために、スコア分析が使用され得る。ルーティング決定およびチャネル決定の両方に対処するためにスコア分析が使用されるとき、各決定に関連するスコアは、同じ、同様の、または異なる方法で決定され得る。
【0082】
[0094]したがって、例えば、スコアが、長期の一致の強度を予測するためのものであるか、特定のメッセージクエリに応答するものであるかに応じて、異なる要因が考慮され得ることが理解されるであろう。例えば、前者の事例では、全体的なスケジュールおよび時間帯の考慮が重要であり得るが、後者の事例では、即時可用性がより高度に重み付けされ得る。単一のネットワークデバイス/端末デバイスの組合せについて1つのスコアが決定され得るか、または所与のネットワークデバイスと異なるエンドポイントとの間の一致を各々が特徴付ける複数のスコアが決定され得る。
【0083】
[0095]例示すると、クライアントに関連付けられた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のエンドポイント、にルーティングされるべきであることを示し得る。特定のエンドポイントへのルーティングが失敗した場合、メッセージは、次に高いスコアを有するデバイスにルーティングされ得、以下同様である。
【0084】
[0096]スコアは、1つまたは複数の絶対的なしきい値または相対的なしきい値と比較され得る。例えば、通信がルーティングされ得るエンドポイントを選択するための高いスコアを特定するために、エンドポイントのセットのスコアが互いに比較され得る。別の例として、スコア(例えば、高いスコア)は、エンドポイントとの連続チャネルを確立するかどうかを決定するために、1つまたは複数の絶対的なしきい値と比較され得る。連続チャネルを確立するための全体的なしきい値は、所与の一連のメッセージ中の通信を一貫してルーティングするためのしきい値よりも高い可能性がある(ただし、そうである必要はない)。全体的なしきい値と、通信を一貫してルーティングするかどうかを決定するためのしきい値との間のこの差は、チャネルの拡張された有用性を考慮すると、強い一致が連続チャネルコンテキストにおいて重要であるためであり得る。いくつかの実施形態では、連続チャネルを使用するための全体的なしきい値は、連続チャネルを確立するための、および/または所与の一連のメッセージ中の通信を一貫してルーティングするためのしきい値よりも低い可能性がある(ただし、そうである必要はない)。
【0085】
[0097]対話管理エンジン625は、様々なコンテキストにおいてアカウントエンジン630と対話することができる。例えば、アカウントエンジン630は、デバイスに対応するアカウントを特定するために、アカウントデータストア635においてネットワークデバイスまたはエンドポイントの識別子をルックアップし得る。さらに、アカウントエンジン630は、以前の通信交換(例えば、時間、関与する他のデバイス(複数可)、チャネルタイプ、解決段階、トピック(複数可)、および/または関連するクライアント識別子)、通信チャネル(例えば、1つまたは複数のクライアントの各々について、チャネルが存在するか否か、各チャネルに関連付けられたエンドポイント、確立時間、使用頻度、最終使用日、任意のチャネル制約および/またはサポートされる通信タイプを示す)、(例えば、端末デバイス選択、応答レイテンシ、端末デバイス一貫性、エージェント専門知識、および/または通信タイプ選好または制約に関連する)ユーザまたはエージェント選好または制約、ならびに/またはユーザまたはエージェント特性(例えば、年齢、話されるまたは好ましい言語(複数可)、地理的位置、関心など)についてのデータを維持することができる。
【0086】
[0098]さらに、対話管理エンジン625は、アカウントデータストア635が現在のチャネルデータを反映するように更新され得るように、様々な接続チャネルアクションをアカウントエンジン630に警告することができる。例えば、チャネルを確立すると、対話管理エンジン625は、この確立をアカウントエンジン630に通知し、ネットワークデバイス、エンドポイント、アカウント、およびクライアントのうちの1つまたは複数を特定することができる。その後、アカウントエンジン630は、チャネルの存在をユーザに通知することができ、それにより、ユーザは、エージェント一貫性が利用されていることを知ることができる。
【0087】
[0099]対話管理エンジン625はさらに、通信を1つまたは複数のクライアント(および/または、関連するブランド)にマッピングすることができるクライアントマッピングエンジン640と対話することができる。いくつかの実施形態では、ネットワークデバイス自体から受信された通信は、クライアントに対応する識別子(例えば、クライアント、製品、サービス、ウェブページ、またはアプリページの識別子)を含む。識別子は、(例えば、クライアントマッピングエンジン640が検出し得る)メッセージの一部として含まれ得るか、またはメッセージを含む通信において他のデータとして含まれ得る。次いで、クライアントマッピングエンジン640は、クライアントについての追加データおよび/またはクライアントの識別子を取り出すために、クライアントデータストア645において識別子をルックアップし得る。
【0088】
[00100]いくつかの実施形態では、メッセージは、どのクライアントにも特に対応しない場合がある。例えば、メッセージは、一般のクエリを含み得る。クライアントマッピングエンジン640は、例えば、メッセージに対して意味解析を実行し、1つまたは複数のキーワードを特定し、キーワード(複数可)に関連付けられた1つまたは複数のクライアントを特定し得る。いくつかの実施形態では、単一のクライアントが特定される。いくつかの実施形態では、複数のクライアントが特定される。次いで、ユーザが、(例えば、関連するエンドポイントを介して)通信すべきクライアントを選択することができるように、各クライアントの識別情報がネットワークデバイスを介して提示され得る。
【0089】
[00101]クライアントデータストア645は、クライアントに関連付けられた1つまたは複数のエンドポイント(および/または、エージェント)の識別情報を含むことができる。端末ルーティングエンジン650は、ルーティング決定に影響を及ぼすために、1つ、複数、またはすべてのそのようなエンドポイント(および/または、エージェント)の各々に関するデータを取り出すまたは収集することができる。例えば、端末ルーティングエンジン650は、エンドポイントのデバイスタイプ、オペレーティングシステム、通信タイプ能力、インストールされたアプリケーションアクセサリ、地理的位置および/または識別子(例えば、IPアドレス)などの情報を記憶することができるエンドポイントデータストア655を維持し得る。情報はまた、経験レベル、役職、スキルレベル、知識ベース(例えば、エージェントが精通しているトピックおよび/または様々なトピックについての知識のレベル)、パーソナリティメトリック、労働時間、話される言語(複数可)、および/または人口統計情報などのエージェント情報を含むことができる。一部の情報は、動的に更新され得る。例えば、エンドポイントが利用可能であるか否かを示す情報は(例えば)、(例えば、デバイスがスリープ中であるかどうか、オフ/オンにされているか、アイドル/アクティブであるかを特定するか、またはある期間内に入力が受信されたかどうかを特定する)エンドポイントからの通信、(例えば、エンドポイントが通信交換に関与しているかまたは通信交換の一部として割り当てられているかを示す)通信ルーティング、または通信交換が終了または開始したことを示すネットワークデバイスまたはエンドポイントからの通信に基づいて動的に更新され得る。
【0090】
[00102]様々なコンテキストにおいて、1つまたは複数の通信交換に関与しているということが、エンドポイントが別の通信交換に関与することできないことを必ずしも示すものではないことは理解されるであろう。通信タイプ(例えば、テキスト、メッセージ、電子メール、チャット、電話)、クライアントが特定したまたはユーザが特定したターゲット応答時間、および/またはシステム負荷などの様々な要因は(例えば、一般にまたはユーザに関して)、エンドポイントが関与し得る交換回数に影響を及ぼし得る。
【0091】
[00103]対話管理エンジン625は、通信交換または接続に関与するエンドポイントを特定したとき、宛先(例えば、IP)アドレス、デバイスタイプ、プロトコルなど、エンドポイントデータストア655からエンドポイントについての任意の関連データを取り出し得る端末ルーティングエンジン650に通知することができる。次いで、処理エンジン610は、特定のフォーマットを有するように、特定のプロトコルに準拠するようになど、メッセージを含む通信を修正するか、または(メッセージを含む)新しい通信を生成することができる。いくつかの実施形態では、新しいまたは修正されたメッセージは、ネットワークデバイスに対応するアカウントデータ、メッセージクロニクル、および/またはクライアントデータなどの追加データを含み得る。
【0092】
[00104]次いで、メッセージ送信インターフェース660は、通信をエンドポイントに送信することができる。送信は、例えば、別個のハウジング内に収容されたデバイスへのワイヤードまたはワイヤレス送信を含み得る。エンドポイントは、接続管理システム150と同じまたは異なるネットワーク(例えば、ローカルエリアネットワーク)内のエンドポイントを含むことができる。したがって、通信をエンドポイントに送信することは、通信をネットワーク間またはネットワーク内接続コンポーネントに送信することを含むことができる。
【0093】
[00105]
図7は、本技術のいくつかの態様によるインテント管理エンジン615の例となる実施形態を示す。インテント管理エンジン615は、通信705を受信するか、またはメッセージデータストア620からそのような通信にアクセスすることができる。通信705は、タクソノミエンジン710、インテント特定エンジン715、アノテーションエンジン720、品質評価エンジン725、インテントモデリングエンジン730、人工知能エンジン735、およびインテントデータコンパイラ740によって処理され得る。結果として生じるコンパイルされたデータは、本明細書でさらに説明されるように、分析および/または操作のために、ネットワークデバイス、クライアントデバイス、および/または端末デバイスなどのコンピューティングデバイス750のインターフェースに提供され得る。
【0094】
[00106]通信705は、タクソノミエンジン710に提供され得る。通信705は、本明細書で説明されるように自然言語であり得、1つまたは複数の単語を含み得る。いくつかの実施形態では、通信705は、標準的な意味または辞書の意味にかかわらず、異なる言語の単語、ピクトグラムもしくはエモティコンとして具現化された単語、またはインテントカテゴリに関連付けられた文字列もしくは画像を含むことができる。いくつかの例では、単語は、オーディオデータとして通信705において受信され得る。タクソノミエンジンは、プロセッサと連携して、本明細書では「主要語(operative word)」とも呼ばれる1つまたは複数のキーワードを特定するために通信705を構文解析するように構成され得る。主要語は、通信705を開始するユーザが利用可能なアクションに関連し得る。例えば、通信705が「I want to pay my bill.(請求書の支払いを行いたいです。)」と述べ得る。主要語は「pay bill(請求書の支払いを行う)」であり得る。タクソノミエンジン710は、この主要語をインテント特定エンジンに渡し得る。
【0095】
[00107]インテント特定エンジン715は、プロセッサと連携して、タクソノミエンジン710から主要語を受信し得る。インテント特定エンジン715は、この主要語を使用して、インテントを特定し得る。インテントの例には、「pay_bill」、「change_address」、「speak_to_representative」、「change_due_date」、「product_information」、「make_a_reservation」、「make_a_purchase」などが含まれる。インテントは、通信705を発したユーザが利用可能なアクションを定義し得る。いくつかの実施形態では、インテントは、事前定義されており、インテントデータストア745に記憶され得る。そのような実施形態では、インテント特定エンジン715は、対応する事前定義されたインテントを見つけるために、主要語を用いてインテントデータストア745にクエリを行い得る。例えば、インテント特定エンジン715は、「pay bill」という単語を用いてインテントデータストア745にクエリを行い、最も一致するインテント「pay_current_bill」を特定し得る。いくつかの実施形態では、主要語は、既存のインテントに対応しない場合がある。そのような実施形態では、インテント特定エンジン715は、新しいインテントを作成し、受信した主要語と相関させてそれをインテントデータストア745に保存することができる。インテント特定エンジン715は、特定されたインテントをアノテーションエンジン720に渡し得る。
【0096】
[00108]別の例では、インテント特定エンジンは、AIプロセッサ、ニューラルネットワーク、または通信もしくは通信705の一部を分析するための他のシステムを用いて実装され得る。これは、クライアントデバイスからのメッセージに関連付けられたインテント値を選択するための自然言語処理を含むことができる。例えば、クライアントデバイスが「appointments」をテキスト送信したとすると、単語は、インテント特定エンジン715を使用して、スケジューリングのためのインテントカテゴリを特定するために処理され得る。そのようなインテントカテゴリは、すべてのアポイントメントを見るためのアクションオプション、アポイントメントをキャンセルするためのアクションオプション、アポイントメントを変更するためのアクションオプション、または他のそのような値などのアクションまたはサブカテゴリをさらに含むことができる。インテント特定エンジンを使用して、「appointments」というテキストを処理して、インテント値に関連付けられた応答を選択することができる。一例では、インテント特定エンジン715の機械学習モデルは、すべてのアポイントメントを見ることのインテント値に関連付けられた応答メッセージを受信することがインテントインジケータデータ「appointments」に最も密接に対応すると決定し、インテントカテゴリを明確にするためのメッセージで応答することができる。例えば、応答アクションは、「see all appointsments?(すべてのアポイントを見ますか?)」というコンテンツを有するメッセージであり得る。対照的に、「new appointment」、「cx apptmt」、「apt?」、「nxt apt)」、「apt time?」、または「cng apt time?」を有するクライアントデバイスからの新しいメッセージの場合、それぞれ、メッセージから特定された単語から決定された異なるインテント値に基づいて、インテント特定エンジン715が異なる応答を提供することとなり得る。
【0097】
[00109]インテント特定システムは、メッセージからの単語を、インテントカテゴリを特定するためのAI分析への入力または主要語として使用することができる。単語は、履歴データ、ユーザプロファイルデータ、またはユーザがインテント分析をカスタマイズし、ユーザデバイスからの通信のためのインテントカテゴリを選択するためのそのようなあらゆるソースであり得、それらと集約され得るインテントデータとして動作する。一例は、メイン口座と、開設され、顧客に関連付けられた新しいフレックス口座との間で金銭を移す試みを示す、顧客からの自然言語テキストを含むことができる。インテント処理システムは、ユーザ通信内の単語を評価して、顧客が対処してほしいと望む問題を決定することができる。この特定の事例では、顧客は、1つのオンライン口座から別の口座に資金を移すのに苦労している可能性がある。提供された単語に基づいて、インテント特定エンジン715は、複数のソースからデータを収集して、ユーザ通信に応答してどのインテントカテゴリ、サブカテゴリ、および関連アクションを使用すべきかを決定し得る。いくつかの例では、ユーザメッセージの単語に加えてコンテキストデータを使用することができる。このコンテキストデータは、要求または問題が共有されるコンテキストに関連付けられたインテントまたはアクション値、緊急性のレベル、顧客のストレスまたは不安レベル、時間的制約があるかどうかなどを含むことができる。
【0098】
[00110]一例では、特定されたインテントカテゴリに基づいて、インテント特定エンジン715は、特定されたインテントカテゴリに基づいて、人工知能エンジン735を選択する。この特定の人工知能エンジン735は、複数の異なるAIエンジンオプションから選択され得る。例えば、異なるインテントカテゴリまたはカテゴリのグループを、AIエンジン735を含む異なるAIエンジンに関連付けることができる。AIエンジン735は、特定されたインテントカテゴリに関連付けられた顧客によって提供される問題または要求を解決するために、インテントカテゴリに関連付けられる。例えば、ユーザ通信から特定されたインテントカテゴリに基づいて、システムは、顧客は資金を口座に移すことができるようになるには口座が認証しなければならないと決定することができる。さらに、システムは、口座の認証をオンラインで実行することができると決定することができる。特定されたプロセスに基づいて、インテント特定エンジン715は、インテントを解決するだけでなく肯定的なカスタマーエクスペリエンスをもたらす方法で顧客インテントに応答するためのアクションを容易にするAIエンジン735を選択する。これは、顧客をクライアント顧客サービスノードに向けること、またはそのようなノードとの接続チャネルの確立を支援することを含むことができる。AIエンジン735が選択したルーティング経路に加えて、システムは、データ(例えば、インテントインジケータデータ、アクションデータ、ユーザ人口統計データなど)に基づいて、カスタマイズされたルーティング経路に関連付けられたカスタマイズされた自然言語コミュニケーションを生成することができる。これは、インテント特定エンジン715によって特定されるインテントカテゴリおよびユーザ通信に応答するアクションとしてユーザに合わせてカスタマイズされた情報を提供するために、ユーザのためのカスタマイズされた言語および専門用語(例えば、「I see the issue(問題点が見えてきました)」)を含むことができる。そのようなシステムは、適切な解決に達するためにおよび通信効率を改善するために、個々のユーザによって使用されるシステムリソースを低減することによって、デバイスおよび通信システムの動作を改善する。
【0099】
[00111]いくつかの例では、インテントモデリングエンジン730の機械学習モデルは、ネットワークデバイス(例えば、顧客)とサービス(例えば、クライアント)との間の通信を監視するフィードバックシステムを使用することができる。そのようなパフォーマンス監視システムは、顧客のインテントに対処する上でクライアントが効果的であるかどうかを決定するために、顧客とクライアントとの間の対話を監視することができる。そのような監視は、インテント特定エンジン715、AIエンジン735、インテントモデリングエンジン730、品質評価エンジン725、またはインテント管理エンジン615の任意の他の態様への更新のためのトレーニングデータを提供することもできる。例えば、パフォーマンス監視システムは、新しいインテントインジケータデータが顧客から受信されるにつれて、インテントが実現されているかどうかを決定するために、あらゆる顧客発話を評価し得る(例えば、顧客がクライアントシステムの現在のノードとの対話から期待される結果を得ていないというフラストレーションレベルまたは機械学習特定インジケータを監視する)。例示的な例として、パフォーマンス監視システムは、顧客が「Done(できました)」と応答した場合、顧客がクライアント提供のルーティング経路からの肯定的な結果を認めた(acknowledged)こと、および顧客が顧客のインテントを達成するためにルーティング経路を選択することができたことを決定し得る。さらに、顧客が「ありがとう!うまくいきました!(Thanks! That worked!)と応答した場合、パフォーマンス監視システムは、顧客のインテントが達成されたと決定し得る。次いで、この情報を使用して、将来のシステムユーザに対するインテント値を特定するための他のユーザのインテントインジケータデータの分析を含む、システムの任意の態様に対する機械学習モデルを更新することができる。例えば、パフォーマンス監視システムは、なぜ特定のルーティング経路が負または正の顧客結果で選択されるのかを決定するために、クライアントメトリックを監視する調査アルゴリズムを実装し得る
この決定に基づいて、パフォーマンス監視システムは、機械学習アルゴリズムにフィードバックを提供して、動作、ノード選択、およびルーティング経路を更新し、システムパフォーマンスを向上させることができる。異なる実装形態では、そのような更新は、集約され、承認のためおよびユーザ向けの通信チャネル(user facing communication channel)への公開のためにクライアントに提示されることができるか、または自動の連続したリアルタイムもしくは準リアルタイム(例えば、処理リソースおよび他のリソース制限が与えられたシステムにおいて待ち行列に入れられるように)の動的更新のために構成されることができる。いくつかの例では、動的更新は、アノテーションデータ内のシフトをチェックし、自動の動的更新が特定のしきい値を超えたときに顧客レビューを要求するために、しきい値追跡を用いて自動的に実装される。例えば、特定の単語にインテントカテゴリとの初期相関値が割り当てられている場合、元のアノテーション値から所与のパーセンテージ(例えば、5%、20%、50%など)を超えて離れるしきい値変化は、システム管理者またはクライアントによるレビューおよび承認を必要とし得る。これにより、データの予想外のトレンドが、システム動作を予想外に破壊することも、ユーザおよびクライアントの期待に沿わないアクションを生成することも防止され得る。本明細書で説明されるように、サーバシステムは、そのようなあらゆる動作を実行することができ、または動作は、そのような動作を実行するために一緒に動作する異なるサブシステムまたはエンジンを有するネットワーク化されたサーバシステムの一部であり得る。
【0100】
[00112]アノテーションエンジン720は、プロセッサと連携して、インテント特定エンジン715から、特定されたインテントカテゴリを受信し得る。アノテーションエンジン720は、特定されたインテントのアノテーションを容易にし得る。アノテーションは、通信と特定されたインテントとの間の関連付けの品質を定義し得る。いくつかの実施形態では、アノテーションエンジン720は、式を適用することによって関連付けの品質を自動的に評価し得る。例えば、アノテーションエンジン720は、主要語「pay bill」とインテント「pay_current_bill」との間では66%の品質を自動的に計算し得、主要語「pay bill」およびインテント「pay_bill」には100%の品質が割り当てられ得る。いくつかの実施形態では、アノテーションエンジン720は、関連付けの品質の手動評価を受信するために、主要語と特定されたインテントとをコンピューティングデバイスのユーザインターフェースに提供し得る。この手動評価は、ユーザ通信に対するAIベースの応答を監視するエージェントによってフィードバックとして提供され得る。この手動評価は、インテント管理エンジン615の任意の態様に対する改訂において使用されるべきトレーニングデータを生成するために、通信の後に使用され得る。
【0101】
[00113]いくつかの例では、アノテーションエンジン720は、AIエンジン735と並行して動作することができる。そのようなシステムでは、インテント特定エンジン715がインテントカテゴリを選択すると、AIエンジンおよびアノテーションエンジン720にはインテントカテゴリが別々に提供される。AIエンジン735は、インテントカテゴリに基づいて1つまたは複数のアクションを自動的に選択することができる。アノテーションエンジン720は、インテント管理エンジン615の動作の任意の態様に関する信頼度フィードバックを提供することができる。これは、他の可能なインテントカテゴリと比較したときの特定のインテントカテゴリの選択の信頼度を含むことができる。これは、AIエンジン735によって特定された複数の可能なアクション間の信頼度を含むことができる。アノテーションエンジン720は、現在の通信705への応答に対するしきい値アクションを設定することと、インテント管理エンジン615の任意の態様を更新するためのトレーニングデータを生成することとの両方に使用可能なAI選択動作に対する品質チェックを提供することができる。例えば、アノテーションエンジン720は、通信に応答するアクションまたはインテントに関連付けられた定性的な信頼度スコアを特定することができる。いくつかの例では、アノテーションエンジン720の定性的なスコアがしきい値を下回る場合、AI応答に依拠するのではなく、特定のエージェントまたは他のエンドポイントに通信をルーティングするなど、フォールバックアクションが行われる。他の例では、エージェントは、パフォーマンス別にグループ化され得る。高い信頼度スコアを有するアノテーションエンジン720の結果は、エラーのしきい値および期待される結果がエージェントのパフォーマンスの影響を受ける可能性が低いため、より悪いパフォーマンスのエージェントにルーティングされ得る。エージェントの裁量が重要である可能性がより高い場合、低い信頼度スコアを有するアノテーションエンジン720の結果は、より高いパフォーマンススコアを有するエージェントにルーティングされ得る。これは、トレーニングデータの信頼度を作り出すためにも使用され得、ここでは、より良いパフォーマンスのエージェントが、インテント管理エンジン615のパフォーマンスの複雑な態様をレビューし、新しいカテゴリまたは他の有意なシステム変更を生じさせ得る、インテントカテゴリに関するフィードバックを提供する。したがって、アノテーションエンジン720は、例えば、インテントカテゴリフィードバックの一部として定性的な値を提供することができるだけでなく、システムに追加され得る欠落したカテゴリ、不要または冗長なカテゴリ(例えば、定期的に同様の信頼値を有し、同様または同一のシステムアクションをもたらすインテントカテゴリ)、または他のそのような問題を特定するためにも使用され得る。
【0102】
[00114]インテントモデリングエンジン730は、プロセッサと連携して、インテントに対して作成されたタクソノミおよびアノテーションに基づいてインテントのモデルを構築するように構成される。モデルは、インテントを精緻化すること、新しいインテントを追加すること、異なるタクソノミをインテントに関連付けること、異なるインテントを特定のタクソノミに関連付けることなどを助けるために使用され得る。
【0103】
[00115]人工知能エンジン735は、プロセッサと連携して、人工知能をインテントモデルに適用してインテント関連データを集約し、結果および分析に基づいて行われ得るアクションについての結論を引き出すように構成される。人工知能エンジン735は、例えば、インテントを反映するためにより良いモデルを学習、適用、および反復的に開発するように人工知能システムで構成されたコンピュータによって実装され得る。これらのモデルは、データのトレンドを学習し、インテントをより良好に予測するために、到来データを用いて経時的に精緻化され得る。上で説明したように、人工知能エンジン735は、複数のAIエンジンを有するシステムの一部であり得るか、または異なるAIシステムを含むことができる。例えば、特定のシステムでは、各インテントカテゴリを異なるニューラルネットワークに関連付けることができる。通信において受信された主要語または単語の特定の組合せは、特定のインテントカテゴリのためにカスタマイズされた特定のニューラルネットワークによって分析され得る。より狭いインテントカテゴリに対して異なるニューラルネットワークを使用することによって、個々のニューラルネットワークのサイズおよび複雑さが制限され、システムリソース制限のコンテキストにおいてより効率的に管理され得る。例えば、ユーザが支払いをしようとしているのが、現在の請求書であるのか、過去の請求書であるのか、部分的な請求書であるのかを決定するニューラルネットワークは、これらのオプションおよび口座アクセスヘルプ、詐欺支援、新規口座開設、またはシステムで発生し得る他の広く分岐する(widely divergent)アクションのオプションの間で決定するニューラルネットワークよりも複雑ではなく、リソース集約的でない。
【0104】
[00116]インテントデータコンパイラ740は、プロセッサと連携して、人工知能エンジン735によって出力された情報を集約し、コンピューティングデバイス750によって表示することができるようにそれを定式化するように構成される。コンピューティングデバイス750は、表示および分析されるデータを操作および構成することができる。これは、
図11および12のインターフェースのためのデータを生成することを含むことができる。
【0105】
[00117]
図8は、本技術のいくつかの態様による方法の実施形態のフローチャートを示す。説明される方法は、インテントを分析する実施形態を説明する。いくつかの例では、方法800は、コンピューティングデバイスによって実行される。いくつかの例では、方法800は、デバイスの1つまたは複数のプロセッサによって実行されると、デバイスに、方法800の動作を実行させる命令として具現化される。
【0106】
[00118]方法800は、通信がデバイスから受信されるステップ805を含む。通信は、1つまたは複数の単語を含み得る。上で説明したように、通信は、様々なフォーマットで受信され得る。いくつかの実施形態では、通信は、自然言語であり得る。いくつかの例では、単語は、サーバシステムによって、または別のネットワーク化されたデバイスによって提供されるspeech to textサービスと通信して、直接処理されるか、またはテキストに変換され得るオーディオデータとして構成される。デバイスは、1つまたは複数のアクションに関連付けられ得る。アクションは、通信からのデータを処理してインテントカテゴリを選択し、関連アクションを割り当てるインテント管理エンジン615によって発見されるユーザインテントに基づいて、関連付けられ得る。行われたアクションに応答して受信されるユーザフィードバックは、正しい関連アクションが特定されたかどうか、またはユーザが達成するためにシステムにコンタクトした関連アクションである、追加アクションがユーザの好ましい結果に進むために必要とされるかどうかを決定するために使用され得る。
【0107】
[00119]ステップ810において、通信は、デバイスに関連付けられたアクションに対応する1つまたは複数の主要語を特定するために自動的に構文解析され得る。例えば、通信が「I want to speak to a representative.(担当者と話しがしたいです。)」と述べ得る。この通信における主要語は「representative(担当者)」であり得る。単語をデータベース内の特定された主要語と比較することによって主要語が特定され得る。他の例では、構文解析は、自然言語プロセッサ、自然言語分析システム、ニューラルネットワーク、または通信の任意の他のそのような機械ベースの分析によって実行され得る。
【0108】
[00120]ステップ815において、1つまたは複数の主要語に関連付けられたインテントが特定され得る。インテントは、アクションを定義し得る。例えば、主要語「representative」の場合、事前定義されたインテントは、「transfer_to_agent」であり得る。インテントは、いくつかの実施形態では、データベースに記憶されるような、主要語とインテントとの間の記憶された関連付けを通して特定され得る。したがって、インテントは、インテントデータベースの検索を通して特定され得る。インテントは、インテントのより良い予測を行うために、人工知能および/または機械学習を履歴データおよび現在のデータに適用することによって、向上した品質でより良く特定され、経時的に精緻化され得る。いくつかの例では、ステップ810および815の動作は、組み合わせられたまたはマルチステップのプロセスの一部であり得る。例えば、初期解析は、ニューラルネットワークに入力される主要語(operative term)を選択するために実行され得る。ニューラルネットワークの出力は、関連アクション(例えば、インテントカテゴリによって定義されたアクション)を有するインテントカテゴリである。いくつかの例では、ニューラルネットワークは、通信の構文解析およびインテントの特定を兼務することができる。いくつかの例では、分析を精緻化するために、初期インテント特定が使用され得る。例えば、初期インテントに基づいて通信を再度構文解析するために使用される初期特定されたインテントと、追加の分析に基づいて行われるインテントカテゴリのサブカテゴリ特定とを用いて、ループを開始することができる。例えば、「I’m worried about my bill payment(請求書の支払いが心配です)」という通信を構文解析して、請求書の支払いおよび初期の「bill payment」カテゴリを特定することができる。後続の構文解析で、サブカテゴリインテントが「current bill(現在の請求書)」または「overdue bill payment(期限切れ請求書支払い)」として特定されることとなり得る追加の主要語として「worried」が特定され得る。様々なシステムは、そのような分析の複数の階層を含むことができる。
【0109】
[00121]ステップ820において、インテントのアノテーションが容易にされ得る。アノテーションは、通信とインテントとの間の関連付けの品質を定義し得る。アノテーションは、一実施形態ではアルゴリズムを適用することによって自動的に行われ得る。いくつかの実施形態では、アノテーションは、元の通信と特定されたインテントとの相関に基づいて手動で完了し得る。品質は、単語(例えば、「yes」および「no」)、パーセンテージ(例えば、「80%」)、数(例えば、1~10のスケールで)などを含む、任意の好適な形態でアノテーション付与され得る。いくつかの例では、アノテーション分析は、識別分析から独立した履歴データを使用して実行される。いくつかの例では、アノテーションは、エージェントがステップ815の特定を実行するAIエンジン動作をレビューすることによって実行される。いくつかの例では、AIベースのアノテーションおよびエージェントベースのアノテーションの両方を生成して、通信(例えば、通信内の単語)とインテント(例えば、システム内で利用可能な考えられるインテントカテゴリの中から選択されたインテントカテゴリ)との間の関連付けに関する定性的なフィードバックを作成することができる。
【0110】
[00122]ステップ825において、関連付けの品質に基づいてインテントについてのメトリックが計算され得る。メトリックは、例えば、インテントの頻度、そのインテントに対する最も経験のあるエージェント、インテントに対する難易度などを含み得る。ステップ830において、インテントおよびメトリックの表示が容易にされ得る。
【0111】
[00123]いくつかの実施形態では、インテントおよびメトリックに基づいて1つまたは複数のエージェントプロファイルが取り出され得る。1つまたは複数のエージェントプロファイルは各々、エージェントおよび端末デバイスに関連付けられ得る。エージェントプロファイルは、特定のインテント、カテゴリ、主題、またはトピックの知識があるエージェントに関連付けられた情報を含み得る。エージェントプロファイルは、評価、解決時間、作業負荷、経験、料金体系、地理的位置、対象のインテント、トレーニングニーズ、難易度などをさらに含み得る。
【0112】
[00124]いくつかの実施形態では、1つまたは複数のエージェントプロファイルの中から1つのエージェントプロファイルが選択され得る。エージェントプロファイルは、インテントに対するエージェントプロファイルの相関と、通信とインテントとの間の関連付けの品質とに基づいて選択され得る。インテントに対するエージェントプロファイルの相関は、例えば、インテントが、エージェントが精通しているかまたは経験を有するインテントに一致すること、または最も近いことを示し得る。エージェントプロファイルはさらに、通信とインテントとの間の関連付けの品質に基づいて選択され得る。例えば、通信がインテントに関連付けられる信頼度が100%である場合、そのインテントに非常に精通している特定のエージェントが選択され得る。信頼度が比較的低い、例えば50%である場合、正しいインテントが特定された可能性が低いため、そのインテントにあまり精通していないエージェントが選択され得、最も精通しているエージェントは必要とされない可能性がある。
【0113】
[00125]いくつかの実施形態では、通信がルーティングされ得る。通信が、エージェントプロファイルに関連付けられた端末デバイスで受信されると、アクションの実行が容易にされる。例えば、ユーザがエージェントと話したいと望んでいることをインテントが示す場合、ユーザとエージェントとの間に通信チャネルが開かれ得る。
【0114】
[00126]
図9は、本技術のいくつかの態様によるインテントモデルのためのインターフェース900の例となるスクリーンショットを示す。
図9は、インテントを選択し、インテントタクソノミをカスタマイズするシステムクライアントの能力を示す。示されるように、インターフェース900は、インテントカテゴリ911、912、913、914およびインテントサブカテゴリ920を有するインテントリスト910を含む。このインテントリスト910は、本明細書で説明されるように通信システムインテント分析を提供するサービスの特定のクライアントが利用可能なインテントのセットと見なされることができる。これは、本明細書で説明される例によれば、銀行、医療サービスプロバイダ、製品のためのサポートが提供される製品の製造業者もしくは販売業者、または本明細書で説明されるようなユーザとの通信をサポートする任意の他のクライアントであり得る。インターフェース900は、クライアントが、AI支援型の通信システムにコンタクトするユーザが利用可能なインテントカテゴリを追加または修正することを可能にすることができる。サブカテゴリデータウィンドウ930およびアクションツリー950は、クライアントが、ユーザが利用可能なインテントカテゴリに関連付けられたデータを閲覧および修正することを可能にする。例えば、ユーザインターフェース900の様々な他の例示されたタブでは、ユーザは、トレーニングデータを作成し、アノテーション品質をレビューし、モデルをトレーニングし、モデルを公開し得る。
図9は、特に、本技術のいくつかの態様によるインテントを確立するための例となるカスタマイズインターフェースを例示する。
図9の例では、インテントのタクソノミ(例えば、インテントリスト910)は、手動で入力されるか、または事前定義されたリストから選択される。システムが動作すると、いくつかの例では、AIおよび機械学習アルゴリズムは、追加のインテントカテゴリまたはサブカテゴリを自動的に作成することができる。他の例では、AIまたは機械学習システムは、追加のインテントカテゴリを提案することができ、顧客は、インテントリスト910への追加に関する提案を選択することによって、これらの提案がシステム動作にどのように追加されるかを選択することができる。いくつかの例では、追加のグルーピングが存在し得る。例えば、インテントカテゴリの複数のリストがドメインにしたがって一緒にグループ化され得、各ドメインはそれ自体のインテントのセットを有し得る。インテントのセットは、汎用またはカスタマイズされたバージョンによって保存され得る。追加的に、複数の階層のサブカテゴリが使用され得る。例えば、サブカテゴリ920の各々は、サブサブカテゴリを有することができ、サブサブカテゴリもまた、特定のシステムクライアントについてのインテント決定に対するアクションおよび精緻化の特定の構造に応じて、それらの下に構造化されたさらなるサブカテゴリを有することができ、以下同様である。
【0115】
[00127]次いで、データウィンドウ930およびアクションツリー950は、インテントリスト910内のカテゴリおよびリスト内のカテゴリ間の関係についての追加情報を記述する。データウィンドウ930は、インテントカテゴリのためのトレーニングデータを生成することにも、インテントカテゴリまたはサブカテゴリに関連付けられたアクションに関する情報の例を表示することとにも使用され得る。ID931は、表示されるデータを(例えば、インテントカテゴリ、サブカテゴリ、データベースエントリなどによって)特定するフィールドであり、データセレクタ932を使用して、データウィンドウ930に表示するためにデータ938をソートまたは選択することができる。データ938には、インテントカテゴリまたはサブカテゴリに関連付けられ得る提案された単語またはフレーズを含むことができる。インテントリスト910が初期に生成されるとき、このリストは、クライアントタイプについて期待される情報に基づいてシード値が与えられ得、次いで、データ938のリストは、システムにコンタクトするユーザが実際に使用する単語およびフレーズで更新され得る。ユーザとの通信が発生し、ユーザ通信からの単語がインテントカテゴリに関連付けられ、通信がユーザ対話の解決(例えば、肯定的および否定的な解決)に達すると、インテントカテゴリに関連付けられ、解決に成功した単語が、特定のインテントについてデータ938に追加され得る。解決に失敗した単語、またはシステムがあるインテントカテゴリおよびカテゴリの関連アクションから異なる関連アクションを有する異なるカテゴリにシフトする結果となることが多い単語は、1つのカテゴリのデータ938から除去され、別のカテゴリのデータとともに配置され得る。いくつかの例では、特定のデータ938に関するアノテーション情報を使用することで、クライアントは、フレーズおよび単語の関連付けを異なるインテントカテゴリにシフトするような選択を行うことができる(例えば、UI選択インジケータ936を使用して、特定の単語と特定のインテントカテゴリまたはサブカテゴリとの間の関連付けを強調または強調解除する)。異なるUIタブ934を使用して、シードフレーズ(seeded phrase)、カスタムクライアント提供フレーズ、機械学習提案フレーズ、データ938に対するコメントまたは履歴データ、または他のそのような情報など、表示のために異なるタイプのデータ938を選択することができる。
【0116】
[00128]次いで、アクションツリー950は、異なるインテントカテゴリおよびサブカテゴリと関連付けアクションとの間の関係の可視指示を可能にする。カテゴリインジケータ952、954、および956として示される例となるカテゴリインジケータは、アクション958に関連付けられるものとして示される。いくつかの例では、アクション958は、ユーザのインテントを明確にし、より広いインテントカテゴリ912からサブカテゴリ920などのより狭いサブカテゴリにシステムを集中させるための追加のユーザ情報の要求であり得る。アクションツリー950は、同じアクション958またはインテントカテゴリから分岐可能な異なるアクションをもたらすカテゴリ間の関係を視覚化するために使用され得る。このアクションツリー950は、アクションを構造化して選択するため、および特定のカテゴリに関連付けられたアクションを修正するためにクライアントによって使用され得る。これは、特定の入力単語に使用されるアノテーション情報を追加することを含むことができる。これはまた、定期的に否定的なユーザフィードバックをもたらすか、または乏しい相関もしくは結果を有するアクションまたはインテントについての情報を表示および修正するためのインターフェースを含むことができる。システムのクライアントは、インテントカテゴリに対してより良い結果を達成しようと試みるために、インテントに対するアクションまたはデータを修正することができる。AIまたは機械学習システムは、いくつかの例では、そのような変更を自動的に行うことができ、またはシステム履歴データ(例えば、異なる解決をもたらした異なる単語またはインテントカテゴリを通るループおよび会話経路の分析)に基づいてクライアント承認のために変更を提案することができる。
【0117】
[00129]インターフェース900は、クライアントが、カスタムインテントを挿入および追跡することを可能にする。インターフェース900は、これらのカスタムインテントが、定義され、トレーニングデータに関連付けられることを可能にする。システム内のカスタムインテントに関連付けられたモデル(複数可)のインテント検出品質に基準を設けるために、アノテーションデータがカスタムインテントに追加され得る。いくつかの例では、これにより、インターフェースカテゴリ構造に対する更新または変更が、ユーザによってアクセス可能なアクティブシステムに公開される前に、システムに対する修正を分析システムにおいてモデル化することができる。これには、ユーザへの公開に先立って、トレーニングデータ、アノテーション品質、およびトレーニングされたモデルを用いて処理されることができるオフラインシステム(例えば、インテント管理エンジン615の更新バージョン)の作成が含まれ得る。追加的に、そのようなオフラインシステムは、アクティブシステム履歴を使用して生成された更新されたトレーニングデータを使用して変更を行うことによって、公開されたシステムを更新するために使用され得る。これは、顧客フィードバックおよびシステム結果を、以前に公開されたシステムの更新バージョンに使用されるトレーニングデータに統合することと、より多くの情報が収集されたとき、またはシステム構造に対する特徴および変更が生じたときに、新しいアノテーション品質データを新しいバージョンのシステムに統合することとを含むことができる。例えば、システムのクライアントが、以前の製品とは異なる関連アクションを有する新製品をリリースし、旧製品がもはやサポートされていない場合、クライアントに対するアクションは変わり得、期待されるユーザ単語およびユーザ通信内の単語間の関連付けは変わり得る。そのような変更は、ライブユーザ向けシステム(live user facing system)の公開に先立ち、オフラインバージョンでモデル化され得る。同様に、バンキングシステムが新製品を公表するとき、医療サービスが新しい手順を提供するとき、または他のクライアントのビジネス変化によりクライアントからの期待される通信が変更されるとき、通信システムは、これらの変更に対応するために、およびクライアントに関連付けられた情報およびアクションについてシステムにコンタクトするユーザに対するインテントカテゴリの変更を把握するために更新され得る。
【0118】
[00130]
図10は、例示されたインテント頻度1010とともに、アノテーション値およびインテントカテゴリに関する較正プロット1020を示す。上で説明したように、アノテーションは、ユーザ通信内の単語とインテントカテゴリとの間の関連付けなど、インテントについての定性的な情報を提供することができる。例えば、初期トレーニングデータがシステムに提供されるとき、アノテーション値は、特定の単語が特定のインテントカテゴリに対するユーザインテントおよびそのインテントカテゴリに対するアクションを示すスコアまたは信頼度パーセンテージを示すことができる。例えば、特定の単語は、異なる定性的な強度値が割り当てられた、2つ以上のインテントカテゴリに対してアノテーション値が割り当てられている可能性がある。較正プロット1020は、アノテーションと特定の単語が正しいインテントカテゴリに割り当てられる結果となる確率との間の理想的な関連付けである較正線1040を含む。アノテーショングルーピング1022は、特定のアノテーショングループは、信頼軸1024および確率軸1024に沿って図表化される信頼値および確率値を有するように、アノテーションの組合せがどのように相互作用してカテゴリ割当てをもたらすかを特定するために使用され得る。例示されるように、第1のアノテーショングループ1032、第2のアノテーショングループ1034、および第3のアノテーショングループ1036のグラフが示されている。較正プロット1020を使用して、パフォーマンスを改善するために(例えば、アクションがユーザ通信に対する肯定的な解決をもたらす状態で、ユーザ通信とインテントカテゴリとの間のシステム一致を改善するために)、異なるアノテーションおよびアノテーショングループがライブシステムで使用され得る。初期インテントカテゴリ割当ては、これらのアノテーション値に基づくことができ、これらのアノテーション値は、本技術のいくつかの態様にしたがって、システムが、インテントのユーザ通信に関連付けられたデータを受信すると、機械学習動作によって自動的に修正され得る。
図10は、インテント頻度1010として示される複数のインテントの頻度を示す。例えば、例となる実装形態では、最も長いバーは、最も高い頻度で割り当てられるインテントカテゴリ(例えば、「request_bill_or_fees_information」)に関連付けられ得、最も短いバーは、最も低い頻繁で割り当てられるカテゴリ(例えば、「pre-order_product」)に関連付けられ得る。
図10は、様々なアノテータによってグループ化された到来ユーザ通信に一致するインテントカテゴリについての信頼度スコアおよび正しい予測の確率をグラフで示す較正プロット1020をさらに示す。これにより、アノテータを修正して、ユーザ通信内の単語がインテントカテゴリに一致するようにシステム結果を調整することができる。例えば、較正プロット1020は、「request」という用語が「product purchase」よりオーバーウェイト(overweight)され、「request bill」よりアンダーウェイト(underweight)されることを特定するように設定され得る。アノテーションは、「request」という単語が割り当てられている「request bill」というインテントカテゴリがユーザ通信に存在する確率を増加させ、「request」が割り当てられている「product purchase」というインテントカテゴリがユーザ通信に存在する確率を減少させるようにシフトされ得る。
【0119】
[00131]
図11A~
図11Fは、本技術のいくつかの態様によるインテント駆動コンタクトセンターのためのダッシュボードレポートの態様の例を示す。
図11Aは、通信およびインテントについてのメトリックを示すダッシュボードフィルタインターフェース1100のスクリーンショットである。例えば、
図11Aは、会話の数、通信セッションの平均持続時間、インテントスコア、会話によるインテント、インテントトレンド、インテント持続時間についてのサマリ情報、または他のそのような情報を、データサマリインターフェース1110を使用したデータ1114、データメトリック1108グラフ、およびチャート1116データとして例示するデータを含むことができる。これらの分析は、ユーザがインテント駆動コンタクトセンターにコンタクトし、それらのインテントが確認されると、利用可能になり得る。フィルタ要素追加1102、フィルタタイプ選択1104、フィルタ値選択1106、および他のそのようなユーザインターフェース選択を使用して、表示されるデータを選択するために、フィルタの追加、フィルタの選択、フィルタの値範囲の設定を行うためのインターフェース要素が使用され得る。例えば、例示されたフィルタインターフェース1100では、データサマリインターフェース1110は、各インターフェースエリアの関連するデータ1114エリアに、異なるサマリデータタイプを、各インターフェースの関連するトレンド矢印1112とともに示すことができる。チャート1116は、経時的なインテントカテゴリ割当てのボリュームを示すことができる。例えば、チャート1116の各ラインは、所与の地理的エリアの1日の所与の時間におけるインテント割当てのボリュームを示すことができる(例えば、この場合、インテント割当ては、夜中にほぼ0に低下する)。各インテントカテゴリは、過去1年にわたる1日あたりの平均ボリューム、1週あたりの平均ボリューム、1週あたりの平均トレンド(例えば、変化)、または任意の他のそのようなメトリックなどのインテントカテゴリについての統計値を示す1つまたは複数の関連するデータサマリインターフェース1110を有することができる。本明細書で説明される例は、フィルタインターフェース1100または他のそのようなインターフェースなどのインターフェースを使用して、AI支援型の通信システムのためのインテントおよびメトリックデータの表示を容易にすることができる。
【0120】
[00132]
図11Bは、トップインテントスコアを示すデータサマリインターフェース1110の例と、(例えば、フィルタインターフェース1100の)様々なデータサマリインターフェース1110エリアに表示されるトップインテントスコアを管理するために利用可能な較正設定を有する関連する表示設定1120インターフェースとを含み得るダッシュボードレポートインターフェースまたは他のそのようなインターフェースの態様を含む。例となる表示設定1120インターフェースにより、データ分類選択1124は、インテントスコアに対する定性的なテキスト値(例えば、大変優秀、優秀、良い、普通、悪い)を割り当てることができる。追加的に、表示タイプ選択1122などのインターフェース要素を使用して、
図11Bの例などの特定のデータサマリインターフェース1110の標準設定を選択することができる。
【0121】
[00133]
図11C、
図11D、および
図11Dは、チャート1116A、1116B、および1116Cとして示されるチャート1116の例である。例となる各チャート1116は、水平時間軸1117および垂直ボリューム軸1118を有する、インテントごとの会話のボリュームを示すダッシュボードレポートである。チャート1116の特定のインテントデータは、チャート選択インターフェース1115の値を使用して選択され得る。これは、チャートのインテントデータに対して1つまたは複数のフィルタ特性(例えば、全体的な期間、地理的エリア、関連するエージェント(複数可)、インテントカテゴリに対するインテントサブグループ、関連するインテントカテゴリグルーピングなど)を選択することができる。例示されるチャート1116Aはインテントデータ1130を含み、チャート1116Bはインテントデータ1132を含み、チャート1116Cはインテントデータ1134を含む。ボリューム軸1118は、時間軸1117に沿ったある期間においてインテントカテゴリが割り当てられる回数を示す。時間軸は、各データ点が、1分あたりの、10分刻み(per ten-minute increment)の、1時間あたりの、または時間軸1117のための任意の他の選択された期間あたりの割当ての数となるような構造であり得る。いくつかの実装形態では、時間軸1117の期間は、フィルタインターフェース1100のフィルタ値選択1106などのインターフェースのユーザインターフェース選択によって設定され得る。
【0122】
[00134]
図11Fは、エージェントとユーザとの会話を示すダッシュボードのスクリーンショットである。本明細書で説明されるように、いくつかの例では、インテントカテゴリによって、システムによって行われるアクションが自動化されたもの(例えば、システムAI、言語処理、または他のシステムを使用して自動的に送信される応答通信)となるように、システムによって行われるアクションが完全に自動化され得る。他の例では、いくつかまたはすべてのアクションは、エージェントが、エージェントに対してAI支援を実装するためにコンピューティングデバイスを使用することを伴うAI支援型のアクションであり得る。そのような実装形態では、システムデータは、インテント分類によって、およびエージェントによって追跡され得る。
図11Fのインターフェースは、エージェント1142などの特定のエージェントが選択されることを可能にするエージェントリスト1140を含む。エージェントトレンドデータ1150および関連するサマリデータは、インテントデータおよびエージェントデータをインターフェースの1つまたは複数のサマリエリアに統合するメトリックを示すことができる。これは、所与のインテントカテゴリの会話が所与のエージェントではどれだけ長く続くかのトレンド、およびそのエージェントについての経時的な統計的トレンドを含むことができる。これは、異なるインテントカテゴリまたはインテントカテゴリもしくはサブカテゴリのグループについてのトレンドを含むことができる。エージェントおよびユーザが関わっている特定の会話の例は、エージェント履歴データ1144に表示され得る。いくつかの例では、AIシステムは、エージェントが関わっているすべての通信を処理し、平均会話およびしきい値パラメータのセット外である任意の会話を含む、会話の代表的セットを自動的に生成することができる。追加的に、ユーザ通信から単語を特定するために使用される自然言語処理システムまたは他のシステムは、エージェント会話のためのテキストデータ1145におけるエージェント応答通信内の特定の単語を特定するためにも使用され得る。そのような情報は、追加のエージェントサマリ1146データおよびエージェントレビューデータ1148とともに、エージェント履歴データ1144インターフェースに表示され得る。エージェント履歴データ1144、エージェントサマリ1146、およびエージェントレビューデータ1148のダッシュボードは、ユーザと交換されるメッセージ、エージェント会話についての全体的なメトリック、ならびに評価および解決ボックスを示す。エージェントサマリ1146データは、ユーザ評価、会話時間、他のエージェントとの相対的なランキング、エージェントの会話が他のエージェントとのしきい値比較を上回るまたは下回るエリアもしくはインテントカテゴリ、または他のそのような情報など、エージェントパフォーマンスに関するメトリックを含むことができる。エージェントレビューデータ1148は、所与のエージェントとの会話の一部であるユーザ(例えば、エージェント1142のテキストデータ1145を含む会話に関与しているユーザ)からシステムが受信した特定のフィードバックを含むことができる。上で説明したように、そのようなエージェント情報は、フィードバックおよびトレンドがAIおよび機械学習システムに統合されるにつれて、システム更新を評価するために使用され得る。例えば、いくつかの実装形態では、特定のサマリデータメトリック(例えば、しきい値応答時間、しきい値ユーザフィードバックスコアなど)を有するエージェントに関連付けられたインテントデータだけが、機械学習を使用してAIシステムを更新する際に使用される。
【0123】
[00135]
図12は、本技術のいくつかの態様によるインテント駆動コンタクトセンターのための例となるエージェントランキングインターフェース1200を示す。エージェントランキングは、関与した全顧客によるエージェントおよび会話のボリュームによるエージェントを含む。これらの分析は、会話が経時的にエージェントによって処理および解決されるにつれて、利用可能になることができる。
図12の例では、エージェントデータ1204は、エージェント比較1202を有するグラフとともに、所与のインテントカテゴリについてトップにランク付けされたエージェントのリストを含むことができる。エージェント比較グラフは、トップエージェントについてのトップメトリック値と、トップエージェントによって処理されるボリュームのシェアを示すカラーバーとを含むことができる。同様に、エージェントデータ1208は、エージェント比較1206について同様のグラフを用いて最も悪いパフォーマンスのエージェントのリストを含むことができ、これは、最も低くランク付けされたエージェントの最も低いパフォーマンス値を示すことができる。そのようなエージェントランキングインターフェース1200は、パフォーマンス変動に関するシステムフィードバックを提供することができる。いくつかのシステムでは、エージェント間の標準偏差およびパフォーマンスの様々な帯域についての情報が提示され得る。他のインターフェースと同様に、この情報は、インテントカテゴリ、時間、地理、またはシステムによって記憶されたデータの任意のカテゴリによって分類され得る。
【0124】
[00136]様々な実装形態では、上記のAIおよび機械学習システムは、システム使用および動作についての情報を提供するためにインターフェースと統合され得る。そのようなインターフェースは、システムパフォーマンスおよびシステム使用に関するフィードバックを提供するために、リアルタイムで(例えば、リソース制限を所与として処理されるように)動的かつ連続的に更新され得る。そのような例は、システムのパフォーマンスに関する情報を提供することと、故障の前にシステムにおけるエラーまたは改善を特定することを可能にすることとによって、通信システムの動作を改善する。そのようなインターフェースは、ユーザインテントに応答して、追加された機能性およびアクションの更新を容易にすることによって、通信システムの動作をさらに改善する(例えば、新しい通信経路または機能性としての新しいアクションの追加が、ユーザの選好に応答するために、および通信システムにアクセスするユーザに関連付けられたユーザインテントを達成するために追加される)。さらに、上記のAIおよび機械学習システムは、インターフェースを超えてデバイスのパフォーマンスに対する改善を提供する。上で説明したように、これは、応答パフォーマンスの改善と、コンピューティングリソースを使用するシステムによって行われるアクションがユーザによって期待される結果と整合しないときに浪費される処理リソースの低減とを含む。これらのリソースは浪費され、システムが、ユーザインテントを達成するアクションに到達しようとする際に、システムループにおいて追加のリソースが使用される。インテントカテゴリに対するユーザ通信のインテントマッチングにおける説明される改善は、電力およびシステムリソースを節約する一方で、(例えば、ユーザのためのインテントカテゴリおよびアクションを構造化する)システムクライアントに代わってユーザに通信および処理ユーティリティを提供しながら、関与するコンピューティングデバイスの効率を改善する。様々なステップが上で説明されたが、特定のステップが繰り返されること、および介在するステップも同様に実行され得ることは明らかであろう。追加的に、システム内の異なるデバイスが対応するステップを実行し、様々なデバイスが複数のステップを同時に実行することができる。例えば、デバイスは、複数の異なるエージェントのデバイスが対応する動作を実行し、エージェントデバイスがユーザデバイスと通信している状態で、要求を複数のエージェントに同時にルーティングするためにそのようなステップを実行することができる。
【0125】
[00137]
図13は、いくつかの実装形態による、バスなどの接続1306を使用して互いに電気通信している様々なコンポーネントを含むコンピューティングシステムアーキテクチャ1300を例示する。例となるシステムアーキテクチャ1300は、処理ユニット(CPUまたはプロセッサ)1304と、ROM1318およびRAM1316などのシステムメモリ1320を含む様々なシステムコンポーネントをプロセッサ1304に結合するシステム接続1306とを含む。システムアーキテクチャ1300は、プロセッサ1304に直接接続された、その近傍にある、またはその一部として統合された高速メモリのキャッシュ1302を含むことができる。システムアーキテクチャ1300は、プロセッサ1304によるクイックアクセスのために、メモリ1320および/またはストレージデバイス1308からキャッシュ1302にデータをコピーすることができる。このようにして、キャッシュは、データを待っている間のプロセッサ1304の遅延を回避するパフォーマンスブーストを提供することができる。これらおよび他のモジュールは、様々なアクションを実行するようにプロセッサ1304を制御するか、または制御するように構成され得る。
【0126】
[00138]他のシステムメモリ1320も同様に利用可能であり得る。メモリ1320は、異なるパフォーマンス特性を有する複数の異なるタイプのメモリを含むことができる。プロセッサ1304は、任意の汎用プロセッサ、ならびにプロセッサ1304を制御するように構成された、ストレージデバイス1308に記憶されたサービス1 1310、サービス2 1312、およびサービス3 1314などのハードウェアまたはソフトウェアサービスと、ソフトウェア命令が実際のプロセッサ設計に組み込まれている専用プロセッサとを含むことができる。プロセッサ1304は、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュなどを含む、完全に自己完結型のコンピューティングシステムであり得る。マルチコアプロセッサは、対称的または非対称的であり得る。
【0127】
[00139]コンピューティングシステムアーキテクチャ1300とのユーザ通信を可能にするために、入力デバイス1322は、音声用のマイクロフォン、ジェスチャまたはグラフィカル入力用のタッチセンサ式スクリーン、キーボード、マウス、動き入力、音声など、任意の数の入力機構を表すことができる。出力デバイス1324は、当業者に知られているいくつかの出力機構のうちの1つまたは複数であり得る。いくつかの事例では、マルチモーダルシステムは、ユーザがコンピューティングシステムアーキテクチャ1300と通信するために複数のタイプの入力を提供することを可能にすることができる。通信インターフェース1326は、一般に、ユーザ入力およびシステム出力を管理および制御することができる。任意の特定のハードウェア構成上で動作することに制限はなく、したがって、ここでの基本的な特徴は、改善されたハードウェアまたはファームウェア配列が開発されるときに、それらに容易に置き換えられ得る。
【0128】
[00140]ストレージデバイス1308は、不揮発性メモリであり、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、RAM1316、ROM1318、およびそれらのハイブリッドなどの、コンピュータによってアクセス可能なデータを記憶することができるハードディスクまたは他のタイプのコンピュータ可読媒体であり得る。
【0129】
[00141]ストレージデバイス1308は、プロセッサ1304を制御するためのサービス1310、1312、1314を含むことができる。他のハードウェアまたはソフトウェアモジュールも企図される。ストレージデバイス1308は、システム接続1306に接続され得る。一態様では、特定の機能を実行するハードウェアモジュールは、その機能を実行するために、プロセッサ1304、接続1306、出力デバイス1324などの必要なハードウェアコンポーネントに関連してコンピュータ可読媒体に記憶されたソフトウェアコンポーネントを含むことができる。
【0130】
[00142]開示されるギフト選択、属性、および分配システムは、コンピューティングシステムを使用して実行され得る。例となるコンピューティングシステムは、プロセッサ(例えば、中央処理装置)、メモリ、不揮発性メモリ、およびインターフェースデバイスを含むことができる。メモリは、データおよび/または1つまたは複数のコードセット、ソフトウェア、スクリプトなどを記憶し得る。コンピュータシステムのコンポーネントは、バスを介して、または何らかの他の既知のもしくは便利なデバイスを通して互いに結合され得る。プロセッサは、例えば、メモリに記憶されたコードを実行することによって、本明細書で説明される方法のすべてまたは一部を実行するように構成され得る。ユーザデバイスもしくはコンピュータ、プロバイダサーバもしくはシステム、または中断されたデータベース更新システムのうちの1つまたは複数は、コンピューティングシステムまたはそのようなシステムの変形例のコンポーネントを含み得る。
【0131】
[00143]本開示は、任意の好適な物理的形態をとるコンピュータシステムを企図する。限定ではなく例として、コンピュータシステムは、埋込式コンピュータシステム、システムオンチップ(SOC)、シングルボードコンピュータシステム(SBC)(例えば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)など)、デスクトップコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、またはこれらのうちの2つ以上の組合せであり得る。適切な場合には、コンピュータシステムは、1つまたは複数のコンピュータシステムを含み、単一型もしくは分散型であり、複数の位置にまたがり、複数の機械にまたがり、および/または1つまたは複数のネットワークにおける1つまたは複数のクラウドコンポーネントを含み得るクラウド内に常駐し得る。適切な場合には、1つまたは複数のコンピュータシステムは、実質的に空間的な制限も時間的な制限もなしに、本明細書で説明または例示される1つまたは複数の方法の1つまたは複数のステップを実行し得る。限定ではなく例として、1つまたは複数のコンピュータシステムは、イベントが発生するときに、または複数のイベントを集約するバッチモードで、例えば、本明細書で説明または例示される1つまたは複数の方法の1つまたは複数のステップにわたって実行し得る。1つまたは複数のコンピュータシステムは、適切な場合には、本明細書で説明または例示される1つまたは複数の方法の1つまたは複数のステップを異なる時間にまたは異なるロケーションで実行し得る。
【0132】
[00144]プロセッサは、例えば、Intel Pentium(登録商標)マイクロプロセッサまたはMotorola power PCマイクロプロセッサなどの従来のマイクロプロセッサであり得る。当業者は、「機械可読(記憶)媒体」または「コンピュータ可読(記憶)媒体」という用語が、プロセッサによってアクセス可能な任意のタイプのデバイスを含むことを認識するであろう。
【0133】
[00145]メモリは、例えばバスによってプロセッサに結合され得る。メモリは、限定ではなく例として、ダイナミックRAM(DRAM)およびスタティックRAM(SRAM)などのランダムアクセスメモリ(RAM)を含むことができる。メモリは、ローカル、リモート、または分散型であり得る。
【0134】
[00146]バスはまた、プロセッサを不揮発性メモリおよびドライブユニットに結合することができる。不揮発性メモリは、多くの場合、磁気フロッピー(登録商標)またはハードディスク、光磁気ディスク、光ディスク、CD-ROM、EPROM、もしくはEEPROM(登録商標)などの読取り専用メモリ(ROM)、磁気もしくは光カード、または大量のデータのための別の形態のストレージである。このデータの一部は、多くの場合、コンピュータでソフトウェアを実行中に、ダイレクトメモリアクセスプロセスによってメモリに書き込まれる。不揮発性ストレージは、ローカル、リモート、または分散型であり得る。システムは、メモリ内で利用可能なすべての適用可能なデータを用いて作成可能であるため、不揮発性メモリはオプションである。典型的なコンピュータシステムは、通常、少なくともプロセッサ、メモリ、およびメモリをプロセッサに結合するデバイス(例えば、バス)を含む。
【0135】
[00147]ソフトウェアは、不揮発性メモリおよび/またはドライブユニットに記憶され得る。実際、大きなプログラムでは、プログラム全体をメモリに記憶することさえできない。それにもかかわらず、ソフトウェアを実行するために、必要に応じて、それが、処理に適したコンピュータ可読位置に移動され、例示の目的で、その位置は、本明細書ではメモリと呼ばれることは理解されるべきである。ソフトウェアが実行のためにメモリに移動される場合であっても、プロセッサは、ソフトウェアに関連付けられた値を記憶するためのハードウェアレジスタと、理想的には実行を高速化する働きをするローカルキャッシュとを利用することができる。本明細書で使用される場合、ソフトウェアプログラムは、ソフトウェアプログラムが「コンピュータ可読媒体に実装される」として見なされるとき、(不揮発性ストレージからハードウェアレジスタに)任意の既知のまたは便利な位置に記憶されると仮定される。プロセッサは、プログラムに関連付けられた少なくとも1つの値がプロセッサによって読取り可能なレジスタに記憶されているとき、「プログラムを実行するように構成されている」と見なされる。
【0136】
[00148]バスはまた、プロセッサをネットワークインターフェースデバイスに結合することができる。インターフェースは、モデムまたはネットワークインターフェースのうちの1つまたは複数を含むことができる。モデムまたはネットワークインターフェースは、コンピュータシステムの一部であると見なされることができることが理解されるであろう。インターフェースは、アナログモデム、統合サービスデジタルネットワーク(ISDN(登録商標))モデム、ケーブルモデム、トークンリングインターフェース、衛星伝送インターフェース(例えば、「ダイレクトPC」)、またはコンピュータシステムを他のコンピュータシステムに結合するための他のインターフェースを含むことができる。インターフェースは、1つまたは複数の入力および/または出力(I/O)デバイスを含むことができる。I/Oデバイスは、限定ではなく例として、キーボード、マウスまたは他のポインティングデバイス、ディスクドライブ、プリンタ、スキャナ、ならびにディスプレイデバイスを含む他の入力および/または出力デバイスを含むことができる。ディスプレイデバイスは、限定ではなく例として、陰極線管(CRT)、液晶ディスプレイ(LCD)、または何らかの他の適用可能な既知のまたは便利なディスプレイデバイスを含むことができる。
【0137】
[00149]動作中、コンピュータシステムは、ディスクオペレーティングシステムなどのファイルルーティングシステムを含むオペレーティングシステムソフトウェアによって制御され得る。関連するファイルルーティングシステムソフトウェアを有するオペレーティングシステムソフトウェアの一例は、ワシントン州レドモンドのマイクロソフト社のWindows(登録商標)として知られるオペレーティングシステムのファミリーおよびそれらの関連するファイルルーティングシステムである。関連するファイルルーティングシステムソフトウェアを有するオペレーティングシステムソフトウェアの別の例は、Linux(登録商標)オペレーティングシステムおよびその関連するファイルルーティングシステムである。ファイルルーティングシステムは、不揮発性メモリおよび/またはドライブユニットに記憶され得、プロセッサに、不揮発性メモリおよび/またはドライブユニット上にファイルを記憶することを含む、データを入力および出力し、メモリにデータを記憶するためにオペレーティングシステムが関与している様々な動作を実行させることができる。
【0138】
[00150]詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対する動作のアルゴリズムおよび記号表現に関して提示され得る。これらのアルゴリズム的記述および表現は、データ処理技術分野の当業者によって、彼らの作業の内容を他の当業者に最も効果的に伝えるために使用される手段である。アルゴリズムは、本明細書では、一般に、所望の結果をもたらす首尾一貫した一連の動作であると考えられる。動作は、物理量の物理的操作を必要とするものである。通常、必須ではないが、これらの量は、記憶、転送、組合せ、比較、およびその他の操作が可能な電気信号または磁気信号の形態をとる。主に共通使用を理由に、これらの信号を、ビット、値、要素、シンボル、文字、用語、数などで呼ぶことが、時には便利であることが分かっている。
【0139】
[00151]しかしながら、これらの用語および同様の用語はすべて、適切な物理量に関連付けられるべきであり、これらの量に適用される便利なラベルにすぎないことに留意されたい。以下の考察から明らかなように、別段の記載がない限り、説明全体を通して、「処理する(processing)」または「計算する(computing)」または「計算する(calculating)」または「決定する(determining)」または「表示する(displaying)」または「生成する(generating)」などの用語を利用した考察は、コンピュータシステムのレジスタおよびメモリ内の物理(電子)量として表されるデータを操作し、コンピュータシステムのメモリもしくはレジスタまたは他のそのような情報ストレージデバイス、伝送デバイスもしくはディスプレイデバイス内の物理量として同様に表される他のデータに変換するコンピュータシステムまたは同様の電子コンピューティングデバイスのアクションおよびプロセスを指すことが理解される。
【0140】
[00152]本明細書に提示されるアルゴリズムおよびディスプレイは、任意の特定のコンピュータまたは他の装置に本質的に関連するものではない。様々な汎用システムが、本明細書の教示にしたがってプログラムとともに使用され得るか、またはいくつかの例の方法を実行するためにより特化した装置を構築することが便利であることが分かり得る。様々なこれらのシステムに関連する構造は、以下の説明から明らかになるであろう。加えて、本技法は、任意の特定のプログラミング言語を参照して説明されているわけではなく、したがって、様々な例は、様々なプログラミング言語を使用して実装され得る。
【0141】
[00153]様々な実装形態では、システムは、スタンドアロンデバイスとして動作するか、または他のシステムに接続(例えば、ネットワーク接続)され得る。ネットワーク化された展開では、システムは、クライアント-サーバネットワーク環境ではサーバまたはクライアントシステムの資格で、またはピアツーピア(または分散型)ネットワーク環境ではピアシステムとして動作し得る。
【0142】
[00154]システムは、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、ラップトップコンピュータ、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、iPhone(登録商標)、Blackberry、プロセッサ、電話、ウェブアプライアンス、ネットワークルータ、スイッチもしくはブリッジ、またはそのシステムによって行われるべきアクションを指定する(順次的なまたはその他の)命令のセットを実行することができる任意のシステムであり得る。
【0143】
[00155]一般に、本開示の実装形態を実装するために実行されるルーチンは、「コンピュータプログラム」と呼ばれるオペレーティングシステムまたはアプリケーション、コンポーネント、プログラム、オブジェクト、モジュールまたは命令のシーケンスの一部として実装され得る。コンピュータプログラムは、典型的には、コンピュータ内の様々なメモリおよびストレージデバイス中に様々な時間に設定された1つまたは複数の命令を含み、それらの命令は、コンピュータ内の1つまたは複数の処理ユニットまたはプロセッサによって読み取られて実行されると、コンピュータに、本開示の様々な態様に関与する要素を実行するための動作を実行させる。
【0144】
[00156]さらに、完全に機能するコンピュータおよびコンピュータシステムの文脈で例を説明してきたが、当業者は、様々な例が様々な形態でプログラムオブジェクトとして分散されることができること、および本開示が、実際に分配を達成するために使用される特定のタイプの機械またはコンピュータ可読媒体にかかわらず等しく適用されることを理解するであろう。
【0145】
[00157]機械可読記憶媒体、機械可読媒体、またはコンピュータ可読(記憶)媒体のさらなる例には、とりわけ、揮発性および不揮発性メモリデバイス、フロッピーおよび他のリムーバブルディスク、ハードディスクドライブ、光ディスク(例えば、コンパクトディスク読取り専用メモリ(CD ROM)、デジタル多用途ディスク(DVD)など)などの記録可能タイプの媒体と、デジタルおよびアナログ通信リンクなどの送信タイプの媒体とが含まれるがこれらに限定されない。
【0146】
[00158]いくつかの状況では、バイナリ1からバイナリ0へのまたはその逆の状態の変化などのメモリデバイスの動作は、例えば、物理的変換などの変換を含み得る。特定のタイプのメモリデバイスでは、そのような物理的変換は、異なる状態または物への物品の物理的変換を含み得る。例えば、限定しないが、いくつかのタイプのメモリデバイスでは、状態の変化は、電荷の蓄積および貯蔵、または貯蔵された電荷の放出を伴い得る。同様に、他のメモリデバイスでは、状態の変化は、磁気配向の物理的変化もしくは変換、または、例えば、結晶から非結晶質へももしくはその逆の分子構造の物理的変化もしくは変換を含み得る。前述は、メモリデバイスにおけるバイナリ1からバイナリ0へのまたはその逆の状態の変化が、物理的変換などの変換を含み得るすべての例の網羅的なリストであることを意図していない。むしろ、前述は、例示的な例として意図されている。
【0147】
[00159]記憶媒体は典型的には、非一時的であり得るか、または非一時的なデバイスを含み得る。この文脈では、非一時的な記憶媒体は、有形であるデバイスを含み得、これは、デバイスはその物理的状態を変化させ得るが、デバイスが、実体がある物理的形態を有することを意味する。したがって、例えば、非一時的とは、状態のこの変化にもかかわらず有形のままであるデバイスを指す。
【0148】
[00160]上記の説明および図面は例示的なものであり、開示された厳密な形態に主題を限定するものとして解釈されるべきではない。当業者は、上記の開示に照らして多くの修正および変形が可能であることを理解することができる。本開示の完全な理解を提供するために、多数の詳細が説明される。しかしながら、特定の事例では、説明を曖昧にしないために、周知または従来の詳細は説明されない。
【0149】
[00161]本明細書で使用される場合、「接続された(connected)」、「結合された(coupled)」という用語、またはそれらの任意の変形は、システムのモジュールに適用されるとき、2つ以上の要素間の直接的または間接的のいずれかの任意の接続または結合を意味し、要素間の接続の結合は、物理的、論理的、またはそれらの任意の組合せであり得る。追加的に、「本明細書において(herein)」、「上記の/上の(above)」、「以下に(below)」という単語、および同様の意味の単語は、本出願において使用される場合、本出願の任意の特定の部分ではなく、本出願全体を指すものとする。文脈が許す場合、単数または複数を使用した上記の発明を実施するための形態における単語はまた、それぞれ複数または単数を含み得る。2つ以上の項目のリストに関して、「または」という単語は、その単語の以下の解釈のすべてをカバーする:リスト中の項目のいずれか、リスト中の項目のすべて、またはリスト中の項目の任意の組合せ。
【0150】
[00162]当業者は、開示された主題が、以下に示されていない他の形態および方法で具現化され得ることを理解するであろう。第1、第2、上部、および下部などの関係を表す用語(relational term)の使用は、もしあれば、1つのエンティティまたはアクションを、そのようなエンティティまたはアクション間のそのようなあらゆる実際の関係または順序を必ずしも要求したり意味したりすることなく、別のエンティティまたはアクションと区別するためだけに使用されることが理解される。
【0151】
[00163]プロセスまたはブロックは所与の順序で提示されているが、代替的な実装形態は、異なる順序で、ステップを有するルーチンを実行するか、またはブロックを有するシステムを採用し得、いくつかのプロセスまたはブロックは、代替的なまたは部分的な組合せを提供するために、削除、移動、追加、細分、置き換え、組み合わせ、および/または修正され得る。これらのプロセスまたはブロックの各々は、様々な異なる方法で実装され得る。また、プロセスまたはブロックは、時々、連続して実行されるものとして示されているが、これらのプロセスまたはブロックは、代わりに、並行して実行され得るか、または異なる時間に実行され得る。さらに、本明細書に示される任意の数は単なる例であり、代替的な実装形態は、異なる値または範囲を採用し得る。
【0152】
[00164]本明細書で提供される本開示の教示は、必ずしも上で説明したシステムではなく、他のシステムに適用され得る。上で説明した様々な例の要素および動作は、さらなる例を提供するために組み合わせられ得る。
【0153】
[00165]添付の出願書類に列挙され得る任意のものを含めて、上述の任意の特許および出願ならびに他の参考文献は、参照により本明細書に組み込まれる。本開示の態様は、必要に応じて、本開示のさらなる例を提供するために、上で説明した様々な参考文献のシステム、機能、および概念を採用するように修正され得る。
【0154】
[00166]上記の発明を実施するための形態に照らして、本開示に対してこれらおよび他の変更を行うことができる。上の説明は、特定の例を説明し、企図される最良の形態を説明するが、上記がテキストでどれだけ詳細に表示されていても、多くの方法で本教示を実施することができる。システムの詳細は、本明細書に開示される主題によって依然として包含されつつも、その実装形態の詳細が大幅に異なり得る。上述のように、本開示の特定の特徴または態様を説明するときに使用される特定の専門用語は、その専門用語が、その専門用語が関連する本開示の任意の特性、特徴、または態様に限定されるように本明細書で再定義されていることを意味すると受け取られるべきではない。一般に、以下の特許請求の範囲で使用される用語は、上記の発明を実施するための形態のセクションでそのような用語が明示的に定義されていない限り、本明細書で開示された実装形態に本開示を限定するものと解釈されるべきではない。したがって、本開示の実際の範囲は、開示された実装形態だけでなく、特許請求の範囲の下で本開示を実施または実装するすべての同等の方法も包含する。
【0155】
[00167]本開示の特定の態様が特定の請求項の形態で以下に提示されるが、本発明者らは、任意の数の請求項の形態で本開示の様々な態様を企図する。米国特許法第132条(f)の下で取り扱われることが意図される請求項は、「~のための手段(means for)」という単語から始まる。したがって、出願人は、本開示の他の態様のためにそのような追加の請求項の形態を追求するために、出願後に追加の請求項を追加する権利を留保する。
【0156】
[00168]本明細書で使用される用語は、一般に、本開示の文脈内でおよび各用語が使用される文脈において、当技術分野におけるそれらの通常の意味を有する。本開示を説明するために使用される特定の用語は、本開示の説明に関して実施者にさらなる指針を提供するために、上でまたは本明細書中の他の箇所で述べられる。便宜上、特定の用語は、例えば、大文字、斜体、および/または引用符を使用して強調表示され得る。強調表示の使用は、用語の範囲および意味に影響を及ぼさない。用語の範囲および意味は、強調表示されているか否かにかかわらず、同じ文脈では同じである。同じ要素を2つ以上の方法で説明することができることが理解されるであろう。
【0157】
[00169]その結果として、代替的な言語および同義語は、本明細書で述べた用語のうちの任意の1つまたは複数に使用され得、用語が本明細書で詳述されたり述べられたりするか否かについては特別な重要性はない。特定の用語の同義語が提供される。1つまたは複数の同義語の記載は、他の同義語の使用を排除するものではない。本明細書で述べた任意の用語の例を含む、本明細書での例の使用は、例示的なものにすぎず、本開示または任意の例示される用語の範囲および意味をさらに限定することは意図されていない。同様に、本開示は、本明細書で示される様々な例に限定されない。
【0158】
[00170]本開示の範囲をさらに限定することを意図するものではないが、本開示の例による機器、装置、方法、およびそれらの関連する結果の例を以下に示す。読者の便宜上、タイトルまたはサブタイトルが例において使用され得るが、これは決して本開示の範囲を限定するものではないことに留意されたい。別途定義されていない限り、本明細書で使用されるすべての技術用語および科学用語は、本開示が属する分野の当業者によって一般的に理解される意味と同じ意味を有する。矛盾する場合には、定義を含めて本書が優先する。
【0159】
[00171]本明細書のいくつかの部分は、情報に対する動作のアルゴリズムおよび記号表現に関して例を説明する。これらのアルゴリズム的記述および表現は、データ処理技術分野の当業者によって、彼らの作業の本質を他の当業者に効果的に伝えるために一般に使用される。これらの動作は、機能的、計算的、または論理的に説明されているが、コンピュータプログラムまたは同等の電気回路、マイクロコードなどによって実装されることが理解される。さらに、これらの動作の配置をモジュールと呼ぶことは、一般性を喪失することなく、時には便利であることも分かっている。説明された動作およびそれらの関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで具現化され得る。
【0160】
[00172]本明細書で説明されるステップ、動作、またはプロセスのいずれもが、単独でまたは他のデバイスと組み合わせて、1つまたは複数のハードウェアまたはソフトウェアモジュールを用いて実行または実装され得る。いくつかの例では、ソフトウェアモジュールは、説明されたステップ、動作、またはプロセスのいずれかまたはすべてを実行するためにコンピュータプロセッサによって実行され得るコンピュータプログラムコードを含んでいるコンピュータ可読媒体を含むコンピュータプログラムオブジェクトを用いて実装される。
【0161】
[00173]例はまた、本明細書の動作を実行するための装置に関し得る。この装置は、関連する目的のために特別に構築され得、および/またはコンピュータに記憶されたコンピュータプログラムによって選択的に起動または再構成された汎用コンピューティングデバイスを含み得る。そのようなコンピュータプログラムは、コンピュータシステムバスに結合され得る、非一時的な有形のコンピュータ可読記憶媒体、または電子命令を記憶するのに適した任意のタイプの媒体に記憶され得る。さらに、本明細書で言及される任意のコンピューティングシステムは、単一のプロセッサを含み得るか、またはコンピューティング能力を高めるために複数のプロセッサ設計を採用するアーキテクチャであり得る。
【0162】
[00174]例はまた、本明細書で説明されるコンピューティングプロセスによって生成されるオブジェクトに関し得る。そのようなオブジェクトは、コンピューティングプロセスの結果得られる情報を含み得、ここで、情報は、非一時的な有形のコンピュータ可読記憶媒体上に記憶され、コンピュータプログラムオブジェクトまたは本明細書で説明される他のデータ組合せの任意の実装形態を含み得る。
【0163】
[00175]本明細書で使用される言語は、主に、読みやすさおよび教示の目的で選択されており、主題を描写または制限するために選択されてはいないであろう。したがって、本開示の範囲は、この詳細な説明によってではなく、本明細書に基づく出願に関して発行される任意の請求項によって限定されることが意図される。したがって、例の開示は、以下の請求項に記載されている主題の範囲を例示するものであり、限定するものではないことが意図される。
【0164】
[00176]コンテキスト接続システムのためのシステムおよびコンポーネントの様々な実装形態の完全な理解を提供するために、先の説明で詳細が示された。しかしながら、上で説明した実装形態がこれらの詳細なしに実施され得ることは当業者によって理解されよう。例えば、回路、システム、ネットワーク、プロセス、および他のコンポーネントは、不必要な詳細で例を曖昧にしないために、ブロック図の形態のコンポーネントとして示され得る。他の事例では、これらの例を曖昧にしないために、周知の回路、プロセス、アルゴリズム、構造、および技法は、不要な詳細なしで示され得る。
【0165】
[00177]個々の実装形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として図示されるプロセスとして説明され得ることにも留意されたい。フローチャートは、動作を順次プロセスとして説明し得るが、これらの動作の多くは、並行してまたは同時に実行され得る。加えて、動作の順序は並べ換えられ得る。プロセスは、その動作が完了したときに終了するが、含まれない追加のステップを有することができる。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応する場合、その終了は、その関数が呼び出し関数またはmain関数に戻ることに対応する。
【0166】
[00178]クライアントデバイス、ネットワークデバイス、および他のデバイスは、とりわけ、1つまたは複数の集積回路、入力デバイス、出力デバイス、データストレージデバイス、および/またはネットワークインターフェースを含むコンピューティングシステムであり得る。集積回路は、例えば、とりわけ、1つまたは複数のプロセッサ、揮発性メモリ、および/または不揮発性メモリを含むことができる。入力デバイスは、例えば、キーボード、マウス、キーパッド、タッチインターフェース、マイクロフォン、カメラ、および/または他のタイプの入力デバイスを含むことができる。出力デバイスは、例えば、ディスプレイスクリーン、スピーカ、触覚フィードバックシステム、プリンタ、および/または他のタイプの出力デバイスを含むことができる。ハードドライブまたはフラッシュメモリなどのデータストレージデバイスにより、コンピューティングデバイスは、一時的または永久的にデータを記憶することができる。ワイヤレスまたはワイヤードインターフェースなどのネットワークインターフェースにより、コンピューティングデバイスはネットワークと通信することができる。コンピューティングデバイスの例には、デスクトップコンピュータ、ラップトップコンピュータ、サーバコンピュータ、ハンドヘルドコンピュータ、タブレット、スマートフォン、携帯情報端末、デジタルホームアシスタント、ならびにコンピューティングデバイスが組み込まれている機械および装置が含まれる。
【0167】
[00179]「コンピュータ可読媒体」という用語は、ポータブルまたは非ポータブルストレージデバイス、光ストレージデバイス、ならびに命令(複数可)および/またはデータを記憶、包含、または搬送する能力がある様々な他の媒体を含むがこれらに限定されない。コンピュータ可読媒体には、データを記憶することができ、ワイヤレスにまたはワイヤード接続を介して伝搬する搬送波および/または一時的電子信号を含まない非一時的な媒体が含まれ得る。非一時的な媒体の例には、磁気ディスクまたはテープ、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD)などの光記憶媒体、フラッシュメモリ、メモリ、またはメモリデバイスが含まれ得るがこれらに限定されない。コンピュータ可読媒体は、それ上に、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラムステートメントの任意の組合せを表し得るコードおよび/または機械実行可能命令を記憶しているであろう。コードセグメントは、情報、データ、引数、パラメータ、またはメモリコンテンツを渡すおよび/または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む任意の好適な手段を介して渡されるか、転送されるか、または送信され得る。
【0168】
[00180]上述した様々な例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによってさらに実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、必要なタスクを実行するためのプログラムコードまたはコードセグメント(例えば、コンピュータプログラム製品)は、コンピュータ可読または機械可読記憶媒体(例えば、プログラムコードまたはコードセグメントを記憶するための媒体)に記憶され得る。集積回路に実装されたプロセッサ(複数可)は、必要なタスクを実行することができる。
【0169】
[00181]プログラムコードは、1つまたは複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の同等の集積もしくはディスクリート論理回路などの1つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明される技法のいずれかを実行するように構成され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、例えば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。したがって、本明細書で使用される場合、「プロセッサ」という用語は、前述の構造のいずれか、前述の構造の任意の組合せ、または本明細書で説明される技法の実装に適した任意の他の構造もしくは装置を指し得る。加えて、いくつかの態様では、本明細書で説明される機能性は、中断されたデータベース更新システムを実装するために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内で提供され得る。
【0170】
[00182]コンポーネントが特定の動作を実行するように「構成される」と説明される場合、そのような構成は、例えば、動作を実行するように電子回路または他のハードウェアを設計することによって、動作を実行するようにプログラマブル電子回路(例えば、マイクロプロセッサ、もしくは他の好適な電子回路)をプログラムすることによって、またはそれらの任意の組合せによって達成され得る。
【0171】
[00183]本明細書で開示される実装形態に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの組合せとして実装され得る。このハードウェアとソフトウェアとの互換性を明確に例示するために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、概してそれらの機能性に関して上で説明されている。このような機能性がハードウェアとして実装されるかソフトウェアとして実装されるかは、特定の用途とシステム全体に課せられる設計制約とに依存する。当業者は、説明された機能性を特定の用途ごとに様々な方法で実装し得るが、このような実装の決定は、本開示の範囲からの逸脱をさせるものとして解釈されるべきでない。
【0172】
[00184]本技術の前述の詳細な説明は、例示および説明の目的で提示されている。網羅的であることも、本技術を開示された厳密な形態に限定することも意図されていない。上記の教示に照らして、多くの修正および変形が可能である。説明された例は、本技術の原理、その実際の適用を最もよく説明するために、および他の当業者が、様々な例において、企図される特定の使用に適するように様々な修正を伴って、本技術を利用することができるようにするために選択されたものである。本技術の範囲は、請求項によって定義されることが意図される。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
通信を受信することと、ここにおいて、前記通信は、1つまたは複数の単語を含み、前記通信に関連付けられたデバイスは、アクションを含む1つまたは複数のアクションに関連付けられる、
前記デバイスに関連付けられた前記アクションに対応する1つまたは複数の主要語を特定するために前記通信を自動的に構文解析することと、
前記1つまたは複数の主要語に関連付けられたインテントを特定することと、ここにおいて、前記インテントは、前記アクションを定義する、
前記インテントのアノテーションを容易にすることと、ここにおいて、アノテーションは、前記通信と前記インテントとの間の関連付けの品質を定義する、
前記関連付けの前記品質に基づいて前記インテントについてのメトリックを計算することと、
前記インテントおよび前記メトリックの表示を容易にすることと
を含むコンピュータ実装方法。
[C2]
前記通信は、自然言語で行われる、C1に記載のコンピュータ実装方法。
[C3]
前記1つまたは複数の主要語は、前記1つまたは複数の主要語をデータベース内の1つまたは複数の既知の主要語と比較することによって特定される、C1に記載のコンピュータ実装方法。
[C4]
前記1つまたは複数の主要語に関連付けられた前記インテントは、データベース内の記憶された関連付けを通して特定される、C1に記載のコンピュータ実装方法。
[C5]
前記インテントおよび前記メトリックに基づいて1つまたは複数のエージェントプロファイルを取り出すことをさらに含み、前記1つまたは複数のエージェントプロファイルは、各々、エージェントおよび端末デバイスに関連付けられる、
C1に記載のコンピュータ実装方法。
[C6]
前記1つまたは複数のエージェントプロファイルの中からエージェントプロファイルを選択することをさらに含み、前記エージェントプロファイルは、前記インテントおよび前記アノテーションに対する前記エージェントプロファイルの相関に基づいて選択される、C5に記載のコンピュータ実装方法。
[C7]
前記通信をルーティングすることをさらに含む、C6に記載のコンピュータ実装方法。
[C8]
非一時的な機械可読記憶媒体に有形に具現化されたコンピュータプログラム製品であって、前記非一時的な機械可読記憶媒体は、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
デバイスから通信を受信することと、ここにおいて、前記通信は、1つまたは複数の単語を含み、前記デバイスは、アクションを含む1つまたは複数のアクションに関連付けられる、
前記デバイスに関連付けられた前記アクションに対応する1つまたは複数の主要語を特定するために前記通信を自動的に構文解析することと、
前記1つまたは複数の主要語に関連付けられたインテントを特定することと、ここにおいて、前記インテントは、前記アクションを定義する、
前記インテントのアノテーションを容易にすることと、ここにおいて、アノテーションは、前記通信と前記インテントとの間の関連付けの品質を定義する、
前記関連付けの前記品質に基づいて前記インテントについてのメトリックを計算することと、
前記インテントおよび前記メトリックの表示を容易にすることと
を含む動作を実行させる命令を含む、コンピュータプログラム製品。
[C9]
前記通信は、自然言語で行われる、C8に記載のコンピュータプログラム製品。
[C10]
前記1つまたは複数の主要語は、前記1つまたは複数の主要語をデータベース内の1つまたは複数の既知の主要語と比較することによって特定される、C8に記載のコンピュータプログラム製品。
[C11]
前記1つまたは複数の主要語に関連付けられた前記インテントは、データベース内の記憶された関連付けを通して特定される、C8に記載のコンピュータプログラム製品。
[C12]
前記動作は、前記インテントおよび前記メトリックに基づいて1つまたは複数のエージェントプロファイルを取り出すことをさらに含み、前記1つまたは複数のエージェントプロファイルは、各々、エージェントおよび端末デバイスに関連付けられる、C8に記載のコンピュータプログラム製品。
[C13]
前記動作は、前記1つまたは複数のエージェントプロファイルの中からエージェントプロファイルを選択することをさらに含み、前記エージェントプロファイルは、前記インテントおよび前記アノテーションに対する前記エージェントプロファイルの相関に基づいて選択される、C12に記載のコンピュータプログラム製品。
[C14]
前記動作は、前記通信をルーティングすることをさらに含む、
C13に記載のコンピュータプログラム製品。
[C15]
システムであって、
1つまたは複数のプロセッサと、
1つまたは複数の非一時的な機械可読記憶媒体と
を備え、前記1つまたは複数の非一時的な機械可読記憶媒体は、前記1つまたは複数のプロセッサ上で実行されると、前記1つまたは複数のプロセッサに、
デバイスから通信を受信することと、ここにおいて、前記通信は、1つまたは複数の単語を含み、前記デバイスは、アクションを含む1つまたは複数のアクションに関連付けられる、
前記デバイスに関連付けられた前記アクションに対応する1つまたは複数の主要語を特定するために前記通信を自動的に構文解析することと、
前記1つまたは複数の主要語に関連付けられたインテントを特定することと、ここにおいて、前記インテントは、前記アクションを定義する、
前記インテントのアノテーションを容易にすることと、ここにおいて、アノテーションは、前記通信と前記インテントとの間の関連付けの品質を定義する、
前記関連付けの前記品質に基づいて前記インテントについてのメトリックを計算することと、
前記インテントおよび前記メトリックの表示を容易にすることと
を含む動作を行わせる、システム。
[C16]
前記通信は、自然言語で行われるC15に記載のシステム。
[C17]
前記1つまたは複数の主要語は、前記1つまたは複数の主要語をデータベース内の1つまたは複数の既知の主要語と比較することによって特定される、C15に記載のシステム。
[C18]
前記1つまたは複数の主要語に関連付けられた前記インテントは、データベース内の記憶された関連付けを通して特定される、C15に記載のシステム。
[C19]
前記動作は、前記インテントおよび前記メトリックに基づいて1つまたは複数のエージェントプロファイルを取り出すことをさらに含み、前記1つまたは複数のエージェントプロファイルは、各々、エージェントおよび端末デバイスに関連付けられる、C15に記載のシステム。
[C20]
前記動作は、前記1つまたは複数のエージェントプロファイルの中からエージェントプロファイルを選択することをさらに含み、前記エージェントプロファイルは、前記インテントおよび前記アノテーションに対する前記エージェントプロファイルの相関に基づいて選択される、C19に記載のシステム。