JP2024502944A - Systems and methods related to applied anomaly detection and contact center computing environments - Google Patents

Systems and methods related to applied anomaly detection and contact center computing environments Download PDF

Info

Publication number
JP2024502944A
JP2024502944A JP2023537323A JP2023537323A JP2024502944A JP 2024502944 A JP2024502944 A JP 2024502944A JP 2023537323 A JP2023537323 A JP 2023537323A JP 2023537323 A JP2023537323 A JP 2023537323A JP 2024502944 A JP2024502944 A JP 2024502944A
Authority
JP
Japan
Prior art keywords
metric data
spheres
sphere
generating
metric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023537323A
Other languages
Japanese (ja)
Inventor
ロペス, ジョセ オニャテ
ルイス, イグナシオ ランプレア,
Original Assignee
ジェネシス クラウド サービシーズ インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ジェネシス クラウド サービシーズ インコーポレイテッド filed Critical ジェネシス クラウド サービシーズ インコーポレイテッド
Publication of JP2024502944A publication Critical patent/JP2024502944A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2433Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • H04L41/064Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/067Generation of reports using time frame reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing

Abstract

一実施形態による、1人以上の顧客によって提供されるメトリックデータにおける異常を検出するためのシステムであって、少なくとも1つのプロセッサと、記憶された複数の命令を含む少なくとも1つのメモリであって、命令は、少なくとも1つのプロセッサによる実行に応じて、システムに、特定の顧客メトリックについての複数の時系列ベースの観測値を示すメトリックデータを受信させ、メトリックデータに基づいて、各々が特定の顧客メトリックについてのいくつかの時系列ベースの観測値を捕捉するように構成されている、1つ以上の球を特徴付けるための複数のパラメータを定義させ、複数のパラメータに基づいて、1つ以上の球を生成して、1つ以上の球内のメトリックデータのカバレッジを決定させ、メトリックデータにおける1つ以上の異常を検出させる、メモリと、を備える、システム。【選択図】図1According to one embodiment, a system for detecting anomalies in metric data provided by one or more customers, the system comprising: at least one processor; at least one memory including a plurality of stored instructions; The instructions, in response to execution by the at least one processor, cause the system to receive metric data indicative of a plurality of time-series-based observations for a particular customer metric, each of which represents a particular customer metric based on the metric data. define a plurality of parameters to characterize one or more spheres configured to capture several time-series-based observations about the one or more spheres; a system that generates and determines coverage of metric data within one or more spheres and detects one or more anomalies in the metric data. [Selection diagram] Figure 1

Description

(関連出願の相互参照)
本出願は、2020年12月21日に出願された米国仮特許出願第63/128,277号の優先権を主張するものであり、当該仮特許出願の内容は、参照によりその全体が本明細書に組み込まれる。
(Cross reference to related applications)
This application claims priority to U.S. Provisional Patent Application No. 63/128,277, filed on December 21, 2020, the contents of which are incorporated herein by reference in their entirety. incorporated into the book.

データ分析は、様々なデータセットにおける異常を検出することを含み得る。場合によっては、異常検出は、新しい観測値が以前の観測値と同じ分布に属するか、又はアウトライアとして分類されるべきかを評価することを伴い得る。異常検出のための様々なシステム及び方法には、いくつかの欠点がある。したがって、異常検出のための代替的なシステム及び方法の開発は、依然として関心領域である。 Data analysis may include detecting anomalies in various data sets. In some cases, anomaly detection may involve evaluating whether a new observation belongs to the same distribution as a previous observation or should be classified as an outlier. Various systems and methods for anomaly detection have several drawbacks. Therefore, the development of alternative systems and methods for anomaly detection remains an area of interest.

一実施形態は、1人以上の顧客によって提供されるメトリックデータにおける異常を検出するための独自のシステム、構成要素、及び方法を対象とする。他の実施形態は、1人以上の顧客によって提供されるデータにおける異常を検出するための装置、システム、デバイス、ハードウェア、方法、及びそれらの組合せを対象とする。 One embodiment is directed to a unique system, component, and method for detecting anomalies in metric data provided by one or more customers. Other embodiments are directed to apparatus, systems, devices, hardware, methods, and combinations thereof for detecting anomalies in data provided by one or more customers.

一実施形態による、1人以上の顧客によって提供されるメトリックデータにおける異常を検出するためのシステムは、少なくとも1つのプロセッサと、記憶された複数の命令を含む少なくとも1つのメモリであって、命令は、少なくとも1つのプロセッサによる実行に応じて、システムに、特定の顧客メトリックについての複数の時系列ベースの観測値を示すメトリックデータを受信させ、メトリックデータに基づいて、各々が特定の顧客メトリックについてのいくつかの時系列ベースの観測値を捕捉するように構成されている、1つ以上の球を特徴付けるための複数のパラメータを定義させ、複数のパラメータに基づいて、1つ以上の球を生成して、1つ以上の球内のメトリックデータのカバレッジを決定させ、メトリックデータにおける1つ以上の異常を検出させる、メモリと、を含み得る。複数のパラメータに基づいて1つ以上の球を生成することは、特定の顧客メトリックについての複数の時系列ベースの観測値に基づいて変化する半径を各々が有する、複数の球を動的に生成することを含み得る。 According to one embodiment, a system for detecting anomalies in metric data provided by one or more customers includes at least one processor and at least one memory including a plurality of stored instructions, the instructions being , causes the system to receive metric data indicative of a plurality of time-series-based observations for a particular customer metric, each of which represents a particular customer metric based on the metric data. Define multiple parameters to characterize one or more spheres configured to capture several time-series-based observations, and generate one or more spheres based on the multiple parameters. and a memory for determining coverage of metric data within one or more spheres and detecting one or more anomalies in the metric data. Generating one or more spheres based on multiple parameters dynamically generates multiple spheres, each with a radius that changes based on multiple time series-based observations for a particular customer metric. may include doing.

いくつかの実施形態では、メトリックデータに基づいて複数のパラメータを定義することは、少なくとも1つの球を生成するための最小半径を定義することと、各々が変化する半径を有する1つ以上の新しい球を生成するための半径増分を定義することと、生成された球によってカバーされるメトリックデータ点の最大数を示すカバレッジ限界を定義することと、を含み得る。 In some embodiments, defining a plurality of parameters based on metric data includes defining a minimum radius for generating at least one sphere and generating one or more new spheres, each with a varying radius. The method may include defining a radius increment for generating the sphere and defining a coverage limit indicating a maximum number of metric data points covered by the generated sphere.

いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、最小半径に基づいてメトリックデータの最大集中に対応する位置を決定することを含み得る。 In some embodiments, generating one or more spheres based on the plurality of parameters may include determining a location corresponding to a maximum concentration of metric data based on a minimum radius.

いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、カバレッジ限界に達したかどうかを判定することと、カバレッジ限界に達していないという判定に応じて、半径増分に基づいて少なくとも1つの新しい球を生成するための半径を増分することと、を含み得る。 In some embodiments, generating the one or more spheres based on the plurality of parameters includes determining whether a coverage limit has been reached and, in response to determining that the coverage limit has not been reached, determining the radius of the sphere. incrementing the radius to generate at least one new sphere based on the increment.

いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、少なくとも1つの新しい球が、以前に提供されていないメトリックデータのカバレッジを提供するかどうかを判定することと、少なくとも1つの新しい球が以前に提供されていないメトリックデータのカバレッジを提供しないという判定に応じて、以前の球によってすでにカバーされたメトリックデータをフィルタで除去することと、を含み得る。 In some embodiments, generating one or more spheres based on the plurality of parameters includes determining whether at least one new sphere provides coverage of metric data not previously provided. and filtering out metric data already covered by the previous sphere in response to the determination that the at least one new sphere does not provide coverage of metric data not previously provided.

いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、少なくとも1つの新しい球が以前に提供されていないメトリックデータのカバレッジを提供するという判定に応じて、最小半径を更新することと、少なくとも1つの新しい球が、以前に提供されていないメトリックデータのカバレッジを提供するという判定に応じて、位置を更新することと、を含み得る。 In some embodiments, generating one or more spheres based on the plurality of parameters includes determining that at least one new sphere provides coverage of metric data not previously provided. The method may include updating the radius and updating the position in response to a determination that the at least one new sphere provides coverage of metric data not previously provided.

いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、少なくとも1つの球の最小半径と、少なくとも1つの球と少なくとも1つの最近傍球との間の距離とに基づいて、メトリックデータの最大集中に対応する別の位置を決定することと、少なくとも1つの新しい球を、少なくとも1つの新しい球の中心が別の位置に位置決めされるように生成することと、を含み得る。 In some embodiments, generating the one or more spheres based on the plurality of parameters includes: a minimum radius of the at least one sphere; a distance between the at least one sphere and the at least one nearest neighbor; and generating at least one new sphere such that the center of the at least one new sphere is positioned at a different position. may include.

いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、少なくとも1つの球によって提供されるメトリックデータのカバレッジを、少なくとも1つの最近傍球又は少なくとも1つの新しい球によって提供されるメトリックデータのカバレッジと比較することと、別の新しい球の生成のための比較に基づいて、メトリックデータの最大カバレッジを提供する球を選択することと、を含み得る。 In some embodiments, generating one or more spheres based on the plurality of parameters includes reducing the coverage of metric data provided by at least one sphere to at least one nearest neighbor sphere or at least one new sphere. and selecting a sphere that provides maximum coverage of metric data based on the comparison for generation of another new sphere.

いくつかの実施形態では、メトリックデータに基づいて複数のパラメータを定義することは、メトリックデータからアウトライアをフィルタで除去することと、フィルタリングされたメトリックデータに少なくとも部分的に基づいてカバレッジ限界を定義することと、を含み得る。 In some embodiments, defining the plurality of parameters based on the metric data includes filtering out outliers from the metric data and defining coverage limits based at least in part on the filtered metric data. It may include doing.

別の実施形態によれば、記憶された複数の命令を含む、1つ以上の非一時的機械可読記憶媒体であって、命令が、少なくとも1つのプロセッサによる実行に応じて、システムに、特定の顧客メトリックについての複数の時系列ベースの観測値を示すメトリックデータを受信させ、メトリックデータに基づいて、各々が特定の顧客メトリックについてのいくつかの時系列ベースの観測値を捕捉するように構成されている、1つ以上の球を特徴付けるための複数のパラメータを定義させ、複数のパラメータに基づいて、1つ以上の球を生成して、1つ以上の球内のメトリックデータのカバレッジを決定させ、メトリックデータにおける1つ以上の異常を検出させる、メモリと、を含み得る。複数のパラメータに基づいて1つ以上の球を生成することは、特定の顧客メトリックについての複数の時系列ベースの観測値に基づいて変化する半径を各々が有する、複数の球を動的に生成することを含み得る。 According to another embodiment, one or more non-transitory machine-readable storage media includes a plurality of instructions stored thereon, the instructions being responsive to execution by at least one processor to provide a particular receiving metric data indicative of a plurality of time-series-based observations about a customer metric, each configured to capture a number of time-series-based observations about a particular customer metric based on the metric data; defining a plurality of parameters for characterizing one or more spheres, generating one or more spheres based on the plurality of parameters, and determining coverage of metric data within the one or more spheres. , a memory for detecting one or more anomalies in the metric data. Generating one or more spheres based on multiple parameters dynamically generates multiple spheres, each with a radius that changes based on multiple time series-based observations for a particular customer metric. may include doing.

いくつかの実施形態では、メトリックデータに基づいて複数のパラメータを定義することは、少なくとも1つの球を生成するための最小半径を定義することと、各々が変化する半径を有する1つ以上の新しい球を生成するための半径増分を定義することと、生成された球によってカバーされるメトリックデータ点の最大数を示すカバレッジ限界を定義することと、を含み得る。 In some embodiments, defining a plurality of parameters based on metric data includes defining a minimum radius for generating at least one sphere and generating at least one new sphere, each with a varying radius. The method may include defining a radius increment for generating the sphere and defining a coverage limit indicating a maximum number of metric data points covered by the generated sphere.

いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、最小半径に基づいてメトリックデータの最大集中に対応する位置を決定することを含み得る。 In some embodiments, generating one or more spheres based on the plurality of parameters may include determining a location corresponding to a maximum concentration of metric data based on a minimum radius.

いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、カバレッジ限界に達したかどうかを判定することと、カバレッジ限界に達していないという判定に応じて、半径増分に基づいて少なくとも1つの新しい球を生成するための半径を増分することと、を含み得る。 In some embodiments, generating the one or more spheres based on the plurality of parameters includes determining whether a coverage limit has been reached and, in response to determining that the coverage limit has not been reached, determining the radius of the sphere. incrementing the radius to generate at least one new sphere based on the increment.

いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、少なくとも1つの新しい球が、以前に提供されていないメトリックデータのカバレッジを提供するかどうかを判定することと、少なくとも1つの新しい球が以前に提供されていないメトリックデータのカバレッジを提供しないという判定に応じて、以前の球によってすでにカバーされたメトリックデータをフィルタで除去することと、を含み得る。 In some embodiments, generating one or more spheres based on the plurality of parameters includes determining whether at least one new sphere provides coverage of metric data not previously provided. and filtering out metric data already covered by the previous sphere in response to the determination that the at least one new sphere does not provide coverage of metric data not previously provided.

いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、少なくとも1つの新しい球が以前に提供されていないメトリックデータのカバレッジを提供するという判定に応じて、最小半径を更新することと、少なくとも1つの新しい球が、以前に提供されていないメトリックデータのカバレッジを提供するという判定に応じて、位置を更新することと、を含み得る。 In some embodiments, generating one or more spheres based on the plurality of parameters includes determining that at least one new sphere provides coverage of metric data not previously provided. The method may include updating the radius and updating the position in response to a determination that the at least one new sphere provides coverage of metric data not previously provided.

いくつかの実施形態では、メトリックデータに基づいて複数のパラメータを定義することは、メトリックデータからアウトライアをフィルタで除去することと、フィルタリングされたメトリックデータに少なくとも部分的に基づいてカバレッジ限界を定義することと、を含み得る。 In some embodiments, defining the plurality of parameters based on the metric data includes filtering out outliers from the metric data and defining coverage limits based at least in part on the filtered metric data. It may include doing.

更に別の実施形態によれば、1人以上の顧客によって提供されるメトリックデータにおける異常を検出するための方法は、特定の顧客メトリックについての複数の時系列ベースの観測値を示すメトリックデータを、コンタクトセンターシステム又はコンピュータデバイスによって、受信することと、メトリックデータに基づいてコンタクトセンターシステム又はコンピュータデバイスによって、各々が特定の顧客メトリックについてのいくつかの時系列ベースの観測値を捕捉するように構成されている1つ以上の球を特徴付けるための複数のパラメータを定義することと、コンタクトセンターシステム又はコンピュータデバイスによって複数のパラメータに基づいて、1つ以上の球を生成して、1つ以上の球内のメトリックデータのカバレッジを決定し、メトリックデータにおける1つ以上の異常を検出することと、を含み得る。複数のパラメータに基づいて1つ以上の球を生成することは、コンタクトセンターシステム又はコンピュータデバイスによって、特定の顧客メトリックについての複数の時系列ベースの観測値に基づいて変化する半径を各々が有する複数の球を動的に生成することを含み得る。 According to yet another embodiment, a method for detecting anomalies in metric data provided by one or more customers comprises: each configured to receive, by the contact center system or computing device, and to capture a number of time-series-based observations for a particular customer metric by the contact center system or computing device based on the metric data. defining a plurality of parameters to characterize one or more spheres within the one or more spheres, and generating one or more spheres based on the plurality of parameters by a contact center system or computing device to and detecting one or more anomalies in the metric data. Generating one or more spheres based on a plurality of parameters may be performed by a contact center system or computing device to generate one or more spheres, each having a radius that varies based on multiple time-series-based observations for a particular customer metric. may include dynamically generating a sphere.

いくつかの実施形態では、メトリックデータに基づいて複数のパラメータを定義することは、コンタクトセンターシステム又はコンピュータデバイスによって、少なくとも1つの球の生成のための最小半径を定義することと、コンタクトセンターシステム又はコンピュータデバイスによって、各々変化する半径を有する1つ以上の新しい球を生成するための半径増分を定義することと、コンタクトセンターシステム又はコンピュータデバイスによって、生成された球によってカバーされるメトリックデータ点の最大数を示すカバレッジ限界を定義することと、を含み得る。 In some embodiments, defining the plurality of parameters based on the metric data includes, by the contact center system or computing device, defining a minimum radius for generation of at least one sphere; Defining, by a computing device, radius increments for generating one or more new spheres, each with a varying radius, and determining, by a contact center system or computing device, a maximum of metric data points covered by the generated spheres. defining a coverage limit indicating a number.

いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、コンタクトセンターシステム又はコンピュータデバイスによって、最小半径に基づいてメトリックデータの最大集中に対応する位置を決定することを含み得る。 In some embodiments, generating the one or more spheres based on the plurality of parameters includes determining, by the contact center system or computing device, a location corresponding to a maximum concentration of metric data based on a minimum radius. may include.

いくつかの実施形態では、複数のパラメータに基づいて1つ以上の球を生成することは、コンタクトセンターシステム又はコンピュータデバイスによって、カバレッジ限界に達したかどうかを判定することと、カバレッジ限界に達していないという判定に応じて、コンタクトセンターシステム又はコンピュータデバイスによって、半径増分に基づいて少なくとも1つの新しい球の生成のための半径を増分することと、を含み得る。 In some embodiments, generating one or more spheres based on the plurality of parameters includes determining, by a contact center system or computing device, whether a coverage limit has been reached; and, in response to the determination that there is not, by the contact center system or computing device, incrementing a radius for generation of at least one new sphere based on the radius increment.

この概要は、特許請求される主題の重要な又は本質的な特徴を識別することを意図するものではなく、特許請求される主題の範囲を限定する助けとして使用されることも意図されていない。本出願の更なる実施形態、形態、特徴、及び態様は、本明細書とともに提供される説明及び図から明らかになるであろう。 This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in limiting the scope of the claimed subject matter. Further embodiments, forms, features, and aspects of the present application will be apparent from the description and figures provided herewith.

本明細書に説明される概念は、例として例解的なものであり、添付の図面における限定としてではない。例解を単純かつ明確にするために、図に例解される要素は、必ずしも縮尺通りに描画されていない。適切であると考えられる場合、参照ラベルは、対応する又は類似の要素を示すために図面間で繰り返されている。
コンタクトセンターシステムの少なくとも1つの実施形態の簡略化されたブロック図である。 コンピューティングデバイスの少なくとも1つの実施形態の簡略化されたブロック図である。 1人以上の顧客によって提供されるデータ内の異常を検出する方法の少なくとも1つの実施形態の簡略化されたフローチャートである。 1人以上の顧客によって提供されるデータ内の異常を検出する方法の別の実施形態の簡略化されたフローチャートである。 図4の方法の球の生成中に実行され得る1つ以上の球を生成する方法の少なくとも1つの実施形態の簡略化されたフローチャートである。 メトリックデータ点/観測値の集合の視覚的表現である。 図5の方法に従って生成された球を有するメトリックデータ点/観測値の集合の視覚的表現である。 図5の方法に従って生成された2つの球を有するメトリックデータ点/観測値の集合の視覚的表現である。 図5の方法に従って生成された3つの球を有するメトリックデータ点/観測値の集合の視覚的表現である。 比較方法に従って生成された複数の球を有するメトリックデータ点/観測値の集合の視覚的表現である。 図5の方法に従って生成された複数の球を有するメトリックデータ点/観測値の集合の視覚的表現である。 種々のデータセットにおける異常を検出するための種々のアルゴリズム/モデルに対する性能評価の視覚的表現である。 比較方法に従って生成された球を有するメトリックデータの集合の視覚的表現である。 図5の方法に従って生成された球を有する図13のメトリックデータの集合の視覚的表現である。 比較方法に従って生成された球を有するメトリックデータの集合の視覚的表現である。 図5の方法に従って生成された球を有する図15のメトリックデータの集合の視覚的表現である。 比較方法に従って得られたメトリックに対する異常検出情報のグラフ図である。 図5の方法に従って得られたメトリックに対する異常検出情報のグラフ図である。
The concepts described herein are illustrative by way of example and not as limiting in the accompanying drawings. For simplicity and clarity of illustration, the elements illustrated in the figures are not necessarily drawn to scale. Where considered appropriate, reference labels have been repeated between the drawings to indicate corresponding or similar elements.
1 is a simplified block diagram of at least one embodiment of a contact center system. FIG. 1 is a simplified block diagram of at least one embodiment of a computing device. FIG. 1 is a simplified flowchart of at least one embodiment of a method for detecting anomalies in data provided by one or more customers. 2 is a simplified flowchart of another embodiment of a method for detecting anomalies in data provided by one or more customers. 5 is a simplified flowchart of at least one embodiment of a method of generating one or more spheres that may be performed during the generation of spheres of the method of FIG. 4. FIG. A visual representation of a collection of metric data points/observations. 6 is a visual representation of a set of metric data points/observations with a sphere generated according to the method of FIG. 5; 6 is a visual representation of a set of metric data points/observations with two spheres generated according to the method of FIG. 5; FIG. 6 is a visual representation of a set of metric data points/observations with three spheres generated according to the method of FIG. 5; FIG. 2 is a visual representation of a set of metric data points/observations with multiple spheres generated according to a comparison method. 6 is a visual representation of a set of metric data points/observations with multiple spheres generated according to the method of FIG. 5; FIG. 2 is a visual representation of performance evaluation for various algorithms/models for detecting anomalies in various datasets. 3 is a visual representation of a collection of metric data with spheres generated according to a comparison method. 14 is a visual representation of the metric data set of FIG. 13 with a sphere generated according to the method of FIG. 5; FIG. 3 is a visual representation of a collection of metric data with spheres generated according to a comparison method. 16 is a visual representation of the metric data set of FIG. 15 with a sphere generated according to the method of FIG. 5; FIG. FIG. 7 is a graph diagram of abnormality detection information with respect to metrics obtained according to a comparison method. FIG. 6 is a graph of abnormality detection information for metrics obtained according to the method of FIG. 5;

