(57)【要約】時系列データなどのシーケンスデータがニューラルネットワーク、例えば、再帰型ニューラルネットワークを使用して分析される。シーケンスデータは、ソースから取得される。例えば、シーケンスデータは、センサから取得された時系列データを表してもよい。別の例として、データシーケンスは、ユーザによって実行されるオンラインシステムとのユーザ対話のシーケンスを表してもよい。データシーケンスは、ニューラルネットワークへの入力として提供される。各々の入力シーケンスの特徴ベクトルの表現は、ニューラルネットワークから抽出される。シーケンスデータをクラスタリングするために特徴ベクトルの表現が使用される。シーケンスデータのクラスタの顕著な特徴が判定される。シーケンスデータのクラスタの顕著な特徴は、ユーザインタフェースを介した表示のために提供される。
2020518938.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータシーケンスを受信するステップであって、前記複数のデータシーケンスからの各々のデータシーケンスは、異なる長さを有する時系列を表す、ステップと、
前記複数のデータシーケンスの各々に対し、
前記データシーケンスを再帰型ニューラルネットワークへの入力として提供するステップであって、前記再帰型ニューラルネットワークは、ノードの１つまたは複数の隠れ層を含む、ステップと、
前記再帰型ニューラルネットワークの隠れ層の出力を表す特徴ベクトルを抽出するステップであって、前記特徴ベクトルは、前記データシーケンスを前記再帰型ニューラルネットワークへの入力として提供したことに応答して、前記隠れ層によって生成される、ステップと、
特徴ベクトルの複数のクラスタを判定するように、前記抽出された特徴ベクトルをクラスタリングするステップと、
各々のクラスタに対し、前記クラスタを特徴付ける１つまたは複数の顕著な特徴を判定するステップと、
前記クラスタを記述した情報を、ユーザインタフェースを介した提示のためにクライアントデバイスに送信するステップと、
を備えたことを特徴とするコンピュータにより実行される方法。
【請求項２】
各々のデータシーケンスは、センサから取得された時系列データを表すことを特徴とする請求項１に記載のコンピュータにより実行される方法。
【請求項３】
各々のデータシーケンスは、オンラインシステムとのユーザ対話を記述したデータを表すことを特徴とする請求項１に記載のコンピュータにより実行される方法。
【請求項４】
前記再帰型ニューラルネットワークは、入力シーケンスを受信し、前記入力シーケンスに合致する出力シーケンスを生成するように構成されたオートエンコーダであることを特徴とする請求項１に記載のコンピュータにより実行される方法。
【請求項５】
前記クラスタを特徴付ける１つまたは複数の顕著な特徴を判定するステップは、
説明的特徴のセットを受信することと、
前記特徴のセットからの各々の特徴に対し、前記クラスタと関連付けられたデータシーケンスのグループの特徴の類似性の測定値の、データシーケンスの第２のグループの特徴の類似性の測定値との比較に基づいて、特徴スコアを判定することと、
前記説明的特徴のセットからの１つまたは複数の説明的特徴を顕著な特徴として識別することと、
を含むことを特徴とする請求項１に記載のコンピュータにより実行される方法。
【請求項６】
説明的特徴は、複数のクラスタに適用可能であり、特定のクラスタを記述した前記情報は、前記クラスタについての前記特徴の集計値を含むことを特徴とする請求項５に記載のコンピュータにより実行される方法。
【請求項７】
データシーケンスの前記グループ内で前記特徴の類似性の前記測定値が、データシーケンスの前記第２のグループの類似性の前記測定値よりも閾値だけ高いと判定される場合、特徴は、データシーケンスのグループの顕著な特徴として識別されることを特徴とする請求項５に記載のコンピュータにより実行される方法。
【請求項８】
第１のシーケンスを含む第１の特徴値を第２のシーケンスを含む第２の特徴値と比較することは、前記第２のシーケンスをシフトすることによって前記第１のシーケンスを取得することができる場合、前記第１の特徴値が前記第２の特徴値と合致すると判定することを特徴とする請求項５に記載のコンピュータにより実行される方法。
【請求項９】
第１のシーケンスを含む第１の特徴値を第２のシーケンスを含む第２の特徴値と比較することは、前記第２のシーケンスをスケールすることによって前記第１のシーケンスを取得することができる場合、前記第１の特徴値が前記第２の特徴値と合致すると判定することを特徴とする請求項５に記載のコンピュータにより実行される方法。
【請求項１０】
第１のシーケンスを含む第１の特徴値を第２のシーケンスを含む第２の特徴値と比較することは、前記第１のシーケンスの形状が前記第２のシーケンスの形状と類似すると判定される場合、前記第１の特徴値が前記第２の特徴値と合致すると判定することを特徴とする請求項５に記載のコンピュータにより実行される方法。
【請求項１１】
コンピュータプロセッサと、
命令を記憶した非一時的コンピュータ可読記憶媒体と、を備え、前記命令は、プロセッサによって実行されるとき、前記プロセッサに、
複数のデータシーケンスを受信するステップであって、前記複数のデータシーケンスからの各々のデータシーケンスは、異なる長さを有する時系列を表す、ステップと、
前記複数のデータシーケンスの各々に対し、
前記データシーケンスを再帰型ニューラルネットワークへの入力として提供するステップであって、前記再帰型ニューラルネットワークは、ノードの１つまたは複数の隠れ層を含む、ステップと、
前記再帰型ニューラルネットワークの隠れ層の出力を表す特徴ベクトルを抽出するステップであって、前記特徴ベクトルは、前記データシーケンスを前記再帰型ニューラルネットワークへの入力として提供したことに応答して、前記隠れ層によって生成される、ステップと、
特徴ベクトルの複数のクラスタを判定するように、前記抽出された特徴ベクトルをクラスタリングするステップと、
各々のクラスタに対し、前記クラスタを特徴付ける１つまたは複数の顕著な特徴を判定するステップと、
前記クラスタを記述した情報を、ユーザインタフェースを介した提示のためにクライアントデバイスに送信するステップと、
を実行させることを特徴とするコンピュータ実行システム。
【請求項１２】
複数のデータシーケンスを受信するステップであって、各々のデータシーケンスは、センサによって生成されたセンサデータに対応し、各々のデータシーケンスは、異なる長さを有する時系列を表す、ステップと、
前記データシーケンスの複数のグループを判定するステップと、
データシーケンスの各々のグループに対し、データシーケンスの前記グループを特徴付ける１つまたは複数の顕著な特徴を判定するステップであって、前記判定するステップは、
説明的特徴のセットを受信することと、
前記説明的特徴のセットからの各々の説明的特徴に対し、データシーケンスの前記グループ内の前記説明的特徴の類似性の測定値の、データシーケンスの第２のグループ内の前記説明的特徴の類似性の測定値との比較に基づいて、特徴スコアを判定することと、
前記特徴スコアに基づいて、前記特徴のセットからの１つまたは複数の説明的特徴を顕著な特徴として識別することと、を含む、ステップと、
特定のセンサを識別する情報を受信するステップと、
前記特定のセンサに対応するデータシーケンスの特定のグループを判定するステップと、
データシーケンスの前記特定のグループを特徴付ける前記顕著な特徴に基づいて、前記特定のセンサと関連付けられたイベントを予測するステップと、
を備えたことを特徴とするコンピュータにより実行される方法。
【請求項１３】
前記データシーケンスの複数のグループを判定するステップは、
データシーケンスの各々に対し、前記データシーケンスに対応する特徴ベクトルを取得するように再帰型ニューラルネットワークを使用して前記データシーケンスを処理することと、
前記特徴ベクトルをクラスタリングすることと、
を含むことを特徴とする請求項１２に記載のコンピュータにより実行される方法。
【請求項１４】
再帰型ニューラルネットワークを使用して前記データシーケンスを処理することは、
前記データシーケンスを前記再帰型ニューラルネットワークへの入力として提供することと、
前記再帰型ニューラルネットワークの隠れ層の出力を表す特徴ベクトルを抽出することと、
を含むことを特徴とする請求項１３に記載のコンピュータにより実行される方法。
【請求項１５】
前記再帰型ニューラルネットワークは、入力データシーケンスを受信し、前記入力シーケンスに合致する出力シーケンスを生成するように構成されたオートエンコーダであることを特徴とする請求項１３に記載のコンピュータにより実行される方法。
【請求項１６】
前記特定のセンサと関連付けられたイベントを予測することは、しきい値時間間隔内に発生するイベントの尤度を出力するように構成された機械学習ベースモデルを使用して実行されることを特徴とする請求項１２に記載のコンピュータにより実行される方法。
【請求項１７】
前記センサと関連付けられた前記予測されるイベントは、前記センサと関連付けられた機器の故障を表すことを特徴とする請求項１２に記載のコンピュータにより実行される方法。
【請求項１８】
データシーケンスの前記第２のグループは、前記複数のデータシーケンスからデータシーケンスのサンプルを取ることによって判定されることを特徴とする請求項１２に記載のコンピュータにより実行される方法。
【請求項１９】
クラスタに対応するデータシーケンスのグループ内の前記特徴の類似性の測定値がデータシーケンスの第２のグループ内の前記特徴の類似性の測定値よりも高いと判定される場合、特徴は、前記クラスタの顕著な特徴として識別されることを特徴とする請求項１２に記載のコンピュータにより実行される方法。
【請求項２０】
特徴は、値のシーケンスを含み、第１のシーケンスを含む第１の特徴値を第２のシーケンスを含む第２の特徴値と比較することは、前記第２のシーケンスの変換を実行することによって前記第１のシーケンスを取得することができる場合、前記第１の特徴値が前記第２の特徴値と合致すると判定し、前記変換は、シーケンスをシフトすることまたはシーケンスをスケールすることのうちの１つまたは複数を含むことを特徴とする請求項１２に記載のコンピュータにより実行される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、例えばセンサデータなどの時系列を処理することに関し、より具体的には、再帰型ニューラルネットワークに基づいて時系列データの顕著な特徴を抽出することに関する。
【背景技術】
【０００２】
関連出願の相互参照
本出願は、２０１７年５月５日に出願された米国特許仮出願第６２／５０２，５９５号明細書の利益を主張するものであり、この仮出願の全体が参照により組み込まれる。
【０００３】
様々なシステムが、データシーケンス、例えば、センサから収集された時系列データや、オンラインシステムとのユーザ対話を表す時系列データを処理する。システムはこのようなデータを様々な理由で分析することがあり、例えば、システムは、センサデータのシーケンスを分析して、対応するセンサの特性を分析することがある。このようなデータシーケンスの処理は、様々な理由で困難であることが多い。例えば、異なるシーケンスが、異なる時点で現れる異なる数の要素を有することがある。例えば、特定のセンサが、変化し続ける異なる時間間隔でデータを報告することがある。さらに、センサがデータを報告する割合は、別のセンサがデータを報告するかもしれない割合と著しく異なることがある。さらに、処理されているデータの量が非常に多い可能性がある。システムは数千個のセンサからデータを受信することがあり、各センサは１秒間に複数回データを報告することがある。結果として、システムによって処理されているデータの量が多い可能性があり、データの処理は、非常に計算集約的なプロセスである可能性がある。
【０００４】
シーケンスデータを分析するための従来の技法は、シーケンスデータを集約し、次いでそれを分析することが多い。さらに、データの分析に使用される特徴が、ユーザによって選択される。例えば、ユーザは、データ値の平均および標準偏差など、統計を使用してシーケンスを表すことがある。しかし、シーケンスデータには、ユーザが選択できない、重要かもしれない他の特性があることもある。例えば、シーケンスの重要な特徴は、特定の特性を有するサブシーケンスの存在であることがある。ユーザは、あまり直感的ではないこのような特徴を識別しないことがある。集約と、分析のための恣意的な特徴選択との結果、シーケンス中で利用可能な重要な情報が失われる。さらに、ユーザは、あるタイプの分析に関連性のない特徴を識別して処理することがあり、それにより、関連性のない中間結果を生み出すことによってプロセスを非効率的なものにすることがある。結果として、従来の技法は、シーケンスデータの分析に基づいて不適当な結果を生み出し、計算的に非効率的であることが多い。
【発明の概要】
【０００５】
コンピュータシステムがデータシーケンスを分析する。システムは、複数のデータシーケンスを受信する。各データシーケンスは、異なる長さであってよい。システムは、各データシーケンスを再帰型ニューラルネットワークに入力として提供する。再帰型ニューラルネットワークは、１つまたは複数の隠れ層を含む。システムは、再帰型ニューラルネットワークの隠れ層の出力を表す特徴ベクトルを抽出する。特徴ベクトルは、入力されたデータシーケンスの表現としての働きをする。システムは、抽出された特徴ベクトルをクラスタリングして、特徴ベクトルの複数のクラスタを判定する。システムは、各クラスタを特徴付ける１つまたは複数の顕著な特徴（salient feature）を判定する。システムは、クラスタを記述する情報を、ユーザインタフェースを介した提示のためにクライアントデバイスに送信する。
【０００６】
実行形態では、システムは、クラスタの顕著な特徴を次のように判定する。システムは、特徴のセットを受信する。特徴のセットからの各特徴につき、システムは特徴スコアを判定する。特徴スコアは、クラスタ内での特徴の類似性測定値を、データシーケンスの第２のクラスタまたはグループ中での特徴の類似性測定値と比較することに基づいて判定される。データシーケンスの第２のグループは、受信された複数のデータシーケンスとほぼ同じであってよく、または、受信された複数のデータシーケンスをサンプリングすることによって得られてよい。システムは、特徴スコアに基づいて、特徴のセットからの１つまたは複数の特徴を顕著な特徴として識別する。
【０００７】
実行形態では、再帰型ニューラルネットワークは、入力シーケンスを受信し、入力シーケンスに合致する出力シーケンスを生成するように構成された、オートエンコーダである。
【０００８】
別の実行形態では、コンピュータシステムが、デバイスから受信されたデータシーケンス、例えば時系列データを分析する。システムは、複数のデータシーケンスを受信する。データシーケンスの例は、センサから受信された時系列データである。データシーケンスの別の例は、ユーザによって例えばオンラインシステムとの間で実行されたユーザ対話を表す時系列である。システムは、データシーケンスのグループを判定する。システムは、データシーケンスの各グループにつき、顕著な特徴を次のように判定する。システムは、特徴のセットを受信する。特徴のセットからの各特徴につき、システムは特徴スコアを判定する。システムは、クラスタ内での特徴の類似性測定値を、データシーケンスの第２のグループ中での特徴の類似性測定値と比較することに基づいて、特徴スコアを判定する。データシーケンスの第２のグループは、受信された複数のデータシーケンスをサンプリングすることによって得られてよい。システムは、特徴スコアに基づいて、特徴のセットからの１つまたは複数の特徴を顕著な特徴として識別する。例えば、システムは、グループ内での特徴の類似性測定値が、データシーケンスの第２のグループ中での特徴の類似性測定値よりも、しきい値分高い場合は、データシーケンスのグループの特徴を顕著な特徴として識別してよい。システムは、データシーケンスのグループを記述する情報を、ユーザインタフェースを介した提示のためにクライアントデバイスに送信する。
【０００９】
実行形態では、システムは、再帰型ニューラルネットワークを使用して各データシーケンスを処理して特徴ベクトルを取得し、特徴ベクトルをクラスタリングすることによって、データシーケンスの複数のグループを判定する。実行形態では、再帰型ニューラルネットワークは、入力データシーケンスを受信し、入力シーケンスに合致する出力データシーケンスを生成するように構成された、オートエンコーダである。
【図面の簡単な説明】
【００１０】
開示される実行形態は、詳細な記述、付加された特許請求の範囲、および添付の図（または図面）からより容易に明らかになるであろう他の利点および特徴を有する。以下は、図の簡単な紹介である。
【００１１】
【図１】本発明の実行形態による、シーケンスに関連付けられた顕著な特徴を抽出するための全体的なシステム環境を示す図である。
【図２】実行形態による例示的な再帰型ニューラルネットワークを示す図である。
【図３】実行形態による、ニューラルネットワークの訓練および実行のためのディープラーニングモジュールのシステムアーキテクチャを示す図である。
【図４】本発明の実行形態による、時系列データをクラスタリングするための全体的なプロセスを例証する図である。
【図５】本発明の実行形態による、クラスタの顕著な特徴を識別するプロセスを例証する図である。
【図６】本発明の実行形態による、データセットのクラスタを記述する情報を提示するためのユーザインタフェースを例証する図である。
【図７】実行形態によるコンピュータシステムの例を例証する高レベルのブロック図である。
【００１２】
本明細書に記述される特徴および利点は包括的なものではなく、特に、図面、明細書、および特許請求の範囲に鑑みて、多くの追加的な特徴および利点が当業者には明らかであろう。さらに、本明細書中で使用される言葉は、主に読みやすさおよび教授の目的で選択されており、開示される主題を線引きまたは制限するために選択されてはいないことがあることにも留意されたい。
【発明を実施するための形態】
【００１３】
図１は、本発明の実行形態による、シーケンスに関連付けられた顕著な特徴を抽出するための全体的なシステム環境を示す。全体的なシステム環境は、１つまたは複数のデバイス１３０、データ分析システム１５０、およびネットワーク１１０を含む。他の実行形態は、図１に例証されるものよりも多いもしくは少ないかまたは異なるシステムを使用することもできる。本明細書に記述される様々なモジュールおよびシステムの機能は、本明細書に記述されるもの以外のモジュールおよび／またはシステムによって実装されることも可能である。
【００１４】
図１および他の図は、同じ要素を識別するのに同じ参照番号を使用する。「１３０ａ」など、参照番号の後の文字は、その特定の参照番号を有する要素を本文が具体的に指すことを示す。「１３０」など、後続文字のない本文中の参照番号は、その参照番号を持つ図中の要素のいずれかまたはすべてを指す（例えば、本文中の「１３０」は、図中の参照番号「１３０ａ」および／または「１３０ｂ」を指す）。
【００１５】
データ分析システム１５０はディープラーニングモジュール１２０を含み、ディープラーニングモジュール１２０は、ニューラルネットワークの訓練を実行し、また、処理されているデータに対してユーザがニューラルネットワークを実行できるようにもする。データ分析システム１５０は、データシーケンス、例えば時系列データを受信し、受信されたデータの分析を実行する。ディープラーニングモジュール１２０のさらに他の詳細が、図３に例証され、また図３に関して記述される。
【００１６】
実行形態では、デバイス１３０は、データ分析システム１５０によって分析されるデータシーケンスまたは時系列データを提供する。例えば、ユーザが、デバイス１３０を使用してオンラインシステムと対話することがある。ユーザ対話は、分析のためにデータ分析システム１５０に提供される時系列データまたはデータシーケンスとしての働きをする。データ分析システム１５０は、ユーザ対話データを分析して、ユーザ対話を実行したユーザの挙動または特性を予測してよい。分析の結果は、ユーザインタフェースを介して報告されてよい。いくつかの実行形態では、分析の結果が使用されて、どのようにユーザにコンテンツを配信するかが判定されてよい。例えば、ユーザの特性に基づいて、ユーザが関心を有する可能性の高いコンテンツがユーザに提供されてよい。別の例として、ユーザの特性に基づいて、ユーザにコンテンツを配信するタイミングが判定されてよい。例えば、観察されたユーザの挙動に基づいて、いくらかのユーザには、あるタイプのコンテンツが特定の時刻、曜日、または特定の時期に提供されてよい。
【００１７】
いくつかの実行形態では、デバイス１３０は、コード中で発生するイベントに基づいて時系列データを提供するコードを実行してよい。デバイス１３０は、クリックストリームデータを分析のためにデータ分析システム１５０に提供してよい。データ分析システム１５０は、デバイスまたはサーバであることのある様々なシステム中で発生するイベントを表す時系列データを受信してよい。データ分析システム１５０は、データを送信したサーバ／クライアントの特性を判定し、分析に基づいてアクションを講じてよい。例えば、データ分析システム１５０は、１つまたは複数のサーバから受信された時系列データについて観察されたいくつかの特性に応答して、アラートを送信してよい。あるいは、データ分析システム１５０は、分析に応答して適切なアクションを講じてよく、これは例えば、分析に基づいて、サーバを遮断すること、サーバによって受信された要求を別のサーバにリダイレクトしてサーバの負荷を減らすこと、サーバ上のいくつかのプロセスを開始もしくは停止すること、またはリソース管理に関係付けられる他のタスクを実行することによって、行ってよい。別の実行形態では、シーケンスデータは、本明細書でさらに記述されるように、センサから受信された時系列データを表す。
【００１８】
デバイスは、任意の物理的デバイスとすることができ、例えば、モノのインターネット（ＩｏＴ）を介して他のデバイスまたはシステムに接続されたデバイスとすることができる。ＩｏＴは、物理的なデバイス、車両、家電、および他のアイテムのネットワークを表し、これらには、電子回路と、ソフトウェアと、センサと、アクチュエータと、これらのオブジェクトが接続してデータを交換するのを可能にする接続性とが組み込まれている。デバイスは、時間の経過に伴って感知されたデータシーケンスを送信するセンサとすることができる。デバイスから受信されるデータシーケンスは、デバイスによって生成されたデータを表してよく、例えば、センサデータ、または、デバイスによって生成されたデータをさらに処理することによって得られるデータを表してよい。デバイスによって生成されたデータをさらに処理することは、データをスケールすること、データに関数を適用すること、または、デバイスによって生成された複数の値に基づく移動集計値（moving aggregate value）、例えば移動平均を判定することを含んでよい。
【００１９】
データ分析システム１５０は、データ収集を実行する他のシステムからデータを受信してよい。例えば、外部システムが、データ分析システム１５０のデータロードユーティリティを呼び出して、外部システムによって記憶されたデータをデータ分析システム１５０に提供してよい。
【００２０】
実行形態では、デバイス１３０は、データ分析システム１５０と対話するためにユーザによって使用されるクライアントデバイスである。デバイス１３０のユーザは、データ点のラベリングを実行する専門家、ニューラルネットワークに関連付けられた様々な管理タスクまたはデータ分析システム１５０上で実行される他のソフトウェアを実行するシステム管理者を含む。実行形態では、デバイス１３０は、ユーザがデータ分析システム１５０と対話するのを可能にするアプリケーション１３５を実行する。例えば、デバイス１３０上で実行されるアプリケーション１３５は、データ分析システム１５０上で実行されるウェブサーバと対話するインターネットブラウザであってよい。
【００２１】
図１に示されるシステムおよびアプリケーションは、コンピューティングデバイスを使用して実行されるものとすることができる。コンピューティングデバイスは、例えばＭｉｃｒｏｓｏｆｔ（商標）Ｗｉｎｄｏｗｓ（商標）互換オペレーティングシステム（ＯＳ）、Ａｐｐｌｅ（商標）ＯＳ  Ｘ、および／またはＬｉｎｕｘディストリビューションを実行する、従来のコンピュータシステムとすることができる。コンピューティングデバイスはまた、パーソナルディジタルアシスタント（ＰＤＡ）、モバイル電話機、ビデオゲームシステムなど、コンピュータ機能を有するクライアントデバイスとすることもできる。
【００２２】
デバイス１３０とデータ分析システム１５０との間の対話は通常、ネットワーク１１０を介して、例えばインターネットを介して実行される。データ分析システム１５０と企業１１０のコンピュータシステム１２０との間の対話も通常、ネットワーク１１０を介して実行される。一実行形態では、ネットワークは、標準的な通信技術および／またはプロトコルを使用する。別の実行形態では、相互と対話する様々なエンティティ、例えばコンピュータシステム１５０およびデバイス１３０は、上述されたものに代えてまたはそれに加えて、カスタムおよび／または専用のデータ通信技術を使用することができる。実行形態に応じて、ネットワークは、インターネットなど他のネットワークへのリンクを含むこともできる。
【００２３】
データ分析システム１５０はディープラーニングモジュール１２０を含み、ディープラーニングモジュール１２０は、データシーケンスを処理するためのニューラルネットワークを含む。図２は、実行形態による例示的なニューラルネットワークを示す。ニューラルネットワーク２００または任意の人工ニューラルネットワーク中では、ノードが共に接続されてネットワークを形成する。ノードは、様々な階層レベルで共にグループ化されてよい。ノードは、入力データ、中間データ、および出力データを表してよい。ノード特性は、ニューラルネットワークを使用して処理される画素および他のデータなどのデータを表してよい。ノード特性値は、ニューラルネットワークのノードに関連付けられた任意の値またはパラメータであってよい。各ノードは、入力および出力を有する。ニューラルネットワークの各ノードは、ノードによって実行される計算に対応する命令のセットに関連付けられる。ニューラルネットワークのノードに対応する命令のセットは、１つまたは複数のコンピュータプロセッサによって実行されてよい。ニューラルネットワーク２００は、ディープニューラルネットワークと呼ばれることもある。
【００２４】
ノード間の各接続（例えば、ネットワーク特性）は、重み（例えば、訓練／学習プロセスにおいて判定された数値パラメータ）によって表されてよい。いくつかの実行形態では、２つのノード間の接続は、ネットワーク特性である。接続の重みは、接続の強度を表してよい。いくつかの実行形態では、あるレベルのノードは、隣接する階層グルーピングレベル中の１つまたは複数のノードにのみ接続してよい。いくつかの実行形態では、ネットワーク特性は、ニューラルネットワークのノード間の接続の重みを含む。ネットワーク特性は、ニューラルネットワークのノードの接続に関連付けられた任意の値またはパラメータであってよい。
【００２５】
図２に示されるように、ニューラルネットワーク２００は、複数の層を含む。これらは、入力層Ｌｉおよび出力層Ｌｏ、ならびに１つまたは複数の隠れ層Ｌｈを含む。各層は、１つまたは複数のノードを有する。例えば、層Ｌｉは、ノードＮｉ１、Ｎｉ２、Ｎｉ３、Ｎｉ４、Ｎｉ５、およびＮｉ６を有し、層Ｌ0は、ノードＮｏ１およびＮｏ２を有する。
【００２６】
ノードは、入力ノード、隠れノード、および出力ノードとして編成されてよい。したがって、入力層のノードは入力ノードであり、出力層のノードは出力ノードであり、隠れ層のノードは隠れノードである。層のノードは、別の層に入力を提供してよく、別の層から入力を受信してよい。実行形態では、ニューラルネットワークは、本明細書でさらに記述されるように再帰型ニューラルネットワークである。
【００２７】
システムアーキテクチャ
図３は、実行形態による、ニューラルネットワークの訓練および実行のためのディープラーニングモジュールのシステムアーキテクチャを示す。ディープラーニングモジュール１２０は、データセットストア３７０、ニューラルネットワーク２００、エンベディング（embedding）選択モジュール３１０、クラスタリングモジュール３２０、および特徴分析モジュール３４０を備える。他の実行形態では、ディープラーニングモジュール１２０は、図２に示されるものよりも多いまたは少ないモジュールを含んでもよい。さらに、具体的な機能は、本明細書に記述されるもの以外のモジュールによって実装されてもよい。いくつかの実行形態では、図３に例証される様々なコンポーネントは、異なるコンピュータシステム１５０によって実行されてよい。例えば、ニューラルネットワーク２００は、クラスタリングモジュール３２０またはラベリングモジュール３５０を実行するプロセッサとは異なる１つまたは複数のプロセッサによって実行されてよい。さらに、ニューラルネットワーク２００は、より高速な実行のために、並列または分散アーキテクチャを使用して実行されてもよい。
【００２８】
データセットストア３７０は、データシーケンス（または時系列）を表すデータセットを受信して記憶する。異なるデータセットが、異なる長さのデータシーケンスを表してよい。すなわち、各シーケンスは、異なる数の要素を有してよい。実行形態では、各データセットはセンサに関連付けられ、各データセットは、このセンサによって提供されるセンサデータを表す。例えば、センサは、温度、圧力、または任意のイベントの発生など、ある情報を監視してこの情報をシステムに報告してよく、システムは、入来データを、センサに関連付けられた時系列として記憶する。
【００２９】
別の例として、各データセットは、任意のマシン挙動、例えば、サーバ中で発生しサーバによって報告されるイベントを表してよい。したがって、各データセットはサーバ（またはマシン）に関連付けられ、各データセットは、サーバ（またはマシン）によって報告される計時されたイベントのシーケンスを含む。報告されるイベントの例は、サーバによって実行された具体的な関数呼出し、キャッシュヒット、キャッシュミス、割込み、または、サーバもしくはマシン上で発生することのある他のイベントを含んでよい。
【００３０】
別の例として、各データセットは、ユーザ（１人または複数）に関連付けられたユーザ対話を表す。ユーザ対話は、ユーザによってクライアントデバイスを介してオンラインシステムとの間で実行されることがある。各データセットは、ユーザセッション中に実行されたｔ個のユーザ対話を表してよく、セッションは、オンラインシステムとの対話を実行するためにクライアントデバイスによって始められた接続を使用して開始し、接続が閉じられたときに終了する。別の例として、ユーザ対話は、ユーザによって発信された電話、例えば、ユーザによって発信され、監視され時系列として記憶される顧客サービス電話を表してよい。これらの実行形態では、ユーザによって実行された各ユーザ対話は、時系列の要素として記憶され、タイムスタンプに関連付けられる。すなわち、電話が発信された時刻またはユーザ対話が実行された時刻に関連するタイムスタンプに関連付けられる。
【００３１】
別の実行形態では、各データセットは株に関連付けられ、時系列は、異なる時点の株価を表す。実行形態は時系列データの分析について記述しているが、本明細書に記述される技法は、ある順序を有するデータ値を含む任意のシーケンスデータに適用される。
【００３２】
ニューラルネットワーク２００は、図２に記述されたとおりである。実行形態では、ニューラルネットワーク２００は、１つまたは複数のノードが接続されて有向サイクルまたはループを形成するような再帰型ニューラルネットワーク（ＲＮＮ）である。例示的なＲＮＮは層Ｌｍを含み、層を入力層から出力層まで辿ったとき、層Ｌｍは層Ｌｎの前に発生する。したがって、層Ｌｍは、層Ｌｎと比較して入力層により近く、層Ｌｍの出力は、場合によっては１つまたは複数の他の層を介して、層Ｌｎに入力として提供される。ＲＮＮは、フィードバックとして、層Ｌｎの出力を（場合によっては他の層を介して）層Ｌｍに入力として提供するように構成される。したがって、層Ｌｍは、ＲＮＮの前の層からの入力、ならびに層Ｌｎの出力を受信する。ＲＮＮのフィードバックループは、ＲＮＮが状態情報を記憶するのを可能にする。
【００３３】
別の例として、再帰型ニューラルネットワークは、層Ｌｑの出力がＬｑに入力として提供されるような層Ｌｑを含んでよい。有向サイクルは、再帰型ニューラルネットワークが状態情報を記憶するのを可能にし、それにより、再帰型ニューラルネットワークのための内部メモリとしての働きをする。実行形態では、ニューラルネットワーク２００は、長短期記憶（ＬＳＴＭ）ニューラルネットワークである。ニューラルネットワーク２００は、再帰型ディープニューラルネットワークと呼ばれることもある。
【００３４】
実行形態では、ニューラルネットワーク２００は、入力をとり、入力をエンコードし、入力に合致する出力を再生成する、オートエンコーダである。例えば、オートエンコーダは、シーケンスを入力として受信し、シーケンスを特徴ベクトル表現にエンコードし、入力シーケンスを出力として再生成するように構成されてよい。入力シーケンスの特徴ベクトル表現は、入力シーケンスの圧縮バージョンである。実行形態では、特徴ベクトル表現は、入力シーケンスのサイズから独立した固定数の次元（または要素）を有する。特徴ベクトル表現は、異なる数の要素を有することのある２つのシーケンスの効率的な比較を可能にするが、これは、両方のシーケンスの特徴ベクトル表現が同数の要素を有するからである。したがって、実行形態は、ユークリッド距離メトリックなどの距離メトリックを使用して、シーケンスの特徴ベクトル表現を比較する。さらに、クラスタリングモジュール３３０は、ｋ平均法などのクラスタリング技法を使用して、距離メトリックに基づいて特徴ベクトル表現をクラスタリングすることができる。シーケンスの特徴ベクトル表現は、本明細書では、シーケンスのエンベディングとも呼ばれる。クラスタリングに使用される特徴ベクトル中で表される特徴は、クラスタリング特徴とも呼ばれる。
【００３５】
オートエンコーダの予測された出力は、入力と同一でないことがあるが、入力に近い近似であってよい。したがって、オートエンコーダは、入力Ｘを受信し、入力Ｘを予測する出力を生成する。このプロセスにおいて、オートエンコーダは、削減された次元に基づいて入力の特徴ベクトル表現を生成する。
【００３６】
訓練の各反復の間、ニューラルネットワーク２００は、様々な層におけるサンプル入力データを表すエンベディングを生成する。エンベディングは、入力データセットの特徴ベクトル表現である。特徴ベクトル表現は、異なる入力データセットに対応する時系列（またはデータシーケンス）が異なるサイズであっても、これらの入力データセットについて同数の要素を有する。
【００３７】
エンベディング選択モジュール３１０は、ニューラルネットワーク２００の隠れ層から、入力データセットの特徴ベクトル表現を抽出する。実行形態では、エンベディング選択モジュール３１０は、ニューラルネットワーク２００の出力層に入力を提供するニューラルネットワーク２００の最後の隠れ層から、入力データセットの特徴ベクトル表現を抽出する。エンベディング選択モジュール３１０は、抽出された特徴ベクトル表現を、クラスタリングモジュール３２０に入力として提供する。
【００３８】
クラスタリングモジュール３２０は、エンベディング選択モジュール３１０から特徴ベクトル表現のセットを受信する。各特徴ベクトルは、特定の反復の間にニューラルネットワーク２００に入力として提供されたデータセットを表す。クラスタリングモジュール３２０は、受信された特徴ベクトルのセットのクラスタリングを実行し、クラスタのセットを生成する。クラスタは、１つまたは複数の特徴ベクトルを含む。各特徴ベクトルは、入力データセットを表す。したがって、各クラスタは、１つまたは複数のデータセットを含む。データセットはエンティティに関連付けられてよく、例えば、ユーザ対話のシーケンスを含むデータセットはユーザ（またはユーザアカウント）に関連付けられ、センサによって提供されたデータを表す時系列を含むデータセットはセンサに関連付けられる。したがって、各クラスタは、クラスタに割り当てられたデータセットに対応するエンティティのクラスタと考えられることが可能である。
【００３９】
クラスタリングモジュール３２０は、任意の２つの特徴ベクトル間の距離を表す距離メトリックを使用し、距離メトリックに従って相互に近い特徴ベクトルを表す特徴ベクトルクラスタを識別する。例えば、２つの特徴ベクトル間の距離は、ユークリッド距離メトリックを使用して計算されてよい。クラスタリングモジュール３２０は、クラスタリング技法、例えば、ｋ平均法クラスタリング、分布ベースのクラスタリング、階層クラスタリングなどを使用してよい。
【００４０】
特徴分析モジュール３４０は、クラスタの各セットの顕著な特徴を識別する。クラスタの顕著な特徴は、その特定のクラスタを特徴付ける特徴を表す。したがって、特定の顕著な特徴を有するデータセットは、他のデータセットと比較して、例えば、データセットの母集団全体またはデータセットの母集団全体のサンプルと比較して、顕著な特徴の合致する値を有する可能性がより高い。同様に、特定の顕著な特徴を有するエンティティは、他のエンティティと比較して、例えば、エンティティの母集団全体またはエンティティの母集団全体のサンプルと比較して、顕著な特徴の合致する値を有する可能性がより高い。顕著な特徴を識別するために特徴分析モジュール３４０によって実行されるプロセスについては、本明細書でさらに記述される。
【００４１】
全体的なプロセス
図４は、本発明の実行形態による、時系列データをクラスタリングするための全体的なプロセスを例証する。プロセス中で例証されるステップは、図４に示されるものとは異なる順序で実行されてもよい。さらに、ステップは、本明細書に示されるものとは異なるモジュールによって実行されてもよい。後続の記述は時系列データを使用してプロセスを例証するが、図４に記述されるプロセスは、データ値の順序付きリストを含む任意のシーケンスデータに適用可能である。
【００４２】
データ分析システム１５０は、複数のデータセットを受信し、これらをデータセットストア３７０に記憶する（４１０）。各データセットは、データ値のシーケンス、例えば時系列を含む。時系列は、データ値のシーケンスであり、各データ値は時間値に関連付けられる。時間値は、タイムスタンプとして表されてよい。時間値は、データ値が生成された時刻、またはデータ値がシステムによって受信された時刻を表してよい。例えば、ユーザ対話を受信するオンラインシステムが、各ユーザ対話を、ユーザ対話に関連付けられたタイムスタンプと共にログしてよい。したがって、オンラインシステムのログに記憶されたデータは、１つまたは複数の時系列を含む。
【００４３】
時系列データの他の例は、センサデータおよびユーザ対話データを含む。各データセット（または、データシーケンスもしくは時系列）は、エンティティ、例えば、データセットのソースであるエンティティに関連付けられてよい。例えば、センサデータを表す時系列を含む各データセットは、データを提供したセンサに関連付けられる。同様に、ユーザ対話を表す時系列を含む各データセットは、ユーザ対話を実行したユーザ、またはこのユーザのユーザアカウントに関連付けられる。
【００４４】
データ分析システム１５０は、受信された複数のデータセットをクラスタリングする要求を受信する（４２０）。データセットのクラスタは、データセットに関連付けられたエンティティのクラスタに対応する。例えば、データセットがユーザ対話を表す場合、データセットのクラスタは、データセットに関連付けられたユーザのクラスタに対応する。同様に、データセットがセンサデータを表す場合、データセットのクラスタは、データセットに関連付けられたセンサのクラスタに対応する。
【００４５】
データ分析システム１５０は、各データセットにつき、後続のステップ４３０および４４０を繰り返す。データ分析システム１５０は、データセットをニューラルネットワーク２００に入力として提供する。ニューラルネットワーク２００は、データセットによって表されるシーケンスのデータ値を受信し、これらを処理する。実行形態では、データセットのデータ値のシーケンスは、シーケンスの順に、一度に１つのデータ値ずつニューラルネットワーク２００に入力として提供される。例えば、シーケンスの第１の要素が、ニューラルネットワークの第１の層（入力層）によって処理される。シーケンスの第２の要素が第１の層に入力として提供されるとき、第１の要素に対応するデータは、ニューラルネットワークの第２の層によって処理されている。
【００４６】
エンベディング選択モジュール３１０は、入力データセットを表す特徴ベクトルを抽出する（４４０）。エンベディング選択モジュール３１０は、入力データセットの特徴ベクトル表現として、隠れ層によって生成された出力を抽出する（４４０）。実行形態では、エンベディング選択モジュール３１０は、最後の隠れ層によって生成された出力、すなわち、出力層に入力として提供される、最後の隠れ層によって生成された出力を抽出する（４４０）。
【００４７】
クラスタリングモジュール３３０は、エンベディング選択モジュール３１０によって抽出された特徴ベクトルをクラスタリングする（４５０）。実行形態では、クラスタリングモジュール３３０は、距離メトリック、例えば、特徴ベクトル間のユークリッド距離を使用して、特徴ベクトルをクラスタリングする（４５０）。実行形態では、クラスタリングモジュール３３０は、ｋ平均法クラスタリング技法を使用して、特徴ベクトルをクラスタリングする（４５０）。実行形態では、データ分析システム１５０は、特徴ベクトルのクラスタに対応する入力データセットのクラスタを判定する。あるいは、データ分析システム１５０は、特徴ベクトルの各クラスタに関連付けられたエンティティのクラスタを判定してもよい。例えば、入力データセットがユーザ対話のシーケンスを表す場合、データ分析システム１５０は、ユーザ対話のシーケンスを表す１つまたは複数のデータセットに各ユーザが関連付けられた、ユーザのクラスタを判定する。別の例として、入力データセットが、センサから受信された時系列データを表す場合、データ分析システム１５０は、１つまたは複数の入力データセットに各センサが関連付けられた、センサのクラスタを判定する。
【００４８】
データ分析システム１５０は、生成されたクラスタを、さらに分析されるように特徴分析モジュール３４０に提供してよい。特徴分析モジュール３４０は、図５に例証され後述されるように、クラスタを分析してクラスタの顕著な特徴を識別する。データ分析システム１５０は、例えばユーザインタフェースを介した提示のために、クラスタを記述する情報をクライアントデバイスに送信してよい（４６０）。
【００４９】
実行形態では、データ分析システム１５０は、クラスタの顕著な特徴を使用して、データシーケンスに関連付けられたエンティティに関連する予測を行う。例えば、データ分析システム１５０は、特定のエンティティＥ１を記述する情報を受信し、エンティティＥ１を特定のクラスタＣ１にマッピングしてよい。実行形態では、データ分析システム１５０は、特定のエンティティＥ１に関連付けられたシーケンスデータをニューラルネットワーク２００に入力として提供し、エンティティＥ１に関連付けられたエンベディングを抽出することによって、特定のエンティティに対応する特徴ベクトルＦ１を判定する。データ分析システム１５０は、特徴ベクトルに最も近いクラスタを判定することによって、エンティティＥ１の特徴ベクトルＦ１をクラスタＣ１にマッピングする。データ分析システム１５０は、クラスタＣ１の顕著な特徴を使用して、エンティティＥ１に関連する予測を行ってよい。データ分析システム１５０は、エンティティに関連付けられたあるアクションまたはイベントがしきい値時間間隔内に発生する尤度を予測するように構成された機械学習ベースのモデルに、顕著な特徴を入力として提供することによって、予測を行うことができる。機械学習ベースのモデルは、顕著な特徴以外の特徴を入力としてもよい。
【００５０】
例えば、エンティティはオンラインシステムのユーザを表してよく、シーケンスデータは、ユーザ対話データ、例えば、ユーザに関連付けられたウェブクリックストリームを表してよい。データ分析システム１５０は、クラスタＣ１の顕著な特徴を使用して、あるアクションをユーザが実行する可能性が高いかどうかをクラスタＣ１の顕著な特徴に基づいて予測してよい。例えば、ユーザに提示されたコンテンツアイテムをユーザがクリックする可能性が高いかどうか、ユーザがイベントに参加する可能性が高いかどうか、またはユーザがあるタイプのトランザクション、例えば購入を完了する可能性が高いかどうかを予測してよい。
【００５１】
別の例として、エンティティは、各センサによって取り込まれたセンサデータのシーケンスを提供するセンサを表してよい。データ分析システム１５０は、クラスタＣ１の顕著な特徴を使用して、センサに関連するあるイベントが起こる可能性が高いかどうかをクラスタＣ１の顕著な特徴に基づいて予測してよい。例えば、センサによって監視される機器の故障や、センサに関連付けられたある値が、あるしきい値レベルに達する可能性が高いかどうかを予測してよい。
【００５２】
図５は、本発明の実行形態による、クラスタの顕著な特徴を識別するプロセスを例証する。プロセス中で例証されるステップは、図４に示されるものとは異なる順序で実行されてもよい。さらに、ステップは、本明細書に示されるものとは異なるモジュールによって実行されてもよい。図４に記述されるプロセスは、任意のタイプのデータセット、例えば、データ値の順序付きリストを含むシーケンスデータ、または時系列データに適用可能である。
【００５３】
特徴分析モジュール３４０は、データセットのクラスタ、例えば、図４に例証されるプロセスによって判定されたクラスタを受信する。特徴分析モジュール３４０はまた、データセットを記述するかまたは各データセットに関連付けられたエンティティを記述する特徴のセットも受信する。受信されたこれらの特徴は、説明的特徴（explanative feature）と呼ばれ、データシーケンスのクラスタの説明を推論するのに使用される。実行形態では、特徴は、ユーザ、例えば専門家に対して提示されるユーザインタフェースを介して受信される。あるいは、データ分析システム１５０は、特徴を判定する別のシステムまたはモジュールから特徴を受信してもよい。
【００５４】
特徴分析モジュール３４０は、各クラスタおよび各特徴につき、ステップ５３０、５４０、５５０、および５６０を繰り返す。特徴分析モジュール３４０は、各クラスタ内での特徴の類似性測定値Ｓ１を判定する（５３０）。実行形態では、特徴分析モジュール３４０は、クラスタ内で発生するデータセットのペアを識別し、データセットのペアについて特徴値間の距離を判定することによって、クラスタ内での特徴の類似性測定値を判定する。判定された距離値がしきい値内である場合は、特徴分析モジュール３４０は、データセットのペアについて特徴値が類似すると判定する。特徴分析モジュール３４０は、クラスタ内のしきい値数よりも多くのペアについて、またはクラスタ内のしきい値割合よりも多くの可能なペアについて、比較を繰り返す。特徴分析モジュール３４０は、クラスタ内のデータセットの様々なペアについての特徴値の類似性を集約することによって、類似性測定値を判定する。
【００５５】
特徴分析モジュール３４０は、データセットの第２のセット内での特徴の類似性測定値Ｓ２を判定する（５４０）。実行形態では、データセットの第２のセットは、データ分析システム１５０によってクラスタがそこから得られたデータセット母集団全体を表す。別の実行形態では、データセットの第２のセットは、データ分析システム１５０によってクラスタがそこから得られたデータセット母集団全体のサンプルを表す。特徴分析モジュール３４０は、データセットの第２のセットから得られたデータセットのペアの特徴値を比較する。特徴分析モジュール３４０は、複数のペアにわたる類似性測定値を集約することによって特徴値の類似性測定値を得るが、この複数のペアは、例えば、データセットの第２のセットの可能なすべてのデータセットペア、または、データセットの第２のセットのしきい値数よりも多くの可能なデータセットペア、または、データセットの第２のセットのしきい値割合よりも多くのデータセットペアである。
【００５６】
特徴分析モジュール３４０は、判定された類似性測定値Ｓ１およびＳ２に基づいて、選択された特徴についてクラスタの特徴スコアを判定する（５５０）。実行形態では、特徴分析モジュール３４０は、Ｓ１とＳ２との割合、すなわちＳ１／Ｓ２に基づいて、クラスタの特徴スコアを判定する。別の実行形態では、特徴分析モジュール３４０は、２つの値の比較の測定値を提供するＳ１およびＳ２の別の関数として、特徴スコアを判定する。データセットの第２のセット、例えば、データセットの母集団全体のサンプルにわたる合致の尤度と比較して、クラスタ内のデータセットにわたる合致の尤度がより高い特徴の場合は、特徴スコアは高い値を有する。
【００５７】
特徴分析モジュール３４０は、クラスタの特徴の特徴スコアに基づいて、特徴がクラスタの顕著な特徴であるかどうか判定する（５６０）。実行形態では、特徴分析モジュール３４０は、クラスタの特徴の特徴スコアがしきい値よりも高い場合は、特徴がクラスタの顕著な特徴であると判定する。したがって、特徴分析モジュール３４０は、データセットの第２のセットにわたる特徴の類似性と比較して、クラスタのデータセットにわたる特徴の類似性がしきい値レベルよりも高いことを、クラスタの特徴の特徴スコアが示す場合は、特徴がクラスタの顕著な特徴であると判定する。
【００５８】
特徴分析モジュール３４０は、顕著な特徴を記述する情報を要求元に送信する（５７０）。実行形態では、クラスタを求める要求はクライアントデバイスから受信されてよく、顕著な特徴を記述する情報は、ユーザインタフェースを介した提示のためにクライアントデバイスに送信される。
【００５９】
実行形態では、受信された特徴は、値のシーケンスとして表される。第１のデータセットに関連付けられた特徴を表すシーケンスの長さは、第２のデータセットに関連付けられた特徴を表すシーケンスの長さとは異なってよい。
【００６０】
受信された特徴自体が、時系列として表されてよく、時間的に変化する特徴（time-variant feature）と呼ばれてよい。したがって、特徴は、時間の経過に伴って変化するデータ値を含んでよい。例えば、データセットがユーザ対話を表す場合、特徴は、ユーザによって検索された製品の値を表してよい。種々のタイプのユーザ対話は、ユーザが検索を実行すること、ユーザが製品を購入すること、ユーザが顧客サービスに電話すること、ユーザが製品またはアイテムを返却することなどを含む。したがって、時間の経過に伴い、検索される製品の値は、ユーザが検索を実行するにつれて変化することがある。特徴は、ユーザが時間の経過に伴って対話する対象であるアイテムの価格を表してよい。例えば、ユーザは、休暇期の間は、他の時期の間にユーザが対話する対象であるアイテムと比較して、より高価格のアイテムと対話することがある。
【００６１】
特徴は、時間の経過に伴うユーザ対話の割合を表してよい。したがって、ユーザ対話の割合は、時間の経過に伴って変化することがある。特定のユーザクラスタが、他のユーザクラスタと比較して、特有のタイプのユーザ対話パターンを有することがある。例えば、ユーザ対話が、ユーザによって顧客サービスに発信された電話を表す場合、あるユーザクラスタは主に夜間に電話するが、別のユーザクラスタは昼間に電話することがある。ユーザ対話の割合は、単位時間中のユーザ対話数を表してよい。
【００６２】
一実行形態では、第２のシーケンスに対して特定の変換を実行することによって（例えば、第２のシーケンスをシフトすることまたは第２のシーケンスをスケールすることによって）第１のシーケンスが得られる場合は、データ分析システムは、第１のシーケンスを構成する第１の特徴値が、第２のシーケンスを構成する第２の特徴値と合致すると判定する。シーケンスを別のシーケンスと比較できるように変換（シフトおよび／またはスケール）するプロセスは、動的時間伸縮法（ＤＴＷ）と呼ばれる。
【００６３】
いくつかの実行形態では、受信された特徴（説明的特徴）は、すべてのシーケンスグループ、または少なくとも複数のシーケンスに適用可能な、横断的な特徴である。データ分析システムは、シーケンスデータの各グループにつき、シーケンスグループの横断的な特徴の集計値（例えば、平均または標準偏差）を判定する。例えば、データ分析システムは、各グループにつき横断的な特徴の平均値を判定し、これをグループの顕著な特徴として提示してよい。例えば、各シーケンスが、ユーザによって実行されたトランザクションを含む場合、横断的な特徴は、ユーザによって特定のベンダとの間で実行されたトランザクションのパーセンテージであってよい。横断的な特徴の別の例は、ユーザについてのトランザクションの平均値、または総トランザクション値である。説明的特徴は、データサイエンティストによって提供されてもよく、またはデータマイニング技法に基づいて自動的に判定されてもよい。横断的な特徴の他の例は、各シーケンスに関連付けられたユーザの人口統計、例えば、ユーザの年齢、ユーザの民族性、ユーザの財務状況、ユーザの性別、ユーザの場所などを含む。したがって、クラスタＣ１は、別のクラスタＣ２と比較して、平均年齢がより高いと判定されることがある。同様に、クラスタＣ１は、クラスタＣ２と比較して、トランザクションの平均値がより高いと判定されることがある。クラスタＣ１は、クラスタＣ２と比較して、特定の性別または民族性のユーザのパーセンテージがより高いと判定されることがある。
【００６４】
したがって、データ分析システムは、一方のシーケンスをシフトし、シフトされたシーケンスを他方のシーケンスと照合することによって、第１のシーケンスを構成する第１の特徴値を、第２のシーケンスを構成する第２の特徴値と比較する。第２のシーケンスをシフトすることによって第１のシーケンスが得られる場合は、データ分析システムは、第１の特徴値が第２の特徴値に合致すると判定する。
【００６５】
別の実行形態では、データ分析システムは、第１のシーケンスを構成する第１の特徴値を、第２のシーケンスを構成する第２の特徴値と比較する。これは、第２のシーケンスをスケールすることによって第１のシーケンスが得られる場合は、第１の特徴値が第２の特徴値に合致すると判定することによる。
【００６６】
別の実行形態では、データ分析システムは、第１のシーケンスを構成する第１の特徴値を、第２のシーケンスを構成する第２の特徴値と比較する。これは、第１のシーケンスの形状が第２のシーケンスの形状に類似すると判定された場合は、第１の特徴値が第２の特徴値に合致すると判定することによる。
【００６７】
特徴分析モジュール３４０は、各クラスタにつき、顕著な特徴の別個のセットを判定してよい。例えば、第１のクラスタは顕著な特徴の第１のセットを有してよく、第２のクラスタは顕著な特徴の第２のセットを有してよい。
【００６８】
ユーザインタフェース
図６は、本発明の実行形態による、データセットのクラスタを記述する情報を提示するためのユーザインタフェースを例証する。ユーザインタフェースは、クライアントアプリケーション、例えば、クライアントデバイス上で実行されるブラウザによって、提示されてよい。ユーザインタフェースは、データセットを、小さい次元セット、例えば２次元または３次元にマッピングする。各次元は、グラフの軸として表される。データセットは、グラフ表現上のデータ点としてプロットされる。グラフをプロットするのに使用される次元は、再帰型ニューラルネットワークのエンベディングとして得られたデータセットの特徴ベクトル表現からの特徴として選択される。結果として、データセットのクラスタ６１０は、相互に近いデータ点としてユーザインタフェース上で表される。次元はニューラルネットワークから得られた特徴に対応するので、これらは、直感的でない特徴を表すことがある。異なるクラスタのデータ点を区別するために、各クラスタは、特定の色または特定の形状を有するデータ点として提示されてよい。
【００６９】
実行形態では、ユーザは、クラスタを選択して、クラスタの顕著な特徴６２０を詳しく調べることができる。したがって、本発明の実行形態は、時系列データなどのデータセットを可視化するためのメカニズムを提供する。ユーザインタフェースは、多量のシーケンスデータ、例えば、多数のセンサから収集された時系列データや、多数のユーザから収集されたユーザ対話を表すシーケンスデータを、ユーザが可視化するのを可能にする。
【００７０】
コンピュータアーキテクチャ
図７は、実行形態による、例示的なシステムを例証する高レベルのブロック図である。コンピュータ７００は、チップセット７０４に結合された少なくとも１つのプロセッサ７０２を含む。チップセット７０４は、メモリコントローラハブ７２０および入出力（Ｉ／Ｏ）コントローラハブ７２２を含む。メモリ７０６およびグラフィックスアダプタ７１２がメモリコントローラハブ７２０に結合され、ディスプレイ７１８がグラフィックスアダプタ７１２に結合される。ストレージデバイス７０８、キーボード７１０、ポインティングデバイス７１４、およびネットワークアダプタ７１６が、Ｉ／Ｏコントローラハブ７２２に結合される。コンピュータ７００の他の実行形態は、異なるアーキテクチャを有する。
【００７１】
ストレージデバイス７０８は、ハードドライブ、コンパクトディスク読取専用メモリ（ＣＤ−ＲＯＭ）、ＤＶＤ、または固体メモリデバイスなど、非一時的コンピュータ可読記憶媒体である。メモリ７０６は、プロセッサ７０２によって使用される命令およびデータを保持する。ポインティングデバイス７１４は、マウス、トラックボール、または他のタイプのポインティングデバイスであり、コンピュータシステム７００にデータを入力するためにキーボード７１０と共に使用される。グラフィックスアダプタ７１２は、画像および他の情報をディスプレイ７１８上に表示する。ネットワークアダプタ７１６は、コンピュータシステム７００を１つまたは複数のコンピュータネットワークに結合する。
【００７２】
コンピュータ７００は、本明細書に記述される機能を提供するためのコンピュータプログラムモジュールを実行するように適合される。本明細書において、「モジュール」という用語は、指定された機能を提供するのに使用されるコンピュータプログラムロジックを指す。したがって、モジュールは、ハードウェア、ファームウェア、および／またはソフトウェアにおいて実装されることが可能である。一実行形態では、プログラムモジュールは、ストレージデバイス７０８に記憶され、メモリ７０６にロードされ、プロセッサ７０２によって実行される。使用されるコンピュータ７００のタイプは、実行形態および要件に応じて変動する可能性がある。例えば、コンピュータには、図７に示されるディスプレイ、キーボード、および／または他のデバイスがないこともある。
【００７３】
追加の考慮事項
開示される実行形態は、時系列データの記憶の効率を高め、また時系列データの計算の効率も高める。ニューラルネットワークは、任意のサイズのデータシーケンスを固定サイズの特徴ベクトルに変換する助けとなる。特に、入力されたシーケンスデータ（または時系列データ）は、ニューラルネットワークの隠れ層によって生成される特徴ベクトル表現よりも、著しく大きい可能性がある。例えば、入力された時系列は数千個の要素を含むが、シーケンスデータの特徴ベクトル表現は数百個の要素を含むことがある。したがって、大きいデータシーケンスが、固定サイズの著しく小さい特徴ベクトルに変換される。これは、シーケンスデータの効率的な記憶表現を可能にする。この記憶表現は、２次記憶、例えばディスクへの効率的な記憶のためであってもよく、またはメモリ内処理に使用されてもよい。例えば、シーケンスデータを処理するために、所与のメモリを備えるシステムは、シーケンスの多数の特徴ベクトル表現を処理することができる（生シーケンスデータと比較して）。多数のシーケンスが同時にメモリにロードされることが可能なので、データが頻繁に２次ストレージに書き込まれなくてもよいため、シーケンスの処理はより効率的である。
【００７４】
さらに、データシーケンスをクラスタリングするプロセスは、シーケンスの特徴ベクトル表現に基づいて実行されるとき、シーケンスデータ自体を処理するのと比較して著しくより効率的である。これは、シーケンスデータ中の要素の数が、シーケンスの特徴ベクトル表現中の要素の数よりも著しく多い可能性があるからである。したがって、２つのシーケンスの生データを比較することは、２つの特徴ベクトル表現を比較することよりも著しく多くの計算を必要とする。さらに、各シーケンスのサイズが異なる可能性があるので、２つのシーケンスのデータを比較することは、個々の特徴を抽出するための追加の処理を必要とすることになる。
【００７５】
実行形態は、例えば並列／分散アーキテクチャを使用して、ニューラルネットワークの処理を並列に実行することができる。例えば、ニューラルネットワークの各ノードの計算が並列に実行され、その後にノード間のデータの通信のステップが続くことが可能である。ニューラルネットワークの並列処理は、本明細書で例えば図４に記述された全体的なプロセスの、追加的な計算効率をもたらす。
【００７６】
本発明の図および記述は、本発明の明確な理解に関連性のある要素を例証するように単純化されており、一方、典型的な分散システム中で見られる他の多くの要素が明確さのために除去されていることを理解されたい。実行形態を実装する際に、他の要素および／またはステップも望ましく、かつ／または必要とされることは、当業者なら認識するであろう。しかし、このような要素およびステップは当技術分野で周知であるので、またこれらは実行形態のよりよい理解を促進しないので、このような要素およびステップについての議論は本明細書では提供されない。本明細書における開示は、当業者に知られているこのような要素および方法に対するすべての変形および修正に向けられる。
【００７７】
上の記述のいくつかの部分は、情報に対する動作の、アルゴリズムおよび象徴的表現の点から実行形態を記述している。これらのアルゴリズム的記述および表現は、データ処理技術分野の当業者がその作業の実体を他の当業者に効果的に伝えるのに一般に使用される。これらの動作は、機能的、計算的、または論理的に記述されるが、コンピュータプログラムまたは等価な電気回路やマイクロコードなどによって実装されるものと理解される。さらに、一般性を失うことなく、これらの動作構成をモジュールと呼ぶことが好都合な場合があることもわかっている。記述された動作、およびそれらに関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組合せにおいて具体化されることがある。
【００７８】
本明細書において、「一実行形態」または「実行形態」に言及する場合、これはいずれも、実行形態に関して記述される特定の要素、特徴、構造、または特性が少なくとも１つの実行形態に含まれることを意味する。「一実行形態で」という句が本明細書の様々な場所で現れる場合、これらすべてが同じ実行形態を指すとは限らない。
【００７９】
いくつかの実行形態は、「結合される」および「接続される」という表現およびその派生形を使用して記述されることがある。これらの用語は、相互に対する同義語として意図されるのではないことを理解されたい。例えば、いくつかの実行形態は、２つまたはそれ以上の要素が相互と直接に物理的または電気的に接触していることを示すために、「接続される」という用語を使用して記述されることがある。別の例では、いくつかの実行形態は、２つまたはそれ以上の要素が直接に物理的または電気的に接触していることを示すために、「結合される」という用語を使用して記述されることがある。しかし、「結合される」という用語はまた、２つまたはそれ以上の要素が、相互と直接には接触していないがそれでもなお相互と協働または対話することを意味することもある。実行形態はこのコンテキストにおいて限定されない。
【００８０】
本明細書において、「備える、含む（comprises、comprising、includes、including）」、「有する（has、having）」という用語またはこれらのいずれか他の変形は、非排他的な包含をカバーするものと意図される。例えば、要素のリストを含むプロセス、方法、物品、または装置は、必ずしもこれらの要素のみに限定されるとは限らず、特に列挙されない他の要素、または、そのようなプロセス、方法、物品、もしくは装置に内在する他の要素を含むこともある。さらに、そうでないと特に記されていない限り、「または、もしくは（or）」は、排他的論理和ではなく包含的論理和を指す。例えば、条件ＡまたはＢは、Ａが真であり（または存在し）Ｂが偽である（または存在しない）場合と、Ａが偽であり（または存在せず）Ｂが真である（または存在する）場合と、ＡとＢの両方が真である（または存在する）場合とのうちの任意の１つによって満たされる。
【００８１】
加えて、本明細書における実行形態の要素およびコンポーネントについて記述するために、「ａ」または「ａｎ」の使用が採用される。これは、便宜上、かつ本発明の一般的な意味を提供するために行われるにすぎない。他の意味であることが自明でない限り、この記述は１つまたは少なくとも１つを含むものとして読まれるべきであり、単数形は複数形も含む。
【００８２】
本開示を読めば、本明細書における開示される原理による、歪み領域を使用してチャートを表示するためのシステムおよびプロセスについてのさらに追加の代替的な構造上および機能上の設計を、当業者なら認識するであろう。したがって、特定の実行形態および応用例が例証および記述されたが、開示される実行形態は、本明細書に開示される正確な構造およびコンポーネントに限定されないことを理解されたい。付加された特許請求の範囲に定義される精神および範囲を逸脱することなく、当業者に明らかであろう様々な修正、変更、および変形が、本明細書に開示される方法および装置の構成、動作、および詳細に加えられてよい。
【図１】
2020518938.tif 000003
【図２】
2020518938.tif 000004
【図３】
2020518938.tif 000005
【図４】
2020518938.tif 000006
【図５】
2020518938.tif 000007
【図６】
2020518938.tif 000008
【図７】
2020518938.tif 000009
【国際調査報告】
2020518938.tif 000010