IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特開2022-174161情報処理装置、情報処理方法、及び、プログラム
<>
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図1
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図2
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図3
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図4
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図5
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図6
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図7
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図8
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図9
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図10
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図11
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022174161
(43)【公開日】2022-11-22
(54)【発明の名称】情報処理装置、情報処理方法、及び、プログラム
(51)【国際特許分類】
   G06F 11/34 20060101AFI20221115BHJP
   G06F 21/55 20130101ALI20221115BHJP
【FI】
G06F11/34 176
G06F21/55 320
【審査請求】有
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2022140463
(22)【出願日】2022-09-05
(62)【分割の表示】P 2020201209の分割
【原出願日】2017-06-19
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100149618
【弁理士】
【氏名又は名称】北嶋 啓至
(72)【発明者】
【氏名】高橋 翼
(57)【要約】      (修正有)
【課題】時系列データを処理する情報処理装置及び情報処理方法を提供する。
【解決手段】時間的な定常性を持つ挙動に対応したパターンと、ランダムな挙動とに対応したパターンとを抽出する情報処理装置は、複数の時間における複数の観測値を含む第1のデータを基に第1のデータを時間において積層した第2のデータを構築し、第2のデータを基に第1のデータにおける時間的な定常性を持つ観測値の組合せである定常パターンを抽出する定常パターン抽出部と、第1のデータと定常パターンとの時間における差分を生成する差分生成部と、差分を基に時間的な定常性を持たない観測値の組合せであるランダムパターンを抽出するランダムパターン抽出部とを含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
監視対象設備の異常を検知するための情報として、ランダムパターンを検出する情報処理装置であって、
前記監視対象設備での複数の時間における受信データに関する、前記時間、ソースIPアドレス、及びメッセージの種類に関する情報を含む観測値を第1のデータとして取得する取得手段と、
前記第1のデータを前記時間において積層した第2のデータを構築し、前記第2のデータを基に前記第1のデータにおける時間的な定常性を持つ前記観測値の組合せである定常パターンを抽出する定常パターン抽出手段と、
前記第1のデータと前記定常パターンとの前記時間における差分を生成する差分生成手段と、
前記差分を基に時間的な定常性を持たない前記観測値の組合せである前記ランダムパターンを抽出するランダムパターン抽出手段と、
を含む情報処理装置。
【請求項2】
前記ランダムパターンを送信する送信手段をさらに含む、
請求項1に記載の情報処理装置。
【請求項3】
前記送信手段は、前記定常パターンをさらに送信する、
請求項2に記載の情報処理装置。
【請求項4】
前記第1のデータは、前記観測値が発現した位置情報を含み、
前記送信手段は、前記位置情報をさらに送信する、
請求項2又は3に記載の情報処理装置。
【請求項5】
前記ランダムパターンを表示するための信号を送信する送信手段をさらに含む、
請求項1に記載の情報処理装置。
【請求項6】
前記送信手段は、前記定常パターンを表示するための信号をさらに送信する、
請求項5に記載の情報処理装置。
【請求項7】
前記第1のデータは、前記観測値が発現した位置情報を含み、
前記送信手段は、前記位置情報を表示するための信号をさらに送信する、
請求項5又は6に記載の情報処理装置。
【請求項8】
前記取得手段は、前記第1のデータとして、複数の前記監視対象設備での前記観測値を取得する、
請求項1に記載の情報処理装置。
【請求項9】
監視対象設備の異常を検知するための情報として、ランダムパターンを検出する情報処理方法であって、
前記監視対象設備での複数の時間における受信データに関する、前記時間、ソースIPアドレス、及びメッセージの種類に関する情報を含む観測値を第1のデータとして取得し、
前記第1のデータを前記時間において積層した第2のデータを構築し、前記第2のデータを基に前記第1のデータにおける時間的な定常性を持つ前記観測値の組合せである定常パターンを抽出し、
前記第1のデータと前記定常パターンとの前記時間における差分を生成し、
前記差分を基に時間的な定常性を持たない前記観測値の組合せである前記ランダムパターンを抽出する
情報処理方法。
【請求項10】
前記ランダムパターンを送信する
請求項9に記載の情報処理方法。
【請求項11】
前記定常パターンをさらに送信する、
請求項10に記載の情報処理方法。
【請求項12】
前記第1のデータは、前記観測値が発現した位置情報を含み、
前記位置情報をさらに送信する、
請求項10又は11に記載の情報処理方法。
【請求項13】
前記ランダムパターンを表示するための信号を送信する、
請求項9に記載の情報処理方法。
【請求項14】
前記定常パターンを表示するための信号をさらに送信する、
請求項13に記載の情報処理方法。
【請求項15】
前記第1のデータは、前記観測値が発現した位置情報を含み、
前記位置情報を表示するための信号をさらに送信する、
請求項13又は14に記載の情報処理方法。
【請求項16】
前記第1のデータとして、複数の前記監視対象設備での前記観測値を取得する、
請求項9に記載の情報処理方法。
【請求項17】
監視対象設備の異常を検知するための情報として、ランダムパターンを検出するプログラムであって、
前記監視対象設備での複数の時間における受信データに関する、前記時間、ソースIPアドレス、及びメッセージの種類に関する情報を含む観測値を第1のデータとして取得する処理と、
前記第1のデータを前記時間において積層した第2のデータを構築し、前記第2のデータを基に前記第1のデータにおける時間的な定常性を持つ前記観測値の組合せである定常パターンを抽出する処理と、
前記第1のデータと前記定常パターンとの前記時間における差分を生成する処理と、
前記差分を基に時間的な定常性を持たない前記観測値の組合せである前記ランダムパターンを抽出する処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データの処理に関し、特に、時系列データを処理する情報処理装置などに関する。
【背景技術】
【0002】
ネットワークへの不正侵入を検知する装置、又は、工場における温度センサーなどのセンサー装置(以下、まとめて「検知装置」と呼ぶ)は、監視対象(ネットワーク又は工場)における所定の属性の状態又は値を観測する。属性とは、温度、圧力、流量、若しくは、振動などの物理的な値、又は、データの送信、受信、所定のメッセージの作成などの動作の状態である。以下、観測した値及び観測した状態をまとめて「観測値」と呼ぶ。さらに、検知装置は、単一の時間での観測ではなく、通常は、連続して(シーケンスに)観測を継続する。連続した観測を基に、検知装置は、観測した属性の値(観測値)と、観測した時間などの時間に関連する情報(タイムスタンプ)と関連付けて含むデータを、時々刻々と生成する。つまり、検知装置は、監視対象を観測し、複数の時間における観測値とタイムスタンプとを含むデータ(以下、「時系列データ」又は「シーケンスデータ」と呼ぶ)を生成する。そして、検知装置は、生成したシーケンスデータを分析することで、監視対象を把握する。ここで監視対象の把握とは、例えば、監視対象が正常であるか否の判別、又は、監視対象における疑わしい挙動の検出などである。
【0003】
シーケンスデータの例としては、Twitterなどのミニブログ(つぶやき)、プロキシサーバ若しくは監視サーバのログ、又は、侵入検知(IDS:Intrusion Detection System)のアラートログなどがある。
【0004】
このようなシーケンスデータ(時系列データ)を処理する技術は、いろいろな分野に適用されている(例えば、特許文献1ないし3)。
【0005】
特許文献1は、脳波を解析する技術を開示している。
【0006】
特許文献2は、正常稼働状態のデータを学習する技術を開示している。
【0007】
特許文献3は、正常パターンを自動抽出する技術を開示している。
【0008】
シーケンスデータには、監視対象の様々な挙動が、入り混じっている。例えば、シーケンスデータには、時間的な定常性(constancy)を持つ挙動と、時間的な定常性のない挙動(以下、「ランダムな挙動」と呼ぶ)とが、入り混じっている場合がある。時間的な定常性を持つ挙動とは、例えば、「特定の曜日及び/又は時間帯によく発現する挙動」又は「毎日発現する挙動」である。また、ランダムな挙動とは、「発現する時間又は位置を特定できない挙動」である。
【0009】
コンピュータ・ネットワーク上での不正な攻撃(サイバー攻撃)に対する防御(サイバーセキュリティ)において、時間的な定常性を持つ挙動は、通常の業務に関連する動作に該当する。また、ランダムな挙動は、標的型攻撃などのサイバー攻撃、機器の故障、又は、何らかの異常に該当する。
【0010】
時間的な定常性を持つ挙動及びランダムな挙動のそれぞれに対応したパターンを検出することは、アラート(警報)を発報するセキュリティ機器において、通常は生じない異常(anomaly)を検出する上で重要である。
【0011】
このように、シーケンスデータの分析において、時間的な定常性を持つ挙動とランダムな挙動とのパターンを明確に分けたい、という要求がある。
【0012】
データ中の主要なパターンを検出する手法として、各種の手法が提案されている。例えば、このような手法として、主成分分析(PCA:Principal Component Analysis)又は特異値分解(SVD:Singular Value Decomposition)などの行列分解が知られている。これらの手法は、シーケンスデータに対しても適用することができる。しかしながら、行列分解は、時間的な定常性を持つ挙動であるか、ランダムな挙動であるかを、区別できない。また、時間的な定常性を持つ挙動のように頻度の高いパターンが多数ある場合、行列分解は、ランダムな挙動を雑音と見なしてしまい、ランダムな挙動をパターンとして検出できない可能性がある。
【0013】
非特許文献1に記載の技術は、「タイムスタンプ,属性値」からなるデータを、周期に基づいて分割及び積層して行列形式のシーケンスデータを作成する。さらに、非特許文献1に記載の技術は、行列形式のシーケンスデータを基に、「周期数,周期内タイムスタンプ,属性値」から成るテンソル(tensor)を生成する。このように周期に基づいて積層されたテンソル、つまり時間軸方向に積層されたテンソルには、時間方向における新たな冗長性が生まれる。非特許文献1に記載の技術は、このテンソルにテンソル分解を適用して、周期的なパターン(時間的な定常性を持つ挙動に対応したパターン)を検出する。加えて、非特許文献1に記載の技術は、時間的な定常性を持つ挙動から外れる挙動を、異常値として検出する。
【0014】
上記のような行列又はテンソルにおける計算は、計算量が多く、さらに、結果の値が一つの値に収束しない場合がある。そこで、計算量を軽くするため、及び、結果を収束させるために、制約が用いられる。このような計算における制約として、正則化が、広く用いられている。このような正則化としては、スパース(Sparse)正則化がある。スパース正則化とは、多くの変数において、その値を0とする制約である。
【0015】
非特許文献2は、スパース正則化の一種であるGroup Lasso正則化を開示している。Group Lasso正則化は、変数のグループに対して、そのグループに属する変数を同時に0につぶす、すなわち変数の値が疎になるように仕向ける作用を持つ正則化である。
【0016】
非特許文献3は、Group Lassoを用いて、主成分分析における所定数(k)の上位コンポーネント(上位kコンポーネント)を含む変数のグループを生成する。主成分分析では、コンポーネントは、上位になるほど、データの主要な成分を持つ。そのため、上記の変数のグループ(上位kコンポーネント)は、多くのデータが共通に持つ特徴を多く含んだ密なパターン、換言すると、多くのデータにおいて発現するパターンの推定となる。
【0017】
非特許文献4は、Group Lasso正則化を用いて、主成分分析で得られるパターンが異常値に頑健であるように仕向ける技術を開示している。
【先行技術文献】
【特許文献】
【0018】
【特許文献1】国際公開第2012/133185号
【特許文献2】特開2014-149840号公報
【特許文献3】特開2011-247696号公報
【非特許文献】
【0019】
【非特許文献1】Tsubasa Takahashi, Bryan Hooi, Christos Faloutsos, "AutoCyclone: Automatic Mining of Cyclic Online Activities with Robust Tensor Factorization", Proceedings of the 26th International Conference on World Wide Web, April 03-07, 2017, pp. 213-221
【非特許文献2】Ming Yuan, Yi Lin, "Model selection and estimation in regression with grouped variables", Journal of the Royal Statistical Society: Series B (Statistical Methodology), Volume 68, Issue 1, February 2006, pp.49-67
【非特許文献3】Ruoyi Jiang, Hongliang Fei, Jun Huan, "Anomaly localization for network data streams with graph joint sparse PCA", KDD '11 Proceeding of the 17th ACM SIGKDD international conference on Knowledge discovery and data mining, August 21-24, 2011, pp. 886-894
【非特許文献4】Gonzalo Mateos, Georgios B. Giannakis, "Robust PCA as Bilinear Decomposition With Outlier-Sparsity Regularization", IEEE Transactions on Signal Processing, Volume 60, Issue10, Oct. 2012, pp.5176-5190
【発明の概要】
【発明が解決しようとする課題】
【0020】
しかしながら、非特許文献1に記載の技術は、異常値に含まれるパターンを抽出することができない。
【0021】
また、非特許文献1に記載の技術は、入力データに時間方向の冗長性を持たせることで、周期的なパターンが抽出されやすいように工夫している。しかし、非特許文献1に記載の技術では、パターンを抽出するためのテンソル分解において、必ずしも、時間的な定常性を持つ挙動のパターンだけを抽出するように仕向けられた制約が加えられてはいない。そのため、非特許文献1に記載の技術では、ランダムな挙動であってもその頻度が高い場合、又は、ランダムな挙動に対応した観測値が大きい場合などでは、時間的な定常性を持つ挙動のパターンに、ランダムな挙動のパターンが混じってしまう可能性がある。
【0022】
また、非特許文献3に開示された上位kコンポーネントは、単にデータセット全体における特徴的なパターンが集められたグループである。上位kコンポーネントは、必ずしも、時間的な定常性を持つ挙動のパターンの推定となるわけではない。
【0023】
非特許文献2は、Group Lasso正則化を開示する文献であり、時間的な定常性を持つ挙動に対応したパターンとランダムな挙動とに対応したパターンとを区別する技術を開示していない。
【0024】
非特許文献4は、主成分分析で得られるパターンにおける異常値に対する頑健性を向上する技術を開示している。しかし、非特許文献4は、時間的な定常性を持つ挙動に対応したパターンとランダムな挙動とに対応したパターンとを区別する技術を開示していない。
【0025】
特許文献1ないし3は、上記の時間的な定常性を持つ挙動のパターンとランダムな挙動のパターンとを区別する技術を開示していない。
【0026】
このように、特許文献1ないし3、及び、非特許文献1ないし4は、時間的な定常性を持つ挙動に対応したパターンとランダムな挙動に対応したパターンとを抽出できないという問題点があった。
【0027】
本発明の目的は、上記問題点を解決し、時間的な定常性を持つ挙動に対応したパターンと、ランダムな挙動に対応したパターンとを抽出する情報処理装置などを提供することにある。
【課題を解決するための手段】
【0028】
本発明の一形態における情報処理装置は、監視対象設備の異常を検知するための情報として、ランダムパターンを検出する情報処理装置であって、監視対象設備での複数の時間における受信データに関する、時間、ソースIPアドレス、及びメッセージの種類に関する情報を含む観測値を第1のデータとして取得する取得手段と、第1のデータを時間において積層した第2のデータを構築し、第2のデータを基に第1のデータにおける時間的な定常性を持つ観測値の組合せである定常パターンを抽出する定常パターン抽出手段と、第1のデータと定常パターンとの時間における差分を生成する差分生成手段と、差分を基に時間的な定常性を持たない観測値の組合せであるランダムパターンを抽出するランダムパターン抽出手段と、を含む。
【0029】
本発明の一形態における情報処理方法は、監視対象設備の異常を検知するための情報として、ランダムパターンを検出する情報処理方法であって、監視対象設備での複数の時間における受信データに関する、時間、ソースIPアドレス、及びメッセージの種類に関する情報を含む観測値を第1のデータとして取得し、第1のデータを時間において積層した第2のデータを構築し、第2のデータを基に第1のデータにおける時間的な定常性を持つ観測値の組合せである定常パターンを抽出し、第1のデータと定常パターンとの時間における差分を生成し、差分を基に時間的な定常性を持たない観測値の組合せであるランダムパターンを抽出する。
【0030】
本発明の一形態におけるプログラムは、監視対象設備の異常を検知するための情報として、ランダムパターンを検出するプログラムであって、監視対象設備での複数の時間における受信データに関する、時間、ソースIPアドレス、及びメッセージの種類に関する情報を含む観測値を第1のデータとして取得する処理と、第1のデータを時間において積層した第2のデータを構築し、第2のデータを基に第1のデータにおける時間的な定常性を持つ観測値の組合せである定常パターンを抽出する処理と、第1のデータと定常パターンとの時間における差分を生成する処理と、差分を基に時間的な定常性を持たない観測値の組合せであるランダムパターンを抽出する処理と、をコンピュータに実行させる。
【発明の効果】
【0031】
本発明に基づけば、時間的な定常性を持つ挙動に対応したパターンとランダムな挙動に対応したパターンとを抽出できる。
【図面の簡単な説明】
【0032】
図1図1は、本発明における第1の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
図2図2は、第1の実施形態に係る情報処理装置の動作の一例を示すフローチャートである。
図3図3は、シーケンスデータの一例を示す図である。
図4図4は、サブデータの一例を示す図である。
図5図5は、構築されたテンソルの一例を示す図である。
図6図6は、テンソル分解に基づいて得られたパターンの一例を示す図である。
図7図7は、図6における定常パターンの一例を示す図である。
図8図8は、サブデータにおける個別差分を示す図である。
図9図9は、図8に示されている個別差分を行列化した差分を示す図である。
図10図10は、図9に示されている差分に対して行列分解を適用した結果の一例を示す図である。
図11図11は、ハードウェア構成の一例を示すブロック図である。
図12図12は、第1の実施形態に係る情報処理システムの構成の一例を示す図である。
【発明を実施するための形態】
【0033】
以下、図面を参照して、本発明における実施形態について説明する。
【0034】
各図面は、本発明の実施形態を説明するものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を省略する場合がある。また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。
【0035】
まず、本実施形態の説明における用語について整理する。
【0036】
「観測値」とは、監視対象における所定の挙動に対応した属性について観測された値である。観測値は、直接的に観測された値に限られず、間接的に観測された値(例えば、センサーが検出した値を変換した値、又は、複数の観測値を基に算出された値)でもよい。
【0037】
監視対象(以下、「ソース」と呼ぶ場合もある)は、1つに限られず、複数でもよい。また、各監視対象における観測対象の属性は、1つに限られず、複数でもよい。さらに、属性は、全ての監視対象において同じである必要はない。属性は、少なくとも一部の監視対象において異なっていてもよい。
【0038】
「タイムスタンプ」とは、観測値が観測された時間に関する情報である。つまり、タイムスタンプとは、観測における時間に関する情報である。タイムスタンプは、単一の時間ではなく、所定の幅を持った時間範囲でもよい。
【0039】
観測値とタイムスタンプは、関連付けられている。
【0040】
各実施形態における情報処理装置は、観測値とタイムスタンプとを含むデータを受信し、以下で説明する動作を実行する。ただし、このデータは、少なくとも複数のタイムスタンプにおけるデータを含む。つまり、このデータは、シーケンスデータ(時系列データ)である。さらに、このデータは、各タイムスタンプにおいて複数の観測値を含む。ここで、複数の観測値とは、少なくとも監視対象又は属性のいずれかが複数となっている観測値のことである。なお、このデータは、一部の観測値が欠損したデータでもよい。
【0041】
つまり、シーケンスデータは、複数の時間における複数の観測値を含むデータである。
【0042】
<第1の実施形態>
以下、図面を参照して、第1の実施形態について説明する。
【0043】
[構成の説明]
まず、第1の実施形態に係る情報処理装置100の構成について、図面を参照して説明する。
【0044】
図1は、本発明における第1の実施形態に係る情報処理装置100の構成の一例を示すブロック図である。図1に示されているように、情報処理装置100は、定常パターン抽出部102と、差分生成部104と、ランダムパターン抽出部106とを含む。
【0045】
定常パターン抽出部102は、シーケンスデータ(以下、「シーケンスデータX」、又は、単に「X」と示す場合もある)を取得する。
【0046】
定常パターン抽出部102におけるシーケンスデータXの取得元は、任意である。例えば、定常パターン抽出部102は、図示しない外部の装置からシーケンスデータXを受信してもよい。あるいは、定常パターン抽出部102は、図示しない記憶部から、シーケンスデータXを読み出してもよい。
【0047】
そして、定常パターン抽出部102は、シーケンスデータXを、シーケンスデータXにおけるタイムスタンプに基づいて複数のデータに分割する。以下、分割された各データを「サブデータ」と呼ぶ。
【0048】
そして、定常パターン抽出部102は、分割したサブデータを積層したデータ(以下、テンソルと呼ぶ)を構築する。
【0049】
このように、テンソルは、サブデータを積層して構築される。また、サブデータのオーダーは、シーケンスデータXのオーダーと同じである。そのため、構築されるテンソルのオーダーは、「シーケンスデータXのオーダー+1」となる。例えば、シーケンスデータXのオーダーがm次の場合、テンソルのオーダーは、m+1次となる。より具体的には、例えば、シーケンスデータXが行列の場合、mは「2」である。そのため、この場合、テンソルのオーダーは、「3=2+1」である。なお、このようなテンソルのデータ形式は、シーケンスデータが持っている時間的冗長性を、より明確に表現したデータ形式である。
【0050】
なお、シーケンスデータ及びテンソルは、同様の観測値を含むデータの集合である。そこで、以下、シーケンスデータを「第1のデータ」と、テンソルを「第2のデータ」と呼ぶ場合もある。
【0051】
定常パターン抽出部102は、このテンソルを対象として、時間的な定常性を持つ挙動のパターン(以下、「定常パターン(constant pattern)」と呼ぶ)を抽出する。以下の説明において、定常パターンを、「定常パターンP」、又は、単に「P」と示す場合もある。
【0052】
シーケンスデータXは、観測値の組合せの集合である。定常パターンPは、シーケンスデータXにおける時間的な定常性を持つパターンである。ここで、パターンとは、観測値の組合せである。つまり、定常パターンPとは、シーケンスデータXにおける時間的な定常性を持つ観測値の組合せである。
【0053】
具体的には、定常パターン抽出部102は、定常パターンPの抽出において、時間的な定常性を備えているデータに対応したパターンが抽出されるように制約を付したテンソル因子分解(tensor factorization)を用いる。
【0054】
そして、定常パターン抽出部102は、定常パターンPを差分生成部104に送信する。
【0055】
定常パターン抽出部102は、抽出した定常パターンPを図示しない外部の装置に出力してもよい。あるいは、定常パターン抽出部102は、抽出した定常パターンPを図示しない情報処理装置100の内部の処理部に送信してもよい。あるいは、定常パターン抽出部102は、抽出した定常パターンPを図示しない記憶部に保存してもよい。
【0056】
差分生成部104は、シーケンスデータXから定常パターンPに対応する部分を取り除いた差分Δを抽出する。本実施形態の説明では、差分生成部104は、差分Δを、シーケンスデータXと同じ形式を用いて、抽出する。例えば、シーケンスデータXがm次のオーダーのテンソルの場合、差分Δはm次のオーダーのテンソルである。あるいは、シーケンスデータXが行列の場合、差分Δは行列である。ただし、差分生成部104は、他の形式を用いてもよい。
【0057】
差分生成部104は、差分Δをランダムパターン抽出部106に送信する。
【0058】
なお、差分生成部104は、定常パターン抽出部102と同様にシーケンスデータXを取得してもよい。あるいは、差分生成部104は、定常パターンPと同様に、定常パターン抽出部102からシーケンスデータXを受信してもよい。
【0059】
ランダムパターン抽出部106は、差分Δを基に時間的な定常性を持たない観測値の組合せであるランダムパターン(random pattern)を抽出する。以下、ランダムパターンを、「ランダムパターンZ」、又は、単に「Z」と示す場合もある。
【0060】
ランダムパターン抽出部106は、抽出したランダムパターンZを図示しない外部の装置に出力してもよい。あるいは、ランダムパターン抽出部106は、抽出したランダムパターンZを図示しない情報処理装置100の内部の処理部に送信してもよい。あるいは、ランダムパターン抽出部106は、抽出したランダムパターンZを図示しない記憶部に保存してもよい。
【0061】
次に、図面を参照して、情報処理装置100の動作について説明する。
【0062】
図2は、第1の実施形態に係る情報処理装置100の動作の一例を示すフローチャートである。
【0063】
まず、定常パターン抽出部102は、シーケンスデータXを基に、テンソルを構築する(ステップS11)。詳細には、まず、定常パターン抽出部102は、シーケンスデータXにおけるタイムスタンプに基づいて、シーケンスデータXをサブデータに分割する。そして、定常パターン抽出部102は、分割したサブデータを積層して、テンソルを構築する。
【0064】
図3は、シーケンスデータXの一例を示す図である。図3に示されているシーケンスデータXは、(src,day,msg)から構成されるタプル(tuple)から成る。なお、タプルとは、複数の構成要素(図3では、src、day、msg)からなる組の総称である。
【0065】
図3において、srcは、監視対象、つまり、データの情報源(source)に関する情報である。例えば、srcは、ソースのアドレスである。例えば、シーケンスデータXがコンピュータ・ネットワークのログの場合、ソースのアドレスは、ソースのIP(Internet Protocol)アドレスである。
【0066】
dayは、時間に関する情報、つまりタイムスタンプである。dayは、例えば、日付及び/又は時間である。
【0067】
msgは、シーケンスデータXにおける属性の種類を示す情報である。例えば、msgは、所定のメッセージの種類(例えば、障害内容)の区別を示す情報である。
【0068】
図3の場合、各セルは、それぞれのメッセージを何度受け取ったかを示している。例えば、図3の最も左の最上位のセルは、ソースsrc1が、タイムスタンプday1に受け取ったmsg1の回数である。
【0069】
図3において、横線を付したセル及び網掛けを付したセルは、0でない値が入っていることを示している。ただし、図3において、回数は省略している。
【0070】
さらに、図3において、横線を付したセルは、時間的な定常性を持つ挙動に対応したパターン(定常パターンP)を構成するセルである。網掛けを付したセルは、ランダムな挙動に対応したパターン(ランダムパターンZ)を構成するセルである。
【0071】
ただし、第1の実施形態において、各セルは、事前に、定常パターンPとランダムパターンZとして把握されている必要はない。図3における区別は、以降の説明の分かりやすくするためである。また、以降の説明において、説明を分かりやすくするため、行列分解及びテンソル分解で生じる誤差等は、省略している。
【0072】
なお、図3において、ソース及び属性は、1次元のデータとして示されている。ただし、これは説明の便宜のためである。本実施形態の具体的な処理においては、ソース及び/又は属性は、多次元のデータでもよい。
【0073】
定常パターン抽出部102は、図3のシーケンスデータXを、時間情報day(タイムスタンプ)に基づいて、サブデータに分割する。
【0074】
図4は、サブデータの一例を示す図である。図4に示されているように、サブデータは、時間情報day(タイムスタンプ)に関して分割されている。
【0075】
さらに定常パターン抽出部102は、図4に示されているサブデータを、時間方向に積層することで、テンソルを構築する。
【0076】
図5は、構築されたテンソルの一例を示す図である。
【0077】
定常パターン抽出部102は、テンソルを基に、定常パターンPを抽出する(ステップS13)。詳細には、定常パターン抽出部102は、対象となるテンソルに対して、時間的な定常性を持つ挙動のパターンが抽出されるように制約を付したテンソル因子分解を用いる。
【0078】
図6は、テンソル因子分解に基づいて得られたパターンの一例を示す図である。図6は、定常パターンPを左側に、ランダムパターンZを右側に示している。
【0079】
図6は、パターンを分かりやすくするため、パターンをテンソルの各軸のグループに分けて示している。例えば、左端のパターンは、横方向のセルの集合であるmsg軸のデータと、縦方向のセルの集合であるsrc軸のデータと、斜めのセルの集合がday軸(タイムスタンプ、つまり時間軸)のデータとを含む。図6に示されているように、定常パターンPは、時間軸(斜めのセル)が密(データがある、又は、ほぼ全体にある状態)となっている。一方、ランダムパターンは、時間軸(斜めのセル)が疎(データがない、又は、ほとんどない状態)となっている。
【0080】
図6に示されている定常パターンPを得るためのテンソル因子分解の具体例を説明する。
【0081】
定常パターン抽出部102は、時間的な定常性を持つ挙動のパターンを抽出するため、制約としてスパース正則化を適用したテンソル因子分解を用いる。より具体的には、定常パターン抽出部102は、スパース正則化として、Group Lasso正則化を、テンソルのday軸(時間軸)に対して付加する。
【0082】
Group Lasso正則化は、スパース正則化の一種であり、グループとして設定した変数の組を同時に0につぶす効果を持つ。この効果(変数の組を同時に0につぶす効果)は、組となっている変数が同程度に小さい値を持つときに生じる。換言すると、定常的な値の出現がグループとして設定した変数の組に所定回数以上ある場合、Group Lasso正則化において、そのグループの少なくとも一部の変数は、0につぶれない。また、定常性が高く常に値が出現する変数の組は、全てにおいて0につぶれない。
【0083】
定常パターン抽出部102は、このようなGroup Lasso正則化をテンソル因子分解に付与することで、定常パターンPのグループと、ランダムパターンZのグループとに対して異なる効果を実現できる。具体的には、定常パターン抽出部102は、Group Lasso正則化を用いて、ランダムパターンZのグループの変数及びランダムに発生するノイズを0につぶす。すなわち、定常パターン抽出部102は、Group Lasso正則化を用いて、ランダムパターンZがパターンとして検出されないようにする。このとき、定常パターンPにおいても、多くの変数は、0につぶれる。しかし、定常パターンPにおいて、少なくとも一部の変数は、0につぶれない。
【0084】
定常パターン抽出部102は、定常パターンPとして、常に0でない変数(非ゼロ変数)のパターンを抽出すればよい。ただし、定常パターン抽出部102が抽出するパターンは、上記に限定されない。例えば、定常パターン抽出部102は、定常パターンPとして、非ゼロ変数の出現回数、又は、非ゼロ変数の比率が所定の閾値より多いパターンを抽出してもよい。得られるパターンは、時間的な定常性を持つ挙動のパターン(定常パターンP)となる。
【0085】
図7は、図6における定常パターンPの一例を示す図である。
【0086】
Group Lasso正則化を用いた方法として、Soft-thresholdingが知られている。Soft-thresholdingを用いる場合、変数のグループgに属する値vのGroup Lasso正則化を用いたスパースとなる推定値(v)は、以下の数式1を用いて導出される。
[数式1]
【0087】
ここで、「(・)」は、「max(・,0)」である。つまり、「(・)」は、括弧内の値が正の場合、括弧内の値であり、括弧内の値が負の値の場合、0である。また、||・||は、L2ノルムである。λは、正則化の効果を決定するパラメータであり、予め設定されている値である。つまり、グループgのL2ノルムが所定の値より小さい場合、推定値(V)は、0となる。
【0088】
続いて、差分生成部104が、サブデータと定常パターンPとの差分(以下、「個別差分Δ」と呼ぶ)を抽出する(ステップS15)。サブデータは、時間的に分割されたデータである。そのため、個別差分Δは、時間的に分割された差分である。
【0089】
図8は、サブデータにおける個別差分Δの一例を示す図である。
【0090】
続いて、差分生成部104は、個別差分Δに対して所定の処理を施して、シーケンスデータXと同じ形式(テンソルの形式)のデータである差分Δを生成する(ステップS17)。なお、シーケンスデータXが、図3に示すような行列の場合、この処理は、一般的に行列化(Matricization)と呼ばれる処理となる。差分Δは、シーケンスデータXと定常パターンPとの時間における差分である。
【0091】
図9は、図8に示されている個別差分Δを行列化した差分Δを示す図である。
【0092】
そして、ランダムパターン抽出部106が、差分Δを基にランダムパターンZを抽出する(ステップS19)。ランダムパターン抽出部106が用いる手法は、任意である。例えば、ランダムパターン抽出部106は、差分Δに対して、スパースとなる推定値を用いた行列分解、頻出アイテム集合抽出、又はクラスタリングなどの分析手法を用いて、ランダムパターンZを抽出する。ここで、行列分解は、例えば、特異値分解又は非負値行列分解(Non-negative Matrix Factorizaton)などである。
【0093】
図10は、図9に示されている差分Δに対してスパースとなる推定値を用いた行列分解を適用した結果の一例を示す図である。ランダムパターン抽出部106は、差分Δを、二つの行列(UとV)に分割する。
【0094】
図10において、行列Vは、ランダムパターンZの集合(PR1ないしPR4)である。行列Vの各行が、ランダムパターンZである。以下、各ランダムパターンZを区別して説明する必要がない場合、ランダムパターンZが複数(集合となる)場合を含めてランダムパターンZと呼ぶ。
【0095】
また、行列Uは、ランダムパターンZの発現位置(図10ではsrc1ないし5)、時間(図10ではday1ないし5)、及び発現するランダムパターンZ(図10ではPR1ないし4)を示す。具体的には、行列Uの縦線を付したセルにおいて、ランダムパターンZが発現する。以下の説明では、行列Uを「発現情報」とも呼ぶ。
【0096】
例えば、行列Uの3行目の発現情報は、ソースsrc3の時間day1において、3番目のランダムパターンZ(PR3)が発現したことを示す。
【0097】
なお、図10において、rは、抽出されたランダムパターンZの数である。rは、データの属性数(例えば、図3の列数)及びテンソルのランク(階数)に依存する。図9に示されている差分Δは、属性として4つのmsgを持つ。そのため、ランダムパターンZの数(r)の最大は、「4」である。図10は、rの最大数までランダムパターンZを抽出した例を示している。ただし、rの値は、最大数に限られない。rの値は、予め、1以上最大数以下の任意の数が設定されていればよい。
【0098】
なお、定常パターン抽出部102は、定常パターンPを抽出する。そのため、定常パターン抽出部102の対象となるデータ(今の場合、シーケンスデータX)は、時間的な冗長性を持っている必要がある。
【0099】
これに対し、ランダムパターン抽出部106は、ランダムパターンZ(時間的な定常性を持たないデータに対応するパターン)を抽出する。そのため、ランダムパターン抽出部106の対象となるデータは、必ずしも時間的な冗長性を持っている必要はない。時間的な定常性を持たない挙動は、発現頻度が低く、発現位置も不規則になる場合が多い。そのため、ランダムパターン抽出部106の対象となるデータは、多くのタプルを含むデータであることが望ましい。そのため、ランダムパターン抽出部106は、差分Δに加え、他のデータを用いてもよい。
【0100】
[効果の説明]
このように、第1の実施形態に係る情報処理装置100は、時間的な定常性を持つ挙動に対応したパターンと、ランダムな挙動に対応したパターンとを抽出するとの効果を得ることができる。
【0101】
その理由は、次のとおりである。
【0102】
定常パターン抽出部102が、複数の時間における複数の観測値を含むシーケンスデータX(第1のデータ)を基にシーケンスデータX(第1のデータ)を時間において積層したテンソル(第2のデータ)を構築する。そして、定常パターン抽出部102が、テンソル(第2のデータ)を基にシーケンスデータX(第1のデータ)における時間的な定常性を持つ観測値の組合せである定常パターンPを抽出する。そして、差分生成部104が、シーケンスデータX(第1のデータ)と定常パターンPとの時間における差分Δを生成する。そして、ランダムパターン抽出部106が、差分Δを基に時間的な定常性を持たない観測値の組合せであるランダムパターンZを抽出する。
【0103】
このように、情報処理装置100において、まず、定常パターン抽出部102が、複数の時間における複数の観測値を含むシーケンスデータXを時間において積層したテンソルを構築する。そのため、構築されたテンソルにおいて、時間的な冗長性が、明確となっている。そして、定常パターン抽出部102は、テンソルを基に定常パターンPを抽出する。つまり、定常パターン抽出部102は、時間的な冗長性を明確となったテンソルを用いて定常パターンPを抽出するため、時間的な定常性を持つ挙動に対応した定常パターンPを抽出することができる。
【0104】
そして、差分生成部104が、シーケンスデータXと定常パターンPとの時間的な差として差分Δを生成する。定常パターンPは、時間的な冗長性を用いて抽出されている。そのため、差分Δは、時間的な冗長性を考慮した結果として、時間的な定常性を持たないデータとなる。
【0105】
そして、ランダムパターン抽出部106が、差分Δを用いて時間的な定常性を持たないランダムパターンZを抽出する。差分Δは、時間的な冗長性を考慮して生成されたデータである。そのため、ランダムパターン抽出部106は、時間的な冗長性を考慮した結果として、時間的な定常性を持たない挙動に対応したランダムパターンZを抽出することができる。
【0106】
このように、情報処理装置100は、時間的な定常性を持つ挙動に対応した定常パターンPと、ランダムな挙動に対応したランダムパターンZとを抽出できる。
【0107】
[ハードウェアの構成]
以上の説明した情報処理装置100は、次のように構成される。例えば、情報処理装置100の各構成部は、ハードウェア回路で構成されてもよい。あるいは、情報処理装置100において、各構成部は、ネットワークを介して接続した複数の装置を用いて構成されてもよい。あるいは、情報処理装置100は、複数の構成部を1つのハードウェアで構成されてもよい。
【0108】
あるいは、情報処理装置100は、CPU(Central Processing Unit)と、ROM(Read Only Memory)と、RAM(Random Access Memory)とを含むコンピュータ装置として実現されてもよい。情報処理装置100は、上記構成に加え、さらに、入出力接続回路(IOC:Input and Output Circuit)を含むコンピュータ装置として実現されてもよい。あるいは、情報処理装置100は、上記構成に加え、さらに、ネットワークインターフェース回路(NIC:Network Interface Circuit)を含むコンピュータ装置として実現されてもよい。
【0109】
図11は、情報処理装置100のハードウェアの構成の一例を示す情報処理装置600の構成を示すブロック図である。
【0110】
情報処理装置600は、CPU610と、ROM620と、RAM630と、内部記憶装置640と、IOC650と、NIC680とを含み、コンピュータ装置を構成している。
【0111】
CPU610は、ROM620からプログラムを読み込む。そして、CPU610は、読み込んだプログラムに基づいて、RAM630と、内部記憶装置640と、IOC650と、NIC680とを制御する。そして、CPU610を含むコンピュータ装置は、これらの構成を制御し、図1に示されている、定常パターン抽出部102と、差分生成部104と、ランダムパターン抽出部106としての各機能を実現する。
【0112】
CPU610は、各機能を実現する際に、RAM630及び/又は内部記憶装置640を、プログラムの一時記憶として使用してもよい。
【0113】
また、CPU610は、コンピュータで読み取り可能にプログラムを記憶した記録媒体700が含むプログラムを、図示しない記録媒体読み取り装置を用いて読み込んでもよい。あるいは、CPU610は、NIC680を介して、図示しない外部の装置からプログラムを受け取り、RAM630に保存して、保存したプログラムを基に動作してもよい。
【0114】
ROM620は、CPU610が実行するプログラム及び固定的なデータを記憶する。ROM620は、例えば、P-ROM(Programmable-ROM)又はフラッシュROMである。
【0115】
RAM630は、CPU610が実行するプログラムと、データ(例えば、前述した図4ないし図10に示されているパターンのデータ及び他の作業用のデータ)とを一時的に記憶する。RAM630は、例えば、D-RAM(Dynamic-RAM)である。
【0116】
内部記憶装置640は、情報処理装置600が長期的に保存するデータ及びプログラムを記憶する。また、内部記憶装置640は、CPU610の一時記憶装置として動作してもよい。内部記憶装置640は、例えば、ハードディスク装置、光磁気ディスク装置、SSD(Solid State Drive)又はディスクアレイ装置である。
【0117】
ここで、ROM620と内部記憶装置640は、不揮発性(non-transitory)の記録媒体である。一方、RAM630は、揮発性(transitory)の記録媒体である。そして、CPU610は、ROM620、内部記憶装置640、又は、RAM630に記憶されているプログラムを基に動作可能である。つまり、CPU610は、不揮発性記録媒体及び/又は揮発性記録媒体を用いて動作可能である。
【0118】
IOC650は、CPU610と、入力機器660及び表示機器670とのデータを仲介する。IOC650は、例えば、IOインターフェースカード又はUSB(Universal Serial Bus)カードである。さらに、IOC650は、USBのような有線に限らず、無線を用いてもよい。
【0119】
入力機器660は、情報処理装置600の操作者からの入力指示を受け取る機器である。入力機器660は、例えば、キーボード、マウス又はタッチパネルである。
【0120】
表示機器670は、情報処理装置600の操作者に情報を表示する機器である。表示機器670は、例えば、液晶ディスプレイである。表示機器670は、定常パターンP及び/又はランダムパターンZを表示してもよい。
【0121】
NIC680は、ネットワークを介した図示しない外部の装置とのデータのやり取りを中継する。NIC680は、例えば、LAN(Local Area Network)カードである。さらに、NIC680は、有線に限らず、無線を用いてもよい。NIC680は、定常パターン抽出部102の一部として、シーケンスデータXを受信してもよい。あるいは、NIC680は、定常パターン抽出部102及び/又はランダムパターン抽出部106の一部として、定常パターンP及び/又はランダムパターンZを出力してもよい。
【0122】
このように構成された情報処理装置600は、情報処理装置100と同様の効果を得ることができる。
【0123】
その理由は、情報処理装置600のCPU610が、プログラムに基づいて情報処理装置100と同様の機能を実現できるためである。
【0124】
[システムの説明]
次に、図面を参照して、本実施形態の情報処理装置100を含む情報処理システム10について、説明する。
【0125】
図12は、第1の実施形態に係る情報処理システム10の構成の一例を示す図である。情報処理システム10は、第1の実施形態に係る情報処理装置100と、監視対象200と、表示装置300とを含む。
【0126】
監視対象200は、情報処理装置100が処理対象であるシーケンスデータXの提供元である。監視対象200は、任意である。例えば、監視対象200は、所定の工場でもよい。この場合、シーケンスデータXは、観測値として、工場内の各設備における属性(温度、圧力、流量、又は、振動など)を含む。あるいは、監視対象200は、複数のコンピュータを含むコンピュータ・ネットワークである。この場合、シーケンスデータXは、例えば、観測値として、ネットワークにおいて送信及び受信されるデータ(例えば、パケット)及びコンピュータの状態を含むログである。図12は、これらの場合を例示している。
【0127】
情報処理装置100は、監視対象200からシーケンスデータXを取得する。そして、情報処理装置100は、上記の動作を基に、ランダムパターンZを抽出する。そして、情報処理装置100は、ランダムパターンZを表示装置300に送信する。
【0128】
表示装置300は、受信したランダムパターンZを表示する。その結果、情報処理システム10の利用者は、時間的な定常性を持たない観測値のパターン(ランダムパターンZ)を把握することができる。
【0129】
なお、情報処理装置100は、表示装置300に、他の情報、例えば、発現位置情報、定常パターンP、及び/又は、シーケンスデータXを送信してもよい。この場合、表示装置300は、ランダムパターンZに加え、発現情報、定常パターンP、及び/又は、シーケンスデータXを表示する。
【0130】
例えば、表示装置300がランダムパターンZと定常パターンPとを表示した場合、情報処理システム10の利用者は、定常パターンPとの比較を基に、ランダムパターンZをより適切に把握することができる。
【0131】
あるいは、例えば、表示装置300がランダムパターンZと発現情報とを表示した場合、情報処理システム10の利用者は、ランダムパターンZに加え、ランダムパターンZの発現位置及び時間、並びに、ランダムパターンZの種別を把握することができる。
【0132】
なお、表示装置300は、情報処理装置100の外部の装置に限られず、情報処理装置100に含まれていてもよい。
【0133】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0134】
10 情報処理システム
100 情報処理装置
102 定常パターン抽出部
104 差分生成部
106 ランダムパターン抽出部
200 監視対象
300 表示装置
600 情報処理装置
610 CPU
620 ROM
630 RAM
640 内部記憶装置
650 IOC
660 入力機器
670 表示機器
680 NIC
700 記録媒体
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12