本開示の概念は、様々な修正及び代替形態の余地があるが、具体的な実施形態が図面に例として示されており、本明細書で詳細に説明される。しかしながら、本開示の概念を開示された特定の形態に限定する意図はなく、逆に、その意図は、本開示及び添付の特許請求の範囲と一致する全ての修正、等価物、及び代替物を網羅することであることを理解されたい。 While the concepts of the disclosure are susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will herein be described in detail. However, there is no intent to limit the concept of this disclosure to the particular forms disclosed, but on the contrary, the intent is to cover all modifications, equivalents, and alternatives consistent with this disclosure and the appended claims. Please understand that this is intended to be comprehensive.

「1つの実施形態」、「一実施形態」、「例解的な実施形態」などの本明細書における言及は、説明される実施形態が特定の特徴、構造、又は特性を含み得るが、全ての実施形態が特定の特徴、構造、又は特性を必ず含む場合があるか、又は含まない場合があることを示す。更に、かかる句は、必ずしも同じ実施形態を指しているわけではない。「好ましい」構成要素又は特徴への言及は、一実施形態に関する特定の構成要素又は特徴の望ましいことを示すことができるが、本開示は、そのような構成要素又は特徴を省略し得る他の実施形態に関してそのように限定するものではないことを更に理解されたい。更に、特定の特徴、構造、又は特性が実施形態と関連して説明される場合、明確に説明されているかどうかに関わりなく、他の実施形態と関連するこのような特徴、構造、又は特性への実装は、当業者の知見内であるものとする。更に、特定の特徴、構造、又は特性は、様々な実施形態において、任意の好適な組み合わせ及び/又は部分的組み合わせで組み合わされ得る。 References herein to "one embodiment," "one embodiment," "illustrative embodiment," and the like refer to all references herein, although the described embodiment may include a particular feature, structure, or characteristic. Indicates that embodiments of may or may not necessarily include a particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Although reference to a "preferred" component or feature may indicate the desirability of a particular component or feature with respect to one embodiment, this disclosure does not discuss other implementations in which such component or feature may be omitted. It is further understood that there is no such limitation as to form. Furthermore, when a particular feature, structure, or characteristic is described in connection with an embodiment, it also applies to such feature, structure, or characteristic in connection with other embodiments, whether or not explicitly described. implementation shall be within the knowledge of those skilled in the art. Furthermore, the particular features, structures, or characteristics may be combined in any suitable combinations and/or subcombinations in various embodiments.

更に、「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)」などの句の使用は、具体的なに反対のことが述べられていない限り、そのような要素の一部のみを含む実施形態及びそのような要素の全体を含む実施形態の両方を包含するように解釈されるべきである。 Furthermore, items included in the list of the form "at least one of A, B, and C" are (A), (B), (C), (A and B), (B and C), It is to be understood that it can mean (A and C), or (A, B, and C). Similarly, items listed in the form "at least one of A, B, or C" are (A), (B), (C), (A and B), (B and C), ( It should be understood that it can mean A and C) or (A, B, and C). Further, with reference to the claims, "a", "an", "at least one", and/or "at least one portion" The use of words and phrases such as ``at least some of'' should not be construed as limiting to only one such element, unless specifically stated to the contrary, Use of phrases such as "at least a portion" and/or "a portion" refers to embodiments that include only a portion of such elements, unless specifically stated to the contrary. and embodiments containing such elements in their entirety.

開示された実施形態は、場合によっては、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせで実装され得る。開示された実施形態はまた、1つ以上のプロセッサによって読み取られ実行され得る1つ以上の一時的又は非一時的機械可読(例えば、コンピュータ可読)記憶媒体によって実行されるか又は記憶される命令として実装され得る。機械可読記憶媒体は、機械(例えば、揮発性若しくは不揮発性メモリ、メディアディスク、又は他のメディアデバイス)によって読み取り可能な形態で情報を記憶又は伝送するための任意の記憶デバイス、機構、又は他の物理的構造として具現化され得る。 The disclosed embodiments may be implemented in hardware, firmware, software, or a combination thereof, as the case may be. The disclosed embodiments also include instructions executed or stored on one or more temporary or non-transitory machine-readable (e.g., computer-readable) storage media that can be read and executed by one or more processors. Can be implemented. Machine-readable storage medium is any storage device, mechanism, or other storage medium for storing or transmitting information in a form readable by a machine (e.g., volatile or non-volatile memory, media disk, or other media device). Can be embodied as a physical structure.

図面では、いくつかの構造的又は方法的特徴は、具体的な配置及び/又は順序付けで示され得る。しかしながら、そのような具体的な配置及び/又は順序付けは必要とされない場合があることを理解されたい。むしろ、いくつかの実施形態において、そのような特徴は、反対のことが示されていない限り、例解的な図面に示されているものとは異なる方法及び/又は順序で配置され得る。更に、特定の図に構造的又は方法的特徴を含めることは、そのような特徴が全ての実施形態で必要とされることを意味するものではなく、いくつかの実施形態において、含まれない場合があるか、又は他の特徴と組み合わされる場合がある。 In the drawings, the several structural or methodical features may be shown in a specific arrangement and/or ordering. However, it should be understood that such specific arrangement and/or ordering may not be required. Rather, in some embodiments, such features may be arranged in a different manner and/or order than that shown in the illustrative figures, unless indicated to the contrary. Furthermore, the inclusion of structural or methodological features in a particular figure does not imply that such features are required in all embodiments, and in some embodiments, they may not be included. or may be combined with other features.

データ収集及び/又はデータ分析の目的のために、いくつかの用途では、新しい観測値/データ点が既存の観測値/データ点と同じデータ分布に属するかどうかを確認することが有益であり得る。既存の観測値と同じデータ分布に属する観測値(複数可)は、本明細書ではインライア(inlier)と呼ばれることがあり、既存の観測値と同じ分布に属さない観測値(複数可)は、本明細書ではアウトライア(outlier)と呼ばれることがある。インライアとアウトライアとを区別する能力は、実際のデータセットをクリーンにするのに特に有用であり得る。 For data collection and/or data analysis purposes, in some applications it may be beneficial to check whether a new observation/data point belongs to the same data distribution as an existing observation/data point. . Observation(s) that belong to the same data distribution as an existing observation may be referred to herein as an inlier, and observation(s) that do not belong to the same distribution as an existing observation may be referred to herein as an inlier. In this specification, it may be referred to as an outlier. The ability to distinguish between inliers and outliers can be particularly useful in cleaning real data sets.

多くの場合、データ(例えば、訓練データ)に含まれるアウトライアは、データの1つ以上の視覚的表現に基づいて、他のものから遠く離れている観測値として定義され得ることを理解されたい。したがって、場合によっては、アウトライア検出推定器は、典型的には逸脱した観測値又はアウトライアを無視しながら、データが最も集中している領域に適合及び/又は捕捉しようとすることがある。 It should be appreciated that outliers in data (e.g., training data) can often be defined as observations that are far apart from others based on one or more visual representations of the data. . Therefore, in some cases, the outlier detection estimator may attempt to fit and/or capture the regions where the data is most concentrated, while typically ignoring deviant observations or outliers.

しかしながら、場合によっては、関心のあるデータにアウトライアがまだ存在していないことがある。それらの場合、新しい観測値がアウトライアであるかどうかを検出することが有益であり得る。アウトライアであると検出された新しい観測値は、少なくともいくつかの実施形態では、新規性であってもよい。更に、そのようなアウトライアの検出は、本明細書では新規性検出と呼ばれることがある。 However, in some cases, outliers may not yet exist in the data of interest. In those cases, it may be beneficial to detect whether the new observation is an outlier. A new observation detected to be an outlier may, in at least some embodiments, be a novelty. Furthermore, detection of such outliers may be referred to herein as novelty detection.

アウトライア検出及び新規性検出は、特に異常な観測値の検出が望ましい場合に、データの異常を検出するために実行することができる。場合によっては、アウトライア検出は、「教師なし異常検出」と呼ばれることがあり、新規性検出は、「半教師あり異常検出」と呼ばれることがある。アウトライア検出の文脈では、推定器は、アウトライア/異常が低密度/集中領域に位置すると仮定することが多いので、アウトライア/異常は、典型的には、高密度クラスタを形成することができない。しかしながら、新規性検出の文脈では、新規性/異常は、正常であると考えられ得るデータの低密度/集中領域に位置する限り、高密度クラスタを形成し得る。 Outlier detection and novelty detection can be performed to detect anomalies in data, especially when detection of anomalous observations is desired. Outlier detection is sometimes referred to as "unsupervised anomaly detection" and novelty detection is sometimes referred to as "semi-supervised anomaly detection." In the context of outlier detection, estimators often assume that outliers/anomalies are located in areas of low density/concentration, so outliers/anomalies typically form dense clusters. Can not. However, in the context of novelty detection, novelties/anomalies may form dense clusters as long as they are located in areas of low density/concentration of data that can be considered normal.

本開示のシステム及び方法は、以下でINS(Isolation Nearest Spheres)モデルと呼ばれるモデルを実装するように構成される。INSモデルは、モデルを実装するために使用されるシステム、方法、及び/又はツールが、異なるメトリックのための異なる挙動をどのように学習するかを視覚化する必要性から導出され、それによって示唆されることを理解されたい。更に、INSモデルは、異常の重大度を検出及び評価するために使用され得る視覚的表現及び/又はグラフィカル描写に依存する。結果として、時系列観測値についての異常検出は、多変数システムにおけるアウトライア検出に類似していると考えられ得るか、又はそうでなければそれによって通知され得る。時系列観測値についての異常検出を多変数システムにおけるアウトライア検出と関連付けるために、本開示は、様々なメトリックの連続挙動を記述するのに役立ち、アウトライアに敏感である、時系列データからの有用な特徴の抽出を想定する。 The systems and methods of the present disclosure are configured to implement a model referred to below as the Isolation Nearest Spheres (INS) model. INS models are derived from the need to visualize how the systems, methods, and/or tools used to implement the model learn different behaviors for different metrics, thereby making suggestions I hope you understand that this will happen. Furthermore, INS models rely on visual representations and/or graphical depictions that can be used to detect and assess the severity of anomalies. As a result, anomaly detection for time series observations may be considered analogous to, or otherwise signaled by, outlier detection in multivariate systems. In order to relate anomaly detection on time series observations to outlier detection in multivariate systems, this disclosure provides a method for detecting outliers from time series data that is useful for describing the continuous behavior of various metrics and is sensitive to outliers. Assume extraction of useful features.

いくつかの実施形態では、本開示は、モデルを生成する任意の時系列メトリックデータにおける異常を検出するための機械学習アルゴリズムを提供する。場合によっては、本明細書で企図される異常検出モデルは教師なしであり、メトリックデータから正常な挙動を学習するためにいかなるパラメータ定義も必要としない。加えて、場合によっては、メトリックデータから学習される挙動は、各々が1つ以上の高密度領域内に動的半径を有する知識球に基づく。 In some embodiments, the present disclosure provides machine learning algorithms for detecting anomalies in any time-series metric data that generates models. In some cases, the anomaly detection models contemplated herein are unsupervised and do not require any parameter definitions to learn normal behavior from metric data. Additionally, in some cases, the behavior learned from the metric data is based on knowledge spheres, each having a dynamic radius within one or more dense regions.

いくつかの実施形態では、本開示は、様々なメトリックについての時系列ベースの観測値のための特徴選択プロセス又は機構を企図する。そのプロセスは、時系列ベースのメトリックデータの(視覚的)表現、データ内のアウトライアに対する感度、及びデータの標準化(例えば、データセットの次元能力を保証すること)の考慮を含み得る。それらの考慮事項を考慮して、本開示の技法に従って選択及び/又は決定される特徴の数(例えば、n)は、特定のメトリックについての現在の値/観測値と、そのメトリックについての履歴値/観測値(例えば、前の1時間又は前日内に受信された観測値)とに基づく。いくつかの実施形態では、本開示によって企図されるn個の特徴は、メトリック値、導関数、及び移動平均を含み得るが、それらに限定されない。 In some embodiments, this disclosure contemplates a feature selection process or mechanism for time series-based observations for various metrics. The process may include consideration of the (visual) representation of time-series-based metric data, sensitivity to outliers in the data, and standardization of the data (eg, ensuring dimensional capacity of the dataset). Taking those considerations into account, the number of features (e.g., n) selected and/or determined according to the techniques of this disclosure may be determined by the current value/observed value for a particular metric and the historical value for that metric. /observations (e.g., observations received within the previous hour or day). In some embodiments, the n features contemplated by this disclosure may include, but are not limited to, metric values, derivatives, and moving averages.

本開示の目的のために、以下に提供される定義は、定義された用語のその後の考察に適用可能である。
・ 分離-データの特定の知識単位への低減(すなわち、INSモデルによって実行される)。このような低減は、知識限界に達するように実行される。
・ 最近傍-INSモデルは、データ点間の近接性を判定するために最近傍距離に依存する。これらの距離は、カバーされていない挙動のみに関連付けられたデータを使用して精緻化及び/又は改善される。
・ 球-データ点/観測値のクラスタとして視覚的に表される知識単位。各知識単位は、動的半径及び中心によって定義される。
・ 挙動-特定のメトリックについての特徴の各々の数(例えば、n)。
・ カバレッジ-全ての球の内側に位置する/全ての球によって捕捉される観測値/データ点のパーセンテージ。
For purposes of this disclosure, the definitions provided below are applicable to subsequent discussion of the defined terms.
• Separation - reduction of data into specific knowledge units (i.e. performed by the INS model). Such reduction is performed to reach the knowledge limit.
- Nearest Neighbors - INS models rely on nearest neighbor distances to determine the proximity between data points. These distances are refined and/or improved using data associated only with uncovered behavior.
• Sphere - a unit of knowledge visually represented as a cluster of data points/observations. Each knowledge unit is defined by a dynamic radius and center.
• Behavior - the number of each of the features for a particular metric (eg, n).
• Coverage - Percentage of observations/data points located inside/covered by all spheres.

INSモデル及び上記で定義された用語の更なる説明は、図3~図5を参照して以下に提供される。 Further explanation of the INS model and the terms defined above is provided below with reference to FIGS. 3-5.

ここで図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つ以上は、独立し得る。 Referring now to FIG. 1, a simplified diagram of at least one embodiment of a communications infrastructure and/or contact center system that may be used in conjunction with one or more of the embodiments described herein. A block diagram is shown. In an exemplary embodiment, contact center system 100 is embodied as a system configured to implement an INS model to detect anomalies in data provided by one or more customers. , or otherwise contain it. Contact center system 100 is capable of providing contact center services (e.g., call center services, chat center services, SMS center services, etc.) to end users and performing the functions otherwise described herein. It can be implemented as any system. The example contact center system 100 includes a customer device 102, a network 104, a switch/media gateway 106, a call controller 108, an interactive media response (IMR) server 110, a routing server 112, a storage device 114, a statistical server 116, agent devices 118A, 118B, 118C, media server 120, knowledge management server 122, knowledge system 124, chat server 126, web server 128, interaction (iXn) server 130, universal contact server 132, reporting server 134, media services It includes a server 136 and an analysis module 138. The illustrative embodiment of FIG. 1 includes one customer device 102, one network 104, one switch/media gateway 106, one call controller 108, one IMR server 110, one routing server 112, one storage device 114, one statistics server 116, one media server 120, one knowledge management server 122, one knowledge system 124, one chat server 126, one iXn server 130, one universal contact server 132, one Although only a reporting server 134, one media services server 136, and one analytics module 138 are shown, contact center system 100 may include multiple customer devices 102, networks 104, switches/media gateways, etc. in other embodiments. 106, call controller 108, IMR server 110, routing server 112, storage device 114, statistics server 116, media server 120, knowledge management server 122, knowledge system 124, chat server 126, iXn server 130, universal contact server 132, reporting server 134, a media services server 136, and/or an analysis module 138. Furthermore, in some embodiments, one or more of the components described herein may be excluded from system 100, such that one or more of the components described as independent The foregoing may form part of another component, and/or one or more of the components described as forming part of another component may be independent.

本明細書では、「コンタクトセンターシステム」という用語は、図1に描写されるシステム及び/又はその構成要素を指すために使用される一方、「コンタクトセンター」という用語は、より一般的に、コンタクトセンターシステム、これらのシステムを動作させる顧客サービスプロバイダ、及び/又はそれらに関連付けられた組織若しくは企業を指すために使用されることを理解されたい。したがって、別途具体的に限定されない限り、「コンタクトセンター」という用語は、概して、コンタクトセンターシステム(コンタクトセンターシステム100など)、関連する顧客サービスプロバイダ(コンタクトセンターシステム100を通して顧客サービスを提供する特定の顧客サービスプロバイダなど)、並びに顧客サービスが代理で提供されている組織又は企業を指す。 While the term "contact center system" is used herein to refer to the system depicted in FIG. 1 and/or its components, the term "contact center" more generally refers to It should be understood that it is used to refer to center systems, the customer service providers that operate these systems, and/or their associated organizations or businesses. Accordingly, unless specifically limited otherwise, the term "contact center" generally refers to a contact center system (such as contact center system 100), an associated customer service provider (such as a particular customer service provider providing customer service through contact center system 100) service providers, etc.) as well as organizations or companies on whose behalf customer service is provided.

背景として、顧客サービスプロバイダは、コンタクトセンターを通して多くのタイプのサービスを提供し得る。そのようなコンタクトセンターは、従業員若しくは顧客サービスエージェント(又は単に「エージェント」)が配置され得、エージェントは、会社、企業、政府機関、又は組織(以下、互換的に「組織」又は「企業」と称される)と、ユーザ、個人、又は顧客などの人々(以下、互換的に「個人」又は「顧客」と称される)との間のインターフェースとして機能する。例えば、コンタクトセンターのエージェントは、購入の決定、注文の受け付け、又はすでに受け取った製品若しくはサービスに関する問題を解決する際に顧客を支援することができる。コンタクトセンター内で、コンタクトセンターエージェントと外部エンティティ又は顧客との間のそのようなインタラクションは、例えば、音声(例えば、電話コール又はボイスオーバーIP、すなわち、VoIPコール)、ビデオ(例えば、ビデオ会議)、テキスト(例えば、電子メール及びテキストチャット)、画面共有、コブラウジング、及び/又は他の通信チャネルなどの様々な通信チャネルを介して、行われ得る。 By way of background, customer service providers may offer many types of services through contact centers. Such contact centers may be staffed by employees or customer service agents (or simply "Agents"), who may be employed by a company, corporation, government agency, or organization (hereinafter interchangeably "Organization" or "Enterprise"). (hereinafter interchangeably referred to as "individuals" or "customers"), such as users, individuals, or customers. For example, a contact center agent may assist customers in making purchasing decisions, accepting orders, or resolving issues with products or services already received. Within a contact center, such interactions between contact center agents and external entities or customers may include, for example, voice (e.g., telephone calls or voice over IP, i.e., VoIP calls), video (e.g., video conferencing), It may take place via various communication channels, such as text (e.g., email and text chat), screen sharing, co-browsing, and/or other communication channels.

運用上、コンタクトセンターは、一般に、コストを最小限に抑えながら、質の高いサービスを顧客に提供するように努力する。例えば、コンタクトセンターが動作する1つの方法が、ライブエージェントとの全顧客インタラクションを取り扱うことである。このアプローチは、サービス品質の観点から十分に成功し得る一方、エージェントの労働の高いコストに起因して、法外に高価となる可能性が高いであろう。このため、ほとんどのコンタクトセンターは、ライブエージェントの代わりに、例えば、双方向音声応答(interactive voice response、IVR)システム、双方向メディア応答(IMR)システム、インターネットロボット、すなわち、「ボット」、自動チャットモジュール、すなわち、「チャットボット」、及び/又は他の自動処理されたなどの、あるレベルの自動プロセスを利用する。多くの場合、これは、自動プロセスが、特定のタイプのインタラクションを取り扱うのに非常に効率的であり、ライブエージェントの必要性を低減するのに効果的であり得るため、成功戦略であることが証明されている。そのような自動化により、コンタクトセンターが、人間のエージェントの使用をより困難な顧客インタラクションに標的化することを可能にする一方で、自動プロセスは、より反復的又は日常的なタスクを取り扱う。更に、自動プロセスは、効率を最適化し、繰り返し性を促進する方法で構造化され得る。人間のエージェント、すなわち、ライブエージェントは、特定の質問に応える、若しくは特定の詳細を徹底的に追及することを忘れ得るが、そのような誤りは、典型的には、自動プロセスの使用を通して回避される。顧客サービスプロバイダは、顧客とインタラクションする自動プロセスにますます依存する一方、顧客によるそのような技術の使用は、はるかに未発達のままである。したがって、インタラクションのコンタクトセンター側では、IVRシステム、IMRシステム、及び/又はボットが使用されて、インタラクションの部分を自動化する一方、顧客側のアクションは、顧客が手動で実施するままである。 Operationally, contact centers generally strive to provide quality service to customers while minimizing costs. For example, one way a contact center operates is to handle all customer interactions with live agents. While this approach could be quite successful from a service quality perspective, it would likely be prohibitively expensive due to the high cost of agent labor. Therefore, instead of live agents, most contact centers use, for example, interactive voice response (IVR) systems, interactive media response (IMR) systems, Internet robots, or "bots," and automated chat services. Utilizes some level of automated processes, such as modules, ie, "chatbots," and/or other automated processes. This can often be a successful strategy as automated processes can be very efficient at handling certain types of interactions and effective at reducing the need for live agents. It has been proven. Such automation allows contact centers to target the use of human agents to more difficult customer interactions, while automated processes handle more repetitive or routine tasks. Additionally, automated processes can be structured in ways that optimize efficiency and promote repeatability. Human agents, or live agents, can forget to respond to a particular question or follow up on a particular detail, but such errors are typically avoided through the use of automated processes. Ru. While customer service providers increasingly rely on automated processes to interact with customers, the use of such technology by customers remains far less developed. Thus, on the contact center side of the interaction, IVR systems, IMR systems, and/or bots are used to automate parts of the interaction, while actions on the customer side remain manually performed by the customer.

