本開示は、コンタクトセンタのテキストベースの通信の自動化を配備する際の有効性及び効率の改善を対象とする。「チャットボット」として通常知られているテキストベースの自動通信プロトコルの配備及び統合は、コンタクトセンタにおいてテキストベースのリアルタイム通信を提供するためのエージェントの必要性を最小限に抑えるか、又は完全になくすよう試みられている。チャットボットは、コンタクトセンタからのテキストベースのアウトバウンド通信を再現するように試みる任意の数の自動化技術(例えば、自然言語処理、機械学習、及び人工知能など)を配備するシステムを利用することができる。しかし、チャットボットを配備するために使用される人工技術が発達し続けているため、チャットボットは、ヒューマンインタラクションの不気味の谷に関する問題を呈する。チャットボットダイアログは、本物の人間との会話にほぼ似ているものの、正確には異なるため、人間のダイアログに類似しているが、観察者において薄気味悪く、又は妙に見覚えがあるような感覚、不気味な感じ及び嫌悪感を誘発する。テキストベースの通信におけるヒューマンインタラクションを期待するコンタクトセンタの顧客が、チャットボットからの応答があまり人間に似ていないときにインタラクションの不安を認める場合、テキストベースの通信を使用することを回避又は中止する場合がある。したがって、コンタクトセンタにおける全てのテキストベースのリアルタイム通信をチャットボットに置き換えることは所望されず、むしろ生きたエージェントと連携して作業するチャットボットの自動化をハイブリッド形成することが所望され得る。
プリライトされた標準化されたテキスト応答は、コンタクトセンタから発信される通信の自動化の例である。コンタクトセンタの配備は、コンタクトセンタの顧客が提示し得る典型的なステートメント及び質問に応答するコンタクトセンタのエージェントによって提供される標準化されたテキスト応答の構成可能なデータベースを含んでもよい。これらの標準化されたテキスト応答は、電子メール又はチャットメッセージなどの、エージェントからコンタクトセンタの顧客への、任意のアウトバウンドインタラクションへの返信として使用することができ、又は標準化されたテキスト応答は、電話インタラクション中に顧客に対してエージェントによって読まれてもよい。標準化されたテキスト応答の例としては、コンタクトセンタの顧客によって提示される「営業時間はいつですか」という予期された質問に応答して、標準化されたテキスト応答によって発言できる「月曜日から金曜日まで、午前8時から午後6時までです」を挙げることができる。標準化されたテキスト応答は、ステートメント内でプレースホルダをインタラクション属性と置き換えることができる場合がある以外は、標準化されたテキスト応答を利用して、標準化されたテキスト応答の内容を変更する能力がほとんどない静的テキストとして配備されてもよい。コンタクトセンタのエージェントは、顧客からのテキストベースのインバウンド通信をレビューし、標準化されたテキスト応答を使用して、それぞれの顧客と通信することができる。しかしながら、エージェントは、顧客との会話を続行するために、標準化されたテキスト応答が要求する情報を順番に手動で受信し、応答する必要があり得る。
本開示は、コンタクトセンタのテキストベースの通信システム内に配備された標準化されたテキスト会話の生成を通じて、標準化されたテキスト応答を構築する。標準化されたテキスト会話は、エージェントによって配備されるように、チャットボットがエージェントの代わりに顧客と同席することができるコンタクトセンタにおける短いテキストベースのリアルタイムの会話を含む。標準化されたテキスト会話は、標準化されたテキスト応答と同様の方法で配備することができる。開示される実施形態では、コンタクトセンタのエージェントは、顧客から情報の特異的集合を収集するために、顧客から受信中の会話に応じて標準化されたテキスト会話を選択することができる。エージェントの代わりに情報を収集及び処理する共通の質問又はワークフローは、標準化されたテキスト会話を通じて実行することができる。標準化されたテキスト会話の例として、コンタクトセンタのチャット機構を利用する顧客が、自身の請求書の確認を求めることが考えられる。それに応じて、エージェントは、標準化されたテキスト会話を使用して、顧客の名前、誕生日、及びその顧客の社会保障番号の最後の4桁などの、このエージェントが請求書を取得するために必要な情報を獲得することができる。標準化されたテキスト会話を使用することにより、システムに顧客情報を収集させることによってコンタクトセンタの効率が向上し、これにより、他のインタラクションを処理するためのエージェントに許容される時間が長くなる一方で、エージェントは、顧客との会話の管理をある程度維持することができる。人間であるエージェント及び自動チャットボットのハイブリッド化によって、テキストベースの通信システムをサポートする際に、人間とコンピュータ資源を最適化することができる。
図1は、開示された実施形態による、コンタクトセンタシステム100の一実施形態のブロック図である。いくつかの実施形態では、コンタクトセンタシステム100は、自動チャットロボットと人間であるユーザとの間の会話に関与及び管理するためのシステムとして動作することができる(以下、チャット自動化システム102と称される)。チャット自動化システム102は、企業を通じて利用可能な製品及びサービスに関連する販売及びサービスの機能を実行するにあたり、企業にサービスを提供するためのビジネス又は企業104に対する社内施設であってもよい。別の態様では、コンタクトセンタシステム100は、サードパーティサービスプロバイダによって運用されてもよい。別の実施形態によれば、コンタクトセンタシステム100は、コンタクトセンタシステム100のいくつかの構成要素が、コンタクトセンタ構内でホストされ、他の構成要素がリモートホスト(例えば、クラウドベースの環境で)されるハイブリッドシステムとして運用されてもよい。コンタクトセンタシステム100は、企業又はサードパーティサービスプロバイダ専用の機器内に配備されてもよく、かつ/又は、例えば、複数の企業向けの複数のコンタクトセンタをサポートするためのインフラストラクチャを備えたプライベート又はパブリッククラウド環境などのリモートコンピューティング環境に配備されてもよい。コンタクトセンタの各種構成要素はまた、様々な地理的位置及びコンピューティング環境にわたって分散されてもよく、必ずしも単一の場所、コンピューティング環境、又は更にはコンピューティングデバイスに含まれていなくてもよい。
例示的な一実施形態によれば、コンタクトセンタシステム100は、電話又は他の通信機構を介したサービスの提供を可能にするためのリソース(例えば、作業者、コンピュータ、及び電気通信機器)を含む。このようなサービスは、コンタクトセンタの種類に応じて多様であってもよく、顧客サービスから、ヘルプデスク、緊急応答、テレマーケティング、受注などに及ぶ。
顧客、潜在的顧客、若しくは他のエンドユーザ(顧客又はエンドユーザと総称される、例えば、エンドユーザ106a~106c、エンドユーザ106と総称される)は、コンタクトセンタシステム100からサービスを受けることを望むものであり、又はビジネス104は、エンドユーザデバイス108a~108c(電子デバイス108と総称される)を介して、コンタクトセンタシステム100へのインバウンド通信を開始することができる。
電子デバイス108の各々は、例えば、電話、無線電話、スマートフォン、パーソナルコンピュータ、電子タブレットなど、他の電子デバイスとのテキストベース(例えば、チャット)通信に従事するように構成された、当該技術分野における従来の通信デバイスであってもよい。いくつかの実施形態によれば、電子デバイス108を動作させるユーザは、音声チャネルを介してコンタクトセンタシステム100と通信することができ、通信は、エンドユーザ側又はコンタクトセンタ側のいずれかでテキストに変換することができる。次に、テキストはチャットボット(以下により詳細に記載される)に送信されてもよく、チャットボットからの応答は、音声に変換されるか、又はエンドユーザのデバイスにテキストとして配信されてもよい。電子デバイス108を操作するユーザは、電話コール、電子メール、チャット、テキストメッセージ、ウェブブラウジングセッション、及び他のマルチメディアトランザクションを開始し、管理し、応答することができる。
電子デバイス108からのインバウンド通信及び電子デバイス105へのアウトバウンド通信は、使用されているデバイスのタイプに応じて、電話、移動体通信、及び/又はデータ通信ネットワーク110をトラバースし得る。例えば、通信ネットワーク110として、プライベート若しくは公衆交換電話網(private or public switched telephone network、PSTN)、ローカルエリアネットワーク(local area network、LAN)、プライベートワイドエリアネットワーク(wide area network、WAN)、及び/又は例えばインターネットなどの公衆広域ネットワークが挙げられ得る。通信ネットワーク110としてはまた、符号分割多元接続(code division multiple access、CDMA)ネットワーク、モバイル通信用グローバルシステム(global system for mobile communication、GSM)ネットワーク、及び/又は当該技術分野における従来の任意の3G若しくは4Gネットワークを含むキャリア無線ネットワークが挙げられ得る。
例示的な一実施形態によれば、チャット自動化システム102は、エンドユーザとチャット自動化システム102との間で電話インタラクションを送受信するための通信ネットワーク110に結合されたスイッチ/メディアゲートウェイ112を含む。スイッチ/メディアゲートウェイ112としては、センタ内のエージェントレベルルーティングのための中央スイッチとして機能するように構成された電話スイッチ又は通信スイッチが挙げられ得る。スイッチは、ハードウェアスイッチングシステム又はソフトウェアを介して実装されるソフトスイッチであってもよい。この点に関して、スイッチ112としては、自動コールディストリビュータ、構内交換機(private branch exchange、PBX)、IPベースのソフトウェアスイッチ、並びに/又は顧客からインターネットソース型インタラクション及び/若しくは電話網ソース型インタラクションを受信し、これらのインタラクションを、例えば、エージェント電話デバイスにルーティングするように構成された専用ハードウェア及びソフトウェアを有する任意の他のスイッチが挙げられ得る。この例では、スイッチ/メディアゲートウェイは、例えば、顧客の電話デバイスとエージェントの電話デバイスとの間の接続を確立することによって、呼び出し元の顧客とエージェントの電話デバイスとの間の音声パス/接続(図示せず)を確立する。
本発明の例示的な一実施形態によれば、スイッチは、例えば、スイッチと、コンタクトセンタのルーティング、監視などの通信処理構成要素のうちのスイッチ以外の部分との間のアダプタ又はインターフェースとして機能し得る通信サーバ118に結合される。
通信サーバ118は、PSTNコール、VoIPコールなどを処理するように構成されてもよい。例えば、通信サーバ118は、スイッチ/メディアゲートウェイ及びコンタクトセンタ機器とインターフェースするためのコンピュータ電話統合(computer-telephony integration、CTI)ソフトウェアが設定されてもよい。一実施形態では、通信サーバ118として、セッション開始プロトコル(session initiation protocol、SIP)コールを処理するためのSIPサーバが挙げられ得る。例示的ないくつかの実施形態によれば、通信サーバ118は、例えば、自動番号識別(automatic number identification、ANI)番号として知られることが多い、発信者の電話番号、又は顧客のインターネットプロトコル(internet protocol、IP)アドレス、若しくは電子メールアドレスなど、顧客とのインタラクションに関するデータを抽出し、そのインタラクションを処理する際に他のCC構成要素と通信してもよい。
本発明の例示的な一実施形態によれば、システムは、自己支援システム、仮想アシスタントなどとも称され得る双方向メディア応答(interactive media response、IMR)サーバ122を更に含む。IMRサーバ122は、IMRサーバ122が音声に制限されないものの、音声を含む多様なメディアチャネルをカバーし得ることを除いて、インタラクティブボイスレスポンス(interactive voice response、IVR)サーバと同様であってもよい。しかし、音声を一例として挙げると、IMRサーバは、顧客にニーズを照会するためのIMRスクリプトが設定されてもよい。例えば、銀行のコンタクトセンタは、顧客が口座残高を入手したい場合は「1を押す」ように、IMRスクリプトを介して顧客に伝えることができる。この場合は、IMRサーバ122との継続的なインタラクションを通じて、顧客は、エージェントとの会話を必要とせずにサービスを完了させることが可能である。IMRサーバ122はまた、例えば、「どのようなご用件でしょうか」などの自由回答式の質問をしてもよく、顧客は、コンタクトセンタに問い合わせる理由を話すか、ないしは別の方法で入力することができる。その後、顧客の応答は、適切なチャット自動化システム102のリソースにコール又は通信をルーティングするため、ルーティングサーバ124によって使用されてもよい。
通信がエージェントにルーティングされる場合、通信サーバ118は、ルーティングサーバ124と相互作用して、インタラクションを処理するための適切なエージェントを見つける。インバウンドインタラクションをルーティングするための適切なエージェントの選択は、例えば、ルーティングサーバ124によって用いられるルーティング戦略に基づいてもよく、例えば統計サーバ132によって提供されるエージェント可用性、スキル、及び他のルーティングパラメータに関する情報に更に基づいてもよい。
いくつかの実施形態では、ルーティングサーバ124は、連絡先情報、サービスレベル契約(service level agreement、SLA)要件、以前の顧客連絡先の種類、及び任意の顧客の問題を解決するためにコンタクトセンタによって取られた行動などの、既存のクライアントに関する情報を記憶する顧客データベースに問い合わせてもよい。データベースは、Oracle、IBM DB2、Microsoft SQLサーバ、Microsoft Access、PostgreSQL、MySQL、FoxPro、NoSQL、SQLiteなどの当該技術分野における従来の任意のデータベース管理システムによって管理されてもよく、大容量ストレージデバイス126に記憶されてもよい。ルーティングサーバ124は、ANI又はIMR122によって収集された任意の他の情報を介して顧客データベースに顧客情報を照会してもよい。
適切なエージェントが、通信を処理するために利用可能であると特定されると、顧客と特定されたエージェントのエージェントデバイス130a~130c(130と総称される)との間の接続がなされ得る。より良い通信サービスを行うようにエージェントを補助するために、顧客及び/又は顧客の履歴情報について収集された情報もまた、エージェントデバイスに提供されてもよい。この点に関して、それぞれのエージェントデバイス130として、定期的な電話コール、VoIPコールなどに適合された電話が挙げられ得る。エージェントデバイス130はまた、コンタクトセンタの1つ以上のサーバと通信し、コンタクトセンタの動作に関連付けられたデータ処理を実行するためのコンピュータ、並びに音声及び他のマルチメディア通信機構を介して顧客と対話するためのコンピュータを含んでもよい。
コンタクトセンタシステムはまた、エンドユーザデバイス108との音声インタラクション以外のメディアインタラクションに従事するためのマルチメディア/ソーシャルメディアサーバ154を含んでもよい。メディアインタラクションは、例えば、電子メール、vメール(電子メールを介したボイスメール)、チャット、ビデオ、テキストメッセージ、ウェブ、ソーシャルメディア、コブラウジングなどに関連し得る。この点に関して、マルチメディア/ソーシャルメディアサーバ154は、マルチメディアイベントを受信、処理、及び転送するための特殊なハードウェア及びソフトウェアを用いた、当該技術分野における従来の任意のIPルータの形態をとってもよい。いくつかの実施形態によれば、マルチメディア/ソーシャルメディアサーバ154は、チャット会話を維持し、チャットログを生成し、チャット通信が完了したか否かを(例えば、タイムアウトに基づいて、又はチャットウィンドウを閉じる顧客によって)決定するように構成されてもよい。更に、マルチメディア/ソーシャルメディアサーバ154は、特定のチャットサーバインスタンスでクラッシュが発生しても、チャットセッションの機能を維持し、また、チャット転送及び会議セッションを処理又は促進するように構成されてもよい。
ウェブサーバ120としては、例えば、Facebook、Twitterなど、例えば、エンドユーザが加入し得る様々な既知の社会交流サイトのための社会交流サイトホストが挙げられ得る。この点に関して、図1の実施形態では、ウェブサーバ120は、チャット自動化システム102の一部として示されているが、ウェブサーバはまた、サードパーティによって提供されてもよく、かつ/又はコンタクトセンタの外側に維持されてもよい。ウェブサーバはまた、コンタクトセンタによってサポートされている企業のウェブページを提供してもよい。エンドユーザは、ウェブページをブラウズし、企業の製品及びサービスに関する情報を取得することができる。ウェブページはまた、例えば、ウェブチャット、ボイスコール、電子メール、ウェブリアルタイム通信(web real time communication、WebRTC)などを介してコンタクトセンタに問い合わせるための機構を提供してもよい。
本発明の例示的な一実施形態によれば、リアルタイムのインタラクションに加えて、延期可能(バックオフィス又はオフラインとも称される)インタラクション/アクティビティもまた、コンタクトセンタのエージェントに転送されてもよい。かかる延期可能なアクティビティとしては、例えば、電子メールに応答すること、レターに応答すること、トレーニングセミナーに参加すること、又は顧客とのリアルタイム通信を必要としない任意の他のアクティビティを挙げることができる。この点に関して、インタラクション(iXn)サーバ156は、アクティビティを処理するのに適切なエージェントを選択するためにルーティングサーバ124と相互作用する。エージェントに割り当てられると、アクティビティはエージェントにプッシュされてもよく、又はエージェントによって完了されるタスクとしてエージェントのワークビン136a~136c(136と総称される)に現れてもよい。エージェントのワークビンは、例えば、リンクされたリスト、アレイなど、当該技術分野における従来の任意のデータ構造を介して実施されてもよい。ワークビン136は、例えば、それぞれのエージェントデバイス130のバッファメモリ内に維持されてもよい。
本発明の例示的な一実施形態によれば、(複数の)大容量ストレージデバイス126は、エージェントデータ(例えば、エージェントプロファイル、スケジュールなど)、顧客データ(例えば、顧客プロファイル)、インタラクションデータ(例えば、インタラクションの理由、処理データ、待ち時間、処理時間などを含む、顧客とのそれぞれのインタラクションの詳細)などに関連する1つ以上のデータベースを格納してもよい。
一実施形態によれば、データ(例えば、顧客プロファイルデータ)の一部は、大容量ストレージデバイス126又は他の場所でホストされる顧客関係管理(customer relations management、CRM)データベース内に保持されてもよい。大容量ストレージデバイスは、コンタクトセンタシステム100及びチャット自動化システム102の一部として使用される情報を記憶するために、当該技術分野における従来のようなハードディスク又はディスクアレイ、フラッシュメモリ、磁気テーブル、又は他の好適な大容量ストレージデバイスの形態をとることができる。
いくつかの実施形態よれば、チャット自動化システム102は、CRMデータベースに格納された情報を取得したり、情報をCRMデータベースに格納されるように方向付けたりするように構成されたユニバーサルコンタクトサーバ(universal contact server、UCS)127を含み得る。例えば、UCS127は、チャット自動化システム100の一部として利用されて、将来のチャット通信のための参考として、所与の顧客のために特定のチャットボット(以下により詳細に記載される)がどのくらいよく機能するかについての履歴を維持することを可能にすることができる。また、UCS127は、チャット通信がアクセプタブルである事例、及び顧客が代替的なメディアチャネルを好む事例などの、メディアチャネルに関する顧客の好みの履歴を維持することを可能にするように構成されてもよい。更に、UCS127は、エージェントからのコメント、顧客の通信履歴などに関するデータを捕捉及び記憶するように構成されてもよい。
チャット自動化システム102は、エンドユーザデバイス108a~108cを操作している顧客とナレッジシステム152との間のインタラクションを促進するためのナレッジ管理サーバ150を更に含んでもよい(ナレッジ管理サーバ150は、チャット自動化システム102の一部として含まれてもよく、又はサードパーティによって遠隔操作されてもよい)。ナレッジ管理サーバ152は、質問を受信し、回答を出力として提供することができるコンピュータシステムである。いくつかの例示的な実施形態によれば、ナレッジシステムは、IBM Watson(登録商標)として具現化され得る。当然ながら、当業者に理解されるように、任意の他のナレッジシステムが使用されてもよい。いくつかの実施形態では、ナレッジシステム152は、当該技術分野でよく知られているように、参考資料としてナレッジシステム152にサブミットされた百科事典、辞書、ニュースワイヤ記事、文学作品、又は他の文書などの情報源から情報を取得することによって、自然言語で提示された質問に答えることができる人工知能コンピュータシステムである。ナレッジ管理サーバの更なる詳細は、その内容が参照により本明細書に組み込まれている、「Controlled Question and Answer Knowledge System Management Confirming Customer Does Not Want to Terminate/Cancel Service/Relationship」と題された2018年1月9日に発行された米国特許第9864952号に提供されている。
チャット自動化システム102は、エンドユーザデバイス108を操作しているエンドユーザ106との自動/電子チャット通信を実行及び管理するためのチャットオーケストレーションサーバ140を更に含んでもよい。いくつかの実施形態によれば、チャットオーケストレーションサーバ140は、様々なチャットボット又はエージェントチャットに実際のチャット会話を送信してもよい。チャットオーケストレーションサーバ140の処理ロジックは、ルール駆動されてもよく、例えば、インテリジェントなワークロード配信プロトコル及びルーティング通信のための様々なビジネスルールを活用してもよい。
更に、チャットオーケストレーションサーバ140は、個々のチャットボットによる自己学習を促進する(例えば、監視及び調整する)ように構成されてもよい。例えば、個々のチャットボットの特性が修正される前に、チャットオーケストレーションサーバ140は、チャットボックスを修正し得る様々なエンドユーザ入力若しくはフィードバックが疑わしいか、又は悪意あるものであるか否か(例えば、キーワード若しくはフレーズを検索するか、識別することによって、かつ/又はエージェントによるレビューのために潜在的問題をフラグ付けすることによって)を決定してもよい。
一実施形態によれば、チャットオーケストレーションサーバ140は、必要に応じて、自動チャットセッションが人間であるエージェントへと進行/転送/ルーティングできるようにするために、インタラクションサーバ156、統計サーバ132などに結合される。チャットオーケストレーションサーバ140はまた、例えば、自動チャットセッション中に顧客によって提示される照会に対する回答案を受信するために、すなわち、ナレッジアーティクルなどへのリンクを提供するために、ナレッジ管理サーバ150に結合されてもよい。チャットオーケストレーションサーバ140は、別個のサーバ構成要素であるものとして図1の実施形態に示されているが、当業者は、チャット自動化サーバの機能が、マルチメディア/ソーシャルメディアサーバ154、ナレッジ管理サーバ105、IMRサーバ122などに組み込まれ得ることを認識するだろう。
チャット自動化システム102はまた、統計サーバ132によって集約されたデータからレポートを生成するように構成されたレポーティングサーバ134を含んでもよい。かかるレポートとしては、例えば、平均待ち時間、離脱率、エージェント占有率などのリソースの状態に関する、ほぼリアルタイムのレポート又は履歴レポートが挙げられ得る。レポートは、自動的に、又は要求者(例えば、エージェント/管理者、コンタクトセンタアプリケーションなど)からの特定の要求に応答して生成されてもよい。
図1の各種サーバはそれぞれ、コンピュータプログラム命令を実行し、本明細書に記載される各種機能を実行するための他のシステム構成要素と相互作用する1つ以上のプロセッサを含んでもよい。コンピュータプログラム命令は、例えば、ランダムアクセスメモリ(random access memory、RAM)などの標準メモリデバイスを使用してメモリに格納され、実装される。コンピュータプログラム命令はまた、例えば、CD-ROM、フラッシュドライブなどの他の非一時的コンピュータ可読メディアに記憶されてもよい。また、サーバのそれぞれの機能は、特定のサーバによって提供されるものとして説明されているが、当業者は、様々なサーバの機能が単一のサーバに組み合わされるか若しくは統合されてもよいこと、又は特定のサーバの機能が、開示された実施形態の範囲から逸脱することなく、1つ以上の他のサーバ間に分散されてもよいことを認識されたい。
図2は、開示された実施形態による、標準化されたテキスト通信を利用して、チャット会話中に呼び出され得る潜在的な会話パスの配置概念図である。
図2に示すように、チャット通信セッション(202)は、チャット通信システム200の一部として(例えば、自動レセプショニスト又はコンシェルジュとして)呼び出され、チャット通信が利用可能であるというアラートをエンドユーザに発する。例えば、チャットセッション開始(202)は、エンドユーザインターフェース160を介して、通信の目的/意図に応じて照会するチャット又はテキストベースのメッセージ(例えば、「本日のご用件は何ですか?」)をエンドユーザデバイス108に送信することができる。
それに応じて、チャットオーケストレーションサーバ140から構成され得るチャット通信システム200、及びチャット自動化システム102の追加の構成要素は、エンドユーザデバイス108から1つ以上のチャット又はテキストベースの通信を受信(204)することができる。次いで、チャット通信システム200は、テキストベースの通信を分析して、通信のための1つ以上の潜在的な目的又はトピックを特定することができる。
開示された実施形態によれば、チャット通信システム200は、エンドユーザ106の通信に関して特定された目的又はトピックに基づいて、可能であれば、(例えば、ビジネス104による、又はソーシャルネットワーキングウェブサイトなどのサードパーティプラットフォーム上での)エンドユーザ106の以前の通信履歴と併せて、エンドユーザ106の通信に関して特定された目的又はトピックと互換性があると見なされるいくつかの標準化されたテキスト会話206a~206cをポピュレートしてもよい。例えば、チャット通信システム200は、ビジネス104から顧客の請求情報を取得することに関する、エンドユーザ106との会話の目的又はトピックを特定することができる。これに応じて、チャット通信システム200は、顧客請求情報に関するいくつかの標準化されたテキスト通信(standardized text communication、STC)206a~206cをポピュレートしてもよい。図2に示されている、標準化されたテキスト通信(STC)の数は、単なる例示に過ぎず、受信した1つ以上のチャット又はテキストベースの通信204からの会話の特定された目的又はトピックに応じてポピュレートされ得る標準化されたテキスト通信(STC)の数を規定するものではない。更に、いくつかの実施形態によれば、チャット通信システム200が、トピック又は目的を特定することができない状況では、チャット通信システム200は、標準化されたテキスト通信(STC)を一切ポピュレートすることができず、生きたエージェントから直接応答を要求することができない。
開示された実施形態によれば、標準化されたテキスト通信(STC)206a~206cの各々は、例えば、顧客意図に基づいて従うことができる様々な会話パス又はスクリプトを有してもよい。開示された実施形態によれば、チャット通信システム200は、事前決定された複数の異なる可能な通信目的又は通信パス208a~208c(208と総称される)の間で、標準化されたテキスト通信(STC)ごとに、通信の目的の信頼レベルを特定又は算出することができる。可能な所定の通信パス若しくは会話パス又は目的の数は、チャット通信システム200の設計及び機能に応じて多様であってもよく、図2に示された数に限定されない。しかしながら、チャット通信システム200は、エンドユーザと共に実行される全ての(又は実質的に全ての)通信が、限られた数のカテゴリ(例えば、アカウントサポート、製品又はサービス技術的サポート、売上、請求など)に分類することができるように設計されてもよい。例として、標準化されたテキスト通信1(STC1)206aが選択されたという指示を受信したチャット通信システム200は、通信パス208aに沿って後続の工程又は段階を経てトラバースしながら進むことができる。
いくつかの会話メッセージ210a~210c(210と総称される)、212a~212c(212と総称される)、及び214a~214c(214と総称される)は、それぞれ通信パス208a~208cの各々の内部に含まれてもよい。通信パス208aが選択された場合、会話メッセージ210aを含んでエンドユーザ106と通信するようにチャット通信システム200を促してもよい。エンドユーザ106からの会話メッセージ210aへの応答は、以下で更に説明するように、エンドユーザ106からの応答の内容に応じて、会話メッセージ212a又は会話メッセージ214aを含んで進むように通信パス208aを促すことができる。図2に示されている通信パス208は、図2に示されているいくつかの会話メッセージ210~214が単に例示を目的としているため、通信パス208内に収容され得る会話メッセージ210~214の数を規定又は限定するものとみなされるべきではない。
標準化されたテキスト会話206は、顧客がリアルタイムチャット中に提供している入力に基づく使用のために提案され得る。最小限のトレーニングデータが必要とされ、目的が限定されたチャットボットは、以前の知識がほとんどなくてもコンタクトセンタによって容易に設定され得る。
開示された実施形態によれば、エンドユーザ106に商品又はサービスを販売するビジネス104(例えば、小売ビジネス又は電力会社)に関する、エンドユーザ106からコンタクトセンタシステム100への問い合わせは、エンドユーザ106に対する最近の請求明細書を参照することを要求し、その情報を取得するために必要とされる例示的な予測入力は、顧客の名前、誕生日、及び住所を含むであろう。標準化されたテキスト会話は、エージェントが顧客情報に関してプロンプトから1つずつ入力することを要求する代わりに、この顧客情報を入力するように実施されると考えられる。一例として、エージェントが、エージェントデバイス130から「顧客の請求書を取得(Get Customer Bill)」という標準化されたテキスト会話を選択すると、必要とされる情報を収集するために、顧客との標準化されたテキスト会話システムによって短いチャット会話が行われる。コールセンタシステム100は、同時に2つ以上のチャット会話を処理するようにエージェントに要求し得るので、その間、エージェントは、他の割り当てられたチャット上で自由に作業すると考えられ、一方、システムは、上述の必要な情報を顧客から得る。そのインタラクションに関する、エージェントのユーザインターフェース内のチャットウィンドウを前面に現れさせることによって、特定のインタラクションに関する新規受信中のチャットがエージェントに通知される。エージェントのユーザインターフェース内のチャットウィンドウは、標準化されたテキスト会話が終了したときに、そのインタラクションのウィンドウをエージェントデバイス130の前面に現れさせることによって、エージェントに通知することができる。
標準化されたテキスト会話システムが、選択された標準化されたテキスト会話を完了したとき、標準化されたテキスト会話は、エージェントにアラートを発し、標準化されたテキスト会話は、収集された情報をエージェントに提示する。エージェントが従うように割り当てられたワークフローに従って、標準化されたテキスト会話が顧客との会話を完了した後に、エージェントが顧客と再び関わり合う時になると、そのインタラクションのチャットウィンドウが前面に表示されて、エージェントにアラートを発する。顧客と再び関わり合った後、エージェントは、標準化されたテキスト会話を使用せずに通常のようにチャットを進行させると考えられ、あるいはエージェントは、別の標準化されたテキスト会話を選択して、顧客との会話をエージェントの代わりに継続すると考えられる。あるいは、標準化されたテキスト会話は、標準化されたテキスト会話を通じて受信した情報に作用して、顧客の請求書の自動取得などのアクションが実行されると考えられる。コンタクトセンタは、標準化されたテキスト会話を収集した顧客データを有することになるので、APIコール又はデータベースクエリを利用して、顧客の請求書を表示して、エージェントがチャットの一部としてレビューするか、又は顧客の請求書を顧客に直接送信すると考えられる。
標準化されたテキスト会話を含むチャットボットは、標準化されたテキスト会話システムを改善するためにライブトレーニングを実施することができる。トレーニングは、顧客とのインタラクション中にエージェントがどの標準化されたテキスト会話206を選定するかに基づいてもよい。システムは、受信中の顧客メッセージと、エージェントが選択する(複数の)特定の標準化されたテキスト会話と、を含む、標準化されたテキスト会話システムへの入力に基づいて、標準化されたテキスト会話206をライブトレーニングする。次いで、標準化されたテキスト会話システムは、ライブトレーニングを実施した標準化されたテキスト会話を利用して、チャットを通じて顧客から提供された入力に基づいて、適切な標準化されたテキスト会話206を、将来、エージェントに提案することができるようにし得る。例えば、標準化されたテキスト会話システムの最初の反復中、顧客は、ウェブチャットに「請求書を見せて頂けますか?」と入力し、エージェントは「顧客の請求書を取得」という標準化されたテキスト会話を選択する。標準化されたテキスト会話システムは、この入力及びエージェントの選択を、標準化されたテキスト会話システムのライブトレーニングの一部として利用する。次の反復中、例えば、新規顧客がウェブチャットに「請求書を見せてください」と入力したことに応答して、標準化されたテキスト会話システムは、その時点で「顧客の請求書を取得」という標準化されたテキスト会話を使用することをエージェントに提案すると考えられる。
開示された実施形態では、特定の質問を促すことによって顧客からデータを取得するために利用される標準化されたテキスト会話206は、要求されるデータが以前に取得されていた場合、標準化されたテキスト会話システムがフラグを提示し、後のインタラクションでは同じ情報に関して顧客を促さないように構成することができる。例えば、エージェントが複数の標準化されたテキスト会話206を使用する場合、第1の標準化されたテキスト会話は、顧客の誕生日を要求すると考えられる。エージェントが選択する第2の標準化されたテキスト会話206によって、顧客の誕生日及び顧客の社会保障番号の最後の4桁が要求される場合、システムは、第1の標準化されたテキスト会話で顧客の誕生日をすでに取得していることを理解し、第2の標準化されたテキスト会話206で顧客の誕生日に関して顧客を促さないと考えられる。
開示された実施形態では、標準化されたテキスト会話はまた、顧客が第1の試行で標準化されたテキスト会話によって促された質問に回答しなかったときに、同じ質問を再度試すこともできる。標準化されたテキスト会話システムは、会話中に顧客から回答となる情報を取得しようと試みるための再試行数を設定することができる。顧客から回答となる情報を正常に取得しないまま、再試行限度数に達すると、標準化されたテキスト会話システムは、プロセスを中断し、標準化されたテキスト会話を終了し、標準化されたテキスト会話が失敗し、エージェントの取り組みが要求されることをエージェントに警告すると考えられる。標準化されたテキスト会話システムは、この状況のとき、会話をエージェントのユーザインターフェースの前面に表示することによってなど、インタラクションに注目させることによって、エージェントに警告することができる。割り込みプロセスでは、標準化されたテキスト会話内で標準化されたテキスト会話システムによって取得されたデータをエージェントに提示して、顧客との会話を継続するための情報をエージェントに提供することができる。
開示された実施形態では、標準化されたテキスト会話システムは、比較的複雑な標準化されたテキスト会話206を、比較的単純な標準化されたテキスト会話206から作成するように構成されてもよい。単純な標準化されたテキスト会話の例は、請求書のコピーを要求する顧客であると考えられ、この例では、請求書を取得するために、当該顧客の名前、誕生日、及び顧客の社会保障番号の最後の4桁の入力のみが要求され得る。より複雑な標準化されたテキスト会話の例は、ユーザのために新しいサービスを追加することであり、この例では、顧客の請求書を取得する単純な会話のために全ての入力が要求されてよく、顧客が追加を望むサービスの特定などの、顧客からの追加入力がプラスされてよい。請求書を取得するための単純な標準化されたテキスト会話を使用して、複雑な標準化されたテキスト会話を作成して、顧客のために新しいサービスを追加することができる。
上記コード(Table 2)は、「get_custimer_info」の例示的な標準化されたテキスト会話を示す。「get_custimer_info」という標準化されたテキスト会話は、顧客の名前、誕生日、及びアカウントIDがあるか否かをチェックし、システムがまだこの情報を有していない場合、顧客にそれらの各々を問い合わせる。「get_custimer_bill」という標準化されたテキスト会話は、「get_custimer_info」を前提条件として使用するため、標準化されたテキスト会話システムは、最初に「get_custimer_info」を使用して、顧客の名前、誕生日、及びアカウントIDを取得してから、追加の工程を続行して顧客の請求書を取得する。このようにして、複雑な会話は、比較的単純な会話を比較的複雑な会話の前提条件として行うことによって容易に構築することができる。標準化されたテキスト会話システムは、上述の工程に従い、まだ取得されていない必要な情報を収集するための質問を尋ねるものであり、標準化されたテキスト会話「get_custimer_info」の「steps」を実行するために、その入力された情報を使用することとなる。
開示された実施形態によれば、標準化されたテキスト会話システムは、顧客からの必要な入力の全てを受け取った後に、特定の選択された標準化されたテキスト会話が完了したか、又はいくつかの試行後に顧客から必要な入力を収集できなかったか、さもなければ、そのタスクに失敗したことをエージェントに通知するための機能を含む。標準化されたテキスト会話システムによって、顧客が、標準化されたテキスト会話からのプロンプトに対して回答となる情報で答えているようには見えないと判断される場合、標準化されたテキスト会話は、エージェントが顧客とのインタラクションに再度関わることによって、顧客がインタラクションにより確実に有意義な経験を有するように、できるだけ速やかにエージェントに通知することができるようにあるべきである。エージェントのワークスペースにおいてチャットインタラクションウィンドウに注目させることによって、エージェントは、顧客との会話に再度関わることができると考えられる。失敗した標準化されたテキスト会話に再度関わるようにエージェントに警告する方法は、新しいチャットメッセージがエージェントによって受信されたときと同じ方法でもあり得る。このように、顧客とのチャットは、標準化されたテキスト会話が実行されている間に、エージェントのワークスペースのバックグラウンドであり得、エージェントは、チャットがエージェントのワークスペースの前面に戻るときには、チャットがエージェントの注意を必要としていることを知ることとなる。
開示された実施形態では、標準化されたテキスト会話システムは、コンタクトセンタシステムの外部の事業又は企業の一部として、コンタクトセンタシステム及び/又は他のシステム及び/又はサーバ内の他のシステム及び/又はサーバと調整可能であり得る。顧客の請求書を取得する標準化されたテキスト会話の例では、標準化されたテキスト会話システムは、標準化されたテキスト会話の完了に基づいて顧客の請求書を自動的に取得することができ得る。更に、同じ例では、標準化されたテキスト会話システムは、顧客とチャット中のエージェントをアシストするように、会話トピックに基づくナレッジベースアーティクルを提案することができる。別の例として、顧客のアイデンティティを検証し、顧客の口座残高を取得するために必要な情報を取得するように構成された標準化されたテキスト会話の場合、標準化されたテキスト会話は、名前、住所、誕生日、及び顧客の社会保障番号の最後の4桁を尋ねると考えられる。その情報が取得されると、標準化されたテキスト会話システムは、カスタマイズされた方法でその情報に作用するようにスクリプトが実行されると考えられる。チャットオーケストレーションサーバは、標準化されたテキスト会話システムのスクリプトを実行して、要求されたデータを提供するコールセンタ会社のデータシステムにAPIコールを自動的に作成し、エージェントインタラクションを一切用いることなく、顧客とのチャット内に口座残高を直接返送すると考えられる。
別の実施形態では、チャットオーケストレーションサーバは、データ入力のためのUIを提示することが可能であり得る。いくつかのチャネルは、顧客に送信された顧客UIをサポートして、情報、例えば、日付を取得する。例として、これに関するユースケースは、顧客の誕生日を必要とするように構成された標準化されたテキスト会話であると考えられる。誕生日を尋ねて、回答を認識するように試みることによって顧客の誕生日データを取得しようと試みる代わりに、標準化されたテキスト会話は、可能であれば、よりシームレスな情報交換を可能にし、よりサニタイズされた入力を確実にするように、データピッカダイアログを顧客に提示すると考えられる。
図3は、開示された実施形態のうちのいくつかによるチャットオーケストレーションシステムを管理する方法のフロー図である。
方法300は開始し、動作302では、チャットオーケストレーションサーバ140が受信中の通信を受け取る。例えば、エンドユーザ106は、エンドユーザデバイス108を介して、ビジネス104によって又はビジネス104のために操作されるチャット通信ユーザインターフェース(例えば、インターネットウェブサイトを介して)にアクセスして、コンタクトセンタとのインタラクションのための要求を送信することができる。チャット通信インターフェースは、例えば、チャットオーケストレーションサーバ140及びエンドユーザインターフェース160によって容易にされてもよい。受信中のチャット通信は、エンドユーザ106からの新しい通信であってもよく、又はエンドユーザ106からの進行中の通信の継続であると考えられる。チャットオーケストレーションサーバ140は、エンドユーザ106にチャット通信に関するトピック情報の入力を促すことができる。例えば、いくつかの実施形態によれば、チャットオーケストレーションサーバ140は、チャット通信の種類又は目的に関して問い合わせる1つ以上の質問(例えば、「本日のご用件は何ですか?」)をエンドユーザ106に直接尋ねることができる。いくつかの実施形態によれば、チャットオーケストレーションサーバ140は、チャットオーケストレーションサーバ140がチャット通信の目的を最初に問い合わせることなく、チャット通信の種類又は目的を決定若しくは推測することができるエンドユーザ106から入力を受信することができる。すなわち、場合によっては、エンドユーザ106は、チャットオーケストレーションサーバ140とのチャット通信を開始し、通信の目的を先取的に説明することができる。
動作304では、チャットオーケストレーションサーバ140は、受信中のチャット通信を識別し、エンドユーザ106からの受信中のチャット通信に対して自然言語処理(natural language processing、NLP)を利用する。標準化されたテキスト会話206の自然言語処理は、wit.ai、api.ai、luis.ai、及びIBM Watsonなどの現在既知のNLPソリューションを利用することができる。標準化されたテキスト会話206は、エージェントの代わりに顧客との小さな会話を有するように設計されている、少なくとも複数の目的が限定されたチャットボット、すなわち、「ミニ」チャットボットから構成されてもよい。目的が限定されたチャットボットは、エージェントの介入なしに顧客から情報を収集することができる。目的が限定されたチャットボットは、自然言語処理に由来する意図及びエンティティ(名前又は誕生日などの情報)を提供するようにトレーニングされる。目的が限定されたチャットボットによって収集された情報は、標準化されたテキスト会話206を配備するコンタクトセンタを運営するビジネスに関する典型的な顧客の問題を取り扱うために使用される情報であり得る。開示された実施形態では、目的が限定されたチャットボットは、複数のエンティティへの1つの受信中のチャット通信を構文解析することができる。例えば、完全な名前のエンティティを受信することは、複数のエンティティ-名及び姓に構文解析することができる。アカウント番号などのデータがクリアフォーマットを有する場合、正規表現もまた使用されてもよい。トレーニングセンテンスはまた、wit.aiなどのNLPを取得するために提供され、開始されてもよい。
上記コード(Table 1)は、標準化されたテキスト会話システムをトレーニングして、顧客が、開示された実施形態による自然言語で顧客の名前を提供しているときを認識するための、例示的なトレーニングデータの抜粋であり、自然言語処理におけるエンティティの例として名前を利用している。この例は、wit.ai及びその組み込まれた名前を表すwit$contact entityを使用する。これにより、標準化されたテキスト会話システムは、センテンスにおいて、名前が存在するのが典型的であると考えられる名前を提供するために使用される典型的なステートメントを認識することができる。その他に、上記の例は、検出されているエンティティ、例えば、顧客の名前を構文解析するいくつかの追加コードを有し、姓及び名の両方が提供されている場合には、その追加コードを姓及び名に更に分割する。
動作306では、NLP処理された受信中のチャット通信に応じて、いくつかの標準化されたテキスト会話206がチャットオーケストレーションサーバ140に提示される。チャットオーケストレーションサーバ140に提示される回答となる標準化されたテキスト会話206の数は、所定の数によって(すなわち、3つの標準化されたテキスト会話206を送信する)、又は応答閾値によって(すなわち、応答性に関する特定の信頼レベルを超える多くの標準化されたテキスト会話206として送信する)、又はこれらの組み合わせによって、又はいくつかの標準化されたテキスト会話206を選択する他の手段によって決定することができる。標準化されたテキスト会話206がチャットオーケストレーションサーバ140に提供された後、方法300は動作306に進む。
動作308では、チャットオーケストレーションサーバ140は、いくつかの標準化されたテキスト会話206の各々のIDを有するいくつかの標準化されたテキスト会話の順位の序列を、エージェントデバイス130に提供する。チャットオーケストレーションサーバ140は、最適な標準化されたテキスト会話206の順に、標準化されたテキスト会話206を順位付けする。チャットオーケストレーションサーバ140は、最も可能性の高い回答となる標準化されたテキスト会話をNLP処理された受信中のチャット通信で特定された会話のトピックと整合させる。次いで、チャットオーケストレーションサーバ140は、NLP処理された受信中のチャット通信を追加の標準化されたテキスト会話206と整合させる整合プロセスを繰り返すことができ、追加の標準化されたテキスト会話206を追加のオプションとして提示することができる。エージェントデバイス130に提示される標準化されたテキスト会話206の数は、標準化されたテキスト会話の事前設定された数によって限定され得る。あるいは、エージェントデバイス130に提示される標準化されたテキスト会話206の数は、各々の標準化されたテキスト通信に関して設定された信頼レベルによって限定されてもよく、チャットオーケストレーションサーバ140は、NLP処理された受信中のチャット通信との整合に基づいて特定の閾値レベルに達した標準化されたテキスト会話206のみを提示することとなる。あるいは、事前設定された会話の数と信頼レベルの組み合わせを使用して、又は整合した標準化されたテキスト会話206を順位付けする他の手段を使用して、標準化されたテキスト会話206の特定の数をエージェントデバイス130に提示してもよい。
動作310では、チャットオーケストレーションサーバ140は、動作308でエージェントデバイス130に提示された順位の序列が提示された標準化されたテキスト会話206のいずれかが、エンドユーザ106からの問い合わせに応答するか否かを決定する際に、エージェントデバイス130からの入力を受信する。開示された実施形態では、エージェントデバイス130は、提示された標準化されたテキスト会話206のうちの1つが、エンドユーザ106からの問い合わせに応答するか、又は応答しないという特定の指示を与える。別の開示された実施形態では、エージェントデバイス130は、(1)順位の序列が提示された標準化されたテキスト会話206のうちから選択された1つがエンドユーザ106からの問い合わせに応答した、又は(2)順位の序列が提示された標準化されたテキスト会話206のうちのいずれもが、エンドユーザ106からの問い合わせに応答しなかったのいずれか一方を示す信号をチャットオーケストレーションサーバ140に送信する。チャットオーケストレーションサーバ140が、回答となる標準化されたテキスト会話が存在しないことを示す信号を受信すると、方法300は終了する。チャットオーケストレーションサーバ140が、回答となる標準化されたテキスト会話を示す信号を受信すると、方法300は動作312に進む。
動作312では、チャットオーケストレーションサーバ140は、順位の序列が提示された標準化されたテキスト会話206のうちの1つを選択するエージェントデバイス130からの入力を受信する。次いで、チャットオーケストレーションサーバ140は、選択された標準化されたテキスト会話に適したチャットボットを利用して、選択された標準化されたテキスト会話を開始する。
会話パスが選択されると、動作314では、選択された会話パスをトラバースしてもよい。そのために、選択された標準化されたテキスト会話は、例えば、エンドユーザインターフェース160を介してエンドユーザ106に様々な質問を尋ね、エンドユーザ106からの様々な質問に回答して、標準化されたテキスト会話の特定されたトピックに必要とされる情報を全て取得しようと試みる。
チャット通信セッション中、チャットオーケストレーションサーバ140は、動作316において、様々なトリガイベントに関するチャット通信会話(例えば、エンドユーザ106から受信した入力)を監視し、選択されたチャットルートがチャット通信セッションを適切に処理する信頼レベルを算出及び/又は修正してもよい。例えば、チャットオーケストレーションサーバ140は、エンドユーザ106から受信した言葉を監視し、チャットオーケストレーションサーバ140が、標準化されたテキスト会話で尋ねた質問に対して満足な回答を受信しているかどうかを示す言葉を検出してもよい。チャットオーケストレーションサーバ140はまた、エンドユーザ106が満足しているか、不満をもっているか、混乱しているか、あるいはチャットオーケストレーションサーバ140からの出力を理解しているか否かを検出するために、エンドユーザ106から受信した言葉を監視してもよい。
動作318では、チャットオーケストレーションサーバ140は、顧客から、追加情報が要求されているか否かを判定して、標準化されたテキスト会話を完了する。エンドユーザ106から追加情報が要求されず、標準化されたテキスト会話を完了する場合、方法300は終了する。エンドユーザ106から追加情報が要求されて、標準化されたテキスト会話を完了する場合、標準化されたテキスト会話を実施するチャットオーケストレーションサーバ140は、エンドユーザ106に次の質問を提示し、その後、プロセスは動作320に進む。
動作320では、チャットオーケストレーションサーバ140は、顧客が動作318の結果から提示された質問に、回答となる情報を提供したか否かを判定する。動作304と同様に、チャットオーケストレーションサーバ140は、提示された質問に応答する受信中のチャット通信を識別し、エンドユーザ106からの受信中のチャット通信に対する自然言語処理(NLP)を利用する。チャットオーケストレーションサーバ140は、NLPを使用して、受信した通信の意図及びエンティティを決定する。チャットオーケストレーションサーバが、NLP処理された受信中の通信が、動作318によりエンドユーザ106に提示された質問に応答していないと判定する場合、方法300は終了する。チャットオーケストレーションサーバが、NLP処理された受信中の通信が、動作318によりエンドユーザ106に提示された質問に応答していると判定する場合、プロセスは動作322に進む。
開示された実施形態では、動作320はまた、エンドユーザに提示された特定の質問に対する特定の数の再試行を繰り返すことができる。再試行数は、最大再試行数、NLP処理された受信中の通信に対して設定された信頼レベル、及び/又はチャットオーケストレーションサーバ140によって特定可能な設定された数のキーワード(すなわち、会話及びエージェントの介入によりエンドユーザの不満さを示すキーワードを探すことが要求される)を含むと考えられる、いくつかの事前設定された基準によって決定することができる。
動作322では、チャットオーケストレーションサーバ140が、標準化されたテキスト会話のために要求される情報が全てエンドユーザ106から取得されたか否かを判定する。例えば、標準化されたテキスト会話を完了するために、3つの特定する顧客情報(例えば、名前、誕生日、及び社会保障番号の最後の4桁)が必要とされ、エンドユーザ106が、特定する顧客情報のうちの1つのみを提供する場合、エンドユーザ106から追加情報が要求される。チャットオーケストレーションサーバ140が、エンドユーザ106から全ての情報が取得されたと判定した場合、方法300は終了する。チャットオーケストレーションサーバ140が、標準化されたテキスト会話を完了するために追加情報が必要であると判定した場合、プロセスは工程314に戻り、会話パスのトラバースを継続する。
図4は、開示された実施形態によるチャットオーケストレーションシステムを管理する方法のフロー図の一部である。具体的には、図4は、標準化されたテキスト会話システムのライブトレーニングの例示的な実施形態である。
方法400は、方法300と同様の方法で開始し、それにより、動作406は、チャットオーケストレーションサーバ140が、受信中のチャット通信を特定し、エンドユーザ106から受信中のチャット通信に対する自然言語処理(NLP)を利用する工程を含み、次いで、動作408は、チャットオーケストレーションサーバ140が、NLP処理された受信中のチャット通信を利用し、いくつかの標準化されたテキスト会話206の各々のIDを有するいくつかの標準化されたテキスト会話206の順位の序列を、エージェントデバイス130に提供する工程を含む。動作406は、方法300の一部としての動作304に関して本明細書に記載される同じ方法を使用して実行することができる。動作408は、方法300の一部としての動作308に関して本明細書に記載される同じ方法を使用して実行することができる。
動作410では、チャットオーケストレーションサーバ140は、順位の序列が提示された標準化されたテキスト会話206の信頼レベルを判定する。順位の序列が提示された標準化されたテキスト会話206の信頼レベルによって、標準化されたテキスト会話206が、NLP処理された顧客通信とどれくらい良好に整合しているかが判定される。例えば、顧客の会話のトピックが「請求」であると判定するNLP処理された顧客通信は、請求に関して提示される標準化されたテキスト会話206の信頼レベルは高くてもよい。逆に、顧客の会話のトピックが「財務」に関すると判定するNLP処理された顧客通信は、請求に関して提示される標準化されたテキスト会話206の信頼レベルは低くてもよい。
チャットオーケストレーションサーバ140が、順位の序列が提示された標準化されたテキスト会話206の信頼レベルが、事前設定されたレベル又は動的に設定されたレベルのいずれかの信頼レベルを超えていると判定する場合、方法400は、次に進み、エージェントデバイス130の会話リストをポピュレートする(412)。会話リストのポピュレート(412)が完了した後、方法400は、次に進み、ポピュレートされた会話リスト(412)からエージェントに会話を選択させ(414)、次には、会話パスをトラバースする(420)。動作414は、方法300の一部としての動作312に関して本明細書に記載される同じ方法を使用して実行することができる。動作420は、方法300の一部としての動作314に関して本明細書に記載される同じ方法を使用して実行することができる。次いで、方法400は、方法300での会話パス314のトラバースから、以下のように会話パス420をトラバースし続けることができる。
チャットオーケストレーションサーバ140が、順位の序列が提示された標準化されたテキスト会話206の信頼レベルが、事前設定されたレベル又は動的に設定されたレベルのいずれかの信頼レベル未満である場合、標準化されたテキスト会話システムを実行するチャットオーケストレーションサーバ140は、エージェントが顧客通信に応答して、標準化されたテキスト会話を選択したか否か(416)に関する信号をエージェントデバイス130から受信することとなる。エージェントが会話を選択するか否か(416)の一環として、特定の数の順位の序列のエージェント応答408がエージェントデバイス130上に表示されてもよく、又は現在利用可能な標準化されたテキスト会話206がエージェントデバイス130上に表示されてもよい。エージェントデバイス130から受信した信号が、顧客コミュニケーションに応答して、エージェントが標準化されたテキスト会話を選択しないことを示す場合、方法400は終了する。エージェントデバイス130から受信した信号が、顧客コミュニケーションに応答して、エージェントが標準化されたテキスト会話を選択することを示す場合、方法400は、動作418に進む。
動作418で、チャットオーケストレーションサーバ140は、動作416でエージェントによって選択されたと示された場合、標準化されたテキスト会話のライブトレーニングを実行する。ライブトレーニング418は、NLP処理された通信(406)の決定されたトピックと、エージェントが選択した標準化されたテキスト会話(416)との関連性を増大させることになる。したがって、チャットオーケストレーションサーバ140による方法400の将来の反復では、顧客からの同じNLP処理された通信のトピックは、確立された信頼レベルを超える可能性が高くなり、それ故に、エージェントデバイス130に直接ポピュレートされ、標準化されたテキスト会話システムの効率を改善する可能性がより高くなる。方法400は、次に進み、エージェントが、信頼レベルを超えていた(410)標準化されたテキスト会話を選択した場合、会話パスをトラバースすること(420)。
一実施形態では、説明される図の多様なサーバ、制御部、スイッチ、ゲートウェイ、エンジン、及び/又はモジュール(サーバと総称される)のそれぞれは、当業者に理解されるように、ハードウェア又はファームウェア(例えば、ASIC)を介して実装される。多様なサーバのそれぞれは、1つ以上のプロセッサ上で実行され、1つ以上のコンピューティングデバイス(例えば、図5A、図5B)において、コンピュータプログラム命令を実行し、本明細書に記載される様々な機能を実行するための他のシステム構成要素と相互作用するプロセス又はスレッドであってもよい。コンピュータプログラム命令は、例えばRAMなどの標準メモリデバイスを使用してコンピューティングデバイスに実装され得るメモリに格納される。コンピュータプログラム命令はまた、例えば、CD-ROM、フラッシュドライブなどの他の非一時的コンピュータ可読媒体に格納されてもよい。当業者は、コンピューティングデバイスが、ファームウェア(例えば、特定用途向け集積回路)、ハードウェア、又はソフトウェア、ファームウェア、及びハードウェアの組み合わせを介して実装され得ることを認識されたい。当業者はまた、各種コンピューティングデバイスの機能が組み合わされるか若しくは単一のコンピューティングデバイスに統合されてもよいこと、又は特定のコンピューティングデバイスの機能が、開示された実施形態の範囲から逸脱することなく、1つ以上の他のコンピューティングデバイス間に分散されてもよいことを認識されたい。サーバは、単にモジュールとも称され得るソフトウェアモジュールであってもよい。コンタクトセンタ内のモジュールのセットは、サーバ及び他のモジュールを含んでもよい。
多様なサーバは、コンタクトセンタのエージェントと同じ物理的場所にあるオンサイトのコンピューティングデバイス上に位置してもよく、又は地理的に異なる場所、例えば、インターネットなどのネットワークを介してコンタクトセンタに接続されたリモートデータセンタにおいてオフサイトに位置してもよい。更に、サーバのいくつかは、コンタクトセンタにあるオンサイトのコンピューティングデバイス内に位置してもよく、一方、他のサーバは、オフサイトのコンピューティングデバイス内に位置してもよく、又は冗長な機能を提供するサーバは、より優れたフォールトトレランスを提供するためにオンサイト及びオフサイトのコンピューティングデバイスの両方を介して提供されてもよい。いくつかの実施形態では、オフサイトのコンピューティングデバイスに位置するサーバによって提供される機能は、かかるサーバがオンサイトにあるかのように仮想プライベートネットワーク(virtual private network、VPN)を介してアクセス及び提供されてもよく、又は機能は、例えば、拡張可能なマークアップ言語(extensible markup language、XML)又はJavaScript Object表記(JavaScript Object notation、JSON)での符号化を使用してデータを交換することなどによって、様々なプロトコルを使用してインターネットを介して機能を提供するためのサービスとしてのソフトウェア(software as a service、SaaS)を使用して提供されてもよい。
図5A及び図5Bは、全体が500で示される、本発明の実施形態で用いられ得るようなコンピューティングデバイスの一実施形態を示す図である。それぞれのコンピューティングデバイス500は、CPU505及びメインメモリユニット510を含む。図5Aに示すように、コンピューティングデバイス500はまた、ストレージデバイス515、リムーバブルメディアインターフェース520、ネットワークインターフェース525、入出力(input/output、I/O)コントローラ530、1つ以上の表示デバイス535A、キーボード535B、及びポインティングデバイス535C(例えば、マウス)を含んでもよい。ストレージデバイス515としては、限定するものではないが、オペレーティングシステム及びソフトウェアのためのストレージが挙げられ得る。図5Bに示すように、それぞれのコンピューティングデバイス500はまた、メモリポート540、ブリッジ545、1つ以上の追加の入出力デバイス535D、535E、及びCPU505と通信するキャッシュメモリ550などの追加の任意の要素を含んでもよい。入出力デバイス535A、535B、535C、535D、及び535Eは、本明細書では、535と総称される場合がある。
CPU505は、メインメモリユニット510からフェッチされた命令に応答し、それを処理する任意の論理回路である。例えば、CPU505は、集積回路に、マイクロプロセッサ、マイクロコントローラ、若しくはグラフィックス処理ユニットの形態で、又はフィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)若しくは特定用途向け集積回路(application-specific integrated circuit、ASIC)に実装されてもよい。メインメモリユニット510は、データを格納し、任意のストレージ位置が中央処理ユニット505によって直接アクセスされることを可能にすることができる1つ以上のメモリチップであってもよい。図5Aに示すように、中央処理ユニット505は、システムバス555を介してメインメモリ510と通信する。図5Bに示すように、中央処理ユニット505はまた、メモリポート540を介してメインメモリ510と直接通信してもよい。
一実施形態では、CPU505は、複数のプロセッサを含んでもよく、命令の同時実行又は1つ以上のデータ上での単一の命令の同時実行のための機能を提供してもよい。一実施形態では、コンピューティングデバイス500は、1つ以上のコアを有する並列プロセッサを含んでもよい。一実施形態では、コンピューティングデバイス500は、単一のグローバルアドレス空間として全ての利用可能なメモリにアクセスする、複数のプロセッサ及び/又は複数のプロセッサコアを有する共有メモリ並列デバイスを備える。別の実施形態では、コンピューティングデバイス500は、それぞれローカルメモリのみにアクセスする複数のプロセッサを有する分散メモリ並列デバイスである。コンピューティングデバイス500は、共有されているいくつかのメモリと、特定のプロセッサ又はプロセッサのサブセットによってのみアクセスされ得るいくつかのメモリとの両方を有してもよい。CPU505は、2つ以上の独立したプロセッサを単一のパッケージに、例えば、単一の集積回路(integrated circuit、IC)に組み合わせるマルチコアマイクロプロセッサを含んでもよい。例えば、コンピューティングデバイス500は、少なくとも1つのCPU505及び少なくとも1つのグラフィックス処理ユニットを含んでもよい。
一実施形態では、CPU505は、単一命令多重データ処理(SIMD)機能、例えば、複数のデータ上での単一の命令の同時実行のための機能を提供する。別の実施形態では、CPU505内のいくつかのプロセッサは、複数のデータ上での複数の命令の同時実行のための機能(MIMD)を提供してもよい。CPU505はまた、単一のデバイス内でSIMD及びMIMDコアの任意の組み合わせを使用してもよい。
図5Bは、CPU505が、バックサイドバスと呼ばれることもある二次バスを介してキャッシュメモリ550と直接通信する実施形態を示す。他の実施形態では、CPU505は、システムバス555を用いてキャッシュメモリ550と通信する。キャッシュメモリ550は典型的には、メインメモリ510よりも速い応答時間を有する。図5Aに示すように、CPU505は、ローカルシステムバス555を介して様々なI/Oデバイス535と通信する。限定するものではないが、Video Electronics Standards Association(VESA)ローカルバス(VLB)、業界標準アーキテクチャ(Industry Standard Architecture:ISA)バス、拡張業界標準アーキテクチャ(Extended Industry Standard Architecture:EISA)バス、マイクロチャネルアーキテクチャ(Micro Channel Architecture:MCA)バス、Peripheral Component Interconnect(PCI)バス、PCI拡張(PCI Extended:PCI-X)バス、PCI-Expressバス、又はNuBusを含む様々なバスが、ローカルシステムバス555として使用され得る。I/Oデバイスが表示デバイス535Aである実施形態の場合、CPU505は、Advanced Graphics Port(AGP)を介して表示デバイス535Aと通信することができる。図5Bは、CPU505がI/Oデバイス535Eと直接通信するコンピュータ500の一実施形態を示す。図5Bはまた、ローカルバス及び直接通信が混合される一実施形態を示す。CPU505は、I/Oデバイス535Eと直接通信している間にローカルシステムバス555を使用してI/Oデバイス535Dと通信する。
多種多様なI/Oデバイス535が、コンピューティングデバイス500内に存在してもよい。入力デバイスは、いくつかの非限定的な例を挙げると、1つ以上のキーボード535B、マウス、トラックパッド、トラックボール、マイクロフォン、及び製図台が挙げられる。出力デバイスとしては、ビデオ表示デバイス535A、スピーカ、及びプリンタが挙げられる。図5Aに示されるI/Oコントローラ530は、例えば、キーボード535B及びポインティングデバイス535C(例えば、マウス又は光学ペン)などの1つ以上のI/Oデバイスを制御してもよい。
再び図5Aを参照すると、コンピューティングデバイス500は、フロッピーディスクドライブ、CD-ROMドライブ、DVD-ROMドライブ、各種フォーマットのテープドライブ、USBポート、セキュアデジタル若しくはCOMPACT FLASH(商標)メモリカードポート、又は読み出し専用メディアからデータを読み取るため、若しくは読み書きメディアからデータを読み取るため、若しくは読み書きメディアにデータを書き込むために好適な任意の他のデバイスなど、1つ以上のリムーバブルメディアインターフェース520をサポートしてもよい。I/Oデバイス535は、システムバス555とリムーバブルメディアインターフェース520との間のブリッジであってもよい。
リムーバブルメディアインターフェース520は、例えば、ソフトウェア及びプログラムをインストールするために使用されてもよい。コンピューティングデバイス500は、オペレーティングシステム及び他の関連するソフトウェアを格納するための、及びアプリケーションソフトウェアプログラムを格納するための、1つ以上のハードディスクドライブ又はハードディスクドライブアレイなどのストレージデバイス515を更に含んでもよい。任意選択的に、リムーバブルメディアインターフェース520はまた、ストレージデバイスとして使用されてもよい。例えば、オペレーティングシステム及びソフトウェアは、ブータブルメディア、例えばブータブルCDから実行されてもよい。
一実施形態では、コンピューティングデバイス500は、それぞれが同じ又は異なるタイプ及び/又は形態であり得る複数の表示デバイス535Aを含んでもよく、又はそれらに接続されてもよい。したがって、I/Oデバイス535及び/又はI/Oコントローラ530のいずれかは、コンピューティングデバイス500による複数の表示デバイス535Aへの接続及びその使用をサポートするか、有効にするか、又は提供するために、任意のタイプ及び/又は形態の好適なハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせを含んでもよい。例えば、コンピューティングデバイス500は、表示デバイス535Aをインターフェース、通信、接続、ないしは別の方法で使用するための、任意のタイプ及び/又は形態のビデオアダプタ、ビデオカード、ドライバ、及び/又はライブラリを含んでもよい。一実施形態では、ビデオアダプタは、複数の表示デバイス535Aにインターフェースするための複数のコネクタを含んでもよい。別の実施形態では、コンピューティングデバイス500は、複数のビデオアダプタを含んでもよく、それぞれのビデオアダプタは、表示デバイス535Aのうちの1つ以上に接続される。他の実施形態では、表示デバイス535Aのうちの1つ以上は、例えば、ネットワークを介してコンピューティングデバイス500に接続された1つ以上の他のコンピューティングデバイスによって提供されてもよい。これらの実施形態は、コンピューティングデバイス500のための第2の表示デバイス535Aとして別のコンピューティングデバイスの表示デバイスを使用するように設計及び構築された任意のタイプのソフトウェアを含んでもよい。当業者であれば、コンピューティングデバイス500が複数の表示デバイス535Aを有するように構成され得る様々な方法及び実施形態を認識及び理解するであろう。
全体が図5A及び図5Bに示されるコンピューティングデバイスの実施形態は、オペレーティングシステムの制御下で動作してもよく、タスクのスケジューリング及びシステムリソースへのアクセスを制御する。コンピューティングデバイス500は、任意のオペレーティングシステム、任意の組み込みオペレーティングシステム、任意のリアルタイムオペレーティングシステム、任意のオープンソースオペレーティングシステム、任意のプロプライエタリオペレーティングシステム、モバイルコンピューティングデバイスのための任意のオペレーティングシステム、又はコンピューティングデバイス上で実行可能であり、本明細書に記載される動作を実行する任意の他のオペレーティングシステムを実行していてもよい。
コンピューティングデバイス500は、任意のワークステーション、デスクトップコンピュータ、ラップトップ若しくはノートブックコンピュータ、サーバマシン、ハンドル付きコンピュータ、携帯電話若しくは他のポータブル電気通信デバイス、メディア再生デバイス、ゲームシステム、モバイルコンピューティングデバイス、又は通信可能であり、本明細書に記載される動作を実行するために十分なプロセッサ電力及びメモリ容量を有する、任意の他のタイプ及び/又は形態のコンピューティング、電気通信若しくはメディアデバイスであってもよい。一部の実施形態では、コンピューティングデバイス500は、デバイスと一致する異なるプロセッサ、オペレーティングシステム、及び入力デバイスを有してもよい。
他の実施形態では、コンピューティングデバイス500はモバイルデバイスである。例としては、Java対応移動電話若しくはパーソナルデジタルアシスタント(PDA)、スマートフォン、デジタルオーディオプレーヤ、又はポータブルメディアプレーヤが挙げられ得る。一実施形態では、コンピューティングデバイス500としては、デジタルオーディオプレーヤ又はポータブルメディアプレーヤと組み合わされた携帯電話など、デバイスの組み合わせが挙げられる。
コンピューティングデバイス500は、ネットワークによって接続された複数のマシンのうちの1つであってもよく、又はそのように接続された複数のマシンを含んでもよい。ネットワーク環境としては、1つ以上のネットワークを介して1つ以上のリモートマシン(概してサーバマシン又はリモートマシンとも称され得る)と通信する1つ以上のローカルマシン、クライアントノード、クライアントマシン、クライアントコンピュータ、クライアントデバイス、エンドポイント、又はエンドポイントノードが挙げられ得る。一実施形態では、ローカルマシンは、サーバマシンによって提供されるリソースへのアクセスを求めるクライアントノード、及び他のクライアントのためのホスト型リソースへのアクセスを提供するサーバマシンの両方として機能する能力を有する。ネットワークは、LAN又はWANリンク、ブロードバンド接続、無線接続、又は上記のいずれか若しくは全ての組み合わせであってもよい。接続は、様々な通信プロトコルを使用して確立され得る。一実施形態では、コンピューティングデバイス500は、セキュアソケットレイヤ(Secure Socket Layer、SSL)又はトランスポート層セキュリティ(Transport Layer Security、TLS)など、任意のタイプ及び/又は形態のゲートウェイ又はトンネリングプロトコルを介して、他のコンピューティングデバイス500と通信する。ネットワークインターフェースとしては、コンピューティングデバイスを通信可能な任意のタイプのネットワークにインターフェースし、本明細書に記載される動作を実行するのに好適な、ネットワークインターフェースカードなどの内蔵ネットワークアダプタが挙げられ得る。I/Oデバイスは、システムバスと外部通信バスとの間のブリッジであってもよい。
一実施形態では、ネットワーク環境は、ネットワークの様々な構成要素が仮想化される仮想ネットワーク環境であってもよい。例えば、各種マシンは、物理マシン上で実行されるソフトウェアベースのコンピュータとして実装された仮想マシンであってもよい。仮想マシンは、同じオペレーティングシステムを共有してもよい。他の実施形態では、異なるオペレーティングシステムがそれぞれの仮想マシンインスタンス上で実行されてもよい。一実施形態では、複数の仮想マシンが同じホスト物理マシン上で実行され、それぞれがそれ自体の専用ボックスを有するかのように機能する「ハイパーバイザ」タイプの仮想化が実装される。仮想マシンはまた、異なるホスト物理マシン上で実行されてもよい。
例えば、ネットワーク(例えば、ソフトウェア定義ネットワーク(Software Defined Networking:SDN)を介して)など、他のタイプの仮想化も想到される。セッション境界コントローラの機能及び他のタイプの機能などの機能もまた、例えば、ネットワーク機能仮想化(Network Functions Virtualization:NFV)などを介して仮想化されてもよい。
1つ以上の開示された実施形態によれば、別段の指定がない限り、開示された実施形態の趣旨及び範囲から逸脱することなく、上述の様々な動作は省略されてもよく、又は追加の動作が含まれてもよい。更に、動作の順序は、別段の指定又は黙示がない限り、開示された実施形態の趣旨及び範囲から逸脱することなく、修正又は変更されてもよい。
本発明の実施形態におけるシステムの機能ユニットの多くは、コンピュータ化された電話機器、コンピュータサーバ、及び個々のワークステーション内のコードルーチンとして実装されてもよい。プログラマーは極めて特異的であり、相当に異なるルーチンで同様の機能を実行し得ることは周知である。また、本発明は、広く異なるハードウェアシステムに適用されてもよい。更に、本発明を実施するために使用されるハードウェアは、様々に多様であってもよい。同様に、説明するいくつかの態様において開示された実施形態の趣旨及び範囲内に収まることとなる本明細書に記載された実施形態において、多くの他の変更例がある。本発明は、以下の特許請求の範囲によってのみ限定される。