(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-07
(45)【発行日】2024-06-17
(54)【発明の名称】ニューラルシーケンスモデルを使用した顧客ジャーニーイベント表現学習及び帰結予測のためのシステム及び方法
(51)【国際特許分類】
G06F 11/34 20060101AFI20240610BHJP
G06Q 10/04 20230101ALI20240610BHJP
G06N 20/00 20190101ALI20240610BHJP
G06F 21/62 20130101ALI20240610BHJP
【FI】
G06F11/34 176
G06Q10/04
G06N20/00
G06F21/62 354
(21)【出願番号】P 2021559102
(86)(22)【出願日】2020-04-09
(86)【国際出願番号】 US2020027348
(87)【国際公開番号】W WO2020210411
(87)【国際公開日】2020-10-15
【審査請求日】2022-12-15
(32)【優先日】2019-04-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】523074490
【氏名又は名称】ジェネシス クラウド サービシーズ インコーポレイテッド
(74)【代理人】
【識別番号】110002848
【氏名又は名称】弁理士法人NIP&SBPJ国際特許事務所
(72)【発明者】
【氏名】ネギ、サプナ
(72)【発明者】
【氏名】ダブロフスキ、マチェイ
(72)【発明者】
【氏名】ガナパチーラジュ、アラヴィンド
(72)【発明者】
【氏名】ムニョス、エミール
(72)【発明者】
【氏名】ラガヴェンドラ、ヴィーラ エルル
(72)【発明者】
【氏名】ウィース、フェリックス イマヌエル
【審査官】久々宇 篤志
(56)【参考文献】
【文献】米国特許出願公開第2014/0095413(US,A1)
【文献】国際公開第2017/168883(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/34
G06Q 10/04
G06N 20/00
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムによって、ウェブサイト上の複数の顧客のブラウジングセッションからの生の顧客ジャーニーイベントデータを変換して、ウェブイベントのベクトル表現を取得するための取り込み可能なデータセットを機械学習する方法であって、
前記コンピュータシステムが、
a.前記ブラウジングセッションからのイベントをロギング及び記憶することであって、前記イベントが、前記複数の顧客からの活動データを含む、ロギング及び記憶することと、
b.前記ウェブサイト上で捕捉された前記生
の顧客ジャーニーイベントデータを前処理することであって、
i.個人的に識別可能な情報を含むすべてのカラム内の値を除去又はマスキング/暗号化する工程と、
ii.モデル訓練中に予測される必要があるクラス属性を識別する工程と、
iii.クラス属性を複製するカラムを識別及び除去する工程と、
iv.アレイ型データを除去する工程と、
v.タイムスタンプデータを除去する工程と、
vi.すべてのブール型カラムを整数型に変換する工程と、
vii.すべてのヌル値及び未知の値を置き換える工程と、を更に含む、前処理することと、
c.ウェブイベントのベクトル表現を取得するためのアルゴリズムに適用することが可能である、前記取り込み可能なデータセットを取得することと、を含む、方法。
【請求項2】
前記イベントが、共通スキーマで記憶される、請求項1に記載の方法。
【請求項3】
前記すべてのブール型
カラムを整数型に変換することが、「真」を1に、及び「偽」を0に置き換えることを更に含む、請求項1に記載の方法。
【請求項4】
前記すべてのヌル値及び未知の値を置き換えることが、すべてのヌル値及び未知の値を、整数型については1に、倍精度型については0.0に、及び文字列型については「未知」に置き換えることを更に含む、請求項1に記載の方法。
【請求項5】
前記前処理する工程が、連続的な順序で実行される、請求項1に記載の方法。
【請求項6】
コンピュータシステムによって、ウェブサイト上の複数の顧客のブラウジングセッションからの生の顧客ジャーニーイベントデータを変換して、ウェブイベントのベクトル表現を取得するための取り込み可能なデータセットを機械学習する方法であって、
前記コンピュータシステムが、
a.前記ブラウジングセッションからのイベントをロギング及び記憶することであって、前記イベントが、前記複数の顧客からの活動データを含む、ロギング及び記憶することと、
b.前記ウェブサイト上で捕捉された前記生
の顧客ジャーニーイベントデータを前処理することであって、
i.個人的に識別可能な情報を含むすべてのカラム内の値を除去又はマスキング/暗号化する工程と、
ii.モデル訓練時に予測される必要があるクラス属性を識別する工程と、
iii.クラス属性を複製するカラムを識別及び除去する工程と、
iv.アレイ型データを除去する工程と、
v.タイムスタンプデータを除去する工程と、
vi.すべてのブール型データを整数型に変換する工程と、
vii.すべてのヌル値及び未知の値を置き換える工程と、を更に含む、前処理することと、
c.ウェブイベントのベクトル表現を取得するためのアルゴリズムに適用することが可能である、前記取り込み可能なデータセットを取得することと、
d.前記取り込み可能なデータセットを用いて、フィードフォワードニューラルネットワークを訓練することと、
e.前記ウェブイベントを前記フィードフォワードニューラルネットワークに入力することであって、出力が、前記ウェブイベント内の各活動のベクトル表現を含む、入力することと、
f.前記ウェブイベント内の前記
各活動のために、ベクトルカラムをデータセットに付加することと、を含む、方法。
【請求項7】
前記ベクトル表現が、共通のn次元空間を含む、請求項6に記載の方法。
【請求項8】
前記訓練することが、入力のイベントクラスの予測を含む、請求項6に記載の方法。
【請求項9】
前記訓練されたフィードフォワードニューラルネットワークが、複数の入力層分岐を含む、請求項8に記載の方法。
【請求項10】
前記複数の入力層分岐が、少なくとも、カテゴリ属性を受け付ける第1の分岐と、連続した数値属性を受け付ける第2の分岐と、を更に含む、請求項9に記載の方法。
【請求項11】
前記イベントが、共通スキーマで記憶される、請求項6に記載の方法。
【請求項12】
前記すべてのブール型データを整数型に変換することが、「真」を1に、及び「偽」を0に置き換えることを更に含む、請求項6に記載の方法。
【請求項13】
前記すべてのヌル値及び未知の値を置き換えることが、すべてのヌル値及び未知の値を、整数型については1に、倍精度型については0.0に、及び文字列型については「未知」に置き換えることを更に含む、請求項6に記載の方法。
【請求項14】
前記前処理する工程が、連続的な順序で実行される、請求項6に記載の方法。
【請求項15】
各イベントが、特性及びモダリティを含むスキーマを含む、請求項6に記載の方法。
【請求項16】
a.LSTMセルユニット及び高密度ニューロンユニットを含む訓練されたニューラルネットワークに、前記付加されたデータセットを入力する工程であって、前記ニューラルネットワークの入力層及び隠れ層が、LSTMセルユニットを含み、出力層が、前記高密度ニューロンユニットを含む、入力する工程と、
b.単一のベクトルとして前記高密度ニューロン
ユニットに入力される処理シーケンスを取得する工程と、
c.前記単一のベクトルにソフトマックス関数を適用する工程と、
d.前記ベクトルの帰結確率を取得する工程と、を更に含む、請求項6に記載の方法。
【請求項17】
前記ニューラルネットワークが、前処理されたデータを使用して訓練されており、前記前処理するための方法が、
a.所与のエンティティの帰結IDのセットを識別することと、
b.訪問ID、所与の訪問内のイベントIDの時間順序シーケンス、及びクラス標識を捕捉するデータフレームスキーマを定義することと、
c.前記定義されたデータフレームをポピュレートするために、イベントデータフレームを問い合わせることと、
d.前記
時間順序シーケンスから帰結イベントを除去することと、
e.イベントIDをそれぞれのイベントベクトルに置き換えることと、を含む、請求項16に記載の方法。
【請求項18】
前記入力層が、タイムスタンプの順序で入力を受け付ける、請求項16に記載の方法。
【請求項19】
前記単一のベクトルが、前記シーケンス内の前のイベントの表現を含む、請求項16に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、電気通信システム及び方法、並びに予測分析、機械学習、ブラウザ用のWebRTC及びVoIPプラグインなどの技術の使用を通じたウェブサイト、モバイルアプリ、分析、及びコンタクトセンターの相互作用に関する。
関連出願の相互参照及び優先権の主張
【0002】
本出願は、2014年4月14日出願の「System and Method for Interaction Routing by Applying Predictive Analytics and Machine Learning to Web and Mobile Application Content」と題する米国仮出願第61/979,479号に関連し、これは、2015年4月14日出願の同じく「System and Method for Interaction Routing by Applying Predictive Analytics and Machine Learning to Web and Mobile Application Content」と題する係属中の米国特許出願第14/686,404号、及び2019年3月13日出願の同じく「System and Method for Interaction Routing by Applying Predictive Analytics and Machine Learning to Web and Mobile Application Content」と題する係属中の分割米国特許出願第16/352,022号に変換された。本出願は、2019年4月09日出願の「System and Method for Customer Journey Event Representation Learning and Outcome Prediction Using Neural Sequence Models」とも題する米国特許出願第16/379,110号に対する優先権を主張し、この内容は本明細書に組み込まれる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ニューラルシーケンスモデルを使用した、顧客ジャーニーイベント表現の学習及び帰結予測のためのシステム及び方法が提示される。複数のイベントがモジュールに入力され、各イベントは、イベントの特性及びそれらのモダリティ(ウェブクリック、発呼、電子メール、チャットなど)を含むスキーマを有する。異なるモダリティのイベントは、異なるスキーマを使用して捕捉することができ、したがって、本明細書に記載される実施形態は、スキーマアグノスティックである。各イベントは、モジュールによって、何らかの数のベクトルとして表され、複数のベクトルが、各顧客訪問について合計で生成される。次いで、これらのベクトルは、リカレントニューラルネットワークなどの機械学習アルゴリズムを使用して、顧客ジャーニーにおけるリアルタイムの次の最良の行動又は帰結の確率を予測するために、シーケンス学習において使用される。
【0004】
一実施形態では、ウェブサイト上の複数の顧客のブラウジングセッションからの生の顧客のジャーニーイベントデータを変換して、ウェブイベントのベクトル表現を取得するための取り込み可能なデータセットを機械学習するための方法が提示され、この方法は、ブラウジングセッションからのイベントをロギング及び記憶することであって、イベントが、複数の顧客からの活動データを含む、ロギング及び記憶することと、ウェブサイト上で捕捉された生データを前処理することであって、個人的に識別可能な情報を含むすべてのカラム内の値を除去又はマスキング/暗号化する工程と、モデル訓練中に予測される必要があるクラス属性を識別する工程と、クラス属性を複製するカラムを識別及び除去する工程と、アレイ型データを除去する工程と、タイムスタンプデータを除去する工程と、すべてのブール型カラムを整数型に変換する工程と、すべてのヌル値及び未知の値を置き換える工程と、を更に含む、前処理することと、ウェブイベントのベクトル表現を取得するためのアルゴリズムに適用することが可能である、取り込み可能なデータセットを取得することと、を含む。
【0005】
イベントは、共通スキーマで記憶され得る。前処理工程は、連続的な順序で実行され得る。すべてのブール型データを整数型に変換することは、「真」を1に、及び「偽」を0に置き換えることを更に含む。すべてのヌル値及び未知の値を置き換えることは、すべてのヌル値及び未知の値を、整数型については1に、倍精度型については0.0に、及び文字列型については「未知」に置き換えることを更に含む。
【0006】
別の実施形態では、ウェブイベントのベクトル表現を取得するための方法が提示され、この方法は、ブラウジングセッションからのイベントをロギング及び記憶することであって、イベントが、複数の顧客からの活動データを含む、ロギング及び記憶することと、ウェブサイト上で捕捉された生データを前処理することであって、個人的に識別可能な情報を含むすべてのカラム内の値を除去又はマスキング/暗号化する工程と、モデル訓練時に予測される必要があるクラス属性を識別する工程と、クラス属性を複製するカラムを識別及び除去する工程と、アレイ型データを除去する工程と、タイムスタンプデータを除去する工程と、すべてのブール型データを整数型に変換する工程と、すべてのヌル値及び未知の値を置き換える工程と、を更に含む、前処理することと、ウェブイベントのベクトル表現を取得するためのアルゴリズムに適用することが可能である、取り込み可能なデータセットを取得することと、取り込み可能なデータセットを用いてフィードフォワードニューラルネットワークを訓練することと、ウェブイベントをフィードフォワードニューラルネットワークに入力することであって、出力が、ウェブイベント内の各活動のベクトル表現を含む、入力することと、ウェブイベント内の対応する活動のために、ベクトルカラムをデータセットに付加することと、を含む。追加の工程は、LSTMセルユニット及び高密度ニューロンユニットを含む訓練されたニューラルネットワークに、付加されたデータセットを入力する工程であって、ニューラルネットワークの入力層及び隠れ層が、LSTMセルユニットを含み、出力層が、高密度ニューロンユニットを含む、入力する工程と、単一のベクトルとして高密度ニューロン層に入力される処理シーケンスを取得する工程と、単一のベクトルにソフトマックス関数を適用する工程と、ベクトルの帰結確率を取得する工程と、を含み得る。
【0007】
ベクトル表現は、共通のn次元空間を含む。訓練することは、入力のイベントクラスの予測を含む。訓練されたフィードフォワードニューラルネットワークは、複数の入力層分岐を含む。複数の入力層分岐は、少なくとも、カテゴリ属性を受け付ける第1の分岐と、連続した数値属性を受け付ける第2の分岐と、を更に含む。
【0008】
イベントは、共通スキーマで記憶される。すべてのブール型データを整数型に変換することは、「真」を1に、及び「偽」を0に置き換えることを更に含む。すべてのヌル値及び未知の値を置き換えることは、すべてのヌル値及び未知の値を、整数型については1に、倍精度型については0.0に、及び文字列型については「未知」に置き換えることを更に含む。前処理工程は、連続的な順序で実行される。各イベントは、特性及びモダリティを含むスキーマを含む。
【0009】
ニューラルネットワークは、前処理されたデータを使用して訓練されており、前処理するための方法は、所与のエンティティの帰結IDのセットを識別することと、訪問ID、所与の訪問内のイベントIDの時間順序シーケンス、及びクラス標識を捕捉するデータフレームスキーマを定義することと、定義されたデータフレームをポピュレートするために、イベントデータフレームを問い合わせることと、シーケンスから帰結イベントを除去することと、イベントIDをそれぞれのイベントベクトルに置き換えることと、を含む。
【0010】
入力層は、タイムスタンプの順序で入力を受け付ける。単一のベクトルは、シーケンス内の前のイベントの表現を含む。
【図面の簡単な説明】
【0011】
【
図1】
図1は、ネットワーク化された環境内のシステムの一実施形態を示す図である。
【0012】
【
図2A】
図2Aは、コンピューティングデバイスの一実施形態を示す図である。
【0013】
【
図2B】
図2Bは、コンピューティングデバイスの一実施形態を示す図である。
【0014】
【
図3】
図3は、データ処理のためのプロセスの一実施形態を示すフローチャートである。
【0015】
【
図4】
図4は、予測分析及び機械学習を適用するためのシステムの一実施形態を示す図である。
【0016】
【
図5】
図5は、イベントをベクトル表現に変換するためのシステムの一実施形態を示す図である。
【0017】
【
図6】
図6は、ベクトル表現の取り込みのためのプロセスの一実施形態を示す図である。
【0018】
【
図7】
図7は、連続ニューラルネットワークのためのシステムの一実施形態を示す図である。
【発明を実施するための形態】
【0019】
本発明の原理の理解を促進する目的で、ここでは図面に示される実施形態を参照し、特定の言語を使用してその説明を行う。上記にかかわらず、これが本発明の範囲の限定を意図したものではないことは理解されよう。記載される実施形態における任意の変更及び更なる修正、並びに本明細書に記載される本発明の原理の任意の更なる用途は、本発明が関連する当業者に通常生じるものとして想到される。
【0020】
今日、顧客は、典型的には、顧客、サプライヤ、及び他のステークホルダと通信するための組織の主要なインターフェースに迅速になりつつある、プロバイダのウェブサイト又はモバイルアプリケーションを介して、商品又はサービスプロバイダとの相互作用を開始及び遂行する。
【0021】
顧客ケアエージェントへの従来のコンタクトセンタールーティングは、発呼線IDなどの電話パラメータから導出されるデータを介して、又はインタラクティブ音声応答セッションにおけるDTMFトーンを介して顧客によって行われる簡単な選択(例えば、販売については押下1、サポートについては2など)を介して行われる。
【0022】
今や、顧客がビジネスウェブサイト又はモバイルアプリケーションを介してビジネス相互作用を開始する、コンタクトセンターのために可能な完全に新しいパラダイムが存在し、これらは現在、ビジネスが顧客をサポートするための主要なインターフェースである。VoIP及びWebRTCのような技術の出現により、ウェブサイト及びブラウザ又はモバイルアプリケーションベースの経験に音声及びビデオ機能を直接構築することが可能である。この機構は、顧客と顧客のブラウザ又はモバイルアプリケーション間の媒体経路がピアツーピアで確立されるため、この機構は、顧客が電話番号を有することさえ必要としない。
【0023】
ウェブブラウザ用の電話プラグインを含む、WebRTC、及びGoogle(登録商標)(例えば、GoogleTalk(登録商標))、Cisco(例えば、Jabber Guest)などの同様のものによる更なるインターネットベースの電気通信開発の増大している採用は、エンティティウェブサイトの関連する組み込み特徴によってアドホックで呼び出されるべき、統一された通信機能をブラウザ内に直接構築することを可能にした。
【0024】
しかしながら、既知の実装は、SIPなどの電話プロトコルを介してPSTN、又はエンタープライズPBXへの発呼を開始するために、そのような統一された通信プラグインのみを依然として使用し、次いで、インタラクティブ音声応答ベースの認証(例えば、「あなたの識別子を入力する」)又は基本的な発呼ルーティング(例えば、「サポートについては1を押下し、販売については2を押下する」)のいずれかとともに、発呼線ID又はダイヤル番号のような従来の方法を使用して発呼をルーティングする。したがって、このような実装は、既知の従来のPSTN/PBXベースの電気通信モデルへのゲートウェイとして、依然としてブラウザを使用するだけである。
【0025】
したがって、このような発呼を受信するインターロクタ(非限定的な例を挙げると、コンタクトセンター内のエージェント)は、特にそのような発呼が、ウェブサイトに関連付けられたエンティティとの顧客の全く初めてのリアルタイム相互作用である場合、それらのデータシステムが既に保持していることがある発呼側ユーザについての何らかの詳細、あるいは更に両方に依存しなければならない。
【0026】
例えば、ウェブサイトのブラウジングパターンを分析するGoogle Analytics(登録商標)のような、顧客の行動及びオンラインリソースの使用を追跡する分析データ処理ツールを用いて、捕捉されたデータを精緻化することが既知であるが、このようなツールの出力は、通常、集約され、匿名化されたデータであるため、発呼側ユーザとそれらの最終的なインターロクタの両方に対する直感的かつ個人的な経験をサポートするのには好適でない。他のツール(例えば、Marketo又はHubSport)は、ウェブサイト上の活動に基づいて訪問者をランク付けする。しかしながら、これらのツールは、顧客が通信を電話又は他の音声通信手段に切り替えるときのコンテキストの損失により、この個人化をコンタクトセンターに拡張する際には適用されない。当該技術分野における他の特許公報は、米国特許出願公開第2004/039775号及び国際公開第2014/071391号を含み得るが、本開示のシステム及び方法は、ウェブサイトと相互作用するユーザにとって満足のいくレベルの個人化を提供しない。
【0027】
図1は、全体が100で示される、ネットワーク化された環境内のシステムの一実施形態を示す図である。ネットワーク化された環境は、ワールドワイドウェブ又はインターネットなどのワイドエリアネットワーク(「WAN」)111を含むネットワークを介して各々が互いに少なくともデータ通信することができる、モバイルデータ処理端末105
Nと静的データ処理端末110
Nの両方からなる複数のデータ処理デバイスを含む。
【0028】
各モバイルデータ通信デバイス105は、モバイル通信用のグローバルシステム(「GSM」)、汎用パケット無線サービス(「GPRS」)、国際モバイル電気通信2000(IMT-2000、「W-CDMA」又は「3G」)、国際モバイル電気通信プロトコルアドバンスト(ITU R-準拠、「4G」として既知である)、ネットワーク業界規格に従って構成されたセルラ電話ネットワークを介した無線電気通信の発信及び受信機能を有するモバイル電話ハンドセット105を備え、電気通信は、ショートメッセージサービス(「SMS」)プロトコル、無線アプリケーションプロトコル(「WAP」)、ハイパーテキスト転送プロトコル(「HTTP」)、又はセキュアハイパーテキスト転送プロトコル(「HTTPS」)を使用して、音声、英数字、又はオーディオビデオデータとして実行される。
【0029】
各モバイル電話ハンドセット105Nは、無線データ送信106を介してデジタル信号として符号化された音声、テキスト、オーディオ及び/又は画像データを受信又は発信し、この信号は、地理的に最も近い通信リンクリレー107又はそれらの複数によって、それぞれハンドセットに又はハンドセットからリレーされる。複数の通信リンクリレー107は、MSC又は基地局109を介して遠隔ゲートウェイ108によって各ハンドセット105とそれらの宛先との間でデジタル信号がルーティングされることを可能にする。ゲートウェイ108は、例えば、無線データ送信106が行われるセルラネットワークなどの無線通信ネットワークと、ワイドエリアネットワーク111との間でデジタル信号トラフィックを結合する通信ネットワークスイッチである。ゲートウェイ108は、必要に応じて、例えば、ハンドセット105がデータを通信するためにWAPプロトコルを使用するかHTTPSプロトコルを使用するかにかかわらず、プロトコル変換を更に提供する。
【0030】
代替的に、又は追加的に、複数のモバイルデータ通信デバイス105Nのうちの1つ以上は、それぞれ、有線ローカルエリアネットワーク(「LAN」)及び/又は802.11規格(「Wi-Fi」)に準拠した無線LAN(「WLAN」)を介した有線及び/又は無線電気通信の発信及び受信機能を有し得る。LAN又はWLANでは、電気通信は、同様に、インターネットプロトコル(「IP」)、VoIPプロトコル、HTTP、又はHTTPSを使用して音声、英数字、及び/又はオーディオビデオデータとして実行され、信号は、モバイルデータ通信デバイス105をWAN通信ネットワーク111にインターフェースする有線(LAN)又は無線(WLAN)ルータ109によって、それぞれモバイルデータ通信デバイス105に又はモバイルデータ通信デバイス105からリレーされる。モバイル電話ハンドセット105は、GSM、GPRS、W-CDMA及び/又は3G、ITU-R/4Gに加えて、WLANを介した無線電気通信の発信及び受信機能を有し得る。
【0031】
システム100とともに使用するための典型的なハンドセット105Nは、好ましくは、一般に「スマートフォン」(例えば、iPhone、Androidフォン、又は同等のハンドセット)と称されるものである。一般に、モバイル端末105は、少なくとも無線通信手段並びにオーディオ記録及び記憶手段を有する任意のポータブルデータ処理デバイスであってもよい。したがって、モバイルデータ通信デバイス105のうちの1つ以上が、代わりに、「ラップトップ」又は「ノート」と一般に称されるポータブルコンピュータ、タブレットなどであってもよいことが、当業者によって本開示から容易に理解されるであろう。
【0032】
コンピュータシステム
【0033】
システム100は、1つ以上のデータ処理端末110
Nを含む。一実施形態では、説明される図の多様なサーバ、制御部、スイッチ、ゲートウェイ、エンジン、及び/又はモジュール(サーバと総称される)の各々は、当業者に理解されるように、ハードウェア又はファームウェア(例えば、ASIC)を介して実装される。多様なサーバの各々は、1つ以上のプロセッサ上で実行され、1つ以上のコンピューティングデバイス(例えば、
図2A、
図2B)において、コンピュータプログラム命令を実行し、本明細書に記載される様々な機能を実行するための他のシステム構成要素と相互作用するプロセス又はスレッドであってもよい。コンピュータプログラム命令は、例えばRAMなどの標準メモリデバイスを使用してコンピューティングデバイスに実装され得るメモリに格納される。コンピュータプログラム命令はまた、例えば、CD-ROM、フラッシュドライブなどの他の非一時的コンピュータ可読媒体に格納され得る。当業者は、コンピューティングデバイスが、ファームウェア(例えば、特定用途向け集積回路)、ハードウェア、又はソフトウェア、ファームウェア、及びハードウェアの組み合わせを介して実装され得ることを認識されたい。当業者はまた、各種コンピューティングデバイスの機能が組み合わされるか若しくは単一のコンピューティングデバイスに統合され得ること、又は特定のコンピューティングデバイスの機能が、本発明の例示的な実施形態の範囲から逸脱することなく、1つ以上の他のコンピューティングデバイス間に分散され得ることを認識すべきである。サーバは、単にモジュールとも称され得るソフトウェアモジュールであり得る。コンタクトセンター内のモジュールのセットは、サーバ及び他のモジュールを含み得る。
【0034】
多様なサーバは、コンタクトセンターのエージェントと同じ物理的場所にあるオンサイトのコンピューティングデバイス上に位置し得、又は地理的に異なる場所、例えば、インターネットなどのネットワークを介してコンタクトセンターに接続されたリモートデータセンターにおいてオフサイトに位置し得る。更に、サーバのいくつかは、コンタクトセンターにあるオンサイトのコンピューティングデバイス内に位置し得、一方、他のサーバは、オフサイトのコンピューティングデバイス内に位置し得、又は冗長な機能を提供するサーバは、より優れたフォールトトレランスを提供するためにオンサイト及びオフサイトのコンピューティングデバイスの両方を介して提供され得る。いくつかの実施形態では、オフサイトのコンピューティングデバイスに配置されたサーバによって提供される機能は、かかるサーバがオンサイトにあるかのように仮想プライベートネットワーク(virtual private network、VPN)を介してアクセス及び提供され得、又は機能は、例えば、拡張可能なマークアップ言語(extensible markup language、XML)又はJSONでの符号化を使用してデータを交換することなどによって、様々なプロトコルを使用してインターネット上に機能を提供するためのサービスとしてのソフトウェア(software as a service、SaaS)を使用して提供され得る。一実施形態では、サーバは、ウェブサイトをブラウズする顧客又はユーザに関連付けられたコンピューティング又はユーザデバイス上に配置され得る。
【0035】
図2A及び
図2Bは、全体が200で示される、本発明の実施形態で用いられ得るようなコンピューティングデバイスの一実施形態を示す図である。各コンピューティングデバイス200は、CPU205及びメインメモリユニット210を含む。
図2Aに示すように、コンピューティングデバイス200はまた、ストレージデバイス215、リムーバブルメディアインターフェース220、ネットワークインターフェース225、入出力(I/O)コントローラ230、1つ以上の表示デバイス235A、キーボード235B、及びポインティングデバイス235C(例えば、マウス)を含み得る。ストレージデバイス215は、限定するものではないが、オペレーティングシステム及びソフトウェアのためのストレージを含み得る。
図2Bに示すように、各コンピューティングデバイス200はまた、メモリポート240、ブリッジ245、1つ以上の追加の入出力デバイス235D、235E、及びCPU205と通信するキャッシュメモリ250など、追加の任意選択的な要素を含み得る。入出力デバイス235A、235B、235C、235D、及び235Eは、本明細書では、235と総称される場合がある。
【0036】
CPU205は、メインメモリユニット210からフェッチされた命令に応答し、それを処理する任意の論理回路である。例えば、CPU205は、集積回路に、マイクロプロセッサ、マイクロコントローラ、若しくはグラフィックス処理ユニットの形態で、又はフィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)若しくは特定用途向け集積回路(application-specific integrated circuit、ASIC)に実装され得る。メインメモリユニット210は、データを格納し、任意のストレージ位置が中央処理ユニット205によって直接アクセスされることを可能にする1つ以上のメモリチップであり得る。
図2Aに示すように、中央処理ユニット205は、システムバス255を介してメインメモリ210と通信する。
図2Bに示すように、中央処理ユニット205はまた、メモリポート240を介してメインメモリ210と直接通信し得る。
【0037】
一実施形態では、CPU205は、複数のプロセッサを含み得、命令の同時実行又は1つ以上のデータ上での単一の命令の同時実行のための機能を提供し得る。一実施形態では、コンピューティングデバイス200は、1つ以上のコアを有する並列プロセッサを含み得る。一実施形態では、コンピューティングデバイス200は、単一のグローバルアドレス空間としてすべての利用可能なメモリにアクセスする、複数のプロセッサ及び/又は複数のプロセッサコアを有する共有メモリ並列デバイスを備える。別の実施形態では、コンピューティングデバイス200は、ローカルメモリのみに各々アクセスする複数のプロセッサを有する分散メモリ並列デバイスである。コンピューティングデバイス200は、共有されているいくつかのメモリと、特定のプロセッサ又はプロセッサのサブセットによってのみアクセスされ得るいくつかのメモリと、の両方を有し得る。CPU205は、2つ以上の独立したプロセッサを単一のパッケージに、例えば、単一の集積回路(integrated circuit、IC)に組み合わせるマルチコアマイクロプロセッサを含み得る。例えば、コンピューティングデバイス200は、少なくとも1つのCPU205及び少なくとも1つのグラフィックス処理ユニットを含み得る。
【0038】
一実施形態では、CPU205は、単一命令多重データ処理(single instruction multiple data、SIMD)機能、例えば、複数のデータ片上で同時に単一の命令を実行する機能を提供する。別の実施形態では、CPU205内のいくつかのプロセッサは、複数のデータ片上で同時に複数の命令を実行するための機能(multiple pieces of data、MIMD)を提供し得る。CPU205はまた、単一のデバイス内でSIMD及びMIMDコアの任意の組み合わせを使用し得る。
【0039】
図2Bは、CPU205が、バックサイドバスと称されることもある2次バスを介してキャッシュメモリ250と直接通信する実施形態を示す。他の実施形態では、CPU205は、システムバス255を用いてキャッシュメモリ250と通信する。キャッシュメモリ250は典型的には、メインメモリ210よりも速い応答時間を有する。
図2Aに示すように、CPU205は、ローカルシステムバス255を介して様々なI/Oデバイス235と通信する。限定するものではないが、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を含む様々なバスが、ローカルシステムバス255として使用され得る。I/Oデバイスが表示デバイス235Aである実施形態の場合、CPU205は、Advanced Graphics Port(AGP)を介して表示デバイス235Aと通信し得る。
図2Bは、CPU205がI/Oデバイス235Eと直接通信するコンピュータ200の一実施形態を示す。
図2Bはまた、ローカルバス及び直接通信が混合される一実施形態を示す。CPU205は、I/Oデバイス235Eと直接通信している間にローカルシステムバス255を使用してI/Oデバイス235Dと通信する。
【0040】
多種多様なI/Oデバイス235は、コンピューティングデバイス200内に存在し得る。入力デバイスは、いくつかの非限定的な例を挙げると、1つ以上のキーボード235B、マウス、トラックパッド、トラックボール、マイクロフォン、及び製図台が挙げられる。出力デバイスとしては、ビデオ表示デバイス235A、スピーカ、及びプリンタが挙げられる。
図2Aに示されるI/Oコントローラ230は、例えば、キーボード235B及びポインティングデバイス235C(例えば、マウス又は光学ペン)などの1つ以上のI/Oデバイスを制御し得る。
【0041】
再び
図2Aを参照すると、コンピューティングデバイス200は、フロッピーディスクドライブ、CD-ROMドライブ、DVD-ROMドライブ、様々なフォーマットのテープドライブ、USBポート、セキュアデジタル若しくはCOMPACT FLASH(商標)メモリカードポート、又は読み出し専用メディアからデータを読み取るため、若しくは読み書きメディアからデータを読み取るため、若しくは読み書きメディアにデータを書き込むために好適な任意の他のデバイスなど、1つ以上のリムーバブルメディアインターフェース220をサポートし得る。I/Oデバイス235は、システムバス255とリムーバブルメディアインターフェース220との間のブリッジであり得る。
【0042】
リムーバブルメディアインターフェース220は、例えば、ソフトウェア及びプログラムをインストールするために使用され得る。コンピューティングデバイス200は、オペレーティングシステム及び他の関連するソフトウェアを格納するための、及びアプリケーションソフトウェアプログラムを格納するための、1つ以上のハードディスクドライブ又はハードディスクドライブアレイなどのストレージデバイス215を更に含み得る。任意選択的に、リムーバブルメディアインターフェース220はまた、ストレージデバイスとして使用され得る。例えば、オペレーティングシステム及びソフトウェアは、ブータブルメディア、例えばブータブルCDから実行され得る。
【0043】
一実施形態では、コンピューティングデバイス200は、各々が同じ又は異なるタイプ及び/若しくは形態であり得る複数の表示デバイス235Aを含み得るか、又はそれらに接続され得る。したがって、I/Oデバイス235及び/又はI/Oコントローラ230のいずれかは、コンピューティングデバイス200による複数の表示デバイス235Aへの接続及びその使用をサポートするか、有効にするか、又は提供するために、任意のタイプ及び/若しくは形態の好適なハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせを含み得る。例えば、コンピューティングデバイス200は、表示デバイス235Aをインターフェース、通信、接続、ないしは別の方法で使用するための、任意のタイプ及び/若しくは形態のビデオアダプタ、ビデオカード、ドライバ、並びに/又はライブラリを含み得る。一実施形態では、ビデオアダプタは、複数の表示デバイス235Aにインターフェースするための複数のコネクタを含み得る。別の実施形態では、コンピューティングデバイス200は、複数のビデオアダプタを含み得、各ビデオアダプタは、表示デバイス235Aのうちの1つ以上に接続される。他の実施形態では、表示デバイス235Aのうちの1つ以上は、例えば、ネットワークを介してコンピューティングデバイス200に接続された1つ以上の他のコンピューティングデバイスによって提供され得る。これらの実施形態は、コンピューティングデバイス200のための第2の表示デバイス235Aとして別のコンピューティングデバイスの表示デバイスを使用するように設計及び構築された任意のタイプのソフトウェアを含み得る。当業者であれば、コンピューティングデバイス200が複数の表示デバイス235Aを有するように構成され得る様々な方法及び実施形態を認識及び理解するであろう。
【0044】
全体が
図2A及び
図2Bに示されるコンピューティングデバイスの実施形態は、オペレーティングシステムの制御下で動作し得、タスクのスケジューリング及びシステムリソースへのアクセスを制御する。コンピューティングデバイス200は、任意のオペレーティングシステム、任意の組み込みオペレーティングシステム、任意のリアルタイムオペレーティングシステム、任意のオープンソースオペレーティングシステム、任意のプロプライエタリオペレーティングシステム、モバイルコンピューティングデバイスのための任意のオペレーティングシステム、又はコンピューティングデバイス上で実行可能であり、本明細書に記載される動作を実行する任意の他のオペレーティングシステムを実行し得る。
【0045】
コンピューティングデバイス200は、任意のワークステーション、デスクトップコンピュータ、ラップトップ若しくはノートブックコンピュータ、サーバマシン、ハンドル付きコンピュータ、モバイル電話若しくは他のポータブル電気通信デバイス、メディア再生デバイス、ゲームシステム、モバイルコンピューティングデバイス、又は通信可能であり、本明細書に記載される動作を実行するために十分なプロセッサ電力及びメモリ容量を有する、任意の他のタイプ及び/又は形態のコンピューティング、電気通信若しくはメディアデバイスであってもよい。いくつかの実施形態では、コンピューティングデバイス200は、デバイスと一致する異なるプロセッサ、オペレーティングシステム、及び入力デバイスを有し得る。
【0046】
他の実施形態では、コンピューティングデバイス200はモバイルデバイスである。例としては、Java対応移動電話若しくはパーソナルデジタルアシスタント(PDA)、スマートフォン、デジタルオーディオプレーヤ、又はポータブルメディアプレーヤが挙げられ得る。一実施形態では、コンピューティングデバイス200としては、デジタルオーディオプレーヤ又はポータブルメディアプレーヤと組み合わされたモバイル電話など、デバイスの組み合わせが挙げられる。
【0047】
コンピューティングデバイス200は、ネットワークによって接続された複数のマシンのうちの1つであってもよく、又はそのように接続された複数のマシンを含み得る。ネットワーク環境としては、1つ以上のネットワークを介して1つ以上のリモートマシン(概してサーバマシン又はリモートマシンとも称され得る)と通信する1つ以上のローカルマシン、クライアントノード、クライアントマシン、クライアントコンピュータ、クライアントデバイス、エンドポイント、又はエンドポイントノードが挙げられ得る。一実施形態では、ローカルマシンは、サーバマシンによって提供されるリソースへのアクセスを求めるクライアントノード、及び他のクライアントのためのホスト型リソースへのアクセスを提供するサーバマシンの両方として機能する能力を有する。ネットワークは、LAN又はWANリンク、ブロードバンド接続、無線接続、又は上記のいずれか若しくはすべての組み合わせであってもよい。接続は、様々な通信プロトコルを使用して確立され得る。一実施形態では、コンピューティングデバイス200は、セキュアソケット層(Secure Socket Layer、SSL)又はトランスポート層セキュリティ(Transport Layer Security、TLS)など、任意のタイプ及び/又は形態のゲートウェイ又はトンネリングプロトコルを介して、他のコンピューティングデバイス200と通信する。ネットワークインターフェースとしては、コンピューティングデバイスを通信可能な任意のタイプのネットワークにインターフェースし、本明細書に記載される動作を実行するのに好適な、ネットワークインターフェースカードなどの内蔵ネットワークアダプタが挙げられ得る。I/Oデバイスは、システムバスと外部通信バスとの間のブリッジであってもよい。
【0048】
一実施形態では、ネットワーク環境は、ネットワークの様々な構成要素が仮想化される仮想ネットワーク環境であってもよい。例えば、各種マシンは、物理マシン上で実行されるソフトウェアベースのコンピュータとして実装された仮想マシンであってもよい。仮想マシンは、同じオペレーティングシステムを共有し得る。他の実施形態では、異なるオペレーティングシステムは、各仮想マシンインスタンス上で実行され得る。一実施形態では、複数の仮想マシンが同じホスト物理マシン上で実行され、各々がそれ自体の専用ボックスを有するかのように機能する「ハイパーバイザ」タイプの仮想化が実装される。仮想マシンはまた、異なるホスト物理マシン上で実行され得る。
【0049】
例えば、ネットワーク(例えば、ソフトウェア定義ネットワーク(Software Defined Networking:SDN)を介して)など、他のタイプの仮想化も想到される。セッション境界コントローラの機能及び他のタイプの機能などの機能もまた、例えば、ネットワーク機能仮想化(Network Functions Virtualization:NFV)などを介して仮想化され得る。
【0050】
端末105N、110Nを動作させる任意のユーザは、商品又はサービスを提供するエンティティ101のウェブサイトにアクセスして、エンティティ及び/又はその商品若しくはサービスに関する情報を取得する。したがって、エンティティ101は、ウェブサイトを要求側リモート端末に配信するためのウェブサーバとして構成された静的端末110を動作させ、エンティティにおける少なくとも1人のインターロクタは、それらのユーザの何らかのアドホック電気通信要求を満たすために端末を動作させる。エンティティ101はまた、リモートコンタクトセンターエンティティ102における1つ以上のインターロクタの使用を有し、これは、電気通信サポート及び支援のために静的端末とモバイル端末の両方を動作させる。
【0051】
図3は、ユーザデータ処理端末及びエンティティデータ処理端末を用いて
図1、
図2A、及び
図2Bの環境において実行される、方法の一実施形態のデータ処理工程を詳細に示す。一実施形態では、ローカルユーザアプリケーションは、エンティティサーバによって、エンティティウェブサイトにアクセスするユーザモバイル端末にサービスされ、このエンティティウェブサイトは、ユーザ相互作用を表すユーザ入力データを、サーバ110によってホスティングされる分析及びルーティングアプリケーションに渡す少なくとも1つのアプリケーションプログラミングインターフェース(「API」)を公開する。モバイル端末がサーバPCにおけるウェブサイトにアクセスすると、APIがロードされ、その後、ユーザ相互作用データを実質的にリアルタイムで捕捉しサーバに通信する。サーバアプリケーションは、通信された捕捉データを分析して、分析された相互作用データから導出されたユーザの関心を、エンティティに関連付けられた1人以上のインターロクタとマッチングし、これらの1人以上のインターロクタは、ウェブサイト、例えば、そのような導出された関心において関連する訓練を受けている専門家インターロクタとのユーザの相互作用に従い得る、任意のリアルタイム電気通信においてユーザと相互作用する傾向がある。ユーザがリアルタイム電気通信を開始すべきであるときはいつでも、例えば、ウェブページ内の「発呼」、「チャット」、「ビデオ会議」(及び等価物)のボタンを選択すると、サーバアプリケーションは、そのような任意の電気通信を、好ましくは分析及び/又は捕捉されたデータとともに、マッチングされたインターロクタの端末にルーティングする。
【0052】
ユーザと、マッチングされたインターロクタとの間のリアルタイム電気通信は、ユーザがどのようにウェブサイトにアクセスしているか(例えば、デスクトップ又はラップトップ、タブレット又はスマートフォン)に応じて、VoIP、WebRTC、又はPSTNネットワーク構造のいずれか内で、英数字(例えば、インスタントメッセージング)、音声のみ(例えば、電話)、又は音声及びビデオ(例えば、Skype)フォーマットのいずれかを使用して、媒体経路としてルーティングされる。
【0053】
したがって、工程301において、インターロクタデータ、電気通信フォーマット、並びにルーティングオプション及びルールを含む構成パラメータが、最初にサーバにおいて、サーバアプリケーションによって処理されるデータベースに入力されるべきである。インターロクタデータは、名前、訓練及び/又はトピック専門性の領域、キーワード、及び他の論理的及び/又は意味論的な区別パラメータなど、各インターロクタの特性、並びにそれぞれの端末タイプ、上記のフォーマット及び構造に関する通信及び機能能力、及び各インターロクタ端末の少なくとも1つのネットワークアドレスを含む。多くのそのようなインターロクタ記録は、接触するユーザに対する潜在的なインターロクタが存在するために入力され得、記録されたインターロクタは、彼らの電気通信適性を拡張するための更なる訓練を受け得、それにより、新しいインターロクタ記録がインスタンス化され得、現在の新しいインターロクタ記録が工程302において更新され得、それにより、制御は、論理的に工程301に戻る。
【0054】
上記と並行して、任意の所与の時間において、端末におけるユーザは、工程303において、サーバにアクセスして、新しいブラウジングセッションにおいて、エンティティウェブサイトをロードし、それを精読し得る。したがって、サーバは、工程304において、データベース内に新しいユーザセッション記録を作成し、工程305におけるログイン認証工程を条件として、ウェブサイトリソースへのアクセスを行う。その後、ユーザは、工程306において、例えば、オンラインソーシャルメディアリソースのユーザ名及び/又はログインクレデンシャルデータのために、関連する認証入力データを端末に入力する。このような認証入力データは、工程307において、サーバに転送され、ユーザセッション記録内に記録される。
【0055】
サーバは任意選択的に、工程308における2次アイデンティティ検証工程を条件として、ウェブサイトリソースへのアクセスを行うことができる。その後、ユーザは、工程309において、関連するアイデンティティ入力データ、例えば、少なくともファーストネームをそれらの端末に入力する。このようなアイデンティティ検証入力データは、工程310において再びサーバに転送され、ユーザセッション記録内に再度記録される。
【0056】
ユーザは、その後、工程311において、従来のユーザページ及びリンク選択を介して、ウェブサイトデータ、ウェブサイトメタデータ、ウェブページページタグ、ウェブサイトのクッキー、ウェブサイトページのヘッダー、ユーザソーシャルメディアデータのいずれか又はすべてを含むウェブサイトリソースにアクセスし、それを精読する。したがって、ユーザは、例えば、クリックストリームとして既知である、マウスを用いた選択ストリームを生成し、また、ウェブサイトリソースを位置特定するための1つ以上の検索文字列を入力し得る。APIは、相互作用イベントドリブン更新としてか、又は集約形式においてか、にかかわらず、例えば、帯域幅制約又は負荷制約に依存した両方の組み合わせとして、履歴又は連続クリックを表すウェブサイトナビゲーション記録として、工程311において、実質的にリアルタイムでこの相互作用データを捕捉し、通信する。
【0057】
通信された捕捉された相互作用データは、サーバにおけるサーバアプリケーションによって受信され、工程312において、当該技術分野において既知であるベイジアン推論又は回帰モデルなどの様々な統計予測分析技術を使用して分析される。ユーザの相互作用パターンは、サーバアプリケーションによって判定され、顧客がいつ相互作用を開始するか、又はウェブページ若しくはウェブサイトを精読するのを停止し得るかなどの相互作用予測が出力される。相互作用予測は、それぞれの記録されたインターロクタとのユーザの工程313におけるマッチング動作をトリガするために使用され、これは、相互作用パターンをインターロクタパラメータ、特に訓練及び/又はトピック専門性の領域並びにキーワードと比較し、相互作用パターンを相関させる最も近い記録で、記録されたインターロクタを判定することによって達成される。
【0058】
工程314において、マッチングするインターロクタ記録が選択され、ユーザと選択されたインターロクタとの間のルーティング経路が、データベース内に記録されたインターロクタ端末のネットワークアドレスに基づいて判定され、それにより、ユーザが、工程315において、予測に従って実質的にその時点にウェブサイトからリアルタイムの電気通信発呼を開始すべきである場合、サーバは、工程316において、対応するイベント発呼メッセージを受信し、サーバアプリケーションは、工程317において、ユーザの相互作用パターン、又は捕捉及び通信されたユーザ相互作用データのいずれか、又はその両方とともに、発呼を選択されたインターロクタにルーティングする。
【0059】
サーバにおけるサーバアプリケーションは、工程301~302、304、307、310、312~314、及び316~317の各々を、複数の相互作用ユーザ及び複数のインターロクタに対して実質的に同時に実行する傾向があるマルチスレッドアプリケーションであり、工程312~314自体は、アプリケーションのループサブルーチンを形成し、それにより、ユーザが、工程315において予測された相互作用を開始しない場合、関心のシフト点を移動させるユーザの後続の捕捉及び通信された相互作用は、工程312~314の次の反復において処理され、最適には、シフトされた関心点と相関する、それぞれ異なっているがより関連しているパラメータセットを有する、潜在的に異なるマッチングされたインターロクタをもたらすであろう。
【0060】
図4は、実行時の
図1、
図2A、及び
図2Bの環境におけるシステム100内の
図3の方法の高レベル実装を示すブロック図である。この方法の工程は、1つ以上のAPIをエンティティ101のウェブサイトに公開するユーザモバイル端末105
Nのブラウザと併せて処理されるユーザアプリケーション401、関連する高度にスケーラブルなデータベースを有するエンティティ端末110によって処理されるサーバアプリケーション402、及びインターロクタアプリケーション、その最も単純には、ユーザによるそれへの相互作用が、インタラクティブ管理エンジンとして解釈され得るサーバアプリケーション402によってルーティングされるインターロクタのモバイル端末又は静的端末によって処理されるブラウザとして、システム100内に実装され得る。
【0061】
ユーザアプリケーション401は、ユーザがモバイル端末105上でそれと相互作用する際に、工程306におけるソーシャルメディアベースの認証を使用してユーザがウェブサイトにログインしたときに収集されたソーシャルメディアデータ405、及び少なくとも端末タイプを示す端末データ406の他に、クッキー、ウェブページヘッダなどのウェブサイトデータ404を捕捉し、工程311に従って、捕捉されたデータをサーバアプリケーション402に送信する。
【0062】
サーバアプリケーション402は、データベース、分析モジュール407、ルーティングモジュール408、及びパラメータ化モジュール409を含む、分析及びルーティングアプリケーションであり、これは、それが受信する捕捉されたユーザデータを処理して、最も関連するとみなされるエンティティ101に関連付けられた関連するインターロクタを識別し、ユーザの最終的な電気通信をそれにルーティングする。サーバアプリケーションは、工程301~302、304~305、307~308、310、312~314、及び316~317(
図3)を実行する。
【0063】
パラメータ化モジュール409は、具体的には工程301及び302を実行し、すなわち、論理的及び意味論的観点からのウェブサイトデータに関連する各インターロクタの属性、インターロクタ端末の属性、及びユーザ端末との電気通信リンクの属性、例えば、端末タイプ、関連付けられた通信機能、通信タイプごとのサービス品質を保証するための最小帯域幅レベルを定義するために使用される。
【0064】
分析モジュール407は、具体的には工程312~314を実行し、すなわち、ユーザアプリケーション401によって捕捉されたユーザデータのすべてを受信し、したがって、これには、限定はしないが、ウェブサイトデータ、ウェブサイトのメタデータ、ウェブページのページタグ、ウェブサイトのクッキー、ウェブサイトのページヘッダ、1つ以上のクリックストリーム、1つ以上の検索文字列、履歴又は連続的なユーザページ及びリンク選択を表すウェブサイトナビゲーション記録、ユーザソーシャルメディアデータなどが含まれる。
【0065】
ルーティングモジュール408は、具体的には工程316及び317を実行する。例えば、それは、電気通信イベントによってトリガされ、分析モジュール407の出力、及び任意選択的にまた、工程311に従って受信された捕捉されたユーザ相互作用データを使用して、ユーザ相互作用を、選択されたインターロクタ端末にルーティングする。
【0066】
サーバアプリケーション402は、前述のように少なくとも処理工程301~302、304~305、307~308、310、312~314、及び316~317を実行するように端末を構成し、これは、1つ以上の好適なAPIを介してデバイスのオペレーティングシステム及びネットワーク通信サブルーチンとインターフェースされる。したがって、サーバアプリケーションは、前述のように、分析モジュール407、ルーティングモジュール408、及びパラメータ化モジュール409を含み、したがって、ウェブサイトリソースにアクセスする各リモートユーザからの認証データ、アイデンティティ検証データ、及び捕捉された相互作用データを要求及び取得する傾向がある。ウェブサイトリソースは、データベースに記憶され得、並びに工程301及び302において確立されたような、インターロクタ及びユーザのための端末タイプ及び容量、電気通信規則、及びインターロクタプロファイル、並びにウェブサイトリソースにアクセスする各リモートユーザのための捕捉された相互作用データを含むユーザセッション記録が記憶され得る。
【0067】
分析モジュール407に固有のサーバアプリケーションデータは、工程312において処理された相互作用パターン、及び工程313に従ってマッチングされたユーザとインターロクタとのペアなどのユーザ分析データを含み得る。ルーティングモジュールに固有のサーバアプリケーションデータは、ルーティングモジュールによる精読のために分析モジュール407によって出力される、ユーザ端末-インターロクタ端末の通信経路を含み得る。メモリ210は、例えば、1つ以上の更なるアプリケーション及び/又はオペレーティングシステムによって使用される、サーバアプリケーションに関連しない従来のローカル及び/又はネットワークデータを更に含み得る。
【0068】
ブラウザアプリケーションデータは、ダウンロードされたサポートアプリケーションリソースと、ディスプレイ235Aに出力され、ダウンロードされたリソースがその内部にレンダリングされるGUIとを含み得る。インターロクタ端末の場合、ブラウザアプリケーションデータはまた、(工程317においてインターロクタ端末105に通信されるサーバアプリケーションの出力からなる)分析されたユーザデータを含み得る。代替的な実施形態では、リモートサーバ110が、分析の前にリモートサーバによって受信された捕捉されたユーザデータの一部又はすべてを更に転送するか、又は代わりに転送し得、したがって、インターロクタ端末のブラウザアプリケーションデータは、このユーザデータの一部又はすべてを更に又は代替的に含み得る。分析及び/又は捕捉されたデータは、リモートサーバによって、アドホック参照の目的で又は他の目的で転送され得、それにより、インターロクタは、ユーザとの電気通信を容易にするために利用可能である多くの相互作用サポート情報を手元に有することになる。
【0069】
一実施形態では、捕捉されたデータは、パターンに基づいて分析され、分析モジュール407によって、第1のユーザと、選択された第2のユーザ、すなわち、第1のユーザによってブラウズされているウェブサイトに作用するインターロクタ又はエージェントとの間の成功した帰結を予測するために使用され得る。生のユーザオンラインデータ(ウェブサイトデータ、行動データ、人口統計データ、ソーシャルデータ、モバイルデータなど)、厳しい制約構成(エージェント及びキュー割り当て、特定のビジネス定義の制約が満たされることを保証するルール、ユーザオンラインデータに基づく発呼ルーティング又は相互作用のオファーなど)、並びに(顧客ジャーニー中に動的に変化し得る)特定の帰結を達成するための必要性又は可能性など、様々な形態の分析データ(例えば、機械学習アルゴリズム、ユーザの行動及び人口統計に基づいて彼らを動的にグループ化するペルソナクラスタ、及びユーザアクションのシーケンスの同様のセットを表すジャーニーパターンを使用した生データの分析に基づいて導出されたスマート属性(サポートの必要性、帰結を完了するための性向))を含む入力のセットを取る、相互作用管理プロセスのセットが利用され得る。特定の帰結は、製品購入、デモの予約、サポートの要求、相互作用のオファーを受け付ける可能性などを含み得る。これらのプロセスを使用して、最大化すべき帰結を前提としたペルソナセット内で最も価値が高い顧客の識別、エージェント効率クラスタに基づくスマート発呼ルーティング、エージェントに対する相互作用のオファー(チャット/オーディオ/ビデオなど、どのタイプの相互作用がどのユーザにいつオファーされるべきか)、並びに顧客ジャーニーの成形及びビジネス帰結の最適化に焦点を当てた自動的な相互作用のオファーを含み得る、相互作用管理決定を行うことができる。
【0070】
分析モジュール407は、入力を取り込み、分析データを使用してデータを処理する。出力は、ビジネスによって定義された帰結に対して、及び機械学習によって割り当てられるか又はウェブサイトに関連するビジネスによって指定されたペルソナクラスタ内で、顧客又はアクションをランク付けする、機械学習された「スマート属性」であってもよい。出力は、相互作用の推奨であってもよい。ルーティングモジュール408は、提供された入力に基づいて、ユーザについて学習されたコンテキストデータ(例えば、相互作用のオファーを受け付ける可能性、製品を購入する可能性)をエージェントに提供する、エージェントに対する相互作用の推奨を行うように構成され得る。例えば、分析モジュール407は、製品の売上を増加させるために、エージェントがチャット相互作用をオファーするべきであるユーザを識別し得る。これにより、エージェントは、所与の帰結に関して高い予測値を有するユーザ又は顧客に焦点を当て、したがって、リソース利用を最適化することが可能になる。
【0071】
出力はまた、自動的な相互作用のオファーを含み得る。分析モジュール407は、インフォームド決定を行い、選択されたユーザに対する相互作用を自動的にオファーすることができる。そのような相互作用のオファーは、ビジネス定義された帰結を最適化するために、分析データに基づいて行われ得る。まず、(前述のように)入力データを使用して、構成要素は、所与の帰結に関して高い値の顧客のセットを識別する。次いで、決定木、ベイジアン推論、及びニューラルネットワークを含む様々な機械学習アルゴリズムを使用して構築された予測モデルを使用して、適切な処理(すなわち、相互作用のオファー)が識別される。分析モジュール407は、エージェントの利用を最大化し、ユーザ又は顧客の待ち時間を最小化するために、いくつの相互作用のオファーが顧客に対して自動的に行われるべきかを判定するように構成することができる。
【0072】
ルーティングモジュール408は、ペルソナ属性(すなわち、年齢、場所、役割、性別など)及び活動(すなわち、ページ閲覧、発呼、チャットなど)に基づく機械学習された推論を使用して(前述のように)提供される入力に基づいて、ルーティング決定を行い、エージェント選択を実行する。同様のペルソナ及び活動パターンを有する顧客は、エージェントXのようなエージェントとより上手くいき、顧客Xは、彼らが発呼を行おうとしているか、又はシステムが彼らに相互作用をオファーしており、彼らは受け付ける可能性が高いので、予約されたエージェントを有するべきである、など。
【0073】
ジャーニーイベント表現
【0074】
ユーザデータの処理中に、ビジネスとのエンドユーザの相互作用に対応するデータログ(例えば、ウェブサイト上のユーザの活動ストリーム)に現況技術の機械学習アルゴリズムの状態を適用するために、イベントと称される各ユーザ活動が、ベクトルとして表される必要がある。イベントはまた、ウェブページのフロントエンド又はバックエンドの変化をトリガする、システム、ユーザ、又はエージェントなどのエンティティによる活動を含み得る。一実施形態では、イベントは、元々、非常に多数の属性と値とのペアによって表されるオブジェクトとして記録され、イベントを表す属性は、イベントのタイプ(例えば、ページ閲覧、フォーム記入など)とともに変化する。これらのオブジェクトを機械学習アルゴリズムに供給する単純な方法は、(特徴量エンジニアリングとも称される)重要な属性を選択する際に、データサイエンティストによるかなりの量の手作業を必要とする。(本明細書では「event2vec」とも称される)イベントの表現をベクトルとして作成する際に、生イベントは、アルゴリズムに入力され得、エンドツーエンドの自動化された方法でデータのベクトル表現として出力され得る。得られたベクトルは、高密度であり、含まれる情報に関して豊富である。ベクトルとしてイベントの表現を作成するためのアーキテクチャは、マルチモーダルイベント(ウェブクリック、発呼、SMS、電子メール、チャットなど)を処理することができる。異なるモダリティのイベントはまた、異なるスキーマを使用して捕捉され得る。したがって、生イベントからベクトルを作成する方法は、スキーマアグノスティックであり得る。結果として、event2vecを適用する同じシステムを使用して、相互作用データ上で訓練する様々な機械学習ベースの予測システムのためのイベントベクトルを生成することができる。
【0075】
イベントのベクトル表現は、
図3及び
図4に上述したものなど、多数の分析及び予測システムにおいて使用され得る。一実施形態では、捕捉されたデータは、パターンに基づいて分析され、分析モジュール407によって、第1のユーザ(例えば、ウェブサイトをブラウズする顧客)と、選択された第2のユーザ(例えば、第1のユーザによってブラウズされているウェブサイトに作用するインターロクタ又はエージェント)との間の成功した帰結を予測するために使用され得る。別の実施形態では、捕捉されたデータは、パターンに基づいて分析され、第1のユーザの成功した帰結と、第1のユーザにオファーを自動的に提示すること、又はエージェントに推奨を行うことなど、その帰結を達成するためのアクションとを予測するために使用され得る。別の実施形態では、予測された帰結は、ランク付けされたリストとしてエージェントに提示され得、この場合、エージェントは、提供される情報(顧客による特定の帰結を達成する確率及び尤度など)に基づいて、所望の帰結を手動で選択することができる。エージェントはまた、ウェブサイト上の複数の顧客から顧客を選択して、分析に基づいて所望の帰結を生成する可能性が最も高い顧客に相互作用を提示することが可能であり得る。
【0076】
更に別の実施形態では、帰結予測は、帰結確率の上昇及び下降に基づいて、ウェブサイトをブラウズしている顧客がエージェントサポートをいつ必要とするかを手動で又は自動的に予期するために、ビジネスによって使用され得る。例えば、イベントベクトルは、ビジネスウェブサイト上の帰結(例えば、ユーザセッション中の販売確率)を予測するために使用できる、(以下により詳細に記載される)リカレントニューラルネットワーク(RNN)のような機械学習アルゴリズムを使用して、顧客ジャーニーの時間シーケンスモデリングのために使用され得る。帰結のタイプは、ビジネスタイプとともに変化し得る。例えば、「発注」は、電子商取引のビジネスウェブサイトの帰結であり得るが、「抵当申請書提出」は、銀行ウェブサイトの帰結であり得る。
【0077】
更に別の実施形態では、ベクトルとして表されるイベントはまた、イベントをグラフ内の点としてプロットすることによってブラウジング行動における類似性及び関係を観察することなど、ユーザ事例研究の分析において使用することができる。
【0078】
前述のように、顧客ジャーニーデータは、イベントと称されるユニットで捕捉され得る。各イベントは、顧客プロファイル、ビジネスとの顧客と相互作用、ウェブサイト上のオンラインブラウジング行動などが挙げられるがこれらに限定されない情報を捕捉する属性とともに、一意のID及びタイムスタンプなどの情報を含む。顧客ジャーニーデータは、顧客が誰であるか、顧客がどこに位置しているか、顧客がどのようなハードウェア及び/又はソフトウェアを使用しているか、顧客がウェブサイト上でどのようなアイテムを選択したか(又は彼らがどのボタンを選択したか)、顧客がウェブフォームに何を記入したか、顧客が検索を実行するために使用したキーワード、顧客がエージェントと相互作用したかどうか、及び任意のそのような相互作用の周辺の他の詳細(例えば、相互作用の顧客ランク付け、謄本、帰結など)などの情報を更に含み得る。
【0079】
一実施形態では、予測分析のための教師あり機械学習方法の使用は、予測される情報(例えば、ビジネス帰結が達成されたかどうか)を含む既存の顧客ジャーニーから引き出される例を必要とする。この例は、新しい顧客ジャーニーの予測を行うことができるモデルを訓練するために使用される。この例は、モデル訓練及び予測のために機械学習アルゴリズムに入力される前に、大いに処理される必要がある、顧客ジャーニーの生データログを含む。加えて、処理工程は、生データフォーマットに応じて変化し得る。
【0080】
表現学習の一実施形態では、実世界のエンティティは、予測モデルを、帰結予測の1次タスクではなく、2次予測タスク上で訓練することによって、ベクトルとして表され得、ここで、好適なイベント属性は、予測されると識別される。入力は、エンティティから収集され得、最適なベクトル表現は、訓練段階中にこれらのエンティティに対して学習され得る。ニューラルネットワークは、本来ならば多次元オブジェクト(例えば、ワード)として記録されない実世界のエンティティを表すために従来技術において典型的に使用される高密度ベクトルを学習するために使用され得る。一実施形態では、表現学習を使用して、エンティティのためにより小さいベクトル空間及びより高密度のベクトル空間を定義することもでき、これらは、他の方法では、非常に疎なベクトル空間(例えば、イベント)内でより多数の次元/属性を使用して記録され、したがって、機械学習モデルへの入力時に処理するために計算的に高価で非効率的である。
【0081】
イベントは、異なる意味論的タイプ(タイムスタンプ、URL、検索キーワード、数量など)の情報(又は属性)の情報を含むため、イベントは高度に異種である。一実施形態では、イベントをベクトル表現に変換する方法は、異なる意味論的タイプのイベントを共通のn次元空間内のベクトルとしてマッピングし、各イベントを数値のアレイとして数学的に表し、アレイのサイズは、次元の数に対応する。本明細書の方法の実施形態は、選択されたイベント属性の値を予測するように予測ニューラルネットワークモデルを訓練することと、訓練されたニューラルネットワークの隠れ層からイベントベクトルを抽出することと、を含む。
【0082】
event2vecにおいて使用するためのモデルを訓練するために、データの分析中に、ビジネスウェブサイトから捕捉された生の顧客ジャーニーデータを、そのデータの分析中にアルゴリズムによって取り込み可能な形式に変換するために、いくつかの前処理工程が必要とされる。顧客のブラウジングセッションからのイベントログは、事前定義された属性のセットと、これらの属性の下に記録される値のタイプと、を有する、jsonオブジェクトとして記憶され得る。各イベントは、一意のID及びタイムスタンプを与えられる。異なるビジネスからイベントデータを捕捉するために、共通スキーマが使用される。これは、分析に使用される任意の数のビジネス及びそれらのデータについて、本実施形態の範囲内にある。
【0083】
一実施形態では、イベントデータは、パブリッククラウドストレージリソース、例えば、Amazon S3を使用して、又はプライベートクラウドリソース上に保存され得る。より大量のイベントを保存するのに好適なフォーマットの例は、データセットであってもよく、これは、Sparkのようなビッグデータ処理ツールを使用して高速に読み取り及び問い合わせることができる。大量のイベントデータは、共通のフォーマット又はスキーマを有する複数のデータセットとして保存され得る。一実施形態では、データフレームは、ロウ及びカラムを含み、各ロウは、一意のイベントIDを有する一意のイベントを表し、カラムは、イベント属性を表す。顧客ジャーニーIDは、訪問ID属性において捕捉され得、したがって、複数のイベントが、同じ訪問IDを有し得る。イベントデータは、問い合わされ、また、処理しやすくするために、時間間隔(例えば、1か月ごと)にスライスされ得る。イベント属性の例としては、ID、アカウント、イベントタイプ、訪問がいつ作成されたか(訪問における最初のアクティビティのタイムスタンプ)、訪問者が離れたとみなされるべき時を示すタイムスタンプ、顧客又は訪問者のクッキーID、既知の(認証された)顧客のID、訪問された最後のページのURL、ウェブ訪問内で使用された検索用語のリスト、ウェブ訪問内に実行された活動に起因して顧客が割り当てられたペルソナIDのリスト、ウェブ訪問内に実行された活動に起因して達成された帰結IDのリスト、検索エンジンニュースレター名又は他のマーケティングキャンペーンソースの識別、ユーザエージェント文字列、ブラウザバージョン、ブラウザの設定言語、モバイルデバイスでは真のフラグ、オペレーティングシステムファミリー、国名、訪問者の時間帯、訪問者のIPアドレスなどを挙げることができる。属性が値を有しない場合、割り当てられた値は、ヌル値又は未知であり得る。例えば、文字列、数、又はブールなど、属性のデータ型も示され得る。
【0084】
event2vecアルゴリズムのデータセットを取得するために、生データに対して前処理が実行される。event2vecアルゴリズムは、(シーケンスのフォーマットにおけるデータを必要とする、以下に更に記載される帰結予測とは対照的に)データ内の元のイベントを必要とする。前処理は、問題及びデータにカスタマイズされる。機械学習は、データが特定の出力になることを要求し、これは、以下に概説される前処理工程を用いて達成される。
【0085】
個人的に識別可能な情報(PII:personally identifiable information)を含むすべてのデータカラムを除去又はマスキング/暗号化する。これは、適用法に準拠するために情報を匿名化する方法である。
【0086】
モデル訓練時に予測される必要があるカラム(クラス属性)を識別する。
【0087】
クラス属性を複製するカラムを識別し、除去する。これらは、多くの場合、データセット内の反復情報で複製される。
【0088】
アレイ型カラムを除去する。この除去はプロセスを単純化するが、一実施形態では、これらは除去されなくてもよい。アレイ型カラムが除去されない場合、前処理のより複雑な方法が必要とされる。
【0089】
すべてのブール型カラムを整数型に変換し、真を1に、及び偽を0に置き換える。これは、アルゴリズムが数値整数を用いで動作するので、フォーマットの一貫性のためである。
【0090】
すべてのヌル値及び未知の値を、整数型、倍精度型、及び文字列型について、それぞれ0、0.0、未知に置き換える。
【0091】
一実施形態では、工程は、連続的な順序で実行される。一実施形態では、結果として得られるデータフレームは、入力データフレームと同じ数のロウを含むが、より少数のカラムを含み、カラムのいずれかにおいてもヌル値を含まない。
【0092】
前処理が実行されると、訓練及び検証のために機械学習アルゴリズムに適用され得るデータセットが取得される。
図5は、イベントをベクトル表現に変換するためのシステム(ニューラルネットワーク)の、全体が示された一実施形態を示す図である。システムは、分析モジュール407内に存在し得る。一実施形態では、
図5に示すシステムは、フィードフォワードニューラルネットワークを訓練することによって取得され得る。次いで、システムを使用して、入力イベントのイベントクラス507を予測し得る。イベントクラスは、元々、生イベントデータ内の属性として記録され得る。一実施形態では、イベントは、ページ閲覧、フォーム記入、相互作用受け付けなど、多数(例えば、34)のクラスに属し得る。このフィードフォワードネットワークは、2つの入力層分岐を含む。第1の分岐は、カテゴリ属性501を受け付けることができ、第2の分岐は、連続的な数値属性及び/又は連続値503を含む属性を受け付ける。カテゴリ属性は、文字列という型を有するものとして定義され得る。カテゴリ属性は、システムへの入力前に、最初にベクトルとして変換されなければならない。結果として、カテゴリ属性分岐は、余分の層502(例えば、埋め込み層)を含み得る。一実施形態では、数値属性503は、変換なしで使用され得る。カテゴリ属性を含む入力501が埋め込み層502において変換されると、それらは、隠れ層504A内の数値属性入力503と組み合わされ得る。次いで、ニューラルネットワークは、追加の隠れ層504Bを通じて最適化されて、出力層506が作成され、出力層506の出力は、イベント507のクラスを予測するために使用される。ネットワークが訓練された後、高密度イベントベクトル表現505が、隠れ層504Bから(標準アルゴリズムを使用して)抽出されることが可能である。高密度イベントベクトル505は、(以下により詳細に記載される)帰結予測のために使用され得る。
【0093】
モデルは、event2vecシステム内で訓練された後、任意のイベントを受け付け、n次元イベントベクトルを出力することができる。一実施形態では、イベントは、共通のn次元空間内のベクトルとしてデータセット内で表される。ロウ内の対応するイベントのためのevent2vecモデルのベクトル出力を保持するイベントデータフレームに、追加のイベントベクトルカラムを付加し得る。次いで、新たなデータセットを、以下により詳細に記載される帰結予測などの更なる分析に使用することができる。
【0094】
帰結予測
一実施形態では、顧客ジャーニーデータは、各ジャーニーが、時間的に配置されたイベントのシーケンスであり得る、シーケンスデータを含む。すべての機械学習アルゴリズムが、正確な予測モデリングのために通常ならば重要である、そのようなデータにおける連続情報の取り込み及び利用が可能なわけではない。シーケンス学習は、連続データを取り込み、学習モデル内で時間的情報を符号化することができる、機械学習アルゴリズムのクラスを含む。RNNは、入力としてのシーケンスに対して直接作用することができる、ニューラルネットワークのクラスを含む。具体的には、非限定的な例を挙げると、長短期記憶(LSTM)ネットワークは、より長いシーケンスを扱うのに最適である。RNNは、シーケンスの1つのユニットを一度に処理し、シーケンス状態のその符号化を更新することによって、連続データを入力することができる。RNNセルは、それらシーケンス内のユニットを処理するとき、内部記憶にコンテキスト情報を保持することができる。
【0095】
一実施形態では、インターロクタ(例えば、エージェント、コンタクトセンター従業員、ウェブサイトホスト、アプリケーションプロバイダなど)は、達成/回避することを望む肯定的及び否定的な帰結を設定することができ、単純な帰結は、「購入」又は「サポートチケット閉鎖」であり、より複雑な帰結は、「販売の関与に対する開放性」である。機械学習構成要素(分析モジュール402など)は、どの顧客が、相互作用(例えば、チャット、発呼、電子メール、提案、ビデオチャットなど)をオファーされたとき、所望の帰結を完了する可能性が高いかを判定することができる。機械学習構成要素又はモジュールは、データをリアルタイムで捕捉し、第1のユーザ(例えば、顧客)と選択された第2のユーザ(例えば、コンタクトセンターのエージェント)との間の成功した帰結の確率をリアルタイムで予測する。一実施形態では、機械学習構成要素又はモジュールは、捕捉されたイベントシーケンス上で複雑な分類関数/モデルを学習し、学習した関数/モデルを記憶して、新しいイベントシーケンスを分類し、予測されたクラスに信頼スコアを提供する、分類アルゴリズムを含む。クラスは、「達成された帰結」及び「達成されない帰結」であり、信頼スコアは、帰結の確率である。
【0096】
帰結は、エージェント又はシステムのいずれかによる相互作用の終了時に、バイナリ形式で捕捉され得、エージェント又はシステムは、エージェントが帰結を入力したCRM又はチケッティングシステムからプログラム的に帰結を取り出すか、又は帰結を定義するアクションのシーケンスをユーザが完了したときに帰結を取り出す。これは、肯定的対否定的な帰結を推進するペルソナ/活動パターンをシステムが理解するためのフィードバックループを形成する。一実施形態では、帰結は、エージェントが取るべき潜在的な次の最良の行動として順序付けられたリストで提示され得、帰結予測を含むように変更され得る。その結果、システム、又は(手動で介入することができる)エージェントは、特定の帰結を達成することを望むが、そのようにしない危険性があり得る顧客に、チャット又は発呼又は他のアクションをオファーすることができる。これは、エージェントのプールが常に制限されているため、重要である。したがって、エージェントの時間は、定義された帰結を最大化する最高の可能性を有する顧客との相互作用のタイプに向けられ得る。オファーを行うエージェントの場合、機械学習は、(発呼であるかチャットであるかなどを問わず)特定の相互作用をどの顧客に提示すべきかの裁量に関する特定の帰結のために、顧客又は行動のランク付けされたリストをエージェントに提示するために適用され得る。
【0097】
一実施形態では、RNNとして既知であるより具体的なタイプのニューラルネットワークが、帰結予測アルゴリズムにおいて使用され得る。RNNは、メジャーなクラスの深層学習アルゴリズムを含み、顧客ジャーニーモデリングのための特定の利益をオファーする。RNN、特にLSTMは、長い時間シーケンスの要素間の関係を識別し、これらを複雑な数学関数としてモデリングすることができる。LSTMは、標準的なフィードフォワードニューラルネットワークとは異なり、データのシーケンス全体の処理を可能にするフィードバック接続を有する。帰結予測のために重要なデータ特性を識別するための顧客ジャーニーの手動分析は、結果として必要でない。RNNはまた、顧客ジャーニーのシーケンスが成長するときの予測精度の変化の可視化を可能にする。加えて、解釈及び推論が、個々のビジネスの予測から収集され得る。
【0098】
RNNベースの分類アルゴリズムは、RNNセルユニットから構成され、また、高密度タイプのニューロンユニットと組み合わされ得る。
図6は、イベントベクトル表現の取り込みのためのプロセスの、全体が示された一実施形態を示す図である。一実施形態では、イベントベクトルは、
図5に作成されたものであってもよい。顧客ジャーニー605は、時間606の何らかの長さにわたって発生し、イベント610がリアルタイムで発生する。
図6において、例示目的のために提供される特定のイベントは、タイムスタンプ「2019年1月11日8時23分」615aにおいて開始された「広告クリック」610a、タイムスタンプ「2019年1月11日8時24分」615bにおける「ホームページ閲覧」610b、タイムスタンプ「2019年1月11日9時00分」615cにおいて開始された「チャット開始」610c、及びタイムスタンプ「2019年1月11日9時45分」615dにおいて開始された「カートに追加」610dを含む。イベント610d「カートに追加」は、追加的に、帰結イベントとして分類され得、カートへのアイテムの追加が、所望の帰結である。任意の数のイベントが使用され得ることは、本明細書で提供される実施形態の範囲内にあり、本明細書で提供されるものは、限定することを意図するものではなく、単純化のためである。帰結の予測はまた、顧客ジャーニー605にわたる各増分イベント610について取得され得る。顧客ジャーニー内の各増分イベントにおいてRNNクラシファイアが呼び出されて、現在の時点まで顧客ジャーニー内で起こったイベントのすべてのシーケンスに基づく予測が行われる。
【0099】
入力層及び隠れ層は、RNNクラシファイアセル625を含む(これは、以下の
図7において詳細に更に説明される)。RNNクラシファイアセルの例は、LSTMであってもよい。event2vecアルゴリズムは、各イベント(620a、620b、及び620c)についてイベントベクトル620を取得するために、顧客ジャーニーデータに適用される。入力層は、タイムスタンプ順序で、対応するイベントベクトル620a、620b、及び620cを取り込む。ベクトルを維持し、更新して、顧客ジャーニーの状態を要約する。累積ベクトル630は、前のすべてのイベントベクトルを要約し得る。RNNクラシファイアセル625a、625b、及び625cは、ベクトルを取り込み、顧客ジャーニーの各イベント610a、610b、及び610cにおける帰結確率635a、635b、635cを生成する。
【0100】
帰結予測モデルを訓練し、新たなデータに対する帰結予測を取得するために、データは、クラス標識されたシーケンスのフォーマットである必要があるので、データの前処理を行う必要がある。標識されたシーケンスデータセットを取得するための生イベントログの前処理は、以下のとおりである。
【0101】
所与のビジネスの帰結IDのセットを識別する。
【0102】
訪問ID、所与の訪問内のイベントIDの時間順序シーケンス、及びクラス標識を捕捉するカラムを有するデータフレームスキーマを定義する。
【0103】
生イベントデータフレーム(event2vecシステムへの入力データセット)を問い合わせて、上記で定義されたシーケンスデータセットを取得する。クラス標識カラムが、訪問中に帰結が達成されたか否かに応じたバイナリ値を保持する。
【0104】
イベントシーケンスから帰結達成イベントを除去する。
【0105】
event2vecシステムを使用して、シーケンスカラム内のイベントIDをそれぞれのイベントベクトルに置き換える。
【0106】
結果として得られる出力データフレームは、入力イベントデータフレームに対してより少数のロウ及び異なるセットのカラムを有する。加えて、出力は、データを受け付けるためにRNNの標準フォーマットであるべきである。出力データは、帰結予測のためのアルゴリズムの訓練及び検証に使用される。
図7は、
図6に適用される連続ニューラルネットワークのシステムの、全体が示された一実施形態を示す図である。出力層は、単一のベクトルとしてRNN(又はより具体的には、一実施形態では、LSTM)処理されたシーケンスを入力する高密度ニューロン層を含む。ソフトマックス関数が、高密度層の出力に適用される。次いで、標識されたシーケンスデータセットを使用してネットワークを訓練する。標識されたシーケンスデータセットは、上述のように変換された生イベントデータセットから取得される。標識は、所与の訪問において帰結が達成された又は達成されなかったという情報を符号化する。
図7に示されるシステムは、帰結予測のために使用され得る。顧客ジャーニーのデータを含む入力データは、ベクトルのセットとして表される。入力層は、イベントベクトル内にそれらのタイムスタンプの順序で、シーケンス内の前のイベントの表現であるベクトルを取り込み、維持し、更新する。
図7に見られるように、シーケンス内の各イベントは、それに関連付けられたRNNセルを有する。各RNNセルは、現在処理されている時間工程までの顧客ジャーニーの状態を要約する、次のRNNセルに渡すための中間ベクトル表現を出力する。訓練されたモデルを用いて、イベントベクトルシーケンスが取り込まれ、達成された帰結又は達成されない帰結に対応するバイナリ形式(例えば、それぞれ1又は0)で出力される。
【0107】
帰結予測の使用事例は、複数のビジネスを扱う組織に適用され、それにより、予測モデリングのための重要なイベント属性を識別する多大な手作業の必要性が排除される。このシステムは、訓練又は履歴データ内に存在するジャーニー例を有しないことがある新しい顧客にとっては特に、汎用能力を有する。
【0108】
本発明は、図面及び前述の説明において詳細に例示及び記載されてきたが、これは限定的な特性ではなく、例示的なものとみなされるべきであり、好ましい実施形態のみが示され、記載されていること、並びに本明細書及び/又は以下の特許請求の範囲によって記載されるように本発明の趣旨に含まれるすべての等価物、変更、及び修正は保護されることが望ましいことが理解される。
【0109】
したがって、本発明の適切な範囲は、かかるすべての修正、並びに図面に例示され、本明細書に記載されるものに等しいすべての関係を包含するように、添付の特許請求の範囲の最も広い解釈によってのみ決定されるべきである。