コンタクトセンターシステム100は、様々なタイプのサービスを顧客に提供するために、顧客サービスプロバイダによって使用され得ることを理解されたい。例えば、コンタクトセンターシステム100は、自動プロセス(若しくはボット)又は人間のエージェントが顧客と通信するインタラクションに関与し、及びそれを管理するために使用され得る。理解されるべきであるように、コンタクトセンターシステム100は、企業を通して利用可能な製品及びサービスに関連する販売及び顧客サービスの機能を実施するためのビジネス又は企業の社内施設であり得る。別の実施形態において、コンタクトセンターシステム100は、別の組織に代わって、サービスを提供するように契約するサードパーティサービスプロバイダによって運用され得る。更に、コンタクトセンターシステム100は、企業又はサードパーティサービスプロバイダ専用の機器上に展開され、且つ/又は、例えば、複数の企業のために複数のコンタクトセンターをサポートするためのインフラストラクチャを備えたプライベート若しくはパブリッククラウド環境などのリモートコンピューティング環境内に展開され得る。コンタクトセンターシステム100は、構内で若しくはリモートで、又はそれらの何らかの組み合わせで実行され得るソフトウェアアプリケーション若しくはプログラムを含み得る。更に、コンタクトセンターシステム100の様々な構成要素は、様々な地理的位置にわたって分散され得、必ずしも単一の場所又はコンピューティング環境に含まれるわけではないことを理解されたい。 It should be appreciated that contact center system 100 may be used by customer service providers to provide various types of services to customers. For example, contact center system 100 may be used to engage in and manage interactions in which automated processes (or bots) or human agents communicate with customers. As should be understood, contact center system 100 may be an in-house facility of a business or corporation for performing sales and customer service functions related to products and services available through the business. In another embodiment, contact center system 100 may be operated by a third party service provider that contracts to provide services on behalf of another organization. Additionally, contact center system 100 may be deployed on equipment dedicated to a company or a third-party service provider and/or may be a private or It may be deployed within a remote computing environment, such as a public cloud environment. Contact center system 100 may include software applications or programs that may be executed on-premises or remotely, or some combination thereof. Furthermore, it should be appreciated that the various components of contact center system 100 may be distributed across various geographic locations and are not necessarily contained within a single location or computing environment.

