(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-24
(54)【発明の名称】適用される異常検出及びコンタクトセンターコンピューティング環境に関連するシステム及び方法
(51)【国際特許分類】
G06Q 30/0201 20230101AFI20240117BHJP
【FI】
G06Q30/0201
【審査請求】未請求
【予備審査請求】有
(21)【出願番号】P 2023537323
(86)(22)【出願日】2021-12-21
(85)【翻訳文提出日】2023-07-25
(86)【国際出願番号】 US2021064569
(87)【国際公開番号】W WO2022140359
(87)【国際公開日】2022-06-30
(32)【優先日】2020-12-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】523074490
【氏名又は名称】ジェネシス クラウド サービシーズ インコーポレイテッド
(74)【代理人】
【識別番号】110002848
【氏名又は名称】弁理士法人NIP&SBPJ国際特許事務所
(72)【発明者】
【氏名】オニャテ ロペス, ジョセ
(72)【発明者】
【氏名】ランプレア, ルイス, イグナシオ
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049BB02
(57)【要約】
一実施形態による、1人以上の顧客によって提供されるメトリックデータにおける異常を検出するためのシステムであって、少なくとも1つのプロセッサと、記憶された複数の命令を含む少なくとも1つのメモリであって、命令は、少なくとも1つのプロセッサによる実行に応じて、システムに、特定の顧客メトリックについての複数の時系列ベースの観測値を示すメトリックデータを受信させ、メトリックデータに基づいて、各々が特定の顧客メトリックについてのいくつかの時系列ベースの観測値を捕捉するように構成されている、1つ以上の球を特徴付けるための複数のパラメータを定義させ、複数のパラメータに基づいて、1つ以上の球を生成して、1つ以上の球内のメトリックデータのカバレッジを決定させ、メトリックデータにおける1つ以上の異常を検出させる、メモリと、を備える、システム。
【選択図】
図1
【特許請求の範囲】
【請求項1】
1人以上の顧客によって提供されるメトリックデータにおける異常を検出するためのシステムであって、前記システムは、
少なくとも1つのプロセッサと、
記憶された複数の命令を含む少なくとも1つのメモリであって、前記命令は、前記少なくとも1つのプロセッサによる実行に応じて、前記システムに、
特定の顧客メトリックについての複数の時系列ベースの観測値を示すメトリックデータを受信させ、
前記メトリックデータに基づいて、各々が前記特定の顧客メトリックについてのいくつかの時系列ベースの観測値を捕捉するように構成されている、1つ以上の球を特徴付けるための複数のパラメータを定義させ、
前記複数のパラメータに基づいて、前記1つ以上の球を生成して、前記1つ以上の球内の前記メトリックデータのカバレッジを決定させ、前記メトリックデータにおける1つ以上の異常を検出させる、メモリと、を備え、
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、前記特定の顧客メトリックについての前記複数の時系列ベースの観測値に基づいて変化する半径を各々が有する、複数の球を動的に生成することを含む、システム。
【請求項2】
前記メトリックデータに基づいて前記複数のパラメータを定義することは、
少なくとも1つの球を生成するための最小半径を定義することと、
各々が変化する半径を有する1つ以上の新しい球を生成するための半径増分を定義することと、
前記生成された球によってカバーされるメトリックデータ点の最大数を示すカバレッジ限界を定義することと、を含む、請求項1に記載のシステム。
【請求項3】
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、前記最小半径に基づいてメトリックデータの最大集中に対応する位置を決定することを含む、請求項2に記載のシステム。
【請求項4】
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記カバレッジ限界に到達したかどうかを判定することと、
前記カバレッジ限界に到達していないという判定に応じて、前記半径増分に基づいて少なくとも1つの新しい球の生成のための半径を増分することと、を含む、請求項3に記載のシステム。
【請求項5】
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記少なくとも1つの新しい球が、以前に提供されていない前記メトリックデータのカバレッジを提供するかどうかを判定することと、
前記少なくとも1つの新しい球が以前に提供されていない前記メトリックデータのカバレッジを提供しないという判定に応じて、以前の球によってすでにカバーされたメトリックデータをフィルタで除去することと、を含む、請求項4に記載のシステム。
【請求項6】
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記少なくとも1つの新しい球が、以前に提供されていない前記メトリックデータのカバレッジを提供するという判定に応じて、前記最小半径を更新することと、
前記少なくとも1つの新しい球が、以前に提供されていない前記メトリックデータのカバレッジを提供するという前記判定に応じて、前記位置を更新することと、を含む、請求項4に記載のシステム。
【請求項7】
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記少なくとも1つの球の前記最小半径と、前記少なくとも1つの球と少なくとも1つの最近傍球との間の距離とに基づいて、メトリックデータの前記最大集中に対応する別の位置を決定することと、
少なくとも1つの新しい球を、前記少なくとも1つの新しい球の中心が前記別の位置に位置決めされるように生成することと、を含む、請求項3に記載のシステム。
【請求項8】
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記少なくとも1つの球によって提供される前記メトリックデータのカバレッジを、前記少なくとも1つの最近傍球又は前記少なくとも1つの新しい球によって提供される前記メトリックデータのカバレッジと比較することと、
別の新しい球の生成のための前記比較に基づいて、前記メトリックデータの最大カバレッジを提供する球を選択することと、を含む、請求項7に記載のシステム。
【請求項9】
前記メトリックデータに基づいて前記複数のパラメータを定義することは、
前記メトリックデータからアウトライアをフィルタで除去することと、
前記フィルタリングされたメトリックデータに少なくとも部分的に基づいて前記カバレッジ限界を定義することと、を含む、請求項2に記載のシステム。
【請求項10】
記憶された複数の命令を含む、1つ以上の非一時的機械可読記憶媒体であって、前記命令が、少なくとも1つのプロセッサによる実行に応じて、システムに、
特定の顧客メトリックについての複数の時系列ベースの観測値を示すメトリックデータを受信させ、
前記メトリックデータに基づいて、各々が前記特定の顧客メトリックについてのいくつかの時系列ベースの観測値を捕捉するように構成されている、1つ以上の球を特徴付けるための複数のパラメータを定義させ、
前記複数のパラメータに基づいて、前記1つ以上の球を生成して、前記1つ以上の球内の前記メトリックデータのカバレッジを決定させ、前記メトリックデータにおける1つ以上の異常を検出させる、メモリと、を備え、
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、前記特定の顧客メトリックについての前記複数の時系列ベースの観測値に基づいて変化する半径を各々が有する、複数の球を動的に生成することを含む、1つ以上の非一時的機械可読記憶媒体。
【請求項11】
前記メトリックデータに基づいて前記複数のパラメータを定義することは、
少なくとも1つの球を生成するための最小半径を定義することと、
各々が変化する半径を有する1つ以上の新しい球を生成するための半径増分を定義することと、
前記生成された球によってカバーされるメトリックデータ点の最大数を示すカバレッジ限界を定義することと、を含む、請求項10に記載の1つ以上の非一時的機械可読記憶媒体。
【請求項12】
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、前記最小半径に基づいてメトリックデータの最大集中に対応する位置を決定することを含む、請求項11に記載の1つ以上の非一時的機械可読記憶媒体。
【請求項13】
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記カバレッジ限界に到達したかどうかを判定することと、
前記カバレッジ限界に到達していないという判定に応じて、前記半径増分に基づいて少なくとも1つの新しい球の生成のための半径を増分することと、を含む、請求項12に記載の1つ以上の非一時的機械可読記憶媒体。
【請求項14】
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記少なくとも1つの新しい球が、以前に提供されていない前記メトリックデータのカバレッジを提供するかどうかを判定することと、
前記少なくとも1つの新しい球が以前に提供されていない前記メトリックデータのカバレッジを提供しないという判定に応じて、以前の球によってすでにカバーされたメトリックデータをフィルタで除去することと、を含む、請求項13に記載の1つ以上の非一時的機械可読記憶媒体。
【請求項15】
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記少なくとも1つの新しい球が、以前に提供されていない前記メトリックデータのカバレッジを提供するという判定に応じて、前記最小半径を更新することと、
前記少なくとも1つの新しい球が、以前に提供されていない前記メトリックデータのカバレッジを提供するという前記判定に応じて、前記位置を更新することと、を含む、請求項13に記載の1つ以上の非一時的機械可読記憶媒体。
【請求項16】
前記メトリックデータに基づいて前記複数のパラメータを定義することは、
前記メトリックデータからアウトライアをフィルタで除去することと、
前記フィルタリングされたメトリックデータに少なくとも部分的に基づいて前記カバレッジ限界を定義することと、を含む、請求項11に記載の1つ以上の非一時的機械可読記憶媒体。
【請求項17】
1人以上の顧客によって提供されるメトリックデータにおける異常を検出するための方法であって、前記方法は、
特定の顧客メトリックについての複数の時系列ベースの観測値を示すメトリックデータを、コンタクトセンターシステム又はコンピュータデバイスによって、受信することと、
前記メトリックデータに基づいて前記コンタクトセンターシステム又は前記コンピュータデバイスによって、各々が前記特定の顧客メトリックについてのいくつかの時系列ベースの観測値を捕捉するように構成されている1つ以上の球を特徴付けるための複数のパラメータを定義することと、
前記コンタクトセンターシステム又は前記コンピュータデバイスによって前記複数のパラメータに基づいて、前記1つ以上の球を生成して、前記1つ以上の球内の前記メトリックデータのカバレッジを決定し、前記メトリックデータにおける1つ以上の異常を検出することと、を含み、
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、前記コンタクトセンターシステム又は前記コンピュータデバイスによって、前記特定の顧客メトリックについての前記複数の時系列ベースの観測値に基づいて変化する半径を各々が有する複数の球を動的に生成することを含む、方法。
【請求項18】
前記メトリックデータに基づいて前記複数のパラメータを定義することは、
前記コンタクトセンターシステム又は前記コンピュータデバイスによって、少なくとも1つの球の生成のための最小半径を定義することと、
前記コンタクトセンターシステム又は前記コンピュータデバイスによって、変化する半径を有する1つ以上の新しい球を生成するための半径増分を定義することと、
前記コンタクトセンターシステム又は前記コンピュータデバイスによって、前記生成された球によってカバーされるメトリックデータ点の最大数を示すカバレッジ限界を定義することと、を含む、請求項17に記載の方法。
【請求項19】
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、前記コンタクトセンターシステム又は前記コンピュータデバイスによって、前記最小半径に基づいてメトリックデータの最大集中に対応する位置を決定することを含む、請求項18に記載の方法。
【請求項20】
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記コンタクトセンターシステム又は前記コンピュータデバイスによって、前記カバレッジ限界に達したかどうかを判定することと、
前記カバレッジ限界に達していないという判定に応じて、前記コンタクトセンターシステム又は前記コンピュータデバイスによって、前記半径増分に基づいて少なくとも1つの新しい球の生成のための半径を増分することと、を含む、請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2020年12月21日に出願された米国仮特許出願第63/128,277号の優先権を主張するものであり、当該仮特許出願の内容は、参照によりその全体が本明細書に組み込まれる。
【背景技術】
【0002】
データ分析は、様々なデータセットにおける異常を検出することを含み得る。場合によっては、異常検出は、新しい観測値が以前の観測値と同じ分布に属するか、又はアウトライアとして分類されるべきかを評価することを伴い得る。異常検出のための様々なシステム及び方法には、いくつかの欠点がある。したがって、異常検出のための代替的なシステム及び方法の開発は、依然として関心領域である。
【発明の概要】
【0003】
一実施形態は、1人以上の顧客によって提供されるメトリックデータにおける異常を検出するための独自のシステム、構成要素、及び方法を対象とする。他の実施形態は、1人以上の顧客によって提供されるデータにおける異常を検出するための装置、システム、デバイス、ハードウェア、方法、及びそれらの組合せを対象とする。
【0004】
一実施形態による、1人以上の顧客によって提供されるメトリックデータにおける異常を検出するためのシステムは、少なくとも1つのプロセッサと、記憶された複数の命令を含む少なくとも1つのメモリであって、命令は、少なくとも1つのプロセッサによる実行に応じて、システムに、特定の顧客メトリックについての複数の時系列ベースの観測値を示すメトリックデータを受信させ、メトリックデータに基づいて、各々が特定の顧客メトリックについてのいくつかの時系列ベースの観測値を捕捉するように構成されている、1つ以上の球を特徴付けるための複数のパラメータを定義させ、複数のパラメータに基づいて、1つ以上の球を生成して、1つ以上の球内のメトリックデータのカバレッジを決定させ、メトリックデータにおける1つ以上の異常を検出させる、メモリと、を含み得る。複数のパラメータに基づいて1つ以上の球を生成することは、特定の顧客メトリックについての複数の時系列ベースの観測値に基づいて変化する半径を各々が有する、複数の球を動的に生成することを含み得る。
【0005】
いくつかの実施形態では、メトリックデータに基づいて複数のパラメータを定義することは、少なくとも1つの球を生成するための最小半径を定義することと、各々が変化する半径を有する1つ以上の新しい球を生成するための半径増分を定義することと、生成された球によってカバーされるメトリックデータ点の最大数を示すカバレッジ限界を定義することと、を含み得る。
【0006】
いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、最小半径に基づいてメトリックデータの最大集中に対応する位置を決定することを含み得る。
【0007】
いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、カバレッジ限界に達したかどうかを判定することと、カバレッジ限界に達していないという判定に応じて、半径増分に基づいて少なくとも1つの新しい球を生成するための半径を増分することと、を含み得る。
【0008】
いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、少なくとも1つの新しい球が、以前に提供されていないメトリックデータのカバレッジを提供するかどうかを判定することと、少なくとも1つの新しい球が以前に提供されていないメトリックデータのカバレッジを提供しないという判定に応じて、以前の球によってすでにカバーされたメトリックデータをフィルタで除去することと、を含み得る。
【0009】
いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、少なくとも1つの新しい球が以前に提供されていないメトリックデータのカバレッジを提供するという判定に応じて、最小半径を更新することと、少なくとも1つの新しい球が、以前に提供されていないメトリックデータのカバレッジを提供するという判定に応じて、位置を更新することと、を含み得る。
【0010】
いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、少なくとも1つの球の最小半径と、少なくとも1つの球と少なくとも1つの最近傍球との間の距離とに基づいて、メトリックデータの最大集中に対応する別の位置を決定することと、少なくとも1つの新しい球を、少なくとも1つの新しい球の中心が別の位置に位置決めされるように生成することと、を含み得る。
【0011】
いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、少なくとも1つの球によって提供されるメトリックデータのカバレッジを、少なくとも1つの最近傍球又は少なくとも1つの新しい球によって提供されるメトリックデータのカバレッジと比較することと、別の新しい球の生成のための比較に基づいて、メトリックデータの最大カバレッジを提供する球を選択することと、を含み得る。
【0012】
いくつかの実施形態では、メトリックデータに基づいて複数のパラメータを定義することは、メトリックデータからアウトライアをフィルタで除去することと、フィルタリングされたメトリックデータに少なくとも部分的に基づいてカバレッジ限界を定義することと、を含み得る。
【0013】
別の実施形態によれば、記憶された複数の命令を含む、1つ以上の非一時的機械可読記憶媒体であって、命令が、少なくとも1つのプロセッサによる実行に応じて、システムに、特定の顧客メトリックについての複数の時系列ベースの観測値を示すメトリックデータを受信させ、メトリックデータに基づいて、各々が特定の顧客メトリックについてのいくつかの時系列ベースの観測値を捕捉するように構成されている、1つ以上の球を特徴付けるための複数のパラメータを定義させ、複数のパラメータに基づいて、1つ以上の球を生成して、1つ以上の球内のメトリックデータのカバレッジを決定させ、メトリックデータにおける1つ以上の異常を検出させる、メモリと、を含み得る。複数のパラメータに基づいて1つ以上の球を生成することは、特定の顧客メトリックについての複数の時系列ベースの観測値に基づいて変化する半径を各々が有する、複数の球を動的に生成することを含み得る。
【0014】
いくつかの実施形態では、メトリックデータに基づいて複数のパラメータを定義することは、少なくとも1つの球を生成するための最小半径を定義することと、各々が変化する半径を有する1つ以上の新しい球を生成するための半径増分を定義することと、生成された球によってカバーされるメトリックデータ点の最大数を示すカバレッジ限界を定義することと、を含み得る。
【0015】
いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、最小半径に基づいてメトリックデータの最大集中に対応する位置を決定することを含み得る。
【0016】
いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、カバレッジ限界に達したかどうかを判定することと、カバレッジ限界に達していないという判定に応じて、半径増分に基づいて少なくとも1つの新しい球を生成するための半径を増分することと、を含み得る。
【0017】
いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、少なくとも1つの新しい球が、以前に提供されていないメトリックデータのカバレッジを提供するかどうかを判定することと、少なくとも1つの新しい球が以前に提供されていないメトリックデータのカバレッジを提供しないという判定に応じて、以前の球によってすでにカバーされたメトリックデータをフィルタで除去することと、を含み得る。
【0018】
いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、少なくとも1つの新しい球が以前に提供されていないメトリックデータのカバレッジを提供するという判定に応じて、最小半径を更新することと、少なくとも1つの新しい球が、以前に提供されていないメトリックデータのカバレッジを提供するという判定に応じて、位置を更新することと、を含み得る。
【0019】
いくつかの実施形態では、メトリックデータに基づいて複数のパラメータを定義することは、メトリックデータからアウトライアをフィルタで除去することと、フィルタリングされたメトリックデータに少なくとも部分的に基づいてカバレッジ限界を定義することと、を含み得る。
【0020】
更に別の実施形態によれば、1人以上の顧客によって提供されるメトリックデータにおける異常を検出するための方法は、特定の顧客メトリックについての複数の時系列ベースの観測値を示すメトリックデータを、コンタクトセンターシステム又はコンピュータデバイスによって、受信することと、メトリックデータに基づいてコンタクトセンターシステム又はコンピュータデバイスによって、各々が特定の顧客メトリックについてのいくつかの時系列ベースの観測値を捕捉するように構成されている1つ以上の球を特徴付けるための複数のパラメータを定義することと、コンタクトセンターシステム又はコンピュータデバイスによって複数のパラメータに基づいて、1つ以上の球を生成して、1つ以上の球内のメトリックデータのカバレッジを決定し、メトリックデータにおける1つ以上の異常を検出することと、を含み得る。複数のパラメータに基づいて1つ以上の球を生成することは、コンタクトセンターシステム又はコンピュータデバイスによって、特定の顧客メトリックについての複数の時系列ベースの観測値に基づいて変化する半径を各々が有する複数の球を動的に生成することを含み得る。
【0021】
いくつかの実施形態では、メトリックデータに基づいて複数のパラメータを定義することは、コンタクトセンターシステム又はコンピュータデバイスによって、少なくとも1つの球の生成のための最小半径を定義することと、コンタクトセンターシステム又はコンピュータデバイスによって、各々変化する半径を有する1つ以上の新しい球を生成するための半径増分を定義することと、コンタクトセンターシステム又はコンピュータデバイスによって、生成された球によってカバーされるメトリックデータ点の最大数を示すカバレッジ限界を定義することと、を含み得る。
【0022】
いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、コンタクトセンターシステム又はコンピュータデバイスによって、最小半径に基づいてメトリックデータの最大集中に対応する位置を決定することを含み得る。
【0023】
いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、コンタクトセンターシステム又はコンピュータデバイスによって、カバレッジ限界に達したかどうかを判定することと、カバレッジ限界に達していないという判定に応じて、コンタクトセンターシステム又はコンピュータデバイスによって、半径増分に基づいて少なくとも1つの新しい球の生成のための半径を増分することと、を含み得る。
【0024】
この概要は、特許請求される主題の重要な又は本質的な特徴を識別することを意図するものではなく、特許請求される主題の範囲を限定する助けとして使用されることも意図されていない。本出願の更なる実施形態、形態、特徴、及び態様は、本明細書とともに提供される説明及び図から明らかになるであろう。
【図面の簡単な説明】
【0025】
本明細書に説明される概念は、例として例解的なものであり、添付の図面における限定としてではない。例解を単純かつ明確にするために、図に例解される要素は、必ずしも縮尺通りに描画されていない。適切であると考えられる場合、参照ラベルは、対応する又は類似の要素を示すために図面間で繰り返されている。
【
図1】コンタクトセンターシステムの少なくとも1つの実施形態の簡略化されたブロック図である。
【
図2】コンピューティングデバイスの少なくとも1つの実施形態の簡略化されたブロック図である。
【
図3】1人以上の顧客によって提供されるデータ内の異常を検出する方法の少なくとも1つの実施形態の簡略化されたフローチャートである。
【
図4】1人以上の顧客によって提供されるデータ内の異常を検出する方法の別の実施形態の簡略化されたフローチャートである。
【
図5】
図4の方法の球の生成中に実行され得る1つ以上の球を生成する方法の少なくとも1つの実施形態の簡略化されたフローチャートである。
【
図6】メトリックデータ点/観測値の集合の視覚的表現である。
【
図7】
図5の方法に従って生成された球を有するメトリックデータ点/観測値の集合の視覚的表現である。
【
図8】
図5の方法に従って生成された2つの球を有するメトリックデータ点/観測値の集合の視覚的表現である。
【
図9】
図5の方法に従って生成された3つの球を有するメトリックデータ点/観測値の集合の視覚的表現である。
【
図10】比較方法に従って生成された複数の球を有するメトリックデータ点/観測値の集合の視覚的表現である。
【
図11】
図5の方法に従って生成された複数の球を有するメトリックデータ点/観測値の集合の視覚的表現である。
【
図12】種々のデータセットにおける異常を検出するための種々のアルゴリズム/モデルに対する性能評価の視覚的表現である。
【
図13】比較方法に従って生成された球を有するメトリックデータの集合の視覚的表現である。
【
図14】
図5の方法に従って生成された球を有する
図13のメトリックデータの集合の視覚的表現である。
【
図15】比較方法に従って生成された球を有するメトリックデータの集合の視覚的表現である。
【
図16】
図5の方法に従って生成された球を有する
図15のメトリックデータの集合の視覚的表現である。
【
図17】比較方法に従って得られたメトリックに対する異常検出情報のグラフ図である。
【
図18】
図5の方法に従って得られたメトリックに対する異常検出情報のグラフ図である。
【発明を実施するための形態】
【0026】
本開示の概念は、様々な修正及び代替形態の余地があるが、具体的な実施形態が図面に例として示されており、本明細書で詳細に説明される。しかしながら、本開示の概念を開示された特定の形態に限定する意図はなく、逆に、その意図は、本開示及び添付の特許請求の範囲と一致する全ての修正、等価物、及び代替物を網羅することであることを理解されたい。
【0027】
「1つの実施形態」、「一実施形態」、「例解的な実施形態」などの本明細書における言及は、説明される実施形態が特定の特徴、構造、又は特性を含み得るが、全ての実施形態が特定の特徴、構造、又は特性を必ず含む場合があるか、又は含まない場合があることを示す。更に、かかる句は、必ずしも同じ実施形態を指しているわけではない。「好ましい」構成要素又は特徴への言及は、一実施形態に関する特定の構成要素又は特徴の望ましいことを示すことができるが、本開示は、そのような構成要素又は特徴を省略し得る他の実施形態に関してそのように限定するものではないことを更に理解されたい。更に、特定の特徴、構造、又は特性が実施形態と関連して説明される場合、明確に説明されているかどうかに関わりなく、他の実施形態と関連するこのような特徴、構造、又は特性への実装は、当業者の知見内であるものとする。更に、特定の特徴、構造、又は特性は、様々な実施形態において、任意の好適な組み合わせ及び/又は部分的組み合わせで組み合わされ得る。
【0028】
更に、「A、B、及びCのうちの少なくとも1つ」の形態のリストに含まれる項目は、(A)、(B)、(C)、(A及びB)、(B及びC)、(A及びC)、又は(A、B、及びC)を意味することができることを理解されたい。同様に、「A、B、又はCのうちの少なくとも1つ」の形態で列挙された項目は、(A)(B)、(C)、(A及びB)、(B及びC)、(A及びC)、又は(A、B、及びC)を意味することができることを理解されたい。更に、特許請求の範囲に関して、「1つの(a)」、「1つの(an)」、「少なくとも1つの(at least one)」、及び/又は「少なくとも1つの部分(at least one portion)」などの語及び句の使用は、具体的に反対のことが述べられていない限り、そのような要素の1つのみに限定されるように解釈されるべきではなく、「少なくとも一部の(at least a portion)」及び/又は「一部の(a portion)」などの句の使用は、具体的なに反対のことが述べられていない限り、そのような要素の一部のみを含む実施形態及びそのような要素の全体を含む実施形態の両方を包含するように解釈されるべきである。
【0029】
開示された実施形態は、場合によっては、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせで実装され得る。開示された実施形態はまた、1つ以上のプロセッサによって読み取られ実行され得る1つ以上の一時的又は非一時的機械可読(例えば、コンピュータ可読)記憶媒体によって実行されるか又は記憶される命令として実装され得る。機械可読記憶媒体は、機械(例えば、揮発性若しくは不揮発性メモリ、メディアディスク、又は他のメディアデバイス)によって読み取り可能な形態で情報を記憶又は伝送するための任意の記憶デバイス、機構、又は他の物理的構造として具現化され得る。
【0030】
図面では、いくつかの構造的又は方法的特徴は、具体的な配置及び/又は順序付けで示され得る。しかしながら、そのような具体的な配置及び/又は順序付けは必要とされない場合があることを理解されたい。むしろ、いくつかの実施形態において、そのような特徴は、反対のことが示されていない限り、例解的な図面に示されているものとは異なる方法及び/又は順序で配置され得る。更に、特定の図に構造的又は方法的特徴を含めることは、そのような特徴が全ての実施形態で必要とされることを意味するものではなく、いくつかの実施形態において、含まれない場合があるか、又は他の特徴と組み合わされる場合がある。
【0031】
データ収集及び/又はデータ分析の目的のために、いくつかの用途では、新しい観測値/データ点が既存の観測値/データ点と同じデータ分布に属するかどうかを確認することが有益であり得る。既存の観測値と同じデータ分布に属する観測値(複数可)は、本明細書ではインライア(inlier)と呼ばれることがあり、既存の観測値と同じ分布に属さない観測値(複数可)は、本明細書ではアウトライア(outlier)と呼ばれることがある。インライアとアウトライアとを区別する能力は、実際のデータセットをクリーンにするのに特に有用であり得る。
【0032】
多くの場合、データ(例えば、訓練データ)に含まれるアウトライアは、データの1つ以上の視覚的表現に基づいて、他のものから遠く離れている観測値として定義され得ることを理解されたい。したがって、場合によっては、アウトライア検出推定器は、典型的には逸脱した観測値又はアウトライアを無視しながら、データが最も集中している領域に適合及び/又は捕捉しようとすることがある。
【0033】
しかしながら、場合によっては、関心のあるデータにアウトライアがまだ存在していないことがある。それらの場合、新しい観測値がアウトライアであるかどうかを検出することが有益であり得る。アウトライアであると検出された新しい観測値は、少なくともいくつかの実施形態では、新規性であってもよい。更に、そのようなアウトライアの検出は、本明細書では新規性検出と呼ばれることがある。
【0034】
アウトライア検出及び新規性検出は、特に異常な観測値の検出が望ましい場合に、データの異常を検出するために実行することができる。場合によっては、アウトライア検出は、「教師なし異常検出」と呼ばれることがあり、新規性検出は、「半教師あり異常検出」と呼ばれることがある。アウトライア検出の文脈では、推定器は、アウトライア/異常が低密度/集中領域に位置すると仮定することが多いので、アウトライア/異常は、典型的には、高密度クラスタを形成することができない。しかしながら、新規性検出の文脈では、新規性/異常は、正常であると考えられ得るデータの低密度/集中領域に位置する限り、高密度クラスタを形成し得る。
【0035】
本開示のシステム及び方法は、以下でINS(Isolation Nearest Spheres)モデルと呼ばれるモデルを実装するように構成される。INSモデルは、モデルを実装するために使用されるシステム、方法、及び/又はツールが、異なるメトリックのための異なる挙動をどのように学習するかを視覚化する必要性から導出され、それによって示唆されることを理解されたい。更に、INSモデルは、異常の重大度を検出及び評価するために使用され得る視覚的表現及び/又はグラフィカル描写に依存する。結果として、時系列観測値についての異常検出は、多変数システムにおけるアウトライア検出に類似していると考えられ得るか、又はそうでなければそれによって通知され得る。時系列観測値についての異常検出を多変数システムにおけるアウトライア検出と関連付けるために、本開示は、様々なメトリックの連続挙動を記述するのに役立ち、アウトライアに敏感である、時系列データからの有用な特徴の抽出を想定する。
【0036】
いくつかの実施形態では、本開示は、モデルを生成する任意の時系列メトリックデータにおける異常を検出するための機械学習アルゴリズムを提供する。場合によっては、本明細書で企図される異常検出モデルは教師なしであり、メトリックデータから正常な挙動を学習するためにいかなるパラメータ定義も必要としない。加えて、場合によっては、メトリックデータから学習される挙動は、各々が1つ以上の高密度領域内に動的半径を有する知識球に基づく。
【0037】
いくつかの実施形態では、本開示は、様々なメトリックについての時系列ベースの観測値のための特徴選択プロセス又は機構を企図する。そのプロセスは、時系列ベースのメトリックデータの(視覚的)表現、データ内のアウトライアに対する感度、及びデータの標準化(例えば、データセットの次元能力を保証すること)の考慮を含み得る。それらの考慮事項を考慮して、本開示の技法に従って選択及び/又は決定される特徴の数(例えば、n)は、特定のメトリックについての現在の値/観測値と、そのメトリックについての履歴値/観測値(例えば、前の1時間又は前日内に受信された観測値)とに基づく。いくつかの実施形態では、本開示によって企図されるn個の特徴は、メトリック値、導関数、及び移動平均を含み得るが、それらに限定されない。
【0038】
本開示の目的のために、以下に提供される定義は、定義された用語のその後の考察に適用可能である。
・ 分離-データの特定の知識単位への低減(すなわち、INSモデルによって実行される)。このような低減は、知識限界に達するように実行される。
・ 最近傍-INSモデルは、データ点間の近接性を判定するために最近傍距離に依存する。これらの距離は、カバーされていない挙動のみに関連付けられたデータを使用して精緻化及び/又は改善される。
・ 球-データ点/観測値のクラスタとして視覚的に表される知識単位。各知識単位は、動的半径及び中心によって定義される。
・ 挙動-特定のメトリックについての特徴の各々の数(例えば、n)。
・ カバレッジ-全ての球の内側に位置する/全ての球によって捕捉される観測値/データ点のパーセンテージ。
【0039】
INSモデル及び上記で定義された用語の更なる説明は、
図3~
図5を参照して以下に提供される。
【0040】
ここで
図1を参照すると、本明細書に説明される実施形態のうちの1つ以上と併せて使用され得る、通信インフラストラクチャ及び/又はコンタクトセンターシステムの少なくとも1つの実施形態の簡略化されたブロック図が示されている。例解的な実施形態では、コンタクトセンターシステム100は、1人以上の顧客によって提供されるデータ内の異常を検出するためにINSモデルを実装するように構成されているシステムとして具現化されるか、又はそうでなければそれを含む。コンタクトセンターシステム100は、コンタクトセンターサービス(例えば、コールセンターサービス、チャットセンターサービス、SMSセンターサービスなど)をエンドユーザに提供すること、及び別様に本明細書に説明される機能を実施することが可能な任意のシステムとして具現化され得る。例解的なコンタクトセンターシステム100は、顧客デバイス102、ネットワーク104、スイッチ/メディアゲートウェイ106、コールコントローラ108、双方向メディア応答(interactive media response、IMR)サーバ110、ルーティングサーバ112、記憶デバイス114、統計サーバ116、エージェントデバイス118A、118B、118C、メディアサーバ120、知識管理サーバ122、知識システム124、チャットサーバ126、ウェブサーバ128、インタラクション(iXn)サーバ130、ユニバーサルコンタクトサーバ132、レポーティングサーバ134、メディアサービスサーバ136、及び分析モジュール138を含む。
図1の例解的な実施形態には1つの顧客デバイス102、1つのネットワーク104、1つのスイッチ/メディアゲートウェイ106、1つのコールコントローラ108、1つのIMRサーバ110、1つのルーティングサーバ112、1つの記憶デバイス114、1つの統計サーバ116、1つのメディアサーバ120、1つの知識管理サーバ122、1つの知識システム124、1つのチャットサーバ126、1つのiXnサーバ130、1つのユニバーサルコンタクトサーバ132、1つのレポーティングサーバ134、1つのメディアサービスサーバ136、及び1つの分析モジュール138のみが示されているが、コンタクトセンターシステム100は、他の実施形態において、複数の顧客デバイス102、ネットワーク104、スイッチ/メディアゲートウェイ106、コールコントローラ108、IMRサーバ110、ルーティングサーバ112、記憶デバイス114、統計サーバ116、メディアサーバ120、知識管理サーバ122、知識システム124、チャットサーバ126、iXnサーバ130、ユニバーサルコンタクトサーバ132、レポーティングサーバ134、メディアサービスサーバ136、及び/又は分析モジュール138を含み得る。更に、いくつかの実施形態において、本明細書に説明される構成要素のうちの1つ以上は、システム100から除外され得、独立しているものとして説明されている構成要素のうちの1つ以上は、別の構成要素の一部分を形成し得、且つ/又は別の構成要素の一部分を形成するものとして説明されている構成要素のうちの1つ以上は、独立し得る。
【0041】
本明細書では、「コンタクトセンターシステム」という用語は、
図1に描写されるシステム及び/又はその構成要素を指すために使用される一方、「コンタクトセンター」という用語は、より一般的に、コンタクトセンターシステム、これらのシステムを動作させる顧客サービスプロバイダ、及び/又はそれらに関連付けられた組織若しくは企業を指すために使用されることを理解されたい。したがって、別途具体的に限定されない限り、「コンタクトセンター」という用語は、概して、コンタクトセンターシステム(コンタクトセンターシステム100など)、関連する顧客サービスプロバイダ(コンタクトセンターシステム100を通して顧客サービスを提供する特定の顧客サービスプロバイダなど)、並びに顧客サービスが代理で提供されている組織又は企業を指す。
【0042】
背景として、顧客サービスプロバイダは、コンタクトセンターを通して多くのタイプのサービスを提供し得る。そのようなコンタクトセンターは、従業員若しくは顧客サービスエージェント(又は単に「エージェント」)が配置され得、エージェントは、会社、企業、政府機関、又は組織(以下、互換的に「組織」又は「企業」と称される)と、ユーザ、個人、又は顧客などの人々(以下、互換的に「個人」又は「顧客」と称される)との間のインターフェースとして機能する。例えば、コンタクトセンターのエージェントは、購入の決定、注文の受け付け、又はすでに受け取った製品若しくはサービスに関する問題を解決する際に顧客を支援することができる。コンタクトセンター内で、コンタクトセンターエージェントと外部エンティティ又は顧客との間のそのようなインタラクションは、例えば、音声(例えば、電話コール又はボイスオーバーIP、すなわち、VoIPコール)、ビデオ(例えば、ビデオ会議)、テキスト(例えば、電子メール及びテキストチャット)、画面共有、コブラウジング、及び/又は他の通信チャネルなどの様々な通信チャネルを介して、行われ得る。
【0043】
運用上、コンタクトセンターは、一般に、コストを最小限に抑えながら、質の高いサービスを顧客に提供するように努力する。例えば、コンタクトセンターが動作する1つの方法が、ライブエージェントとの全顧客インタラクションを取り扱うことである。このアプローチは、サービス品質の観点から十分に成功し得る一方、エージェントの労働の高いコストに起因して、法外に高価となる可能性が高いであろう。このため、ほとんどのコンタクトセンターは、ライブエージェントの代わりに、例えば、双方向音声応答(interactive voice response、IVR)システム、双方向メディア応答(IMR)システム、インターネットロボット、すなわち、「ボット」、自動チャットモジュール、すなわち、「チャットボット」、及び/又は他の自動処理されたなどの、あるレベルの自動プロセスを利用する。多くの場合、これは、自動プロセスが、特定のタイプのインタラクションを取り扱うのに非常に効率的であり、ライブエージェントの必要性を低減するのに効果的であり得るため、成功戦略であることが証明されている。そのような自動化により、コンタクトセンターが、人間のエージェントの使用をより困難な顧客インタラクションに標的化することを可能にする一方で、自動プロセスは、より反復的又は日常的なタスクを取り扱う。更に、自動プロセスは、効率を最適化し、繰り返し性を促進する方法で構造化され得る。人間のエージェント、すなわち、ライブエージェントは、特定の質問に応える、若しくは特定の詳細を徹底的に追及することを忘れ得るが、そのような誤りは、典型的には、自動プロセスの使用を通して回避される。顧客サービスプロバイダは、顧客とインタラクションする自動プロセスにますます依存する一方、顧客によるそのような技術の使用は、はるかに未発達のままである。したがって、インタラクションのコンタクトセンター側では、IVRシステム、IMRシステム、及び/又はボットが使用されて、インタラクションの部分を自動化する一方、顧客側のアクションは、顧客が手動で実施するままである。
【0044】
コンタクトセンターシステム100は、様々なタイプのサービスを顧客に提供するために、顧客サービスプロバイダによって使用され得ることを理解されたい。例えば、コンタクトセンターシステム100は、自動プロセス(若しくはボット)又は人間のエージェントが顧客と通信するインタラクションに関与し、及びそれを管理するために使用され得る。理解されるべきであるように、コンタクトセンターシステム100は、企業を通して利用可能な製品及びサービスに関連する販売及び顧客サービスの機能を実施するためのビジネス又は企業の社内施設であり得る。別の実施形態において、コンタクトセンターシステム100は、別の組織に代わって、サービスを提供するように契約するサードパーティサービスプロバイダによって運用され得る。更に、コンタクトセンターシステム100は、企業又はサードパーティサービスプロバイダ専用の機器上に展開され、且つ/又は、例えば、複数の企業のために複数のコンタクトセンターをサポートするためのインフラストラクチャを備えたプライベート若しくはパブリッククラウド環境などのリモートコンピューティング環境内に展開され得る。コンタクトセンターシステム100は、構内で若しくはリモートで、又はそれらの何らかの組み合わせで実行され得るソフトウェアアプリケーション若しくはプログラムを含み得る。更に、コンタクトセンターシステム100の様々な構成要素は、様々な地理的位置にわたって分散され得、必ずしも単一の場所又はコンピューティング環境に含まれるわけではないことを理解されたい。
【0045】
更に、別途具体的に限定されない限り、本明細書に説明されるコンピューティング要素のいずれかは、クラウドベース又はクラウドコンピューティング環境内に実装され得ることを理解されたい。本明細書で使用され、更にコンピューティングデバイス200に関連して以下に説明されるように、「クラウドコンピューティング」又は単に「クラウド」は、構成可能なコンピューティングリソース(例えば、ネットワーク、サーバ、記憶装置、アプリケーション、及びサービス)の共有プールへのユビキタスで便利なオンデマンドのネットワークアクセスを可能にするためのモデルとして定義され、これは、仮想化を介して迅速にプロビジョンされ、最小限の管理努力若しくはサービスプロバイダインタラクションでリリースされ、次いで、それに応じてスケーリングされ得る。クラウドコンピューティングは、様々な特性(例えば、オンデマンドセルフサービス、広域ネットワークアクセス、リソースプーリング、迅速な弾力性、測定可能なサービスなど)、サービスモデル(例えば、サービスとしてのソフトウェア(Software as a Service、「SaaS」)、サービスとしてのプラットフォーム(Platform as a Service、「PaaS」)、サービスとしてのインフラストラクチャ(Infrastructure as a Service、「IaaS」)、及び配備モデル(例えば、プライベートクラウド、コミュニティクラウド、パブリッククラウドなど)で構成され得る。「サーバレスアーキテクチャ」としばしば称されるクラウド実行モデルは、一般に、所望の機能を達成するために、リモートサーバの割り当て及びプロビジョニングを動的に管理するサービスプロバイダを含む。
【0046】
図1に関連して説明されたコンピュータ実装構成要素、モジュール、又はサーバのいずれも、例えば、
図2のコンピューティングデバイス200などのコンピューティングデバイスのうちの1つ以上のタイプを介して実装され得ることを理解されたい。理解されるように、コンタクトセンターシステム100は、一般に、電話、電子メール、チャット、又は他の通信機構を介したサービスの配信を可能にするために、リソース(例えば、人材、コンピュータ、電気通信機器など)を管理する。そのようなサービスは、コンタクトセンターのタイプに応じて変化し得、例えば、顧客サービス、ヘルプデスク機能、緊急応答、テレマーケティング、受注、及び/又は他の特性を含み得る。
【0047】
コンタクトセンターシステム100からサービスを受けることを所望する顧客は、顧客デバイス102を介して、コンタクトセンターシステム100へのインバウンド通信(例えば、電話コール、電子メール、チャットなど)を開始し得る。
図1は、1つのそのような顧客デバイス、すなわち顧客デバイス102を示しているが、任意の数の顧客デバイス102が存在し得ることを理解されたい。顧客デバイス102は、例えば、電話、スマートフォン、コンピュータ、タブレット、又はラップトップなどの通信デバイスであり得る。本明細書に説明される機能によれば、顧客は、一般に、顧客デバイス102を使用して、電話コール、電子メール、チャット、テキストメッセージ、ウェブブラウジングセッション、及び他のマルチメディアトランザクションなど、コンタクトセンターシステム100との通信を開始、管理、及び実行し得る。
【0048】
顧客デバイス102からの、及び顧客デバイス102へのインバウンド通信及びアウトバウンド通信は、典型的には、使用されている顧客デバイスのタイプ及び通信の形態に依存するネットワークの性質により、ネットワーク104を横断し得る。一例として、ネットワーク104としては、電話、セルラ、及び/又はデータサービスの通信ネットワークが挙げられ得る。ネットワーク104は、プライベート若しくは公衆交換電話網(public switched telephone network、PSTN)、ローカルエリアネットワーク(local area network、LAN)、プライベートワイドエリアネットワーク(wide area network、WAN)、及び/又はインターネットなどのパブリックWANであり得る。更に、ネットワーク104は、符号分割多重アクセス(code division multiple access、CDMA)ネットワーク、モバイル通信のためのグローバルシステム(global system for mobile communications、GSM)ネットワーク、又は3G、4G、LTE、5Gなどを含むが、これらに限定されない、当該技術分野で慣用の任意の無線ネットワーク/技術を含む、無線キャリアネットワークを含み得る。
【0049】
スイッチ/メディアゲートウェイ106は、顧客とコンタクトセンターシステム100との間の電話コールを受信及び伝送するために、ネットワーク104に結合され得る。スイッチ/メディアゲートウェイ106としては、センター内でのエージェントレベルルーティングのための中央スイッチとして機能するように構成されている電話スイッチ又は通信スイッチが挙げられ得る。スイッチは、ハードウェアスイッチングシステムであるか、又はソフトウェアを介して実装され得る。例えば、スイッチ106は、自動コールディストリビュータ、構内交換機(private branch exchange、PBX)、IPベースのソフトウェアスイッチ、及び/若しくは顧客からインターネットソース型インタラクション並びに/又は電話網ソース型インタラクションを受信し、これらのインタラクションを、例えば、エージェントデバイス118のうちの1つにルーティングするように構成されている専用ハードウェア及びソフトウェアを有する任意の他のスイッチを含み得る。したがって、一般に、スイッチ/メディアゲートウェイ106は、顧客デバイス102とエージェントデバイス118との間の接続を確立することによって、顧客とエージェントとの間の音声接続を確立する。
【0050】
更に示すように、スイッチ/メディアゲートウェイ106は、例えば、コンタクトセンターシステム100のスイッチと他のルーティング、監視、及び通信処理構成要素との間のアダプタ又はインターフェース接続として機能するコールコントローラ108に結合され得る。コールコントローラ108は、PSTNコール、VoIPコール、及び/又は他のタイプのコールを処理するように構成され得る。例えば、コールコントローラ108は、スイッチ/メディアゲートウェイ及び他の構成要素とインターフェース接続するためのコンピュータ電話統合(computer-telephone integration、CTI)ソフトウェアを含み得る。コールコントローラ108は、セッション開始プロトコル(session initiation protocol、SIP)コールを処理するためのSIPサーバを含み得る。コールコントローラ108はまた、顧客の電話番号、IPアドレス、又は電子メールアドレスなどの着信インタラクションに関するデータを抽出し、次いで、インタラクションを処理する際に、これらを他のコンタクトセンター構成要素と通信し得る。
【0051】
双方向メディア応答(IMR)サーバ110は、自己ヘルプ機能又は仮想アシスタント機能を可能にするように構成され得る。具体的には、IMRサーバ110は、IMRサーバ110が音声に制限されず、様々なメディアチャネルもカバーし得ることを除いて、双方向音声応答(IVR)サーバと同様であり得る。音声を例解する例において、IMRサーバ110は、顧客に顧客のニーズを問い合わせるためのIMRスクリプトで構成され得る。例えば、銀行のコンタクトセンターは、顧客が自分の預金残高を検索したい場合に「1を押す」ように、IMRスクリプトを介して顧客に指示し得る。IMRサーバ110との継続的なインタラクションを介して、顧客は、エージェントと話をすることを必要とせずに、サービスを受け得る。IMRサーバ110はまた、通信が、適切なリソースにルーティングされ得るように、顧客がコンタクトセンターに接触している理由を確認するように構成され得る。IMR構成は、コンタクトセンター環境(例えば、Genesys(登録商標)Designer)内で実行されるIVRアプリケーション及びルーティングアプリケーションを開発するためのウェブベースのツールを含むセルフサービス及び/又はアシストサービスツールの使用を通して実施され得る。
【0052】
ルーティングサーバ112は、着信インタラクションをルーティングするように機能し得る。例えば、インバウンド通信が、人間のエージェントによって処理されるべきであると判定されると、ルーティングサーバ112内の機能は、最も適切なエージェントを選択して、通信をそのエージェントにルーティングし得る。このエージェント選択は、どの利用可能なエージェントが通信を取り扱うために最適であるかに基づき得る。より具体的には、適切なエージェントの選択は、ルーティングサーバ112によって実装されるルーティング戦略又はアルゴリズムに基づき得る。これを行う際に、ルーティングサーバ112は、着信インタラクションに関連するデータ、例えば、特定の顧客、利用可能なエージェント、及びインタラクションのタイプに関連するデータを問い合わせ得、このデータは、本明細書に説明されるように、特定のデータベースに記憶され得る。エージェントが選択されると、ルーティングサーバ112は、コールコントローラ108とインタラクションして、着信インタラクションを対応するエージェントデバイス118にルーティング(すなわち、接続)し得る。この接続の一部として、顧客に関する情報が、選択されたエージェントに、それらのエージェントデバイス118を介して提供され得る。この情報は、エージェントが顧客に提供できるサービスを強化することを意図している。
【0053】
コンタクトセンターシステム100は、データをコンタクトセンターの機能に関連する1つ以上のデータベースに記憶するための1つ以上の大容量記憶デバイス(一般的に記憶デバイス114によって表される)を含み得ることを理解されたい。例えば、記憶デバイス114は、顧客データベースに維持される顧客データを記憶し得る。そのような顧客データとしては、例えば、顧客プロファイル、連絡先情報、サービスレベル合意書(service level agreement、SLA)、及びインタラクション履歴(例えば、以前のインタラクションの性質、処分データ、待ち時間、処理時間、及び顧客の問題を解決するためにコンタクトセンターによって取られたアクションを含む、特定の顧客との以前のインタラクションの詳細)が挙げられ得る。別の例として、記憶デバイス114は、エージェントデータをエージェントデータベースに記憶し得る。コンタクトセンターシステム100によって維持されるエージェントデータは、例えば、エージェントの利用可能性及びエージェントプロファイル、スケジュール、スキル、処理時間、及び/又は他の関連するデータを含み得る。別の例として、記憶デバイス114は、インタラクションデータをインタラクションデータベースに記憶し得る。インタラクションデータは、例えば、顧客とコンタクトセンターとの間の多数の過去のインタラクションに関連するデータを含み得る。より一般的には、別途具体的に指定されない限り、記憶デバイス114は、データベースを含み、且つ/又は本明細書に説明される情報のタイプのいずれかに関連するデータを記憶するように構成され得、これらのデータベース及び/又はデータは、本明細書に説明される機能を容易にする方法で、コンタクトセンターシステム100の他のモジュール又はサーバにアクセス可能であることを理解されたい。例えば、コンタクトセンターシステム100のサーバ又はモジュールは、そのようなデータベースを問い合わせて、データベース内に記憶されたデータを検索するか、又は記憶のためにデータをデータベースに伝送し得る。記憶デバイス114は、例えば、任意の従来の記憶媒体の形態を採り得、ローカルに収容されるか、又はリモート位置から操作され得る。一例として、データベースは、Cassandraデータベース、NoSQLデータベース、又はSQLデータベースであり、Oracle、IBM DB2、Microsoft SQLサーバ、又はMicrosoft Access、PostgreSQLなどのデータベース管理システムによって管理され得る。
【0054】
統計サーバ116は、コンタクトセンターシステム100の性能及び動作態様に関連するデータを記録及び集計するように構成され得る。そのような情報は、統計サーバ116によってコンパイルされ、他のサーバ及びモジュール、例えば、レポーティングサーバ134に利用可能にされ得、次いで、レポーティングサーバは、データを使用して、コンタクトセンターの動作態様を管理し、本明細書に説明される機能に従って、自動化されたアクションを実行するために使用されるレポートを生成し得る。そのようなデータは、コンタクトセンターのリソースの状態、例えば、平均待ち時間、破棄率、エージェントの占有率、及び本明細書に説明される機能が必要とするであろうその他に関連し得る。
【0055】
コンタクトセンターシステム100のエージェントデバイス118は、本明細書に説明される機能を容易にする方法で、コンタクトセンターシステム100の様々な構成要素及びモジュールとインタラクションするように構成されている通信デバイスであり得る。例えば、エージェントデバイス118は、通常の電話コール又はVoIPコールに適合された電話を含み得る。エージェントデバイス118は、コンタクトセンターシステム100のサーバと通信し、動作に関連付けられたデータ処理を実施し、本明細書に説明される機能に従って、音声、チャット、電子メール、及び他のマルチメディア通信機構を介して顧客とインターフェース接続するように構成されているコンピューティングデバイスを更に含み得る。
図1は、3つのそのようなエージェントデバイス118、すなわち、エージェントデバイス118A、118B、及び118Cを示すが、特定の実施形態において、任意の数のエージェントデバイス118が存在し得ることを理解されたい。
【0056】
マルチメディア/ソーシャルメディアサーバ120は、顧客デバイス102及び/又はサーバ128との(音声以外の)メディアインタラクションを容易にするように構成され得る。そのようなメディアインタラクションは、例えば、電子メール、音声メール、チャット、ビデオ、テキストメッセージング、ウェブ、ソーシャルメディア、コブラウジングなどに関連し得る。マルチメディア/ソーシャルメディアサーバ120は、マルチメディアイベント及び通信を受信、処理、及び転送するための専用ハードウェア及びソフトウェアを有する、当該技術分野で慣用の任意のIPルータの形態を採り得る。
【0057】
知識管理サーバ122は、顧客と知識システム124との間のインタラクションを容易にするように構成され得る。概して、知識システム124は、質問又はクエリを受信し、それに応じて回答を提供することができるコンピュータシステムであり得る。知識システム124は、コンタクトセンターシステム100の一部として含まれるか、又はサードパーティによってリモートで操作され得る。知識システム124は、参考資料として知識システム124に提出された百科事典、辞書、ニュースワイヤ記事、文学作品、又は他の文書などの情報源から情報を取得することによって、自然言語で提示された質問に回答することができる人工知能コンピュータシステムを含み得る。一例として、知識システム124は、IBMワトソン又は同様のシステムとして具現化され得る。
【0058】
チャットサーバ126は、顧客との電子チャット通信を行い、オーケストレーションし、且つ管理するように構成され得る。一般に、チャットサーバ126は、チャット会話を実装及び維持し、チャットトランスクリプトを生成するように構成されている。そのようなチャット通信は、顧客が、自動化されたチャットボット、人間のエージェント、又はその両方と通信するような方法で、チャットサーバ126によって行われ得る。例解的な実施形態において、チャットサーバ126は、チャットボット及び利用可能な人間のエージェントの間にチャット会話をディスパッチするチャットオーケストレーションサーバとして機能し得る。そのような場合、チャットサーバ126の処理ロジックは、利用可能なチャットリソース間でインテリジェントなワークロード分配を活用するために、そのように駆動されるルールであり得る。チャットサーバ126は更に、顧客デバイス102又はエージェントデバイス118のいずれかで生成されるユーザインターフェース(user interfaces、UI)を含む、チャット機能に関連付けられたUIを実装、管理、及び円滑化し得る。チャットサーバ126は、特定の顧客との単一のチャットセッション内で、例えば、チャットセッションが、チャットボットから人間のエージェントに、又は人間のエージェントからチャットボットに転送するように、チャットを自動ソースと人間ソースとの間で転送するように構成され得る。チャットサーバ126はまた、例えば、関連する記事へのリンクが提供され得るように、チャット中に顧客によって提示された問い合わせに対する提案及び回答を受信するために、知識管理サーバ122及び知識システム124に結合され得る。
【0059】
ウェブサーバ128は、Facebook、Twitter、Instagramなど、顧客がサブスクライブする様々なソーシャルインタラクションサイトのサイトホストを提供するために含まれ得る。コンタクトセンターシステム100の一部として描写されているが、ウェブサーバ128は、サードパーティによって提供され得、及び/又はリモートに維持され得ることを理解されたい。ウェブサーバ128はまた、コンタクトセンターシステム100によってサポートされている企業又は組織のウェブページを提供し得る。例えば、顧客は、ウェブページを閲覧して、特定の企業の製品及びサービスに関する情報を受信し得る。そのような企業のウェブページ内で、例えば、ウェブチャット、音声、又は電子メールを介して、コンタクトセンターシステム100とのインタラクションを開始するための機構が提供され得る。そのような機構の一例が、ウェブサーバ128上にホストされるウェブページ又はウェブサイト上に展開され得るウィジェットである。本明細書で使用される場合、ウィジェットは、特定の機能を実施するユーザインターフェース構成要素を指す。いくつかの実装例において、ウィジェットは、インターネットを介して顧客に表示されたウェブページ上にオーバーレイされ得るグラフィカルユーザインターフェースコントロールを含み得る。ウィジェットは、ウィンドウ又はテキストボックスなどに情報を示すか、又はファイルを共有若しくは開くこと、又は通信を開始することなど、特定の機能にユーザがアクセスすることを可能にするボタン又は他のコントロールを含み得る。いくつかの実装例において、ウィジェットは、コンパイルなしで別個のウェブページ内にインストールされ、かつ実行され得るコードの可搬部分を有するユーザインターフェース構成要素を含む。いくつかのウィジェットは、対応する又は追加のユーザインターフェースを含み得、様々なローカルリソース(例えば、顧客デバイス上のカレンダー若しくはコンタクト情報)又はネットワークを介してリモートリソース(例えば、インスタントメッセージング、電子メール、又はソーシャルネットワーキングアップデート)にアクセスするように構成され得る。
【0060】
インタラクション(iXn)サーバ130は、コンタクトセンターの延期可能なアクティビティ、及び完了のための、そのアクティビティの人間のエージェントへのルーティングを管理するように構成され得る。本明細書で使用される場合、延期可能なアクティビティとしては、オフラインで実施され得るバックオフィスワーク、例えば、電子メールに対応すること、トレーニングに参加すること、及び顧客とのリアルタイム通信を必要としない他のアクティビティが挙げられる。一例として、インタラクション(iXn)サーバ130は、延期可能なアクティビティの各々を処理するのに適切なエージェントを選択するために、ルーティングサーバ112とインタラクションするように構成され得る。特定のエージェントに割り当てられると、延期可能なアクティビティは、そのエージェントにプッシュされ、その結果、延期可能なアクティビティは、選択されたエージェントのエージェントデバイス118上に表示される。延期可能なアクティビティは、選択されたエージェントが完了させるタスクとして、ワークビン内に表示され得る。ワークビンの機能は、例えば、リンクされたリスト、アレイなどの任意の従来のデータ構造、及び/又は他の好適なデータ構造を介して実装され得る。エージェントデバイス118の各々は、ワークビンを含み得る。一例として、ワークビンは、対応するエージェントデバイス118のバッファメモリ内に維持され得る。
【0061】
ユニバーサルコンタクトサーバ(universal contact server、UCS)132は、顧客データベースに記憶された情報を検索し、及び/又は顧客データベースに記憶するために情報を顧客データベースに伝送するように構成され得る。例えば、UCS132は、特定の顧客とのチャットがどのように処理されたかに関する履歴を維持することを容易にするために、チャット機能の一部として利用され得、次いで、この履歴は、将来のチャット通信をどのように処理するべきかに関する参照として使用され得る。より一般的には、UCS132は、好ましいメディアチャネル及びコンタクトする最良の時間などの顧客選好の履歴を維持することを容易にするように構成され得る。これを行うために、UCS132は、例えば、エージェントからのコメント、顧客通信履歴などに関するデータなど、各顧客のインタラクション履歴に関連するデータを識別するように構成され得る。次いで、これらのデータタイプの各々は、顧客データベース又は他のモジュールに記憶されて、本明細書に説明される機能が必要とするときに検索され得る。
【0062】
レポーティングサーバ134は、統計サーバ116又は他のソースによってコンパイル及び集計されたデータからレポートを生成するように構成され得る。そのようなレポートは、準リアルタイムレポート又は履歴レポートを含み、例えば、平均待ち時間、破棄率、及び/又はエージェントの占有率など、コンタクトセンターリソース及び性能特性の状態に関係し得る。レポートは、自動的に、又は要求元(例えば、エージェント、管理者、コンタクトセンターアプリケーションなど)からの具体的な要求に応じて生成され得る。次いで、レポートは、本明細書に説明される機能に従って、コンタクトセンターの動作を管理するために使用され得る。
【0063】
メディアサービスサーバ136は、コンタクトセンター機能をサポートするために、オーディオサービス及び/又はビデオサービスを提供するように構成され得る。本明細書に説明される機能によると、そのような機能としては、IVR若しくはIMRシステムのプロンプト(例えば、オーディオファイルの再生)、保留音、ボイスメール/単一パーティの記録、マルチパーティの記録(例えば、オーディオ及び/若しくはビデオコールの)、音声認識、デュアルトーンマルチ周波数(dual tone multi frequency、DTMF)認識、ファックス、オーディオ及びビデオトランスコーディング、セキュアなリアルタイム転送プロトコル(secure real-time transport protocol、SRTP)、電話会議、ビデオ会議、コーチング(例えば、コーチが顧客とエージェントとの間のインタラクションを立ち聞きするための、及び顧客がコメントを聞くことなく、コーチがエージェントにコメントを提供するためのサポート)、コール分析、キーワードスポッティング、並びに/又は他の関連する機能が、挙げられ得る。
【0064】
分析モジュール138は、本明細書に説明される機能が必要とし得る場合に、複数の異なるデータソースから受信されたデータに対して分析を実施するためのシステム及び方法を提供するように構成され得る。例解的な実施形態によれば、分析モジュール138はまた、例えば、顧客データ、エージェントデータ、及びインタラクションデータなどの収集されたデータに基づいて、予測因子又はモデルを生成、更新、トレーニング、及び修正し得る。モデルは、顧客又はエージェントの行動モデルを含み得る。行動モデルは、様々な状況で、例えば、顧客又はエージェントの行動を予測するために使用され得、それにより、本明細書に説明される技術の実施形態が、そのような予測に基づいてインタラクションを調整するか、又は将来のインタラクションの予測される特性に備えてリソースを割り当てることを可能にし、それにより、全体的なコンタクトセンター性能及び顧客体験を改善する。分析モジュールは、コンタクトセンターの一部であると説明されているが、そのような行動モデルはまた、顧客システム(又は本明細書でも使用されているように、インタラクションの「顧客側」)に実装されて、顧客の利益のために使用され得ることが理解されよう。
【0065】
例解的な実施形態によれば、分析モジュール138は、顧客データベース及びエージェントデータベースを含む記憶デバイス114に記憶されたデータへのアクセスを有し得る。分析モジュール138はまた、インタラクション及びインタラクションコンテンツ(例えば、その中に検出されたインタラクション及びイベントのトランスクリプト)、インタラクションメタデータ(例えば、顧客識別子、エージェント識別子、インタラクションの媒体、インタラクションの長さ、インタラクション開始及び終了時間、部門、タグ付きカテゴリ)、並びにアプリケーション設定(例えば、コンタクトセンターを通るインタラクション経路)に関係するデータを記憶するインタラクションデータベースへのアクセスを有し得る。更に、分析モジュール138は、例えば、機械学習技術を適用することによって、アルゴリズム及びモデルを開発及びトレーニングする際に使用するために、記憶デバイス114内に記憶されたデータを検索するように構成され得る。
【0066】
含まれるモデルのうちの1つ以上は、顧客若しくはエージェントの挙動、並びに/又はコンタクトセンターの動作及び性能に関連する態様を予測するように構成され得る。更に、モデルのうちの1つ以上は、自然言語処理に使用されて、例えば、意図認識などを含み得る。モデルは、システムを記述する既知の第1原理方程式、実験モデルをもたらすデータ、又は既知の第1原理方程式とデータとの組み合わせに基づいて、開発され得る。本実施形態で使用するためのモデルを開発する際に、第1原理方程式は、多くの場合利用可能でないか又は容易に導出されないため、収集及び記憶されたデータに基づいて経験的モデルを構築することが一般的に好ましくあり得る。複雑系の操作変数/外乱変数と制御変数との間の関係を適切に捕捉するために、いくつかの実施形態において、モデルが非線形であることが好ましくあり得る。これは、非線形モデルが、本明細書で考察されるものなどの複雑系に一般的である、操作変数/外乱変数と制御変数との間の直線関係ではなく、曲線関係を示す可能性があるためである。前述の要件を考慮すると、機械学習又はニューラルネットワークベースのアプローチが、モデルを実装するための好ましい実施形態であり得る。例えば、ニューラルネットワークは、高度な回帰アルゴリズムを使用して、経験的データに基づいて開発され得る。
【0067】
分析モジュール138は、オプティマイザを更に含み得る。理解されるように、オプティマイザを使用して、制約のセットが適用される「コスト関数」対象を最小化することができ、コスト関数は、所望の目的又はシステム動作の数学的表現である。モデルは非線形であり得るため、オプティマイザは、非線形プログラミングオプティマイザであり得る。しかしながら、本明細書に説明される技術は、線形プログラミング、二次プログラミング、混合整数非線形プログラミング、確率的プログラミング、グローバル非線形プログラミング、遺伝的アルゴリズム、粒子/スワーム技術などを含むが、これらに限定されない、様々な異なるタイプの最適化アプローチを個々に又は組み合わせて使用することによって実装され得ることが企図される。
【0068】
いくつかの実施形態によれば、モデル及びオプティマイザは、一緒に、最適化システム内で使用され得る。例えば、分析モジュール138は、最適化システムを、コンタクトセンターの性能及び動作の態様が最適化されるか、又は少なくとも強化される最適化プロセスの一部として利用し得る。これは、例えば、顧客体験、エージェント体験、インタラクションルーティング、自然言語処理、意図認識、又は自動プロセスに関連する他の機能に関連する特徴を含み得る。
【0069】
図1(並びに本明細書に含まれる他の図)の様々な構成要素、モジュール、及び/又はサーバは各々、コンピュータプログラム命令を実行し、且つ本明細書に説明される様々な機能を実施するために、他のシステム構成要素とインタラクションする1つ以上のプロセッサを含み得る。そのようなコンピュータプログラム命令は、例えば、ランダムアクセスメモリ(random-access memory、RAM)などの標準のメモリデバイスを使用して実装されるメモリ内に記憶されるか、又は例えば、CD-ROM、フラッシュドライブなどの他の非一時的コンピュータ可読媒体に記憶され得る。サーバの各々の機能は、特定のサーバによって提供されるものとして説明されているが、当業者は、様々なサーバの機能が、組み合わされるか若しくは単一のサーバに統合され得るか、又は特定のサーバの機能が、本明細書に説明される技術の範囲から逸脱することなく、1つ以上の他のサーバにわたって分散され得ることを理解するべきである。更に、「インタラクション」及び「通信」という用語は、互換的に使用され、概して、電話コール(PSTN若しくはVoIPコール)、電子メール、Vメール、ビデオ、チャット、画面共有、テキストメッセージ、ソーシャルメディアメッセージ、WebRTCコールなどを含むが、これらに限定されない、任意の通信チャネルを使用する任意のリアルタイム及び非リアルタイムのインタラクションを指す。コンタクトセンターシステム100の構成要素へのアクセス及びその制御は、顧客デバイス102及び/又はエージェントデバイス118上に生成され得るユーザインターフェース(UI)を通して影響を受け得る。すでに述べたように、コンタクトセンターシステム100は、クラウドベースの環境又はクラウドコンピューティング環境などで一部又は全ての構成要素がリモートでホストされるハイブリッドシステムとして運用され得る。コンタクトセンターシステム100のデバイスの各々は、
図2を参照して以下に説明されるコンピューティングデバイス200と同様の1つ以上のコンピューティングデバイスの一部として具現化されるか、それを含むか、又はそれを形成し得ることを理解されたい。
【0070】
ここで
図2を参照すると、コンピューティングデバイス200の少なくとも1つの実施形態の簡略化されたブロック図が示されている。例解的な実施形態では、コンピューティングデバイス200は、1人以上の顧客によって提供されるデータ内の異常を検出するためにINSモデルを実装するように構成されているシステムとして具現化されるか、又はそうでなければそれを含む。例解的なコンピューティングデバイス200は、本明細書に説明されるコンピューティングデバイス、システム、サービサ、コントローラ、スイッチ、ゲートウェイ、エンジン、モジュール、及び/又はコンピューティング構成要素(例えば、本明細書の簡潔さのために、集合的に、コンピューティングデバイス、サーバ、又はモジュールと互換的に称され得る)の各々の少なくとも1つの実施形態を描写する。例えば、様々なコンピューティングデバイスは、本明細書に説明される様々な機能を実施するために、コンピュータプログラム命令を実行しており、且つ他のシステムモジュールとインタラクションしている場合がある、1つ以上のコンピューティングデバイス200のうちの1つ以上のプロセッサ上で実行されているプロセス又はスレッドであり得る。別途具体的に限定されない限り、複数のコンピューティングデバイスに関連して説明される機能は、単一のコンピューティングデバイスに統合され得るか、又は単一のコンピューティングデバイスに関連して説明される様々な機能は、いくつかのコンピューティングデバイスにわたって分散され得る。更に、
図1のコンタクトセンターシステム100などの本明細書に説明されるコンピューティングシステムに関連して、そのシステムの様々なサーバ及びコンピュータデバイスは、ローカルコンピューティングデバイス200(例えば、コンタクトセンターのエージェントと同じ物理的位置のオンサイト)、リモートコンピューティングデバイス200(例えば、オフサイト、すなわちクラウドベースの環境内、又はクラウドコンピューティング環境内、例えば、ネットワークを介して接続されたリモートデータセンター内)、又はそれらの何らかの組み合わせ上に位置し得る。いくつかの実施形態において、オフサイトのコンピューティングデバイス上に位置するサーバによって提供される機能は、かかるサーバがオンサイトにあるかのように、仮想プライベートネットワーク(virtual private network、VPN)を介してアクセス及び提供され得るか、又は機能は、様々なプロトコルを使用してインターネットを介してアクセスされるサービスとしてのソフトウェア(software as a service、SaaS)を使用して、例えば、拡張可能なマークアップ言語(extensible markup language、XML)、JSONを介してデータを交換することによって提供され得、及び/又は機能は、別様にアクセス/活用され得る。
【0071】
いくつかの実施形態において、コンピューティングデバイス200は、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ノートブック、ネットブック、Ultrabook(商標)、携帯電話、モバイルコンピューティングデバイス、スマートフォン、ウェアラブルコンピューティングデバイス、パーソナルデジタルアシスタント、モノのインターネット(Internet of Things、IoT)デバイス、処理システム、ワイヤレスアクセスポイント、ルータ、ゲートウェイ、及び/又は本明細書に説明される機能を実施することができる任意の他のコンピューティングデバイス、処理デバイス、並びに/若しくは通信デバイスとして具現化され得る。
【0072】
コンピューティングデバイス200は、動作ロジック208に従ってアルゴリズムを実行し、且つ/又はデータを処理する処理デバイス202と、コンピューティングデバイス200と1つ以上の外部デバイス210との間の通信を可能にする入出力デバイス204と、例えば、入出力デバイス204を介して外部デバイス210から受信したデータを記憶するメモリ206と、を含む。
【0073】
入出力デバイス204は、コンピューティングデバイス200が外部デバイス210と通信することを可能にする。例えば、入出力デバイス204は、送受信機、ネットワークアダプタ、ネットワークカード、インターフェース、1つ以上の通信ポート(例えば、USBポート、シリアルポート、パラレルポート、アナログポート、デジタルポート、VGA、DVI、HDMI、FireWire、CAT5、又は任意の他のタイプの通信ポート若しくはインターフェース)、及び/又は他の通信回路を含み得る。コンピューティングデバイス200の通信回路は、任意の1つ以上の通信技術(例えば、ワイヤレス又は有線通信)及び関連プロトコル(例えば、Ethernet、Bluetooth(登録商標)、Wi-Fi(登録商標)、WiMAXなど)を使用して、特定のコンピューティングデバイス200に応じてそのような通信を行うように構成され得る。入出力デバイス204は、本明細書に説明される技術を実施するために好適なハードウェア、ソフトウェア、及び/又はファームウェアを含み得る。
【0074】
外部デバイス210は、データがコンピューティングデバイス200から入力又は出力されることを可能にする任意のタイプのデバイスであり得る。例えば、様々な実施形態において、外部デバイス210は、本明細書に説明されるデバイス/システム、及び/又はその一部分のうちの1つ以上として具現化され得る。更に、いくつかの実施形態において、外部デバイス210は、別のコンピューティングデバイス、スイッチ、診断ツール、コントローラ、プリンタ、ディスプレイ、アラーム、周辺デバイス(例えば、キーボード、マウス、タッチスクリーンディスプレイなど)、及び/又は本明細書に説明される機能を実施することが可能な任意の他のコンピューティング、処理、及び/又は通信デバイスとして具現化され得る。更に、いくつかの実施形態において、外部デバイス210は、コンピューティングデバイス200に統合され得ることを理解されたい。
【0075】
処理デバイス202は、本明細書に説明される機能を実施することが可能な任意のタイプのプロセッサとして具現化され得る。特に、処理デバイス202は、1つ以上のシングルコア若しくはマルチコアプロセッサ、マイクロコントローラ、又は他のプロセッサ若しくは処理/制御回路として具現化され得る。例えば、いくつかの実施形態において、処理デバイス202は、算術ロジックユニット(arithmetic logic unit、ALU)、中央処理ユニット(central processing unit、CPU)、デジタル信号プロセッサ(digital signal processor、DSP)、グラフィックス処理ユニット(graphics processing unit、GPU)、フィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、及び/又は別の好適なプロセッサを含むか、又はそれらとして具現化され得る。処理デバイス202は、プログラム可能なタイプ、専用のハードワイヤードステートマシン、又はそれらの組み合わせであり得る。複数の処理ユニットを有する処理デバイス202は、様々な実施形態において、分散処理、パイプライン処理、及び/又は並列処理を利用し得る。更に、処理デバイス202は、本明細書に説明される動作のみの実施専用であり得るか、又は1つ以上の追加の適用例において利用され得る。例解的な実施形態において、処理デバイス202はプログラム可能であり、メモリ206に記憶されたプログラミング命令(ソフトウェア又はファームウェアなど)によって定義された動作ロジック208に従ってアルゴリズムを実行し、且つ/又はデータを処理する。追加的又は代替的に、処理デバイス202の動作ロジック208は、ハードワイヤードロジック又は他のハードウェアによって少なくとも部分的に定義され得る。更に、処理デバイス202は、入出力デバイス204から、又は他の構成要素若しくはデバイスから受信した信号を処理し、所望の出力信号を提供するために好適な任意のタイプの1つ以上の構成要素を含み得る。そのような構成要素は、デジタル回路、アナログ回路、又はそれらの組み合わせを含み得る。
【0076】
メモリ206は、ソリッドステートメモリ、電磁メモリ、光メモリ、又はそれらの組み合わせなどの、1つ以上のタイプの非一時的コンピュータ可読媒体であり得る。更に、メモリ206は、揮発性及び/又は不揮発性であり得、いくつかの実施形態において、メモリ206の一部又は全部は、ディスク、テープ、メモリスティック、カートリッジ、及び/又は他の好適な可搬型メモリなどの可搬型タイプのものであり得る。動作中、メモリ206は、オペレーティングシステム、アプリケーション、プログラム、ライブラリ、及びドライバなどのコンピューティングデバイス200の動作中に使用される様々なデータ及びソフトウェアを記憶し得る。メモリ206は、動作ロジック208を定義するプログラミング命令を記憶することに加えて、又はその代わりに、例えば、入出力デバイス204から受信される信号、及び/又は入出力デバイスに送信される信号を表すデータなどの、処理デバイス202の動作ロジック208によって操作されるデータを記憶し得ることを理解されたい。
図2に示すように、メモリ206は、特定の実施形態に応じて、処理デバイス202に含まれる、及び/又は処理デバイス202に結合され得る。例えば、いくつかの実施形態において、処理デバイス202、メモリ206、及び/又はコンピューティングデバイス200の他の構成要素は、システムオンチップ(system-on-a-chip、SoC)の一部を形成し、単一の集積回路チップに組み込まれ得る。
【0077】
いくつかの実施形態において、コンピューティングデバイス200の様々な構成要素(例えば、処理デバイス202及びメモリ206)は、入力/出力サブシステムを介して通信可能に結合され得、入力/出力サブシステムは、処理デバイス202、メモリ206、並びにコンピューティングデバイス200の他の構成要素との入力/出力動作を容易にするための回路及び/又は構成要素として具現化され得る。例えば、入出力サブシステムは、メモリコントローラハブ、入出力制御ハブ、ファームウェアデバイス、通信リンク(すなわち、ポイントツーポイントリンク、バスリンク、ワイヤ、ケーブル、ライトガイド、プリント回路基板トレースなど)、並びに/若しくは入出力動作を容易にするための他の構成要素及びサブシステムとして具現化され得るか、又は別様にそれらを含み得る。
【0078】
コンピューティングデバイス200は、他の実施形態において、典型的なコンピューティングデバイス(例えば、様々な入出力デバイス及び/又は他の構成要素)に一般的に見られるものなど、他の又は追加の構成要素を含み得る。本明細書に説明されるコンピューティングデバイス200の構成要素のうちの1つ以上は、複数のコンピューティングデバイスにわたって分散され得ることを更に理解されたい。言い換えれば、本明細書に説明される技術は、1つ以上のコンピューティングデバイスを含むコンピューティングシステムによって採用され得る。加えて、単一の処理デバイス202、I/Oデバイス204、及びメモリ206のみが
図2に例解的に示されているが、特定のコンピューティングデバイス200は、他の実施形態において、複数の処理デバイス202、I/Oデバイス204、及び/又はメモリ206を含み得ることを理解されたい。更に、いくつかの実施形態において、2つ以上の外部デバイス210がコンピューティングデバイス200と通信し得る。
【0079】
コンピューティングデバイス200は、ネットワークによって接続された、又はネットワークを介して他のシステム/リソースに接続された複数のデバイスのうちの1つであり得る。ネットワークは、ネットワークを介して通信可能に接続された様々なデバイス間の通信を容易にすることができる通信ネットワークのうちの任意の1つ以上のタイプとして具現化され得る。したがって、ネットワークは、1つ以上のネットワーク、ルータ、スイッチ、アクセスポイント、ハブ、コンピュータ、クライアントデバイス、エンドポイント、及び/又は他の介在ネットワークデバイスを含み得る。例えば、ネットワークは、1つ以上のセルラネットワーク、電話ネットワーク、ローカル若しくはワイドエリアネットワーク、公衆利用可能なグローバルネットワーク(例えば、インターネット)、アドホックネットワーク、近距離通信リンク、若しくはそれらの組み合わせとして具現化されるか、又は別様にそれらを含み得る。いくつかの実施形態において、ネットワークは、回路交換音声若しくはデータネットワーク、パケット交換音声若しくはデータネットワーク、及び/又は音声並びに/若しくはデータを搬送することができる任意の他のネットワークを含み得る。特に、いくつかの実施形態において、ネットワークは、インターネットプロトコル(Internet Protocol、IP)ベースのネットワーク及び/又は非同期転送モード(asynchronous transfer mode、ATM)ベースのネットワークを含み得る。いくつかの実施形態において、ネットワークは、音声トラフィック(例えば、ボイスオーバーIP(Voice over IP、VOIP)ネットワークを介して)、ウェブトラフィック、及び/又は他のネットワークトラフィックを、特定の実施形態並びに/若しくは互いに通信するシステムのデバイスに応じて取り扱い得る。様々な実施形態において、ネットワークは、アナログ又はデジタルの有線及び無線ネットワーク(例えば、IEEE802.11ネットワーク、公衆交換電話網(PSTN)、統合サービスデジタル網(Integrated Services Digital Network、ISDN)、並びにデジタル加入者回線(Digital Subscriber Line、xDSL))、第3世代(Third Generation、3G)移動体通信網、第4世代(Fourth Generation、4G)移動体通信網、第5世代(Fifth Generation、5G)移動体通信網、有線Ethernetネットワーク、プライベートネットワーク(例えば、イントラネットなど)、ラジオ、テレビ、ケーブル、衛星、及び/又はデータを搬送するための任意の他の配信若しくはトンネリング機構、又はそのようなネットワークの任意の適切な組み合わせを含み得る。様々なデバイス/システムは、送信元及び/又は宛先デバイス/システムに応じて、異なるネットワークを介して互いに通信し得ることを理解されたい。
【0080】
コンピューティングデバイス200は、セキュアソケット層又はトランスポート層セキュリティなど、任意のタイプのゲートウェイ又はトンネリングプロトコルを介して、他のコンピューティングデバイス200と通信し得ることを理解されたい。ネットワークインターフェースとしては、コンピューティングデバイスを、本明細書に説明される動作を実施することができる任意のタイプのネットワークにインターフェース接続するために好適な、ネットワークインターフェースカードなどの内蔵型ネットワークアダプタが挙げられ得る。更に、ネットワーク環境は、様々なネットワーク構成要素が仮想化される仮想ネットワーク環境であり得る。例えば、様々なマシンは、物理マシン上で実行されるソフトウェアベースのコンピュータとして実装された仮想マシンであり得る。仮想マシンは、同じオペレーティングシステムを共有し得るか、又は他の実施形態において、異なるオペレーティングシステムが、各仮想マシンインスタンス上で実行され得る。例えば、複数の仮想マシンが、同じホスト物理マシン上で実行され、各々が、独自の専用ボックスを有するかのように機能する「ハイパーバイザ」タイプの仮想化が使用される。他のタイプの仮想化が、他の実施形態、例えば、ネットワーク(例えば、ソフトウェア定義ネットワーキングを介して)又は機能(例えば、ネットワーク機能仮想化を介して)で、採用され得る。
【0081】
それにより、本明細書に説明されるコンピューティングデバイス200のうちの1つ以上は、1つ以上のクラウドベースのシステムとして具現化されるか、又はその一部分を形成し得る。クラウドベースの実施形態において、クラウドベースのシステムは、例えば、複数の命令をオンデマンドで実行し、特定のアクティビティ/トリガによってプロンプトされたときにのみ命令を実行し、使用されないときにはコンピューティングリソースを消費しないサーバアンビギュアス(server-ambiguous)コンピューティングソリューションとして具現化され得る。すなわち、システムは、様々な仮想関数(例えば、ラムダ関数、Azure関数、Googleクラウド関数、及び/又は他の好適な仮想関数)が、本明細書に説明されるシステムの機能に対応して実行され得るコンピューティングシステム(例えば、デバイスの分散ネットワーク)「上に」存在する仮想コンピューティング環境として具現化され得る。例えば、イベントが発生する(例えば、データが処理のためにシステムに転送される)と、仮想コンピューティング環境が、(例えば、仮想コンピューティング環境のAPIへの要求を介して)通信され得、それにより、APIは、一連のルールに基づいて、正しい仮想機能(例えば、特定のサーバアンビギュアスコンピューティングリソース)に要求をルーティングし得る。したがって、データの伝送の要求が(例えば、システムへの適切なユーザインターフェースを介して)ユーザによってなされる場合、適切な仮想関数は、仮想関数のインスタンスを削除する前にアクションを実施するように実行され得る。
【0082】
次に
図3を参照すると、使用時に、システム又はデバイスは、1人以上の顧客によって提供されるデータ内の異常を検出する方法300を実行することができる。いくつかの実施形態では、システムは、コンタクトセンターシステム(例えば、
図1のコンタクトセンターシステム100)及び/又はコンピューティングデバイス(例えば、
図2のコンピューティングデバイス200)若しくはそのシステム/デバイスとして具現化されてもよいことを理解されたい。更に、いくつかの実施形態では、システムは、様々なプラットフォームの動作監視、管理、及びトラブルシューティングを支援するための一連のツールとして具現化されてもよく、又はそうでなければそれらを含んでもよい。一例では、システムは、Genesys Workbench(WB)9.2又はその任意の後続リリース(複数可)によって提供されるツール一式として具現化されてもよく、又はそうでなければそれらを含んでもよい。特に、システムは、例えば、ワークベンチ異常検出(AD)機能の様々な機能を組み込むことができる。最後に、方法300の特定のブロックは、例として例解されており、そのようなブロックは、反対のことが述べられていない限り、特定の実施形態に応じて、全体的又は部分的に組み合わされ、又は分割され、追加され、又は除去され、及び/又は並べ替えられ得ることを理解されたい。
【0083】
例解的な方法300は、システムがメトリックデータを受信するブロック312から始まる。いくつかの実施形態では、メトリックデータは、システムの外部及び/又はリモートのソースから提供されてもよく、システムは、ソースからメトリックデータを受信するために、ソースに通信可能に結合されてもよい。いずれにしても、例解的な実施形態では、メトリックデータは、特定の顧客メトリックについての時系列ベースの観測値を示し、メトリックの選択及び/又は指定は、特定の顧客の固有のニーズに基づくことができ、且つ/又はそれに合わせて調整することができる。システムによるブロック312におけるメトリックデータの受信は、ソース(例えば、CPU、RAM、ディスク、ネットワーク)からのメトリックデータの取り込みを含み得るか、又はそうでなければそれに関連付けられ得る。
【0084】
例解的な方法300のブロック314において、システムは、メトリックデータに基づいて、1つ以上の球を特徴付けるパラメータを定義する。これらのパラメータの定義に関する更なる詳細は、
図4(すなわち、ブロック414)を参照して以下で説明される。前述の説明から明らかなように、1つ以上の球の各々は、観測値が球内に位置するように、特定の顧客メトリックに関するメトリックデータからのいくつかの時系列ベースの観測値を捕捉するように構成される。
【0085】
例解的な方法300のブロック316において、システムは、ブロック314において定義されたパラメータに基づいて、1つ以上の球を生成する。球の生成に関する更なる詳細は、
図5を参照して以下に説明される。例解的な実施形態において、ブロック316を実施するために、本システムは、ブロック318及び320を実施する。ブロック318において、システムは、1つ以上の球内のメトリックデータのカバレッジを決定する。ブロック320において、システムは、特定の顧客メトリックに関するメトリックデータからの時系列ベースの観測値に基づいて変化する半径を有する複数の球を動的に生成する。いくつかの実施形態において、ブロック318及び320は、単一のブロックに組み合わされてもよい。一例では、ブロック318におけるカバレッジの決定は、ブロック320における球の動的生成と組み合わされ得る。
【0086】
例解的な方法300のブロック322において、システムは、モデルパラメータ(例えば、ブロック316における球生成に関連するパラメータ)を保存する。いくつかの実施形態において、ブロック322の実行は、INSモデルの完全な作成を表してもよく、又はそうでなければINSモデルの完全な作成に関連付けられてもよい。
【0087】
例示的な方法300のブロック324において、システムは、ブロック316において生成された球及び/又はブロック322において保存されたモデルパラメータに基づいて、メトリックデータにおける1つ以上の異常を検出する。いくつかの実施形態において、ブロック324の実行は、INSモデルの作成に続いて実行される異常検出活動を表してもよく、又はそうでなければそれに関連付けられてもよい。
【0088】
ブロック312~324は、比較的直列的に説明されているが、方法300の様々なブロックは、いくつかの実施形態において、並列に実施され得ることを理解されたい。
【0089】
次に
図4を参照すると、使用時に、システム又はデバイスは、1人以上の顧客によって提供されたデータ内の異常を検出する方法400を実行することができる。方法400は、方法300と同様であってもよく、方法400のいくつかのブロックは、上記で示唆したように、方法300の対応するブロックに関する更なる詳細を提供してもよい。いくつかの実施形態では、システムは、コンタクトセンターシステム(例えば、
図1のコンタクトセンターシステム100)及び/又はコンピューティングデバイス(例えば、
図2のコンピューティングデバイス200)若しくはそのシステム/デバイスとして具現化されてもよいことを理解されたい。方法400の特定のブロックは、例として例解されており、そのようなブロックは、反対のことが述べられていない限り、特定の実施形態に応じて、全体的又は部分的に組み合わされ、又は分割され、追加され、又は除去され、及び/又は並べ替えられ得ることを理解されたい。
【0090】
例解的な方法400は、システムがメトリックデータを受信するブロック402から始まる。少なくともいくつかの実施形態では、ブロック402が方法300のブロック302に対応することを理解されたい。例解的な実施形態において、ブロック402を実施するために、本システムは、ブロック404を実施する。ブロック404において、システムは、ソース(例えば、顧客プラットフォーム)からメトリックデータを検索又は取り込む。しかしながら、いくつかの実施形態では、ブロック404が省略され得ることが理解されるべきである。
【0091】
例解的な方法400のブロック406において、システムは、異常検出モデル(INSモデル)を初期化する。いくつかの実施形態では、ブロック406は、ブロック402で受信されたメトリックデータがINSモデルに供給される、INSモデルへの入力ブロックとして具現化されてもよく、又はそうでなければそれを含んでもよい。更に、いくつかの実施形態では、ブロック406はブロック402に組み込まれてもよい。
【0092】
例解的な方法400のブロック408において、システムは、INSモデルの1つ以上の特徴を標準化する。そうするために、例解的な実施形態において、本システムは、ブロック410及び412を実施する。ブロック410において、システムは、ブロック402において受信されたメトリックデータについて関心のある1つ以上の特徴を識別する。これらの特徴は、少なくともいくつかの実施形態において、メトリックデータを分析するための数学的パラメータ(例えば、統計値、導関数、加重平均など)、メトリックデータの特定の分布を決定するための数学的パラメータ、及び/又はメトリックデータに含まれる1つ以上のアウトライアを識別するための数学的パラメータを含み得る。ブロック412において、システムは、1つ以上の基準フレームに基づいてブロック410において識別された特徴を正規化する。いくつかの実施形態では、ブロック412において、システムは、ブロック410において識別された特徴を評価するための1つ以上の基準フレームを確立する。
【0093】
例解的な方法400のブロック414において、システムは、メトリックデータに基づいて、1つ以上の球を特徴付けるパラメータを定義する。少なくともいくつかの実施形態では、ブロック414は方法300のブロック304に対応することを理解されたい。更に、少なくともいくつかの実施形態では、システムによるブロック414の実行は、1つ以上の球の後続の生成に先立つアクティビティとして機能することを理解されたい。例解的な実施形態では、ブロック414を実行するために、システムは、ブロック416、418、424、426、428、430、432を実行する。これらのブロックの各々について以下に説明する。
【0094】
例解的な方法400のブロック416において、システムは、ブロック402において受信されたメトリックデータに対する距離行列を取得又は展開する。いくつかの実施形態では、ブロック416はブロック410に組み込まれてもよい。いずれの場合も、ブロック416で得られた距離行列により、システムは、メトリックデータに含まれる観測値/データ点間の距離を決定することができる。
【0095】
例解的な方法400のブロック418において、ブロック416で取得された距離行列に基づいて、システムは、メトリックデータ内の各観測値/データ点に対する最近傍距離値を決定する。例解的な実施形態において、ブロック418を実施するために、本システムは、ブロック420及び422を実施する。ブロック420において、システムは、メトリックデータ内の全ての観測値/データ点に対する最近傍距離の平均を決定する。ブロック422において、システムは、テューキー検定に従って最近傍距離値の最大限度を決定する。いくつかの実施形態において、システムは、ブロック420及び422を互いに並行して実行してもよい。
【0096】
例解的な方法400のブロック424において、システムは、1つ以上の球を生成するための半径増分を定義する。以下の説明から明らかなように、少なくともいくつかの実施形態では、以下で説明する最小球半径と組み合わせて、半径増分を使用して、第1の/初期球の生成後に1つ以上の新しい球を生成することができる。更に、方法400を実行する過程にわたる半径増分及び最小球半径の変動に少なくとも部分的に起因して、半径増分を用いて生成された1つ以上の新しい球は、変動する半径を有し得る。いくつかの実施形態では、ブロック424における半径増分の定義は、ブロック420においてシステムによって決定された平均に基づく。
【0097】
例解的な方法400のブロック426において、システムは、少なくとも1つの球の生成のための最小球半径を定義する。最小球半径は、少なくともいくつかの実施形態では、第1の/初期球を生成するために使用され得る。いくつかの実施形態では、ブロック426における最小球半径の定義は、ブロック422においてシステムによって決定される最大限度に基づく。更に、いくつかの実施形態では、システムは、ブロック424及び426を互いに並行して実行することができる。
【0098】
例解的な方法400のブロック428において、システムは、少なくとも1つの球の生成のための密度を決定する。いくつかの実施形態では、密度は、第1の/初期球面の内部に入り、第1の/初期球面によって捕捉されるメトリックデータの観測値/データ点の数に対応するか、そうでなければそのように具現化される。球の密度は、少なくともいくつかの実施形態では、特定の領域における観測値/データ点の集中によって決定されてもよく、又は特定の領域における観測値/データ点の集中として具現化されてもよい。加えて、いくつかの実施形態では、ブロック428における球密度の決定は、ブロック416においてシステムによって取得された距離行列と、ブロック426においてシステムによって定義された最小球半径とに基づく。
【0099】
例解的な方法400のブロック430において、システムは、ブロック428で行われた球密度決定に密度フィルタを適用する。いくつかの実施形態では、ブロック430においてシステムによって適用される密度フィルタは、アウトライア又は異常な/普通でない観測値が以下で説明されるカバレッジ限界の定義に影響を及ぼさないように、メトリックデータからアウトライア又は異常な/普通でない観測値をフィルタで除去する。
【0100】
例解的な方法400のブロック432において、システムは、球によってカバーされる観測値/データ点の最大数を示すカバレッジ限界を定義する。例解的な実施形態では、ブロック432においてシステムによって定義されたカバレッジ限界は、ブロック430からのフィルタリングされたメトリックデータに少なくとも部分的に基づく。
【0101】
例解的な方法400のブロック434において、システムは、ブロック414において定義されたパラメータに基づいて1つ以上の球を生成する。少なくともいくつかの実施形態では、ブロック434は方法300のブロック306に対応することを理解されたい。
【0102】
ブロック402~434は、比較的直列的に説明されているが、方法400の様々なブロックは、いくつかの実施形態において、並列に実施され得ることを理解されたい。
【0103】
次に
図5を参照すると、使用時に、方法400のブロック434を実行するために、システム又はデバイスは、方法500を実行することができる。方法500は、少なくともいくつかの実施形態では、方法300のブロック306と同様であり得る。いくつかの実施形態では、システムは、コンタクトセンターシステム(例えば、
図1のコンタクトセンターシステム100)及び/又はコンピューティングデバイス(例えば、
図2のコンピューティングデバイス200)若しくはそのシステム/デバイスとして具現化されてもよいことを理解されたい。方法500の特定のブロックは、例として例解されており、そのようなブロックは、反対のことが述べられていない限り、特定の実施形態に応じて、全体的又は部分的に組み合わされ、又は分割され、追加され、又は除去され、及び/又は並べ替えられ得ることを理解されたい。
【0104】
例解的な方法500は、システムがすでに生成された1つ以上の球を検出するブロック502から始まる。場合によっては(例えば、第1の/初期の球の生成中に)、ブロック502において球が検出されないことがあることを理解されたい。したがって、これらの場合、ブロック502は任意選択で方法から省略されてもよい。
【0105】
例解的な方法500のブロック504において、システムは、少なくとも1つの球の生成のための密度を決定する。いくつかの実施形態では、密度は、第1の/初期球面の内部に入り、第1の/初期球面によって捕捉されるメトリックデータの観測値/データ点の数に対応するか、そうでなければそのように具現化される。他の実施形態では、密度は、第1の/初期球及び第1の/初期球に最も近い1つ以上の球の内部に入り、それらによって捕捉される、メトリックデータの観測値/データ点の数に対応するか、又は多の方法で具現化される。例解的な実施形態において、ブロック504を実施するために、本システムは、ブロック506、508、510、512を実施する。
【0106】
例解的な方法500のブロック506において、システムは、方法400のブロック426において定義された最小球半径に基づいて密度を決定する。例解的な方法500のブロック508において、システムは、最も近い検出された球(例えば、ブロック502において検出された球)に基づいて密度を決定する。場合によっては(例えば、第1の/初期の球の生成中に)、最も近い球が検出されなくてもよく、システムはブロック508を実行しなくてもよいことを理解されたい。更に、他の場合(例えば、1つ以上の最も近い球が、第1の/初期球の生成に続いて生成されたとき)、ブロック504における密度の決定は、方法400のブロック426において定義された最小球半径と、(例えば、ブロック502からの)最も近い検出された球との両方に基づき得ることを理解されたい。したがって、これらの場合、ブロック506及び508は、単一のブロックに組み合わせられ得る。
【0107】
例解的な方法500のブロック510において、システムは、ブロック426において定義された最小球半径に少なくとも部分的に基づいて、メトリックデータの最大集中に対応する位置を決定する。いくつかの場合には、ブロック510においてシステムによって決定された位置はまた、最も近い検出された球に基づき得る。ブロック512において、システムは、球の中心がブロック510において決定された位置に配置されるように、少なくとも1つの球を生成する。ブロック512においてシステムによって生成された少なくとも1つの球は、少なくともいくつかの場合において、第1の/初期の球に対応し得る。他の場合には、システムによってブロック512において生成された少なくとも1つの球は、第1の/初期球の後に生成された球に対応し得る。それらの場合、システムは、(i)ブロック426において定義された最小球半径と、第1の/初期球と少なくとも1つの最近傍球との間の距離とに基づいて、メトリックデータの最大集中に対応する別の位置を決定し(すなわち、ブロック510において)、(ii)少なくとも1つの新しい球の中心が別の位置に配置されるように、少なくとも1つの新しい球を生成し得る(すなわち、ブロック512において)。
【0108】
例解的な方法500のブロック514において、システムは、新しい又は最新の生成された球によって提供されるメトリックデータのカバレッジを、1つ以上の基準球によって提供されるメトリックデータのカバレッジと比較する。一例では、基準球は第1の/初期球を含む。別の例では、基準球(複数可)は、第1の/初期球と、第1の球に続いて生成される少なくとも1つの最近傍球とを含む。当然ながら、ブロック512においてシステムによって生成された球が第1の/初期球に対応する場合、少なくともいくつかの実施形態では、ブロック514の実行は省略され得る。
【0109】
例解的な方法500のブロック516において、システムは、別の新しい球の生成のためにメトリックデータの最大カバレッジを提供する球(すなわち、ブロック514において比較される球のうちの)を選択する。少なくともいくつかの実施形態では、ブロック512においてシステムによって生成された球が第1の/初期球に対応する場合、ブロック516の実行は省略され得ることを理解されたい。
【0110】
例解的な方法500のブロック518において、システムは、方法400のブロック432において定義されたカバレッジ限界に達したかどうかを判定する。
【0111】
例解的な方法500のブロック520において、カバレッジ限界に達したというブロック518における判定に応じて、システムは、異常検出モデル(すなわち、INSモデル)を保存する。
【0112】
例解的な方法500のブロック522において、システムは、メトリックデータに基づくモデルのトレーニングを終了する。
【0113】
例解的な方法400のブロック524において、カバレッジ限界に達していないというブロック518における判定に応じて、システムは、方法500のブロック424において定義された半径増分に基づいて、少なくとも1つの新しい球の生成のために半径を増分する。
【0114】
例解的な方法500のブロック526において、システムは、少なくとも1つの新しい球(ブロック524において半径が増分される)が、以前に提供されていないメトリックデータのカバレッジを提供するかどうかを判定する。
【0115】
例解的な方法500のブロック528において、少なくとも1つの新しい球が以前に提供されていないメトリックデータのカバレッジを提供するというブロック526における判定に応じて、システムは、次の球を生成するための中心に対応する最小球半径(例えば、方法400のブロック426において定義された最小球半径)及び位置(例えば、ブロック512を参照して上述した位置)を更新する。
【0116】
例解的な方法500のブロック530において、少なくとも1つの新しい球が、以前に提供されていないメトリックデータのカバレッジを提供しないというブロック526における判定に応じて、システムは、少なくとも1つの新しい球に関連付けられたメトリックデータをフィルタで除去する。
【0117】
ブロック502~530は、比較的直列的に説明されているが、方法500の様々なブロックは、いくつかの実施形態において、並列に実施され得ることを理解されたい。
【0118】
いくつかの固有の特徴及び/又は利点が、システムによる例解的なINSモデルの実行及び実装に関連付けられ得る。一態様では、特定の顧客メトリックに関係なくモデルをトレーニングすることができるので、モデルは、広範囲の様々なメトリックにわたる自動パラメータ調整を提供する。別の態様では、モデルは、特定の顧客メトリックに対して生成されるべき所定の数の球に依存しないので、球は、モデルの各反復に従って生成されてもよく、これは、少なくともいくつかの場合において、より高い正確性及び/又は精度を提供し得る。更に別の態様では、モデルによって生成された球の位置が高密度/高集中領域に基づいて決定されるので、モデルは、ランダム確率分布に従って球を位置決めすることに関連する制限を回避する。更に別の態様では、以前の反復によってすでにカバーされたメトリックデータ点をフィルタリング/除去することによって、モデルの計算複雑度が、他の構成と比較して低減される。更なる態様では、各モデル反復中に実行される動的半径計算、及びそれらの計算に基づいて生成される可変半径を有する球は、他の構成によって必要とされ得るよりも少ない球を用いて、拡張されたデータカバレッジを可能にする。更に別の態様では、モデルは、既存の球の外側のデータ点を使用して、新しい球を生成し、球を互いに統合し、及び/又は特定の顧客メトリックに関する履歴データを必要とせずにモデル突然変異を捕捉することができる。追加の態様では、モデルが前の反復によってカバーされたデータ点を無視するので、モデルは、他の構成によって達成されない正確性及び/又は精度の程度を達成し得る。更に、モデルの低減された計算複雑度は、モデルデータを保存するために必要とされる記憶空間(例えば、メモリ内)を最小限にし得ることを理解されたい。最後に、モデルは、最近傍球までの距離に基づく異常スコアの計算のための改善された単純さを提供することができる。
【0119】
ここで
図6を参照すると、特徴選択後であって、データ分析及びINSモデルに基づく球の生成前のメトリックデータ点/観測値の集合600が示されている。例解的な実施形態では、
図6に示されるメトリックデータ点の表現は、モデル特徴の標準化後の表現(例えば、システムによるブロック408の実行後の表現)に関連付けられるか、又は他の方法で対応する。加えて、例解的な例では、データ点の集合600は、1日にわたって収集された約288点を含む。もちろん、他の例では、集合600は、別の適切な期間にわたって収集された別の適切な数のデータ点を含むことができることを理解されたい。
【0120】
ここで
図7を参照すると、データ点/観測値の集合600に基づいて、システムによる(例えば、方法300、400、500による)INSモデルの少なくとも1回の反復は、中心702及び半径704を有する球700を生成する。例解的な実施例では、中心702は、最小球半径を有する球700内のデータ点の最大集中/密度に位置する。更に、例解的な例では、球700は、集合600内のデータ点の約25%のカバレッジを提供する。いくつかの実施形態では、より大きい球は、複数の単一挙動を伴う優勢な挙動を示し得る。
【0121】
ここで
図8を参照すると、データ点/観測値の集合600に基づいて、システムによる(例えば、方法300、400、500による)INSモデルの複数の反復は、中心802及び半径804を有する別の球800を生成する。例解的な実施例では、半径804は半径704とは異なり、それよりも小さく、球700、800は互いに離間している。加えて、例解的な実施例では、中心802は、球800内のデータ点の最大集中/密度に位置する。最後に、例解的な例では、球700、800は、集合600内のデータ点の約47%のカバレッジを協働して提供する。
【0122】
ここで
図9を参照すると、データ点/観測値の集合600に基づいて、システムによる(例えば、方法300、400、500による)INSモデルの複数の反復は、中心902及び半径904を有する別の球900を生成する。例解的な実施例では、半径904は半径804とは異なり、それよりも大きく、球700、800、900は互いに離間している。加えて、例解的な実施例では、中心902は、球900内のデータ点の最大集中/密度に位置する。最後に、例解的な例では、球700、800、900は、集合600内のデータ点の約72%のカバレッジを協働して提供する。
【0123】
ここで
図10を参照すると、データ点/観測値の集合600に基づいて、
(例えば、例解的な方法300、400、500とは異なる方法による)INSモデルとは異なる比較モデルの実行は、各々が同じ半径を有する球のセット1000を生成する。比較例では、セット1000は21個の球を含む。
【0124】
ここで
図11を参照すると、データ点/観測値の集合600に基づいて、システムによる(例えば、方法300、400、500による)INSモデルの複数の反復は、可変半径を有する球のセット1100を生成する。例解的な例では、セット1100は7つの球(すなわち、球700、800、900、1102、1104、1106、1108)を含む。少なくともいくつかの場合において、より少ない球を使用して、セット1100は、セット1000と等しいか、又はセット1000よりも良好な集合600のカバレッジを提供する。
【0125】
ここで
図12を参照すると、性能評価1200は、様々なデータセットに基づく他のアルゴリズムと比較したINSモデルの性能を示す。表されたモデル/アルゴリズムは、(i)1クラスSVM1202、(ii)分離フォレスト(iForest)1204、(iii)局所アウトライア因子1206、(iv)分離最近傍アンサンブル(iNNE)1208、(v)一定球半径を有する分離最近球(INSS)1210、及び(vi)可変球半径を有する分離最近球1212(INSモデルに対応する)を含む。データセットは、導入された異常を有するデータセット1216、1218、1220、1222、1224、1226、1228、1230を含む。評価1200は、2次元データセット上の異なる異常検出モデル/アルゴリズムの特性を示す。データセットは、少なくともいくつかの実施形態において、マルチモーダルデータに対処するモデル/アルゴリズムの能力を示すために、1つ又は2つのモード(高密度の領域)を含んでもよい。
【0126】
各データセット1216、1218、1220、1222、1224、1226、1228、1230について、サンプルの1パーセントがランダムノイズとして生成され、アウトライアとして考慮され得る。これらのデータセット内のデータ点は、(a)円形(すなわち、正常として検出された正常サンプルに対応する)、(b)開始(すなわち、アウトライアとして検出されたアウトライアに対応する)、(c)上向き三角(すなわち、正常サンプルとして検出されたアウトライアに対応する)、及び(d)下向き三角(すなわち、アウトライアとして検出された正常サンプルに対応する)によって指定され得る。
【0127】
ここで
図13を参照すると、データ点/観測値の集合1300に基づいて、
(例えば、例解的な方法300、400、500とは異なる方法による)INSモデル(iNNE)とは異なる比較モデルの実行は、球のセット1302を生成する。比較例では、セット1302は320個の球を含み得る。加えて、比較例では、球のセット1302は、59.3%のF1スコアと関連付けられ得る。
【0128】
ここで
図14を参照すると、データ点/観測値の集合1300に基づいて、システムによる(例えば、方法300、400、500による)INSモデルの複数の反復は、球のセット1400を生成する。例解的な例では、セット1400は99個の球を含むことができる。加えて、例解的な例では、球のセット1400は、92.0%のF1スコアに関連付けられ得る。
【0129】
ここで
図15を参照すると、データ点/観測値の集合1500に基づいて、
(例えば、例解的な方法300、400、500とは異なる方法による)INSモデル(iNNE)とは異なる比較モデルの実行は、球のセット1502を生成する。比較例では、セット1502は320個の球を含み得る。加えて、比較例では、球のセット1502は、78.9%のF1スコアと関連付けられ得る。
【0130】
ここで
図16を参照すると、データ点/観測値の集合1500に基づいて、システムによる(例えば、方法300、400、500による)INSモデルの複数の反復は、球のセット1600を生成する。例解的な例では、セット1600は83個の球を含むことができる。加えて、例解的な例では、球のセット1600は、95.5%のF1スコアに関連付けられ得る。
【0131】
ここで
図17及び
図18を参照すると、比較グラフ1700のセットは、INSモデルとは異なる比較モデルの実行に関連付けられ、グラフ1800のセットは、INSモデルの実行に関連付けられる。
【0132】
いくつかの実施形態では、連続的に監視される構成要素における異常を自動的に検出するための方法は、
- 構成要素が動作している間、性能カウンタからのデータ点を継続的に監視することは、コンピューティングデバイスのプロセッサによって、構成要素によって生成された時系列に含まれるデータ点を受信することであって、データ点は、性能カウンタのデータ点であり、データ点は、処理される前に正常又は異常としてラベル付けされない、ことと、
- 異常データを定義するラベル付きデータが存在せず、且つ正常データを定義するラベル付きデータが存在しない場合に、時系列内の異常を検出することと、
- 複数の処理経路内の単一のデータ点に対して発生した異常イベントを、検出された処理経路の全ての識別子を搬送する単一のイベントに組み合わせることによって、異常イベントを集計するための、発生した異常イベントの後処理であって、各処理経路識別子がそれぞれのタイプの異常に対応する、後処理と、
- 構成要素が適切に動作しているか、又は誤動作しているかに関する情報を提供し、構成要素の異常な挙動が発生したときに、構成要素の所有者又はオペレータに異常な挙動を通知することを可能にすることと、を含んでもよく、
- 時系列内の異常を検出することは、Isolation Nearest Spheresアルゴリズムに従って、1つのサンプルの異常のスコアを、その近隣のスコアとともに検出することを含む。
【手続補正書】
【提出日】2022-10-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1人以上の顧客によって提供されるメトリックデータにおける異常を検出するためのシステムであって、前記システムは、
少なくとも1つのプロセッサと、
記憶された複数の命令を含む少なくとも1つのメモリであって、前記命令は、前記少なくとも1つのプロセッサによる実行に応じて、前記システムに、
特定の顧客メトリックについての複数の時系列ベースの観測値を示すメトリックデータを受信させ、
前記メトリックデータに基づいて、複数の球の各々が前記特定の顧客メトリックについてのいくつかの時系列ベースの観測値を捕捉するように構成されている、前記複数の球を特徴付けるための複数のパラメータを定義させ、
前記複数のパラメータに基づいて、前記複数の球を生成して、前記複数の球内の前記メトリックデータのカバレッジを決定させ、前記複数の球に基づいて、前記メトリックデータにおける1つ以上の異常を検出させる、メモリと、を備え、
前記複数のパラメータに基づいて前記複数の球を生成することは、前記特定の顧客メトリックについての前記複数の時系列ベースの観測値に基づいて変化する半径を前記複数の球の各々が有する、複数の球を動的に生成することを含む、システム。
【請求項2】
前記メトリックデータに基づいて前記複数のパラメータを定義することは、
少なくとも1つの球を生成するための最小半径を定義することと、
各々が変化する半径を有する1つ以上の新しい球を生成するための半径増分を定義することと、
前記生成された球によってカバーされるメトリックデータ点の最大数を示すカバレッジ限界を定義することと、を含む、請求項1に記載のシステム。
【請求項3】
前記複数のパラメータに基づいて前記複数の球を生成することは、前記最小半径に基づいてメトリックデータの最大集中に対応する位置を決定することを含む、請求項2に記載のシステム。
【請求項4】
前記複数のパラメータに基づいて前記複数の球を生成することは、
前記カバレッジ限界に到達したかどうかを判定することと、
前記カバレッジ限界に到達していないという判定に応じて、前記半径増分に基づいて少なくとも1つの新しい球の生成のための半径を増分することと、を含む、請求項3に記載のシステム。
【請求項5】
前記複数のパラメータに基づいて前記複数の球を生成することは、
前記少なくとも1つの新しい球が、以前に提供されていない前記メトリックデータのカバレッジを提供するかどうかを判定することと、
前記少なくとも1つの新しい球が、以前に提供されていない前記メトリックデータのカバレッジを提供しないという判定に応じて、以前の球によってすでにカバーされたメトリックデータをフィルタで除去することと、を含む、請求項4に記載のシステム。
【請求項6】
前記複数のパラメータに基づいて前記複数の球を生成することは、
前記少なくとも1つの新しい球が、以前に提供されていない前記メトリックデータのカバレッジを提供するという判定に応じて、前記最小半径を更新することと、
前記少なくとも1つの新しい球が、以前に提供されていない前記メトリックデータのカバレッジを提供するという前記判定に応じて、前記位置を更新することと、を含む、請求項4に記載のシステム。
【請求項7】
前記複数のパラメータに基づいて前記複数の球を生成することは、
前記少なくとも1つの球の前記最小半径と、前記少なくとも1つの球と少なくとも1つの最近傍球との間の距離とに基づいて、メトリックデータの前記最大集中に対応する別の位置を決定することと、
少なくとも1つの新しい球を、前記少なくとも1つの新しい球の中心が前記別の位置に位置決めされるように生成することと、を含む、請求項3に記載のシステム。
【請求項8】
前記複数のパラメータに基づいて前記複数の球を生成することは、
前記少なくとも1つの球によって提供される前記メトリックデータのカバレッジを、前記少なくとも1つの最近傍球又は前記少なくとも1つの新しい球によって提供される前記メトリックデータのカバレッジと比較することと、
別の新しい球の生成のための前記比較に基づいて、前記メトリックデータの最大カバレッジを提供する球を選択することと、を含む、請求項7に記載のシステム。
【請求項9】
前記メトリックデータに基づいて前記複数のパラメータを定義することは、
前記メトリックデータからアウトライアをフィルタで除去することと、
前記フィルタリングされたメトリックデータに少なくとも部分的に基づいて前記カバレッジ限界を定義することと、を含む、請求項2に記載のシステム。
【請求項10】
記憶された複数の命令を含む1つ以上の非一時的機械可読記憶媒体であって、
前記命令は、少なくとも1つのプロセッサによる実行に応じて、システムに、
特定の顧客メトリックについての複数の時系列ベースの観測値を示すメトリックデータを受信させ、
前記メトリックデータに基づいて、複数の球の各々が前記特定の顧客メトリックについてのいくつかの時系列ベースの観測値を捕捉するように構成されている、前記複数の球を特徴付けるための複数のパラメータを定義させ、
前記複数のパラメータに基づいて、前記複数の球を生成して、前記複数の球内の前記メトリックデータのカバレッジを決定させ、前記複数の球に基づいて、前記メトリックデータにおける1つ以上の異常を検出させ、
前記複数のパラメータに基づいて前記複数の球を生成することは、前記特定の顧客メトリックについての前記複数の時系列ベースの観測値に基づいて変化する半径を前記複数の球の各々が有する、複数の球を動的に生成することを含む、1つ以上の非一時的機械可読記憶媒体。
【請求項11】
前記メトリックデータに基づいて前記複数のパラメータを定義することは、
少なくとも1つの球を生成するための最小半径を定義することと、
各々が変化する半径を有する1つ以上の新しい球を生成するための半径増分を定義することと、
前記生成された球によってカバーされるメトリックデータ点の最大数を示すカバレッジ限界を定義することと、を含む、請求項10に記載の1つ以上の非一時的機械可読記憶媒体。
【請求項12】
前記複数のパラメータに基づいて前記複数の球を生成することは、前記最小半径に基づいてメトリックデータの最大集中に対応する位置を決定することを含む、請求項11に記載の1つ以上の非一時的機械可読記憶媒体。
【請求項13】
前記複数のパラメータに基づいて前記複数の球を生成することは、前記カバレッジ限界に達したかどうかを判定することと、前記カバレッジ限界に達していないという判定に応じて、前記半径増分に基づいて少なくとも1つの新しい球を生成するための半径を増分することと、を含む、請求項12に記載の1つ以上の非一時的機械可読記憶媒体。
【請求項14】
前記複数のパラメータに基づいて前記複数の球を生成することは、前記少なくとも1つの新しい球が以前に提供されていない前記メトリックデータのカバレッジを提供するかどうかを判定することと、
前記少なくとも1つの新しい球が以前に提供されていない前記メトリックデータのカバレッジを提供しないという判定に応じて、以前の球によってすでにカバーされたメトリックデータをフィルタで除去することと、を含む、請求項13に記載の1つ以上の非一時的機械可読記憶媒体。
【請求項15】
前記複数のパラメータに基づいて前記複数の球を生成することは、前記少なくとも1つの新しい球が以前に提供されていない前記メトリックデータのカバレッジを提供するという判定に応じて、前記最小半径を更新することと、
前記少なくとも1つの新しい球が、以前に提供されていない前記メトリックデータのカバレッジを提供するという前記判定に応じて、前記位置を更新することと、を含む、請求項13に記載の1つ以上の非一時的機械可読記憶媒体。
【請求項16】
前記メトリックデータに基づいて前記複数のパラメータを定義することは、
前記メトリックデータからアウトライアをフィルタで除去することと、
前記フィルタリングされたメトリックデータに少なくとも部分的に基づいて前記カバレッジ限界を定義することと、を含む、請求項11に記載の1つ以上の非一時的機械可読記憶媒体。
【請求項17】
1人以上の顧客によって提供されるメトリックデータにおける異常を検出するための方法であって、前記方法は、
特定の顧客メトリックについての複数の時系列ベースの観測値を示すメトリックデータを、コンタクトセンターシステム又はコンピュータデバイスによって、受信することと、
前記メトリックデータに基づいて前記コンタクトセンターシステム又は前記コンピュータデバイスによって、複数の球の各々が前記特定の顧客メトリックについてのいくつかの時系列ベースの観測値を捕捉するように構成されている前記複数の球を特徴付けるための複数のパラメータを定義することと、
前記複数のパラメータに基づいて前記コンタクトセンターシステム又は前記コンピュータデバイスによって、前記複数の球を生成して、前記複数の球内の前記メトリックデータのカバレッジを決定させ、前記複数の球に基づいて、前記メトリックデータにおける1つ以上の異常を検出させ、
前記複数のパラメータに基づいて前記複数の球を生成することは、前記コンタクトセンターシステム又は前記コンピュータデバイスによって、前記特定の顧客メトリックについての前記複数の時系列ベースの観測値に基づいて変化する半径を複数の球の各々が有する前記複数の球を動的に生成することを含む、方法。
【請求項18】
前記メトリックデータに基づいて前記複数のパラメータを定義することは、
前記コンタクトセンターシステム又は前記コンピュータデバイスによって、少なくとも1つの球の生成のための最小半径を定義することと、
前記コンタクトセンターシステム又は前記コンピュータデバイスによって、変化する半径を有する1つ以上の新しい球を生成するための半径増分を定義することと、
前記コンタクトセンターシステム又は前記コンピュータデバイスによって、前記生成された球によってカバーされるメトリックデータ点の最大数を示すカバレッジ限界を定義することと、を含む、請求項17に記載の方法。
【請求項19】
前記複数のパラメータに基づいて前記複数の球を生成することは、前記コンタクトセンターシステム又は前記コンピュータデバイスによって、前記最小半径に基づいてメトリックデータの最大集中に対応する位置を決定することを含む、請求項18に記載の方法。
【請求項20】
前記複数のパラメータに基づいて前記複数の球を生成することは、
前記コンタクトセンターシステム又は前記コンピュータデバイスによって、前記カバレッジ限界に達したかどうかを判定することと、
前記カバレッジ限界に達していないという判定に応じて、前記コンタクトセンターシステム又は前記コンピュータデバイスによって、前記半径増分に基づいて少なくとも1つの新しい球の生成のための半径を増分することと、を含む、請求項19に記載の方法。
【国際調査報告】