IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アクセンチュア グローバル ソリューションズ リミテッドの特許一覧

<>
  • 特許-セマンティック人工知能エージェント 図1
  • 特許-セマンティック人工知能エージェント 図2
  • 特許-セマンティック人工知能エージェント 図3
  • 特許-セマンティック人工知能エージェント 図4
  • 特許-セマンティック人工知能エージェント 図5
  • 特許-セマンティック人工知能エージェント 図6
  • 特許-セマンティック人工知能エージェント 図7
  • 特許-セマンティック人工知能エージェント 図8
  • 特許-セマンティック人工知能エージェント 図9
  • 特許-セマンティック人工知能エージェント 図10
  • 特許-セマンティック人工知能エージェント 図11
  • 特許-セマンティック人工知能エージェント 図12
  • 特許-セマンティック人工知能エージェント 図13
  • 特許-セマンティック人工知能エージェント 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-07
(45)【発行日】2023-11-15
(54)【発明の名称】セマンティック人工知能エージェント
(51)【国際特許分類】
   G06Q 30/01 20230101AFI20231108BHJP
【FI】
G06Q30/01
【請求項の数】 20
(21)【出願番号】P 2021525121
(86)(22)【出願日】2019-11-07
(65)【公表番号】
(43)【公表日】2022-01-17
(86)【国際出願番号】 US2019060174
(87)【国際公開番号】W WO2020097275
(87)【国際公開日】2020-05-14
【審査請求日】2021-06-23
(31)【優先権主張番号】16/183,736
(32)【優先日】2018-11-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】516172237
【氏名又は名称】アクセンチュア グローバル ソリューションズ リミテッド
(74)【代理人】
【識別番号】100102406
【弁理士】
【氏名又は名称】黒田 健二
(74)【代理人】
【識別番号】100100240
【弁理士】
【氏名又は名称】松本 孝
(72)【発明者】
【氏名】コープランド,シャノン
【審査官】原 忠
(56)【参考文献】
【文献】特開2010-238237(JP,A)
【文献】特表2002-540511(JP,A)
【文献】特開2006-079624(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 -99/00
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムに実装される顧客関係管理(CRM)の方法であって、
前記コンピュータシステムのCRMアプリケーションの人工知能エージェント(AIA)が、テレエージェントに代わって顧客担当者と、前記顧客担当者との1又は複数の通信コンタクトを含む通信セッションを管理することと、
前記コンピュータシステムのコンピュータメモリの構造として、前記セッション及び各コンタクトを自動計算機のオブジェクト指向モジュールとして確立することであって、それらの構造及びコンテンツはまた、エンタープライズナレッジグラフにセマンティックトリプルとして格納されることを特徴とする、前記確立することと、
前記AIAの指令を受けて、前記コンピュータシステムのパースエンジンが、前記通信コンタクトの構造及びコンテンツを含む前記通信セッションの構造及びコンテンツを記述論理のパースされたトリプルにパースすることと、
前記AIAの指令を受けて、推論エンジンが、前記コンピュータシステムのエンタープライズナレッジグラフの推論ルールに従って、前記パースされたトリプルから推論されたトリプルを推論することと、
前記AIAが、前記エンタープライズナレッジグラフにおける前記パースされたトリプルと前記推論されたトリプルとを、前記コンピュータメモリの連続構造内に格納することと、
前記AIAの指令を受けて、前記パースされたトリプルと前記推論されたトリプルとを、前記テレエージェントがアクセス可能なダッシュボードに表示することと、
前記AIAの指令を受けて、それらがまとめられてテレエージェントによりアサートされたトリプルを形成する、トリプル主語、トリプル述語、及びトリプル目的語を、前記ダッシュボードを介して受け入れることと、
前記AIAが、前記通信セッションをサポートして前記テレエージェントとの通信を行うことと、
を含む方法。
【請求項2】
前記顧客担当者とコンタクトを管理することは、
前記テレエージェントの可用性を記録することと、
前記テレエージェントの可用性について前記顧客担当者にアドバイスすることと、
を含む、請求項1に記載の方法。
【請求項3】
前記テレエージェントとの通信を行うことは、前記顧客担当者と前記AIAの間の通信コンタクトのコンテンツを前記テレエージェントにアドバイスすることを含む、請求項1に記載の方法。
【請求項4】
前記顧客担当者とのコンタクトを管理することは、
前記AIAが、前記AIAと前記顧客担当者との間のコンタクトを終了することと、
前記テレエージェントと前記顧客担当者の間での直接のコンタクトにより、前記セッションのコンタクトを継続させることと、
を含む、請求項1に記載の方法。
【請求項5】
前記顧客担当者とのコンタクトを管理することは、前記顧客担当者からのテキストメッセージ及び電子メールメッセージを受信すると、前記AIAが前記テキストメッセージ及び電子メールメッセージに応答することを含む、請求項1に記載の方法。
【請求項6】
前記顧客担当者とのコンタクトを管理することは、前記顧客担当者からの電話が受信されると、前記顧客担当者からの電話に前記AIAが応答することを含む、請求項1に記載の方法。
【請求項7】
前記顧客担当者とのコンタクトを管理することは、
前記AIAが、前記顧客担当者からの口頭指示を受け入れることと、
前記AIAが、前記顧客担当者の指示、音声プロンプト及び発話応答に基づいて前記顧客担当者に答えることと、
を含む、請求項1に記載の方法。
【請求項8】
前記AIAが、要求に応じて前記テレエージェントに、前記セッションにおける通信ステータスをアドバイスすることを更に含む、請求項1に記載の方法。
【請求項9】
前記通信セッションを管理することは、
前記セッションについて、サブジェクトコード、タイムスタンプ、テレエージェントの身分証明、及び顧客担当者の身分証明を、コンピュータメモリに格納することと、
各コンタクトについて、コンタクト開始のタイムスタンプ、コンタクト期間、そのコンタクトのセッション識別子、プラットフォームタイプ、コンタクトステータス、及びそのコンタクトの通信コンテンツをコンピュータメモリに格納することと、
を更に含む、請求項1に記載の方法。
【請求項10】
テレエージェントのコールノートを、前記ダッシュボードを介して受け入れることと、
前記AIAの指令を受けて、前記コンピュータシステムの前記パースエンジンが、前記テレエージェントのコールノートを、コールノートのパースされたトリプルにパースすることと、
を更に含む、請求項1に記載の方法。
【請求項11】
前記AIAの指令を受けて、前記コンピュータシステムの前記パースエンジンが、前記テレエージェントによりアサートされたトリプルをパースすること、
を更に含む、請求項1に記載の方法。
【請求項12】
顧客関係管理(CRM)を実施するコンピュータシステムであって、コンピュータメモリに動作可能に結合されたコンピュータプロセッサを備えており、前記コンピュータプロセッサは、
前記コンピュータシステムのCRMアプリケーションの人工知能エージェント(AIA)が、テレエージェントに代わって顧客担当者と、前記顧客担当者との1又は複数の通信コンタクトを含む通信セッションを管理することと、
前記コンピュータシステムのコンピュータメモリの構造として、前記セッション及び各コンタクトを自動計算機のオブジェクト指向モジュールとして確立することであって、それらの構造及びコンテンツはまた、エンタープライズナレッジグラフにセマンティックトリプルとして格納されることを特徴とする、前記確立することと、
前記AIAの指令を受けて、前記コンピュータシステムのパースエンジンが、前記通信コンタクトの構造及びコンテンツを含む前記通信セッションの構造及びコンテンツを記述論理のパースされたトリプルにパースすることと、
前記AIAの指令を受けて、推論エンジンが、前記コンピュータシステムのエンタープライズナレッジグラフの推論ルールに従って、前記パースされたトリプルから推論されたトリプルを推論することと、
前記AIAが、前記エンタープライズナレッジグラフにおける前記パースされたトリプルと前記推論されたトリプルとを、前記コンピュータメモリの連続構造内に格納することと、
前記AIAの指令を受けて、前記パースされたトリプルと前記推論されたトリプルとを、前記テレエージェントがアクセス可能なダッシュボードに表示することと、
前記AIAの指令を受けて、それらがまとめられてテレエージェントによりアサートされたトリプルを形成する、トリプル主語、トリプル述語、及びトリプル目的語を、前記ダッシュボードを介して受け入れることと、
前記AIAが、前記通信セッションをサポートして前記テレエージェントとの通信を行うことと、
により機能するように構成されている、コンピュータシステム。
【請求項13】
前記コンピュータプロセッサは、前記テレエージェントの可用性を記録することによって機能するように更に構成されており、
前記顧客担当者とのコンタクトを管理することは、前記顧客担当者に前記テレエージェントの可用性をアドバイスすることを含む、請求項12に記載のコンピュータシステム。
【請求項14】
前記テレエージェントとの通信を行うことは、前記顧客担当者と前記AIAの間の通信コンタクトのコンテンツを前記テレエージェントにアドバイスすることを含む、請求項12に記載のコンピュータシステム。
【請求項15】
前記顧客担当者とのコンタクトを管理することは、
前記AIAが、前記AIAと前記顧客担当者との間のコンタクトを終了することと、
前記テレエージェントと前記顧客担当者の間での直接のコンタクトにより、前記セッションのコンタクトを継続させることと、
を含む、請求項12に記載のコンピュータシステム。
【請求項16】
前記顧客担当者とのコンタクトを管理することは、
前記AIAが、前記顧客担当者からの口頭指示を受け入れることと、
前記AIAが、前記顧客担当者の指示、音声プロンプト、及び発話応答に基づいて前記顧客担当者に答えることと、
を含む、請求項12に記載のコンピュータシステム。
【請求項17】
前記コンピュータプロセッサは、前記AIAが、要求に応じて前記テレエージェントに、前記セッションにおける通信のステータスをアドバイスすることで機能するように更に構成されている、請求項12に記載のコンピュータシステム。
【請求項18】
前記通信セッションを管理することは、
前記セッションについて、サブジェクトコード、タイムスタンプ、テレエージェントのID、及び顧客担当者のIDを、コンピュータメモリに格納することと、
各コンタクトについて、コンタクト開始のタイムスタンプ、コンタクト期間、そのコンタクトのセッション識別子、プラットフォームタイプ、コンタクトステータス、及びそのコンタクトの通信コンテンツをコンピュータメモリに格納することと、
を含む、請求項12に記載のコンピュータシステム。
【請求項19】
前記顧客担当者とのコンタクトを管理することは、
テレエージェントのコールノートを、前記ダッシュボードを介して受け入れることと、
前記AIAの指令を受けて、前記コンピュータシステムの前記パースエンジンが、前記テレエージェントのコールノートを、コールノートのパースされたトリプルにパースすることと、
を更に含む、請求項12に記載のコンピュータシステム。
【請求項20】
前記顧客担当者とのコンタクトを管理することは、
前記AIAの指令を受けて、前記コンピュータシステムの前記パースエンジンが、前記テレエージェントによりアサートされたトリプルをパースすること、
を更に含む、請求項12に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
顧客関係管理(CRM)とは、現在の顧客及び見込み客と企業との相互関係を管理する手法である。CRMは、特に顧客維持と売上成長とに焦点を当てて顧客とのビジネス関係を改善するために、顧客と企業との履歴のデータ分析を実装する。CRMシステムは、電話、電子メール、ライブチャット、テキストメッセージ、マーケティング資料、ウェブサイトやソーシャルメディアなどの広範なコミュニケーションチャネルからデータを集める。CRM手法とそれを促進するために使用されるシステムとを通じて、企業は、ターゲットとなる顧客と、そのニーズに応えるための最善の方法とについてより知ることができる。
【背景技術】
【0002】
企業のCRMシステムは巨大になり得る。このようなシステムはデータウェアハウス技術を含むことができ、データウェアハウス技術は、トランザクション情報を収集し、その情報をCRM製品サービスに関する情報と統合し、そして、主要パフォーマンス指標をもたらすために用いられる。CRMシステムは、変動する成長及び需要を管理することを支援し、また、販売履歴と販売予測とを統合した予測モデルを実装する。CRMシステムは、複数のネットワークにわたってマーケティングキャンペーンを追跡及び計測し、顧客のクリック数や売上による顧客分析を追跡する。CRMソフトウェアには、クラウドシステムを通じて利用でき、サービスとしてのソフトウェア(SaaS)であって、ローカルコンピュータにインストールされるのではなく、ネットワーク経由で提供されて、ブラウザを介してアクセスできるものがある。通常、クラウドベースのCRM SaaSを使用している企業は、システムを完全に購入するのではなく、定期的に発生するサブスクリプション料金を支払って、そのようなCRMシステムにサブスクライブする。
【発明の概要】
【0003】
現在、多くのCRMシステムは、大規模であるにも拘わらず、アクセスできる情報を十分に活用するためのインフラストラクチャを欠いている。例えば、顧客とのコンタクトだけでは追跡が難しい場合がある。テレエージェントは、今日、顧客とのコンタクトをコールセンターのデスクからのテレフォンコールだけに限定していない。このようなコンタクトは、大抵の場合、複数の場所にある複数のエージェント間で、電話、テキスト、電子メールなどの複数のコンタクトモードを管理できるコンタクトセンターを通じて管理される。特定のテレエージェントがマーケティングクライアントに代わってコンタクトセンターを代表し、顧客担当者からの電話を受け取る場合、その顧客担当者との間に複数のコンタクトが既にあって、それらのコンタクトは、現在のテレエージェントが知ることも分類することも非常に困難な、テキストメッセージや電子メール、更には人工知能エージェントからの自動メッセージなどを含んでいる可能性が十分にある。
【図面の簡単な説明】
【0004】
図1図1は、本発明の実施形態に基づいた顧客関係管理(CRM)のための例示的なシステムを示すネットワーク図である。
図2図2は、本発明の実施形態に基づいてCRMにおいて使用可能なセマンティックトリプルの例示的なグラフの線図である。
図3図3は、本発明の実施形態に基づいてCRMを実施する例示的なコンピュータシステムの機能ブロック図である。
図4図4は、本発明の実施形態に基づいてCRMを実施する例示的なダッシュボードの線図である。
図5図5は、本発明の実施形態に基づいた、シンクライアント(thin-client)アーキテクチャにおけるCRMのための例示的な装置の機能ブロック図である。
図6図6は、本発明の実施形態に基づいた、CRM用のボイスサーバとして使用できる例示的なコンピュータシステムのブロック図である。
図7図7は、本発明の実施形態に基づいた、CRM用のトリプルサーバとして使用できる例示的なコンピュータシステムの機能ブロック図である。
図8図8は、本発明の実施形態に基づいた、CRMに使用できる例示的なコンピュータメモリシステムのブロック図である。
図9図9は、本発明の実施形態に基づいた、シッククライアント(thick-client)アーキテクチャにおけるCRMのための例示的な装置の機能ブロック図である。
図10図10は、本発明の実施形態に基づくCRMの例示的な方法を示すフローチャートである。
図11図11は、顧客、顧客担当者、及び通信セッションに関するトリプルがサブグラフとして組み入れられているエンタープライズナレッジグラフである
図12図12は、顧客、顧客担当者、及び通信セッションに関するトリプルが個別のグラフとして組み入れられている例示的なグラフの組である。
図13図13は、本発明の実施形態に基づくCRMの更なる例示的な方法を示すフローチャートである。
図14図14は、本発明の実施形態に基づくCRMの更なる例示的な方法を示すフローチャートである。
【発明を実施するための形態】
【0005】
コンピュータシステムに実装される顧客関係管理(CRM)の例示的な方法及び装置について、図1から始まる添付図面を参照して説明する。図1は、本発明の実施形態に基づいた、CRMに使用できる例示的なコンピュータシステムを示すネットワーク図である。図1の例におけるコンピュータシステムは、クライアントコンピュータ(152)と、複数のサーバ、即ち、トリプルサーバ(157)、ボイスサーバ(151)、リードエンジン(134)、及びスクリプトエンジン(132)とを含む。クライアントコンピュータと、リードエンジンやスクリプトエンジンを含むサーバとは纏めて、本発明の実施形態に基づいてCRMを実装するコンピュータシステム全体を構成している。クライアントコンピュータ(152)は、CRMのために構成された自動計算機であって、ディスプレイ、グラフィカルユーザーインターフェース、又は音声対応インターフェースを介したCRM関連I/Oを有しており、音声対応インターフェースは、ユーザーからの音声を受け取って認識し、ユーザーに音声プロンプトと音声応答とを示す。このようなデバイスは、実施形態に基づいてCRMを実行するコンピュータアーキテクチャのクライアント側を実装することから、クライアントデバイスと呼ばれる。図1の例のクライアントコンピュータには、デスクトップコンピュータ(107)、携帯電話(110)、及びラップトップコンピュータ(126)があり、これらのコンピュータの何れか又は全てが、例えばコンタクトセンター(305)でCRMを行うテレエージェント用ワークステーションとして機能できる。クライアントコンピュータは、データ通信のためにネットワーク(100)を介して、トリプルサーバ(157)、ボイスサーバ(151)、リードエンジン(134)、及びスクリプトエンジン(132)に無線接続(116,118,120)を用いて結合されている。
【0006】
リードエンジン(134)は、様々なリソースからリード(lead)を収集して顧客及び見込み客について使用するために、それらをGUIを介してテレエージェントに提供する自動計算機である。リードとは、顧客又は見込み客を表す構造化データのことであり、通常、リードID、リード名、会社、リードの役割、リード又は会社の住所、リードの電話番号、及び、当業者が思い付くであろうその他の関連情報を含む。このようなリードは、自動リード生成とGUIを介したテレエージェントへの提示のために、レコード、メッセージ、オブジェクト、又は、自動計算機で使用できるその他のデータ構造として組み込まれてもよい。
【0007】
スクリプトエンジン(206)は、テレエージェントが顧客とのコミュニケーションに使用するための動的スクリプトをリアルタイムで生成する自動計算機である。動的スクリプトとは、様々な要因に依存してリアルタイムに変化するスクリプトであって、当該要因には、現在における業界のトレンドデータ、テレエージェントがサポートしている特定の製品、顧客が持っている又は持っていない製品などが含まれる。つまり、動的スクリプトは、業界のトレンドに応じてリアルタイムに変化するという意味で動的である。スクリプトのセンテンスは、顧客の利益のためにリアルタイムで動的に並び替え、追加、又は削除される。このようなセンテンスは、リアルタイムで動的に並べ替えられる又は生成されることで、関連する業界及びソフトウェアの記載のリポジトリから取得されることで、他のテレエージェントによって提供されることで、或いは、当業者が思い付くような他の方法で、スクリプト内で動的に変更されてよい。
【0008】
自動計算機とは、本明細書で使用されている用語として、コード又はその他の自動化計算ロジックのモジュール、セグメント、又は一部、ハードウェア、ソフトウェア、ファームウェアなどに加えて、これらのローカル又はリモートの任意の組合せを意味する。自動計算機は大抵の場合、特定の論理機能を実行するための実行可能な命令、物理ユニット、又はその他の計算ロジックとして実装される。
【0009】
テレエージェント(128)は、コンタクトセンターのエージェントであって、商品及びサービスの販売又はサポートを担当する人である。顧客担当者(129)は、コンタクトセンターの商品又はサービスの現在又は将来の購入者である顧客、会社や企業を代理する人である。
【0010】
CRMコンタクトセンター(305)は、本発明の実施形態に基づいてCRMを提供する人的資源及びコンピュータ資源の機構である。図1の例では、破線がコンタクトセンター(305)の範囲を示している。その範囲は物理的な範囲ではなく、論理的な範囲である。コンタクトセンターを構成する全ての資源及び人々は同じ物理的場所にいてもよく、或いは、コンタクトセンターは高度に仮想化されて、テレエージェント、クライアントデバイス、サーバなどの物理的場所は別々にされてよい。テレエージェントの一部又は全員は、デスク、ワークステーション、電話機などをエージェントに提供するコールセンターで一緒に働くことができる。テレエージェントの全員又は一部は、ホームオフィスや移動先から仕事をすることができる。スクリプトエンジン及びリードエンジンは、同じ論理的コンタクトセンターを構成する様々な物理的場所にて、トリプルサーバやボイスサーバなどを収容するデータセンターとは別のデータセンターに配置されてよい。
【0011】
セマンティックグラフデータベース(152)は、ノード、エッジ、及びプロパティを有するセマンティッククエリ用のグラフ構造を用いて、データを表現し、保存するデータベースである。このデータベースシステムの重要なコンセプトは、データストアのデータアイテムを直接関連付けるグラフ(即ち、エッジ又はリレーションシップ)である。リレーションシップによって、ストア内のデータは互いに直接リンクされて、大抵の場合、1回の操作で取り出される。このようなグラフデータベースは、従来のリレーショナルデータベースとは対照的であって、従来のリレーショナルデータベースでは、データ間のリンクは単なる間接的なメタデータであり、クエリは、関連するデータを収集するためにジョインを用いてストア内のデータを検索する。グラフデータベースは、設計上、データ間の明示的な関係を作って、リレーショナルシステムではモデル化することが困難である複雑な階層構造を簡単且つ迅速に検索できるようにする。
【0012】
グラフデータベースの根底にあるストレージ機構は様々である。幾つかは、リレーショナルエンジンに依存しており、グラフデータをテーブルに格納する。他には、キーバリューストアデータベース又はドキュメント指向データベースをストレージに使用して、本質的にNoSQL構造にするものがある。グラフデータベースからデータを検索するためには、SQLではないクエリ言語が必要になることが多い。SQLは、リレーショナルデータベース用に設計されており、グラフのトラバースを簡潔に処理できない。幾つかのシステムがあるが、ほとんどは、1つのプロダクトと密接に結び付いており、また、Gremlin、SPARQLやCypherのようなマルチベンダーのクエリ言語も存在している。クエリ言語インターフェースを有していることに加えて、大半ではないが、一部のグラフデータベースはアプリケーションプログラミングインターフェース(API)を介してアクセスされる。
【0013】
グラフデータベースは、グラフ理論に基づいており、ノード、エッジ、及びプロパティを採用している。ノードは、人、企業やアカウントのような、追跡されるアイテムのエンティティを表す。それらは、リレーショナルデータベースにおけるレコード、リレーション、又はロウと、或いはドキュメントデータベースのドキュメントとほぼ同等である。エッジは、グラフ又はリレーションシップとも呼ばれており、ノードと他のノードを結ぶ線であって、ノード間の関係を表す。ノード、プロパティ、及びエッジの接続と相互接続を調べると、意味のあるパターンが現れる。グラフデータベースの重要な概念であるエッジは、他のシステムでは直接組み込まれていないアブストラクションを表す。プロパティは、ノードに関連して密接に結び付いた情報である。例えば、N3がノードの1つであるならば、N3のどの側面が特定のデータベースに密接に結び付いているかに応じて、Webサービスのサポート、クラウドコンピューティング、又は文字Nで始まる単語のようなプロパティに関連付けられてよい。
【0014】
図1のグラフデータベースはセマンティックグラフデータベースであり、その中にエンタープライズナレッジグラフ(154)が格納される。図1の例示的なエンタープライズナレッジグラフは、例えば、リソースディスクリプションフレームワーク(RDF)に基づいて組み込むことができる。このような実装では、エンタープライズナレッジグラフは、各データアイテムをリソース識別子で表す。このようなリソース識別子には、ユニフォームリソース識別子(URI)と、国際化リソース識別子(IRI)と、ユニフォームリソースロケータ(URL)と、リテラルと、非リテラルと、その他のリソース識別子とが含まれてよい。RDFは、データアイテム間のリソース識別子の関係を、データモデル全体の中心的な属性としている。URIのようなリソース識別子は、データで作成され、リソース識別子を用いて命名された関係を用いてリンクされる。RDFデータストアの全ての識別子に識別子で名前が付いているということは、リレーションシップ、エッジ、又はプロパティを含む全てのデータアイテムが明示的に定義され、自己定義されていることを意味する。
【0015】
図1のエンタープライズナレッジグラフ(154)は、点(別名、ノード)と有向エッジとで構成されている点で、数学的な有向グラフの特徴を有している。各エッジは2つの点を結んでおり、タイプを有しており、1又は複数のプロパティを持つことができる。この例の各プロパティは、キーと値のペアとして実装されてもよい。エッジを特徴付けてプロパティを付す機能により、このようなナレッジグラフの意味表現力(semantic expressiveness)が増加する。グラフデータベースとセマンティックグラフデータベースのこの記載は説明のためであって、限定のためではない。つまり、代替的な実施形態には、リレーショナルデータベースと、Non-SQLデータストアと、ファイルと、テキスト文書と、スプレッドシートと、その他の実行可能なデータベース構造とが含まれ得る。
【0016】
コンピュータメモリ(169)は、キャッシュ、ランダムアクセスメモリ(RAM)、ディスクストレージなど、コンピュータメモリのほとんどの形態を含み得る。このように構成されたコンピュータメモリは通常、音声対応デバイスに存在するか、或いは、(169)で示されているように1又は複数のトリプルサーバ(157)に存在する。
【0017】
画像やデジタルテキストなどの中で、とりわけ話された又はタイプされたテキストの単語(509)は、通常、セッション及びコンタクトのコンテンツ(509)の少なくとも一部を構成する。そのような単語は、テキストボックスに入力された単語、電子メール又はテキストメッセージの単語、或いは、会話(313)の認識(315)のためにデジタル化されたスピーチの単語であり得る。認識されるスピーチは会話全体であってよく、例えば、会話している両者が同じ部屋にいて、会話全体が音声対応デバイスのマイクロフォンによって拾われる。認識されるスピーチの範囲は、ヘッドセット(105)のマイクロフォンを通した場合のみのように、会話の片側のみを音声対応デバイスに提供することで減らされてよい。クライアントコンピュータで実行されているVoiceXMLダイアログからのプロンプトに応答する音声のみを認識できるようにすることで、認識されるスピーチの範囲が更に減らされてよい。認識されるスピーチの範囲が狭まることで、データ処理負荷がシステム全体にわたって低減されるが、少なくとも幾つかの実施形態では、会話全体を認識して、会話における全ての単語のフローをディスプレイ(110)に表示するという選択肢も残される。
【0018】
会話(313)のスピーチは、自然言語処理音声認識(NLP-SR)エンジン(153)が処理することで、デジタル化された単語へと認識される。ここで示されているエンジンは、ボイスサーバ(151)に配置されているが、音声対応クライアントコンピュータへのインストールにも適している。ボイスサーバ(151)の音声認識機能による単語(509)のデジタル化に加えて、更なる例として、グラフィカルユーザーインターフェース(110)のウィジェットの操作により、単語(509)をデジタル化してよい。或いは、更に別の例では、ユーザー(128)がグラフィカルユーザーインターフェース(110)のテキスト入力ボックス(366)に入力することで、単語(509)をデジタル化してよい。
【0019】
AIAは、人工知能の、つまり、コミュニケーションと学習における人間の行動に似た行動を提供することを試みる自動化の実装である。AIAは、ボイスサーバと連携して、人間のような音声を提供する。AIAでは、自然言語処理装置を操作して、電子メールに人間のようなテキストを提供する。そして、AIAは、新たにパースされたトリプル(752)と新たに推論されたトリプル(754)とを用いてエンタープライズナレッジグラフ(154)を拡張することで、機械学習を実行する。AIAはCRMアプリケーションの「もの」と言われるが、これは幾つかの実施形態ではCRMアプリケーションの実際の構成要素であるため、又は、AIAがアプリケーションプログラミングインターフェースを通じてCRMを効果的に操作するからであって、「エージェント」としてのAIAは、少なくともある程度は、特にCRMアプリケーションのエージェントであり、一般的にはコンタクトセンターのエージェントである。テレエージェントと顧客担当者の両方との通信の管理、達成、又は実行において、AIAは概ね、CRMアプリケーション及びコンピュータシステムの一種のラッパー又はコンテナとして機能する。即ち、実施形態では、テレエージェントと顧客担当者は、主にAIAを通じてコンタクトセンター全体と出会うことが多い。
【0020】
多くの実施形態では、AIA(196)は、テレエージェント(128)と顧客担当者(129)の間の最初の通信コンタクト(142)の際に、コンピュータシステムのコンピュータメモリ(169)の構造として、通信セッション(140)を確立する。AIAはその後、通信プラットフォーム(101)を介した通信セッションを通じて、テレエージェントと顧客担当者との間で、最初のコンタクト(142)、更に後続の通信コンタクト(144)を含む一連の通信コンタクトを管理する。通信プラットフォームの例としては、電子メールプラットフォーム、チャットボット、電話、及びテキストメッセージングプラットフォームが挙げられる。実施形態に基づいたCRM通信プラットフォームとして適合可能なテキストメッセージングプラットフォームの例には、電話システムを介したSMSメッセージング、Webアプリケーション内のインラインWebチャット、及びWeb指向のメッセージングアプリケーション、例えば、WhatsApp、Facebook Messenger、Slack、Snapchat、Cryptocat、Kik、Google Hangouts、Line、MeowChat、Ethan、中国のWeChat及びQQ Messenger、Viber、韓国のKakaoTalk、ベトナムのZaloに加えて、InstagramやTwitterのダイレクトメッセージング機能も挙げられる。
【0021】
多くの実施形態では、AIAは、コンピュータシステムのコンピュータメモリ(169)の構造として、セッション(140)を自動計算機のオブジェクト指向モジュールとして確立し、当該セッションの構造及びコンテンツ(509)は、エンタープライズナレッジグラフ(154)のセマンティックトリプルとしても格納される。即ち、そのような実施形態におけるセッションは、最初は少なくともオブジェクト指向のセッションクラスのインスタンスとして確立される。そのようなセッションを確立することは、セッションのメンバーデータ要素として、サブジェクトコード、タイムスタンプ、テレエージェントの身分証明、顧客担当者の身分証明、及び任意選択的にセッションに関する他の情報をコンピュータメモリに格納することを含んでよい。
【0022】
この例におけるAIAはコンタクトのシーケンス(142,144)を管理し、これは、コンピュータシステムのコンピュータメモリ(169)を構造化し、自動計算機のオブジェクト指向モジュールとして各コンタクトを確立することで行われる。当該セッションの構造及びコンテンツはまた、エンタープライズナレッジグラフ(154)のセマンティックトリプルとして格納される。即ち、この例におけるコンタクトは、最初は少なくともオブジェクト指向のコンタクトクラスのインスタンスとして確立される。コンタクトのシーケンスを管理することは、各コンタクトのメンバーデータ要素として、コンタクトが開始するタイムスタンプと、コンタクトの継続時間と、コンタクトのセッション識別子と、プラットフォームタイプと、コンタクトのステータスと、コンタクトの通信コンテンツと、任意選択的にコンタクトに関するその他の情報とをコンピュータメモリに記録することを含む。
【0023】
プラットフォーム間でのコンタクトの管理には、同じプラットフォーム間又は異なるプラットフォーム間でのコンタクトの非同期管理が含まれ、また、プラットフォーム間での管理には、プラットフォームタイプ間での管理が含まれる。セッションにおける最初のコンタクトは電話で行い、その後のコンタクトは同じ電話又は異なる電話で行うことができる。最初のコンタクトはメールで、その後のコンタクトは電話又はテキストメッセージで行うことができる。
【0024】
プラットフォーム間でコンタクトを管理することは、プラットフォームの物理的場所間でコンタクトを管理することを含む。セッションの最初のコンタクトはコールセンターの固定電話を用いて、次のコンタクトはレストランの携帯電話を用いて行ってもよい。最初のコンタクトはコールセンターの机からの電子メールを用いて、その後のコンタクトは携帯電話又はスーパーマーケットからのテキストメッセージを用いて行ってよい。
【0025】
図1の例示的なコンピュータシステムはパースエンジン(380)を含んでおり、パースエンジン(380)は、通信コンタクトの構造及びコンテンツを含む通信セッションの構造及びコンテンツ(509)を、記述論理のパースされたトリプル(752)にパースする。図1の例のコンピュータシステムは推論エンジン(298)も含んでおり、推論エンジン(298)は、エンタープライズナレッジグラフの推論ルールに従って、パースされたトリプル(752)から推論されたトリプル(754)を推論する。図1の例示的なコンピュータシステムの機能は、実施形態に基づいてCRMで使用するために、パースされたトリプル(752)及び推論されたトリプル(754)をエンタープライズナレッジグラフ(154)に格納することを含む。
【0026】
パースされたトリプル(752)は、例えば、主語、述語、及び目的語で構成されるセマンティックトリプルであり、認識されたスピーチ、GUIウィジェットからの選択やGUIを介して入力されたテキストなどを含むセッション又はコンタクトから得られた要素から構成されるという意味で「パース」される。つまり、「パース」とは、様々なソースからセッション及びコンタクトの構成要素を取り出して、それらをセマンティックトリプルに形成することを意味する。パースには、データ入力からの生のテキストを、又は、NLP-SRエンジンによって品詞へと処理される会話スピーチをセマンティックトリプルへと形成することが含まれる。このような品詞は、各品詞を主語-述語-目的語として適切にトリプルに配置することで、トリプルへと形成される。
【0027】
推論されたトリプル(754)は、ナレッジグラフ、ここではグラフエンタープライズナレッジグラフ(154)におけるデータ要素間の関係を支配する推論ルール(376)に従って、パースされたトリプル(752)から推論される。推論は、既存のトリプルのパターンに基づいて、新しいトリプルがグラフに系統的に追加されるプロセスである。情報の統合、つまり、新しい推論されたトリプルを含めることは、クエリプロセスの前又は途中で推論を呼び出すことで実現できる。クエリだけでなく推論用に設計されたエンジンにおいて推論ルールを用いて実行されたクエリは、アサートされたデータだけでなく推論された情報も返す。読者は、「データ」又は「情報」又は「知識」への全てのそのような言及が実際にはセマンティックトリプルへの言及であることを認識するであろう。
【0028】
推論ルールの例を示す。
【表1】
【0029】
平たく言うと、この規則は、クラスAがクラスBのサブクラスである場合、タイプAの全てのものもタイプBであると述べている。このルールを「タイプ伝搬ルール(type propagation rule)」と呼び、AはBのサブクラスであって、xはまたBでもある。或いは、SPARQL CONSTRUCTのクエリでは、このタイプ伝搬ルールが表現されてよい。
【表2】
【0030】
更に説明するために、これらの例のトリプルが以前にアサートされていると仮定する。
【表3】
【0031】
タイプ伝搬ルールを適用すると、以下のような推論になる。
【表4】
【0032】
推論されたトリプルのうちの2つはまた、以前にアサートされていた。
【表5】
【0033】
そしてここで、推論されたトリプルをアサートされたグラフに単純に挿入する推論エンジンでは、新しいグラフに、太字の斜体で示された推論されたトリプルがある。
【表6】
【0034】
このような推論の基本的な目的は、より関連しており、より適切に統合されており、そして、データの整合性制約がデータ自体に表現されているデータを生成することである。データ自体が、データがどのように使用され得るかを記載している。データをより統合して一貫性のあるものにするためには、ここで説明したような単純な推論は、大抵の場合複雑な推論よりも有用であって、あまり刺激的ではないが、非常に有用である。実施形態に基づいて推論で行うことができるのは、CRMデータのこの種の平凡な一貫性の達成である。この種の推論は、一見するとほとんど意味がないように見えるかもしれないが、実際のところ、この種の推論はまさに、大規模なデータストアの一貫性に影響を与える種類の相関関係である。
【0035】
この明細書では、「パースされたトリプル」とは、コンタクトの発生時又は発生後直ぐに、ほぼリアルタイムでコンタクト及びセッションの構造及びコンテンツからパースされたトリプルのことである。エンタープライズナレッジグラフのトリプルの多くは、ある時点でパースされていた可能性があるが、本明細書では説明を明確にするために、エンタープライズナレッジグラフに既にあるトリプルを「アサートされたトリプル」とし、セッション及びコンタクトの構造及びコンテンツからちょうど今パースされたトリプルを「パースされたトリプル」とする。「推論されたトリプル」は、コンタクトが発生したとき又はその直後に、パースされたトリプルからほぼリアルタイムで推論されたトリプルである。エンタープライズナレッジグラフにおけるトリプルの多くは、ある時点で推論された可能性があるが、本明細書では説明を明確にするために、エンタープライズナレッジグラフに既に存在するトリプルを「アサートされたトリプル」とし、セッション及びコンタクトからパースされたトリプルからちょうど今推論されたトリプルを「推論されたトリプル」とする。
【0036】
これらのトリプルには、構造的、機能的、又は論理的な差異はない。アサートされたトリプル、パースされたトリプル、推論されたトリプル、これらは全て、完全に同じ種類のエンティティである。本明細書では、「アサートされた」、「パースされた」、及び「推論された」という表示は、種類の違いを特定するためではなく、説明を簡単にするためにのみ使用されている。これらのトリプルは全て、ナレッジグラフの定義されたロジックの幾つかの形式に準拠する、幾つかの実施形態では記述論理に、幾つかの実施形態では決定可能性をサポートしてロジックに準拠する情報の3部表現(three-part expression)である。
【0037】
幾つかの実施形態では、エンタープライズナレッジグラフ(154)は、企業全体、財務、企業形態及び構造、従業員データ、法人データ、取引、契約、販売履歴、製品説明などを記述する、それらに関連する、又は、それらに役立つ全ての若しくはほとんどの情報を含んでよい。故に、CRM情報は企業情報全体のサブセットであり、アサートされたトリプル、パースされたトリプル、そして推論されたトリプルはCRM情報の一種である。全体的なグラフエンタープライズナレッジグラフのサブグラフとしてのトリプルに関するこの説明は、限定ではなく説明のためである。少なくとも幾つかの実施形態では、様々な理由から、CRMデータ、通信セッションデータ、コンタクトデータ、顧客データ、顧客担当者に関連する情報、又はコールノートデータは、サブグラフではなく別のグラフで実装されてもよい。図1の例では、エンタープライズナレッジグラフ(154)は、例えば述語論理や記述論理のような少なくとも1つの形態の意味論理に従って構成及び接続されたセマンティックトリプルで実装される。図1の例では、エンタープライズナレッジグラフは、定義された論理のセマンティックトリプルで構成されており、コンピュータシステム全体を通じてテレエージェントが利用可能なCRM関連の知識を全て含んでいる。それらのトリプルは、そのようなトリプルが推論によって、「推論されたトリプル」と呼ばれる更なるトリプルに明示的に記載されている推論によって規定された意味を有しているという点でセマンティックトリプルである。
【0038】
トリプル(752,754)とは、論理の形式で表現された3部構成のステートメントである。文脈に応じて、論理におけるステートメントの実質的に同じ3つの部分に言及するために、異なる用語が使用される。一階論理では、それらの部分は定項、単項述語、及び二項述語と呼ばれる。ウェブオントロジー言語(OWL)では、それらの部分は、個体、クラス、及びプロパティである。幾つかの記述論理では、それらの部分は、個体、コンセプト、及びロール(role)と呼ばれる。本明細書では、トリプルの要素を主語(subject)、述語(predicate)、及び目的語(subject)と呼び、<subject> <predicate> <object>又は(subject predicate object)と表現されるか、或いは人間が読むことを目的とした他の抽象的な形態で表現される。トリプルの表現には様々なモードがある。トリプルの要素は、ユニフォームリソースロケータ(URL)、ユニフォームリソース識別子(URI)、国際化リソース識別子(IRI)の何れかで表現できる。トリプルは、N-Quads、Turtle構文、TriG、Javascript Object Notation、又は「JSON」で表現でき、そのリストは益々増えていく。ここで使用されている表現、山括又は括弧内の主語(subject)-述語(predicate)-目的語(object)は、抽象構文の形式であって、機械処理ではなく人間の可読性に最適化されているが、その実質的な内容はトリプルの表現として正しい。この抽象的な構文を使って、以下にトリプルの例を示す。
【表7】
【0039】
同じアイテムが複数のトリプルで参照されてよい。この例では、Bobは4つのトリプルの主語であって、Mona Lisaは1つのトリプルの主語であり、2つのトリプルの目的語である。同じアイテムを1つのトリプルの主語にし、別のトリプルの目的語にできる機能によって、トリプル間の接続を実行でき、接続されたトリプルがグラフを形成する。
【0040】
トリプルとグラフの関係を更に説明するために、図2にグラフ(600)の線図を示す。図2のグラフ例は、BobとMona Lisaに関する上述の例示的なトリプルグラフを線図の形態で実現している。図2の例では、グラフのエッジ(604,608,612,616,620,624)は夫々、ノード間の関係、即ち、<is a>、<is a friend of>、<is born on>、<is interested in>、<was created by>、<is about>という述語を表している。ノード自体は、<Bob>、<person>、<Alice>、<the 4th of July 1990>、<the Mona Lisa>、<Leonardo da Vinci>、及び<the video ‘La Joconde a Washington’>というトリプルの主語(602,618,626)と目的語(606,610,614,618,622)を表している。Mona Lisaを表すノード(618)は、主語であると同時に目的語でもある。Mona Lisaを表すノード(618)は、Bobの関心の対象を記述するトリプル(602,616,618)の目的語である。Mona Lisaを表すノード(618)は、LeonardoによるMona Lisaの制作を記述するトリプル(618,620,622)の目的語である。
【0041】
知識表現のシステムでは、知識はトリプルのグラフで表され、例えば、Gremlin、Cypher、Prologデータベース、Lispデータ構造、或いは、RDFS、OWLやその他のオントロジー言語のRDF指向オントロジーで組み込まれた知識表現を含む。このようなグラフに対して、例えばGremlin、Cypher、Prolog、Lisp、又はSPARQLでセマンティッククエリとセマンティック推論を実行するように構成された検索エンジンによって、検索や推論が行われる。
【0042】
Gremlinは、Apache FoundationのTinkerPopグラフコンピューティングフレームワークで提供されているクエリ言語である。Cypherは、自然言語の入力からSPARQLクエリを生成するAIプログラムであって、ユーザーはデータベースの更新及び問合せを平易な言語で行うことができる。Cypherは、自然言語処理に独自のグラマ及びレキシコンをもたらす。SPARQLとは、「SPARQL Protocol and RDF Query Language」の再帰的略称である。Lispは信頼性と柔軟性があるプログラミング言語であって、人工知能、知識表現、及びセマンティックアプリケーションで広く使用されている。Prologは、汎用の論理型プログラミング言語である。Prologは、Prologデータベースのステートメント及びルールとして表現されている連結されたトリプルに対するクエリをサポートする。SPARQLは、RDFSやOWL、その他のRDF指向のオントロジーで表現されたオントロジーに対するクエリをサポートする。Prolog、SPARQL、Cypher、Gremlin、Lispなどは、本発明の例示的な実施形態を説明する技術の例である。故に、それらは本発明の限定ではない。実施形態に基づいた使用可能な知識表現は、現在又は将来の技術において多くの形態を取ることができ、そのようなものは全て、現在及び今後も本発明の範囲に完全に含まれるであろう。
【0043】
記述論理は、形式的知識表現言語のファミリーの一員である。幾つかの記述論理は、命題論理よりも表現力があるが、一階論理よりも表現力がない。一階論理とは対照的に、記述論理の推論問題は通常、決定可能である。それ故に、記述論理における探索及び推論の問題に対して、効率的な決定手順を組み込むことができる。一般的記述論理、空間的記述論理、時間的記述論理、時空間的記述論理、及びファジー記述論理があり、各記述論理は、数学的コンストラクター(mathematical constructor)の異なるセットをサポートしてことで、表現力と推論の複雑さの間のバランスが異なることを特徴としている。
【0044】
検索クエリは、セマンティクスのスケールに沿って配置される。従来のWeb検索は、例えば、そのスケールのゼロ点に配置されて、セマンティクスも構造もない。キーワード「derivative」に対する従来のweb検索は、二次的著作物(derivative work)の文字的概念と微積分手順とについて説明している何千ものHTMLドキュメントを返す。「differential」というキーワードに対する従来のWeb検索は、自動車部品を説明する多くのwebページと、微積分機能について説明する多くのwebページとを返す。
【0045】
他のクエリは、スケールの中間点に沿って配置され、一部のセマンティクスと一部の構造とは、完全ではない。これは実際に、web検索の現在の傾向である。このようなシステムは、決定可能ではなく実行可能と呼ばれることがある。幾つかの観点からすると、決定可能性は主要な関心事ではない。多くのWebアプリケーションでは、例えば、データセットは巨大であって、それ自体が不完全であるある種の発見的プログラムによってスパイダーされ、スクレイプされ、構造に変換された可能性のあるデータを分析するためには、100%正しいモデルを単に必要としない。人々がGoogleを利用するのは、完璧な答えを常に見つけることはできなくても、大抵の場合には良い答えを見つけることができるからである。このような入り乱れた検索環境では、証明可能な正しさは重要な目標ではない。
【0046】
他のクラスのクエリは、結果の正確さが重要である場所に配置され、決定可能性が入り込む。データセンターのテレエージェントであって、自動車の顧客と電話でフロントディファレンシャル(front differential)について話し合っているユーザーは、正しい用語を見つけるためには微積分の結果を並べ替える必要がないことを憂慮する。このようなユーザーは、自動車用語の正しい定義を必要としており、ユーザーは、会話のリアルタイムで、例えば数秒以内にクエリ結果を必要とする。
【0047】
形式論理学では、システムに関して表現できるどのアサーションについても、そのアサーションがシステム内で有効であるかどうかを決定できるような方法が存在する場合、システムは決定可能である。実際には、決定可能な記述論理に対するクエリは、無限ループすること、クラッシュすること、回答を返さないこと、又は、間違った回答を返すことはない。決定可能な記述論理は、明確で、曖昧さがなく、機械処理が可能なデータモデル及びオントロジーをサポートする。決定不能なシステムはそうではない。決定可能な記述論理は、コンピュータシステムが論理で定義されたクラスの同等性を決定できるアルゴリズムをサポートする。決定不能なシステムはそうではない。決定可能な記述論理は、C、C++、SQL、Lisp、RDF/RDFS/OWLなどで実装できる。RDF空間では、OWLのサブディビジョンは、解読可能性で異なる。完全なOWLは決定可能性をサポートしない。OWL DLはサポートする
【0048】
更に説明すると、図3は、本発明の実施形態に基づいたCRMを実施する例示的なコンピュータシステム(178)の機能ブロック図を示している。図3の例示的なコンピュータシステムは、プロセッサ即ち「CPU」(156)と、ランダムアクセスメモリ即ち「RAM」(168)と、サウンドカード(174)と、ディスプレイ(180)とを含む。このシステムは、典型的にはRAMに格納されてCPUで実行されるCRMアプリケーションプログラム(195)を含む。CRMアプリケーションは、ディスプレイを介してグラフィカルユーザーインターフェース、即ち「GUI」を見せる。これは、ダッシュボード(110)の形態であり、ディスプレイ(180)に加えて、サウンドカード、オーディオ機器、キーボード及びマウス(181)を使用することで、ユーザI/Oを受け入れ、提供する。
【0049】
図1に示された例示的なコンピュータシステム全体は、コンピュータシステムのCRMアプリケーション(195)の人工知能エージェント(AIA)(196)を用いて、コンピュータシステムのコンピュータメモリ(169)の構造として、顧客担当者(129)との1又は複数の通信コンタクト(142,144)で構成される通信セッション(140)を、テレエージェント(128)に代わって顧客担当者(129)と管理することによって、本発明の実施形態に基づいてCRMを実施するように概ね動作する。そのAIA(196)はまた、通信セッション(140)をサポートしてために、テレエージェント(128)との通信を実行する。この例では、AIA(196)がアプリケーションプログラミングインターフェース(198)を通じてCRMアプリケーションを操作することから、AIA(196)は、CRMアプリケーション(195)の「エージェント」であると言える。
【0050】
図3に示されている例示的なコンピュータシステムは概ねAIAによって操作されて、テレエージェント(128)と顧客担当者(129)との間の最初の通信コンタクト(142)の際に、コンピュータシステムのコンピュータメモリ(169)の構造として、通信セッション(140)を確立することによって、本発明の実施形態に基づいてCRMを実施する。セッションを確立する場合、AIAは、コンピュータシステムのコンピュータメモリの構造として、自動計算機のオブジェクト指向モジュールとしてのセッション(140)を確立し、当該セッションの構造及びコンテンツ(509)もまたエンタープライズナレッジグラフ(154)のセマンティックトリプル(752,754)としても格納される。即ち、そのような実施形態におけるセッションは、最初は少なくともオブジェクト指向のセッションクラスのインスタンスとして確立される。そのようなセッションを確立することは、セッションのメンバーデータ要素として、サブジェクトコード、タイムスタンプ、テレエージェントの身分証明、顧客担当者の身分証明、及び任意選択的にセッションに関する他の情報をコンピュータメモリに格納することを含む。
【0051】
また、AIAは、概ね、通信プラットフォーム間の通信セッション(140)を介して、テレエージェントと顧客担当者の間の最初のコンタクト(142)とそれに続く通信コンタクト(144)とを含む通信コンタクトのシーケンス(374)を管理することによって、図3のシステムを操作する。コンピュータシステムのコンピュータメモリを構造化し、自動計算機のオブジェクト指向モジュールとして各コンタクトを確立することで、AIAはコンタクトのシーケンスを管理し、モジュール構造及びコンテンツも、エンタープライズナレッジグラフのセマンティックトリプルとして格納される。即ち、この例におけるコンタクトは、最初は少なくともオブジェクト指向のコンタクトクラスのインスタンスとして確立される。コンタクトのシーケンスを管理することは、各コンタクトのメンバーデータ要素として、コンタクトが開始するタイムスタンプと、コンタクトの継続時間と、コンタクトのセッション識別子と、プラットフォームタイプと、コンタクトのステータスと、コンタクトの通信コンテンツと、任意選択的にコンタクトに関するその他の情報とをコンピュータメモリに記録することを含む。
【0052】
図3の例示的なシステムはパースエンジン(380)を含んでおり、パースエンジン(380)は、通信コンタクトの構造及びコンテンツを含む通信セッションの構造及びコンテンツ(509)を、記述論理のパースされたトリプル(752)にパースする。図3の例示的なコンピュータシステムはまた推論エンジン(298)を含んでおり、推論エンジン(298)は、エンタープライズナレッジグラフの推論ルール(376)に従って、パースされたトリプル(752)から推論されたトリプル(754)を推論する。図3の例示的なコンピュータシステムの機能は、実施形態に基づいてCRMで使用するために、パースされたトリプル(752)及び推論されたトリプル(754)をエンタープライズナレッジグラフ(154)に格納すること(398)を含む。
【0053】
図3の例では、CRMアプリケーション(195)は、AIAの指令を受けて、コンタクト(142,144)のシーケンス(374)を生成する。CRMコンタクトは、デジタル化された単語をパース(380)し、推論(298)して、エンタープライズナレッジグラフ(154)に有用なトリプル(752,754)を作成するコンテンツを生成するアクティビティである。例えば、オブジェクト指向のコンタクトクラスのインスタンスとして取り上げると、間違いなく、CRMのコンタクトには、単語に加えて、メンバメソッドや他のメンバーデータ要素なども含まれるであろう。とはいえ、CRMのコンタクトは基本的に、パース及び推論のためのコンテンツ及び構造(509)のコンテナ又はラッパーである。CRMのコンテンツの例には、新しい顧客、新しい顧客担当者、新しいコールノートを表す単語や、ユーザーがGUIウィジェットを使って新たに構築したトリプルなどが挙げられる。CRMのコンタクトは、例えば、ダッシュボードのボタンウィジェットを起動してコンタクトを指定するなどのユーザーの入力によってスコープされる。
【0054】
この例では、推論エンジン(298)は、セマンティックリーズナ(semantic reasoner)(378)のコンテキストで動作する。セマンティックリーズナは、推論エンジンを拡張して機能を強化した自動化モジュールである。本明細書では、クエリの実行と推論とは、同じエンジンで、つまりクエリ推論エンジン(単に推論エンジンと呼ばれることが多い)によって実行されると概ね仮定する。クエリエンジンと推論エンジンを分けて構成することも可能であるが、本明細書では説明を容易にするために、クエリ機能と推論機能とを合わせて「推論エンジン」とする。リーズナを用いる場合、推論エンジンの機能をクエリの実行と推論とに限定することができる。クエリ及び推論に関連する追加機能は、セマンティックリーズナによってもたらされる。このような追加機能の例には、パースされたトリプルと推論されたトリプルとをエンタープライズナレッジベースに挿入すること、パース又は推論されたトリプルを更なる処理のために別のグラフとして保存すること、パースされたトリプル及び推論されたトリプルを、例えば公開のために、新しい別のデータセットに格納すること、ファイルに保存するためにパースされたトリプル及び推論されたトリプルをシリアル化すること、ユーザーの管理のためにパースされたトリプル及び推論されたトリプルを表示することなどがある。
【0055】
更に説明すると、図4は、本発明の実施形態に基づいてCRMを実施する例示的なダッシュボード(110)の線図を示している。ダッシュボードは、コンピュータシステム(152)のグラフィカルユーザーインターフェース(GUI)である。ダッシュボード自体は、音声対応CRMアプリケーションによって提示されるGUIであり、少なくとも任意選択的にAIAによって操作されて、コンタクトセンターの全ての関連機能、リード、スクリプト、エンタープライズナレッジベース、セマンティックCRMストアを備えたトリプルサーバ、顧客情報、顧客担当者に関する情報、コールノートストア、音声サービス、コミュニケーションセッション、通信コンタクトやAIAの機能などをテレエージェント、フロントエンド、インターフェースに提供する。
【0056】
ダッシュボードには、ウィジェットと呼ばれるデジタルコントロールが組み込まれている。ウィジェットは、ボタンやスクロールバーのような、GUIのインタラクション要素である。ウィジェットは、ユーザーが直接操作して情報を読み出し又は編集し、或いは制御を管理するための自動化された要素である。各ウィジェットは、GUIのデジタル部品として表示され、ユーザーとコンピュータの間の特定のタイプのインタラクションを容易にする。ウィジェットには、ラベル、ボタン、チェックボックスなどのようなユーザーとのインタラクションをサポートしてものがある。その他には、追加されたウィジェットをグループ化するコンテナとして機能するもの、例えば、ウィンドウ、パネル、タブがある。実施形態によるCRMコントロールにて任意選択的に使できるウィジェットの例には、ボタン、ラジオボタン、チェックボックス、スライダ、リストボックス、スピナー、ドロップダウンリスト、メニュー、メニューバー、スクロールバー、テキストボックス、ダイアログボックスなどがある。
【0057】
図4の例では、検索ウィジェット(115)が使用されて、ダッシュボードは、Surface Electronics, Inc.という名称の顧客の顧客情報を指すようにナビゲートされている。顧客情報のスクロールボックスウィジェット(352)には、住所、Webページのリンク、電子メール、電話番号などの顧客情報が表示される。同様に、顧客担当者スクロールボックスウィジェット(354)には、テレエージェントと接触したことのあるSurface Electronics, Inc.の各顧客担当者の身元、連絡先やその他の情報が表示される。
【0058】
図4の例では、ダッシュボードは、AIAの指令を受けて、通信セッション(140)及びコンタクト(144)を生成し、それらをパースエンジン(380)と推論エンジン(298)に渡して、ユーザーであるテレエージェントによるCRM操作を支援するために、処理の結果(752,754)を表示することを含めて更なる処理を行う。ダッシュボードは、コールノートテキストエントリのスクロールテキストボックスウィジェット(366)を介して、テレエージェント(128)と顧客担当者(129)の間の通話を説明するテキストの単語のユーザー入力をコンテンツ(509)として受け取り、イベントウィジェットボタン(394)が呼び出されると、ダッシュボードは、通話を説明する入力単語をCRMコンタクト(374)に集めて、そのコンタクトをパースエンジン(380)に渡す。ダッシュボードは、電子メール、テキストメッセージや、通話から認識されて記録されたスピーチのコンテンツ(509)として、テキストの単語のユーザーの入力を受け入れる。故に、GUIに対する一連のユーザー操作によって、パースエンジンと推論エンジンとを用いてパースされたトリプルと推論されたトリプルへと処理するために、コンタクトのシーケンスが生成される。コンピュータシステム(152)のパースエンジン(380)及び推論エンジン(298)は、セッション(140)及びコンタクト(144)の構造及びコンテンツ(509)を処理し、結果として得られたパースされたトリプル(752)及び推論されたトリプル(754)を、ダッシュボード(110)のスクロールテキストボックスウィジェットに表示する。
【0059】
図4の例のダッシュボードは、パース及び推論のために通信セッション及びコンタクトへと集められるコンテンツを取得するために、幾つかの方法で機能している。デジタル化されたコンテンツ(509)をパースエンジン(298)に提供する第1の代替的な方法では、ダッシュボードは音声エンジン(153)を介して、テレエージェント(128)と顧客担当者(129)の間の会話から、単語をデジタル化されたスピーチへと認識する。この例の方法では、このような会話からスピーチを認識することは次のように実行される。会話(313)のスピーチの単語は、マイクロフォン(176)とコンピュータ(152)の増幅器とを通過し、シンクライアントアーキテクチャでは、ボイスサーバ(151)へのVOIP接続を通る。ボイスサーバ(151)では、音声認識エンジンは、自然言語処理(NLP)エンジンに渡されるデジタル化された音声のストリームへと単語を認識する。当該エンジンは、デジタル化されたスピーチを文と品詞とに処理し、そのように処理された単語(509)はパースエンジン(298)に渡されて、そこでトリプル(752)へとパースされる。これが、ダッシュボードがコンタクトに含めるコンテンツを提供する第1の代替的な方法である。
【0060】
デジタル化されたコンテンツをパースエンジンに提供する第2の方法では、ダッシュボードは、テキストボックスウィジェット(366)からのコールノートのコンテンツをコンタクトへと集める。テレエージェントは、コンタクトのコンテンツとして言葉を話すのではなく、テキストボックスウィジェット(366)にコールノートをタイプして、タイプされたテキストは、コンタクトのデジタル化されたコンテンツとしてダッシュボードから自然言語処理エンジン(155)に提供される。自然言語処理エンジンは、テキストボックス(366)にタイプされた単語と、会話からのデジタル化された音声のストリームの単語との間に違いを認識しない。故に、この第2の代替例は、音声認識の必要性がないということを除いて、第1の代替例と同様である。なぜならば、デジタル化されたテキストのストリームが音声エンジン(153)に到着する際に、ストリームの単語は、テキストボックス(366)を通してタイプすることで既にデジタル化されているからである。自然言語処理エンジン(155)は、第1の代替例と同じように動作し、テキストボックス(366)からのデジタル化されたテキストを文及び品詞に処理し、そのように処理された単語(509)はパースエンジン(298)に渡されて、そこでトリプル(752)へとパースされる。これが、ダッシュボードがCRMのコンタクトに含めるコンテンツを提供する第2の代替的方法である。
【0061】
デジタル化された単語をパースエンジンに提供する第3の代替的な方法では、ダッシュボードは、ダッシュボードのウィジェット(360,362,364)を介して、トリプルの要素として指定された単語をパースエンジンに渡す。これらのウィジェットは、トリプルの主語(Subjects)(360)、トリプルの述語(Predicates)(362)、トリプルの目的語(Objects)(364)のプルダウンメニューリストである。主語(362)及び述語(364)は通常、エンタープライズナレッジグラフのセマンティックCRMトリプルストア部分をサポートしてオントロジーで既に定義されているトリプル要素である。主語(360)は、トリプルに含まれるテキスト単語候補のストリームである。主語のプルダウンメニュー(360)のテキストは、コールノートのテキスト(366)から、又は会話(313)などから認識された単語から、音声エンジン(153)によって提供される。テレエージェント(128)は、主語のプルダウンメニュー(360)からテキストを選択することで、例えば、キーボード又はマウス(181)で選択することで、コンタクトに含めるコンテンツ(509)を指定する。テレエージェントは、ダブルクリックするかアセンブリボックス(368)にドラッグアンドドロップすることで、トリプルについてプルダウン(360)からテキストを選択できる。テレエージェントは任意選択的に、ダブルクリック又はドラッグアンドドロップによって、選択した主語と共に同じトリプルに含める述語(362)又は目的語(364)を選択することもできる。テレエージェントの述語及び目的語の選択は、幾つかの実施形態では、パースエンジンを拘束してよい。他の実施形態では、テレエージェントの選択は、パースエンジンによって単なる推奨として扱われる。パースエンジン(298)は任意選択的にテレエージェントの述語及びオブジェクトの選択を受け入れ、又は、パースプロセスは、少なくとも1つのパースされたトリプル(752)の中の単語と一緒に含める述語及びトリプルについて独自の選択を行う。これが、ダッシュボードがCRMのコンタクトに含めるコンテンツを提供する第3の代替的方法である。
【0062】
更に説明すると、図5は、本発明の実施形態に基づいた、シンクライアントアーキテクチャにおけるCRMのための例示的な装置の機能ブロック図である。シンクライアントアーキテクチャは、クライアントサーバアーキテクチャであって、音声処理及びトリプル処理の少なくとも一部、幾つかの実施形態では大部分、幾つかの実施形態では全てが、クライアントからサーバにオフロードされる。シンクライアントの薄さは様々である。図5の例のコンピュータ(152)は、大半の音声処理がボイスサーバ(151)にオフロードされるシンクライアントである。コンピュータ(152)は音声入力(315,174)を受け入れるが、VOIP接続(216)を介して音声入力をボイスサーバ(151)に転送し、そこで全ての音声処理が行われる。この例における音声対応デバイスは、自然言語処理エンジン(155)、パースエンジン(380)、推論エンジン(298)というトリプル処理の能力をある程度実装しているが、その大半はシンクライアントにおけるオプションのアーキテクチャである。例えば、スマートウォッチや携帯電話のような記憶容量の少ないデバイスでは、自然言語処理エンジン(155)、パースエンジン(380)、及び推論エンジン(298)を使用することなく、CRMセッション及びコンタクトの構造及びコンテンツ(509)を全てのパース及び推論を行うトリプルサーバ(157)に単に渡すことが行われてよい。
【0063】
図5の特定の例では、コンピュータ(152)は、シンクライアントアーキテクチャの中立点を占める。それは、音声処理をほとんどサポートしないが、一部のトリプル処理をサポートする。この例のシンクライアントコンピュータは、RAM(168)のトリプルストア(752,754)のみへとパース及び推論を行い、大規模なストレージはトリプルサーバ(157)に任せる。セマンティックリーズナ(378)は、推論をサポートしてために必要な場合には、トリプルサーバ(157)のストレージから、以前に格納されたアサートされたトリプルをロードする。これは、トリプルストレージを全く使用しない極めてシンなクライアントと、図9を参照して後述するシッククライアントの間の妥協点である。
【0064】
図5の例示的な装置は、データ通信ネットワーク(100)を介してVOIP接続(216)によってデータ通信のために接続されたコンピュータ(152)及びボイスサーバ(151)を含む。ダッシュボード(110)は、音声対応デバイス(152)上で動作し、この例では、ダッシュボード(110)は、音声(315)、ディスプレイ(180)のGUI、キーボード及びマウス(181)などを用いてユーザーI/Oを操作する音声対応アプリケーションである。CRMアプリケーション(195)は、ユーザインタフェースとしてダッシュボードを操作し、また、CRMアプリケーションは、音声対応ブラウザで実行されるX+V又はSALTドキュメントのセット又はシーケンス、Java仮想マシンで実行されるJava Voiceアプリケーション、或いは、他の技術で実装される音声対応アプリケーションとして実装されてよい。この例のCRMアプリケーション(195)は、AIA(196)を用いてAPI(198)を介して操作される。図5のコンピュータの例には、サウンドカード(174)が含まれている。サウンドカード(174)は、マイクロホン(176)からアナログオーディオ信号を受け入れ、オーディオアナログ信号をデジタル形式に変換してコーデック(183)で更に処理するために特別に設計されたI/Oアダプタの一例である。
【0065】
VOIPは「Voice Over Internet Protocol」の略であって、IPベースのデータ通信ネットワーク上で音声をルーティングすることの総称である。音声データは、従来の専用の回線交換音声伝送ラインではなく、汎用のパケット交換データ通信ネットワークを流れる。音声信号をIPデータ通信ネットワーク上で伝送するためのプロトコルは一般的、「Voice over IP」又は「VOIP」プロトコルと呼ばれている。VOIPトラフィックは、インターネットの他の部分への接続がないデータ通信ネットワーク、例えば、建物全体のプライベートローカルエリアデータ通信ネットワーク、即ち「LAN」を含む、任意のIPデータ通信ネットワーク上に展開されてよい。
【0066】
例えば、多くのプロトコルを使用して、IETFのセッションイニシエーションプロトコル(SIP)や「H.323」として知られるITUのプロトコルを用いて実現されるタイプのVOIPを含むVOIPを実現することができる。SIPクライアントは、TCP及びUDPポート5060を使用してSIPサーバに接続する。SIP自体は、スピーチ伝送のための通話を設定し、また、切断するために使用される。SIPを用いたVOIPは、つまり、実際にエンコードされたスピーチの送信にRTPを使用する。同様に、H.323は、国際電気通信連合の標準化部門からの包括的推奨であって、パケットデータ通信ネットワーク上でオーディオビジュアル通信セッションを提供するためのプロトコルを規定する。
【0067】
この例のAIA(196)及びCRMアプリケーション(195)は、ユーザーレベルの音声対応のクライアント側コンピュータプログラムであって、ユーザー(128)に音声インターフェースを提供し、認識用の入力スピーチ(315)を受け入れてオーディオプロンプト及び応答(314)をもたらす。AIA及びCRMアプリケーション(195)は、認識される口頭スピーチをユーザーがマイクロフォン(176)を介して提供することができるスピーチインターフェースを提供し、音声は、オーディオアンプ(185)及びサウンドカード(174)のコーダー/デコーダー(コーデック)(183)を介してデジタル化され、認識のためにボイスサーバ(151)に提供される。音声対応アプリケーション(195)は、デジタル化されたスピーチをVOIPプロトコルに従って認識要求メッセージにパッケージ化し、ネットワーク(100)のVOIP接続(216)を介してボイスサーバ(151)にスピーチを送信する。
【0068】
ボイスサーバ(151)は、音声対応デバイスに音声認識サービスを提供するもので、これは、ダイアログ命令やVoiceXMLセグメントなどを受け入れて、そして、音声認識されたスピーチを表すテキスト、ダイアログの変数値として使用するテキスト、意味解釈スクリプトの実行による出力、音声プロンプトなどの音声認識結果を返すことで行われる。ボイスサーバ(151)は、例えば、X+Vアプリケーション、SALTアプリケーション、Java Speechアプリケーションなどの音声対応アプリケーションにおいて、音声プロンプトとユーザー入力に対する音声応答とのためにテキストトゥスピーチ(TTS)変換を提供するコンピュータプログラムを含む。
【0069】
図5の例のコンピュータ(152)は、セマンティッククエリ推論エンジン(298)、つまり、自動計算機のモジュールを含んでおり、当該モジュールは、CRMアプリケーション(195)及びダッシュボード(110)から受け取り、パースされたトリプル(752)に対して、推論のセマンティックルール(376)に従ってセマンティッククエリ及び推論を実行する。本明細書では、参照を容易にするために、大抵の場合、クエリ推論エンジンを単に推論エンジンと称する。しかしながら、長い名前が適切である。これは、多くの実施形態における、特にトリプルについてRDF/RDGS/OWLオントロジーとクエリについてSPARQLとを実装する実施形態における推論の命令は、SPARQLクエリのコンポーネントとして表現され、そのような実施形態では、推論規則(376)は、セマンティッククエリの要素として表現することができ、しばしば表現されるからである。そのような実施形態では、CRMアプリケーション(195)は、スピーチ(315)、GUI(110)、キーボード及びマウス(181)などからのダッシュボードを介したユーザー入力により、セマンティッククエリを構築する。このようなセマンティッククエリは、構造化されたデータに対して設計されて組み込まれたクエリである。セマンティッククエリは、論理演算子、名前空間、パターンマッチング、サブクラス化、推移関係、セマンティックルール、文脈に沿ったフルテキスト検索を利用する。セマンティッククエリは、名前付きグラフ、リンクトデータ、又はトリプルで機能する。本発明の実施形態では、リンクされたトリプルは通常、グラフを形成する。そのように構造化されたデータによって、セマンティッククエリは、情報の項目間の事実関係を処理して、構造化されたデータネットワークから回答を推測することが可能となる。セマンティッククエリはセマンティック検索とは対照的であり、セマンティック検索は、様々なレベルの結果を用いて、非構造化テキストでセマンティックを使用して検索結果の意味を改善する試みをする。
【0070】
セマンティッククエリの定式化の例は、C、C++、Java、Prolog、Lispなどにある。W3Cのセマンティックウェブテクノロジースタックは、SQLと同様の構文でセマンティッククエリを実行するためのSPARQLを提供する定式化の一例である。セマンティッククエリは、トリプルストア、グラフデータベース、セマンティックWiki、自然言語、及び人工知能システムで構造化されたデータに対して使用される。前述したように、セマンティッククエリは構造化データで機能する。この場合における特定の例では、構造化データは、URIで特定されるリテラルフレーズ及び名前を含み、形式論理、時には述語論理、しばしば記述論理に準拠する方法で接続されたセマンティックトリプルで記述及び定義される単語である。本発明の大半の実施形態では、セマンティッククエリは、決定可能性を組み込む記述論理に従って構造化されたデータに対してアサートされる。
【0071】
図5の例示的な装置では、コンピュータ(152)は、通信アダプタ(167)、無線接続(118)、データ通信ネットワーク(100)、及び有線接続(121)を介してトリプルサーバ(157)にデータ通信のために結合されている。トリプルサーバ(157)は、トリプルストアに大量のバックアップを提供する。トリプルサーバは、トリプルをシリアル化し、シリアル化されたトリプルをリレーショナルデータベース、テーブル、ファイルなどに格納する自動計算機構成である。トリプルサーバは、必要に応じて、そのシリアル化されたトリプルを不揮発性ストレージから取得し、シリアル化されたトリプルをトリプルサブグラフにパースし、そして、本発明の実施形態に基づいてCRMのトリプルを利用するシステムで使用するシンクライアントコンピュータ及びその他のデバイスに、要求に応じてそのトリプルサブグラフを提供する。
【0072】
図5に示された例示的コンピュータシステム全体は、コンピュータシステムのCRMアプリケーション(195)の人工知能エージェント(AIA)(196)を用いて、コンピュータシステムのコンピュータメモリ(169)の構造として、顧客担当者(129)との1又は複数の通信コンタクト(142,144)で構成される通信セッション(140)を、テレエージェント(128)に代わって顧客担当者(129)との間で管理することによって、本発明の実施形態に基づいてCRMを実施するように概ね動作する。そのAIA(196)はまた、通信セッション(140)をサポートしてために、テレエージェント(128)との通信を実行する。例示的なコンピュータシステム(152)は、テレエージェント(128)と顧客担当者との間の最初の通信コンタクト時に、コンピュータシステムのコンピュータメモリ(168)の構造として、通信セッション(140)を確立する。セッションを確立する場合、コンピュータシステムは、コンピュータシステムのコンピュータメモリの構造として、自動計算機のオブジェクト指向モジュールとしてのセッション(140)を確立し、当該セッションの構造及びコンテンツ(509)はまたエンタープライズナレッジグラフ(154)のセマンティックトリプル(752,754)として格納される。即ち、そのような実施形態におけるセッションは、最初は少なくともオブジェクト指向のセッションクラスのインスタンスとして確立される。そのようなセッションを確立することは、セッションのメンバーデータ要素として、サブジェクトコード、タイムスタンプ、テレエージェントの身分証明、顧客担当者の身分証明、及び任意選択的にセッションに関する他の情報をコンピュータメモリに格納することを含む。
【0073】
また、コンピュータシステム(152)は、一般的に、通信プラットフォーム間の通信セッション(140)を介して、テレエージェントと顧客担当者との間の、最初のコンタクト及びそれに続く通信コンタクトを含む通信コンタクト(144)のシーケンスを管理することによって機能する。コンピュータシステムのコンピュータメモリ(168)を構造化し、構造及びコンテンツ(509)がエンタープライズナレッジグラフ(154)のセマンティックトリプルとして格納される自動計算機のオブジェクト指向モジュールとして各コンタクトを確立することで、コンピュータシステムはコンタクトのシーケンスを管理する。即ち、この例におけるコンタクト(144)は、最初は少なくともオブジェクト指向のコンタクトクラスのインスタンスとして確立される。コンタクトのシーケンスを管理することは、各コンタクトのメンバーデータ要素として、コンタクトが開始するタイムスタンプと、コンタクトの継続時間と、コンタクトのセッション識別子と、プラットフォームタイプと、コンタクトのステータスと、コンタクトの通信コンテンツと、任意選択的にコンタクトに関するその他の情報とをコンピュータメモリに記録することを含む。
【0074】
特にシンクライアントアーキテクチャにおいて、本発明の実施形態に基づいてセマンティックトリプルを用いてCRMを達成することは、1又は複数のボイスサーバを用いて実装されてよい。ボイスサーバは、音声認識と音声合成を提供するコンピュータ、つまり自動計算機である。更に説明すると、図6は、本発明の実施形態に基づいてクライアントコンピュータを用いたCRMをサポートして例示的なボイスサーバ(151)を表す自動計算機のブロック図を示す。図6のボイスサーバ(151)は、少なくとも1つのコンピュータプロセッサ(156)、即ち「CPU」とランダムアクセスメモリ(168)(RAM)とを含んでおり、当該メモリは、高速メモリバス(166)及びバスアダプタ(158)を介してCPU(156)と、ボイスサーバの他の構成要素とに接続される。
【0075】
RAM(168)に格納されるのは、ボイスサーバアプリケーション(188)であり、本発明の実施形態に基づいてCRMで使用するように構成されたシステムにおいてボイスサーバを操作できる自動化モジュールである。ボイスサーバアプリケーション(188)は、音声認識の要求を受け入れ、音声認識の結果を返すことにより、音声対応クライアントデバイスに音声認識サービスを提供する。結果には、認識されたスピーチを表すテキストと、ダイアログで変数値として使用するテキストと、意味解釈のためのスクリプトの文字列表現としてのテキストとが含まれる。ボイスサーバアプリケーション(188)は、音声対応ブラウザ、X+Vアプリケーション、SALTアプリケーション、Java音声アプリケーションなどの音声対応クライアント側アプリケーションでの音声プロンプト及び音声応答のテキストトゥスピーチ(TTS)変換を提供する機能も含む。
【0076】
ボイスサーバアプリケーション(188)は、X+Vクライアント、SALTクライアント、Java音声クライアント、又はその他の音声対応クライアントデバイスからのHTTP要求に応答を提供することで、Java、C++、Python、Perl、又はX+V、SALT、VoiceXML、又はその他の音声対応言語をサポートして任意の言語で実装されたWebサーバとして実施されてよい。ボイスサーバアプリケーション(188)は、更なる例として、Javaサーバとして実施されてよい。Javaサーバは、Java仮想マシン(102)で実行され、音声対応デバイスで実行されているJavaクライアントアプリケーションからのHTTP要求に応答を提供することでJavaボイスフレームワークをサポートする。そして、本発明の実施形態をサポートしてボイスサーバアプリケーションは、他の様々な方法で実施することができ、そのような方法は全て本発明の範囲内である。
【0077】
この例のボイスサーバ(151)は、自然言語処理音声認識(「NLP-SR」)エンジン(153)を含む。NLP-SRエンジンは、本明細書では単に「音声エンジン」と呼ばれることがある。音声エンジンとは、人のスピーチを認識及び生成する働きを行う機能モジュールであり、通常はソフトウェアモジュールであるが、専用のハードウェアが含まれることもある。この例では、音声エンジン(153)は、自然言語処理(「NLP」)エンジン(155)を含む自然言語処理音声エンジンである。NLPエンジンは、自動音声認識(ASR)エンジンから認識されたスピーチを受け取り、その認識されたスピーチを主語、述語や目的語などの品詞に処理し、更なる推論のためにセマンティックトリプルに変換し、トリプルストアに入れるために、それら品詞をパースエンジンで使用可能にする。
【0078】
音声エンジン(153)には、スピート認識を行う自動音声認識(ASR)エンジンと、スピーチを生成するテキストトゥスピーチ(TTS)エンジンとが含まれる。音声エンジンはまた、グラマ(104)、レキシコン(106)、及び言語固有音響モデル(108)を含む。言語固有音響モデル(108)は、スピーチ特徴ベクトル(SFV)を人間の言語での単語の発音を表す音素に関連付けるデータ構造、例えばテーブル又はデータベースである。レキシコン(106)は、テキスト形式の単語と各単語の発音を表す音素との関連付けであり、レキシコンは、ASRエンジンによる認識が可能な単語を効果的に識別する。また、RAM(168)には、テキストトゥスピーチ(「TTS」)エンジン(194)が格納される。これは、テキストを入力として受け入れて、デジタル的にエンコードされたスピーチの形で同じテキストを返すコンピュータプログラム命令のモジュールであり、音声対応システムのユーザーに対してプロンプトや応答としてスピーチを提供するために使用される。
【0079】
グラマ(104)は、現在認識され得る単語と単語のシーケンスとをASRエンジン(150)に伝達する。更なる説明では、グラマの目的とレキシコンの目的を区別する。レキシコンは、ASRエンジンが認識できる全ての単語を音素に関連付ける。グラマは、現在認識の対象となっている単語を伝える。特定の時点における2つのセットは通常、同じではない。
【0080】
グラマは、ASRエンジンでサポートされている様々な形式で表現でき、例えば、Javaスピーチグラマ形式(JSGF)、W3C音声認識グラマ仕様(SRGS)の形式、IETFのRFC2234の拡張バッカスナウア記法(「ABNF」)、W3Cの確率的言語モデル(N-Gram)仕様で説明されている確率的グラマの形式で、当技術分野の技術者が思い付く他のグラマ形式で表現されてよい。グラマは通常、VoiceXMLの<menu>やX+Vの<form>のようなダイアログの要素として動作する。グラマの定義は、ダイアログ中にてインラインで表現することができる。或いは、グラマは、別個のグラマドキュメントで外部に実装されて、URIを使用したダイアログで参照されてよい。以下は、JSFGで表現されたグラマの例である。
【表8】
【0081】
この例では、<command>、<name>、及び<when>なる要素がグラマのルールである。ルールは、現在どの単語が認識できるかをASRエンジン又はボイスインタープリターにアドバイスするルールのルール名と拡張子の組合せである。この例では、拡張子は論理積と論理和を含んでおり、縦棒「|」は、「or」を意味する。ASRエンジン又はボイスインタープリターは、最初に<command>、次に<name>、次に<when>の順にルールを処理する。<command>ルールは、認識のために、<name>ルール及び<when>ルールから返されるもの全てに加えて、「call」、「phone」、又は「telephone」を受け入れる。<name>ルールは、「bob」、「martha」、「joe」、「peet」、「chris」、「john」、又は「artoush」を受け入れ、<when>ルールは、「today」、「this afternoon」、「tomorrow」、又は「next week」を受け入れる。コマンドグラマは全体としては、以下のような発話に合致する。
【表9】
【0082】
この例のボイスサーバアプリケーション(188)は、ボイスサーバからネットワークを介して遠隔に配置されている音声対応クライアントデバイスから、認識されるデジタル化されたスピーチをユーザーから受け取り、認識のためにそのスピーチをASRエンジン(150)に渡すように構成される。ASRエンジン(150)は、コンピュータプログラム命令のモジュールであり、また、この例ではRAMに格納される。自動音声認識を実行する場合、ASRエンジンは、少なくとも1つのデジタル化された単語の形式で認識されるスピーチを受け取り、デジタル化された単語の周波数成分を使用してスピーチ特徴ベクトル又はSFVを導出する。SFVは、例えば、デジタル化された音声のサンプルの最初の12又は13個のフーリエ又は周波数領域成分によって定義されてよい。ASRエンジンは、SFVを使用して、言語固有音響モデル(108)から単語の音素を推測することができる。その後、ASRエンジンはその音素を使って、レキシコン(106)にある単語を探す。
【0083】
また、RAMには、VoiceXMLインタープリタ(192)、即ち、VoiceXMLグラマを処理するコンピュータプログラム命令のモジュールが格納される。VoiceXMLインタープリタ(192)へのVoiceXML入力は、例えば、音声対応デバイスにてリモートで実行されているVoiceXMLクライアントから、音声対応デバイスにてリモートで実行されているX+Vクライアントから、音声対応デバイスで実行されているSALTクライアントから、マルチメディアデバイスにてリモートで実行されているJavaクライアントアプリケーションなどから発信されてよい。この例では、VoiceXMLインタープリタ(192)は、リモート音声対応デバイスから受信してボイスサーバアプリケーション(188)を介してVoiceXMLインタープリター(192)に提供された音声ダイアログ命令を表すVoiceXMLセグメントを解釈して実行する。
【0084】
シンクライアントアーキテクチャにおけるクライアント側CRMアプリケーション(図5の(195))やダッシュボード(図5の(110))のような音声対応アプリケーションは、このような音声対応アプリケーションを使用して、音声ダイアログ命令、VoiceXMLセグメント、VoiceXMLの<form>要素などを、ネットワークを介したデータ通信を介してVoiceXMLインタープリタ(149)に送信する。音声ダイアログ命令には、グラマ、データ入力要素、イベントハンドラなどが含まれており、ユーザーからの音声入力をどのように管理するかと、ユーザーに提示される音声プロンプト及び音声応答とをVoiceXMLインタープリタに指示する。VoiceXMLインタープリタは、VoiceXMLフォーム解釈アルゴリズム(以下、FIA)(193)に従ってダイアログ命令を順次処理することで、このようなダイアログを管理する。VoiceXMLインタープリタは、音声対応アプリケーションからVoiceXMLインタープリタに提供されたVoiceXMLダイアログを解釈する。
【0085】
前述したように、フォーム解釈アルゴリズム(FIA)は、ユーザーと音声対応アプリケーションの間のインタラクションを動作させる。FIAは通常、1又は複数の音声プロンプトを選択して再生し、1又は複数の入力項目を入力する応答、或いは何らかのイベントのスロー(throwing)などのユーザー入力を収集し、新しく入力された入力項目に関連するアクションを解釈することを担当する。FIAはまた、音声対応アプリケーションの初期化、グラマのアクティブ化及び非アクティブ化、一致する発話によるフォームの入力と終了、その他の多くのタスクも処理する。FIAはまた、ユーザーからの応答を誘引しようとする度に増加する内部プロンプトカウンターを管理する。つまり、ユーザーの一致する音声応答を促す試みが失敗する度に、内部プロンプトカウンターは増加する。
【0086】
また、RAM(168)には、オペレーティングシステム(154)が格納される。本発明の実施形態に基づいてボイスサーバで使用できるオペレーティングシステムには、UNIX(登録商標)、Linux(登録商標)、Microsoft NT(登録商標)、AIX(登録商標)、IBMのi5/OS(登録商標)に加えて、当業者が思い付くものが含まれる。図6の例では、オペレーティングシステム(154)、ボイスサーバアプリケーション(188)、VoiceXMLインタープリタ(192)、ASRエンジン(150)、JVM(102)、及びTTSエンジン(194)は、RAM(168)内に示されているが、そのようなソフトウェアの多くの構成要素は通常、不揮発性メモリ、例えばディスクドライブ(170)にも保存される。
【0087】
図6の例示的なボイスサーバ(151)には、バスアダプタ(158)と、高速バス、フロントサイドバス(162)、ビデオバス(164)、及びメモリバス(166)用の駆動電子回路と、拡張バス(160)用の駆動電子回路とを含むコンピュータハードウェアコンポーネントとが含まれる。本発明の実施形態に基づいてボイスサーバに使用できるバスアダプタの例には、インテルノースブリッジ、インテルメモリーコントローラーハブ、インテルサウスブリッジ、インテルI/Oコントローラーハブがある。本発明の実施形態に基づいてボイスサーバで使用できる拡張バスの例には、インダストリアーキテクチャ(ISA)バス及び周辺コンポーネント相互接続(PCI)バスが含まれる。
【0088】
図6のボイスサーバ(151)は、拡張バス(160)及びバスアダプタ(158)を介してプロセッサ(156)とボイスサーバ(151)の他の構成要素とに結合されたディスクドライブアダプタ(172)を含む。ディスクドライブアダプタ(172)は、ディスクドライブ(170)の形態の不揮発性データストレージをボイスサーバ(151)に接続する。ボイスサーバに使用できるディスクドライブアダプタには、インテグレーティドドライブエレクトロニクス(IDE)アダプタ、スモールコンピュータシステムインタフェース(SCSI)アダプタ、及び当業者が思い付くその他のアダプタが含まれる。加えて、不揮発性コンピュータメモリは、光ディスクドライブ、電気的に消去可能でプログラム可能な読み取り専用メモリ(所謂、「EEPROM」又は「フラッシュ」メモリ)、RAMドライブ、RAMドライブなどの当業者が思い付くであろうものとしてボイスサーバに実装されてよい。
【0089】
図6の例示的なボイスサーバは、1又は複数の入力/出力(I/O)アダプタ(178)を含む。ボイスサーバのI/Oアダプタは、例えば、コンピュータディスプレイなどの表示装置への出力やキーボード及びマウスなどのユーザー入力装置(181)からのユーザー入力を制御するソフトウェアドライバ及びコンピュータハードウェアを通じて、ユーザー本位の入出力を実現する。図6の例示的ボイスサーバは、ビデオアダプタ(209)を含んでおり、これは、ディスプレイスクリーン又はコンピュータモニタなどのディスプレイデバイス(180)へのグラフィック出力のために特別に設計されたI/Oアダプタの一例である。ビデオアダプタ(209)は、高速ビデオバス(164)、バスアダプタ(158)、同じく高速バスであるフロントサイドバス(162)を介して、プロセッサ(156)に接続されている。
【0090】
図6の例示的ボイスサーバ(151)は、他のコンピュータ(182)とデータ通信し、データ通信ネットワーク(100)とデータ通信するための通信アダプタ(167)を含む。このようなデータ通信は、RS-232接続、ユニバーサルシリアルバス(USB)などの外部バス、IPデータ通信ネットワークなどのデータ通信ネットワークを介して、また、当業者が思い付くようなその他の方法で、シリアルに行われてよい。通信アダプタは、あるコンピュータが直接又はデータ通信ネットワークを介して別のコンピュータにデータ通信を送信するハードウェアレベルのデータ通信を実現する。本発明の実施形態に使用できる通信アダプタの例としては、有線ダイアルアップ通信用のモデム、有線データ通信ネットワーク通信用のイーサネット(IEEE 802.3)アダプタ、無線データ通信ネットワーク通信用の802.11アダプタなどがある。
【0091】
更に説明すると、図7は、本発明の実施形態によるCRM用トリプルサーバ(157)として有用なコンピュータの一例を構成する自動計算機のブロック図である。図7のトリプルサーバ(157)は、少なくとも1つのコンピュータプロセッサ(156)、即ち「CPU」とランダムアクセスメモリ(168)(RAM)とを含んでおり、当該メモリは、高速メモリバス(166)及びバスアダプタ(158)を介してプロセッサ(156)と、トリプルサーバの他の構成要素とに接続される。プロセッサは、ビデオバス(164)を介して、ビデオアダプタ(209)及びコンピュータディスプレイ(180)に接続される。このプロセッサは、拡張バス(160)を介して、通信アダプタ(167)、I/Oアダプタ(178)、及びディスクドライブアダプタ(172)に接続される。プロセッサは、データ通信ネットワーク(100)及び無線接続(118)を通じて音声対応ラップトップ(126)に接続される。RAMに配置されているのは、オペレーティングシステム(154)である。
【0092】
更にRAMには、トリプルサーバアプリケーションプログラム(297)、データ通信セッション(140)、データ通信コンタクト(144)、セッション及びコンタクトの構造及びコンテンツ(509)、推論ルール(376)、自然言語処理(NLP)エンジン(155)、パースエンジン(380)、推論エンジン(298)、及びセマンティックリーズナ(378)が配置される。更にRAMには、トリプルシリアライザ(294)、トリプルコンバータ(292)、及び1又は複数のトリプルファイル(290)が配置される。
【0093】
トリプルサーバのアプリケーションプログラム(297)は、ラップトップ(126)などのクライアント側のデバイスからネットワーク(100)を通じて、セッション(140)及びコンタクト(14)のインスタンスを受け取り、そこから、パースするために構造及びコンテンツ(509)を抽出する。NLPエンジンは任意選択的に、パースプロセスを容易にし、これは、処理されたコンテンツをパースエンジンに与える前に、最初に少なくとも一部のコンテンツを文及び品詞へと処理することによって行われる。パースエンジンは、構造及びコンテンツをパースして、パースされたトリプル(752)にする。推論エンジン(298)は、パースされたトリプル(752)と推論ルール(376)とを入力として得て、推論されたトリプル(754)を推論する。トリプルサーバアプリケーション(297)はその後、パースされたトリプルと推論されたトリプルのコピーを更なる処理のためにクライアント側に返し、パースされたトリプルと推論されたトリプルとをエンタープライズナレッジグラフ(154)に格納する。このようにして、トリプルサーバは、トリプル関連の処理及びストレージデータ処理のワークロードの大半をクライアントデバイス(126)からオフロードする。
【0094】
シリアライザ(294)は、RAMのトリプルストア(750,752,754)と様々な形態のディスクストレージ又は他の不揮発性ストレージとの間でトリプルの転送を管理する。シリアライザ(294)は、トリプルストアのコンテンツを入力として受け入れ、それらを、トリプルファイル(290)、テーブル、リレーショナルデータベースレコード、スプレッドシート、テキスト文書などとして出力して、ハードディスク(170)などの不揮発性メモリに長期間格納するためにシリアル化する。シリアライザ(294)は、トリプルファイル(290)を入力として受け入れ、パースされたトリプルをRAMのトリプルストアに出力する。多くの実施形態では、シリアライザ(294)がトリプルファイル(290)を入力として受け入れ、パースされたトリプルをRAMのトリプルストアに出力する際に、シリアライザは出力されたトリプルストアをメモリにおける連続するセグメントへと格納する。連続ストレージは、malloc()関数を呼び出すことにより、Cプログラミング言語で実行できる。連続ストレージは、Pythonのバッファプロトコルによって実現できる。連続ストレージは、当業者が思い付く他の方法で実施することができ、そのような全ての方法は、本発明の範囲内である。多くの実施形態では、トリプルストア(750,752,754)は、連続メモリのセグメントに格納されるであろう。
【0095】
連続メモリについて、図8を参照して詳しく説明する。図8は、実施形態に基づいてCRMをサポートしてように構成されたコンピュータメモリシステムのブロック図であり、当該コンピュータメモリシステムは、CRMアプリケーション(195)、API(198)、及びAIA(196)を実行し、種々のレジスタ(190)を備えるコンピュータプロセッサ(156)を含む。CRMアプリケーション(195)、API(198)、AIA(196)、プロセッサのレジスタ(190)に加えて、メモリの全ての付随構造、データ通信セッション(140)、通信コンタクト(144)、セッション及びコンタクトの構造及びコンテンツの表現(509)、パースされたトリプル(752)、推論されたトリプル(754)などは全て、仮想メモリ(708)に配置されたメモリアドレス(700)を用いて作動する。仮想メモリのコンテンツは、オンプロセッサキャッシュ(186)、RAM(168)、及びディスク(170)の物理的なストレージでバックアップされる。キャッシュのコンテンツは、キャッシュライン(702)に整理される。RAMのメモリは、ページ(712)で構成される。ディスクのメモリはフレーム(706)で構成される。メモリ管理ユニット(MMU)(184)は、仮想メモリアドレスを物理メモリ位置に変換し、メモリのコンテンツを物理ストレージとプロセッサレジスタとの間で移動させる。物理的なメモリにアクセスする場合、MMUは常に最初にキャッシュを参照する。キャッシュにコンテンツを見つけられなかったことは「キャッシュミス」(714)と称される。キャッシュミスが発生すると、MMUは、RAM(168)内のメモリコンテンツを探して、それをキャッシュへと移動させる。ディスクンテンツがRAMに見つからない場合、つまり、「ページフォールト」(716)と呼ばれる障害では、MMUはディスクのページフレーム(706)まで調べて、コンテンツをRAM(168)に、そしてキャッシュ(186)に移動させる。
【0096】
連続メモリの使用は、CRMのメモリ管理における特定の課題に対処する。典型的な実施形態では、キャッシュのアクセスには10ナノ秒を要する。RAMのアクセスには100ナノ秒を要する。ディスクのアクセスには10,000,000ナノ秒を要する。これらの数字は直感的ではない。人間は、ナノ秒単位で時間を感じない。従って、この課題をより身近な言葉で捉えてみることにする。キャッシュアクセスを1分とすると、RAMアクセスは10分、同じデータのディスクアクセスには2年を要する。仮想メモリのアドレスにわたって散らばったトリプルは、複数のページフレームに格納されるおそれがある。連続するメモリセグメントにおいて互いに近づいて格納されているトリプルは、少数のページフレームに格納される可能性が非常に高くなる。
【0097】
関連するトリプルのセット、例えば、パースされ、推論され、又は以前にアサートされて格納されているトリプルのサブグラフが、10キロバイトのストレージで構成されているとする。今日のコンピュータシステムには、メガバイト以上のメモリページサイズをサポートしているものがある。このようなトリプルのセット(704)は、1つのメモリページ(710)に格納することができ、そのページがRAM(168)にあると、CRM用のトリプルセットの操作は、ページフォールトのリスクが全くない状態で進められる。このようなセットについての連続ストレージがページ境界を超えた場合でもなお、トリプルのセット全体は2回のページフォールトのみでロードでき、RAMにロードされた後は、ページフォールトなく操作できる。コンテンツをキャッシュにロードするには、引き続きキャッシュミスを要するであろうが、最初の1回又は2回のミスを除いて、他の何れもページフォールトのリスクを冒すことはないであろう。本発明の発明者は、短時間の動作の後、キャッシュミス率は、CRMのコンテキストでこのようなトリプルのセットを操作において1%未満になるであろうと推定する。つまり、本発明の実施形態によるCRMをサポートしてために、一連のトリプルが連続したメモリに配置されている場合、メモリアクセスの99%超において、メモリアクセス時間は、わずか数ナノ秒のキャッシュアクセス時間に近似するであろう。
【0098】
更に説明すると、図9は、本発明の実施形態に基づいた、シッククライアントアーキテクチャにおけるCRMのため音声対応デバイスである例示的な装置の機能ブロック図である。シッククライアントアーキテクチャは、クライアントサーバアーキテクチャのことであって、当該アーキテクチャでは、本実施形態に基づいてCRMを管理するために必要な機能の全て又は大部分は、サーバではなくクライアント側のデバイスで直接サポートされる。サーバは、セッション管理、コンタクト管理、音声認識、セマンティッククエリ、又は推論ではなく、バックアップ及び同期のために使用される。シッククライアントは、リソース、プロセッサパワー、及びメモリストレージを必要とするが、それらは、スマートウォッチや携帯電話などの小型デバイスでは常に利用できるとは限らない。しかしながら、十分なデータ処理リソースを有するシッククライアントでは、ネットワークの可用性に関係なく、関連する全ての機能、つまり、通信セッション、通信コンタクト、パース、推論ルール、推論、トリプルストア、音声処理など直ちに且つ完全に使用できる。図9の例のシッククライアント音声対応コンピュータ(152)は、CPU(156)、RAM(168)、データバス(162,164,166,160)、ビデオ(180,209)、データ通信(167)、I/O(178)、及びディスクストレージ(170)を含む自動計算機である。
【0099】
RAMに配置されているのは、GUIダッシュボード(110)を公開して操作するCRMアプリケーションプログラム(195)をAPI(198)を介して操作するAIA(196)と、CRMアプリケーションとコンピュータ上で実行されているAIA(152)とによって確立及び管理される通信セッション(140)及び通信コンタクト(144)と、トリプル(752)にパースされるセッション及びコンタクトの構造及びコンテンツ(509)と、推論ルール(376)と、自然言語処理(NLP)エンジン(155)と、パースエンジン(380)と、推論エンジン(298)と、セマンティックリーズナ(378)である。更にRAMには、トリプルシリアライザ(294)、トリプルコンバータ(292)、及び1又は複数のトリプルファイル(290)が配置される。NLPエンジンは任意選択的にパースプロセスを容易にしてよく、これは、まず構造及びコンテンツ(509)を文と品詞に処理してから、そのように処理された単語をパースエンジンに提供することで行われる。パースエンジンは、構造及びコンテンツをパースして、パースされたトリプル(752)にする。推論エンジン(298)は、パースされたトリプル(752)と推論ルール(376)とを入力として得て、推論されたトリプル(754)を推論する。
【0100】
シリアライザ(294)は、RAMのトリプルストア(752,754)とディスクストレージ又は他の不揮発性ストレージとの間でトリプルの転送を管理する。シリアライザ(294)は、トリプルストアのコンテンツを入力として受け入れ、それらを、トリプルファイル(290)、テーブル、リレーショナルデータベースレコード、スプレッドシート、テキスト文書などとして出力してハードディスク(170)などの不揮発性メモリに長期間格納するためにシリアル化する。シリアライザ(294)は、トリプルファイル(290)を入力として受け入れ、パースされたトリプルをRAMのトリプルストアに出力する。多くの実施形態では、シリアライザ(294)がトリプルファイル(290)を入力として受け入れ、パースされたトリプルをRAMのトリプルストアに出力する際に、シリアライザは出力されたトリプルストアをメモリにおける連続するセグメントへと格納する。連続ストレージは、malloc()関数を呼び出すことにより、Cプログラミング言語で実行できる。連続ストレージは、Pythonのバッファプロトコルによって実現できる。連続ストレージは、当業者が思い付く他の方法で実施することができ、そのような全ての方法は、本発明の範囲内である。多くの実施形態では、トリプルストア(752,754)は、連続メモリのセグメントに格納されるであろう。
【0101】
音声エンジン(153)は、フルサービスのNLP-SRエンジンであって、自然言語処理(155)、音声認識(150)、グラマ(104)、レキシコン(106)、モデル(108)、及びテキストトゥスピーチ処理(194)を含んでおり、これらは全て、図6に関連して先に詳細に説明した通りである。シッククライアントの音声対応デバイス(152)は、音声関連処理のためにネットワークにくまなく及ぶ必要はない。完全な音声対応は、シッククライアントコンピュータ自体で直接利用できる。
【0102】
図9に示された例示的コンピュータシステム全体は、コンピュータシステムのCRMアプリケーション(195)の人工知能エージェント(AIA)(196)を用いて、コンピュータシステムのコンピュータメモリ(169)の構造として、顧客担当者との1又は複数の通信コンタクト(144)で構成される通信セッション(140)を、テレエージェントに代わって顧客担当者との間で管理することによって、本発明の実施形態に基づいてCRMを実施するように概ね動作する。AIA(196)はまた、通信セッション(140)をサポートしてために、テレエージェントとの通信を実行する。AIA及びCRMアプリケーションは、テレエージェントと顧客担当者との間の最初の通信コンタクト時に、コンピュータシステムのコンピュータメモリ(168)の構造として、通信セッション(140)を確立する。セッションを確立する場合、AIA及びCRMアプリケーションは、コンピュータシステムのコンピュータメモリの構造として、自動計算機のオブジェクト指向モジュールとしてのセッション(140)を確立し、セッションの構造及びコンテンツ(509)はまた、エンタープライズナレッジグラフ(154)のセマンティックトリプル(752,754)として格納される。即ち、そのような実施形態におけるセッションは、最初は少なくともオブジェクト指向のセッションクラスのインスタンスとして確立される。そのようなセッションを確立することは、セッションのメンバーデータ要素として、サブジェクトコード、タイムスタンプ、テレエージェントの身分証明、顧客担当者の身分証明、及び任意選択的にセッションに関する他の情報をコンピュータメモリに格納することを含む。
【0103】
AIA及びCRMアプリケーションはまた、通信プラットフォーム間の通信セッション(140)を介して、テレエージェントと顧客担当者の間で、最初のコンタクト及びそれに続く通信コンタクトを含む通信コンタクト(144)のシーケンスを管理する。コンピュータシステムのコンピュータメモリ(168)を構造化し、構造及びコンテンツ(509)がエンタープライズナレッジグラフ(154)のセマンティックトリプルとして格納される自動計算機のオブジェクト指向モジュールとして各コンタクトを確立することで、コンピュータシステムはコンタクトのシーケンスを管理する。即ち、この例におけるコンタクト(144)は、最初は少なくともオブジェクト指向のコンタクトクラスのインスタンスとして確立される。コンタクトのシーケンスを管理することは、各コンタクトのメンバーデータ要素として、コンタクトが開始するタイムスタンプと、コンタクトの継続時間と、コンタクトのセッション識別子と、プラットフォームタイプと、コンタクトのステータスと、コンタクトの通信コンテンツと、任意選択的にコンタクトに関するその他の情報とをコンピュータメモリに記録することを含む。
【0104】
更に説明すると、図10は、本発明の実施形態によるCRMの例示的な方法を示すフローチャートである。図10の方法における機能は、クライアントコンピュータ(152)、ボイスサーバ(151)、及びトリプルサーバ(157)の何らかの組合せで実装又は配置される。即ち、例えば、音声エンジンは、シンクライアントアーキテクチャではボイスサーバ(151)に配置され、また、シッククライアントアーキテクチャではクライアント(152)に配置される。そして、パース及び推論は、トリプルサーバ(157)とクライアントコンピュータ(152)のどちらでも実行できる。パースエンジン及び推論エンジンに夫々実装されるパース(304)及び推論(754)を除いて、この例の方法プロセスは、アプリケーションプログラミングインターフェース、即ちAPI(198)を介してAIA(196)によって操作されるCRMアプリケーションプログラム(195)によって概ね実装される。特定の機能が正確にはどこで発生するかはアーキテクチャによって異なるが、全ての構造要素はコンピュータ又はコンピュータの構成要素であって、実施形態に基づいてCRMを実行するために、あるアーキテクチャ又は別のアーキテクチャで全て一緒に構成される。
【0105】
図10の方法は、コンピュータシステムによって、テレエージェント(128)と顧客担当者(129)の間の最初の通信コンタクト時に、コンピュータシステムのコンピュータメモリの構造として、通信セッション(140)を確立すること(381)を含む。AIA(196)は、利用可能な通信プラットフォームの1つでAPI(198)を介してコンタクトを開始し、API(198)を介してCRMアプリケーション(195)の確立機能(381)を呼び出す。本明細書での「最初の」コンタクトの概念は、特定のサブジェクトマターと特定の顧客、つまり顧客担当者によって代理される顧客とに関して、複数のコンタクトと予想されるものの中で最初のコンタクトを指す。図10の例では、セッションの確立(381)は、コンピュータシステムのコンピュータメモリの構造として、自動計算機のオブジェクト指向モジュールとしてのセッションを確立することによって実行される。即ち、この例のセッション(140)は、オブジェクト指向セッションクラスをインスタンス化するオブジェクトである。この例では、そのようにインスタンス化されたセッション(140)はメンバーデータ要素を含んでおり、メンバーデータ要素は、セッション識別コード(393)と、コンタクトセンターのエージェントと顧客担当者との間のコンタクトのサブジェクトを識別するサブジェクトコード(385)と、セッションのコンタクトで代理される顧客を識別するコード(387)、即ち、顧客担当者とエージェントの間のコンタクトで顧客担当者によって代理される顧客を識別するコードとを含む。
【0106】
AIA(106)は、新しいコンタクトの顧客及びサブジェクトのセッションについてセッションメモリを検索することにより、新しいコンタクトがセッションの最初のコンタクトである否かを判定できる(215)。マッチしない場合(217)、AIAは新しいセッション(140)の確立機能(381)を呼び出し、新しいセッション(140)と最初のコンタクト(142)の両方に新しいセッションID(393)を記録し、また、新しいセッションと新しいコンタクトを管理機能(382)に渡す。マッチする場合(219)、AIAは見つかったセッションIDを新しいコンタクトに記録し、見つかったセッションIDと新しいコンタクトを管理機能に引き渡す(382)。セッションID(393)は、セッションをそのセッションに関連する全てのコンタクトに結び付ける外部キーとして機能する。故に、セッションは、セッションIDによってリンクされる全てコンタクトのラッパー又はコンテナとして機能する。この例では、コンタクト(142)に記録されたテレエージェントと顧客担当者(205、207)の識別コードは、セッションには記録されない。従って、この例示的なセッション(140)は、顧客に関連しており、特定のサブジェクトマターを有するコンタクトについて、複数のエージェントと複数の顧客担当者の間の複数のコンタクトのラッパーとして機能できる。
【0107】
セッションのメンバーデータ要素には、セッション(140)が生成されたときのタイムスタンプ(386)が含まれる。セッションは、本明細書で生存期間又は「TTL」として表されるタイムリミット(221)を含んでよく、その後、セッションは終了されるか、ユーザーにタイムアウトが通知され、セッションを終了するか否かを促される。セッションはまた、セッションがアクティブであるか終了しているかを示すステータスコード(219)を含んでよい。ストレージに保持されている終了したセッションは任意選択的に、再アクティブ化されるように構成されてよい。
【0108】
この例のセッションメンバーデータ要素はまた、コンテンツ要素(389)を含む。コンテンツ要素(389)の典型的使用は、セッションのコンタクトのサブジェクトマター(385)を詳述することである。この例におけるコンタクトの通信のコンテンツ(213)は、セッションオブジェクトではなく、コンタクト自体(142,144)に関連付けられて格納される。多くの実施形態では、セッション(140)の構造及びコンテンツは、典型的には全てのセッションデータ要素と、任意選択的に他のものをも含んでおり、セマンティックトリプルへとパース(304)した後、エンタープライズナレッジグラフ(154)にセマンティックトリプルとして格納される。
【0109】
図10の方法はまた、コンピュータシステム(152,151,157)のCRMアプリケーション(196)のAIA(196)によって、テレエージェント(128)に代わって顧客担当者(129)が、コンピュータシステムのコンピュータメモリ(169)の構造として、顧客代表者(129)との1又は複数の通信コンタクト(142,144)を含む通信セッション(140)を管理すること(382)を含む。セッション及びコンタクトは、データ処理におけるその様相が、メモリ構造、オブジェクト指向のクラスやオブジェクトなどとして実装されているという点で、コンピュータメモリの構造である。それらの構造及びコンテンツはまた、トリプセマンティックトリプルにパースされて、それ自体もコンピュータメモリに格納されるエンタープライズナレッジグラフ(154)に格納されるという点で、コンピュータメモリの構造である。更に、少なくとも幾つかの実施形態では、そのように構造化されたメモリは、そのコンテンツを連続したストレージに配置することによって構造化されることが更に求められる。
【0110】
図10の方法はまた、通信セッション(140)をサポートしてテレエージェント(128)とのAIA通信(510)を実行すること(390)を含む。AIAは顧客担当者とのコンタクトを処理し、また、AIAは、CRMアプリケーションとコンピュータシステムとテレエージェントとの間の通信も処理することが分かる。それ故に、この例では、AIAは、アプリケーションと、システムと、関連する人物と、テレエージェントと、顧客担当者との間の全ての通信に関して、コンピュータシステムとCRMアプリケーションのための完全なラッパー又はコンテナを形成する。
【0111】
図10の方法では、通信セッション及びコンタクトの管理(382)は、テレエージェントと顧客担当者との間の最初のコンタクト(142)及び更にその後のコンタクト(144)を含む通信コンタクトのシーケンス(374)について、通信プラットフォームを介して実施される。図10の方法では、通信プラットフォームは、電話(135)、テキストメッセージングプラットフォーム(137)、電子メールプラットフォーム(131)、及びチャットボット(133)を含む。テキストメッセージングプラットフォームは、コンタクトセンターによって公開されたWebページを介したWebチャット、電話を介したスモールメッセージサービス(SMS)メッセージ、又は、一般的にWhatsApp、Facebook MessengerやSnapchatなどを介したWebベースのテキストメッセージングを含んでよい。この例のAIAは、そのような全てのプラットフォームを管理する。AIAは、テレエージェントに応答して電話のGUIウィジェットを呼び出して電話コンタクトを開くことができる。AIAは、タイプされたテキスト入力やボイスメッセージをメールやテキストメッセージに受け入れることができる。この例のAIAは、コンピュータ管理通信における人の行動をエミュレートする人工知能プラットフォームを実装する自動計算機のモジュールである。AIAは、人のスピーチをエミュレートするVXMLダイアログなどで構成されたスピーチ及びテキストメッセージを使用して、顧客担当者との通信とテレエージェントの通信をサポートする。AIAは、通信コンタクトの構造及びコンテンツを新しいセマンティックトリプルにパースして、パースされたトリプルから新しく推論されたトリプルを推論することで、機械学習を実行する。
【0112】
図10の方法では、通信コンタクトの管理は、各通信コンタクト(142,144)の通信プラットフォームタイプ(201,372)を決定すること(383)を含む。通信コンタクトはAIAを介して実装されてよく、プラットフォームタイプの決定は、ユーザーGUI操作によってなされてよい。即ち、例えば、プラットフォームは、プラットフォーム、つまり電話やテキストメッセージなどのテレエージェントの呼び出しGUIウィジェットによって明示的に選択されてよい。テレエージェントは、コンタクトダイアルの又はコンタクトリストからターゲットを選択することができ、その後、AIAは、意図した担当識別情報(207)をそのコンタクトに書き込み、ダイアル又はコンタクトの選択から、プラットフォームのタイプが電話であることを推測することができる。
【0113】
通信コンタクトは、プラットフォームタイプの決定を含めて、GUI操作なしでスピーチのみを介して組み込まれてよい。「Computer,email Bob and ask to schedule a call.」 「Computer,text Bob and ask him to reschedule our call.」 「Computer,ring Bob for me and if he doesn’t answer, leave a message asking for a call back.」というように、テレエージェントは、AIAに口頭で指示を出すことができる。これらの例の各々は夫々、電子メール、テキストメッセージ、電話というプラットフォームの種類を明示している。
【0114】
図10の方法では、プラットフォーム間の管理(382)は、プラットフォームタイプ間で管理することによって実行されてよい。テレエージェントは、コンタクトのシーケンスを顧客担当者と行うことができ、各コンタクトは、同じプラットフォーム又はプラットフォームタイプによって、例えば、全て電話で行われてよく、或いは、各コンタクトは、異なるプラットフォーム、例えば、電話、電子メール、テキストなどによって行われてよい。AIA及び管理機能は、同じ顧客担当者と同じテレエージェントがコンタクトのシーケンスを行った場合でさえも、全てのプラットフォームタイプを等しく処理する。
【0115】
図10の方法では、プラットフォームにわたるコンタクトの管理は、プラットフォームにわたってコンタクトを非同期的に管理することで実施されてよい。即ち、タイミングは、実施形態に基づいたCRMの機能を制限するものではない。テレエージェントは、今日、同じ顧客担当者に電話をしてよく、通話が管理され、コンタクトが確立され、コンテンツが記録され、要素がパースされ、トリプルが格納される。テレエージェントは、明日、同じ顧客担当者に電子メールをしてよく、電子メールが管理され、コンタクトが確立され、コンテンツが記録され、要素がパースされ、トリプルが格納される。テレエージェントは、次の日、同じ顧客担当者にテキストを送ってよく、テキストメッセージが管理され、コンタクトが確立され、コンテンツが記録され、要素がパースされ、トリプルが格納される。AIA(196)及び管理機能(382)は、プラットフォームにわたって非同期に動作する。
【0116】
図10の方法では、プラットフォームにわたるセッション及びコンタクトの管理(382)は、プラットフォームの物理的場所にわたってコンタクトを管理することで実行されてよい。即ち、場所は、実施形態に基づいたCRMの機能を制限するものではない。テレエージェントは、今日、フリーウェイの自動車から同じ顧客担当者に電話をしてよく、通話が管理され、コンタクトが確立され、コンテンツが記録され、要素がパースされ、トリプルが格納される。テレエージェントは、明日、コールセンターのエージェントのデスクから同じ顧客担当者に電子メールをしてよく、電子メールが管理され、コンタクトが確立され、コンテンツが記録され、要素がパースされ、トリプルが格納される。テレエージェントは、次の日、エージェントのホームオフィスにあるエージェントのスマートフォンを使って同じ顧客担当者にテキストを送ってよく、テキストメッセージが管理され、コンタクトが確立され、コンテンツが記録され、要素がパースされ、トリプルが格納される。AIA(196)及び管理機能(382)は、プラットフォームの物理的場所に関係なく動作する。
【0117】
図10の方法では、セッションとコンタクトのシーケンス(374)とを管理することは、コンピュータシステムのコンピュータメモリを構造化し、構造及びコンテンツがエンタープライズナレッジグラフのセマンティックトリプルとして格納される自動計算機のオブジェクト指向モジュールとして各コンタクトを確立することで、AIAコンタクトのシーケンスを管理することを含む。つまり、この例におけるコンタクトは、オブジェクト指向コンタクトクラスのインスタンスである。クラスのオブジェクトの構造は、最初のコンタクト(142)のコンテンツによって示されるが、そのような全てのコンタクトオブジェクト(144,374)の構造は類似するであろう。
【0118】
図10の例では、セッション及びコンタクトのシーケンスの管理(382)は、各コンタクトについて、コンピュータメモリに、コンタクトのセッション識別子(393)、タイムスタンプ(203)、プラットフォームタイプ(201)、コンタクトステータス(211)、及び、コンタクトの通信コンテンツ(213)を記録することを含む。セッション識別子(393)は、セッションの各コンタクトを、適切なセッションに関連付ける。タイムスタンプ(203)は、コンタクトが開始した日時を記録する。この例では、コンタクトはコンタクトに失敗した試みを含む。即ち、図10の方法では、通信コンタクト(142,144)には、テレエージェントと顧客担当者との間で実際に通信が行われたインスタンスと、そのような通信の試みに失敗したインスタンスの両方が含まれる。
【0119】
ステータスコード(211)は、コンタクトの成功又は失敗を示すために使用されてよい。音声対応のAIAは、テレエージェントからのステータス問合せに対して、「You tried him last Wednesday and left a message,but we have had no further contact.」と述べてよい。この例におけるコンタクト構造は、コンタクトを開始したエージェント(205)とコンタクトを求められた顧客担当者(207)の識別コードを含んでいる。エージェントIDと顧客担当者IDは、セッションではなくコンタクトに記録されることから、この例示的セッション構造(140)は、顧客に関連し、特定のサブジェクトマターを有するコンタクトについて、複数のエージェントと複数の顧客担当者の間の複数のコンタクトのラッパーとして機能することができる。
【0120】
通信コンタクトのコンテンツ(213)がスピーチである限り、スピーチは任意選択的に、生で記録されて、格納されたトリプルにURLで配置されるか、或いは、テキストに認識されてからセッションのコンタクトの要素として格納される。トランスクリプトの場合、話者認識を自動化するために、実施形態に基づく例示的コンピュータシステム、CRMアプリケーション、及びAIAは、現在の声紋抽出と以前に保存された既知の話者の声紋との比較とを伴うループで実行される音声認識機能を実装する。記録に声紋がない新しい話者の場合、実施形態に基づくコンピュータは、例えば、テレエージェントが住所リストから選択された特定の顧客担当者に電話をかけましたというような文脈から、話者の身分証明を取得することができる。或いは、声紋が記録されていない新しい話者に対して、実施形態に基づくAIAは、「Excuse me, I didn’t catch your name.」と身分証明を促してよい。新しい話者と声紋を関連付ける他の方法を実施者が思い付くであろうが、そのような方法は全て本発明の範囲内である。
【0121】
図10の方法では、セッション(140)及びそのコンタクトのシーケンスの管理(382)は、セッション(140)下での通信のステータス(219)の要求に応じてテレエージェント(128)にアドバイスすること(384)を含んでよい。AIA(196)は管理プロセス(382)によって、CRMアプリケーションのGUIのウィジェットに、開いている全てのセッション、閉じられたセッション、各セッションのコンタクト、各コンタクトのコンテンツなどをリストしてよい。管理プロセス(382)によるAIA(196)は、音声リクエストを受け入れて、ステータスをスピーチで、例えば、「Computer,What is our communications status with Bob?」と返してよい。回答:「You have no open session with Bob.」又は、「You have an open session, the last contact was an email from you to him on March 25,no response. Shall I read you the email?」
【0122】
図10の方法では、セッション及びコンタクトのシーケンスの管理(382)は、セッションの終了(379)を含んでよい。それを行うためのテレエージェントの指示に従って、AIA(196)は管理プロセスを通じて、セッションステータス(219)を「終了」又は「非アクティブ」などとしてマークしてよい。AIAは管理プロセスを介して、タイムアウト、つまり、セッションの所定の継続期間に従ってセッションを終了してよく、これは、例えば、セッションが開始されたときのタイムスタンプ(386)を、生存期間(221)要素と現在の日時と比較することによって、任意選択的にテレエージェントにタイムアウトを通知し、終了するか否かを尋ねることで行われてよい。セッション及びコンタクトの管理はまた、終了したセッションの再アクティブ化することを含んでよく、これは、例えば、ナレッジグラフの関連するステータストリプルを「非アクティブ」ではなく「アクティブ」としてマークすることによって、或いは、ナレッジグラフから関連するトリプルを取得し、それらに基づいて、オブジェクト指向セッションオブジェクトとその全てのコンタクトオブジェクトとを再構築することによってなされてよい。
【0123】
また、図10の方法は、コンピュータシステムのパースエンジン(380)によって、記述論理のパースされたトリプル(752)に、通信コンタクト(142,144)の構造及びコンテンツ(213)を含めて、通信セッション(140)の構造及びコンテンツ(509)を、パースすること(304)を含む。少なくともいくつかの実施形態では、記述論理は、論理のクエリが決定可能であるような形式的知識表現言語のファミリーのメンバーである。構造及びコンテンツ(509)は、CRMアプリケーション(195)からの通信コンタクトの単語を含む。CRMのコンタクト(142,144)は、次々と時間的に連続して存在することから、シーケンス(374)で存在すると言われる。各CRMコンタクトは、プラットフォームタイプ(372、201)、即ち、「電子メール」、「チャットボット」、「電話」、「テキストメッセージ」などのタイプコードによって特徴付けられる。
【0124】
パースプロセス(304)は、構造及びコンテンツ(509)からの単語をセマンティックトリプル(752)に形成することで機能する。パースプロセス(304)は、主語、述語、及び目的語というトリプルの要素としてGUIウィジェット(368)を介して指定された単語をセマンティックトリプル(752)に形成することで機能してよい。パースプロセス(304)は、主語、述語、及び目的語というトリプルの要素としてVoiceXMLダイアログ(522)の音声コマンドを介して指定された単語をセマンティックトリプル(752)に形成することで機能してよい。パースプロセス(304)は、主語、述語、及び目的語という品詞として自然言語処理エンジン(155)によって指定された単語をセマンティックトリプル(752)に形成することで機能してよい。パースプロセスは、処理のために、推論エンジン(298)とストレージ機能(322)にパースされたトリプル(752)を引き渡す。多くの実施形態では、パースプロセスは、パースされたトリプルを連続メモリのセグメントに配置して、セグメントのメモリアドレスを推論エンジン(298)及びストレージ機能(322)に提供することによって、推論エンジン(298)及びストレージ機能(322)にパースされたトリプル(752)を引き渡す。
【0125】
図10の方法はまた、コンピュータシステムのエンタープライズナレッジグラフ(154)の推論ルール(376)に従って、推論エンジン(298)によって、パースされたトリプルから推論されたトリプル(754)を推論すること(307)を含む。セッション及びコンタクトからパースされたトリプルのより小さなセットに対して推論を実行することの1つの効果は、エンタープライズナレッジグラフ全体に対して推論ルールを実行する負担を軽減することにある。セッション及びコンタクトによって表されるデータの小さなチャンクでトリプルを推論することは、エンタープライズナレッジグラフ全体に対して推論ルールを実行するよりも遥かに小さなデータ処理タスクであるが、それでも、セッション及びコンタクトによって代表されるデータの小さなチャンクでトリプルを推論すると、エンタープライズナレッジグラフ全体に対して推論ルールを実行することによって推論されたトリプルと同じ推論トリプルが生成される。
【0126】
図10の方法はまた、パースされたトリプル(752)と推論されたトリプル(754)とをエンタープライズナレッジグラフ(154)に格納すること(322)を含む。幾つかの実施形態では、エンタープライズナレッジグラフは、CRMシステムを通じてテレエージェントが利用可能な全てのCRM関連知識を含む記述論理のトリプルで構成される。幾つかの実施形態では、エンタープライズナレッジグラフ全体内のセッション及び通信コンタクトの構造及びコンテンツの少なくとも幾つかのサブグラフは、連続コンピュータメモリのセグメントに配置される。
【0127】
更に説明すると、図11は、例示的なエンタープライズナレッジグラフ(154)を示しており、タイプコード化された(type-coded)サブグラフが、ナレッジグラフ全体の論理的に接続されたセグメントとして組み込まれている。図11の例示的なグラフ(154)の全てのノード及びエッジは、セマンティックトリプルの要素である。例示的なグラフ(154)は、顧客情報(238)及び顧客担当者情報(136)としてタイプコード化されたサブグラフと、セッション(140)の例とを含んでおり、セッション(140)の構造、コンテンツ、及びコンタクトは、トリプルにパースされて、エンタープライズナレッジグラフ(154)に格納されている。これらの3つのサブグラフは単なる例であって、エンタープライズナレッジグラフを限定するものではない。また、エンタープライズナレッジグラフは通常、財務情報、ベンダー情報、企業形態及び構造、プロジェクト情報、企業のガイドライン及びマニュアル、従業員データ、会社設立データ、取引、契約、販売履歴、研究内容などを含む。
【0128】
グラフのルート(154)は、エンタープライズナレッジ(199)という名のクラスオブジェクトである。ノードである顧客データ(200)及び顧客担当者データ(226)は、エンタープライズナレッジのサブクラスであり、セッションノード(140)は、パースされて格納された特定のセッションの例示的なインスタンスである。セッションのコンタクトオブジェクト(142,144)の各々は、セッションIDオブジェクト(393)を介してセッション(140)にリンクされている。また、図11の例は、パースプロセスでは、セマンティックトリプルにパース又は推論された各アイテムについて複数のトリプルが生じることがあり、また、そのようになることが多いという事実を示している。例えば、セッション(140)は、この例では7つのトリプル、セッション識別コード(393)、サブジェクトコード(385)、タイムスタンプ(386)、顧客識別コード(387)、コンテンツフィールド、(389)、ステータスコード(219)、及び生存期間コード(221)の主語である。また、コンタクトノード(142)は、更なる例として、7つのトリプル、つまり、コンタクト(142)をセッション(140)にリンクするセッション識別コード(393)、コンタクトのプラットフォームタイプの身分証明(201)、タイムスタンプ(203)、コンタクトを行うテレエージェントを特定するコード(205)、コンタクトの対象となる顧客担当者を特定するコード(207)、ステータスコード(211)、及びコンタクトのコンテンツ(213)の主語である。
【0129】
例えば、現在のコンタクトで使用するために以前のコンテンツを抽出するためにセマンティックリーズナによって使用されるクエリのような、グラフ(154)のようなグラフのトリプルストアに対するクエリは、サブグラフを指定するクローズ(clause)を含んでよい。
【表10】
【0130】
更に説明すると、図12は、トリプルストアの例示的なセットを示しており、顧客データ(238)、顧客担当者データ(136)、セッション(140)が夫々、別々のグラフ(238,240,242)として組み込まれている。エンタープライズナレッジベースはこれら3種類を超える情報を含むであろうことは理解できるであろう。それらの3つの独立したグラフと追加のグラフとは、全エンタープライズナレッジベースの要素を組み込んでよいが、そのようなナレッジベースの管理プロセスは、少なくとも一部のセマンティックデータが別々のグラフに格納されることから異なり得る。例えば、クエリの構造は異なってよい。グラフ(242)のようなグラフのコールノートトリプルストアに対するクエリは、特定のサブグラフを指定するクローズを要しなくてよい。
【表11】
【0131】
更に説明すると、図13は、本発明の実施形態に基づくCRMの更なる例示的な方法を示すフローチャートである。図13の方法は、図10の例示的な方法と同様であって、コンピュータシステム(151,152,157)によって、テレエージェント(128)と顧客担当者(129)との間の最初の通信コンタクト(142)の際に、コンピュータシステムのコンピュータメモリの構造として、通信セッション(140)を確立すること(381)を含む。この例示的な実施形態では、セッション(140)は、オブジェクト指向セッションクラスのインスタンスとして実装できるという点で、コンピュータメモリの構造である。また、図10の方法と同様に、図13の方法は、通信セッション及びコンタクトの管理(382)と、通信セッション(140)をサポートしてテレエージェント(128)との通信(510)を実行すること(390)とを含む。また、図10の方法と同様に、図13の方法は、通信コンタクト(142,144)の構造及びコンテンツを含む通信セッション(140)の構造及びコンテンツ(509)をセマンティックトリプルにパースすること(304)と、パースされたトリプルから推論されたトリプル推論すること(307)と、パースされたトリプルと推論されたトリプルをエンタープライズナレッジグラフ(154)に格納すること(322)とを含む。
【0132】
図10の方法とのそれらの類似点に加えて、図13の方法は、セマンティックトリプルに含めるためのコンテンツを取得する3つの代替的方法を含む。この例のコンテンツは、コンピュータシステムに話された、又は入力された単語(509)で主として構成される。そのため、トリプルに含めるコンテンツを取得する方法は通常、CRMでのデータ処理用にデジタル化された単語を取得することを目的とする。デジタル化された単語をパースのために提供する第1の代替的方法では、図13の方法にて、パース(304)は、テレエージェント(128)と顧客担当者(129)の間の会話(313)から自然言語処理音声認識(NLP-SR)エンジン(153)によって認識されたデジタル化スピーチの単語(509)をパースすることによって行うことができる。即ち、図13の方法は、自然言語処理音声認識(NLP-SR)エンジンによって、そのような会話からの単語(509)をデジタル化スピーチ(508)へと認識すること(228)を含む。この例示的な方法では、その会話のスピーチを認識することは、音声対応デバイス(152)のマイクロフォン及びアンプ、並びにボイスサーバ(151)へのVOIP接続(216)を介して、会話(313)からスピーチの単語を伝えることによって行われ、ボイスサーバ(151)では、音声認識エンジン(150)は、自然言語処理エンジン(155)に渡されたデジタル化スピーチのストリームへと単語を認識し、自然言語処理エンジン(155)は、デジタル化されたスピーチを文と品詞に処理し、そのように処理された単語(509)はパースプロセス(304)に渡されて、そこでトリプル(752)にパースされる。管理プロセス(382)は、デジタル化された単語(509)を、パースすべき構造及びコンテンツ(509)の要素としてパースプロセスに渡す。これが、デジタル化された単語(509)をパースプロセス(304)に提供する第1の代替的方法である。
【0133】
デジタル化された単語をパースプロセスに提供する第2の代替的方法では、図13の方法はまた、CRMダッシュボード(110)のテキストボックスウィジェット(366)からのコールノートの単語(220)を自然言語処理エンジンで受け取ること(307)を含む。テレエージェントは、発話コンテンツを提供することに加えて又はそれに代わるものとして、GUIのテキストボックス(366)にコールノートをタイプし、そして、タイプされた全てのテキストは、デジタル化された単語(220)として、ダッシュボード(110)によって自然言語処理エンジン(155)に直接提供される。自然言語処理エンジンは、タイプされた単語(220)とデジタル化されたスピーチのストリームにある単語(508)との間に違いを認めない。故に、この第2の代替例は、音声認識(150)の必要性がないということを除いて、第1の代替例と同じである。何故ならば、デジタル化されたテキストのストリームが音声エンジン(153)に到達する際に、ストリームの単語は、GUIウィジェットテキストボックス(366)を介してタイプすることで既にデジタル化されているからである。自然言語処理エンジン(155)は、第1の代替例と同じように動作し、テキストボックス(366)からのデジタル化されたテキストを文及び品詞に処理し、そのように処理された単語(509)は管理プロセス(382)を介してパースプロセス(304)に渡されて、セマンティックトリプルへとパースされる。これが、デジタル化された単語(509)をパースプロセス(304)に提供する第2の代替的方法である。
【0134】
デジタル化された単語をパースプロセスに提供する第3の代替方法では、図13の方法はまた、CRMダッシュボード(110)のウィジェット(360,362,364)を介して、パースされたトリプルの要素として指定された単語(222)を受け取ること(303)を含む。これらのウィジェットは、トリプルの主語(360)、トリプルの述語(362)、トリプルの目的語(364)のプルダウンメニューリストである。少なくともこの例示的な実施形態における述語(362)及び目的語(364)は、エンタープライズナレッジグラフ(154)をサポートしてオントロジーで既に定義されているトリプル要素である。主語(360)は、トリプルに含まれる単語候補のストリームである。主語プルダウンメニュー(360)の単語は、例えば、コールノートテキスト(366)から又は会話(313)から認識された単語から、NLP-SRエンジン(153)によって提供される。テレエージェント(128)は、例えばキーボード又はマウスで選択して、主語プルダウンメニュー(360)から単語を選択することで、単語(222)をパースプロセス(304)に渡す。テレエージェントは任意選択的に、選択した主語と共に同じトリプルに含める述語(362)又は目的語(364)を選択することもできる。テレエージェントの述語及び目的語の選択は、幾つかの実施形態では、パースプロセス(304)を拘束してよい。他の実施形態では、テレエージェントの選択は、パースプロセスによって単なる推奨として扱われる。パースプロセスは任意選択的にテレエージェントの述語及び目的語の選択を受け入れ、或いは、パースプロセスは、少なくとも1つのパースされたトリプルの単語(220)と一緒に含める述語及びトリプルについて独自の選択を行う。これが、デジタル化された単語(509)をパースプロセス(304)に提供する第3の代替的方法である。
【0135】
更に説明すると、図14は、本発明の実施形態に基づくCRMの更なる例示的な方法を示すフローチャートである。図14の方法は、図10の例示的な方法と似ており、通信セッション(140)を確立すること(381)、通信セッション及びコンタクトを管理すること(382)、通信セッション(140)をサポートしてテレエージェント(128)との通信(510)を実行すること(390)、通信セッション及びコンタクトの構造及びコンテンツをセマンティックトリプルにパースすること(304)、パースされたトリプルから推論されたトリプルを推論すること(307)、パースされたトリプルと推論されたトリプルをエンタープライズナレッジグラフ(154)に格納すること(322)を含む。
【0136】
図10の方法との上記の類似点に加えて、図14の方法は、通信セッション及びコンタクトを管理する(382)ための幾つかの代替的手法を含む。図14の方法では、顧客担当者とのコンタクトの管理(382)は、例えば、テレエージェントの可用性を記録すること(402)と、テレエージェントの可用性を顧客担当者にアドバイスすること(404)とを含んでよい。テレエージェントは、音声、テキスト入力、又はウィジェット操作によって、AIA(196)に、例えば、「I’m in meeting with Mike until 11:00.」とアドバイスしてよい。AIAは、テキスト、電子メール、又は電話で、「Your tele-agent is in a meeting until 11:00. He’ll contact you then.」と顧客担当者に伝えてよい。
【0137】
図14の方法では、テレエージェントとの通信を行うこと(390)は、顧客担当者とAIAとの間の通信コンタクトのコンテンツをテレエージェントにアドバイスすること(418)を含む。AIAは、例えば、テキスト、メール又は電話で、「Bob is holding. I told him you’re in with your boss and you’d call back. He says it’s urgent. Should I take a message or will you speak now?」とアドバイスしてよい。
【0138】
図14の方法では、顧客担当者とのコンタクトの管理(382)は、例えば、AIAによるAIAと顧客担当者の間のコンタクトを終了すること(406)と、テレエージェントと顧客担当者の間の直接の接触によりセッションのコンタクトを継続すること(408)とを含む。これらの方法のステップ(406,408)は、AIAが全てを処理することはできず、エンタープライズナレッジグラフやAIA自身のプログラミングに限界があることを認識しており、限界を過ぎると、それ以外の点では顧客担当者とうまくいっていても、AIAは、コンタクト及び次のコンタクトをテレエージェントに引き渡す。限界は、権限の制限と知識の制限の両方を含んでよく、多くの実施形態では、限界は、エンタープライズナレッジグラフのセマンティックトリプルで定義されるであろう。
【0139】
図14の方法では、顧客担当者とのコンタクトの管理(382)は、例えば、メッセージが受信されたときに顧客担当者からのテキストメッセージ及び電子メールメッセージにAIAによって応答すること(410)と、電話が受信されたときに、AIAによって顧客担当者からの電話に応答すること(412)とを含んでよい。この効果は、顧客担当者が始めた全てのコンタクトが直ちに応答を受け取ることである。顧客担当者からメール、テキスト又は電話が来ると、顧客担当者は、テレエージェントの可用性に関係なく、即座に応答を受け取る。
【0140】
図14の方法では、顧客担当者とのコンタクトの管理(382)は、例えば、顧客担当者からのAIAの口頭指示を受け入れることと(414)、担当者の指示、音声プロンプト、及び発話応答に応じて、AIAが顧客担当者に応答すること(416)とを含んでよい。AIAがテレエージェントと会話するように、AIAはまた、顧客担当者とVXMLベースのダイアログを行ってよい。「This is Bob’s AI. Bob’s in with his boss. Can he call you in a bit?」 「Yes,ask him to phone me later this morning.」 「Yes, I’ll do that.」その後、AIAは顧客担当者の要求を指示として処理して、テレエージェントのボブへの電話を予定に入れる。
【0141】
図14の方法は、コンピュータシステムのセマンティッククエリ推論エンジン(298)によって、ナレッジグラフに記録されたセマンティックデータに対するセマンティッククエリ(341)を、エンタープライズナレッジグラフ(154)に対して実行すること(338)を含む。図14の方法はまた、セマンティッククエリ(341)の結果(342)を表示すること(348,350)を含む。求められるデータは、以前にパースされた(304)又は推論された(307)、エンタープライズナレッジグラフ(154)に格納された(322)、1又は複数のセマンティックトリプル又はセマンティックサブグラフにある。
【0142】
図14の方法は、単にトリプルがトリプルストアにあるか否かを判定するだけでなく、トリプルストア(154)のコンテンツを検索するタイプのクエリ(341)の実行を含む点で、図10の方法とは異なる。図14の方法は、クエリエンジン(298)が、エンタープライズナレッジグラフ(154)に対して、エンタープライズナレッジグラフ(154)に記録されたトリプルからの情報のセマンティッククエリ(341)を実行すること(338)を含む。セマンティッククエリは、ダッシュボード(110)のようなGUIの要素を介して、或いは、更なる例として、マイク(176)やVoiceXMLダイアログ(522)などの音声対応ユーザインターフェースを介して、クエリ推論エンジンで受信(344)される。クエリ推論エンジン(298)は、セマンティッククエリの結果(342)を検索して(343)、GUI(110)を通じて、又は音声対応ユーザインタフェース(522,177)を通じて表示する(348,350)。
【0143】
クエリ(341)は、データがストアにあるか否かを単に尋ねるのではなく、データ自体を返すように要求する。故に、BobとMona Lisaに関するグラフを再度参照すると、このクエリは、Bobが主語である全てのトリプルから述語及び目的語を要求する更なる説明例である。
【表12】
は、以下を返す。
【表13】
【0144】
以下のクエリは、
【表14】
以下を返す。
【表15】
【0145】
以下のクエリは、
【表16】
以下を返す。
【表17】
【0146】
上記の説明から、本発明の真の精神から逸脱することなく、本発明の様々な実施形態において修正及び変更を行うことができることは理解されるであろう。本明細書の記載は説明を目的としており、限定的意味で解釈されるものではない。本発明の範囲は、添付の特許請求の範囲の文言によってのみ限定される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14