更に、別途具体的に限定されない限り、本明細書に説明されるコンピューティング要素のいずれかは、クラウドベース又はクラウドコンピューティング環境内に実装され得ることを理解されたい。本明細書で使用され、更にコンピューティングデバイス200に関連して以下に説明されるように、「クラウドコンピューティング」又は単に「クラウド」は、構成可能なコンピューティングリソース(例えば、ネットワーク、サーバ、記憶装置、アプリケーション、及びサービス)の共有プールへのユビキタスで便利なオンデマンドのネットワークアクセスを可能にするためのモデルとして定義され、これは、仮想化を介して迅速にプロビジョンされ、最小限の管理努力若しくはサービスプロバイダインタラクションでリリースされ、次いで、それに応じてスケーリングされ得る。クラウドコンピューティングは、様々な特性(例えば、オンデマンドセルフサービス、広域ネットワークアクセス、リソースプーリング、迅速な弾力性、測定可能なサービスなど)、サービスモデル(例えば、サービスとしてのソフトウェア(Software as a Service、「SaaS」)、サービスとしてのプラットフォーム(Platform as a Service、「PaaS」)、サービスとしてのインフラストラクチャ(Infrastructure as a Service、「IaaS」)、及び配備モデル(例えば、プライベートクラウド、コミュニティクラウド、パブリッククラウドなど)で構成され得る。「サーバレスアーキテクチャ」としばしば称されるクラウド実行モデルは、一般に、所望の機能を達成するために、リモートサーバの割り当て及びプロビジョニングを動的に管理するサービスプロバイダを含む。 Furthermore, unless specifically limited otherwise, it should be understood that any of the computing elements described herein may be implemented within a cloud-based or cloud computing environment. As used herein and further described below in connection with computing device 200, "cloud computing" or simply "cloud" refers to configurable computing resources (e.g., networks, servers, storage, defined as a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of devices (devices, applications, and services) that can be rapidly provisioned through virtualization and with minimal management. It can be released with effort or service provider interaction and then scaled accordingly. Cloud computing has various characteristics (e.g., on-demand self-service, wide area network access, resource pooling, rapid elasticity, measurable service, etc.), service models (e.g., Software as a Service, Platform as a Service (“PaaS”), Infrastructure as a Service (“IaaS”), and deployment models (e.g., private cloud, community cloud, public cloud) Cloud execution models, often referred to as “serverless architectures,” generally involve service providers dynamically managing the allocation and provisioning of remote servers to achieve desired functionality.

図1に関連して説明されたコンピュータ実装構成要素、モジュール、又はサーバのいずれも、例えば、図2のコンピューティングデバイス200などのコンピューティングデバイスのうちの1つ以上のタイプを介して実装され得ることを理解されたい。理解されるように、コンタクトセンターシステム100は、一般に、電話、電子メール、チャット、又は他の通信機構を介したサービスの配信を可能にするために、リソース(例えば、人材、コンピュータ、電気通信機器など)を管理する。そのようなサービスは、コンタクトセンターのタイプに応じて変化し得、例えば、顧客サービス、ヘルプデスク機能、緊急応答、テレマーケティング、受注、及び/又は他の特性を含み得る。 Any of the computer-implemented components, modules, or servers described in connection with FIG. 1 may be implemented via one or more types of computing devices, such as, for example, computing device 200 of FIG. I hope you understand that. As will be appreciated, contact center system 100 generally includes resources (e.g., personnel, computers, telecommunications equipment, etc.) to enable delivery of services via telephone, email, chat, or other communication mechanisms. etc.). Such services may vary depending on the type of contact center and may include, for example, customer service, help desk functions, emergency response, telemarketing, order fulfillment, and/or other features.

コンタクトセンターシステム100からサービスを受けることを所望する顧客は、顧客デバイス102を介して、コンタクトセンターシステム100へのインバウンド通信(例えば、電話コール、電子メール、チャットなど)を開始し得る。図1は、1つのそのような顧客デバイス、すなわち顧客デバイス102を示しているが、任意の数の顧客デバイス102が存在し得ることを理解されたい。顧客デバイス102は、例えば、電話、スマートフォン、コンピュータ、タブレット、又はラップトップなどの通信デバイスであり得る。本明細書に説明される機能によれば、顧客は、一般に、顧客デバイス102を使用して、電話コール、電子メール、チャット、テキストメッセージ、ウェブブラウジングセッション、及び他のマルチメディアトランザクションなど、コンタクトセンターシステム100との通信を開始、管理、及び実行し得る。 A customer desiring to receive service from contact center system 100 may initiate inbound communication (eg, phone call, email, chat, etc.) to contact center system 100 via customer device 102 . Although FIG. 1 depicts one such customer device, customer device 102, it should be understood that any number of customer devices 102 may be present. Customer device 102 can be, for example, a communication device such as a telephone, smart phone, computer, tablet, or laptop. In accordance with the features described herein, customers generally use customer device 102 to conduct contact center transactions, such as phone calls, emails, chats, text messages, web browsing sessions, and other multimedia transactions. Communication with system 100 may be initiated, managed, and performed.

顧客デバイス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などを含むが、これらに限定されない、当該技術分野で慣用の任意の無線ネットワーク/技術を含む、無線キャリアネットワークを含み得る。 Inbound and outbound communications from and to customer device 102 may typically traverse network 104, with the nature of the network depending on the type of customer device being used and the form of communication. . As an example, network 104 may include a telephone, cellular, and/or data service communication network. Network 104 may include a private or public switched telephone network (PSTN), a local area network (LAN), a private wide area network (WAN), and/or a public WAN, such as the Internet. It can be. Additionally, network 104 may include a code division multiple access (CDMA) network, a global system for mobile communications (GSM) network, or a 3G, 4G, LTE, 5G, etc. , including, but not limited to, any wireless network/technology conventional in the art.

スイッチ/メディアゲートウェイ106は、顧客とコンタクトセンターシステム100との間の電話コールを受信及び伝送するために、ネットワーク104に結合され得る。スイッチ/メディアゲートウェイ106としては、センター内でのエージェントレベルルーティングのための中央スイッチとして機能するように構成されている電話スイッチ又は通信スイッチが挙げられ得る。スイッチは、ハードウェアスイッチングシステムであるか、又はソフトウェアを介して実装され得る。例えば、スイッチ106は、自動コールディストリビュータ、構内交換機(private branch exchange、PBX)、IPベースのソフトウェアスイッチ、及び/若しくは顧客からインターネットソース型インタラクション並びに/又は電話網ソース型インタラクションを受信し、これらのインタラクションを、例えば、エージェントデバイス118のうちの1つにルーティングするように構成されている専用ハードウェア及びソフトウェアを有する任意の他のスイッチを含み得る。したがって、一般に、スイッチ/メディアゲートウェイ106は、顧客デバイス102とエージェントデバイス118との間の接続を確立することによって、顧客とエージェントとの間の音声接続を確立する。 Switch/media gateway 106 may be coupled to network 104 for receiving and transmitting telephone calls between customers and contact center system 100. The switch/media gateway 106 may include a telephone switch or a communications switch configured to act as a central switch for agent-level routing within a center. A switch can be a hardware switching system or implemented via software. For example, the switch 106 may receive Internet-sourced interactions and/or telephone network-sourced interactions from automated call distributors, private branch exchanges (PBXs), IP-based software switches, and/or customers, and may For example, any other switch having specialized hardware and software configured to route the agent to one of the agent devices 118. Thus, in general, switch/media gateway 106 establishes a voice connection between a customer and an agent by establishing a connection between customer device 102 and agent device 118.

更に示すように、スイッチ/メディアゲートウェイ106は、例えば、コンタクトセンターシステム100のスイッチと他のルーティング、監視、及び通信処理構成要素との間のアダプタ又はインターフェース接続として機能するコールコントローラ108に結合され得る。コールコントローラ108は、PSTNコール、VoIPコール、及び/又は他のタイプのコールを処理するように構成され得る。例えば、コールコントローラ108は、スイッチ/メディアゲートウェイ及び他の構成要素とインターフェース接続するためのコンピュータ電話統合(computer-telephone integration、CTI)ソフトウェアを含み得る。コールコントローラ108は、セッション開始プロトコル(session initiation protocol、SIP)コールを処理するためのSIPサーバを含み得る。コールコントローラ108はまた、顧客の電話番号、IPアドレス、又は電子メールアドレスなどの着信インタラクションに関するデータを抽出し、次いで、インタラクションを処理する際に、これらを他のコンタクトセンター構成要素と通信し得る。 As further shown, the switch/media gateway 106 may be coupled to a call controller 108 that serves, for example, as an adapter or interface connection between the switch and other routing, monitoring, and communication processing components of the contact center system 100. . Call controller 108 may be configured to handle PSTN calls, VoIP calls, and/or other types of calls. For example, call controller 108 may include computer-telephone integration (CTI) software for interfacing with switches/media gateways and other components. Call controller 108 may include a SIP server for processing session initiation protocol (SIP) calls. Call controller 108 may also extract data about the incoming interaction, such as the customer's phone number, IP address, or email address, and then communicate these with other contact center components in processing the interaction.

双方向メディア応答(IMR)サーバ110は、自己ヘルプ機能又は仮想アシスタント機能を可能にするように構成され得る。具体的には、IMRサーバ110は、IMRサーバ110が音声に制限されず、様々なメディアチャネルもカバーし得ることを除いて、双方向音声応答(IVR)サーバと同様であり得る。音声を例解する例において、IMRサーバ110は、顧客に顧客のニーズを問い合わせるためのIMRスクリプトで構成され得る。例えば、銀行のコンタクトセンターは、顧客が自分の預金残高を検索したい場合に「1を押す」ように、IMRスクリプトを介して顧客に指示し得る。IMRサーバ110との継続的なインタラクションを介して、顧客は、エージェントと話をすることを必要とせずに、サービスを受け得る。IMRサーバ110はまた、通信が、適切なリソースにルーティングされ得るように、顧客がコンタクトセンターに接触している理由を確認するように構成され得る。IMR構成は、コンタクトセンター環境(例えば、Genesys(登録商標)Designer)内で実行されるIVRアプリケーション及びルーティングアプリケーションを開発するためのウェブベースのツールを含むセルフサービス及び/又はアシストサービスツールの使用を通して実施され得る。 Interactive media response (IMR) server 110 may be configured to enable self-help or virtual assistant functionality. Specifically, IMR server 110 may be similar to an interactive voice response (IVR) server, except that IMR server 110 is not limited to voice and may also cover various media channels. In an example illustrating voice, the IMR server 110 may be configured with an IMR script to query the customer about the customer's needs. For example, a bank's contact center may instruct a customer via an IMR script to "press 1" if the customer wants to retrieve his or her bank balance. Through continuous interaction with the IMR server 110, customers may receive service without the need to speak to an agent. IMR server 110 may also be configured to ascertain the reason a customer is contacting the contact center so that communications can be routed to the appropriate resource. IMR configuration is performed through the use of self-service and/or assisted service tools, including web-based tools for developing IVR and routing applications that run within a contact center environment (e.g., Genesys® Designer) can be done.

ルーティングサーバ112は、着信インタラクションをルーティングするように機能し得る。例えば、インバウンド通信が、人間のエージェントによって処理されるべきであると判定されると、ルーティングサーバ112内の機能は、最も適切なエージェントを選択して、通信をそのエージェントにルーティングし得る。このエージェント選択は、どの利用可能なエージェントが通信を取り扱うために最適であるかに基づき得る。より具体的には、適切なエージェントの選択は、ルーティングサーバ112によって実装されるルーティング戦略又はアルゴリズムに基づき得る。これを行う際に、ルーティングサーバ112は、着信インタラクションに関連するデータ、例えば、特定の顧客、利用可能なエージェント、及びインタラクションのタイプに関連するデータを問い合わせ得、このデータは、本明細書に説明されるように、特定のデータベースに記憶され得る。エージェントが選択されると、ルーティングサーバ112は、コールコントローラ108とインタラクションして、着信インタラクションを対応するエージェントデバイス118にルーティング(すなわち、接続)し得る。この接続の一部として、顧客に関する情報が、選択されたエージェントに、それらのエージェントデバイス118を介して提供され得る。この情報は、エージェントが顧客に提供できるサービスを強化することを意図している。 Routing server 112 may function to route incoming interactions. For example, if it is determined that an inbound communication should be handled by a human agent, functionality within routing server 112 may select the most appropriate agent and route the communication to that agent. This agent selection may be based on which available agent is best suited to handle the communication. More specifically, selection of the appropriate agent may be based on a routing strategy or algorithm implemented by routing server 112. In doing so, the routing server 112 may query data related to the incoming interaction, such as data related to the particular customer, available agents, and type of interaction, which data is described herein. may be stored in a particular database as specified. Once an agent is selected, routing server 112 may interact with call controller 108 to route (ie, connect) the incoming interaction to the corresponding agent device 118. As part of this connection, information about the customer may be provided to selected agents via their agent devices 118. This information is intended to enhance the service agents can provide to their customers.

コンタクトセンターシステム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などのデータベース管理システムによって管理され得る。 It is noted that contact center system 100 may include one or more mass storage devices (generally represented by storage device 114) for storing data in one or more databases related to contact center functions. I want to be understood. For example, storage device 114 may store customer data maintained in a customer database. Such customer data may include, for example, customer profiles, contact information, service level agreements (SLAs), and interaction history (e.g., nature of previous interactions, disposition data, latency, processing times, and details of previous interactions with a particular customer, including actions taken by the contact center to resolve the customer's issue). As another example, storage device 114 may store agent data in an agent database. Agent data maintained by contact center system 100 may include, for example, agent availability and agent profiles, schedules, skills, handling times, and/or other related data. As another example, storage device 114 may store interaction data in an interaction database. Interaction data may include, for example, data related to a number of past interactions between a customer and a contact center. More generally, unless specifically specified otherwise, storage device 114 includes a database and/or is configured to store data related to any of the types of information described herein. It should be understood that these databases and/or data can be accessed by other modules or servers of contact center system 100 in a manner that facilitates the functionality described herein. For example, a server or module of contact center system 100 may interrogate such a database to retrieve data stored within the database or transmit data to the database for storage. Storage device 114 may, for example, take the form of any conventional storage medium and may be stored locally or operated from a remote location. As an example, the database is a Cassandra database, a NoSQL database, or an SQL database, and may be managed by a database management system such as Oracle, IBM DB2, Microsoft SQL Server, or Microsoft Access, PostgreSQL.

統計サーバ116は、コンタクトセンターシステム100の性能及び動作態様に関連するデータを記録及び集計するように構成され得る。そのような情報は、統計サーバ116によってコンパイルされ、他のサーバ及びモジュール、例えば、レポーティングサーバ134に利用可能にされ得、次いで、レポーティングサーバは、データを使用して、コンタクトセンターの動作態様を管理し、本明細書に説明される機能に従って、自動化されたアクションを実行するために使用されるレポートを生成し得る。そのようなデータは、コンタクトセンターのリソースの状態、例えば、平均待ち時間、破棄率、エージェントの占有率、及び本明細書に説明される機能が必要とするであろうその他に関連し得る。 Statistics server 116 may be configured to record and aggregate data related to the performance and operational aspects of contact center system 100. Such information may be compiled by statistics server 116 and made available to other servers and modules, such as reporting server 134, which in turn uses the data to manage the operational aspects of the contact center. and may generate reports that are used to perform automated actions in accordance with the functionality described herein. Such data may relate to the state of the contact center's resources, such as average wait time, abandonment rate, agent occupancy, and others as may be required by the functionality described herein.

コンタクトセンターシステム100のエージェントデバイス118は、本明細書に説明される機能を容易にする方法で、コンタクトセンターシステム100の様々な構成要素及びモジュールとインタラクションするように構成されている通信デバイスであり得る。例えば、エージェントデバイス118は、通常の電話コール又はVoIPコールに適合された電話を含み得る。エージェントデバイス118は、コンタクトセンターシステム100のサーバと通信し、動作に関連付けられたデータ処理を実施し、本明細書に説明される機能に従って、音声、チャット、電子メール、及び他のマルチメディア通信機構を介して顧客とインターフェース接続するように構成されているコンピューティングデバイスを更に含み得る。図1は、3つのそのようなエージェントデバイス118、すなわち、エージェントデバイス118A、118B、及び118Cを示すが、特定の実施形態において、任意の数のエージェントデバイス118が存在し得ることを理解されたい。 Agent device 118 of contact center system 100 may be a communication device configured to interact with various components and modules of contact center system 100 in a manner that facilitates the functionality described herein. . For example, agent device 118 may include a telephone adapted for regular telephone calls or VoIP calls. Agent device 118 communicates with servers of contact center system 100, performs data processing associated with operations, and provides voice, chat, email, and other multimedia communication mechanisms in accordance with the functionality described herein. The computer may further include a computing device configured to interface with the customer via the computer. Although FIG. 1 shows three such agent devices 118, namely agent devices 118A, 118B, and 118C, it should be understood that any number of agent devices 118 may be present in a particular embodiment.

マルチメディア/ソーシャルメディアサーバ120は、顧客デバイス102及び/又はサーバ128との(音声以外の)メディアインタラクションを容易にするように構成され得る。そのようなメディアインタラクションは、例えば、電子メール、音声メール、チャット、ビデオ、テキストメッセージング、ウェブ、ソーシャルメディア、コブラウジングなどに関連し得る。マルチメディア/ソーシャルメディアサーバ120は、マルチメディアイベント及び通信を受信、処理、及び転送するための専用ハードウェア及びソフトウェアを有する、当該技術分野で慣用の任意のIPルータの形態を採り得る。 Multimedia/social media server 120 may be configured to facilitate (non-voice) media interaction with customer device 102 and/or server 128. Such media interactions may involve, for example, email, voice mail, chat, video, text messaging, web, social media, co-browsing, etc. Multimedia/social media server 120 may take the form of any IP router conventional in the art with specialized hardware and software for receiving, processing, and forwarding multimedia events and communications.

知識管理サーバ122は、顧客と知識システム124との間のインタラクションを容易にするように構成され得る。概して、知識システム124は、質問又はクエリを受信し、それに応じて回答を提供することができるコンピュータシステムであり得る。知識システム124は、コンタクトセンターシステム100の一部として含まれるか、又はサードパーティによってリモートで操作され得る。知識システム124は、参考資料として知識システム124に提出された百科事典、辞書、ニュースワイヤ記事、文学作品、又は他の文書などの情報源から情報を取得することによって、自然言語で提示された質問に回答することができる人工知能コンピュータシステムを含み得る。一例として、知識システム124は、IBMワトソン又は同様のシステムとして具現化され得る。 Knowledge management server 122 may be configured to facilitate interaction between customers and knowledge system 124. Generally, knowledge system 124 may be a computer system that can receive questions or queries and provide answers in response. Knowledge system 124 may be included as part of contact center system 100 or operated remotely by a third party. Knowledge system 124 can answer questions posed in natural language by obtaining information from sources such as encyclopedias, dictionaries, newswire articles, literary works, or other documents submitted to knowledge system 124 as reference materials. may include an artificially intelligent computer system capable of answering questions. As an example, knowledge system 124 may be embodied as an IBM Watson or similar system.

チャットサーバ126は、顧客との電子チャット通信を行い、オーケストレーションし、且つ管理するように構成され得る。一般に、チャットサーバ126は、チャット会話を実装及び維持し、チャットトランスクリプトを生成するように構成されている。そのようなチャット通信は、顧客が、自動化されたチャットボット、人間のエージェント、又はその両方と通信するような方法で、チャットサーバ126によって行われ得る。例解的な実施形態において、チャットサーバ126は、チャットボット及び利用可能な人間のエージェントの間にチャット会話をディスパッチするチャットオーケストレーションサーバとして機能し得る。そのような場合、チャットサーバ126の処理ロジックは、利用可能なチャットリソース間でインテリジェントなワークロード分配を活用するために、そのように駆動されるルールであり得る。チャットサーバ126は更に、顧客デバイス102又はエージェントデバイス118のいずれかで生成されるユーザインターフェース(user interfaces、UI)を含む、チャット機能に関連付けられたUIを実装、管理、及び円滑化し得る。チャットサーバ126は、特定の顧客との単一のチャットセッション内で、例えば、チャットセッションが、チャットボットから人間のエージェントに、又は人間のエージェントからチャットボットに転送するように、チャットを自動ソースと人間ソースとの間で転送するように構成され得る。チャットサーバ126はまた、例えば、関連する記事へのリンクが提供され得るように、チャット中に顧客によって提示された問い合わせに対する提案及び回答を受信するために、知識管理サーバ122及び知識システム124に結合され得る。 Chat server 126 may be configured to conduct, orchestrate, and manage electronic chat communications with customers. Generally, chat server 126 is configured to implement and maintain chat conversations and generate chat transcripts. Such chat communications may be conducted by chat server 126 in such a way that the customer communicates with an automated chatbot, a human agent, or both. In an example embodiment, chat server 126 may function as a chat orchestration server that dispatches chat conversations between chatbots and available human agents. In such cases, the processing logic of chat server 126 may be rule driven to take advantage of intelligent workload distribution among available chat resources. Chat server 126 may further implement, manage, and facilitate UIs associated with chat functionality, including user interfaces (UIs) generated on either customer device 102 or agent device 118. The chat server 126 auto-sources chats within a single chat session with a particular customer, such that the chat session is transferred from a chatbot to a human agent or from a human agent to a chatbot. May be configured to transfer to and from human sources. Chat server 126 is also coupled to knowledge management server 122 and knowledge system 124 to receive suggestions and answers to inquiries submitted by customers during the chat, such that links to related articles may be provided, for example. can be done.

ウェブサーバ128は、Facebook、Twitter、Instagramなど、顧客がサブスクライブする様々なソーシャルインタラクションサイトのサイトホストを提供するために含まれ得る。コンタクトセンターシステム100の一部として描写されているが、ウェブサーバ128は、サードパーティによって提供され得、及び/又はリモートに維持され得ることを理解されたい。ウェブサーバ128はまた、コンタクトセンターシステム100によってサポートされている企業又は組織のウェブページを提供し得る。例えば、顧客は、ウェブページを閲覧して、特定の企業の製品及びサービスに関する情報を受信し得る。そのような企業のウェブページ内で、例えば、ウェブチャット、音声、又は電子メールを介して、コンタクトセンターシステム100とのインタラクションを開始するための機構が提供され得る。そのような機構の一例が、ウェブサーバ128上にホストされるウェブページ又はウェブサイト上に展開され得るウィジェットである。本明細書で使用される場合、ウィジェットは、特定の機能を実施するユーザインターフェース構成要素を指す。いくつかの実装例において、ウィジェットは、インターネットを介して顧客に表示されたウェブページ上にオーバーレイされ得るグラフィカルユーザインターフェースコントロールを含み得る。ウィジェットは、ウィンドウ又はテキストボックスなどに情報を示すか、又はファイルを共有若しくは開くこと、又は通信を開始することなど、特定の機能にユーザがアクセスすることを可能にするボタン又は他のコントロールを含み得る。いくつかの実装例において、ウィジェットは、コンパイルなしで別個のウェブページ内にインストールされ、かつ実行され得るコードの可搬部分を有するユーザインターフェース構成要素を含む。いくつかのウィジェットは、対応する又は追加のユーザインターフェースを含み得、様々なローカルリソース(例えば、顧客デバイス上のカレンダー若しくはコンタクト情報)又はネットワークを介してリモートリソース(例えば、インスタントメッセージング、電子メール、又はソーシャルネットワーキングアップデート)にアクセスするように構成され得る。 A web server 128 may be included to provide site hosting for various social interaction sites to which customers subscribe, such as Facebook, Twitter, Instagram, etc. Although depicted as part of contact center system 100, it should be understood that web server 128 may be provided by a third party and/or maintained remotely. Web server 128 may also serve web pages for businesses or organizations supported by contact center system 100. For example, a customer may view a web page and receive information about a particular company's products and services. Within such a company's web page, a mechanism may be provided for initiating interaction with contact center system 100, for example via web chat, voice, or email. An example of such a mechanism is a widget that can be deployed on a web page or website hosted on web server 128. As used herein, widget refers to a user interface component that performs a specific functionality. In some implementations, widgets may include graphical user interface controls that may be overlaid on web pages displayed to customers over the Internet. A widget presents information, such as in a window or text box, or contains buttons or other controls that allow the user to access certain functionality, such as sharing or opening a file, or initiating a communication. obtain. In some implementations, widgets include user interface components that have portable portions of code that can be installed and executed within a separate web page without compilation. Some widgets may include corresponding or additional user interfaces to connect various local resources (e.g., calendar or contact information on the customer's device) or remote resources (e.g., instant messaging, email, or social networking updates).

インタラクション(iXn)サーバ130は、コンタクトセンターの延期可能なアクティビティ、及び完了のための、そのアクティビティの人間のエージェントへのルーティングを管理するように構成され得る。本明細書で使用される場合、延期可能なアクティビティとしては、オフラインで実施され得るバックオフィスワーク、例えば、電子メールに対応すること、トレーニングに参加すること、及び顧客とのリアルタイム通信を必要としない他のアクティビティが挙げられる。一例として、インタラクション(iXn)サーバ130は、延期可能なアクティビティの各々を処理するのに適切なエージェントを選択するために、ルーティングサーバ112とインタラクションするように構成され得る。特定のエージェントに割り当てられると、延期可能なアクティビティは、そのエージェントにプッシュされ、その結果、延期可能なアクティビティは、選択されたエージェントのエージェントデバイス118上に表示される。延期可能なアクティビティは、選択されたエージェントが完了させるタスクとして、ワークビン内に表示され得る。ワークビンの機能は、例えば、リンクされたリスト、アレイなどの任意の従来のデータ構造、及び/又は他の好適なデータ構造を介して実装され得る。エージェントデバイス118の各々は、ワークビンを含み得る。一例として、ワークビンは、対応するエージェントデバイス118のバッファメモリ内に維持され得る。 Interaction (iXn) server 130 may be configured to manage contact center deferrable activities and the routing of those activities to human agents for completion. As used herein, deferrable activities include back-office work that can be performed offline, such as responding to emails, attending training, and not requiring real-time communication with customers. Other activities may be mentioned. As one example, interaction (iXn) server 130 may be configured to interact with routing server 112 to select an appropriate agent to handle each deferrable activity. Once assigned to a particular agent, the deferrable activity is pushed to that agent such that the deferrable activity is displayed on the selected agent's agent device 118. Deferrable activities may be displayed in the workbin as tasks for the selected agent to complete. Workbin functionality may be implemented via any conventional data structure, such as, for example, a linked list, an array, and/or other suitable data structure. Each of agent devices 118 may include a workbin. As one example, a workbin may be maintained in a buffer memory of a corresponding agent device 118.

ユニバーサルコンタクトサーバ(universal contact server、UCS)132は、顧客データベースに記憶された情報を検索し、及び/又は顧客データベースに記憶するために情報を顧客データベースに伝送するように構成され得る。例えば、UCS132は、特定の顧客とのチャットがどのように処理されたかに関する履歴を維持することを容易にするために、チャット機能の一部として利用され得、次いで、この履歴は、将来のチャット通信をどのように処理するべきかに関する参照として使用され得る。より一般的には、UCS132は、好ましいメディアチャネル及びコンタクトする最良の時間などの顧客選好の履歴を維持することを容易にするように構成され得る。これを行うために、UCS132は、例えば、エージェントからのコメント、顧客通信履歴などに関するデータなど、各顧客のインタラクション履歴に関連するデータを識別するように構成され得る。次いで、これらのデータタイプの各々は、顧客データベース又は他のモジュールに記憶されて、本明細書に説明される機能が必要とするときに検索され得る。 A universal contact server (UCS) 132 may be configured to retrieve information stored in the customer database and/or transmit information to the customer database for storage therein. For example, the UCS 132 may be utilized as part of a chat feature to facilitate maintaining a history of how chats with a particular customer were handled, and this history may then be used in future chats. It can be used as a reference on how to handle communications. More generally, UCS 132 may be configured to facilitate maintaining a history of customer preferences, such as preferred media channels and best times to contact. To do this, UCS 132 may be configured to identify data related to each customer's interaction history, such as, for example, data regarding comments from agents, customer communication history, and the like. Each of these data types can then be stored in a customer database or other module and retrieved as needed by the functionality described herein.

レポーティングサーバ134は、統計サーバ116又は他のソースによってコンパイル及び集計されたデータからレポートを生成するように構成され得る。そのようなレポートは、準リアルタイムレポート又は履歴レポートを含み、例えば、平均待ち時間、破棄率、及び/又はエージェントの占有率など、コンタクトセンターリソース及び性能特性の状態に関係し得る。レポートは、自動的に、又は要求元(例えば、エージェント、管理者、コンタクトセンターアプリケーションなど)からの具体的な要求に応じて生成され得る。次いで、レポートは、本明細書に説明される機能に従って、コンタクトセンターの動作を管理するために使用され得る。 Reporting server 134 may be configured to generate reports from data compiled and aggregated by statistics server 116 or other sources. Such reports may include near real-time reports or historical reports, and may relate to the state of contact center resources and performance characteristics, such as, for example, average wait time, abandonment rate, and/or agent occupancy. Reports may be generated automatically or in response to a specific request from a requester (eg, agent, administrator, contact center application, etc.). The reports may then be used to manage contact center operations in accordance with the functionality described herein.

メディアサービスサーバ136は、コンタクトセンター機能をサポートするために、オーディオサービス及び/又はビデオサービスを提供するように構成され得る。本明細書に説明される機能によると、そのような機能としては、IVR若しくはIMRシステムのプロンプト(例えば、オーディオファイルの再生)、保留音、ボイスメール/単一パーティの記録、マルチパーティの記録(例えば、オーディオ及び/若しくはビデオコールの)、音声認識、デュアルトーンマルチ周波数(dual tone multi frequency、DTMF)認識、ファックス、オーディオ及びビデオトランスコーディング、セキュアなリアルタイム転送プロトコル(secure real-time transport protocol、SRTP)、電話会議、ビデオ会議、コーチング(例えば、コーチが顧客とエージェントとの間のインタラクションを立ち聞きするための、及び顧客がコメントを聞くことなく、コーチがエージェントにコメントを提供するためのサポート)、コール分析、キーワードスポッティング、並びに/又は他の関連する機能が、挙げられ得る。 Media services server 136 may be configured to provide audio and/or video services to support contact center functionality. According to the features described herein, such features include IVR or IMR system prompts (e.g., playing audio files), music on hold, voicemail/single-party recording, multi-party recording ( (of audio and/or video calls), voice recognition, dual tone multi frequency (DTMF) recognition, fax, audio and video transcoding, secure real-time transport protocol (SRTP) ), teleconferencing, video conferencing, coaching (e.g., support for coaches to overhear interactions between customers and agents, and for coaches to provide comments to agents without the customer hearing the comments); Call analysis, keyword spotting, and/or other related features may be mentioned.

分析モジュール138は、本明細書に説明される機能が必要とし得る場合に、複数の異なるデータソースから受信されたデータに対して分析を実施するためのシステム及び方法を提供するように構成され得る。例解的な実施形態によれば、分析モジュール138はまた、例えば、顧客データ、エージェントデータ、及びインタラクションデータなどの収集されたデータに基づいて、予測因子又はモデルを生成、更新、トレーニング、及び修正し得る。モデルは、顧客又はエージェントの行動モデルを含み得る。行動モデルは、様々な状況で、例えば、顧客又はエージェントの行動を予測するために使用され得、それにより、本明細書に説明される技術の実施形態が、そのような予測に基づいてインタラクションを調整するか、又は将来のインタラクションの予測される特性に備えてリソースを割り当てることを可能にし、それにより、全体的なコンタクトセンター性能及び顧客体験を改善する。分析モジュールは、コンタクトセンターの一部であると説明されているが、そのような行動モデルはまた、顧客システム(又は本明細書でも使用されているように、インタラクションの「顧客側」)に実装されて、顧客の利益のために使用され得ることが理解されよう。 Analysis module 138 may be configured to provide systems and methods for performing analysis on data received from multiple different data sources, as may be required by the functionality described herein. . According to example embodiments, analysis module 138 also generates, updates, trains, and modifies predictors or models based on collected data, such as, for example, customer data, agent data, and interaction data. It is possible. The model may include a customer or agent behavior model. Behavioral models may be used to predict the behavior of, for example, customers or agents in a variety of situations, such that embodiments of the techniques described herein can tailor interactions based on such predictions. Enables the ability to adjust or allocate resources for anticipated characteristics of future interactions, thereby improving overall contact center performance and customer experience. Although the analytics module is described as being part of the contact center, such behavioral models may also be implemented in the customer system (or as used herein, the "customer side" of the interaction). It will be appreciated that the terms and conditions may be used for the benefit of the customer.

例解的な実施形態によれば、分析モジュール138は、顧客データベース及びエージェントデータベースを含む記憶デバイス114に記憶されたデータへのアクセスを有し得る。分析モジュール138はまた、インタラクション及びインタラクションコンテンツ(例えば、その中に検出されたインタラクション及びイベントのトランスクリプト)、インタラクションメタデータ(例えば、顧客識別子、エージェント識別子、インタラクションの媒体、インタラクションの長さ、インタラクション開始及び終了時間、部門、タグ付きカテゴリ)、並びにアプリケーション設定(例えば、コンタクトセンターを通るインタラクション経路)に関係するデータを記憶するインタラクションデータベースへのアクセスを有し得る。更に、分析モジュール138は、例えば、機械学習技術を適用することによって、アルゴリズム及びモデルを開発及びトレーニングする際に使用するために、記憶デバイス114内に記憶されたデータを検索するように構成され得る。 According to an example embodiment, analysis module 138 may have access to data stored on storage device 114 including a customer database and an agent database. The analysis module 138 also analyzes interactions and interaction content (e.g., transcripts of interactions and events detected therein), interaction metadata (e.g., customer identifier, agent identifier, medium of interaction, length of interaction, interaction initiation and end time, department, tagged categories), as well as an interaction database that stores data related to application settings (eg, interaction paths through a contact center). Additionally, analysis module 138 may be configured to retrieve data stored within storage device 114 for use in developing and training algorithms and models, for example, by applying machine learning techniques. .

含まれるモデルのうちの1つ以上は、顧客若しくはエージェントの挙動、並びに/又はコンタクトセンターの動作及び性能に関連する態様を予測するように構成され得る。更に、モデルのうちの1つ以上は、自然言語処理に使用されて、例えば、意図認識などを含み得る。モデルは、システムを記述する既知の第1原理方程式、実験モデルをもたらすデータ、又は既知の第1原理方程式とデータとの組み合わせに基づいて、開発され得る。本実施形態で使用するためのモデルを開発する際に、第1原理方程式は、多くの場合利用可能でないか又は容易に導出されないため、収集及び記憶されたデータに基づいて経験的モデルを構築することが一般的に好ましくあり得る。複雑系の操作変数/外乱変数と制御変数との間の関係を適切に捕捉するために、いくつかの実施形態において、モデルが非線形であることが好ましくあり得る。これは、非線形モデルが、本明細書で考察されるものなどの複雑系に一般的である、操作変数/外乱変数と制御変数との間の直線関係ではなく、曲線関係を示す可能性があるためである。前述の要件を考慮すると、機械学習又はニューラルネットワークベースのアプローチが、モデルを実装するための好ましい実施形態であり得る。例えば、ニューラルネットワークは、高度な回帰アルゴリズムを使用して、経験的データに基づいて開発され得る。 One or more of the included models may be configured to predict aspects related to customer or agent behavior and/or contact center operation and performance. Additionally, one or more of the models may be used for natural language processing, including, for example, intent recognition. A model may be developed based on known first-principles equations that describe the system, data that yields an experimental model, or a combination of known first-principles equations and data. In developing models for use in this embodiment, first-principles equations are often not available or easily derived, so we build empirical models based on collected and stored data. may generally be preferred. In some embodiments, it may be preferable for the model to be non-linear in order to adequately capture the relationship between manipulated/disturbed variables and control variables of a complex system. This may result in nonlinear models exhibiting a curvilinear rather than linear relationship between manipulated/disturbance variables and controlled variables, which is common in complex systems such as those considered herein. It's for a reason. Considering the aforementioned requirements, machine learning or neural network-based approaches may be the preferred embodiments for implementing the model. For example, neural networks can be developed based on empirical data using sophisticated regression algorithms.

分析モジュール138は、オプティマイザを更に含み得る。理解されるように、オプティマイザを使用して、制約のセットが適用される「コスト関数」対象を最小化することができ、コスト関数は、所望の目的又はシステム動作の数学的表現である。モデルは非線形であり得るため、オプティマイザは、非線形プログラミングオプティマイザであり得る。しかしながら、本明細書に説明される技術は、線形プログラミング、二次プログラミング、混合整数非線形プログラミング、確率的プログラミング、グローバル非線形プログラミング、遺伝的アルゴリズム、粒子/スワーム技術などを含むが、これらに限定されない、様々な異なるタイプの最適化アプローチを個々に又は組み合わせて使用することによって実装され得ることが企図される。 Analysis module 138 may further include an optimizer. As will be appreciated, an optimizer can be used to minimize a "cost function" object to which a set of constraints are applied, where a cost function is a mathematical representation of a desired objective or system behavior. Since the model may be non-linear, the optimizer may be a non-linear programming optimizer. However, the techniques described herein include, but are not limited to, linear programming, quadratic programming, mixed integer nonlinear programming, stochastic programming, global nonlinear programming, genetic algorithms, particle/swarm techniques, etc. It is contemplated that it may be implemented using a variety of different types of optimization approaches, individually or in combination.

いくつかの実施形態によれば、モデル及びオプティマイザは、一緒に、最適化システム内で使用され得る。例えば、分析モジュール138は、最適化システムを、コンタクトセンターの性能及び動作の態様が最適化されるか、又は少なくとも強化される最適化プロセスの一部として利用し得る。これは、例えば、顧客体験、エージェント体験、インタラクションルーティング、自然言語処理、意図認識、又は自動プロセスに関連する他の機能に関連する特徴を含み得る。 According to some embodiments, a model and an optimizer may be used together within an optimization system. For example, analysis module 138 may utilize the optimization system as part of an optimization process in which aspects of contact center performance and operation are optimized or at least enhanced. This may include, for example, features related to customer experience, agent experience, interaction routing, natural language processing, intent recognition, or other functionality related to automated processes.

図1(並びに本明細書に含まれる他の図)の様々な構成要素、モジュール、及び/又はサーバは各々、コンピュータプログラム命令を実行し、且つ本明細書に説明される様々な機能を実施するために、他のシステム構成要素とインタラクションする1つ以上のプロセッサを含み得る。そのようなコンピュータプログラム命令は、例えば、ランダムアクセスメモリ(random-access memory、RAM)などの標準のメモリデバイスを使用して実装されるメモリ内に記憶されるか、又は例えば、CD-ROM、フラッシュドライブなどの他の非一時的コンピュータ可読媒体に記憶され得る。サーバの各々の機能は、特定のサーバによって提供されるものとして説明されているが、当業者は、様々なサーバの機能が、組み合わされるか若しくは単一のサーバに統合され得るか、又は特定のサーバの機能が、本明細書に説明される技術の範囲から逸脱することなく、1つ以上の他のサーバにわたって分散され得ることを理解するべきである。更に、「インタラクション」及び「通信」という用語は、互換的に使用され、概して、電話コール(PSTN若しくはVoIPコール)、電子メール、Vメール、ビデオ、チャット、画面共有、テキストメッセージ、ソーシャルメディアメッセージ、WebRTCコールなどを含むが、これらに限定されない、任意の通信チャネルを使用する任意のリアルタイム及び非リアルタイムのインタラクションを指す。コンタクトセンターシステム100の構成要素へのアクセス及びその制御は、顧客デバイス102及び/又はエージェントデバイス118上に生成され得るユーザインターフェース(UI)を通して影響を受け得る。すでに述べたように、コンタクトセンターシステム100は、クラウドベースの環境又はクラウドコンピューティング環境などで一部又は全ての構成要素がリモートでホストされるハイブリッドシステムとして運用され得る。コンタクトセンターシステム100のデバイスの各々は、図2を参照して以下に説明されるコンピューティングデバイス200と同様の1つ以上のコンピューティングデバイスの一部として具現化されるか、それを含むか、又はそれを形成し得ることを理解されたい。 The various components, modules, and/or servers of FIG. 1 (as well as other figures included herein) each execute computer program instructions and perform various functions described herein. It may include one or more processors that interact with other system components for purposes. Such computer program instructions may be stored in memory implemented using standard memory devices such as, for example, random-access memory (RAM), or e.g. It may be stored on other non-transitory computer readable media such as a drive. Although the functionality of each of the servers is described as being provided by a particular server, those skilled in the art will appreciate that the functionality of the various servers may be combined or consolidated into a single server, or that the functionality of the various servers may be It should be understood that the functionality of a server may be distributed across one or more other servers without departing from the scope of the techniques described herein. Furthermore, the terms "interaction" and "communication" are used interchangeably and generally refer to phone calls (PSTN or VoIP calls), emails, V-mails, videos, chats, screen shares, text messages, social media messages, Refers to any real-time and non-real-time interactions using any communication channel, including but not limited to WebRTC calls and the like. Access to and control of components of contact center system 100 may be effected through a user interface (UI) that may be generated on customer device 102 and/or agent device 118. As previously mentioned, contact center system 100 may be operated as a hybrid system in which some or all components are hosted remotely, such as in a cloud-based or cloud computing environment. Each of the devices of contact center system 100 may be embodied as part of or include one or more computing devices similar to computing device 200 described below with reference to FIG. It is to be understood that it is possible to form

ここで図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を介してデータを交換することによって提供され得、及び/又は機能は、別様にアクセス/活用され得る。 Referring now to FIG. 2, a simplified block diagram of at least one embodiment of a computing device 200 is shown. In an exemplary embodiment, computing device 200 is embodied as a system configured to implement an INS model to detect anomalies in data provided by one or more customers. , or otherwise contain it. Exemplary computing device 200 may include any computing device, system, servicer, controller, switch, gateway, engine, module, and/or computing component described herein (e.g., for brevity herein). 2 depicts at least one embodiment of each of the following (which, collectively, may be interchangeably referred to as a computing device, server, or module). For example, various computing devices may be running computer program instructions and interacting with other system modules to perform the various functions described herein. It may be a process or thread running on one or more processors of the computing device 200 described above. Unless specifically limited to the contrary, functionality described in connection with multiple computing devices may be integrated into a single computing device or functions described in connection with a single computing device may be integrated into a single computing device. Functionality may be distributed across several computing devices. Further, in the context of a computing system described herein, such as contact center system 100 of FIG. on-site at the same physical location), a remote computing device 200 (e.g., off-site, i.e., in a cloud-based environment, or within a cloud computing environment, e.g., in a remote data center connected via a network); It may be located on some combination thereof. In some embodiments, the functionality provided by servers located on off-site computing devices is provided through a virtual private network (VPN) as if such servers were on-site. Access and functionality may be provided using software as a service (SaaS) accessed over the Internet using a variety of protocols, e.g., extensible markup languages. (extensible markup language, XML), JSON, and/or functionality may be accessed/exploited differently.

いくつかの実施形態において、コンピューティングデバイス200は、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ノートブック、ネットブック、Ultrabook(商標)、携帯電話、モバイルコンピューティングデバイス、スマートフォン、ウェアラブルコンピューティングデバイス、パーソナルデジタルアシスタント、モノのインターネット(Internet of Things、IoT)デバイス、処理システム、ワイヤレスアクセスポイント、ルータ、ゲートウェイ、及び/又は本明細書に説明される機能を実施することができる任意の他のコンピューティングデバイス、処理デバイス、並びに/若しくは通信デバイスとして具現化され得る。 In some embodiments, computing device 200 is a server, a desktop computer, a laptop computer, a tablet computer, a notebook, a netbook, an Ultrabook, a cell phone, a mobile computing device, a smart phone, a wearable computing device. , personal digital assistants, Internet of Things (IoT) devices, processing systems, wireless access points, routers, gateways, and/or any other computer capable of performing the functions described herein. may be embodied as a processing device, a processing device, and/or a communication device.

コンピューティングデバイス200は、動作ロジック208に従ってアルゴリズムを実行し、且つ/又はデータを処理する処理デバイス202と、コンピューティングデバイス200と1つ以上の外部デバイス210との間の通信を可能にする入出力デバイス204と、例えば、入出力デバイス204を介して外部デバイス210から受信したデータを記憶するメモリ206と、を含む。 Computing device 200 includes a processing device 202 that executes algorithms and/or processes data according to operational logic 208 and input/output that enables communication between computing device 200 and one or more external devices 210. device 204 and memory 206 for storing data received from external device 210 via input/output device 204, for example.

入出力デバイス204は、コンピューティングデバイス200が外部デバイス210と通信することを可能にする。例えば、入出力デバイス204は、送受信機、ネットワークアダプタ、ネットワークカード、インターフェース、1つ以上の通信ポート(例えば、USBポート、シリアルポート、パラレルポート、アナログポート、デジタルポート、VGA、DVI、HDMI、FireWire、CAT5、又は任意の他のタイプの通信ポート若しくはインターフェース)、及び/又は他の通信回路を含み得る。コンピューティングデバイス200の通信回路は、任意の1つ以上の通信技術(例えば、ワイヤレス又は有線通信)及び関連プロトコル(例えば、Ethernet、Bluetooth(登録商標)、Wi-Fi(登録商標)、WiMAXなど)を使用して、特定のコンピューティングデバイス200に応じてそのような通信を行うように構成され得る。入出力デバイス204は、本明細書に説明される技術を実施するために好適なハードウェア、ソフトウェア、及び/又はファームウェアを含み得る。 Input/output devices 204 enable computing device 200 to communicate with external devices 210. For example, the input/output device 204 may include a transceiver, a network adapter, a network card, an interface, one or more communication ports (e.g., USB port, serial port, parallel port, analog port, digital port, VGA, DVI, HDMI, FireWire). , CAT5, or any other type of communication port or interface), and/or other communication circuitry. The communications circuitry of computing device 200 may include any one or more communications technologies (e.g., wireless or wired communications) and associated protocols (e.g., Ethernet, Bluetooth, Wi-Fi, WiMAX, etc.). may be configured to perform such communications depending on the particular computing device 200. Input/output device 204 may include suitable hardware, software, and/or firmware to implement the techniques described herein.

外部デバイス210は、データがコンピューティングデバイス200から入力又は出力されることを可能にする任意のタイプのデバイスであり得る。例えば、様々な実施形態において、外部デバイス210は、本明細書に説明されるデバイス/システム、及び/又はその一部分のうちの1つ以上として具現化され得る。更に、いくつかの実施形態において、外部デバイス210は、別のコンピューティングデバイス、スイッチ、診断ツール、コントローラ、プリンタ、ディスプレイ、アラーム、周辺デバイス(例えば、キーボード、マウス、タッチスクリーンディスプレイなど)、及び/又は本明細書に説明される機能を実施することが可能な任意の他のコンピューティング、処理、及び/又は通信デバイスとして具現化され得る。更に、いくつかの実施形態において、外部デバイス210は、コンピューティングデバイス200に統合され得ることを理解されたい。 External device 210 may be any type of device that allows data to be input to or output from computing device 200. For example, in various embodiments, external device 210 may be embodied as one or more of the devices/systems and/or portions thereof described herein. Further, in some embodiments, external device 210 may include another computing device, switch, diagnostic tool, controller, printer, display, alarm, peripheral device (e.g., keyboard, mouse, touch screen display, etc.), and/or or any other computing, processing, and/or communication device capable of performing the functions described herein. Furthermore, it should be appreciated that in some embodiments, external device 210 may be integrated with computing device 200.

処理デバイス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つ以上の構成要素を含み得る。そのような構成要素は、デジタル回路、アナログ回路、又はそれらの組み合わせを含み得る。 Processing device 202 may be embodied as any type of processor capable of performing the functions described herein. In particular, processing device 202 may be embodied as one or more single-core or multi-core processors, microcontrollers, or other processors or processing/control circuits. For example, in some embodiments, processing device 202 includes an arithmetic logic unit (ALU), a central processing unit (CPU), a digital signal processor (DSP), a graphics processing a graphics processing unit (GPU), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), and/or another suitable processor; or may be embodied as such. Processing device 202 may be of the programmable type, a dedicated hardwired state machine, or a combination thereof. Processing device 202 having multiple processing units may utilize distributed processing, pipeline processing, and/or parallel processing in various embodiments. Furthermore, processing device 202 may be dedicated to performing only the operations described herein or may be utilized in one or more additional applications. In the exemplary embodiment, processing device 202 is programmable and executes algorithms and/or processes data according to operational logic 208 defined by programming instructions (such as software or firmware) stored in memory 206. do. Additionally or alternatively, operational logic 208 of processing device 202 may be defined at least in part by hardwired logic or other hardware. Additionally, processing device 202 includes one or more components of any type suitable for processing signals received from input/output device 204 or from other components or devices and providing a desired output signal. may be included. Such components may include digital circuits, analog circuits, or a combination thereof.

メモリ206は、ソリッドステートメモリ、電磁メモリ、光メモリ、又はそれらの組み合わせなどの、1つ以上のタイプの非一時的コンピュータ可読媒体であり得る。更に、メモリ206は、揮発性及び/又は不揮発性であり得、いくつかの実施形態において、メモリ206の一部又は全部は、ディスク、テープ、メモリスティック、カートリッジ、及び/又は他の好適な可搬型メモリなどの可搬型タイプのものであり得る。動作中、メモリ206は、オペレーティングシステム、アプリケーション、プログラム、ライブラリ、及びドライバなどのコンピューティングデバイス200の動作中に使用される様々なデータ及びソフトウェアを記憶し得る。メモリ206は、動作ロジック208を定義するプログラミング命令を記憶することに加えて、又はその代わりに、例えば、入出力デバイス204から受信される信号、及び/又は入出力デバイスに送信される信号を表すデータなどの、処理デバイス202の動作ロジック208によって操作されるデータを記憶し得ることを理解されたい。図2に示すように、メモリ206は、特定の実施形態に応じて、処理デバイス202に含まれる、及び/又は処理デバイス202に結合され得る。例えば、いくつかの実施形態において、処理デバイス202、メモリ206、及び/又はコンピューティングデバイス200の他の構成要素は、システムオンチップ(system-on-a-chip、SoC)の一部を形成し、単一の集積回路チップに組み込まれ得る。 Memory 206 may be one or more types of non-transitory computer readable media, such as solid state memory, electromagnetic memory, optical memory, or combinations thereof. Additionally, memory 206 may be volatile and/or non-volatile; in some embodiments, some or all of memory 206 may be a disk, tape, memory stick, cartridge, and/or other suitable device. It may be of a portable type, such as a portable memory. During operation, memory 206 may store various data and software used during operation of computing device 200, such as an operating system, applications, programs, libraries, and drivers. In addition to or in lieu of storing programming instructions that define operational logic 208, memory 206 represents, for example, signals received from and/or transmitted to input/output devices 204. It should be appreciated that data manipulated by operational logic 208 of processing device 202 may be stored, such as data. As shown in FIG. 2, memory 206 may be included in and/or coupled to processing device 202, depending on the particular embodiment. For example, in some embodiments, processing device 202, memory 206, and/or other components of computing device 200 form part of a system-on-a-chip (SoC). , can be incorporated into a single integrated circuit chip.

いくつかの実施形態において、コンピューティングデバイス200の様々な構成要素(例えば、処理デバイス202及びメモリ206)は、入力/出力サブシステムを介して通信可能に結合され得、入力/出力サブシステムは、処理デバイス202、メモリ206、並びにコンピューティングデバイス200の他の構成要素との入力/出力動作を容易にするための回路及び/又は構成要素として具現化され得る。例えば、入出力サブシステムは、メモリコントローラハブ、入出力制御ハブ、ファームウェアデバイス、通信リンク(すなわち、ポイントツーポイントリンク、バスリンク、ワイヤ、ケーブル、ライトガイド、プリント回路基板トレースなど)、並びに/若しくは入出力動作を容易にするための他の構成要素及びサブシステムとして具現化され得るか、又は別様にそれらを含み得る。 In some embodiments, various components of computing device 200 (e.g., processing device 202 and memory 206) may be communicatively coupled via an input/output subsystem that includes: It may be embodied as circuitry and/or components to facilitate input/output operations with processing device 202, memory 206, and other components of computing device 200. For example, the input/output subsystem may include a memory controller hub, an input/output control hub, a firmware device, a communication link (i.e., point-to-point link, bus link, wire, cable, light guide, printed circuit board trace, etc.), and/or It may be embodied in or otherwise include other components and subsystems to facilitate input/output operations.

コンピューティングデバイス200は、他の実施形態において、典型的なコンピューティングデバイス(例えば、様々な入出力デバイス及び/又は他の構成要素)に一般的に見られるものなど、他の又は追加の構成要素を含み得る。本明細書に説明されるコンピューティングデバイス200の構成要素のうちの1つ以上は、複数のコンピューティングデバイスにわたって分散され得ることを更に理解されたい。言い換えれば、本明細書に説明される技術は、1つ以上のコンピューティングデバイスを含むコンピューティングシステムによって採用され得る。加えて、単一の処理デバイス202、I/Oデバイス204、及びメモリ206のみが図2に例解的に示されているが、特定のコンピューティングデバイス200は、他の実施形態において、複数の処理デバイス202、I/Oデバイス204、及び/又はメモリ206を含み得ることを理解されたい。更に、いくつかの実施形態において、2つ以上の外部デバイス210がコンピューティングデバイス200と通信し得る。 Computing device 200, in other embodiments, may include other or additional components, such as those commonly found in typical computing devices (e.g., various input/output devices and/or other components). may include. It is further understood that one or more of the components of computing device 200 described herein may be distributed across multiple computing devices. In other words, the techniques described herein may be employed by a computing system that includes one or more computing devices. Additionally, although only a single processing device 202, I/O device 204, and memory 206 are illustratively shown in FIG. It should be appreciated that processing devices 202, I/O devices 204, and/or memory 206 may be included. Additionally, in some embodiments, more than one external device 210 may communicate with computing device 200.

コンピューティングデバイス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ネットワーク、プライベートネットワーク(例えば、イントラネットなど)、ラジオ、テレビ、ケーブル、衛星、及び/又はデータを搬送するための任意の他の配信若しくはトンネリング機構、又はそのようなネットワークの任意の適切な組み合わせを含み得る。様々なデバイス/システムは、送信元及び/又は宛先デバイス/システムに応じて、異なるネットワークを介して互いに通信し得ることを理解されたい。 Computing device 200 may be one of multiple devices connected by a network or to other systems/resources via a network. A network may be embodied as any one or more types of communication networks that can facilitate communications between various devices communicatively connected through the network. Accordingly, a network may include one or more networks, routers, switches, access points, hubs, computers, client devices, endpoints, and/or other intervening network devices. For example, the network may be embodied as one or more cellular networks, telephone networks, local or wide area networks, publicly available global networks (e.g., the Internet), ad hoc networks, short-range communication links, or combinations thereof. or may otherwise include them. In some embodiments, the network may include a circuit-switched voice or data network, a packet-switched voice or data network, and/or any other network capable of carrying voice and/or data. In particular, in some embodiments, the network may include an Internet Protocol (IP)-based network and/or an asynchronous transfer mode (ATM)-based network. In some embodiments, the network may transmit voice traffic (e.g., via a Voice over IP (VOIP) network), web traffic, and/or other network traffic to certain embodiments and/or It can be handled depending on the devices of the system that communicate with each other. In various embodiments, the networks include analog or digital wired and wireless networks (e.g., IEEE 802.11 networks, public switched telephone networks (PSTN), Integrated Services Digital Networks (ISDN), and digital subscriber networks). (Digital Subscriber Line, xDSL)), Third Generation (3G) mobile communication network, Fourth Generation (4G) mobile communication network, Fifth Generation (5G) mobile communication network, wired Ethernet network, private network (e.g., intranet, etc.), radio, television, cable, satellite, and/or any other distribution or tunneling mechanism for conveying data, or any suitable of such networks. may include combinations. It should be appreciated that various devices/systems may communicate with each other via different networks depending on the source and/or destination devices/systems.

