(57)【要約】【課題】監視対象から順次取得される方向データに基づいて適切に異常を検知する。【解決手段】順次入力される監視対象データのそれぞれに対応して、当該監視対象データの特徴を示す方向データを順次生成する方向データ生成部と、基準ベクトルに対する方向データの相違度を算出する相違度算出部と、方向データを多次元確率分布によりモデル化した場合における相違度の分布のモーメントを、新たな監視対象データに対応する方向データの相違度とに基づいて更新するモーメント更新部と、モーメントに基づいて、多次元確率分布の分散を定めるパラメータを算出するパラメータ算出部と、パラメータにより分散が定められた多次元確率分布に基づいて、相違度のしきい値を算出するしきい値算出部と、相違度がしきい値を超える場合に、当該相違度に対応する監視対象データの異常を検出する異常検出部とを備える異常検出装置を提供する。【選択図】図１
2006048253.tif 000002
【特許請求の範囲】
【請求項１】
監視対象のデータの異常を検出する異常検出装置であって、
順次入力される前記監視対象データのそれぞれに対応して、当該監視対象データの特徴を示す単位ベクトルである方向データを順次生成する方向データ生成部と、
予め指定された基準ベクトルに対する前記方向データの相違度を算出する相違度算出部と、
前記方向データを多次元確率分布によりモデル化した場合における前記相違度の分布のモーメントを、既に算出した前記モーメントと、新たな前記監視対象データに対応する前記方向データの前記相違度とに基づいて更新するモーメント更新部と、
前記モーメントに基づいて、前記多次元確率分布の分散を定めるパラメータを算出するパラメータ算出部と、
前記パラメータにより分散が定められた前記多次元確率分布に基づいて、前記相違度のしきい値を算出するしきい値算出部と、
前記相違度が前記しきい値を超える場合に、当該相違度に対応する前記監視対象データの異常を検出する異常検出部と
を備える異常検出装置。
【請求項２】
前記相違度算出部は、以下の数１により前記相違度を算出する請求項１記載の異常検出装置。
【数１】
2006048253.tif 000035
ただし、zは前記相違度を、rは前記基準ベクトルを、uは前記方向データをそれぞれ示す。
【請求項３】
前記多次元確率分布は、フォン・ミーゼス・フィッシャー（von Mises-Fisher）分布であり、
前記相違度の分布は、カイ２乗分布に近似される
請求項１記載の異常検出装置。
【請求項４】
前記パラメータ算出部は、前記モーメントに基づいて、前記フォン・ミーゼス・フィッシャー分布の実効次元を定めるパラメータを更に算出し、
前記しきい値算出部は、実効次元及び分散が定められた前記フォン・ミーゼス・フィッシャー分布に基づいて、前記相違度のしきい値を算出する
請求項３記載の異常検出装置。
【請求項５】
前記相違度の分布は、以下の数２により表され、
前記モーメント更新部は、既に算出した前記モーメントと、新たな前記監視対象データに対応する前記方向データの前記相違度とに基づいて、新たな前記モーメントを以下の数３により算出する
請求項３記載の異常検出装置。
【数２】
2006048253.tif 000036
ただし、zは前記相違度を、Γ()はガンマ関数を、nは前記フォン・ミーゼス・フィッシャー分布の実効次元数を定めるパラメータを、Σは前記フォン・ミーゼス・フィッシャー分布の分散を定めるパラメータをそれぞれ示す。
【数３】
2006048253.tif 000037
ただし、＜zk＞(t)は時刻tにおいて新たに算出するk次の前記モーメントを、＜zk＞(t-1)は時刻t-1において既に算出されたk次の前記モーメントを、z(t)は時刻tにおける新たな前記監視対象データに対応する前記方向データの前記相違度を、βは忘却係数をそれぞれ示す。
【請求項６】
前記パラメータ算出部は、前記相違度の分布の１次及び２次の前記モーメントに基づいて、前記フォン・ミーゼス・フィッシャー分布の実効次元を定めるパラメータ及び分散を定めるパラメータを以下の数４により算出する請求項５記載の異常検出装置。
【数４】
2006048253.tif 000038
【請求項７】
前記しきい値算出部は、異常なしと判断する前記監視対象データの割合を入力し、前記パラメータにより分散が定められた前記多次元確率分布に対応する前記相違度の分布において、前記しきい値以下の前記相違度となる確率の累積値が前記割合となる前記しきい値を算出する請求項１記載の異常検出装置。
【請求項８】
前記多次元確率分布は、多次元正規分布であり、
前記相違度の分布は、カイ２乗分布である
請求項１記載の異常検出装置。
【請求項９】
当該異常検出装置は、順次入力される文書データを特定の分類カテゴリに分類する文書分類装置の異常を検出するものであり、
前記方向データ生成部は、順次入力される前記文書データのそれぞれに対応して、当該文書データの特徴を示す前記方向データを順次生成し、
前記相違度算出部は、前記分類カテゴリに対応して指定された前記基準ベクトルに対する前記方向データの相違度を算出し、
前記異常検出部は、前記文書分類装置により前記分類カテゴリに分類された前記文書データに対応する前記相違度が前記しきい値を超える場合に、前記文書分類装置の異常を検出し、
前記モーメント更新部は、前記文書データが前記分類カテゴリに分類され、かつ、前記相違度が前記しきい値を超えない場合に、前記方向データを前記分類カテゴリに対応する多次元確率分布によりモデル化した場合における前記相違度の分布の前記モーメントを更新し、
前記パラメータ算出部は、前記モーメントに基づいて前記分類カテゴリに対応する前記多次元確率分布の分散を定めるパラメータを算出し、
前記しきい値算出部は、前記パラメータにより分散が定められた前記多次元確率分布に基づいて、前記分類カテゴリに対応する前記相違度のしきい値を算出する
請求項１記載の異常検出装置。
【請求項１０】
前記文書分類装置の異常を検出した場合に、当該文書データを前記分類カテゴリに分類するか否かの指示を利用者から入力する分類入力部と、
前記文書分類装置の異常を予め定められた頻度以上検出した場合に、前記文書分類装置に対し、ユーザにより分類された複数の文書データを正しく分類するように再構成することを指示する再構成指示部と
を更に備える請求項１記載の異常検出装置。
【請求項１１】
当該異常検出装置は、複数の情報処理装置を備える情報システムの異常を検出するものであり、
前記方向データ生成部は、前記情報処理装置のそれぞれが、他の前記情報処理装置が提供するサービスの処理を要求するべく送信するトランザクションを前記監視対象データとして入力して、予め定められた期間内に送信された前記トランザクションの特徴を示す前記方向データを順次生成し、
前記異常検出部は、前記相違度が前記しきい値を超える場合に、前記情報システムの異常を検出する
請求項１記載の異常検出装置。
【請求項１２】
前記方向データ生成部は、
監視対象から測定された複数の測定パラメータの時系列データを前記監視対象データとして入力する測定パラメータ入力部と、
前記複数の測定パラメータのそれぞれが時間の経過に応じて変化する時系列の変化度を、当該測定パラメータの時系列データに基づいて算出する変化度算出部と、
前記複数の測定パラメータのそれぞれが他の測定パラメータのそれぞれと関連する強さを示す関連度を、当該測定パラメータ及び当該他の測定パラメータの変化度に基づいて算出し、前記関連度に基づく前記方向データを生成する関連度算出部と
を有する
請求項１記載の異常検出装置。
【請求項１３】
当該異常検出装置は、自動車の異常を検出するものであり、
前記測定パラメータ入力部は、監視対象の前記自動車の各部分に設けられた複数のセンサーにより測定された前記複数の測定パラメータの時系列データを前記監視対象データとして入力し、
前記相違度算出部は、正常に動作している自動車から測定された複数の測定パラメータの時系列データに基づいて定められた前記基準ベクトルに対する前記方向データの相違度を算出し、
前記異常検出部は、前記相違度が前記しきい値を超える場合に、監視対象の前記自動車の異常を検出する
請求項１記載の異常検出装置。
【請求項１４】
監視対象のデータの異常を検出する異常検出装置による異常検出方法であって、
順次入力される前記監視対象データのそれぞれに対応して、当該監視対象データの特徴を示す単位ベクトルである方向データを順次生成する方向データ生成段階と、
予め指定された基準ベクトルに対する前記方向データの相違度を算出する相違度算出段階と、
前記方向データを多次元確率分布によりモデル化した場合における前記相違度の分布のモーメントを、既に算出した前記モーメントと、新たな前記監視対象データに対応する前記方向データの前記相違度とに基づいて更新するモーメント更新段階と、
前記モーメントに基づいて、前記多次元確率分布の分散を定めるパラメータを算出するパラメータ算出段階と、
前記パラメータにより分散が定められた前記多次元確率分布に基づいて、前記相違度のしきい値を算出するしきい値算出段階と、
前記相違度が前記しきい値を超える場合に、当該相違度に対応する前記監視対象データの異常を検出する異常検出段階と
を備える異常検出方法。
【請求項１５】
監視対象のデータの異常を検出する異常検出装置用の異常検出プログラムであって、
当該異常検出プログラムは、前記異常検出装置を、
順次入力される前記監視対象データのそれぞれに対応して、当該監視対象データの特徴を示す単位ベクトルである方向データを順次生成する方向データ生成部と、
予め指定された基準ベクトルに対する前記方向データの相違度を算出する相違度算出部と、
前記方向データを多次元確率分布によりモデル化した場合における前記相違度の分布のモーメントを、既に算出した前記モーメントと、新たな前記監視対象データに対応する前記方向データの前記相違度とに基づいて更新するモーメント更新部と、
前記モーメントに基づいて、前記多次元確率分布の分散を定めるパラメータを算出するパラメータ算出部と、
前記パラメータにより分散が定められた前記多次元確率分布に基づいて、前記相違度のしきい値を算出するしきい値算出部と、
前記相違度が前記しきい値を超える場合に、当該相違度に対応する前記監視対象データの異常を検出する異常検出部と
して機能させる異常検出プログラム。
【請求項１６】
請求項１５記載の異常検出プログラムを記録した、コンピュータにより読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常検出装置、異常検出方法、異常検出プログラム、及び記録媒体に関する。特に本発明は、監視対象から順次取得される方向データに基づいて適切に異常を検知する異常検出装置、異常検出方法、異常検出プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
従来、多次元データが逐次的に生成又は取得される系において、多次元データの異常度を判定する方法が、現実世界の様々な分野において提案されている。例えば、コンピュータシステムにおいて、各ポート番号に対する接続要求の確率を特徴ベクトルとし、特徴ベクトルのクラスタリング問題により侵入探知を行う研究例がある（非特許文献１参照。）。
【０００３】
また、上記の方法は、テキスト情報処理においても用いられる。例えば、文書分類問題等においては、いわゆるベクトル空間モデルに基づき、ひとつの文書が、語の出現頻度、又は語の出現頻度をtf-idf等により変換した量を要素とするベクトルとして表現される（非特許文献２参照）。そして、新たに分類されるべき文書の文書ベクトルの、各カテゴリの代表ベクトルに対するコサイン尺度等の類似度が計算され、この類似度に基づいてカテゴリへの帰属・非帰属の判定、又は所定の分類器によりなされた分類の妥当性の検証が行われる（例えば特許文献１参照）。この処理は、既知の代表ベクトルからの乖離度に基づいて文書ベクトルを分類していることとなり、文書分類の問題も異常検知の一形態と言える。
【０００４】
（１）方向データについて
多次元データの異常検知においては、異常検知の対象となるデータは、方向データ（directional data）に規格化されることが多い。方向データは、L2ノルムが1等の一定値に規格化されたベクトル（すなわち各要素の2乗和が１等の一定値を取るベクトル）と定義される。このため、方向データは、方向にのみ意味があるデータとなる。例えば、文書の分類問題においては、まず、語の出現頻度等に基づいて、多次元ベクトルの文書ベクトルが生成される。この文書ベクトルのノルムは、文書の全語数が多いほど大きくなる傾向があるため、類似度を適切に比較するには、文書ベクトルを一定のノルムに規格化した方向ベクトルを生成する必要がある。
【０００５】
ここで、確率を規格化する意味で、L2ではなくL1ノルムを規格化したベクトルが用いられることもあるが（非特許文献１参照。）、各要素が確率振幅（すなわち絶対値の２乗が確率をあらわす量）を表すように容易に再定式化でき、L1ノルムを規格化したベクトルを用いる問題も、方向データの問題に帰着される。
【０００６】
以上に示したように、監視対象のデータを規格化した方向データを基準ベクトルと比較等することにより異常を検知するという問題は、多くの分野に応用できる。以下、このようにして異常を検知される対象を「動的システム」と呼ぶ。
【０００７】
（２）方向データの距離尺度について
方向データと基準ベクトルとの比較に用いる距離尺度としては、以下の式（１）により定義されるコサイン尺度が広く用いられている。
【数１】
2006048253.tif 000003
ここで、rは所定の基準ベクトル（方向データ）、uは監視対象の動的システムから観測された観測ベクトル（方向データ）をそれぞれ示し、上付きのTは転置を示す。式（１）から明らかなように、観測ベクトルが基準ベクトルと一致する場合zは０となり、直交する場合には１となる。この性質により、zを、観測ベクトルの基準ベクトルに対する相違度の指標値として用いることができる。
【０００８】
（３）異常検知について
文書分類問題においては、ある文書データから得られた観測ベクトルuと、所定のカテゴリに対応する基準ベクトルrについて、式（１）に示した相違度zが、しきい値zthを越える（すなわちz＞zth）場合に、当該文書データが当該カテゴリに帰属しないと判定されるのが一般的である。すなわち、カテゴリ毎に基準ベクトルr及びしきい値zthを設定し、各カテゴリについて相違度zとしきい値zthとの比較結果することにより、当該文書データが各カテゴリへ帰属するか否かが判定される。
【特許文献１】特開平１０−２５４８９９号公報
【非特許文献１】David Marchette、"A Statistical Method for Profiling Network Traffic"、Workshop on Intrusion Detection and Network Monitoring、1999年、p. 119-128
【非特許文献２】北研二、津田和彦、獅々堀 正幹、「情報検索アルゴリズム」、共立出版、２００２年
【非特許文献３】Nadeem Ahmed Syed, Huan Liu, and Kah Kay Sung、"Handling concept drifts in incremental learning with support vector machines"、" Proceedings of the fifth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining、p.317-321, １９９９年
【非特許文献４】Tom M. Mitchel、"Machine Learning"、McGraw Hill、Chapter 6、１９９７年
【非特許文献５】A. Banerjee, I. Dhillon, J. Ghosh, and S. Sra、"Generative model-based clustering of directional data"、Proceedings of the Ninth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining、p.19-28、２００３年
【非特許文献６】Scott C. Deerwester, Susan T. Dumais, Thomas K. Landauer, George W. Furnas, Richard A. Harshman、"Indexing by Latent Semantic Analysis"、 Journal of the American Society of Information Science、Vol.41, No.6、p.391-407、１９９０年
【非特許文献７】C.D. Manning and H. Schutze、"Foundation of Statistical Natural Language Processing"、MIT Press、Section 7.2.1、２０００年
【非特許文献８】T. Joachims、"Text categorization with support vector machines: Learning with many relevant features"、Proceedings of ECML、１９９８年
【非特許文献９】H. Li and K. Yamanishi、"Text classification using ESC-based stochastic decision lists"、Proceedings of the ACM CIKM、p.122-130、１９９９年
【非特許文献１０】M. Ghil, M. R. Allen, M. D. Dettinger, K. Ide, D. Kondrashov, M. E. Mann, A. W. Robertson, A. Saunders, Y. Tian, F. Varadi, and P. Yiou、"Advanced Spectral Methods for Climatic Time Series"、Reviews of Geophysics、 40(2002)、p.1-41、２００２年
【非特許文献１１】N. Golyandina, V. Nekrutkin and A. Zhigljavsky、"Analysis of Time Series Structure: SSA and Related techniques"、Chapman and Hall/CRC、２００１年
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記の従来技術においては、以下に示す課題がある。
【００１０】
（１）判定条件の設定が難しいこと
以上に示した異常検知方法においては、適切な判定条件を設定しなければならない。しかしながら、従来技術においては、適切な判定条件を設定することが困難である。より具体的には、既知の文書データを分類する場合においては、対象となる文書データの集合がある程度既知であれば、これらの文書データの分類結果に基づいて判定条件を設定することもある程度可能である。しかし、未知の文書データが順次オンラインで到着する場合等においては、既に到着した観測値のデータを持っていたとしても、しきい値zthを適切に定めるのが難しい。なぜなら、分類の結果生ずる各クラスターの広がりを適切に評価するのが難しいためである。従来手法においてしきい値zthは、平均値との偏差を標準偏差と比較して決められるのが一般的であるが、これは相違度zの分布が実質的に正規分布であることを前提としている。しかし、一般的にこの仮定は成立せず、特に方向データを用いる場合には規格化されるためこの仮定を用いるのが適切でない。
【００１１】
（２）判定条件の更新が難しいこと
オンラインで観測データが順次到着する状況においては、状況に応じて判定条件を適切に更新していくことが望まれる。しかしながら、相違度zが正規分布等となる等の特別な場合を除き、相違度zの分布関数を求めるのが困難である。したがって、従来方式においては、判定条件の経時変化に対応するのは難しい。例えば、文書分類の問題では、カテゴリのドリフトへの対応が実用上大きな課題とされている。そして、判定条件の経時変化への対応は、機械学習における主要なテーマのひとつとなっており（例えば非特許文献３参照。）、解決が望まれている課題である。
【００１２】
（３）方向データの扱いが難しいこと
方向データは、ノルム一定という条件により自由度がベクトルの次元よりも１だけ小さい。このため、任意のベクトルと比較して扱いが容易になるように一見考えられるが、統計学的には取り扱いがより困難になる。すなわち、もしも多次元ベクトルの各次元が独立であれば、そのばらつきは多次元正規分布により適切にモデル化できる。そして、正規分布は数学的扱いが極めて容易である。例えば、多次元ベクトルの分類問題は、数学的には混合正規分布の最尤推定問題として定式化されることがよく知られており、いわゆる期待値最大化法を用いて容易に解くことができる（例えば非特許文献４参照。）。そこで、規格化条件を無視して各自由度を独立と見なし、方向データを強引に正規分布で扱うことも考えられるが、適切なモデルとはならないことが経験的に知られている。
【００１３】
このように、方向データuは規格化されているため、方向データuについての自然な分布は多次元正規分布ではない。基準ベクトルrに対応する方向を平均の方向とし、この方向の周りに分布する方向データuについて、エントロピーを最大にする分布は、以下の式（２）に示すフォン・ミーゼス・フィッシャー分布（von Mises-Fisher分布）となる。
【数２】
2006048253.tif 000004
ここで、Nは基準ベクトルや方向データの次元数を、Σはフォン・ミーゼス・フィッシャー分布の分散を定めるパラメータを、Iv(c)はv階の第一種変形ベッセル関数をそれぞれ示す。
【００１４】
ノルムの制約を取り除いた時、最大エントロピー原理が多次元正規分布を与えることを考えれば、方向データについて最も自然な（表現能力の最も高い）分布がフォン・ミーゼス・フィッシャー分布であることが明らかである。したがって、方向データuについての異常検知問題は、原理的には、フォン・ミーゼス・フィッシャー分布、又はその混合モデル（mixture models）を用いて定式化することができる。
【００１５】
しかしながら、フォン・ミーゼス・フィッシャー分布はその数学的に扱いが難しいため（特に変形ベッセル関数を含むため）に、異常検知の文脈で今まで十分議論されていなかった。フォン・ミーゼス・フィッシャー分布の期待値最大化法による定式化が、クラスタリングの文脈で議論されたのはごく最近である（非特許文献５参照。）。そして、フォン・ミーゼス・フィッシャー分布の最尤推定は、式（３）における特殊関数の近似を含む面倒な数値計算を必要とし、最尤方程式の解は超越方程式の解として与えられるため、分布を決めるパラメータの更新則をオンライン化するのが困難であった。
【００１６】
そこで本発明は、上記の課題を解決することのできる異常検出装置、異常検出方法、異常検出プログラム、及び記録媒体を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【００１７】
本発明の第１の形態によると、監視対象のデータの異常を検出する異常検出装置であって、順次入力される前記監視対象データのそれぞれに対応して、当該監視対象データの特徴を示す単位ベクトルである方向データを順次生成する方向データ生成部と、予め指定された基準ベクトルに対する前記方向データの相違度を算出する相違度算出部と、前記方向データを多次元確率分布によりモデル化した場合における前記相違度の分布のモーメントを、既に算出した前記モーメントと、新たな前記監視対象データに対応する前記方向データの前記相違度とに基づいて更新するモーメント更新部と、前記モーメントに基づいて、前記多次元確率分布の分散を定めるパラメータを算出するパラメータ算出部と、前記パラメータにより分散が定められた前記多次元確率分布に基づいて、前記相違度のしきい値を算出するしきい値算出部と、前記相違度が前記しきい値を超える場合に、当該相違度に対応する前記監視対象データの異常を検出する異常検出部とを備える異常検出装置、及び、当該異常検出装置に関する異常検出方法、異常検出プログラム、及び、記録媒体を提供する。
【００１８】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明の効果】
【００１９】
本発明によれば、監視対象から順次取得される方向データに基づいて適切に異常を検知することができる。
【発明を実施するための最良の形態】
【００２０】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２１】
図１は、本実施形態に係る監視システム１０の構成を示す。監視システム１０は、監視対象１００と、監視対象１００を監視して異常を検出する異常検出装置５０とを備える。監視対象１００は、例えば、文書分類問題における文書データの供給元や、異常検知の対象となるコンピュータシステム、自動車等の乗り物、又は機械等の自然現象に基づいて動作する系である。異常検出装置５０は、監視対象１００から得られるデータ（監視対象データ）を監視して異常を検出することにより、監視対象１００の異常を検出する。
【００２２】
異常検出装置５０は、方向データ生成部１１０と、相違度算出部１２０と、モーメント更新部１３０と、パラメータ算出部１４０と、しきい値算出部１５０と、異常検出部１６０とを有する。方向データ生成部１１０は、順次オンラインで入力される監視対象データのそれぞれに対応して、当該監視対象データの特徴を示す単位ベクトルである方向データuを順次生成する。相違度算出部１２０は、予め指定された基準ベクトルrに対する方向データuの相違度zを、例えば式（１）により算出する。
【００２３】
モーメント更新部１３０は、順次入力される複数の監視対象データに対応する複数の方向データuの分布を多次元確率分布によりモデル化した場合における相違度zの分布のモーメントを、既に算出したモーメントと、新たな監視対象１００データに対応する方向データの相違度zとに基づいて更新する。パラメータ算出部１４０は、モーメント更新部１３０により更新されたモーメントに基づいて、多次元確率分布の分散を定めるパラメータを算出する。
【００２４】
しきい値算出部１５０は、パラメータにより分散が定められた多次元確率分布に基づいて、相違度zのしきい値zthを算出する。異常検出部１６０は、相違度zがしきい値zthを超える場合に、当該相違度zに対応する監視対象データの異常を検出する。
【００２５】
図２は、本実施形態に係る監視システム１０の動作フローを示す。
まず、しきい値算出部１５０は、異常なしと判断する監視対象データの割合pcを入力する（Ｓ２００）。この割合pcは、全ての監視対象データのうち、異常と判断すべき監視対象データの危険域の境界を与える。
【００２６】
次に、方向データ生成部１１０は、監視対象データを順次入力する（Ｓ２１０）。この監視対象データは、例えば、文書分類問題においては文書データであり、コンピュータシステムの異常検知においては所定の期間中にプログラム間で授受されるトランザクションのデータであり、乗り物や機械等の異常検知においては各種のセンサー等から取得された測定パラメータの値である。
【００２７】
次に、方向データ生成部１１０は、入力された監視対象データのそれぞれに対応して、当該監視対象データの特徴を示す単位ベクトルである方向データuを順次生成する（Ｓ２２０）。すなわち例えば方向データ生成部１１０は、文書分類問題においては、入力された文書データにおける各語の出現頻度等に基づいて文書ベクトルを生成し、これを規格化して方向データuを生成する。
【００２８】
次に、相違度算出部１２０は、基準ベクトルrに対する方向データuの相違度zを算出する（Ｓ２３０）。本実施形態に係る相違度算出部１２０は、式（１）に示したように、基準ベクトルr及び方向データuの内積を１から減じることにより、相違度zを算出する。
【００２９】
次に、モーメント更新部１３０は、方向データuを多次元確率分布によりモデル化した場合における相違度zの分布のモーメントを、既に算出したモーメントと、新たな監視対象データに対応する方向データの相違度とに基づいて更新する（Ｓ２４０）。このモーメントは、方向データuの多次元確率分布のモデルを更新するためにパラメータ算出部１４０により使用される。次に、パラメータ算出部１４０は、モーメント更新部１３０により更新されたモーメントに基づいて、多次元確率分布の分散を定めるパラメータを算出する（Ｓ２５０）。ここで、パラメータ算出部１４０は、モーメント更新部１３０により更新されたモーメントに基づいて、多次元確率分布の実効次元を定めるパラメータを更に算出してもよい。
【００３０】
ここで、本実施形態に係る異常検出装置５０は、方向データuの分布を適切にモデル化することを目的として、多次元確率分布の一例であるフォン・ミーゼス・フィッシャー分布（式（２））により方向データuをモデル化する。
【００３１】
方向データuを、多次元確率分布の一例であるフォン・ミーゼス・フィッシャー分布によりモデル化した場合、相違度zの分布関数q(z)は、以下に示す方法により求めることができる。
まず、確率変数としての方向データuから、N次元の球座標に変換する。ここで、N次元球殻上の面素dN-1Ωは、角度変数(θ,θ2,…,θN-1)を用いて、以下の式（３）により表すことができる。ただし、極軸を基準ベクトルrの方向に取り、極軸と方向ベクトルuの角度をθと定義した。
【数３】
2006048253.tif 000005
【００３２】
これを用いると、相違度zについてθをパラメータとする分布関数p(θ)は、フォン・ミーゼス・フィッシャー分布の周辺分布として、以下の式（４）により表すことができる。
【数４】
2006048253.tif 000006
【００３３】
ここで、方向データuがある基準ベクトルrの近辺にほぼ集中している状況を考慮すると、以下の式（５）に示した近似を用いることができる。
【数５】
2006048253.tif 000007
【００３４】
式（５）に示した近似を用い、θからzに変数変換をすることにより、式（４）から以下の式（６）に示した相違度zの分布関数q(z)を得ることができる。
【数６】
2006048253.tif 000008
ただし、式（６）の導出過程で、Σ/2を改めてΣとしている。
【００３５】
以上においては、方向データuの各自由度が同等にばらつくことを暗黙に仮定している。一般の方向データがこの仮定を満たすとは必ずしも限らないが、文書ベクトルにおいては、tf-idfと呼ばれる変換（非特許文献２参照。）により、コンピュータシステムの異常検知においては後述する対数変換により、各成分同士はおおむね均質化される。
【００３６】
しかしながら、このような変換の後も、一般には各自由度に不均質性がなお残り、相対的に不活性な自由度が存在しうると考えられる。そこで、本実施形態に係る異常検出装置５０においては、基準ベクトル及び方向データの次元数Nに代えて、方向データuの分布において不活性な自由度を除いた実質的な次元数である実効次元nを導入し、相違度zの分布を以下の式（７）により表す。
【数７】
2006048253.tif 000009
ただし、zは相違度を、Γ()はガンマ関数を、nはフォン・ミーゼス・フィッシャー分布の実効次元数を定めるパラメータを、Σはフォン・ミーゼス・フィッシャー分布の分散を定めるパラメータをそれぞれ示す。
【００３７】
実効次元nを導入することにより、方向データuにおける各自由度の不均質性の影響を実用上十分吸収することができる。そして、順次入力される監視対象データから得られる方向データuに基づいて、実効次元のパラメータnを順次更新していくことにより、より適切なモデル化を行うことができる。
【００３８】
以上の式（７）は、方向データuの分布をフォン・ミーゼス・フィッシャー分布によりモデル化した場合に、相違度zの分布は、カイ２乗分布に近似されることを示す。
【００３９】
パラメータ算出部１４０は、Ｓ２５０において、式（７）に含まれる、フォン・ミーゼス・フィッシャー分布の実効次元を定めるパラメータn、及び、分散を定めるパラメータΣを算出することにより、方向データuに対するフォン・ミーゼス・フィッシャー分布を規定する。ここで、二つのパラメターn及びΣをオンライン最尤推定することを考えて、一般的な方法により最尤方程式を立てると、未知数nがガンマ関数の形で方程式に入り、解くことができない。
【００４０】
ガンマ関数をスターリング公式で近似することも考えうるが、その近似の妥当性自体保障されない。また、スターリング公式で近似した後の最尤方程式自体を解析的に解くことはできず、更なる近似又は数値計算が必要となってしまう。
【００４１】
そこで、本実施形態に係る異常検出装置５０は、直接最尤方程式を解くのではなく、カイ２乗分布の性質を用いて実効次元のパラメータn及び分散のパラメータΣを求める。すなわち、カイ二乗分布においては、1次のモーメント＜z＞、及び2次のモーメント＜z2＞が、以下の式（８）により解析的に求まることが知られている。
【数８】
2006048253.tif 000010
この三角括弧は確率分布q(z)による平均（＜z＞=∫q(z)・z dz、＜z2＞=∫q(z)・z2 dz）を表す。
【００４２】
ここで、モーメント更新部１３０は、既に算出したk次のモーメントと、新たな監視対象データに対応する方向データuの相違度とに基づいて、新たなモーメントを以下の式（９）により算出することができる。
【数９】
2006048253.tif 000011
ただし、＜zk＞(t)は時刻tにおいて新たに算出するk次のモーメントを、＜zk＞(t-1)は時刻t-1において既に算出されたk次のモーメントを、z(t)は時刻tにおける新たな監視対象データに対応する方向データの相違度を、βは忘却係数を示す。なお、この忘却係数は１以下の正の値であり、平均をとる期間における相違度zのサンプル数の逆数とするのが一般的である。
【００４３】
本実施形態に係るモーメント更新部１３０は、相違度zの分布の１次及び２次のモーメントを、以下式（１０）により算出する。
【数１０】
2006048253.tif 000012
【００４４】
パラメータ算出部１４０は、モーメント更新部１３０が更新したモーメントに基づいて、フォン・ミーゼス・フィッシャー分布の実効次元を定めるパラメータn及び分散を定めるパラメータΣを算出する。ここで、式（８）から、以下の式（１１）を導くことができる。
【数１１】
2006048253.tif 000013
【００４５】
本実施形態に係るパラメータ算出部１４０は、モーメント更新部１３０が式（１０）を用いて算出した、相違度zの分布の１次及び２次のモーメント＜z＞及び＜z2＞に基づいて、フォン・ミーゼス・フィッシャー分布の実効次元を定めるパラメータn及び分散を定めるパラメータΣを、式（１１）により算出する。
【００４６】
以上に示したＳ２４０及びＳ２５０の処理の後、しきい値算出部１５０は、パラメータ算出部１４０により実効次元及び分散が定められたフォン・ミーゼス・フィッシャー分布に基づいて、相違度zのしきい値zthを算出する（Ｓ２６０）。より具体的には、しきい値算出部１５０は、フォン・ミーゼス・フィッシャー分布に対応する相違度zの分布q(z)において、しきい値zth以下の相違度zとなる確率の累積値が、Ｓ２００において入力された割合pcとなるように、以下の式（１２）を満たすしきい値zthを算出する。
【数１２】
2006048253.tif 000014
【００４７】
次に、異常検出部１６０は、Ｓ２３０により算出された相違度zが、しきい値算出部１５０により算出されたしきい値zthを超える場合（z＞zthの場合）に、当該相違度zに対応する監視対象データの異常を検出する（Ｓ２７０）。これにより、異常検出部１６０は、監視対象１００の異常を検出することができる。
【００４８】
異常検出装置５０は、監視対象データが順次オンラインで入力される度に、以上のＳ２１０からＳ２７０に示した処理を行う。これにより異常検出装置５０は、順次取得される方向データuに基づいて判定条件をオンラインで順次更新し、監視対象データの異常の有無を適切に判定することができる。
【００４９】
以上に示した処理において、時系列的に与えられる方向データuは、各成分の値域に極端な違いが生じないように、方向データ生成部１１０により前処理されていてもよい。このような前処理には後述の対数変換が好適に利用できる。また、例えば文書分類問題等においてはtr-idf法によりこのような前処理を行うことができる。
【００５０】
以上に示した通り、異常検出装置５０によれば、正常／異常の検出、又は、カテゴリへの帰属／非帰属を決めるしきい値zは、危険域のパーセント値pcにより、多次元確率分布や相違度zの分布によらない普遍的な値から定めることができる。ここで、例えば文書分類問題等において、複数の分類カテゴリのそれぞれに対応して基準ベクトルが指定され、基準ベクトルとの相違度に基づいて方向データをいずれかの分類カテゴリに分類する場合、異常検出装置５０は、全ての分類カテゴリに対して同一の割合pcを入力し、この割合pcに基づいて、各分類カテゴリへの分類に用いるしきい値zthをそれぞれ求めることができる。これにより、異常検出装置５０は、利用者が分類カテゴリ毎に個別に判定条件を定めなくても、適切な判定条件を設定することができる。
【００５１】
なお、以上においては、多次元確率分布はフォン・ミーゼス・フィッシャー分布である場合を例として説明したが、これに代えて、多次元確率分布は多次元正規分布等の他の分布であってもよい。多次元正規分布を用いる場合、相違度算出部１２０は、Ｓ２３０において、マハラノビス距離に基づく相違度zを算出する。これにより、相違度算出部１２０は、相違度zの分布を、カイ２乗分布とすることができる。したがって、異常検出装置５０は、以下フォン・ミーゼス・フィッシャー分布の場合と同様にして、Ｓ２４０以降の処理を行うことができる。
【００５２】
図３は、本実施形態の第１変形例に係る文書分類システム２０の構成を示す。文書分類システム２０は、文書分類装置３００と、分類済文書データ記憶部３１０と、異常検出装置５０とを備える。本実施形態に係る異常検出装置５０は、文書分類装置３００による文書データの分類が正しいか否かを判断することを目的とする。
【００５３】
文書分類装置３００は、順次入力される文書データを特定の分類カテゴリに分類する。ここで、分類カテゴリが複数存在する場合、文書分類装置３００は、文書データをいずれかの分類カテゴリに分類してもよく、いずれの分類カテゴリにも属さないとものとして分類してもよい。分類済文書データ記憶部３１０は、文書分類装置３００により分類された文書データを記憶する。異常検出装置５０は、文書分類装置３００による文書データの分類が正しいか否かを評価する文書分類評価装置として用いられ、文書分類装置３００の文書分類の異常を検出する。
【００５４】
異常検出装置５０は、方向データ生成部１１０と、相違度算出部１２０と、異常検出部１６０と、モーメント更新部１３０と、パラメータ算出部１４０と、しきい値算出部１５０と、分類入力部１７０と、再構成指示部１８０とを有する。図３において図１と同一符号を付した構成要素は、図１と略同一の機能及び構成を有するため、以下相違点を除き説明を省略する。
【００５５】
方向データ生成部１１０は、順次入力される文書データのそれぞれに対応して、当該文書データの特徴を示す方向データを順次生成する。相違度算出部１２０は、それぞれの分類カテゴリについて、分類カテゴリに対応して指定された基準ベクトルに対する方向データの相違度を算出する。異常検出部１６０は、文書分類装置３００により特定の分類カテゴリに分類された文書データに対応する相違度がしきい値を超える場合に、文書分類装置３００の異常を検出する。
【００５６】
文書データがいずれかの分類カテゴリに分類され、かつ、相違度がしきい値を超えない場合に、モーメント更新部１３０は、方向データを当該分類カテゴリに対応する多次元確率分布によりモデル化した場合における相違度の分布のモーメントを更新する。パラメータ算出部１４０は、モーメント更新部１３０が更新したモーメントに基づいて、当該分類カテゴリに対応する多次元確率分布の分散を定めるパラメータを算出する。ここで、パラメータ算出部１４０は、多次元確率分布の実効次元を定めるパラメータを更に算出してもよい。しきい値算出部１５０は、パラメータ算出部１４０が算出したパラメータにより分散及び／又は実効次元が定められた多次元確率分布に基づいて、分類カテゴリに対応する相違度のしきい値を算出する。
【００５７】
分類入力部１７０は、文書分類装置３００の異常を検出した場合に、当該文書データをいずれかの分類カテゴリに分類するか否かの指示を利用者から入力する。再構成指示部１８０は、文書分類装置３００の異常を予め定められた頻度以上検出した場合に、文書分類装置３００に対し、ユーザにより分類された複数の文書データを正しく分類するように再構成することを指示する。この指示を受けて、文書分類装置３００は、分類済文書データ記憶部３１０に記憶された分類済みの文書データを用いて分類機能を再構成する。
【００５８】
図４は、本実施形態の第１変形例に係る異常検出装置５０の動作フローを示す。
本動作フローの処理に先立って、文書分類システム２０は予め初期化される。すなわち、文書分類装置３００は、事前にカテゴリ分けされたデータに基づいて、分類機能を設定する。また、異常検出装置５０は、複数の分類カテゴリCiのそれぞれについて、しきい値zth(Ci)の初期値を設定する。
【００５９】
本動作フローが開始されると、しきい値算出部１５０は、図２のＳ２００と同様にして、異常なしと判断する監視対象データの割合pcを入力する（Ｓ２００）。次に、方向データ生成部１１０は、図２のＳ２１０と同様にして、監視対象データである文書データを順次入力する（Ｓ２１０）。文書分類装置３００は、当該文書データを並行して入力し、当該文書データを複数の分類カテゴリのいずれかに分類する。
【００６０】
ここで、文書分類装置３００は、例えば、Naive Bayes法を用いて文書分類を行ってもよく（非特許文献７参照。）、SVMを用いて文書分類を行ってもよく（非特許文献８参照。）、確率的決定リストを用いて文書分類を行ってもよい（非特許文献９参照。）。例えばNaive Bayes法においては、分類カテゴリがC1,…,Cnであるとき、文書分類装置３００は、入力の文書のベクトル(dj)に対し、各分類カテゴリに入る事後確率P(Ci| dj)を求め、その確率が最大となる分類カテゴリに文書データを分類する。
【００６１】
次に、方向データ生成部１１０は、図２のＳ２１０と同様にして、入力された文書データのそれぞれに対応して、当該文書データの特徴を示す単位ベクトルである方向データuを順次生成する（Ｓ２２０）。ここで、方向データ生成部１１０は、td-idf又は類似の方法により文書データから文書ベクトルを生成し、この文書ベクトルを規格化して方向データuを生成する。この際、文書ベクトルは、数千から数万程度の高次元ベクトルとなるため、方向データ生成部１１０は、Latent Semantic Indexing 法（非特許文献６参照。）等を用いて次元を２００程度に低減してもよい。
【００６２】
次に、相違度算出部１２０は、図２のＳ２３０と同様にして、複数の分類カテゴリのそれぞれについて、当該分類カテゴリに対応する基準ベクトルrに対する方向データuの相違度を算出する（Ｓ２３０）。
【００６３】
次に、異常検出部１６０は、文書分類装置３００が文書データをいずれかの分類カテゴリに分類した場合に、当該文書データを分類した分類カテゴリCkを入力する。そして、異常検出部１６０は、当該文書データを当該分類カテゴリに分類するのが妥当か否かを判断し、文書分類装置３００の異常を検出する（Ｓ４００）。より具体的には、異常検出部１６０は、分類カテゴリCkに分類された文書データに対応する当該分類カテゴリについての相違度zが、当該分類カテゴリに対応する相違度のしきい値zth(Ck)を超える場合に、文書分類装置３００の異常を検出する。
【００６４】
Ｓ４００において文書分類装置３００の異常が検出された場合、分類入力部１７０は、当該文書データの分類カテゴリを利用者から入力する（Ｓ４２０）。これに代えて、分類入力部１７０は、当該文書データを帰属させる新たな分類カテゴリを生成する分類カテゴリ生成部として機能してもよい。
【００６５】
次に、再構成指示部１８０は、文書分類装置３００の異常を予め定められた頻度以上検出した場合（Ｓ４３０：Ｙｅｓ）に、文書分類装置３００に対し再構成を指示する（Ｓ４４０）。これを受けて、文書分類装置３００は、分類機能を再構成する。ここで、再構成指示部１８０は、文書分類装置３００の異常を検出した回数が予め定められた回数となった場合に文書分類装置３００の再構成を指示することにより、当該頻度を定めてもよい。この場合、再構成指示部１８０は、例えば３ヶ月等の一定期間に入力される文書データ数の５％等の数を当該回数として設定してもよい。
【００６６】
一方、文書データがいずれかの分類カテゴリに分類され（Ｓ４５０：Ｙｅｓ）、かつ、相違度zがしきい値zth(Ck)を超えない場合（Ｓ４１０：Ｎｏ）に、モーメント更新部１３０は、図２のＳ２４０と同様にして、方向データuを当該分類カテゴリに対応する多次元確率分布によりモデル化した場合における相違度zの分布のモーメントを更新する（Ｓ２４０）。
【００６７】
次に、パラメータ算出部１４０は、図２のＳ２５０と同様にして、モーメント更新部１３０が更新したモーメントに基づいて、当該分類カテゴリに対応する多次元確率分布の分散及び／又は実効次元を定めるパラメータを算出する（Ｓ２５０）。そして、しきい値算出部１５０は、パラメータ算出部１４０が算出したパラメータにより定められた多次元確率分布に基づいて、分類カテゴリCkに対応する相違度zのしきい値zth(Ck)を算出し、異常検出部１６０に供給する。
【００６８】
以上に示した文書分類システム２０によれば、異常検出装置５０は、順次オンラインで入力される文書データに基づいてしきい値zthを更新することにより、文書データに応じて判定条件を更新する。そして、異常検出装置５０は、所定の頻度以上の誤りを検出した場合に、文書分類装置３００の再構成を指示することにより、文書分類装置３００の分類機能を調整していくことができる。これにより、文書分類システム２０は、近年提案されている様々な文書分類方法を利用する文書分類装置３００を用いることができる。また、異常検出装置５０により適切なタイミングで再構成を指示することにより、再構成に要する処理量が大きくオンライン更新が困難な文書分類方法を用いる文書分類装置３００を適切に再構成することができる。
【００６９】
図５は、本実施形態の第２変形例に係るウェブシステム５１０の構成を示す。本実施形態に係るウェブシステム５１０は、本発明に係る情報システムの一例であり、クライアント装置５４０からのネットワーク接続を経由するルータ５４５と、冗長化されたウェブサーバ５２０，５２１と、データベースサーバ５５０と、冗長化されたウェブサーバ５２０，５２１のアクセス先を決定する負荷分散装置５３０と、異常検出装置５０と公衆回線網５８０からなる。
【００７０】
ウェブサーバ５２０，５２１は、本発明に係る情報処理装置の一例であり、ＨＴＴＰサーバプログラム５２０１，５２１１とウェブアプリケーションサーバプログラム５２０２，５２１２を動作させる。例えば、ウェブサーバ５２０，２１は、クライアント装置５４０からの入力を受けたデータをデータベースサーバ５５０に記憶してもよいし、データベースサーバ５５０から取得したデータをクライアント装置５４０へ返信してもよい。
【００７１】
異常検出装置５０は、複数の情報処理装置を備える情報システムの異常を検出する。すなわち、異常検出装置５０は、ウェブシステム５１０のアプリケーション層の振る舞いを示す特徴ベクトルをオンラインで取得して、当該特徴ベクトルの方向データuの異常を検出することにより、ウェブシステム５１０の異常を検出する。本変形例に係る異常検出装置５０は、図１に示した異常検出装置５０と略同一の機能及び構成をとるため、以下相違点を除き説明を省略する。
【００７２】
以上においては、公衆回線網５８０を経由して、クライアント装置５４０、ウェブサーバ５２０，５２１、データベースサーバ５５０等が接続されているが、公衆回線網５８０を経由せずに接続されていてもよいし、公衆回線網５８０がインターネットにより代用されてもよい。また、ここでのサーバ及びサーバで動作するプログラムの種類は一例を挙げたものであり、ここで挙げたサーバ及びプログラムに限定されるものではない。
【００７３】
図６は、本実施形態の第２変形例に係るクライアント装置５４０と各サーバ及びプログラムの関係を示す。本図は、クライアント装置５４０、ウェブサーバ５２０、データベースサーバ５５０から構成されるウェブシステムを表した概念図である。ここではウェブサーバ５２０にてＨＴＴＰサーバプログラム５２０１とウェブアプリケーションサーバプログラム５２０２が実行される。クライアント装置５４０及び各サーバのＩＰアドレスとポート番号を各ノードの下部に示している。このＩＰアドレス、ポート番号、ノード及びノード間の相関について、以下説明する。
【００７４】
コンピュータシステムにおける、ネットワークの頂点間の相関ないし関連度に着目し、実行時のシステムにおけるノード間関連度について考える。ここで、「ノード」とは、障害検知の対象とする単位であり、たとえば、あるＩＰアドレスで指定することができる。図５のように、１つのウェブサーバで２つのプログラムが動作している場合には、ノードとして（ＩＰアドレス、ポート番号）で指定されるアプリケーションを考えることができる。ここでは、例として「サービス」を取り上げる。「サービス」とは、サーバプログラムが他のサーバプログラムのために必要なデータ等を生成する処理をいう。つまり、ノード間の相互関係を、「サービス」すなわち（要求元ＩＰアドレス、要求先ＩＰアドレス、要求先ポート番号）の２項関係ととらえる。さらに、ある時間において、ｉがｊを引き起こした回数をサービスｉとサービスｊの間の重みとする。
【００７５】
たとえば図６では、（192.168.0.19,192.168.0.53,80）がサービスの例である。一般に、サービス相関は行列で表すことが可能である。これをサービス相関行列と呼び、形式的に式（１３−１）のように記述する。
【数１３】
2006048253.tif 000015
【００７６】
ここで、ＩはＩＰアドレスを意味し、要求元ＩＰアドレスがｉの要素であり、要求先ＩＰアドレスがｊの要素である。ｐは要求先ポート番号である。また、サービスとして要求元ＩＰアドレス、要求先ＩＰアドレス、要求先ポート番号に加えて、要求先トランザクションタイプを考慮することも可能である。この場合には、サービス相関行列は式（１３−２）のように表され、ここでのｔは要求先トランザクションタイプを表す。
【００７７】
（１３−１）の相関行列の要素を式（１４）のように表す。
【数１４】
2006048253.tif 000016
【００７８】
ここでＢ（ｔ）として、式（１５）のように表す。
【数１５】
2006048253.tif 000017
【００７９】
【数１６】
2006048253.tif 000018
【００８０】
式（１６）のような量を考えると、これは、サービスsｉｊｋ=(Ii,Ij,pk)の出現頻度を表していると解釈される。ポート番号を縮約すれば、さらにこれから、ＩＰアドレス同士の通信関係を表す行列を抽出できる。すなわち、式（１７）のように表される。
【数１７】
2006048253.tif 000019
【００８１】
あるいは、サービス相関行列について、親サービスのＩＰアドレスを縮約して式（１８）のように表すこともできる。
【数１８】
2006048253.tif 000020
【００８２】
このように、アプリケーション(Ii,pk)と(Il,pm)の関連度を抽出することもできる。以下、サービスないしサービスを受けるホストを表す抽象的な概念として「ノード」という言葉を用い、ノードの相関行列（以下「ノード相関行列」）を表す記号はＢで代表する。
【００８３】
上述の説明においては、ノード間の相互関係をサービスとして（要求元ＩＰアドレス、要求先ＩＰアドレス、要求先ポート番号）の２項関係と捉えているが、要求元ポート番号を含めていてもよいし、その他の要素として、ＩＰアドレス、ポート番号に限定されることなく、ＭＡＣアドレスを利用してもよい。特定のポート番号におけるトランザクションタイプを含んでいてもよい。また、ＩＰアドレスとしては、ＩＰバージョン６であってもよい。
【００８４】
本発明においては、行列Ｂに何らかの前処理を行うことがしばしば有効である。特に、値域を制限する意味で、値域を制限する意味で、行列要素ｆｉｊを、単調な関数ｆにより、式（１９）によって変換するのは有効である。
【数１９】
2006048253.tif 000021
【００８５】
ウェブ系のシステムでは、関数ｆとして、対数変換がしばしば有用である。
【数２０】
2006048253.tif 000022
【００８６】
ここでも、上式に従って行列要素を変換した。なお、その他の関数、例えば、双曲線正接ｔａｎｈや、その他の任意の関数も、行列の前処理に使うことができる。あるいは、ｆによる変換の代わりに、行和ないし列和を１とする親格化を用いることもできる。これらの選択により本発明の本質を失うことはない。
【００８７】
実行時において、システムに何らかの障害が起こった場合、ノード相関行列に変化が表れる。しかし、その変化は各要素を個別に見ていても障害を検知する事は困難である。なぜなら、呼出頻度のような示量性の観測量は時間的に大きく揺らぐものであり、仮に大きな変化があったとしても、障害なのか単なるトラフィックの変化なのか判断しがたいためである。
【００８８】
そこで、システム全体の変化を捉えるような量を抽出することを考える。ある時刻において与えられたノード相関行列は、その時間近傍でのノード間の関連度を表すものである。ここで「関連度」とは、あるノードから別のノードへの遷移強度ないし遷移速度に対応する意味を持っていると考えられる。そこでこの行列に対して、マルコフ過程の理輪におけるコロモゴルフの方程式と同様の式（２１）のような運動方程式を想定してみる。
【数２１】
2006048253.tif 000023
【００８９】
ノード相関行列Ｂは観測を行う時間に依存するが、ある一つのタイムスロットでのダイナミクスを考えることにし、式（２１）ではＢを定数と想定する。
【００９０】
ここでｕは状態ベクトルであって式（２２）のように表される。
【数２２】
2006048253.tif 000024
【００９１】
式（２１）の運動方程式にしたがって解釈すると、状態ベクトルの要素は、ある時刻にシステムを観察したとき、どのノードで処理が行われているかを表す重みであると解釈できる。
【００９２】
さらに、式（２１）の運動方程式の定常状態が、ノード間の関連度込みで系の特徴を直接反映した状態になっていると考えることは自然である。ノード相関行列は非負行列と仮定でき、ペロン＝フロベニクスの定理によれば、絶対値最大の固有値は実数でなおかつ孤立している。また、固有ベクトルの要素は全て正である。すなわち、固有方程式の解をもってノード相関行列の特徴量と考えることができる。
【数２３】
2006048253.tif 000025
【００９３】
もしくは等価であるが、極値方程式の解をもってノード相関行列の特徴量と考えることができる。
【数２４】
2006048253.tif 000026
【００９４】
Ｂが非負行列であることに注意すれば、式（２２）における最大化は明らかに、行列要素の大きいところでｕｌの重みが大きければ達成される。すなわち、もしノードｉが非常に活発に他ノードを呼び出しているとすると、上記特徴量はノードｉにおいて強い重みを持つ。この意味で、上記特徴量を、活動度べクトルと呼ぶことができる。
【００９５】
本変形例に係る異常検出装置５０内の方向データ生成部１１０は、ウェブシステム５１０内の情報処理装置のそれぞれが、他の情報処理装置が提供するサービスの処理を要求するべく送信するトランザクションを監視対象データとして入力する。そして、予め定められた期間内に送信されたトランザクションから以上に示した活動ベクトルを算出することにより、これらのトランザクションの特徴を示す方向データuを順次生成する。
【００９６】
異常検出装置５０内の相違度算出部１２０は、方向データ生成部１１０により生成された方向データuの系列に基づいて、基準ベクトルrを更新していく。そして、相違度算出部１２０は、過去に入力された方向データuの系列に基づき生成された基準ベクトルrに対する方向データuの相違度zを算出する。
【００９７】
この処理の結果、相違度zは、これまでと大きく異なる活動ベクトルが算出された場合に、高い値をとる。したがって、異常検出部１６０は、相違度zがしきい値zthを超える場合に、これまでと異なる処理が行われていることを認識することができ、情報システムの異常を検出することができる。
【００９８】
以上に示した異常検出装置５０によれば、情報システムを重みが動的に変化するグラフと見なし、そのグラフから抽出した特徴ベクトルを規格化した方向データuを用いることにより、システム内部のバランスの崩れを異常として検知することができる。
【００９９】
図７は、本実施形態の第２変形例に係るウェブシステム５１０から生成した相違度zの分布の一例を示す。本図は、図６に関連して示した方法により、予め定められた時間区間毎に計算された活動度ベクトルの方向データuの時系列データに対応して、相違度zの時系列データを算出し、その値の頻度分布をプロットしたものである。
【０１００】
本図から明らかなように、情報システムから得られた方向データuの分布は、平均値の周りに対称に分布しておらず、相違度zの分布を正規分布によりモデル化するのが不適切であることがわかる。このような場合、相違度zの標準偏差を計算し、3シグマ基準などを用いてしきい値zthを算出したとしても、異常検出に誤りが発生し、実用性に欠ける。
【０１０１】
これに対し、本変形例に係る異常検出装置５０によれば、方向データuをフォン・ミーゼス・フィッシャー分布により適切にモデル化することができる。この場合、相違度zの分布は、カイ２乗分布に近似される。図中（ａ）は、時系列的に得られた１５８個の方向データuに対し、図２の処理を行った場合に得られる相違度zの確率密度分布を示す。この確率密度分布は、式（１０）におけるβを1/158とし、測定区間の最後の時刻においてＳ２５０の処理により得られた実効次元数のパラメータn=4.62及び分散のパラメータΣ=6.79×10-5を式（７）に代入して得られるものである。ただし、実効次元数のパラメータnは、5に丸めている。この図から、本例における方向データuについては、カイ２乗分布により相違度zの分布の本質的特徴を的確に捉えることができるといえる。
【０１０２】
図８は、本実施形態の第２変形例に係るウェブシステム５１０の異常検知の一例を示す。図中の棒グラフは、ウェブシステム５１０から得られる相違度zの時系列データを示す。また、図中の折れ線グラフは、異常無しと判断する監視対象データの割合pcを0.5%とした場合における、相違度のしきい値zthの時系列データを示す。
【０１０３】
本図においては、異常検出装置５０は、時刻tAにおいて相違度zがしきい値を超えているため、異常を検出する。また、時刻tBにおいては、異常検出装置５０は、異常な状態をオンライン学習しており、異常な状態から正常な状態に戻ったことを検出している。このように、異常検出装置５０は、順次入力される監視対象データに応じて判定条件を適切に更新することができる。
【０１０４】
図９は、本実施形態の第３変形例に係る方向データ生成部１１０の構成を示す。本変形例に係る異常検出装置５０は、図１に示した監視システム１０における方向データ生成部１１０を、図９に示した方向データ生成部１１０に置き換えた構成をとる。
【０１０５】
本変形例において、監視対象１００は、自動車等の乗り物や各種の製造装置等の系である。異常検出装置５０は、監視対象１００に取り付けられた各種のセンサー等により測定された複数の測定パラメータの時系列データを監視対象として入力し、これらの測定パラメータの異常を検出することにより監視対象１００の異常を検出する。本変形例における監視システム１０は、以下に示す点を除き図１に示した監視システム１０と略同一の機能及び構成をとるため、以下相違点を除き説明を省略する。
【０１０６】
方向データ生成部１１０は、測定パラメータ入力部９００と、変化度算出部９１０と、関連度算出部９２０とを有する。測定パラメータ入力部９００は、監視対象１００から測定された複数の測定パラメータの時系列データを、監視対象データとして入力する。変化度算出部９１０は、複数の測定パラメータのそれぞれが時間の経過に応じて変化する時系列の変化度を、当該パラメータの時系列データに基づいて算出する。関連度算出部９２０は、複数の測定パラメータのそれぞれが他の測定パラメータのそれぞれと関連する強さを示す関連度を、当該測定パラメータ及び当該他の測定パラメータの変化度に基づいて算出する。そして、関連度算出部９２０は、関連度に基づく方向データuを生成する。
【０１０７】
図１０は、本実施形態の第３変形例に係る方向データ生成部１１０の動作フローを示す。
まず、方向データ生成部１１０は、監視対象１００から測定された複数の測定パラメータのそれぞれを入力する（Ｓ１０００）。例えば異常検出装置５０を用いて自動車の異常を検出する場合においては、測定パラメータ入力部９００は、監視対象１００の自動車の各部分に設けられた複数のセンサーにより測定された複数の測定パラメータの時系列データを、監視対象データとして入力する。
【０１０８】
次に、方向データ生成部１１０は、それぞれの測定パラメータの変化度を算出する（Ｓ１０１０）。
例えば、変化度算出部９１０は、予め定められた測定時間における各時刻の変化度として、その時刻における時系列データの遷移パターンが、その時刻を起点とする過去の予め定められた範囲の時間において測定された時系列データの遷移パターンと異なる場合に、その遷移パターンと同一である場合と比較して高い値を算出する。変化度を算出する一例として特異スペクトル解析法（singular-spectrum analysis, SSA、非特許文献１０及び１１参照。）を用いる処理例について詳細に説明する。
【０１０９】
変化度算出部９１０は、時系列データであるｘ1, ｘ2,…, ｘTから、長さNの連続した部分系列を取り出す。そして、変化度算出部９１０は、取り出した長さNの部分系列から、長さＭの部分系列を取り出す。更に、変化度算出部９１０は、長さＭの部分系列を取り出す位置を、時間の経過方向に順次変更することにより、長さＭの複数の部分系列を順次取り出し、取り出した系列の各々を行方向のベクトルとして列方向に配列した行列を生成する（式（２５））。この行列を、時刻nにおけるトラジェクトリ行列と呼ぶ。
【数２５】
2006048253.tif 000027
【０１１０】
ここで、明らかに、Ｋ＝N−Ｍ＋１が成り立つ。また、ＭをN／２とする。続いて、変化度算出部９１０は、この行列の特異値分解を行うことにより、最大特異値側から所定の個数（例えば、λ個）の左特異ベクトルを検出する。検出したこれらの左特異ベクトルを列ベクトルとして行方向に配列した行列をＵとする。なお、検出されたこの左特異ベクトルは、当該時刻を起点とした過去の所定期間において頻繁に観測された時系列データの遷移パターンを示している。
【０１１１】
続いて、変化度算出部９１０は、式（２５）として検出した時系列データより未来側における長さＭの時系列データを検出する。式（２６）は、検出した時系列データを列ベクトルとして示す。
【数２６】
2006048253.tif 000028
【０１１２】
但し、ｊは、n＋Ｋより大きい整数である。一例として、ｊ=n＋１とする。この場合、式（２７）は、λ個の特異ベクトルで張られる空間への、式（２６）の列ベクトルの射影となる。
【数２７】
2006048253.tif 000029
【０１１３】
最大特異値に属する特異ベクトルは、トラジェクトリ行列の列ベクトルの最も代表的な方向を指し示すことに注意すると、射影である式（２７）が、射影の対象である式（２６）と類似していれば、式（２５）の時系列データが測定された時点と、式（２６）の時系列データが測定された時点とで、データが類似していると解釈される。一方、射影の前後で式（２６）及び式（２７）が類似していなければ、測定パラメータが時間の経過に応じて変化したと解釈される。
【０１１４】
従って、変化度算出部９１０は、ある時系列データにおけるある時刻の変化度として、その時刻の近傍における測定パラメータの組を示すベクトルと、そのベクトルを特異ベクトルの行列により射影したベクトルとの長さの差を算出する。例えば、変化度算出部９１０は、式（２８）により変化度を算出する。
【数２８】
2006048253.tif 000030
【０１１５】
他の例として、変化度算出部９１０は、時系列データにおける複数の時点の各々において、上記の処理により変化度を算出し、算出したこれらの変化度の平均値を算出してもよい。例えば、変化度算出部９１０は、n+p+1の時刻からn+qの時刻までにおける変化度の平均値を、式（２９）により算出する。
【数２９】
2006048253.tif 000031
【０１１６】
次に、関連度算出部９２０は、複数の測定パラメータの各々が他の測定パラメータの各々と関連する強さを示す関連度を、当該測定パラメータ及び当該他の測定パラメータの変化度に基づいて算出する（Ｓ１０２０）。算出処理の一例について説明する。
【０１１７】
まず、関連度算出部９２０は、各測定パラメータの変化度を、予め定められた測定期間におけるその測定パラメータの変化度の積分が予め定められた単位量となるように正規化する。例えば、時刻ｔにおいて、ある測定パラメータの変化度をｘ（ｔ）とし、他の測定パラメータの変化度をｙ（ｔ）とする。但し、変化度は測定期間において常に０以上とする。関連度算出部９２０は、時刻Ｔ１からＴ２までの測定期間におけるこれらの測定パラメータの変化度の積分が１となるように、これらの変化度を式（３０）により正規化する。
【数３０】
2006048253.tif 000032
【０１１８】
関連度算出部９２０は、測定期間内の各時刻において、正規化したこれらの変化度の何れか低い方の値を積分することにより、関連度を算出する（式（３１））。
【数３１】
2006048253.tif 000033
【０１１９】
この関連度は、正規化したこれらの変化度を同一の時系列に重ねた場合に両曲線が囲む領域の交わり部分の面積に相当する。この結果、関連度は、０から１の値をとる。これにより、互いに単位の異なる複数の測定パラメータであっても、同一の尺度に基づく関連の強弱を得ることができる。
【０１２０】
以上の式（３１）に示したように、例えば変数の数が200個あれば、関連度は、200×200の関連度行列として得られる。ここで、対象とする時系列を標準化変換していても、変化のトレンドや、ノイズの様相によっては、異なる状況で得られた関連度行列の行列要素の値自体を直接比較するのが難しい場合がある。そこで、本実施形態に係る関連度算出部９２０は、得られた関連度行列もしくは距離行列をフロベニウスノルムで規格化する。すなわち、関連度算出部９２０は、関連度行列の各要素ai,jを式（３２）に示すように置き換える。
【数３２】
2006048253.tif 000034
【０１２１】
関連度算出部９２０は、式（３２）の規格化を行うことにより、この関連度行列の各要素を一列に並べた方向データuを得ることができる。
【０１２２】
以下、異常検出装置５０は、Ｓ１０２０により得られた方向データuに基づいて、図１のＳ２３０以下の処理を行う。例えば、監視対象１００が自動車である場合、相違度算出部１２０は、正常に動作している自動車から測定された複数の測定パラメータの時系列データに基づいて定められた基準ベクトルrに対する方向データuの相違度を算出する。
【０１２３】
この結果、異常検出部１６０は、相違度zがしきい値zthを超える場合に、監視対象１００となる自動車の異常を検出することができる。
【０１２４】
図１１は、本実施形態の第３変形例に係る正常な自動車及び故障した自動車からそれぞれ得られた方向データの一例を示す。本図の方向データは、自動車から測定された測定パラメータを特異スペクトル変換により変換した時系列データを取り出し、それらについて計算した関連度行列の各要素を並べたものである。
【０１２５】
関連度行列の第１から第５成分は、それぞれ酸素センサー、スロットル位置、エンジン負荷、エンジン回転数、及び燃料流量である。関連度行列を方向データuに変換する際に、関連度行列の対角要素をゼロとして方向データに含めず、他の10個（=5C2）の要素を並べて方向データuとしている。要素番号は1から10までそれぞれ、(1,2), (1,3), (1,4), (1,5), (2,3), (2,4), (2,5), (3,4), (3,5), (4,5)要素となっている。
【０１２６】
本図に示したように、正常な自動車からデータを多数集めて基準ベクトルrを生成すれば、本実施形態に係る異常検出装置５０により障害検知を行うことができる。すなわち、異常検出装置５０は、基準ベクトルrに対する方向データuの相違度zが、危険域の割合pcに基づき算出されたしきい値zthを超える場合に、異常を検出することができる。
【０１２７】
逆に、自動車の様々な故障事例に基づいて基準ベクトルrを生成することで、異常検出装置５０は、事例の蓄積に伴う基準ベクトルの変化を適切に反映する事例ベース推論エンジンとして機能することができる。すなわち、文書分類と同様に、得られた障害時の方向データを、既知の障害事例に分類することで、その原因を推論することができる。
【０１２８】
図１２は、本実施形態に係るコンピュータ１９００の構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【０１２９】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【０１３０】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【０１３１】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラムや、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０や、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
【０１３２】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【０１３３】
コンピュータ１９００にインストールされ、コンピュータ１９００を異常検出装置５０として機能させるプログラムは、方向データ生成モジュールと、相違度算出モジュールと、モーメント更新モジュールと、パラメータ算出モジュールと、しきい値算出モジュールと、異常検出モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、方向データ生成部１１０と、相違度算出部１２０と、モーメント更新部１３０と、パラメータ算出部１４０と、しきい値算出部１５０と、異常検出部１６０としてそれぞれ機能させる。
【０１３４】
また、当該プログラムは、分類入力モジュールと、再構成指示モジュールとを更に備えてもよい。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、分類入力部１７０と、再構成指示部１８０としてそれぞれ機能させる。
【０１３５】
また、方向データ生成モジュールは、測定パラメータ入力モジュールと、変化度算出モジュールと、関連度算出モジュールとを有してもよい。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、測定パラメータ入力部９００と、変化度算出部９１０と、関連度算出部９２０としてそれぞれ機能させる。
【０１３６】
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤやＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【０１３７】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【０１３８】
【図１】本発明の実施形態に係る監視システム１０の構成を示す。
【図２】本発明の実施形態に係る監視システム１０の動作フローを示す。
【図３】本発明の実施形態の第１変形例に係る文書分類システム２０の構成を示す。
【図４】本発明の実施形態の第１変形例に係る文書分類システム２０の動作フローを示す。
【図５】本発明の実施形態の第２変形例に係るウェブシステム５１０の構成を示す。
【図６】本発明の実施形態の第２変形例に係るクライアント装置５４０と各サーバ及びプログラムの関係を示す。
【図７】本発明の実施形態の第２変形例に係るウェブシステム５１０から生成した相違度zの分布の一例を示す。
【図８】本発明の実施形態の第２変形例に係るウェブシステム５１０の異常検知の一例を示す。
【図９】本発明の実施形態の第３変形例に係る方向データ生成部１１０の構成を示す。
【図１０】本発明の実施形態の第３変形例に係る方向データ生成部１１０の動作フローを示す。
【図１１】本発明の実施形態の第３変形例に係る正常な自動車及び故障した自動車からそれぞれ得られた方向データの一例を示す。
【図１２】本実施形態に係るコンピュータ１９００の構成の一例を示す。
【符号の説明】
【０１３９】
１０  監視システム
２０  文書分類システム
５０  異常検出装置
１００  監視対象
１１０  方向データ生成部
１２０  相違度算出部
１３０  モーメント更新部
１４０  パラメータ算出部
１５０  しきい値算出部
１６０  異常検出部
１７０  分類入力部
１８０  再構成指示部
３００  文書分類装置
３１０  分類済文書データ記憶部
５１０  ウェブシステム
５２０  ウェブサーバ
５２０１  ＨＴＴＰサーバプログラム
５２０２  ウェブアプリケーションプログラム
５２１  ウェブサーバ
５２１１  ＨＴＴＰサーバプログラム
５２１２  ウェブアプリケーションプログラム
５３０  負荷分散装置
５４０  クライアント装置
５４５  ルータ
５５０  データベースサーバ
９００  測定パラメータ入力部
９１０  変化度算出部
９２０  関連度算出部
１９００  コンピュータ
２０００  ＣＰＵ
２０１０  ＲＯＭ
２０２０  ＲＡＭ
２０３０  通信インターフェイス
２０４０  ハードディスクドライブ
２０５０  フレキシブルディスク・ドライブ
２０６０  ＣＤ−ＲＯＭドライブ
２０７０  入出力チップ
２０７５  グラフィック・コントローラ
２０８０  表示装置
２０８２  ホスト・コントローラ
２０８４  入出力コントローラ
２０９０  フレキシブルディスク
２０９５  ＣＤ−ＲＯＭ
【図１】
2006048253.tif 000039
【図２】
2006048253.tif 000040
【図３】
2006048253.tif 000041
【図４】
2006048253.tif 000042
【図５】
2006048253.tif 000043
【図６】
2006048253.tif 000044
【図７】
2006048253.tif 000045
【図８】
2006048253.tif 000046
【図９】
2006048253.tif 000047
【図１０】
2006048253.tif 000048
【図１１】
2006048253.tif 000049
【図１２】
2006048253.tif 000050