コンピューティングデバイス200は、セキュアソケット層又はトランスポート層セキュリティなど、任意のタイプのゲートウェイ又はトンネリングプロトコルを介して、他のコンピューティングデバイス200と通信し得ることを理解されたい。ネットワークインターフェースとしては、コンピューティングデバイスを、本明細書に説明される動作を実施することができる任意のタイプのネットワークにインターフェース接続するために好適な、ネットワークインターフェースカードなどの内蔵型ネットワークアダプタが挙げられ得る。更に、ネットワーク環境は、様々なネットワーク構成要素が仮想化される仮想ネットワーク環境であり得る。例えば、様々なマシンは、物理マシン上で実行されるソフトウェアベースのコンピュータとして実装された仮想マシンであり得る。仮想マシンは、同じオペレーティングシステムを共有し得るか、又は他の実施形態において、異なるオペレーティングシステムが、各仮想マシンインスタンス上で実行され得る。例えば、複数の仮想マシンが、同じホスト物理マシン上で実行され、各々が、独自の専用ボックスを有するかのように機能する「ハイパーバイザ」タイプの仮想化が使用される。他のタイプの仮想化が、他の実施形態、例えば、ネットワーク(例えば、ソフトウェア定義ネットワーキングを介して)又は機能(例えば、ネットワーク機能仮想化を介して)で、採用され得る。 It should be appreciated that computing device 200 may communicate with other computing devices 200 via any type of gateway or tunneling protocol, such as secure socket layer or transport layer security. Network interfaces include embedded network adapters, such as network interface cards, suitable for interfacing the computing device to any type of network capable of performing the operations described herein. obtain. Additionally, the network environment may be a virtual network environment in which various network components are virtualized. For example, the various machines can be virtual machines implemented as software-based computers running on physical machines. The virtual machines may share the same operating system, or in other embodiments, different operating systems may run on each virtual machine instance. For example, a "hypervisor" type of virtualization is used, where multiple virtual machines run on the same host physical machine, each functioning as if it had its own private box. Other types of virtualization may be employed in other embodiments, such as networks (eg, via software defined networking) or functions (eg, via network function virtualization).

それにより、本明細書に説明されるコンピューティングデバイス200のうちの1つ以上は、1つ以上のクラウドベースのシステムとして具現化されるか、又はその一部分を形成し得る。クラウドベースの実施形態において、クラウドベースのシステムは、例えば、複数の命令をオンデマンドで実行し、特定のアクティビティ/トリガによってプロンプトされたときにのみ命令を実行し、使用されないときにはコンピューティングリソースを消費しないサーバアンビギュアス(server-ambiguous)コンピューティングソリューションとして具現化され得る。すなわち、システムは、様々な仮想関数(例えば、ラムダ関数、Azure関数、Googleクラウド関数、及び/又は他の好適な仮想関数)が、本明細書に説明されるシステムの機能に対応して実行され得るコンピューティングシステム(例えば、デバイスの分散ネットワーク)「上に」存在する仮想コンピューティング環境として具現化され得る。例えば、イベントが発生する(例えば、データが処理のためにシステムに転送される)と、仮想コンピューティング環境が、(例えば、仮想コンピューティング環境のAPIへの要求を介して)通信され得、それにより、APIは、一連のルールに基づいて、正しい仮想機能(例えば、特定のサーバアンビギュアスコンピューティングリソース)に要求をルーティングし得る。したがって、データの伝送の要求が(例えば、システムへの適切なユーザインターフェースを介して)ユーザによってなされる場合、適切な仮想関数は、仮想関数のインスタンスを削除する前にアクションを実施するように実行され得る。 Accordingly, one or more of the computing devices 200 described herein may be embodied as, or form part of, one or more cloud-based systems. In cloud-based embodiments, a cloud-based system can, for example, execute multiple instructions on demand, execute instructions only when prompted by a specific activity/triggers, and consume computing resources when not in use. It can be implemented as a non-server-ambiguous computing solution. That is, the system may execute various virtual functions (e.g., lambda functions, Azure functions, Google cloud functions, and/or other suitable virtual functions) corresponding to the functionality of the system described herein. may be embodied as a virtual computing environment that resides “on” a computing system (e.g., a distributed network of devices) that obtains the information. For example, when an event occurs (e.g., data is transferred to a system for processing), the virtual computing environment may communicate (e.g., via a request to the virtual computing environment's API) that The API may route requests to the correct virtual function (eg, a particular server-ambiguous computing resource) based on a set of rules. Therefore, if a request for transmission of data is made by a user (e.g., via an appropriate user interface to the system), the appropriate virtual function will be run to perform the action before deleting the instance of the virtual function. can be done.

次に図3を参照すると、使用時に、システム又はデバイスは、1人以上の顧客によって提供されるデータ内の異常を検出する方法300を実行することができる。いくつかの実施形態では、システムは、コンタクトセンターシステム(例えば、図1のコンタクトセンターシステム100)及び/又はコンピューティングデバイス(例えば、図2のコンピューティングデバイス200)若しくはそのシステム/デバイスとして具現化されてもよいことを理解されたい。更に、いくつかの実施形態では、システムは、様々なプラットフォームの動作監視、管理、及びトラブルシューティングを支援するための一連のツールとして具現化されてもよく、又はそうでなければそれらを含んでもよい。一例では、システムは、Genesys Workbench(WB)9.2又はその任意の後続リリース(複数可)によって提供されるツール一式として具現化されてもよく、又はそうでなければそれらを含んでもよい。特に、システムは、例えば、ワークベンチ異常検出(AD)機能の様々な機能を組み込むことができる。最後に、方法300の特定のブロックは、例として例解されており、そのようなブロックは、反対のことが述べられていない限り、特定の実施形態に応じて、全体的又は部分的に組み合わされ、又は分割され、追加され、又は除去され、及び/又は並べ替えられ得ることを理解されたい。 Referring now to FIG. 3, in use, a system or device may perform a method 300 for detecting anomalies in data provided by one or more customers. In some embodiments, the system is embodied as a contact center system (e.g., contact center system 100 of FIG. 1) and/or a computing device (e.g., computing device 200 of FIG. 2) or systems/devices thereof. Please understand that it is okay to do so. Further, in some embodiments, the system may be embodied as or otherwise include a set of tools to assist in operational monitoring, management, and troubleshooting of various platforms. . In one example, the system may be embodied as or otherwise include a suite of tools provided by Genesys Workbench (WB) 9.2 or any subsequent release(s) thereof. In particular, the system may incorporate various features, such as workbench anomaly detection (AD) functionality. Finally, certain blocks of method 300 are illustrated by way of example; such blocks may be combined in whole or in part, depending on the particular embodiment, unless stated to the contrary. It is to be understood that the information may be divided, added to, removed, and/or rearranged.

例解的な方法300は、システムがメトリックデータを受信するブロック312から始まる。いくつかの実施形態では、メトリックデータは、システムの外部及び/又はリモートのソースから提供されてもよく、システムは、ソースからメトリックデータを受信するために、ソースに通信可能に結合されてもよい。いずれにしても、例解的な実施形態では、メトリックデータは、特定の顧客メトリックについての時系列ベースの観測値を示し、メトリックの選択及び/又は指定は、特定の顧客の固有のニーズに基づくことができ、且つ/又はそれに合わせて調整することができる。システムによるブロック312におけるメトリックデータの受信は、ソース(例えば、CPU、RAM、ディスク、ネットワーク)からのメトリックデータの取り込みを含み得るか、又はそうでなければそれに関連付けられ得る。 The example method 300 begins at block 312 where the system receives metric data. In some embodiments, the metric data may be provided from a source external to the system and/or remote, and the system may be communicatively coupled to the source to receive metric data from the source. . In any case, in the exemplary embodiment, the metric data represents time-series-based observations for particular customer metrics, and the selection and/or designation of the metrics is based on the unique needs of the particular customer. and/or can be adjusted accordingly. Receiving metric data at block 312 by the system may include or otherwise be associated with capturing metric data from a source (eg, CPU, RAM, disk, network).

例解的な方法300のブロック314において、システムは、メトリックデータに基づいて、1つ以上の球を特徴付けるパラメータを定義する。これらのパラメータの定義に関する更なる詳細は、図4(すなわち、ブロック414)を参照して以下で説明される。前述の説明から明らかなように、1つ以上の球の各々は、観測値が球内に位置するように、特定の顧客メトリックに関するメトリックデータからのいくつかの時系列ベースの観測値を捕捉するように構成される。 At block 314 of the example method 300, the system defines parameters characterizing one or more spheres based on the metric data. Further details regarding the definition of these parameters are described below with reference to FIG. 4 (ie, block 414). As is clear from the foregoing description, each of the one or more spheres captures several time-series-based observations from the metric data for a particular customer metric such that the observations are located within the sphere. It is configured as follows.

例解的な方法300のブロック316において、システムは、ブロック314において定義されたパラメータに基づいて、1つ以上の球を生成する。球の生成に関する更なる詳細は、図5を参照して以下に説明される。例解的な実施形態において、ブロック316を実施するために、本システムは、ブロック318及び320を実施する。ブロック318において、システムは、1つ以上の球内のメトリックデータのカバレッジを決定する。ブロック320において、システムは、特定の顧客メトリックに関するメトリックデータからの時系列ベースの観測値に基づいて変化する半径を有する複数の球を動的に生成する。いくつかの実施形態において、ブロック318及び320は、単一のブロックに組み合わされてもよい。一例では、ブロック318におけるカバレッジの決定は、ブロック320における球の動的生成と組み合わされ得る。 At block 316 of example method 300, the system generates one or more spheres based on the parameters defined at block 314. Further details regarding the generation of spheres are explained below with reference to FIG. In the exemplary embodiment, to implement block 316, the system implements blocks 318 and 320. At block 318, the system determines coverage of the metric data within one or more spheres. At block 320, the system dynamically generates a plurality of spheres with varying radii based on time-series-based observations from metric data regarding a particular customer metric. In some embodiments, blocks 318 and 320 may be combined into a single block. In one example, determining coverage at block 318 may be combined with dynamic generation of spheres at block 320.

例解的な方法300のブロック322において、システムは、モデルパラメータ(例えば、ブロック316における球生成に関連するパラメータ)を保存する。いくつかの実施形態において、ブロック322の実行は、INSモデルの完全な作成を表してもよく、又はそうでなければINSモデルの完全な作成に関連付けられてもよい。 At block 322 of example method 300, the system saves model parameters (eg, parameters related to sphere generation at block 316). In some embodiments, execution of block 322 may represent or otherwise be associated with the complete creation of an INS model.

例示的な方法300のブロック324において、システムは、ブロック316において生成された球及び/又はブロック322において保存されたモデルパラメータに基づいて、メトリックデータにおける1つ以上の異常を検出する。いくつかの実施形態において、ブロック324の実行は、INSモデルの作成に続いて実行される異常検出活動を表してもよく、又はそうでなければそれに関連付けられてもよい。 At block 324 of the example method 300, the system detects one or more anomalies in the metric data based on the sphere generated at block 316 and/or the model parameters saved at block 322. In some embodiments, execution of block 324 may represent anomaly detection activities performed subsequent to, or otherwise associated with, the creation of the INS model.

ブロック312~324は、比較的直列的に説明されているが、方法300の様々なブロックは、いくつかの実施形態において、並列に実施され得ることを理解されたい。 Although blocks 312-324 are described as relatively serial, it should be understood that the various blocks of method 300 may be performed in parallel in some embodiments.

次に図4を参照すると、使用時に、システム又はデバイスは、1人以上の顧客によって提供されたデータ内の異常を検出する方法400を実行することができる。方法400は、方法300と同様であってもよく、方法400のいくつかのブロックは、上記で示唆したように、方法300の対応するブロックに関する更なる詳細を提供してもよい。いくつかの実施形態では、システムは、コンタクトセンターシステム(例えば、図1のコンタクトセンターシステム100)及び/又はコンピューティングデバイス(例えば、図2のコンピューティングデバイス200)若しくはそのシステム/デバイスとして具現化されてもよいことを理解されたい。方法400の特定のブロックは、例として例解されており、そのようなブロックは、反対のことが述べられていない限り、特定の実施形態に応じて、全体的又は部分的に組み合わされ、又は分割され、追加され、又は除去され、及び/又は並べ替えられ得ることを理解されたい。 Referring now to FIG. 4, in use, a system or device may perform a method 400 for detecting anomalies in data provided by one or more customers. Method 400 may be similar to method 300, and some blocks of method 400 may provide further details with respect to corresponding blocks of method 300, as alluded to above. In some embodiments, the system is embodied as a contact center system (e.g., contact center system 100 of FIG. 1) and/or a computing device (e.g., computing device 200 of FIG. 2) or systems/devices thereof. Please understand that it is okay to do so. Certain blocks of method 400 are illustrated by way of example; such blocks may be combined or combined in whole or in part, depending on the particular embodiment, unless stated to the contrary. It is to be understood that they may be divided, added or removed, and/or rearranged.

例解的な方法400は、システムがメトリックデータを受信するブロック402から始まる。少なくともいくつかの実施形態では、ブロック402が方法300のブロック302に対応することを理解されたい。例解的な実施形態において、ブロック402を実施するために、本システムは、ブロック404を実施する。ブロック404において、システムは、ソース(例えば、顧客プラットフォーム)からメトリックデータを検索又は取り込む。しかしながら、いくつかの実施形態では、ブロック404が省略され得ることが理解されるべきである。 The example method 400 begins at block 402 where the system receives metric data. It should be appreciated that block 402 corresponds to block 302 of method 300 in at least some embodiments. In the example embodiment, to implement block 402, the system implements block 404. At block 404, the system retrieves or retrieves metric data from a source (eg, a customer platform). However, it should be understood that in some embodiments block 404 may be omitted.

例解的な方法400のブロック406において、システムは、異常検出モデル(INSモデル)を初期化する。いくつかの実施形態では、ブロック406は、ブロック402で受信されたメトリックデータがINSモデルに供給される、INSモデルへの入力ブロックとして具現化されてもよく、又はそうでなければそれを含んでもよい。更に、いくつかの実施形態では、ブロック406はブロック402に組み込まれてもよい。 At block 406 of the example method 400, the system initializes an anomaly detection model (INS model). In some embodiments, block 406 may be embodied as, or otherwise include, an input to an INS model block where the metric data received at block 402 is provided to the INS model. good. Additionally, in some embodiments, block 406 may be incorporated into block 402.

例解的な方法400のブロック408において、システムは、INSモデルの1つ以上の特徴を標準化する。そうするために、例解的な実施形態において、本システムは、ブロック410及び412を実施する。ブロック410において、システムは、ブロック402において受信されたメトリックデータについて関心のある1つ以上の特徴を識別する。これらの特徴は、少なくともいくつかの実施形態において、メトリックデータを分析するための数学的パラメータ(例えば、統計値、導関数、加重平均など)、メトリックデータの特定の分布を決定するための数学的パラメータ、及び/又はメトリックデータに含まれる1つ以上のアウトライアを識別するための数学的パラメータを含み得る。ブロック412において、システムは、1つ以上の基準フレームに基づいてブロック410において識別された特徴を正規化する。いくつかの実施形態では、ブロック412において、システムは、ブロック410において識別された特徴を評価するための1つ以上の基準フレームを確立する。 At block 408 of the example method 400, the system standardizes one or more features of the INS model. To do so, in the exemplary embodiment, the system implements blocks 410 and 412. At block 410, the system identifies one or more features of interest about the metric data received at block 402. These features, in at least some embodiments, include mathematical parameters for analyzing metric data (e.g., statistics, derivatives, weighted averages, etc.), mathematical parameters for determining a particular distribution of metric data, etc. parameters and/or mathematical parameters for identifying one or more outliers included in the metric data. At block 412, the system normalizes the features identified at block 410 based on one or more reference frames. In some embodiments, at block 412, the system establishes one or more frames of reference for evaluating the features identified at block 410.

例解的な方法400のブロック414において、システムは、メトリックデータに基づいて、1つ以上の球を特徴付けるパラメータを定義する。少なくともいくつかの実施形態では、ブロック414は方法300のブロック304に対応することを理解されたい。更に、少なくともいくつかの実施形態では、システムによるブロック414の実行は、1つ以上の球の後続の生成に先立つアクティビティとして機能することを理解されたい。例解的な実施形態では、ブロック414を実行するために、システムは、ブロック416、418、424、426、428、430、432を実行する。これらのブロックの各々について以下に説明する。 At block 414 of the example method 400, the system defines parameters characterizing one or more spheres based on the metric data. It should be appreciated that in at least some embodiments, block 414 corresponds to block 304 of method 300. Furthermore, it should be appreciated that, in at least some embodiments, performance of block 414 by the system serves as an activity prior to subsequent generation of one or more spheres. In the exemplary embodiment, to perform block 414, the system performs blocks 416, 418, 424, 426, 428, 430, 432. Each of these blocks will be described below.

例解的な方法400のブロック416において、システムは、ブロック402において受信されたメトリックデータに対する距離行列を取得又は展開する。いくつかの実施形態では、ブロック416はブロック410に組み込まれてもよい。いずれの場合も、ブロック416で得られた距離行列により、システムは、メトリックデータに含まれる観測値/データ点間の距離を決定することができる。 At block 416 of the example method 400, the system obtains or develops a distance matrix for the metric data received at block 402. In some embodiments, block 416 may be incorporated into block 410. In either case, the distance matrix obtained at block 416 allows the system to determine distances between observations/data points included in the metric data.

例解的な方法400のブロック418において、ブロック416で取得された距離行列に基づいて、システムは、メトリックデータ内の各観測値/データ点に対する最近傍距離値を決定する。例解的な実施形態において、ブロック418を実施するために、本システムは、ブロック420及び422を実施する。ブロック420において、システムは、メトリックデータ内の全ての観測値/データ点に対する最近傍距離の平均を決定する。ブロック422において、システムは、テューキー検定に従って最近傍距離値の最大限度を決定する。いくつかの実施形態において、システムは、ブロック420及び422を互いに並行して実行してもよい。 At block 418 of the example method 400, based on the distance matrix obtained at block 416, the system determines a nearest neighbor distance value for each observation/data point in the metric data. In the exemplary embodiment, to implement block 418, the system implements blocks 420 and 422. At block 420, the system determines the average nearest neighbor distance for all observations/data points in the metric data. At block 422, the system determines the maximum bound of nearest neighbor distance values according to the Tukey test. In some embodiments, the system may perform blocks 420 and 422 in parallel to each other.

例解的な方法400のブロック424において、システムは、1つ以上の球を生成するための半径増分を定義する。以下の説明から明らかなように、少なくともいくつかの実施形態では、以下で説明する最小球半径と組み合わせて、半径増分を使用して、第1の/初期球の生成後に1つ以上の新しい球を生成することができる。更に、方法400を実行する過程にわたる半径増分及び最小球半径の変動に少なくとも部分的に起因して、半径増分を用いて生成された1つ以上の新しい球は、変動する半径を有し得る。いくつかの実施形態では、ブロック424における半径増分の定義は、ブロック420においてシステムによって決定された平均に基づく。 At block 424 of the example method 400, the system defines radius increments for generating one or more spheres. As will be apparent from the discussion below, in at least some embodiments, radius increments are used in combination with the minimum sphere radius described below to generate one or more new spheres after the generation of the first/initial sphere. can be generated. Additionally, one or more new spheres generated using the radius increments may have varying radii due, at least in part, to variations in the radius increments and the minimum sphere radius over the course of performing method 400. In some embodiments, the definition of the radius increment at block 424 is based on the average determined by the system at block 420.

例解的な方法400のブロック426において、システムは、少なくとも1つの球の生成のための最小球半径を定義する。最小球半径は、少なくともいくつかの実施形態では、第1の/初期球を生成するために使用され得る。いくつかの実施形態では、ブロック426における最小球半径の定義は、ブロック422においてシステムによって決定される最大限度に基づく。更に、いくつかの実施形態では、システムは、ブロック424及び426を互いに並行して実行することができる。 At block 426 of the example method 400, the system defines a minimum sphere radius for generation of at least one sphere. A minimum sphere radius may be used, at least in some embodiments, to generate the first/initial sphere. In some embodiments, the definition of the minimum sphere radius at block 426 is based on the maximum limit determined by the system at block 422. Further, in some embodiments, the system may perform blocks 424 and 426 in parallel to each other.

例解的な方法400のブロック428において、システムは、少なくとも1つの球の生成のための密度を決定する。いくつかの実施形態では、密度は、第1の/初期球面の内部に入り、第1の/初期球面によって捕捉されるメトリックデータの観測値/データ点の数に対応するか、そうでなければそのように具現化される。球の密度は、少なくともいくつかの実施形態では、特定の領域における観測値/データ点の集中によって決定されてもよく、又は特定の領域における観測値/データ点の集中として具現化されてもよい。加えて、いくつかの実施形態では、ブロック428における球密度の決定は、ブロック416においてシステムによって取得された距離行列と、ブロック426においてシステムによって定義された最小球半径とに基づく。 At block 428 of the example method 400, the system determines a density for the generation of at least one sphere. In some embodiments, the density corresponds to the number of observations/data points of metric data that fall inside the first/initial sphere and are captured by the first/initial sphere, or otherwise That is how it is realized. The density of a sphere, in at least some embodiments, may be determined by the concentration of observations/data points in a particular region, or may be embodied as a concentration of observations/data points in a particular region. . Additionally, in some embodiments, the determination of sphere density at block 428 is based on the distance matrix obtained by the system at block 416 and the minimum sphere radius defined by the system at block 426.

例解的な方法400のブロック430において、システムは、ブロック428で行われた球密度決定に密度フィルタを適用する。いくつかの実施形態では、ブロック430においてシステムによって適用される密度フィルタは、アウトライア又は異常な/普通でない観測値が以下で説明されるカバレッジ限界の定義に影響を及ぼさないように、メトリックデータからアウトライア又は異常な/普通でない観測値をフィルタで除去する。 At block 430 of example method 400, the system applies a density filter to the sphere density determination made at block 428. In some embodiments, a density filter applied by the system at block 430 is applied from the metric data so that outliers or anomalous/unusual observations do not affect the definition of the coverage limits described below. Filter out outliers or unusual/unusual observations.

例解的な方法400のブロック432において、システムは、球によってカバーされる観測値/データ点の最大数を示すカバレッジ限界を定義する。例解的な実施形態では、ブロック432においてシステムによって定義されたカバレッジ限界は、ブロック430からのフィルタリングされたメトリックデータに少なくとも部分的に基づく。 At block 432 of the example method 400, the system defines a coverage limit that indicates the maximum number of observations/data points covered by the sphere. In the exemplary embodiment, the coverage limits defined by the system at block 432 are based at least in part on the filtered metric data from block 430.

例解的な方法400のブロック434において、システムは、ブロック414において定義されたパラメータに基づいて1つ以上の球を生成する。少なくともいくつかの実施形態では、ブロック434は方法300のブロック306に対応することを理解されたい。 At block 434 of example method 400, the system generates one or more spheres based on the parameters defined at block 414. It should be appreciated that in at least some embodiments, block 434 corresponds to block 306 of method 300.

ブロック402~434は、比較的直列的に説明されているが、方法400の様々なブロックは、いくつかの実施形態において、並列に実施され得ることを理解されたい。 Although blocks 402-434 are described as relatively serial, it should be understood that the various blocks of method 400 may be performed in parallel in some embodiments.

次に図5を参照すると、使用時に、方法400のブロック434を実行するために、システム又はデバイスは、方法500を実行することができる。方法500は、少なくともいくつかの実施形態では、方法300のブロック306と同様であり得る。いくつかの実施形態では、システムは、コンタクトセンターシステム(例えば、図1のコンタクトセンターシステム100)及び/又はコンピューティングデバイス(例えば、図2のコンピューティングデバイス200)若しくはそのシステム/デバイスとして具現化されてもよいことを理解されたい。方法500の特定のブロックは、例として例解されており、そのようなブロックは、反対のことが述べられていない限り、特定の実施形態に応じて、全体的又は部分的に組み合わされ、又は分割され、追加され、又は除去され、及び/又は並べ替えられ得ることを理解されたい。 Referring now to FIG. 5, in use, to perform block 434 of method 400, a system or device may perform method 500. Method 500 may be similar to block 306 of method 300, at least in some embodiments. In some embodiments, the system is embodied as a contact center system (e.g., contact center system 100 of FIG. 1) and/or a computing device (e.g., computing device 200 of FIG. 2) or systems/devices thereof. Please understand that it is okay to do so. Certain blocks of method 500 are illustrated by way of example; such blocks may be combined or combined in whole or in part, depending on the particular embodiment, unless stated to the contrary. It is to be understood that they may be divided, added or removed, and/or rearranged.

例解的な方法500は、システムがすでに生成された1つ以上の球を検出するブロック502から始まる。場合によっては(例えば、第1の/初期の球の生成中に)、ブロック502において球が検出されないことがあることを理解されたい。したがって、これらの場合、ブロック502は任意選択で方法から省略されてもよい。 The example method 500 begins at block 502 where the system detects one or more spheres that have been previously generated. It should be appreciated that in some cases (eg, during first/initial sphere generation), no spheres may be detected at block 502. Therefore, in these cases, block 502 may optionally be omitted from the method.

例解的な方法500のブロック504において、システムは、少なくとも1つの球の生成のための密度を決定する。いくつかの実施形態では、密度は、第1の/初期球面の内部に入り、第1の/初期球面によって捕捉されるメトリックデータの観測値/データ点の数に対応するか、そうでなければそのように具現化される。他の実施形態では、密度は、第1の/初期球及び第1の/初期球に最も近い1つ以上の球の内部に入り、それらによって捕捉される、メトリックデータの観測値/データ点の数に対応するか、又は多の方法で具現化される。例解的な実施形態において、ブロック504を実施するために、本システムは、ブロック506、508、510、512を実施する。 At block 504 of the example method 500, the system determines a density for the generation of at least one sphere. In some embodiments, the density corresponds to the number of metric data observations/data points that fall inside the first/initial sphere and are captured by the first/initial sphere, or otherwise That is how it is realized. In other embodiments, the density of the metric data observations/data points that fall within and are captured by the first/initial sphere and one or more spheres closest to the first/initial sphere. corresponds to a number or is embodied in many ways. In the exemplary embodiment, to implement block 504, the system implements blocks 506, 508, 510, and 512.

例解的な方法500のブロック506において、システムは、方法400のブロック426において定義された最小球半径に基づいて密度を決定する。例解的な方法500のブロック508において、システムは、最も近い検出された球(例えば、ブロック502において検出された球)に基づいて密度を決定する。場合によっては(例えば、第1の/初期の球の生成中に)、最も近い球が検出されなくてもよく、システムはブロック508を実行しなくてもよいことを理解されたい。更に、他の場合(例えば、1つ以上の最も近い球が、第1の/初期球の生成に続いて生成されたとき)、ブロック504における密度の決定は、方法400のブロック426において定義された最小球半径と、(例えば、ブロック502からの)最も近い検出された球との両方に基づき得ることを理解されたい。したがって、これらの場合、ブロック506及び508は、単一のブロックに組み合わせられ得る。 At block 506 of the example method 500, the system determines the density based on the minimum sphere radius defined at block 426 of the method 400. At block 508 of example method 500, the system determines density based on the closest detected sphere (eg, the sphere detected at block 502). It should be appreciated that in some cases (eg, during first/initial sphere generation), the closest sphere may not be detected and the system may not perform block 508. Furthermore, in other cases (e.g., when one or more closest spheres are generated subsequent to the generation of the first/initial sphere), the determination of density at block 504 is defined at block 426 of method 400. It should be appreciated that it may be based on both the minimum sphere radius detected and the closest detected sphere (eg, from block 502). Therefore, in these cases blocks 506 and 508 may be combined into a single block.

例解的な方法500のブロック510において、システムは、ブロック426において定義された最小球半径に少なくとも部分的に基づいて、メトリックデータの最大集中に対応する位置を決定する。いくつかの場合には、ブロック510においてシステムによって決定された位置はまた、最も近い検出された球に基づき得る。ブロック512において、システムは、球の中心がブロック510において決定された位置に配置されるように、少なくとも1つの球を生成する。ブロック512においてシステムによって生成された少なくとも1つの球は、少なくともいくつかの場合において、第1の/初期の球に対応し得る。他の場合には、システムによってブロック512において生成された少なくとも1つの球は、第1の/初期球の後に生成された球に対応し得る。それらの場合、システムは、(i)ブロック426において定義された最小球半径と、第1の/初期球と少なくとも1つの最近傍球との間の距離とに基づいて、メトリックデータの最大集中に対応する別の位置を決定し(すなわち、ブロック510において)、(ii)少なくとも1つの新しい球の中心が別の位置に配置されるように、少なくとも1つの新しい球を生成し得る(すなわち、ブロック512において)。 At block 510 of the example method 500, the system determines a location corresponding to a maximum concentration of metric data based at least in part on the minimum sphere radius defined at block 426. In some cases, the position determined by the system at block 510 may also be based on the nearest detected sphere. At block 512, the system generates at least one sphere such that the center of the sphere is located at the location determined at block 510. The at least one sphere generated by the system at block 512 may correspond to the first/initial sphere in at least some cases. In other cases, the at least one sphere generated by the system in block 512 may correspond to a sphere generated after the first/initial sphere. In those cases, the system determines the maximum concentration of metric data based on (i) the minimum sphere radius defined in block 426 and the distance between the first/initial sphere and the at least one nearest neighbor sphere; (i.e., at block 510); and (ii) generate at least one new sphere such that the center of the at least one new sphere is located at the other position (i.e., at block 510). 512).

例解的な方法500のブロック514において、システムは、新しい又は最新の生成された球によって提供されるメトリックデータのカバレッジを、1つ以上の基準球によって提供されるメトリックデータのカバレッジと比較する。一例では、基準球は第1の/初期球を含む。別の例では、基準球(複数可)は、第1の/初期球と、第1の球に続いて生成される少なくとも1つの最近傍球とを含む。当然ながら、ブロック512においてシステムによって生成された球が第1の/初期球に対応する場合、少なくともいくつかの実施形態では、ブロック514の実行は省略され得る。 At block 514 of the example method 500, the system compares the coverage of metric data provided by the new or most recently generated sphere to the coverage of metric data provided by one or more reference spheres. In one example, the reference sphere includes a first/initial sphere. In another example, the reference sphere(s) include a first/initial sphere and at least one nearest neighbor sphere generated subsequently to the first sphere. Of course, if the sphere generated by the system in block 512 corresponds to the first/initial sphere, then execution of block 514 may be omitted, at least in some embodiments.

例解的な方法500のブロック516において、システムは、別の新しい球の生成のためにメトリックデータの最大カバレッジを提供する球(すなわち、ブロック514において比較される球のうちの)を選択する。少なくともいくつかの実施形態では、ブロック512においてシステムによって生成された球が第1の/初期球に対応する場合、ブロック516の実行は省略され得ることを理解されたい。 At block 516 of the example method 500, the system selects the sphere (i.e., among the spheres compared at block 514) that provides the greatest coverage of metric data for generation of another new sphere. It should be appreciated that in at least some embodiments, execution of block 516 may be omitted if the sphere generated by the system at block 512 corresponds to the first/initial sphere.

例解的な方法500のブロック518において、システムは、方法400のブロック432において定義されたカバレッジ限界に達したかどうかを判定する。 At block 518 of the example method 500, the system determines whether the coverage limit defined at block 432 of the method 400 has been reached.

例解的な方法500のブロック520において、カバレッジ限界に達したというブロック518における判定に応じて、システムは、異常検出モデル(すなわち、INSモデル)を保存する。 At block 520 of the example method 500, in response to the determination at block 518 that the coverage limit has been reached, the system saves the anomaly detection model (i.e., the INS model).

例解的な方法500のブロック522において、システムは、メトリックデータに基づくモデルのトレーニングを終了する。 At block 522 of the example method 500, the system finishes training the model based on the metric data.

例解的な方法400のブロック524において、カバレッジ限界に達していないというブロック518における判定に応じて、システムは、方法500のブロック424において定義された半径増分に基づいて、少なくとも1つの新しい球の生成のために半径を増分する。 At block 524 of the example method 400, in response to the determination at block 518 that the coverage limit has not been reached, the system creates at least one new sphere based on the radius increment defined at block 424 of the method 500. Increment radius for generation.

例解的な方法500のブロック526において、システムは、少なくとも1つの新しい球(ブロック524において半径が増分される)が、以前に提供されていないメトリックデータのカバレッジを提供するかどうかを判定する。 At block 526 of the example method 500, the system determines whether at least one new sphere (the radius of which was incremented at block 524) provides coverage of metric data not previously provided.

例解的な方法500のブロック528において、少なくとも1つの新しい球が以前に提供されていないメトリックデータのカバレッジを提供するというブロック526における判定に応じて、システムは、次の球を生成するための中心に対応する最小球半径(例えば、方法400のブロック426において定義された最小球半径)及び位置(例えば、ブロック512を参照して上述した位置)を更新する。 At block 528 of the example method 500, in response to the determination at block 526 that the at least one new sphere provides coverage of metric data not previously provided, the system performs a process for generating a next sphere. The minimum sphere radius (eg, the minimum sphere radius defined in block 426 of method 400) and position (eg, the position described above with reference to block 512) corresponding to the center are updated.

例解的な方法500のブロック530において、少なくとも1つの新しい球が、以前に提供されていないメトリックデータのカバレッジを提供しないというブロック526における判定に応じて、システムは、少なくとも1つの新しい球に関連付けられたメトリックデータをフィルタで除去する。 At block 530 of the example method 500, in response to the determination at block 526 that the at least one new sphere does not provide coverage of metric data not previously provided, the system associates the at least one new sphere with filter out the metric data.

ブロック502~530は、比較的直列的に説明されているが、方法500の様々なブロックは、いくつかの実施形態において、並列に実施され得ることを理解されたい。 Although blocks 502-530 are described as being relatively serial, it should be understood that the various blocks of method 500 may be performed in parallel in some embodiments.

いくつかの固有の特徴及び/又は利点が、システムによる例解的なINSモデルの実行及び実装に関連付けられ得る。一態様では、特定の顧客メトリックに関係なくモデルをトレーニングすることができるので、モデルは、広範囲の様々なメトリックにわたる自動パラメータ調整を提供する。別の態様では、モデルは、特定の顧客メトリックに対して生成されるべき所定の数の球に依存しないので、球は、モデルの各反復に従って生成されてもよく、これは、少なくともいくつかの場合において、より高い正確性及び/又は精度を提供し得る。更に別の態様では、モデルによって生成された球の位置が高密度/高集中領域に基づいて決定されるので、モデルは、ランダム確率分布に従って球を位置決めすることに関連する制限を回避する。更に別の態様では、以前の反復によってすでにカバーされたメトリックデータ点をフィルタリング/除去することによって、モデルの計算複雑度が、他の構成と比較して低減される。更なる態様では、各モデル反復中に実行される動的半径計算、及びそれらの計算に基づいて生成される可変半径を有する球は、他の構成によって必要とされ得るよりも少ない球を用いて、拡張されたデータカバレッジを可能にする。更に別の態様では、モデルは、既存の球の外側のデータ点を使用して、新しい球を生成し、球を互いに統合し、及び/又は特定の顧客メトリックに関する履歴データを必要とせずにモデル突然変異を捕捉することができる。追加の態様では、モデルが前の反復によってカバーされたデータ点を無視するので、モデルは、他の構成によって達成されない正確性及び/又は精度の程度を達成し得る。更に、モデルの低減された計算複雑度は、モデルデータを保存するために必要とされる記憶空間(例えば、メモリ内)を最小限にし得ることを理解されたい。最後に、モデルは、最近傍球までの距離に基づく異常スコアの計算のための改善された単純さを提供することができる。 A number of unique features and/or advantages may be associated with the execution and implementation of the example INS model by the system. In one aspect, the model provides automatic parameter tuning across a wide range of different metrics because the model can be trained without regard to specific customer metrics. In another aspect, since the model does not rely on a predetermined number of spheres to be generated for a particular customer metric, spheres may be generated according to each iteration of the model, which means that at least some In some cases, higher accuracy and/or precision may be provided. In yet another aspect, the model avoids limitations associated with positioning spheres according to random probability distributions because the positions of spheres generated by the model are determined based on high density/high concentration regions. In yet another aspect, by filtering/removing metric data points already covered by previous iterations, the computational complexity of the model is reduced compared to other configurations. In a further aspect, the dynamic radius calculations performed during each model iteration, and the spheres with variable radii that are generated based on those calculations, use fewer spheres than may be required by other configurations. , enabling expanded data coverage. In yet another aspect, the model uses data points outside of existing spheres to generate new spheres, integrates the spheres with each other, and/or the model without the need for historical data regarding specific customer metrics. Mutations can be captured. In an additional aspect, because the model ignores data points covered by previous iterations, the model may achieve a degree of accuracy and/or precision not achieved by other configurations. Furthermore, it should be appreciated that the reduced computational complexity of the model may minimize the storage space (eg, in memory) required to store model data. Finally, the model can provide improved simplicity for calculation of anomaly scores based on distance to nearest neighbor sphere.

ここで図6を参照すると、特徴選択後であって、データ分析及びINSモデルに基づく球の生成前のメトリックデータ点/観測値の集合600が示されている。例解的な実施形態では、図6に示されるメトリックデータ点の表現は、モデル特徴の標準化後の表現(例えば、システムによるブロック408の実行後の表現)に関連付けられるか、又は他の方法で対応する。加えて、例解的な例では、データ点の集合600は、1日にわたって収集された約288点を含む。もちろん、他の例では、集合600は、別の適切な期間にわたって収集された別の適切な数のデータ点を含むことができることを理解されたい。 Referring now to FIG. 6, a set 600 of metric data points/observations is shown after feature selection and before data analysis and generation of spheres based on the INS model. In an exemplary embodiment, the representation of the metric data points shown in FIG. 6 is associated with a standardized representation of model features (e.g., the representation after execution of block 408 by the system) or otherwise handle. Additionally, in the illustrative example, the data point set 600 includes approximately 288 points collected over one day. Of course, it should be appreciated that in other examples, collection 600 can include any other suitable number of data points collected over any other suitable time period.

ここで図7を参照すると、データ点/観測値の集合600に基づいて、システムによる(例えば、方法300、400、500による)INSモデルの少なくとも1回の反復は、中心702及び半径704を有する球700を生成する。例解的な実施例では、中心702は、最小球半径を有する球700内のデータ点の最大集中/密度に位置する。更に、例解的な例では、球700は、集合600内のデータ点の約25%のカバレッジを提供する。いくつかの実施形態では、より大きい球は、複数の単一挙動を伴う優勢な挙動を示し得る。 Referring now to FIG. 7, based on a set of data points/observations 600, at least one iteration of an INS model by the system (e.g., by methods 300, 400, 500) has a center 702 and a radius 704. A sphere 700 is generated. In the illustrative example, center 702 is located at the maximum concentration/density of data points within sphere 700 with the minimum sphere radius. Further, in the illustrative example, sphere 700 provides approximately 25% coverage of the data points within set 600. In some embodiments, larger spheres may exhibit a dominant behavior with multiple single behaviors.

ここで図8を参照すると、データ点/観測値の集合600に基づいて、システムによる(例えば、方法300、400、500による)INSモデルの複数の反復は、中心802及び半径804を有する別の球800を生成する。例解的な実施例では、半径804は半径704とは異なり、それよりも小さく、球700、800は互いに離間している。加えて、例解的な実施例では、中心802は、球800内のデータ点の最大集中/密度に位置する。最後に、例解的な例では、球700、800は、集合600内のデータ点の約47%のカバレッジを協働して提供する。 Referring now to FIG. 8, based on the set of data points/observations 600, multiple iterations of the INS model by the system (e.g., by the methods 300, 400, 500) create another model having a center 802 and a radius 804. A sphere 800 is generated. In the illustrative example, radius 804 is different from and smaller than radius 704, and spheres 700, 800 are spaced apart from each other. Additionally, in the illustrative example, center 802 is located at the maximum concentration/density of data points within sphere 800. Finally, in the illustrative example, spheres 700, 800 together provide coverage of approximately 47% of the data points in set 600.

ここで図9を参照すると、データ点/観測値の集合600に基づいて、システムによる(例えば、方法300、400、500による)INSモデルの複数の反復は、中心902及び半径904を有する別の球900を生成する。例解的な実施例では、半径904は半径804とは異なり、それよりも大きく、球700、800、900は互いに離間している。加えて、例解的な実施例では、中心902は、球900内のデータ点の最大集中/密度に位置する。最後に、例解的な例では、球700、800、900は、集合600内のデータ点の約72%のカバレッジを協働して提供する。 Referring now to FIG. 9, based on the set of data points/observations 600, multiple iterations of the INS model by the system (e.g., by methods 300, 400, 500) create another model having a center 902 and a radius 904. A sphere 900 is generated. In the illustrative example, radius 904 is different from and larger than radius 804, and spheres 700, 800, 900 are spaced apart from each other. Additionally, in the illustrative example, center 902 is located at the greatest concentration/density of data points within sphere 900. Finally, in the illustrative example, spheres 700, 800, 900 together provide approximately 72% coverage of the data points in set 600.

ここで図10を参照すると、データ点/観測値の集合600に基づいて、
(例えば、例解的な方法300、400、500とは異なる方法による)INSモデルとは異なる比較モデルの実行は、各々が同じ半径を有する球のセット1000を生成する。比較例では、セット1000は21個の球を含む。
Referring now to FIG. 10, based on the set of data points/observations 600,
Execution of a comparison model different from the INS model (e.g., by a different method than the example methods 300, 400, 500) produces a set 1000 of spheres each having the same radius. In a comparative example, set 1000 includes 21 balls.

ここで図11を参照すると、データ点/観測値の集合600に基づいて、システムによる(例えば、方法300、400、500による)INSモデルの複数の反復は、可変半径を有する球のセット1100を生成する。例解的な例では、セット1100は7つの球(すなわち、球700、800、900、1102、1104、1106、1108)を含む。少なくともいくつかの場合において、より少ない球を使用して、セット1100は、セット1000と等しいか、又はセット1000よりも良好な集合600のカバレッジを提供する。 Referring now to FIG. 11, based on a set of data points/observations 600, multiple iterations of the INS model by the system (e.g., by methods 300, 400, 500) generate a set of spheres 1100 with variable radii. generate. In the illustrative example, set 1100 includes seven spheres (ie, spheres 700, 800, 900, 1102, 1104, 1106, 1108). In at least some cases, set 1100 provides equal or better coverage of set 600 than set 1000, using fewer spheres.

ここで図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つのモード(高密度の領域)を含んでもよい。 Referring now to FIG. 12, a performance evaluation 1200 shows the performance of the INS model compared to other algorithms based on various data sets. The models/algorithms represented are: (i) 1-class SVM 1202, (ii) Isolated Forest (iForest) 1204, (iii) Local Outlier Factors 1206, (iv) Isolated Nearest Neighbor Ensemble (iNNE) 1208, (v) Constant (vi) an isolated nearest sphere (INSS) 1210 with a sphere radius; and (vi) an isolated nearest sphere 1212 (corresponding to the INS model) with a variable sphere radius. The datasets include datasets 1216, 1218, 1220, 1222, 1224, 1226, 1228, 1230 with introduced anomalies. Evaluation 1200 shows the characteristics of different anomaly detection models/algorithms on two-dimensional datasets. A dataset may, in at least some embodiments, include one or two modes (regions of high density) to demonstrate the ability of the model/algorithm to deal with multimodal data.

各データセット1216、1218、1220、1222、1224、1226、1228、1230について、サンプルの1パーセントがランダムノイズとして生成され、アウトライアとして考慮され得る。これらのデータセット内のデータ点は、(a)円形(すなわち、正常として検出された正常サンプルに対応する)、(b)開始(すなわち、アウトライアとして検出されたアウトライアに対応する)、(c)上向き三角(すなわち、正常サンプルとして検出されたアウトライアに対応する)、及び(d)下向き三角(すなわち、アウトライアとして検出された正常サンプルに対応する)によって指定され得る。 For each data set 1216, 1218, 1220, 1222, 1224, 1226, 1228, 1230, one percent of the samples are generated as random noise and may be considered as outliers. The data points in these datasets are (a) circular (i.e., corresponding to normal samples detected as normal), (b) starting (i.e., corresponding to outliers detected as outliers), ( c) upward-pointing triangles (i.e., corresponding to outliers detected as normal samples); and (d) downward-pointing triangles (i.e., corresponding to normal samples detected as outliers).

ここで図13を参照すると、データ点/観測値の集合1300に基づいて、
(例えば、例解的な方法300、400、500とは異なる方法による)INSモデル(iNNE)とは異なる比較モデルの実行は、球のセット1302を生成する。比較例では、セット1302は320個の球を含み得る。加えて、比較例では、球のセット1302は、59.3%のF1スコアと関連付けられ得る。
Referring now to FIG. 13, based on the set of data points/observations 1300,
Execution of a comparison model different from the INS model (iNNE) (eg, by a different method than the example methods 300, 400, 500) produces a set of spheres 1302. In a comparative example, set 1302 may include 320 balls. Additionally, in the comparative example, set of balls 1302 may be associated with an F1 score of 59.3%.

ここで図14を参照すると、データ点/観測値の集合1300に基づいて、システムによる(例えば、方法300、400、500による)INSモデルの複数の反復は、球のセット1400を生成する。例解的な例では、セット1400は99個の球を含むことができる。加えて、例解的な例では、球のセット1400は、92.0%のF1スコアに関連付けられ得る。 Referring now to FIG. 14, based on the set of data points/observations 1300, multiple iterations of the INS model by the system (eg, by the methods 300, 400, 500) generate a set of spheres 1400. In an illustrative example, set 1400 may include 99 balls. Additionally, in the illustrative example, set of balls 1400 may be associated with an F1 score of 92.0%.

ここで図15を参照すると、データ点/観測値の集合1500に基づいて、
(例えば、例解的な方法300、400、500とは異なる方法による)INSモデル(iNNE)とは異なる比較モデルの実行は、球のセット1502を生成する。比較例では、セット1502は320個の球を含み得る。加えて、比較例では、球のセット1502は、78.9%のF1スコアと関連付けられ得る。
Referring now to FIG. 15, based on the set of data points/observations 1500,
Execution of a comparison model different from the INS model (iNNE) (eg, by a different method than the example methods 300, 400, 500) produces a set of spheres 1502. In a comparative example, set 1502 may include 320 balls. Additionally, in the comparative example, set of balls 1502 may be associated with an F1 score of 78.9%.

ここで図16を参照すると、データ点/観測値の集合1500に基づいて、システムによる(例えば、方法300、400、500による)INSモデルの複数の反復は、球のセット1600を生成する。例解的な例では、セット1600は83個の球を含むことができる。加えて、例解的な例では、球のセット1600は、95.5%のF1スコアに関連付けられ得る。 Referring now to FIG. 16, based on a set of data points/observations 1500, multiple iterations of an INS model by the system (eg, by methods 300, 400, 500) generate a set of spheres 1600. In an illustrative example, set 1600 may include 83 balls. Additionally, in the illustrative example, set of balls 1600 may be associated with an F1 score of 95.5%.

ここで図17及び図18を参照すると、比較グラフ1700のセットは、INSモデルとは異なる比較モデルの実行に関連付けられ、グラフ1800のセットは、INSモデルの実行に関連付けられる。 Referring now to FIGS. 17 and 18, a set of comparison graphs 1700 are associated with executions of comparison models that are different from the INS model, and a set of graphs 1800 are associated with executions of the INS model.

いくつかの実施形態では、連続的に監視される構成要素における異常を自動的に検出するための方法は、
- 構成要素が動作している間、性能カウンタからのデータ点を継続的に監視することは、コンピューティングデバイスのプロセッサによって、構成要素によって生成された時系列に含まれるデータ点を受信することであって、データ点は、性能カウンタのデータ点であり、データ点は、処理される前に正常又は異常としてラベル付けされない、ことと、
- 異常データを定義するラベル付きデータが存在せず、且つ正常データを定義するラベル付きデータが存在しない場合に、時系列内の異常を検出することと、
- 複数の処理経路内の単一のデータ点に対して発生した異常イベントを、検出された処理経路の全ての識別子を搬送する単一のイベントに組み合わせることによって、異常イベントを集計するための、発生した異常イベントの後処理であって、各処理経路識別子がそれぞれのタイプの異常に対応する、後処理と、
- 構成要素が適切に動作しているか、又は誤動作しているかに関する情報を提供し、構成要素の異常な挙動が発生したときに、構成要素の所有者又はオペレータに異常な挙動を通知することを可能にすることと、を含んでもよく、
- 時系列内の異常を検出することは、Isolation Nearest Spheresアルゴリズムに従って、1つのサンプルの異常のスコアを、その近隣のスコアとともに検出することを含む。
In some embodiments, a method for automatically detecting anomalies in a continuously monitored component comprises:
- Continuously monitoring data points from a performance counter while the component is operating includes receiving data points included in a time series generated by the component by a processor of the computing device. the data points are performance counter data points, and the data points are not labeled as normal or abnormal before being processed;
- detecting an anomaly in a time series when there is no labeled data that defines abnormal data and no labeled data that defines normal data;
- for aggregating anomalous events that occur for a single data point in multiple processing paths by combining them into a single event that carries all identifiers of the detected processing paths; post-processing of an abnormal event that has occurred, where each processing path identifier corresponds to a respective type of abnormality;
- provide information regarding whether the component is operating properly or malfunctioning, and to notify the owner or operator of the component of abnormal behavior when it occurs; may include enabling and
- Detecting an anomaly in a time series comprises detecting the score of an anomaly of one sample along with the scores of its neighbors according to the Isolation Nearest Spheres algorithm.

Claims (20)

1人以上の顧客によって提供されるメトリックデータにおける異常を検出するためのシステムであって、前記システムは、
少なくとも1つのプロセッサと、
記憶された複数の命令を含む少なくとも1つのメモリであって、前記命令は、前記少なくとも1つのプロセッサによる実行に応じて、前記システムに、
特定の顧客メトリックについての複数の時系列ベースの観測値を示すメトリックデータを受信させ、
前記メトリックデータに基づいて、各々が前記特定の顧客メトリックについてのいくつかの時系列ベースの観測値を捕捉するように構成されている、1つ以上の球を特徴付けるための複数のパラメータを定義させ、
前記複数のパラメータに基づいて、前記1つ以上の球を生成して、前記1つ以上の球内の前記メトリックデータのカバレッジを決定させ、前記メトリックデータにおける1つ以上の異常を検出させる、メモリと、を備え、
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、前記特定の顧客メトリックについての前記複数の時系列ベースの観測値に基づいて変化する半径を各々が有する、複数の球を動的に生成することを含む、システム。
A system for detecting anomalies in metric data provided by one or more customers, the system comprising:
at least one processor;
at least one memory containing a plurality of stored instructions, the instructions, upon execution by the at least one processor, providing the system with:
receive metric data representing multiple time series-based observations for a particular customer metric;
define a plurality of parameters for characterizing one or more spheres, each configured to capture a number of time-series-based observations for the particular customer metric based on the metric data; ,
a memory that generates the one or more spheres based on the plurality of parameters, causes the coverage of the metric data within the one or more spheres to be determined, and detects one or more anomalies in the metric data. and,
Generating the one or more spheres based on the plurality of parameters includes generating a plurality of spheres, each having a radius that varies based on the plurality of time series-based observations for the particular customer metric. A system that includes dynamic generation.
前記メトリックデータに基づいて前記複数のパラメータを定義することは、
少なくとも1つの球を生成するための最小半径を定義することと、
各々が変化する半径を有する1つ以上の新しい球を生成するための半径増分を定義することと、
前記生成された球によってカバーされるメトリックデータ点の最大数を示すカバレッジ限界を定義することと、を含む、請求項1に記載のシステム。
Defining the plurality of parameters based on the metric data comprises:
defining a minimum radius for generating at least one sphere;
defining radius increments for generating one or more new spheres each having a varying radius;
and defining a coverage limit indicating a maximum number of metric data points covered by the generated sphere.
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、前記最小半径に基づいてメトリックデータの最大集中に対応する位置を決定することを含む、請求項2に記載のシステム。 3. The system of claim 2, wherein generating the one or more spheres based on the plurality of parameters includes determining a location corresponding to a maximum concentration of metric data based on the minimum radius. 前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記カバレッジ限界に到達したかどうかを判定することと、
前記カバレッジ限界に到達していないという判定に応じて、前記半径増分に基づいて少なくとも1つの新しい球の生成のための半径を増分することと、を含む、請求項3に記載のシステム。
Generating the one or more spheres based on the plurality of parameters comprises:
determining whether the coverage limit has been reached;
and, in response to the determination that the coverage limit has not been reached, incrementing a radius for generation of at least one new sphere based on the radius increment.
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記少なくとも1つの新しい球が、以前に提供されていない前記メトリックデータのカバレッジを提供するかどうかを判定することと、
前記少なくとも1つの新しい球が以前に提供されていない前記メトリックデータのカバレッジを提供しないという判定に応じて、以前の球によってすでにカバーされたメトリックデータをフィルタで除去することと、を含む、請求項4に記載のシステム。
Generating the one or more spheres based on the plurality of parameters comprises:
determining whether the at least one new sphere provides coverage of the metric data not previously provided;
filtering out metric data already covered by a previous sphere in response to a determination that the at least one new sphere does not provide coverage of the metric data not previously provided. 4. The system described in 4.
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記少なくとも1つの新しい球が、以前に提供されていない前記メトリックデータのカバレッジを提供するという判定に応じて、前記最小半径を更新することと、
前記少なくとも1つの新しい球が、以前に提供されていない前記メトリックデータのカバレッジを提供するという前記判定に応じて、前記位置を更新することと、を含む、請求項4に記載のシステム。
Generating the one or more spheres based on the plurality of parameters comprises:
updating the minimum radius in response to a determination that the at least one new sphere provides coverage of the metric data not previously provided;
and updating the position in response to the determination that the at least one new sphere provides coverage of the metric data that was not previously provided.
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記少なくとも1つの球の前記最小半径と、前記少なくとも1つの球と少なくとも1つの最近傍球との間の距離とに基づいて、メトリックデータの前記最大集中に対応する別の位置を決定することと、
少なくとも1つの新しい球を、前記少なくとも1つの新しい球の中心が前記別の位置に位置決めされるように生成することと、を含む、請求項3に記載のシステム。
Generating the one or more spheres based on the plurality of parameters comprises:
determining another location corresponding to the maximum concentration of metric data based on the minimum radius of the at least one sphere and a distance between the at least one sphere and at least one nearest neighbor sphere; ,
4. The system of claim 3, comprising: generating at least one new sphere such that the center of the at least one new sphere is positioned at the other location.
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記少なくとも1つの球によって提供される前記メトリックデータのカバレッジを、前記少なくとも1つの最近傍球又は前記少なくとも1つの新しい球によって提供される前記メトリックデータのカバレッジと比較することと、
別の新しい球の生成のための前記比較に基づいて、前記メトリックデータの最大カバレッジを提供する球を選択することと、を含む、請求項7に記載のシステム。
Generating the one or more spheres based on the plurality of parameters comprises:
comparing the coverage of the metric data provided by the at least one sphere to the coverage of the metric data provided by the at least one nearest sphere or the at least one new sphere;
and selecting a sphere that provides maximum coverage of the metric data based on the comparison for generation of another new sphere.
前記メトリックデータに基づいて前記複数のパラメータを定義することは、
前記メトリックデータからアウトライアをフィルタで除去することと、
前記フィルタリングされたメトリックデータに少なくとも部分的に基づいて前記カバレッジ限界を定義することと、を含む、請求項2に記載のシステム。
Defining the plurality of parameters based on the metric data comprises:
filtering out outliers from the metric data;
and defining the coverage limit based at least in part on the filtered metric data.
記憶された複数の命令を含む、1つ以上の非一時的機械可読記憶媒体であって、前記命令が、少なくとも1つのプロセッサによる実行に応じて、システムに、
特定の顧客メトリックについての複数の時系列ベースの観測値を示すメトリックデータを受信させ、
前記メトリックデータに基づいて、各々が前記特定の顧客メトリックについてのいくつかの時系列ベースの観測値を捕捉するように構成されている、1つ以上の球を特徴付けるための複数のパラメータを定義させ、
前記複数のパラメータに基づいて、前記1つ以上の球を生成して、前記1つ以上の球内の前記メトリックデータのカバレッジを決定させ、前記メトリックデータにおける1つ以上の異常を検出させる、メモリと、を備え、
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、前記特定の顧客メトリックについての前記複数の時系列ベースの観測値に基づいて変化する半径を各々が有する、複数の球を動的に生成することを含む、1つ以上の非一時的機械可読記憶媒体。
one or more non-transitory machine-readable storage media containing a plurality of stored instructions, the instructions being responsive to execution by at least one processor to cause the system to:
receive metric data representing multiple time series-based observations for a particular customer metric;
define a plurality of parameters for characterizing one or more spheres, each configured to capture a number of time-series-based observations for the particular customer metric based on the metric data; ,
a memory that generates the one or more spheres based on the plurality of parameters, causes the coverage of the metric data within the one or more spheres to be determined, and detects one or more anomalies in the metric data. and,
Generating the one or more spheres based on the plurality of parameters includes generating a plurality of spheres, each having a radius that varies based on the plurality of time series-based observations for the particular customer metric. one or more non-transitory machine-readable storage media, including dynamically generating one or more non-transitory machine-readable storage media;
前記メトリックデータに基づいて前記複数のパラメータを定義することは、
少なくとも1つの球を生成するための最小半径を定義することと、
各々が変化する半径を有する1つ以上の新しい球を生成するための半径増分を定義することと、
前記生成された球によってカバーされるメトリックデータ点の最大数を示すカバレッジ限界を定義することと、を含む、請求項10に記載の1つ以上の非一時的機械可読記憶媒体。
Defining the plurality of parameters based on the metric data comprises:
defining a minimum radius for generating at least one sphere;
defining radius increments for generating one or more new spheres each having a varying radius;
and defining a coverage limit indicating a maximum number of metric data points covered by the generated sphere.
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、前記最小半径に基づいてメトリックデータの最大集中に対応する位置を決定することを含む、請求項11に記載の1つ以上の非一時的機械可読記憶媒体。 The one or more of claim 11, wherein generating the one or more spheres based on the plurality of parameters includes determining a location corresponding to a maximum concentration of metric data based on the minimum radius. non-transitory machine-readable storage medium. 前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記カバレッジ限界に到達したかどうかを判定することと、
前記カバレッジ限界に到達していないという判定に応じて、前記半径増分に基づいて少なくとも1つの新しい球の生成のための半径を増分することと、を含む、請求項12に記載の1つ以上の非一時的機械可読記憶媒体。
Generating the one or more spheres based on the plurality of parameters comprises:
determining whether the coverage limit has been reached;
and, in response to the determination that the coverage limit has not been reached, incrementing a radius for generation of at least one new sphere based on the radius increment. Non-transitory machine-readable storage medium.
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記少なくとも1つの新しい球が、以前に提供されていない前記メトリックデータのカバレッジを提供するかどうかを判定することと、
前記少なくとも1つの新しい球が以前に提供されていない前記メトリックデータのカバレッジを提供しないという判定に応じて、以前の球によってすでにカバーされたメトリックデータをフィルタで除去することと、を含む、請求項13に記載の1つ以上の非一時的機械可読記憶媒体。
Generating the one or more spheres based on the plurality of parameters comprises:
determining whether the at least one new sphere provides coverage of the metric data not previously provided;
filtering out metric data already covered by a previous sphere in response to a determination that the at least one new sphere does not provide coverage of the metric data not previously provided. 14. One or more non-transitory machine-readable storage media as described in 13.
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記少なくとも1つの新しい球が、以前に提供されていない前記メトリックデータのカバレッジを提供するという判定に応じて、前記最小半径を更新することと、
前記少なくとも1つの新しい球が、以前に提供されていない前記メトリックデータのカバレッジを提供するという前記判定に応じて、前記位置を更新することと、を含む、請求項13に記載の1つ以上の非一時的機械可読記憶媒体。
Generating the one or more spheres based on the plurality of parameters comprises:
updating the minimum radius in response to a determination that the at least one new sphere provides coverage of the metric data not previously provided;
updating the position in response to the determination that the at least one new sphere provides coverage of the metric data not previously provided. Non-transitory machine-readable storage medium.
前記メトリックデータに基づいて前記複数のパラメータを定義することは、
前記メトリックデータからアウトライアをフィルタで除去することと、
前記フィルタリングされたメトリックデータに少なくとも部分的に基づいて前記カバレッジ限界を定義することと、を含む、請求項11に記載の1つ以上の非一時的機械可読記憶媒体。
Defining the plurality of parameters based on the metric data comprises:
filtering out outliers from the metric data;
and defining the coverage limit based at least in part on the filtered metric data.
1人以上の顧客によって提供されるメトリックデータにおける異常を検出するための方法であって、前記方法は、
特定の顧客メトリックについての複数の時系列ベースの観測値を示すメトリックデータを、コンタクトセンターシステム又はコンピュータデバイスによって、受信することと、
前記メトリックデータに基づいて前記コンタクトセンターシステム又は前記コンピュータデバイスによって、各々が前記特定の顧客メトリックについてのいくつかの時系列ベースの観測値を捕捉するように構成されている1つ以上の球を特徴付けるための複数のパラメータを定義することと、
前記コンタクトセンターシステム又は前記コンピュータデバイスによって前記複数のパラメータに基づいて、前記1つ以上の球を生成して、前記1つ以上の球内の前記メトリックデータのカバレッジを決定し、前記メトリックデータにおける1つ以上の異常を検出することと、を含み、
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、前記コンタクトセンターシステム又は前記コンピュータデバイスによって、前記特定の顧客メトリックについての前記複数の時系列ベースの観測値に基づいて変化する半径を各々が有する複数の球を動的に生成することを含む、方法。
A method for detecting anomalies in metric data provided by one or more customers, the method comprising:
receiving, by a contact center system or computing device, metric data indicating a plurality of time-series-based observations for a particular customer metric;
characterizing one or more spheres, each sphere configured to capture a number of time-series-based observations for the particular customer metric, by the contact center system or the computing device based on the metric data; By defining multiple parameters for
generating the one or more spheres based on the plurality of parameters by the contact center system or the computing device to determine coverage of the metric data within the one or more spheres; detecting one or more anomalies;
Generating the one or more spheres based on the plurality of parameters varies by the contact center system or the computing device based on the plurality of time series-based observations for the particular customer metric. A method comprising dynamically generating a plurality of spheres each having a radius.
前記メトリックデータに基づいて前記複数のパラメータを定義することは、
前記コンタクトセンターシステム又は前記コンピュータデバイスによって、少なくとも1つの球の生成のための最小半径を定義することと、
前記コンタクトセンターシステム又は前記コンピュータデバイスによって、変化する半径を有する1つ以上の新しい球を生成するための半径増分を定義することと、
前記コンタクトセンターシステム又は前記コンピュータデバイスによって、前記生成された球によってカバーされるメトリックデータ点の最大数を示すカバレッジ限界を定義することと、を含む、請求項17に記載の方法。
Defining the plurality of parameters based on the metric data comprises:
defining, by the contact center system or the computing device, a minimum radius for the generation of at least one sphere;
defining, by the contact center system or the computing device, a radius increment for generating one or more new spheres with varying radii;
18. The method of claim 17, comprising: defining, by the contact center system or the computing device, a coverage limit indicating a maximum number of metric data points covered by the generated sphere.
前記複数のパラメータに基づいて前記1つ以上の球を生成することは、前記コンタクトセンターシステム又は前記コンピュータデバイスによって、前記最小半径に基づいてメトリックデータの最大集中に対応する位置を決定することを含む、請求項18に記載の方法。 Generating the one or more spheres based on the plurality of parameters includes determining, by the contact center system or the computing device, a location corresponding to a maximum concentration of metric data based on the minimum radius. 19. The method of claim 18. 前記複数のパラメータに基づいて前記1つ以上の球を生成することは、
前記コンタクトセンターシステム又は前記コンピュータデバイスによって、前記カバレッジ限界に達したかどうかを判定することと、
前記カバレッジ限界に達していないという判定に応じて、前記コンタクトセンターシステム又は前記コンピュータデバイスによって、前記半径増分に基づいて少なくとも1つの新しい球の生成のための半径を増分することと、を含む、請求項19に記載の方法。
Generating the one or more spheres based on the plurality of parameters comprises:
determining, by the contact center system or the computing device, whether the coverage limit has been reached;
incrementing, by the contact center system or the computing device, a radius for generation of at least one new sphere based on the radius increment in response to the determination that the coverage limit has not been reached. The method according to item 19.
JP2023537323A 2020-12-21 2021-12-21 Systems and methods related to applied anomaly detection and contact center computing environments Pending JP2024502944A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063128277P 2020-12-21 2020-12-21
US63/128,277 2020-12-21
PCT/US2021/064569 WO2022140359A1 (en) 2020-12-21 2021-12-21 Systems and methods related to applied anomaly detection and contact center computing environments

Publications (1)

Publication Number Publication Date
JP2024502944A true JP2024502944A (en) 2024-01-24

Family

ID=82023162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023537323A Pending JP2024502944A (en) 2020-12-21 2021-12-21 Systems and methods related to applied anomaly detection and contact center computing environments

Country Status (8)

Country Link
US (1) US20220198229A1 (en)
EP (1) EP4264432A1 (en)
JP (1) JP2024502944A (en)
CN (1) CN117157628A (en)
AU (1) AU2021409790A1 (en)
CA (1) CA3202829A1 (en)
CO (1) CO2023008969A2 (en)
WO (1) WO2022140359A1 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10454714B2 (en) 2013-07-10 2019-10-22 Nicira, Inc. Method and system of overlay flow control
US10999100B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider
US11115480B2 (en) 2017-10-02 2021-09-07 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US11102032B2 (en) 2017-10-02 2021-08-24 Vmware, Inc. Routing data message flow through multiple public clouds
US11223514B2 (en) 2017-11-09 2022-01-11 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
US11252106B2 (en) 2019-08-27 2022-02-15 Vmware, Inc. Alleviating congestion in a virtual network deployed over public clouds for an entity
US11601356B2 (en) 2020-12-29 2023-03-07 Vmware, Inc. Emulating packet flows to assess network links for SD-WAN
CN116783874A (en) 2021-01-18 2023-09-19 Vm维尔股份有限公司 Network aware load balancing
US11521639B1 (en) 2021-04-02 2022-12-06 Asapp, Inc. Speech sentiment analysis using a speech sentiment classifier pretrained with pseudo sentiment labels
US20220407790A1 (en) * 2021-06-18 2022-12-22 Vmware, Inc. Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics
US11763803B1 (en) 2021-07-28 2023-09-19 Asapp, Inc. System, method, and computer program for extracting utterances corresponding to a user problem statement in a conversation between a human agent and a user
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
US11909815B2 (en) 2022-06-06 2024-02-20 VMware LLC Routing based on geolocation costs

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9378112B2 (en) * 2012-06-25 2016-06-28 International Business Machines Corporation Predictive alert threshold determination tool
US10614056B2 (en) * 2015-03-24 2020-04-07 NetSuite Inc. System and method for automated detection of incorrect data
CA3128629A1 (en) * 2015-06-05 2016-07-28 C3.Ai, Inc. Systems and methods for data processing and enterprise ai applications
US20180025303A1 (en) * 2016-07-20 2018-01-25 Plenarium Inc. System and method for computerized predictive performance analysis of natural language

Also Published As

Publication number Publication date
US20220198229A1 (en) 2022-06-23
EP4264432A1 (en) 2023-10-25
WO2022140359A1 (en) 2022-06-30
CO2023008969A2 (en) 2023-09-29
CA3202829A1 (en) 2022-06-30
AU2021409790A1 (en) 2023-07-27
CN117157628A (en) 2023-12-01

Similar Documents

Publication Publication Date Title
US20220198229A1 (en) Systems and methods related to applied anomaly detection and contact center computing environments
US11734624B2 (en) Method and system for scalable contact center agent scheduling utilizing automated AI modeling and multi-objective optimization
US20180097940A1 (en) System and method for dynamic generation and optimization of process flows for a customer contact center
US10951554B1 (en) Systems and methods facilitating bot communications
AU2020257179A1 (en) A system and method for analyzing web application network performance
US11588836B2 (en) Systems and methods relating to neural network-based API request pattern analysis for real-time insider threat detection
US11734648B2 (en) Systems and methods relating to emotion-based action recommendations
US11218594B1 (en) System and method for creating bots for automating first party touchpoints
US11968327B2 (en) System and method for improvements to pre-processing of data for forecasting
US20230208971A1 (en) Real-time agent assist
US11893904B2 (en) Utilizing conversational artificial intelligence to train agents
JP2021536624A (en) Methods and systems for forecasting load demand in customer flow line applications
US11763318B2 (en) Systems and methods relating to providing chat services to customers
US11290594B2 (en) Cumulative average spectral entropy analysis for tone and speech classification
US20230208972A1 (en) Technologies for automated process discovery in contact center systems
US11968329B2 (en) Systems and methods relating to routing incoming interactions in a contact center

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20230725