WO2018186314A1 - 分析装置、分析方法及び分析プログラム - Google Patents

分析装置、分析方法及び分析プログラム Download PDF

Info

Publication number
WO2018186314A1
WO2018186314A1 PCT/JP2018/013937 JP2018013937W WO2018186314A1 WO 2018186314 A1 WO2018186314 A1 WO 2018186314A1 JP 2018013937 W JP2018013937 W JP 2018013937W WO 2018186314 A1 WO2018186314 A1 WO 2018186314A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
pattern
log
importance
value
Prior art date
Application number
PCT/JP2018/013937
Other languages
English (en)
French (fr)
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 日本電信電話株式会社
Priority to JP2019511214A priority Critical patent/JP6714152B2/ja
Priority to EP18781016.3A priority patent/EP3591532B1/en
Priority to US16/499,870 priority patent/US11398083B2/en
Publication of WO2018186314A1 publication Critical patent/WO2018186314A1/ja
Priority to US17/846,015 priority patent/US20220327800A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/048Fuzzy inferencing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Multimedia (AREA)

Abstract

分類部(151)は、テキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する。作成部(152)は、メッセージに付された発生日時に基づいて、所定の時間幅ごとのメッセージのテキストログにおける出現状況を、IDごとに表した行列を作成する。パターン抽出部(153)は、作成部(152)によって作成された行列から、IDの組み合わせであるパターンを複数抽出する。除去部(154)は、行列からパターンの一部又は全部を除去する。判定部(155)は、複数のパターンそれぞれに含まれる要素それぞれについて重要度を計算し、重要度が所定の閾値以上であるか否かを判定する。シーケンス抽出部(157)は、判定部(155)によって、重要度が所定の閾値以上であると判定されたIDのシーケンスから、特定のシーケンスを抽出する。

Description

分析装置、分析方法及び分析プログラム
 本発明は、分析装置、分析方法及び分析プログラムに関する。
 従来、サーバシステムやネットワークシステムにおける異常検知や状態分析のために、syslogやMIB(Management Information Base)情報等のテキストログを用いたシステムの監視が行われている。例えば、システムに障害が発生した際に、人手によって特定のキーワードでテキストログを検索し、当該キーワードを含んだメッセージをクリティカルなメッセージとして抽出することが行われている。
山西健司、「データマイニングによる異常検知」、2009年、共立出版 澤田 宏、「非負値行列因子分解NMFの基礎とデータ/信号解析への応用」、電子情報通信学会誌Vol.95 No.9、pp.829-833、2012年9月 Tatsuaki Kimura, et al. "Spatio-temporal factorization of log data for understanding network events." IEEE INFOCOM 2014-IEEE Conference on Computer Communications. IEEE, 2014.
 しかしながら、従来のテキストログを用いたシステムの監視には、大量のテキストログを効率的に分析し、有用な情報を得ることが困難であるという問題があった。例えば、システム構成の大規模化や複雑化に伴いテキストログの種類及び量が膨大になった場合、人手によって効率的な分析を行うことは困難である。また、特定のキーワードで検索することでクリティカルなメッセージを抽出する場合、抽出されなかったメッセージに含まれる有用な情報が見過ごされることがある。
 本発明の分析装置は、システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する分類部と、前記メッセージに付された発生日時に基づいて、所定の時間幅ごとの前記メッセージの前記テキストログにおける出現状況を、前記IDごとに表した行列を作成する作成部と、前記作成部によって作成された行列から、前記IDの組み合わせであるパターンを複数抽出するパターン抽出部と、前記行列から前記パターンの一部又は全部を除去する除去部と、前記複数のパターンそれぞれに含まれる要素それぞれについて重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定する判定部と、前記テキストログから、前記判定部によって前記重要度が前記所定の閾値以上であると判定された要素に関する所定の情報を抽出する情報抽出部と、を有することを特徴とする。
 本発明の分析方法は、分析装置で実行される分析方法であって、システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する分類工程と、前記メッセージに付された発生日時に基づいて、所定の時間幅ごとの前記メッセージの前記テキストログにおける出現状況を、前記IDごとに表した行列を作成する作成工程と、前記作成工程によって作成された行列から、前記IDの組み合わせであるパターンを複数抽出するパターン抽出工程と、前記行列から前記パターンの一部又は全部を除去する除去工程と、前記複数のパターンそれぞれに含まれる要素それぞれについて重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定する判定工程と、前記テキストログから、前記判定工程によって前記重要度が前記所定の閾値以上であると判定された要素に関する所定の情報を抽出する情報抽出工程と、を含んだことを特徴とする。
 本発明によれば、大量のテキストログを効率的に分析し、有用な情報を得ることができる。
図1は、第1の実施形態に係る分析装置の構成の一例を示す図である。 図2は、第1の実施形態に係るテキストログの一例を示す図である。 図3は、第1の実施形態に係る辞書情報のデータ構成の一例を示す図である。 図4は、第1の実施形態に係るテンプレートの作成について説明するための図である。 図5は、第1の実施形態に係る分類済みテキストログの一例を示す図である。 図6は、第1の実施形態に係るログ行列の一例を示す図である。 図7は、第1の実施形態に係る1ヶ月分のテキストログを、1時間の時間幅のログ行列として可視化した画像の一例を示す図である。 図8は、第1の実施形態に係るログ行列の分解について説明するための図である。 図9は、第1の実施形態に係る基底行列を可視化した画像の一例を示す図である。 図10は、第1の実施形態に係る重み行列を可視化した画像の一例を示す図である。 図11は、第1の実施形態に係る高頻度パターンの除去について説明するための図である。 図12は、第1の実施形態に係る高頻度パターンの除去について説明するための図である。 図13は、第1の実施形態に係る高頻度パターンを除去した後の基底行列を可視化した画像の一例を示す図である。 図14は、第1の実施形態に係る高頻度パターンを除去した後の重み行列を可視化した画像の一例を示す図である。 図15は、第1の実施形態に係るテキストログのプロファイリングについて説明するための図である。 図16は、第1の実施形態に係るシーケンスの抽出について説明するための図である。 図17は、実施形態に係る分析装置の処理の流れを示すフローチャートである。 図18は、その他の実施形態に係る辞書情報のデータ構成の一例を示す図である。 図19は、プログラムが実行されることにより分析装置が実現されるコンピュータの一例を示す図である。
 以下に、本願に係る分析装置、分析方法及び分析プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
[第1の実施形態の構成]
 まず、図1を用いて、第1の実施形態に係る分析装置の構成について説明する。図1は、第1の実施形態に係る分析装置の構成の一例を示す図である。図1に示すように、分析装置10は、通信部11、入力部12、出力部13、記憶部14及び制御部15を有する。
 通信部11は、ネットワークを介して、他の装置との間でデータ通信を行う。例えば、通信部11はNIC(Network Interface Card)である。入力部12は、ユーザからのデータの入力を受け付ける。入力部12は、例えば、マウスやキーボード等の入力装置である。出力部13は、画面の表示等により、データを出力する。出力部13は、例えば、ディスプレイ等の表示装置である。
 記憶部14は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部14は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部14は、分析装置10で実行されるOS(Operating System)や各種プログラムを記憶する。さらに、記憶部14は、プログラムの実行で用いられる各種情報を記憶する。また、記憶部14は、出力ログ情報141及び辞書情報142を記憶する。
 記憶部14は、システムから出力されたテキストログを出力ログ情報141として記憶する。ここで、テキストログは、例えば、計算機システムを構成するサーバマシン、パーソナルコンピュータ、ストレージ等から出力される。また、テキストログは、例えば、ネットワークシステムを構成するルータ、ファイアウォール、ロードバランサ、光伝送装置、光伝送中継器等から出力される。また、出力されるテキストログは、システム全体に関するものであってもよいし、システムを構成する装置に関するものであってもよい。さらに、テキストログは、計算機システムやネットワークシステムが仮想化された環境において出力されたものであってもよい。
 また、テキストログは、プラントや発電機、工作機械から出力されたものであってもよい。また、テキストログは、乗用車、飛行機、電車等の乗用機器から出力されたものであってもよい。また、テキストログは、家電、携帯電話、スマートフォン等の小型電子機器から出力されたものであってもよい。また、テキストログは、人間や動物等の生体及び当該生体の生体情報を測定するセンサ機器から出力されたものであってもよい。
 テキストログは、例えば、OSのシスログ、アプリケーション及びデータベースの実行ログ、エラーログ、操作ログ、ネットワーク機器から得られるMIB情報、監視システムのアラート、行動ログ、動作状態ログ等である。
 図2は、第1の実施形態に係るテキストログの一例を示す図である。図2に示すように、テキストログ51の各レコードは、メッセージとメッセージに付された発生日時とを含む。例えば、テキストログ51の1行目のレコードは、メッセージ「LINK-UP Gigabitethernet 0/0/0」と、発生日時「2016/12/01T15:01:31」とを含む。なお、メッセージには、ホストやログレベルといった付加情報を含んでも構わない。
 記憶部14は、テキストログのメッセージを分類するためのデータを辞書情報142として記憶する。図3は、第1の実施形態に係る辞書情報のデータ構成の一例を示す図である。図3に示すように、辞書情報142は、ID及びテンプレートを含む。IDは、テキストログのメッセージが分類される種別を識別するための情報である。テンプレートは、テキストログのメッセージの分類に用いられる文字列である。例えば、IDが「601」である種別にメッセージが分類されるか否かは、テンプレート「LINK-UP Interface *」を用いて判定される。なお、辞書情報142を用いたメッセージの分類は分類部151によって行われる。分類部151の具体的な処理については後述する。
 制御部15は、分析装置10全体を制御する。制御部15は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部15は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部15は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部15は、分類部151、作成部152、パターン抽出部153、除去部154、判定部155、有意ログ抽出部156及びシーケンス抽出部157を有する。
 分類部151は、システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する。これ以降、分類した各メッセージをテンプレートと表記する。前述の通り、分類部151は、辞書情報142を用いて分類を行う。
 ここで、辞書情報142は、分類部151によって作成されてもよい。例えば、分類部151は、メッセージからパラメータを削除することで得られる文字列を基にテンプレートを作成することができる。ここで、図4を用いて、テキストログに基づいたテンプレートの作成方法について説明する。図4は、第1の実施形態に係るテンプレートの作成について説明するための図である。
 図4に示すように、分類部151は、例えば、「数値/数値/数値」と表される文字列をパラメータとみなし、メッセージからパラメータを削除した文字列をテンプレートとすることができる。この場合、分類部151は、図2のテキストログ51に含まれるメッセージ「LINK-UP Interface 1/0/17」、又はメッセージ「LINK-UP Interface 0/0/0」から、「LINK-UP Interface」というテンプレートを作成する。さらに、分類部151は、作成したテンプレートにIDを設定し、記憶部14の辞書情報142に追加する。このとき、分類部151は、パラメータを削除した部分に「*」等のワイルドカードを追加してもよい。
 なお、分類部151がパラメータとみなす文字列は上記の例に限られない。分類部151は、例えば、全ての数値をパラメータとみなしてもよいし、アドレスを表す文字列をパラメータとみなしてもよい。また、分類部151は、メッセージの分類を行う際に、いずれのテンプレートにも一致しないメッセージが見つかった場合、当該メッセージを基に新たなテンプレートを作成してもよい。
 また、本実施形態において、辞書情報142のテンプレートは、分類部151によって作成されたものである必要はなく、あらかじめユーザにより作成されたものや、分析装置10以外の装置によって自動的に作成されたものであってもよい。
 分類部151は、辞書情報142のテンプレートがテキストログのメッセージに一致するか否かを判定することにより、メッセージの分類を行う。このとき、分類部151は、テンプレートがメッセージに完全一致する場合、又は、部分一致する場合に、テンプレートがメッセージに一致すると判定する。そして、分類部151は、メッセージに対し、一致すると判定されたテンプレートのIDを付与する。
 例えば、図3のIDが「602」であるテンプレート「LINK-UP Gigabitethernet *」が、図2のテキストログ51の1行目のメッセージ「LINK-UP Gigabitethernet 0/0/0」に部分一致するため、分類部151はテンプレート「LINK-UP Gigabitethernet *」がメッセージ「LINK-UP Gigabitethernet 0/0/0」に一致すると判定し、メッセージ「LINK-UP Gigabitethernet 0/0/0」にID「602」を付与する。
 また、例えば、図3のIDが「701」であるテンプレート「network_monitor:[INFO]:network monitor detection started.」が、図2のテキストログ51の2行目のメッセージ「network_monitor:[INFO]:network monitor detection started.」に完全一致するため、分類部151はテンプレート「network_monitor:[INFO]:network monitor detection started.」がメッセージ「network_monitor:[INFO]:network monitor detection started.」に一致すると判定し、メッセージ「network_monitor:[INFO]:network monitor detection started.」にID「701」を付与する。
 テンプレートの作成やメッセージとの一致の判定は、上記の方法に限定するものではなく、クラスタリング等の機械学習アルゴリズムによって行われてもよい。例えば、上記の判定は、ログのクラスタリングに関する既知の手法(参考文献1:特開2015-36891号公報)によって行われてもよい。
 分類部151は、メッセージの分類及びIDの付与を行うことで、分類済みテキストログ52を作成する。図5は、第1の実施形態に係る分類済みテキストログの一例を示す図である。図5に示すように、分類済みテキストログ52の各レコードは、メッセージのID及び発生日時を含む。例えば、分類済みテキストログ52の1行目のレコードは、メッセージ「LINK-UP Gigabitethernet 0/0/0」に付与されたID「602」と、発生日時「2016/12/01T15:01:31」とを含む。また、例えば、分類済みテキストログ52の2行目のレコードは、メッセージ「network_monitor:[INFO]:network monitor detection started.」に付与されたID「701」と、発生日時「2016/12/01T15:01:53」とを含む。
 また、図2の1行目のメッセージ「LINK-UP Gigabitethernet 0/0/0」と、4行目のメッセージ「LINK-UP Gigabitethernet 0/2/5」とは互いに異なるが、いずれもテンプレート「LINK-UP Gigabitethernet *」と一致するため、分類部151は、両方のメッセージにID「602」を付与する。
 作成部152は、メッセージに付された発生日時に基づいて、所定の時間幅ごとのテキストログ51におけるメッセージの出現状況を、IDごとに表した行列であるログ行列を作成する。出現状況は、具体的にはIDごとの出現頻度や、出現頻度の対数を取る等の加工をした値、又は出現有無(出現時に1、非出現時に0を取る値)等が考えられるが、この例に限定されるものではない。以下の実施例では、出現状況として出現頻度を用いた例を示す。作成部152は、ログ行列の作成に用いるメッセージの発生日時及びIDを、分類済みテキストログ52から取得する。
 図6は、第1の実施形態に係るログ行列の一例を示す図である。ログ行列の各行は、辞書情報142のIDに対応している。また、ログ行列の各列は、10分間の所定の日時間に対応している。以降の説明において、図6に示すログ行列Yの上側の部分の各行を、それぞれ601行目~604行目とし、下側の部分の各行を、それぞれ701行目~706行目とする。また、ログ行列Yのp行目のq列目の要素を、要素(p, q)のように表すこととする。例えば、ログ行列Yの要素(601,1)の値は「2」である。
 ログ行列Yの601行目は、ID「601」に対応している。また、ログ行列Yの602行目は、ID「602」に対応している。また、ログ行列Yの701行目は、ID「701」に対応している。また、ログ行列Yの702行目は、ID「702」に対応している。また、ログ行列Yの1列目は2016/12/01T15:00:01~2016/12/01T15:10:00の間の10分間に対応している。また、ログ行列Yの2列目は2016/12/01T15:10:01~2016/12/01T15:20:00の間の10分間に対応している。また、図5には、発生日時が2016/12/01T15:00:01~2016/12/01T15:10:00であるメッセージのID及び発生日時が全て示されていることとする。
 ログ行列は、どのIDが何行目に対応しているのかがわかれば行番号とIDは一致していなくても構わない。また、ログ行列において、IDや時間が連続している必要もなく、抜けているIDや時間があっても構わない。
 作成部152は、10分ごとのメッセージの出現数をIDごとに集計し、ログ行列Yの各要素の値とする。例えば、図5に示すように、発生日時が2016/12/01T15:00:01~2016/12/01T15:10:00の間であるメッセージのうち、IDが「601」であるメッセージは2個である。このため、図6に示すように、作成部152は、ログ行列Yの要素(601, 1)の値を「2」とする。また、例えば、図5に示すように、発生日時が2016/12/01T15:00:01~2016/12/01T15:10:00の間であるメッセージのうち、IDが「701」であるメッセージは1個である。このため、図6に示すように、作成部152は、ログ行列Yの要素(701, 1)の値を「1」とする。同様に、作成部152は、各ID及び各時間幅についてメッセージの出現数を集計し、ログ行列Yの各要素の値を設定する。
 出力部13は、ログ行列Yを可視化した画像を出力する。図7は、第1の実施形態に係る1ヶ月分のテキストログを、1時間の時間幅のログ行列として可視化した画像の一例を示す図である。図7の縦軸はIDを表している。また、図7の横軸は時間を表している。また、図7では、メッセージの出現状況が高い要素ほど濃い色で表される。
 また、ログ行列Yは、複数の異なる性質のテキストログに基づいて作成される場合がある。例えば、ログ行列Yは、syslogに従って出力されたテキストログ、及び、OpenStackのシステムから出力されたテキストログに基づいて作成される場合がある。このような場合であっても、出力部13は、図7に示すように、ログ行列Yを1つの画像として可視化することができる。
 図7の領域531には、1日ごとに出力されていることから、日次処理等の定期処理に基づくID群が現れていることがわかる。同様に、領域532には、常時実行されている処理に基づくID群が現れている。また、領域533には、2日を除く5日間に出力されていることから、平日の業務に関連した処理に基づくID群が現れていることがわかる。一方、このシステムでは、2日にシステム故障が発生しており、領域534には、故障に起因して出力されたとみられるID群が現れている。このため、異常検知のためには、特に、領域534に現れているようなID群を抽出することが重要である。
 パターン抽出部153は、作成部152によって作成されたログ行列から、IDの組み合わせを、パターンとして抽出する。具体的には、パターン抽出部153は、非負値行列因子分解(NMF:Nonnegative Matrix Factorization)によってログ行列を分解し、IDの組み合わせであるパターンを列ベクトルにもつ基底行列と、パターンが所定の時間幅ごとにどの程度出現したかを表す行ベクトルをもつ重み行列を、パターンとして抽出する。NMFによる行列分解では、比較的高頻度に出現するパターンが抽出される特性があることが知られている。なお、行列分解の方法としては、主成分分析や独立成分分析等の方法を用いることもでき、NMFのみに限定されるものではない。
 なお、行列が非負値のみを含む場合は、行列分解の方法として、Non-negative Principal Component AnalysisやNon-negative Independent Component Analysis等の方法を用いることもできる。
 まず、図8を用いて、ログ行列の分解について説明する。図8は、第1の実施形態に係るログ行列の分解について説明するための図である。パターン抽出部153は、NMFを用いて、ログ行列Yを、基底行列Hと重み行列Uとに分解する。パターン抽出部153は、例えば非特許文献2に記載された方法でNMFを行うことができる。なお、本実施形態におけるログ行列Y、基底行列H、重み行列Uは、それぞれ、非特許文献2に記載された行列X、行列T、行列Vに対応する。また、ログ行列Y、基底行列H及び重み行列Uの関係は、Eを誤差行列として、式(1)のように表すことができる。
Figure JPOXMLDOC01-appb-M000001
 基底行列Hの各行は、ログ行列Yの各行、すなわちIDに対応している。重み行列Uの各列は、ログ行列Yの各列、すなわち時間幅に対応している。また、基底行列Hの各列、及び、重み行列Uの各行は、IDの組み合わせである各パターンに対応している。一例として、本実施形態における基底行列Hの列数は10であり、基底行列Hの1~10列目に現れるIDの組み合わせには、基底番号1~10が設定されることとする。
 また、基底行列Hには、同時に繰り返し現れるメッセージ群に対応するIDの組み合わせであるパターンにどのIDがどの程度含まれているかが現れるということができる。また、重み行列Uには、基底行列Hの各列に現れるIDの組み合わせであるパターンがどの時間帯にどの程度発生したかが現れるということができる。
 出力部13は、図9のように基底行列Hを可視化した画像を出力することができる。図9は、第1の実施形態に係る基底行列を可視化した画像の一例を示す図であり、図7のログ行列にNMFを実行して得られた基底行列を表す。図7の領域532のように、ログ行列で常時現れているようなID群は、基底番号1から10のどのパターンにも含まれていることが図9から確認される。例えば、基底番号1のパターンは、図7の領域531のID群が含まれている。また、基底番号4のパターンは領域533のID群が含まれている。このように、出現の多いID群はパターンとして抽出されているが、図7の領域534のような、出現の少ないID群(故障等)は抽出されていない。
 出力部13は、図10のように重み行列Uを可視化した画像を出力することができる。図10は、第1の実施形態に係る重み行列を可視化した画像の一例を示す図であり、図7のログ行列にNMFを実行して得られた重み行列を表す。図10に示すように、基底番号1のパターンは、日次で出現するパターンであることが示されており、図9からこのパターンが日次処理のID群を含んでいると確認したことと合致する。また、基底番号4のパターンは、大きく5回の出現の後に間を開けてまた5回出現していることから、平日に出現しており、図9からこのパターンが平日の業務に関連したIDを含んでいると確認したことと合致する。平日に出現しているパターンは、基底番号4の他に、6と9も該当する。一方、基底番号7、8、10のパターンは常時出現するパターンであることがわかる。
 定期的に、又は常時発生するような出現が多いID群については、出現タイミングが図10に明確に現れている。一方で、図7の領域534のような、故障等の異常に基づいて発生しているID群ついては、出現タイミングが図10に明確に現れていない。図9にも図7の領域534に含まれるID群が現れておらず、パターンとして抽出できていないことがわかる。
 除去部154は、ログ行列から高頻度パターンを除去する。具体的には、除去部154は、基底行列と重み行列の各パターンの要素のうち値が所定の閾値より小さい要素の値を0に置き換えた有意重み行列との積と、基底行列の各パターンの要素のうち値が所定の閾値より小さい要素の値を0に置き換えた有意基底行列と重み行列との積と、有意基底行列と有意重み行列との積と、のうちのいずれか1つをログ行列から差し引くことで、パターンを除去する。なお、この計算の際にログ行列の要素がマイナスになる場合には、0で置き換えることで非負値にすることもできる。
 例えば、除去部154は、式(2)によってログ行列から高頻度パターンを除去する。ただし、Yはログ行列、Hは基底行列、Uは重み行列、E誤差行列である。また、Y=HU+Eと分解されるとする。また、Hfreqは、Hの各列について、値が所定の閾値より小さい行の値を0に置き換えたもの、すなわち有意基底行列である。また、Ufreqは、Uの各行について、値が所定の閾値より小さい列の値を0に置き換えたもの、すなわち有意重み行列である。また、Y´e1は頻出パターン除去後のログ行列である。
Figure JPOXMLDOC01-appb-M000002
 式(2)に示すように、He1は、H又はHfreqのいずれかである。また、Ue1は、U又はUfreqのいずれかである。ただし、He1がHである場合はUe1はUfreqであることとし、また、Ue1がUである場合はHe1はHfreqであることとする。つまり、式(2)のHe1e1には、有意基底行列又は有意重み行列のうち少なくとも一方が含まれる。これより、式(2)のHe1e1は、HfreqU、HUfreq、Hfreqfreqのいずれかで表される。
 例えば、He1をHとし、Ue1をUfreqとした場合、除去部154は、式(3)を用いて高頻度パターンの除去を行う。ただし、Y´は、高頻度パターンを除去した後のログ行列、すなわちY´e1である。
Figure JPOXMLDOC01-appb-M000003
 図11及び12は、第1の実施形態に係る高頻度パターンの除去について説明するための図である。ここでは、基底行列と有意重み行列を使って式(3)により除去を行う例を説明する。図11に示すように、まず、除去部154は、基底行列Hと除去しない要素の値を0とした有意重み行列Ufreqとの積HUfreqを計算する。
 次に、除去部154は、図12に示すように、高頻度パターン除去のためのログ行列HUfreqを、ログ行列Yから引く。これにより、除去部154は、高頻度パターンを除去したログ行列Y´を得る。ここで、パターン抽出部153は、除去部154によって高頻度パターンが除去されたログ行列から、さらに高頻度パターンを抽出する。このとき、ログ行列Y´からパターン抽出部153が抽出した基底行列及び重み行列を、それぞれH´及びU´とする。
 出力部13は、図13のように基底行列H´を可視化した画像を出力することができる。図13は、第1の実施形態に係る高頻度パターンを除去した後の基底行列を可視化した画像の一例を示す図であり、図7のログ行列から、図9と図10として得られたパターンを除去したログ行列を使って、2回目のパターン抽出を行った結果得られた基底行列を表す。1回目の図9のパターンと比べると、1回目では現れていなかった200から500のIDが基底番号8のパターンに現れている。これらのIDは2日のシステム故障の時にしか現れていなかったID群である。
 出力部13は、図14のように重み行列U´を可視化した画像を出力することができる。図14は、第1の実施形態に係る高頻度パターンを除去した後の重み行列を可視化した画像の一例を示す図であり、図7のログ行列から、図9と図10として得られたパターンを除去したログ行列を使って、2回目のパターン抽出を行った結果得られた重み行列を表す。図14に示すように、図13で故障時のID群を含んでいた基底番号8のパターンが2日に現れている。また、基底番号5のパターンも、主に2日に強く現れており、故障と関連する可能性のあるパターンと言える。
 有意基底行列又は有意重み行列を用いて高頻度パターンを除去する場合について説明したが、除去部154は、非有意基底行列又は非有意重み行列を用いて高頻度パターンを除去することもできる。具体的には、除去部154は、基底行列と重み行列の各パターンの要素のうち値が所定の閾値以上である要素の値を0に置き換えた非有意重み行列との積と、基底行列の各パターンの要素のうち値が所定の閾値以上である要素の値を0に置き換えた非有意基底行列と重み行列との積と、非有意基底行列と非有意重み行列との積と、のうちのいずれか1つをログ行列からパターンを除去した行列とする。なお、この計算の際にログ行列の要素がマイナスになる場合には、0で置き換えることで非負値にすることもできる。
 具体的には、除去部154は、式(4)によってログ行列から高頻度パターンを除去する。ただし、式(3)と同様に、Yはログ行列、Hは基底行列、Uは重み行列、E誤差行列である。また、Y=HU+Eと分解されるとする。また、Hrareは、Hの各列について、値が所定の閾値以上である行の値を0に置き換えたもの、すなわち非有意基底行列である。また、Urareは、Uの各行について、値が所定の閾値以上である列の値を0に置き換えたもの、すなわち非有意重み行列である。また、Y´e2は頻出パターン除去後のログ行列である。
Figure JPOXMLDOC01-appb-M000004
 式(4)に示すように、He2は、H又はHrareのいずれかである。また、Ue2は、U又はUrareのいずれかである。ただし、He2がHである場合はUe2はUrareであることとし、また、Ue2がUである場合はHe2はHrareであることとする。つまり、式(4)のHe2e2には、非有意基底行列又は非有意重み行列のうち少なくとも一方が含まれる。これより、式(4)のHe2e2は、HrareU、HUrare、Hrarerareのいずれかで表される。
 除去部154は、ログ行列Y´からさらに高頻度パターンを除去してもよい。その場合、パターン抽出部153は、除去部154によって高頻度パターンが除去されたログ行列から、さらに高頻度パターンを抽出する。また、パターン抽出部153及び除去部154は、高頻度パターンの抽出及び高頻度パターンの除去を、所定の条件が満たされるまで繰り返すようにしてもよい。
 判定部155は、ログ行列から、パターン抽出部153によって抽出された高頻度パターンに含まれる要素のそれぞれについて、重要度を計算し、重要度が所定の閾値以上であるか否かを判定する。また、判定部155は、除去部154によって高頻度パターンの除去が行われたログ行列から、パターン抽出部153によってさらに抽出された高頻度パターンに含まれる要素のそれぞれについても重要度をさらに計算し、重要度が所定の閾値以上であるか否かを判定するようにしてもよい。なお、ここでは、判定部155が、高頻度パターンに含まれる要素のうち、IDのそれぞれについて重要度を計算する場合の例について説明する。
 基底行列の各列を特徴付けるIDを抽出する場合、値が大きい要素に対応するIDを優先的に抽出することができる。しかしながら、複数の列に含まれるIDは、各列を特徴付けるIDとして適当でない場合がある。例えば、高頻度パターンを除去する前又は後において、常に高頻度で出現し続けるIDがある場合、当該IDは基底行列の複数の列に含まれる場合がある。これは図9からも容易に確認される。このようなIDを抽出したとしても、異常の検知等に活かすことは難しい。
 そこで、判定部155は、高頻度パターンに含まれるIDそれぞれについて、パターンのIDごとの要素の値が高いほど高くなり、かつ、当該IDを含む高頻度パターンが多いほど低くなるように重要度を計算し、重要度が所定の閾値以上であるか否かを判定する。このような重要度に基づく判定手法の一例として、TF-IDF(参考文献2:“tf-idf”、[online]、ウィキペディア、[平成29年1月26日検索]、インターネット<URL:https://ja.wikipedia.org/wiki/Tf-idf>)がある。判定部155は、TF-IDFに基づく方法で重要度の計算を行うことができる。例えば、基底行列Hを行列Dとすると、判定部155は、式(5-1)~(5-3)を用いて、行列Dの列dにおけるIDがtの重要度tfidf(t,d,D)を計算する。
Figure JPOXMLDOC01-appb-M000005
 ただし、ft,dは、列dにおけるIDがtである要素の値である。また、Nは、基底数、すなわち基底行列Hの列数である。また、nは、基底行列Hにおける、IDの要素の値がその列で所定の閾値以上であるような列数である。
 また、判定部155は、特定のIDについてのみ重要度を計算するようにしてもよい。判定部155は、基底行列Hの各列ベクトルの全要素値に対して大津の手法(参考文献3:Nobuyuki Otsu: "A threshold selection method from gray-level histograms," Automatica 11.285-296 (1975), pp.23-27)を用いて第1の閾値を計算し、要素の値が第1の閾値以上であるIDについてのみ、重要度を計算してもよい。
 また、判定部155は、各パターンの所定の時間幅ごとの出現頻度、すなわち重み行列を基に、各行ベクトルの全要素値に対して大津の手法を用いて第2の閾値を計算し、所定の時間幅ごとの出現頻度が第2の閾値以上であるか否かを判定するようにしてもよい。
 また、判定部155は、時間についても重要度を計算するようにしてもよい。すなわち、重み行列Uを行列Dとすると、判定部155は式(5-1)~(5-3)を用いて、行列Dの行dにおける時間がtの重要度tfidf(t,d,D)を計算する。
 ただし、ft,dは、行dにおける時間がtである要素の値である。また、Nは、基底数、すなわち重み行列Hの行数である。また、nは、重み行列Uにおける、時間の要素の値がその行で所定の閾値以上であるような行数である。
 また、判定部155は、特定の時間についてのみ重要度を計算するようにしてもよい。判定部155は、重み行列Uの各行ベクトルの全要素に対して大津の手法を用いて第3の閾値を計算し、要素の値が第3の閾値以上である時間についてのみ、重要度を計算してもよい。
 上記の重要度の計算、又は閾値を用いた判定を行うことで、図15に示すようなプロファイリングを行うことが可能となる。図15は、第1の実施形態に係るテキストログのプロファイリングについて説明するための図である。
 例えば、重み行列について第2の閾値を用いた判定を行い、第2の閾値以上である時間幅を主要要素として抽出し、故障発生時刻といった外部情報と付き合わせることでパターンの種類の推定等を行うことができる。これにより、各パターンを、故障前パターン、故障後パターン、定期パターン、故障と無関係な不定期パターン等に分類することができる。
 また、基底行列から重要度が所定値以上であるIDを抽出し、主要要素のIDの各メッセージ(すなわち辞書情報142のテンプレート)と故障内容や故障箇所といった外部情報と付き合わせることで、故障に関係するパターンであるかどうかの推定を行うことができる。例えば、重み行列から故障前パターンと分類されたパターンが、故障の予兆を表す故障予兆パターンであったかどうか、故障後パターンと分類されたパターンが故障の影響を表す故障波及パターンであったかとうか、定期パターンと分類されたパターンが正常な処理を表す定常処理パターンであったかどうか、故障と無関係な不定期パターンと分類されたパターンが工事が行われたことを表す工事パターンであったかどうか等を判断することができる。
 ここで、有意ログ抽出部156及びシーケンス抽出部157は、分類済みテキストログ52から、主要要素に関する所定の情報を抽出する。なお、有意ログ抽出部156及びシーケンス抽出部157は、情報抽出部の一例である。
 有意ログ抽出部156は、分類済みテキストログ52から、判定部155が抽出した基底行列の主要要素であるIDのみを含むレコード抜き出し、有意ログを生成する。また、有意ログ抽出部156は、主要要素であるIDに加え、判定部155が抽出した重み行列の主要要素である時間幅に該当する時間に限定して有意ログを生成しても構わない。また、有意ログ抽出部156は、有意ログをパターンごとに生成しても構わない。また、有意ログ抽出部156は、発生日時をUNIX(登録商標)時間などの他の時刻形式に変換して有意ログを生成しても構わない。
 シーケンス抽出部157は、有意ログ抽出部156によって生成された有意ログから、IDがどのような順序で出現しているのかを表すシーケンスのうち、特定のシーケンスを抽出する。
 具体的には、シーケンス抽出部157は、有意ログに含まれるIDのシーケンスそれぞれの出現回数をカウントし、当該出現回数が多いシーケンスを抽出する。シーケンスの抽出は、最も出現回数が多いシーケンス、出現回数が多い上位k個のシーケンス、出現回数が指定された回数以上であるシーケンスなど、どの方法を用いて決定しても構わない。
 また、シーケンス抽出部157は、出現回数が多いシーケンスのうち、所定の条件を満たすと判定されたシーケンスのみを抽出してもよい。所定の条件とは、シーケンスの長さやシーケンスの最初のIDから最後のIDまでの経過時間を表すシーケンス経過時間などであり、これに限定されるものではない。これらの条件についても、出現回数同様に閾値を決定して抽出の範囲を限定しても構わない。
 例えば、シーケンス抽出部157は、判定部155によって計算された重要度が所定値以上であるIDとして、「704」、「705」及び「706」が抽出されたとすると、有意ログ抽出部156は、分類済みテキストログ52から、IDが「704」、「705」及び「706」を含むレコードを抜き出し、有意ログを生成する。さらに、シーケンス抽出部157は、有意ログから、出現回数が高いシーケンスを抽出する。
 シーケンス抽出部157は、シーケンスを抽出する手法として、シーケンシャルパターンマイニング(参考文献4:J.Pei et al. "PrefixSpan: Mining Sequential Patterns Efficiently by Prefix-Projected Pattern Growth," Proc. of The 17th Int'l Conf. on Data Engineering, pp.215-224 (2001) http://idb.csie.ncku.edu.tw/tsengsm/COURSE/DM/Paper/PrefixSpan.pdf)や、エピソードマイニング(参考文献5:A. Achar et al. "Pattern-growth based frequent serial episode discovery," Data and Knowledge Engineering, 87:pp.91-108 (2013))のアルゴリズムを用いることができる。
 図16は、第1の実施形態に係るシーケンスの抽出について説明するための図である。この例では重複を許さないIDの数え方によるシーケンスの抽出例を示す。図16に示すように、IDが「704」、「705」及び「706」であるメッセージのシーケンスは、3!通り、すなわち6通り存在する。シーケンス抽出部157は、これらのシーケンスのそれぞれの出現回数をカウントする。最も多い出現回数のシーケンスを抽出する場合、シーケンス抽出部157は、出現回数が10であるシーケンス「705-704-706」を抽出する。ユーザは、シーケンス抽出部157によって抽出されたシーケンスを基に、故障原因等を推定することができる。
[第1の実施形態の処理]
 図17を用いて、分析装置10の処理の流れについて説明する。図17は、実施形態に係る分析装置の処理の流れを示すフローチャートである。図17に示すように、まず、分類部151は、テキストログのメッセージを種別ごとに分類し、IDを付与する(ステップS101)。そして、作成部152は、テキストログの発生日時と分類部151によって付与されたIDを基に、ログ行列を作成する(ステップS102)。
 次に、パターン抽出部153は、ログ行列を分解し、基底行列と重み行列を抽出する(ステップS103)。例えば、パターン抽出部153は、NMFによってログ行列を分解し、IDの組み合わせであるパターンを列ベクトルにもつ基底行列、及び、パターンが所定の時間幅ごとにどの程度出現したかを表す列ベクトルをもつ重み行列を抽出する。
 ここで、所定の条件が満たされることにより、パターンの除去が必要であると判定された場合(ステップS104、Yes)、除去部154は、ログ行列から高頻度パターンを除去する(ステップS105)。例えば、除去部154は、基底行列と、重み行列の各要素のうち値が所定の閾値より小さい要素の値を0に置き換えた有意重み行列と、の積をログ行列から引くことで、高頻度パターンを除去する。あるいは、基底行列と、重み行列の各要素のうち値が所定の値以上の要素の値を0に置き換えた非有意重み行列と、の積をとることで、高頻度パターンを除去する。そして、パターン抽出部153は、さらにパターンを抽出する(ステップS103)。
 ここで、所定の条件が満たされることにより、高頻度パターンの除去が必要であると判定されなかった場合(ステップS104、No)、判定部155は、基底行列または重み行列、あるいは両方の行列の主要要素を判定する(ステップS106)。例えば、判定部155は、パターンに含まれるIDそれぞれについて、当該IDの要素の値が高いほど高くなり、かつ、当該IDを含む高頻度パターンが多いほど低くなるように重要度を計算し、重要度が所定の閾値以上であるか否かを判定し、基底行列の主要要素を抽出する。また、判定部155は、パターンに含まれる時間幅それぞれに対して、大津の手法を用いて第2の閾値を計算し、所定の時間幅ごとの要素の値が第2の閾値以上であるか否かを判定し、重み行列の主要要素を抽出する。
 有意ログ抽出部156は、分類済みテキストログ52から、判定部155が抽出した基底行列の主要要素であるIDのみを含むレコードを抜き出し、有意ログを生成する。
 また、シーケンス抽出部157は、有意ログ抽出部156によって生成された有意ログからシーケンスを抽出する(ステップS107)。例えば、シーケンス抽出部157は、パターンに含まれるIDの組み合わせについて、IDのシーケンスのうち、要素の値、すなわち出現回数が所定の閾値以上でかつ所定の条件を満たすシーケンスを抽出する。
[第1の実施形態の効果]
 分類部151は、システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する。また、作成部152は、メッセージに付された発生日時に基づいて、所定の時間幅ごとのメッセージのテキストログにおける出現状況を、IDごとに表した行列を作成する。また、パターン抽出部153は、作成部152によって作成された行列から、IDの組み合わせであるパターンを複数抽出する。また、除去部154は、行列からパターンの一部又は全部を除去する。また、判定部155は、複数のパターンそれぞれに含まれる要素それぞれについて重要度を計算し、重要度が所定の閾値以上であるか否かを判定する。また、有意ログ抽出部156及びシーケンス抽出部157は、分類済みテキストログ52から、主要要素に関する所定の情報を抽出する。
 本実施形態の分析装置10は、複数のメッセージの出現状況を基に行列を作成するので、複数のメッセージに基づくパターンを抽出することができ、メッセージ間の関係を考慮した監視を行うことができる。このため、例えば、障害発生時における一連の予兆パターンや波及パターンを監視し、障害の予防保全や原因推定に活用することができる。また、メッセージ間の関係を考慮した監視を行うことで、狼アラート、すなわち実際には異常が発生していない場合に異常が発生したとする誤検知に基づくアラートの発生を抑制することもできる。
 また、本実施形態の分析装置10は、収集したテキストログ全体から行列を作成するので、テキストログ全体の情報が行列に反映され、例えば、個別のメッセージを監視するだけでは見過ごされてきた有用な情報をテキストログから得ることができる。
 また、テキストログを分類したうえで行列化し計算を行うことで、大量のテキストログを効率的に分析することが可能となる。また、高頻度パターンの除去を行うことで、定常処理等に関するパターンの存在により高頻度パターンとして抽出されなかったパターンや、誤差に含まれていたパターンを抽出することができるようになり、異常検知等に有用な情報を得ることができるようになる。また、高頻度パターンに含まれる要素について、主要な要素であるか否かの判定を行うことで、テキストログの中から重要なメッセージを抽出することができるようになる。さらに、抽出した重要なメッセージに関する情報を抽出することで、メッセージの分析に要する計算量や処理時間を削減することができる。
 例えば、判定部155は、複数のパターンそれぞれに含まれるIDそれぞれについて重要度を計算し、重要度が所定の閾値以上であるか否かを判定することができる。このとき、シーケンス抽出部157は、判定部155によって、重要度が所定の閾値以上であると判定されたIDがどのような順序で出現しているのかを表すシーケンスから、特定のシーケンスを抽出する。このように、主要なメッセージのシーケンスを抽出することで、シーケンスの抽出のための計算量や処理時間を削減し、メッセージのシーケンスに基づく分析を容易にすることができる。
 分類部151は、システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する。また、作成部152は、メッセージに付された発生日時に基づいて、所定の時間幅ごとのメッセージのテキストログにおける出現状況を、IDごとに表した行列であるログ行列を作成する。また、パターン抽出部153は、ログ行列を分解し、IDの組み合わせであるパターンを列ベクトルにもつ基底行列と、パターンが所定の時間幅ごとにどの程度出現したかを表す行ベクトルをもつ重み行列とを抽出する。また、除去部154は、ログ行列からパターンの一部又は全部を除去する。
 本実施形態の分析装置10は、関連する複数のメッセージをパターンとして抽出するので、システムに発生した事象の特定が容易になる。また、パターン除去を行うことにより、システム故障などの発生頻度が少ない事象を表すパターンを抽出し、監視に生かすことができる。例えば、抽出された障害予兆パターンを監視し、障害の予防保全に活用したり、障害発生時の波及パターンを特定し、原因推定に活用したりすることができる。また、メッセージ間の関係を考慮した監視を行うことで、狼アラート、すなわち実際には異常が発生していない場合に異常が発生したとする誤検知に基づくアラートの発生を抑制することもできる。
 また、本実施形態の分析装置10は、テキストログを分類することで、数千、数億のメッセージを人が把握することが可能な数百、数千オーダーの種類にまで圧縮することができる。また、収集したテキストログ全体から行列を作成するので、膨大なログの情報が1つの行列に反映され、例えば、個別のメッセージを監視するだけでは見過ごされ、アーカイブされるだけで活用されなかったテキストログから有用な情報を得ることができる。
 また、パターン抽出部153は、非負値行列因子分解によってログ行列を分解してもよい。このように、テキストログを分類したうえで行列化し計算を行うことで、大量のテキストログを効率的に分析することが可能となる。また、パターンの除去を行うことで出現頻度が低いパターン、すなわち定常処理等に関するパターンの存在により抽出されなかったパターンや、1回目のパターン抽出では誤差に埋もれていたパターンを抽出することができるようになり、異常検知等に有用な情報を得ることができるようになる。
 また、除去部154は、基底行列と重み行列の各パターンの要素のうち値が所定の閾値より小さい要素の値を0に置き換えた有意重み行列との積と、基底行列の各パターンの要素のうち値が所定の閾値より小さい要素の値を0に置き換えた有意基底行列と重み行列との積と、有意基底行列と有意重み行列との積と、のうちのいずれか1つをログ行列から差し引くことで、パターンを除去することができる。また、除去部154は、基底行列と重み行列の各パターンの要素のうち値が所定の閾値以上である要素の値を0に置き換えた非有意重み行列との積と、基底行列の各パターンの要素のうち値が所定の閾値以上である要素の値を0に置き換えた非有意基底行列と重み行列との積と、非有意基底行列と非有意重み行列との積と、のうちのいずれか1つをログ行列からパターンを除去した行列とすることができる。これにより、定常処理等に関するパターンの影響のうち、大きさが一定以上であるものを除去することができる。
 また、パターン抽出部153は、除去部154によって高頻度パターンが除去された行列から、さらに高頻度パターンを抽出してもよい。これにより、1度の高頻度パターンの除去では、定常処理等に関するパターンの影響を除去しきれなかった場合であっても、定常処理等に関するパターンの影響をさらに除去し、頻度の少ないパターンを抽出することができる。
 分類部151は、システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する。また、作成部152は、メッセージに付された発生日時に基づいて、所定の時間幅ごとのメッセージのテキストログにおける出現頻度を、IDごとに表した行列を作成する。また、パターン抽出部153は、作成部152によって作成された行列から、同一の時間幅におけるメッセージの出現頻度が所定の高さ以上であるIDの組み合わせを、高頻度パターンとして抽出する。また、除去部154は、行列から高頻度パターンを除去する。また、判定部155は、除去部154によって高頻度パターンの除去が行われた行列から、パターン抽出部153によってさらに抽出された高頻度パターンに含まれるIDのそれぞれについて、対応するメッセージのテキストログにおける出現頻度が、所定の条件を満たすか否かを判定する。また、シーケンス抽出部157は、判定部155によって、テキストログにおける出現頻度が所定の条件を満たすと判定されたIDのシーケンスのうち、特定のシーケンスを抽出する。
 また、本実施形態の分析装置10は、複数のメッセージの出現頻度を基に行列を作成するので、複数のメッセージに基づくパターンを抽出することができ、メッセージ間の関係を考慮した監視を行うことができる。このため、例えば、障害発生時における一連の予兆パターンや波及パターンを監視し、障害の予防保全や原因推定に活用することができる。また、メッセージ間の関係を考慮した監視を行うことで、狼アラート、すなわち実際には異常が発生していない場合に異常が発生したとする誤検知に基づくアラートの発生を抑制することもできる。
 また、行列化されたテキストログから抽出された高頻度パターンに含まれる要素について、主要な要素であるか否かの判定を行うことで、テキストログの中から重要なメッセージを抽出することができるようになる。
 また、判定部155は、IDごとのメッセージの出現頻度を基に、大津の手法を用いて第1の閾値を計算し、メッセージの出現頻度が第1の閾値以上であるIDについて、重要度を計算してもよい。これにより、重要度の計算のための負荷を減少させることができる。
 また、パターン抽出部153は、組み合わせに係るメッセージの所定の時間幅ごとの出現頻度をさらに抽出してもよい。このとき、判定部155は、組み合わせに係るメッセージの所定の時間幅ごとの出現頻度を基に、大津の手法を用いて第2の閾値を計算し、所定の時間幅ごとに、メッセージの出現頻度が第2の閾値以上であるか否かを判定してもよい。これにより、メッセージの内容に基づく分析だけでなく、メッセージの発生日時に基づく分析も行うことが可能となる。
 また、テキストログを分類したうえで行列化し計算を行うことで、大量のテキストログを効率的に分析することが可能となる。また、高頻度パターンの除去を行うことで、定常処理等に関するパターンの存在により高頻度パターンとして抽出されなかったパターンや、誤差に含まれていたパターンを抽出することができるようになり、異常検知等に有用な情報を得ることができるようになる。また、高頻度パターンに含まれる要素について、主要な要素であるか否かの判定を行うことで、テキストログの中から重要なメッセージを抽出することができるようになる。また、主要なメッセージのシーケンスを抽出することで、シーケンスの抽出のための計算量や処理時間を削減し、メッセージのシーケンスに基づく分析を容易にすることができる。
 分類部151は、システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する。また、作成部152は、メッセージに付された発生日時に基づいて、所定の時間幅ごとのメッセージのテキストログにおける出現状況を、IDごとに表した行列を作成する。また、パターン抽出部153は、作成部152によって作成された行列から、IDの組み合わせであるパターンを複数抽出する。また、判定部155は、複数のパターンそれぞれに含まれるIDそれぞれについて重要度を計算し、重要度が所定の閾値以上であるか否かを判定する。また、有意ログ抽出部156は、テキストログの各メッセージを分類部151で付与されたIDに置換したログから、判定部が所定の閾値以上であると判定したIDのみを抜き出した有意ログを生成する。また、シーケンス抽出部157は、重要度の高いIDがどのような順序で出現しているのかを表すシーケンスのそれぞれの出現回数を、生成した有意ログからカウントし、当該出現回数が所定の閾値以上でかつ所定の条件を満たすシーケンスを抽出する。
 本実施形態の分析装置10は、複数のメッセージの出現頻度を基に行列を作成するので、複数のメッセージに基づくパターンを抽出することができ、メッセージ間の関係を考慮した監視を行うことができる。このため、例えば、障害発生時における一連の予兆パターンや波及パターンを監視し、障害の予防保全や原因推定に活用することができる。また、メッセージ間の関係を考慮した監視を行うことで、狼アラート、すなわち実際には異常が発生していない場合に異常が発生したとする誤検知に基づくアラートの発生を抑制することもできる。
 また、行列化されたテキストログから抽出されたパターンに含まれる主要なメッセージのシーケンスを抽出することで、シーケンスの抽出のための計算量や処理時間を削減し、シーケンスに基づくメッセージの分析を容易にすることができる。
 また、パターン抽出部153は、パターンの所定の時間幅ごとの出現の程度をさらに抽出してもよい。このとき、判定部155は、パターンの所定の時間幅それぞれについて第2の重要度を計算し、第2の重要度が所定の第2の閾値以上であるか否かをさらに判定する。そして、有意ログ抽出部156は、判定部155が所定の第2の閾値以上であると判定した所定の時間幅のみを抜き出した有意ログを生成する。
 これにより、パターン抽出の時点でシステムの事象に関連するIDがある程度事象ごとに特定されているため、パターンごとに有意ログを生成し、そこからシーケンスを抽出することにより、抽出されたシーケンスからシステムの事象を解釈するのが容易になる。
[第2の実施形態]
 本発明における行列分解の方法は、第1の実施形態で説明したNMFに限定されない。本発明では、行列分解の方法として、例えば主成分分析や独立成分分析等の非負値以外を含んだ行列を対象とした手法を用いてもよい。ここで、第2の実施形態として、NMF以外の手法を用いて行列分解を行う場合の例について説明する。
 第2の実施形態において、除去部154は、主成分分析や独立成分分析等の手法を用いて、ログ行列を基底行列と重み行列とに分解する。ここで、第2の実施形態では、有意基底行列、有意重み行列、非有意基底行列、及び非有意重み行列の作成方法が第1の実施形態と異なる。第1の実施形態において、除去部154は、基底行列の要素のうち値が所定の閾値より小さい要素の値を0に置き換えたものを有意基底行列とし、重み行列の要素のうち値が所定の閾値より小さい要素の値を0に置き換えたものを有意重み行列としていた。
 一方、第2の実施形態において、除去部154は、要素の値の絶対値が閾値より大きいか否かにより、当該要素の値を0に置き換えるか否かを判定する。つまり、除去部154は、基底行列の要素のうち値の絶対値が所定の閾値より小さい要素の値を0に置き換えたものを有意基底行列とし、重み行列の要素のうち値の絶対値が所定の閾値より小さい要素の値を0に置き換えたものを有意重み行列とする。
 また、第2の実施形態において、除去部154は、要素の値が正である場合は正の閾値を用い、要素の値が負である場合は負の閾値を用いて要素の値を0に置き換えるか否かを判定するようにしてもよい。つまり、除去部154は、基底行列の要素のうち、値が正かつ当該値が正の閾値より小さい要素と、値が負かつ当該値が負の閾値より大きい要素と、の値を0に置き換えたものを有意基底行列とし、重み行列の要素のうち、値が正かつ当該値が正の閾値より小さい要素と、値が負かつ当該値が負の閾値より大きい要素と、の値を0に置き換えたものを有意重み行列とすることができる。
 なお、第2の実施形態において、除去部154は、有意基底行列及び有意重み行列を作成する際に、値が0に置き換えられない要素の値を0に置き換えることで、非有意基底行列及び非有意重み行列を作成する。つまり、除去部154は、基底行列の要素のうち値の絶対値が所定の閾値以上である要素の値を0に置き換えたものを非有意基底行列とし、重み行列の要素のうち値の絶対値が所定の閾値以上である要素の値を0に置き換えたものを非有意重み行列とすることができる。
 また、除去部154は、基底行列の要素のうち、値が正かつ当該値が正の閾値以上である要素と、値が負かつ当該値が負の閾値以下である要素と、の値を0に置き換えたものを非有意基底行列とし、重み行列の要素のうち、値が正かつ当該値が正の閾値以上である要素と、値が負かつ当該値が負の閾値以上である要素と、の値を0に置き換えたものを非有意重み行列とすることができる。
[第3の実施形態]
 本発明の分析装置は、各行の項目としてアイテムインデックスを持ち、各列の項目としてインスタンスインデックスを持つ入力行列を、2つの行列の積に分解することができる。この場合、入力行列は、システムから出力されたテキストログに含まれるメッセージを基に作成したログ行列に限られない。
 入力行列は、例えば、それぞれの顧客がどの商品を買ったかという購入情報を持つ購買ログを基に、それぞれの顧客が買った個数を商品ごとに表した購買ログ行列であってもよい。この場合、入力行列のアイテムインデックスは、商品を識別可能なID等である。また、入力行列のインスタンスインデックスは、顧客を識別可能なID等である。また、入力行列の要素の値は商品の購入情報である。購入情報は、購入個数や購入個数の対数を取る等の加工をした値、または購入有無(購入時に1、非購入時に0をとる値)等が考えられるが、この例に限定されるものではない。以下の実施例では、購入情報として購入個数を用いた例を示す。
 第3の実施形態において、パターン抽出部153は、アイテムインデックスの組み合わせであるパターンを列ベクトルに複数持つ基底行列と、それぞれのパターンのインスタンスインデックスにおける重みを各行ベクトルに持つ重み行列と、を抽出する。また、判定部155は、複数のパターンそれぞれに含まれるアイテムインデックスそれぞれについて、重要度を計算し、重要度が所定の閾値以上であるか否かを判定する。
[第3の実施形態の処理]
 ここで、図17を用いて、第3の実施形態に係る分析装置の処理の流れを説明する。なお、図17は、第1の実施形態の分析装置の処理の流れを説明する際にも用いたが、第3の実施形態の分析装置は第1の実施形態の分析装置と同様の流れで処理を行うため、ここでも図17を用いて説明を行う。
 まず、分類部151は、それぞれの顧客がどの商品を買ったかという情報を持つ購買ログを商品ごとに分類し、商品IDを付与する(ステップS101)。そして、作成部152は、購買ログの顧客に関する情報と分類部151によって付与された顧客IDとを基に、それぞれの顧客の購入個数を商品ごとに表した購買ログ行列、すなわち入力行列を作成する(ステップS102)。
 なお、第3の実施形態において、分析装置10は、ステップS101及びS102に示すログ行列の作成を行ってもよいし、行わなくてもよい。分析装置10がログ行列の作成を行わない場合、入力行列は外部から入力されたものであってもよい。また、以降の説明では、購買ログ行列の各行の項目であるアイテムインデックスを商品ID、各列の項目であるインスタンスインデックスを顧客IDとする。
 次に、パターン抽出部153は、購買ログ行列を分解し、基底行列と重み行列を抽出する(ステップS103)。例えば、パターン抽出部153は、NMFによって購買ログ行列を分解し、多くの顧客に購入されるような商品IDの組み合わせであるパターンを表す基底行列、及び、パターンに該当する商品を購入している顧客IDの組み合わせを表す重み行列を、パターンとして抽出する。
 なお、第3の実施形態において、分析装置10は、ステップS104及びS105に示す高頻度パターンの除去を行ってもよいし、行わなくてもよい。高頻度パターンの除去を行わない場合、分析装置10は、ステップS103の実行後、ステップS105を実行せずにステップS106を実行する(ステップS104、No)。
 次に、判定部155は、基底行列の各要素が主要要素であるか否かを判定する(ステップS106)。このとき、判定部155は、複数のパターンそれぞれに含まれる商品IDそれぞれについて、重要度を計算し、重要度が所定の閾値以上であるか否かを判定する。また、第3の実施形態において、分析装置10は、ステップS107に示すシーケンスの抽出を行ってもよいし、行わなくてもよい。
 ここで、判定部155は、重要度の計算及び主要要素の判定を行う際には、第1の実施形態と同様に、TF-IDFに基づく重要度の計算方法や、大津の手法による閾値の計算方法を個別に、又は組み合わせて適宜用いることができる。
 例えば、判定部155は、重要度としてパターンに含まれる商品IDごとの要素の値を用い、閾値としてパターンに含まれる商品IDごとの要素の値を基に、大津の手法を用いて計算した閾値を用いることができる。
 また、判定部155は、パターンに含まれる商品それぞれについて、商品ごとの要素の値が高いほど高くなり、かつ、当該商品を含むパターンが多いほど低くなるように重要度を計算することができる。
 また、判定部155は、各パターンの商品IDごとの要素の値、すなわち、基底行列の各列ベクトルの全要素に対して、大津の手法を用いて第1の閾値を計算し、要素の値が第1の閾値以上である商品IDについて、重要度を計算することができる。
 また、パターン抽出部153は、パターンに該当する商品を購入した顧客IDをさらに抽出してもよい。このとき、判定部155は、各パターンの顧客IDそれぞれ、すなわち、重み行列の行ベクトルの全要素について第2の重要度を計算し、第2の重要度が所定の第2の閾値以上であるか否かをさらに判定する。
 また、判定部155は、第2の重要度として該パターンの顧客IDごとの要素の値を用い、第2の閾値として該パターンに含まれる顧客IDごとの要素の値を基に、大津の手法を用いて計算した閾値を用いることができる。
 また、判定部155は、該パターンの所定の顧客IDごとの要素の値が高いほど高くなり、かつ、該所定の顧客IDを含むパターンが多いほど低くなるように第2の重要度を計算する。
 判定部155は、各パターンの顧客IDごとの要素の値を基に、大津の手法を用いて第3の閾値を計算し、要素の値が第3の閾値以上である顧客IDについて、第2の重要度を計算する。
[第3の実施形態の効果]
 パターン抽出部153は、アイテムインデックスの組み合わせであるパターンを列ベクトルに複数持つ基底行列と、それぞれのパターンのインスタンスインデックスにおける重みを各行ベクトルに持つ重み行列と、を抽出する。また、判定部155は、複数のパターンそれぞれに含まれるアイテムインデックスそれぞれについて、重要度を計算し、重要度が所定の閾値以上であるか否かを判定する。これにより、本実施形態の分析装置10によれば、入力行列のサイズが非常に大きい場合であっても、重要なアイテムの抽出を効率的に行うことが可能となる。
 特に、入力行列のアイテムインデックスを商品ID、インスタンスインデックスを顧客ID、各要素の値を購入個数とした場合、本実施形態の分析装置10は、複数の商品に基づくパターンを抽出することができ、同じ顧客が購入する可能性が高い商品群を抽出することができる。このため、例えば、同じ顧客に購入されやすい商品Aと商品Bのうち、商品Aのみを購入している顧客が購入する可能性がある他の商品として商品Bがあることが分かり、それを顧客に推薦することができる。以降、入力行列のアイテムインデックスを商品ID、インスタンスインデックスを顧客ID、各要素の値を購入個数とした場合の効果について説明するが、本発明によれば、各行の項目としてアイテムインデックスを持ち、各列の項目としてインスタンスインデックスを持つ任意の入力行列を対象として同様の効果を得ることができる。
 判定部155は、重要度としてパターンに含まれる商品IDごとの要素の値を用い、閾値としてパターンに含まれる商品IDごとの要素の値を基に、大津の手法を用いて計算した閾値を用いることができる。これにより、重要度の高い商品を抽出することが可能となる。
 また、判定部155は、該パターンの所定の顧客IDごとの要素の値が高いほど高くなり、かつ、該所定の顧客IDを含むパターンが多いほど低くなるように第2の重要度を計算する。これにより、パターンごとに特徴的な商品を抽出することができる。
 また、判定部155は、各パターンの商品IDごとの要素の値、すなわち、基底行列の各列ベクトルの全要素に対して、大津の手法を用いて第1の閾値を計算し、要素の値が第1の閾値以上である商品IDについて、重要度を計算することができる。これにより、重要度の計算のための負荷を減少させることができる。
 また、パターン抽出部153は、パターンに該当する商品を購入した顧客IDをさらに抽出してもよい。このとき、判定部155は、各パターンの顧客IDそれぞれ、すなわち、重み行列の行ベクトルの全要素について第2の重要度を計算し、第2の重要度が所定の第2の閾値以上であるか否かをさらに判定する。これにより、重要度の高い顧客を抽出することが可能となる。
 また、判定部155は、第2の重要度として該パターンの顧客IDごとの要素の値を用い、第2の閾値として該パターンに含まれる顧客IDごとの要素の値を基に、大津の手法を用いて計算した閾値を用いることができる。これにより、重要度の計算のための負荷を減少させることができる。
 また、判定部155は、該パターンの所定の顧客IDごとの要素の値が高いほど高くなり、かつ、該所定の顧客IDを含むパターンが多いほど低くなるように第2の重要度を計算する。これにより、パターンごとに特徴的な商品を抽出することができる。
 判定部155は、各パターンの顧客IDごとの要素の値を基に、大津の手法を用いて第3の閾値を計算し、要素の値が第3の閾値以上である顧客IDについて、第2の重要度を計算する。これにより、重要度の計算のための負荷を減少させることができる。
[その他の実施形態]
 テキストログ51を基に作成される辞書情報142は、図3のものに限られない。例えば、図18に示すように、さらに短い文字列をテンプレートとしてもよい。図18は、その他の実施形態に係る辞書情報のデータ構成の一例を示す図である。また、分析対象のテキストログに、いずれのテンプレートにも一致しないメッセージが含まれていた場合、分析装置10は、当該メッセージを随時辞書情報142に追加していくようにしてもよい。
[システム構成等]
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 一実施形態として、分析装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の分析を実行する分析プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分析プログラムを情報処理装置に実行させることにより、情報処理装置を分析装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
 また、分析装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の分析に関するサービスを提供する分析サーバ装置として実装することもできる。例えば、分析サーバ装置は、テキストログを入力とし、抽出したIDを出力とする分析サービスを提供するサーバ装置として実装される。この場合、分析サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の分析に関するサービスを提供するクラウドとして実装することとしても構わない。
 図19は、プログラムが実行されることにより分析装置が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、分析装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、分析装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSDにより代替されてもよい。
 また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 10 分析装置
 11 通信部
 12 入力部
 13 出力部
 14 記憶部
 15 制御部
 141 出力ログ情報
 142 辞書情報
 151 分類部
 152 作成部
 153 パターン抽出部
 154 除去部
 155 判定部
 156 有意ログ抽出部
 157 シーケンス抽出部

Claims (22)

  1.  システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する分類部と、
     前記メッセージに付された発生日時に基づいて、所定の時間幅ごとの前記メッセージの前記テキストログにおける出現状況を、前記IDごとに表した行列を作成する作成部と、
     前記作成部によって作成された行列から、前記IDの組み合わせであるパターンを複数抽出するパターン抽出部と、
     前記行列から前記パターンの一部又は全部を除去する除去部と、
     前記複数のパターンそれぞれに含まれる要素それぞれについて重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定する判定部と、
     前記テキストログから、前記判定部によって前記重要度が前記所定の閾値以上であると判定された要素に関する所定の情報を抽出する情報抽出部と、
     を有することを特徴とする分析装置。
  2.  前記判定部は、前記複数のパターンそれぞれに含まれるIDそれぞれについて前記重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定し、
     前記情報抽出部は、前記判定部によって、前記重要度が所定の閾値以上であると判定されたIDがどのような順序で出現しているのかを表すシーケンスから、特定のシーケンスを抽出することを特徴とする請求項1に記載の分析装置。
  3.  システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する分類部と、
     前記メッセージに付された発生日時に基づいて、所定の時間幅ごとの前記メッセージの前記テキストログにおける出現状況を、前記IDごとに表した行列であるログ行列を作成する作成部と、
     前記ログ行列を分解し、前記IDの組み合わせであるパターンを列ベクトルにもつ基底行列と、前記パターンが前記所定の時間幅ごとにどの程度出現したかを表す行ベクトルをもつ重み行列とを抽出するパターン抽出部と、
     前記ログ行列から前記パターンの一部又は全部を除去する除去部と、
     を有することを特徴とする分析装置。
  4.  前記パターン抽出部は、非負値行列因子分解によって前記ログ行列を分解することを特徴とする請求項3に記載の分析装置。
  5.  前記パターン抽出部は、前記除去部によって前記パターンが除去されたログ行列から、さらにパターンを抽出することを特徴とする請求項3又は4に記載の分析装置。
  6.  前記除去部は、前記基底行列と前記重み行列の各パターンの要素のうち値が所定の閾値より小さい要素の値を0に置き換えた有意重み行列との積と、前記基底行列の各パターンの要素のうち値が所定の閾値より小さい要素の値を0に置き換えた有意基底行列と前記重み行列との積と、前記有意基底行列と前記有意重み行列との積と、のうちのいずれか1つを前記ログ行列から差し引くことで、前記パターンを除去することを特徴とする請求項3乃至5のいずれか1項に記載の分析装置。
  7.  前記除去部は、前記基底行列と前記重み行列の各パターンの要素のうち値が所定の閾値以上である要素の値を0に置き換えた非有意重み行列との積と、前記基底行列の各パターンの要素のうち値が所定の閾値以上である要素の値を0に置き換えた非有意基底行列と前記重み行列との積と、前記非有意基底行列と前記非有意重み行列との積と、のうちのいずれか1つを前記ログ行列から前記パターンを除去した行列とすることを特徴とする請求項3乃至5のいずれか1項に記載の分析装置。
  8.  各行の項目としてアイテムインデックスを持ち、各列の項目としてインスタンスインデックスを持つ入力行列を、2つの行列の積に分解する分析装置であって、
     前記アイテムインデックスの組み合わせであるパターンを列ベクトルに複数持つ基底行列と、それぞれの前記パターンの前記インスタンスインデックスにおける重みを各行ベクトルに持つ重み行列と、を抽出するパターン抽出部と、
     前記複数のパターンそれぞれに含まれる前記アイテムインデックスそれぞれについて、重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定する判定部と、
     を有することを特徴とする分析装置。
  9.  前記判定部は、前記重要度として該パターンに含まれる前記基底行列のアイテムインデックスごとの要素の値を用い、前記閾値として該パターンに含まれる全ての前記基底行列のアイテムインデックスごとの要素の値を基に、大津の手法を用いて計算した閾値を用いることを特徴とする請求項8に記載の分析装置。
  10.  前記判定部は、該パターンの前記基底行列のアイテムインデックスごとの要素の値が高いほど高くなり、かつ、該基底行列のアイテムインデックスを含む前記パターンが多いほど低くなるように前記重要度を計算することを特徴とする請求項8に記載の分析装置。
  11.  前記判定部は、前記基底行列のアイテムインデックスごとの要素の値を基に、大津の手法を用いて第1の閾値を計算し、前記要素の値が前記第1の閾値以上であるアイテムインデックスについて、前記重要度を計算することを特徴とする請求項10に記載の分析装置。
  12.  前記パターン抽出部は、前記パターンの所定の重み行列のインスタンスインデックスごとの要素の値をさらに抽出し、
     前記判定部は、前記パターンの前記所定の重み行列のインスタンスインデックスそれぞれについて第2の重要度を計算し、前記第2の重要度が所定の第2の閾値以上であるか否かをさらに判定することを特徴とする請求項8乃至11のいずれか1項に記載の分析装置。
  13.  前記判定部は、前記第2の重要度として該パターンの前記所定の重み行列のインスタンスインデックスごとの要素の値を用い、前記第2の閾値として前記要素の値を基に、大津の手法を用いて計算した閾値を用いることを特徴とする請求項12に記載の分析装置。
  14.  前記判定部は、該パターンの前記所定の重み行列のインスタンスインデックスごとの要素の値が高いほど高くなり、かつ、該所定の重み行列のインスタンスインデックスに要素の値を持つ前記パターンが多いほど低くなるように前記第2の重要度を計算することを特徴とする請求項12に記載の分析装置。
  15.  前記判定部は、前記所定の重み行列のインスタンスインデックスごとの要素の値を基に、大津の手法を用いて第3の閾値を計算し、前記所定の重み行列のインスタンスインデックスごとの要素の値が前記第3の閾値以上であるインスタンスインデックスについて、前記第2の重要度を計算することを特徴とする請求項14に記載の分析装置。
  16.  システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する分類部と、
     前記メッセージに付された発生日時に基づいて、所定の時間幅ごとの前記メッセージの前記テキストログにおける出現状況を、前記IDごとに表した行列を作成する作成部と、
     前記作成部によって作成された行列から、前記IDの組み合わせであるパターンを複数抽出するパターン抽出部と、
     前記複数のパターンそれぞれに含まれるIDそれぞれについて重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定する判定部と、
     前記テキストログの各メッセージを前記分類部で付与されたIDに置換したログから、前記判定部が前記所定の閾値以上であると判定したIDのみを抜き出した有意ログを生成する有意ログ抽出部と、
     前記重要度の高いIDがどのような順序で出現しているのかを表すシーケンスのそれぞれの出現回数を、前記生成した有意ログからカウントし、当該出現回数が所定の閾値以上でかつ所定の条件を満たすシーケンスを抽出するシーケンス抽出部と、
     を有することを特徴とする分析装置。
  17.  前記パターン抽出部は、前記パターンの前記所定の時間幅ごとの出現の程度をさらに抽出し、
     前記判定部は、前記パターンの前記所定の時間幅それぞれについて第2の重要度を計算し、前記第2の重要度が所定の第2の閾値以上であるか否かをさらに判定し、
     前記有意ログ抽出部は、前記判定部が前記所定の第2の閾値以上であると判定した所定の時間幅のみを抜き出した有意ログを生成する
     ことを特徴とする請求項16に記載の分析装置。
  18.  分析装置で実行される分析方法であって、
     システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する分類工程と、
     前記メッセージに付された発生日時に基づいて、所定の時間幅ごとの前記メッセージの前記テキストログにおける出現状況を、前記IDごとに表した行列を作成する作成工程と、
     前記作成工程によって作成された行列から、前記IDの組み合わせであるパターンを複数抽出するパターン抽出工程と、
     前記行列から前記パターンの一部又は全部を除去する除去工程と、
     前記複数のパターンそれぞれに含まれる要素それぞれについて重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定する判定工程と、
     前記テキストログから、前記判定工程によって前記重要度が前記所定の閾値以上であると判定された要素に関する所定の情報を抽出する情報抽出工程と、
     を含んだことを特徴とする分析方法。
  19.  分析装置で実行される分析方法であって、
     システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する分類工程と、
     前記メッセージに付された発生日時に基づいて、所定の時間幅ごとの前記メッセージの前記テキストログにおける出現状況を、前記IDごとに表した行列であるログ行列を作成する作成工程と、
     前記ログ行列を分解し、前記IDの組み合わせであるパターンを列ベクトルにもつ基底行列と、前記パターンが前記所定の時間幅ごとにどの程度出現したかを表す行ベクトルをもつ重み行列とを抽出するパターン抽出工程と、
     前記ログ行列から前記パターンの一部又は全部を除去する除去工程と、
     を含んだことを特徴とする分析方法。
  20.  各行の項目としてアイテムインデックスを持ち、各列の項目としてインスタンスインデックスを持つ入力行列を、2つの行列の積に分解する分析装置で実行される分析方法であって、
     前記アイテムインデックスの組み合わせであるパターンを列ベクトルに複数持つ基底行列と、それぞれの前記パターンの前記インスタンスインデックスにおける重みを各行ベクトルに持つ重み行列と、を抽出するパターン抽出工程と、
     前記複数のパターンそれぞれに含まれる前記アイテムインデックスそれぞれについて、重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定する判定工程と、
     を含んだことを特徴とする分析方法。
  21.  分析装置で実行される分析方法であって、
     システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する分類工程と、
     前記メッセージに付された発生日時に基づいて、所定の時間幅ごとの前記メッセージの前記テキストログにおける出現状況を、前記IDごとに表した行列を作成する作成工程と、
     前記作成工程によって作成された行列から、前記IDの組み合わせであるパターンを複数抽出するパターン抽出工程と、
     前記複数のパターンそれぞれに含まれるIDそれぞれについて重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定する判定工程と、
     前記テキストログの各メッセージを前記分類工程で付与されたIDに置換したログから、前記判定工程が前記所定の閾値以上であると判定したIDのみを抜き出した有意ログを生成する有意ログ抽出工程と、
     前記重要度の高いIDがどのような順序で出現しているのかを表すシーケンスのそれぞれの出現回数を、前記生成した有意ログからカウントし、当該出現回数が所定の閾値以上でかつ所定の条件を満たすシーケンスを抽出するシーケンス抽出工程と、
     を有することを特徴とする分析方法。
  22.  コンピュータを、請求項1から17のいずれか1項に記載の分析装置として機能させるための分析プログラム。
     
PCT/JP2018/013937 2017-04-03 2018-03-30 分析装置、分析方法及び分析プログラム WO2018186314A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019511214A JP6714152B2 (ja) 2017-04-03 2018-03-30 分析装置、分析方法及び分析プログラム
EP18781016.3A EP3591532B1 (en) 2017-04-03 2018-03-30 Analysis device, analysis method, and analysis program
US16/499,870 US11398083B2 (en) 2017-04-03 2018-03-30 Analysis device, analysis method, and analysis program
US17/846,015 US20220327800A1 (en) 2017-04-03 2022-06-22 Analysis device, analysis method, and analysis program

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP2017074054 2017-04-03
JP2017074052 2017-04-03
JP2017-074052 2017-04-03
JP2017074053 2017-04-03
JP2017-074055 2017-04-03
JP2017074055 2017-04-03
JP2017-074054 2017-04-03
JP2017-074053 2017-04-03

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/499,870 A-371-Of-International US11398083B2 (en) 2017-04-03 2018-03-30 Analysis device, analysis method, and analysis program
US17/846,015 Division US20220327800A1 (en) 2017-04-03 2022-06-22 Analysis device, analysis method, and analysis program

Publications (1)

Publication Number Publication Date
WO2018186314A1 true WO2018186314A1 (ja) 2018-10-11

Family

ID=63712252

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/013937 WO2018186314A1 (ja) 2017-04-03 2018-03-30 分析装置、分析方法及び分析プログラム

Country Status (4)

Country Link
US (2) US11398083B2 (ja)
EP (1) EP3591532B1 (ja)
JP (1) JP6714152B2 (ja)
WO (1) WO2018186314A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021090503A1 (ja) * 2019-11-08 2021-05-14
WO2021171383A1 (ja) * 2020-02-25 2021-09-02 日本電気株式会社 ログ生成装置、ログ生成方法、及びコンピュータ読み取り可能な記録媒体

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6535130B2 (ja) * 2016-03-07 2019-06-26 日本電信電話株式会社 分析装置、分析方法および分析プログラム
WO2021186738A1 (ja) * 2020-03-19 2021-09-23 日本電信電話株式会社 情報管理方法、情報管理プログラム及び情報管理装置
CN112000955B (zh) * 2020-08-21 2022-09-27 北京紫光展锐通信技术有限公司 确定日志特征序列的方法、漏洞分析方法及系统、设备
US20220206486A1 (en) * 2020-12-31 2022-06-30 Infosys Limited Method and system for predictive maintenance of a machinery asset

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015036891A (ja) 2013-08-13 2015-02-23 日本電信電話株式会社 監視情報分析装置及び方法
JP2016081371A (ja) * 2014-10-20 2016-05-16 日本電信電話株式会社 分析装置、分析方法、及び分析プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5428934B2 (ja) 2010-02-22 2014-02-26 富士通株式会社 障害パターン生成プログラムおよび障害パターン生成装置
US9740762B2 (en) * 2011-04-01 2017-08-22 Mongodb, Inc. System and method for optimizing data migration in a partitioned database
CN106575254B (zh) 2014-08-25 2019-05-28 日本电信电话株式会社 日志分析装置、日志分析系统、日志分析方法及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015036891A (ja) 2013-08-13 2015-02-23 日本電信電話株式会社 監視情報分析装置及び方法
JP2016081371A (ja) * 2014-10-20 2016-05-16 日本電信電話株式会社 分析装置、分析方法、及び分析プログラム

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
A. ACHAR ET AL.: "Pattern-growth based frequent serial episode discovery", DATA AND KNOWLEDGE ENGINEERING, vol. 87, 2013, pages 91 - 108, XP028730441, DOI: 10.1016/j.datak.2013.06.005
HIROSHI SAWADA: "Nonnegative Matrix Factorization and Its Applications to Data/Signal Analysis", THE JOURNAL OF THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS, vol. 95, no. 9, September 2012 (2012-09-01), pages 829 - 833
J.PEI ET AL.: "PrefixSpan: Mining Sequential Patterns Efficiently by Prefix-Projected Pattern Growth", PROC. OF THE 17TH INT'L CONF. ON DATA ENGINEERING, 2001, pages 215 - 224, XP010538063, Retrieved from the Internet <URL:http://idb.csie.ncku.edu.tw/tsengsm/COURSE/DM/Paper/PrefixSpan.pdf>
KENJI YAMANISHI: "Anomaly detection with data mining", 2009, KYORITSU SHUPPAN
NOBUYUKI OTSU: "A threshold selection method from gray-level histograms", AUTOMATICA, vol. 11, no. 285-296, 1975, pages 23 - 27
See also references of EP3591532A4
TATSUAKI KIMURA ET AL.: "IEEE INFOCOM 2014-IEEE Conference on Computer Communications", 2014, IEEE, article "Spatio-temporal factorization of log data for understanding network events"
TORA, SHOTARO ET AL.: "A consideration on interval change of time frame in convolutive NMF", THE 13TH ANNUAL MEETING OF DBSJ, 4 March 2015 (2015-03-04), XP055559380, Retrieved from the Internet <URL:http://db-event.jpn.org/deim2015/paper/242.pdf> [retrieved on 20180522] *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021090503A1 (ja) * 2019-11-08 2021-05-14
WO2021090503A1 (ja) * 2019-11-08 2021-05-14 日本電信電話株式会社 情報流通システム、監視装置、共有装置及び情報流通方法
JP7294443B2 (ja) 2019-11-08 2023-06-20 日本電信電話株式会社 情報流通システム、監視装置及び情報流通方法
US11765022B2 (en) 2019-11-08 2023-09-19 Nippon Telegraph And Telephone Corporation Information distribution system, monitoring device, sharing device and information distribution method
WO2021171383A1 (ja) * 2020-02-25 2021-09-02 日本電気株式会社 ログ生成装置、ログ生成方法、及びコンピュータ読み取り可能な記録媒体
JP7351399B2 (ja) 2020-02-25 2023-09-27 日本電気株式会社 ログ生成装置、ログ生成方法、及びプログラム

Also Published As

Publication number Publication date
US11398083B2 (en) 2022-07-26
EP3591532A1 (en) 2020-01-08
JP6714152B2 (ja) 2020-06-24
EP3591532A4 (en) 2021-01-27
US20220327800A1 (en) 2022-10-13
EP3591532B1 (en) 2022-09-07
JPWO2018186314A1 (ja) 2019-07-04
US20200057906A1 (en) 2020-02-20

Similar Documents

Publication Publication Date Title
JP6714152B2 (ja) 分析装置、分析方法及び分析プログラム
US11586972B2 (en) Tool-specific alerting rules based on abnormal and normal patterns obtained from history logs
JP6643211B2 (ja) 異常検知システム及び異常検知方法
US10205734B2 (en) Network sampling based path decomposition and anomaly detection
US20170262353A1 (en) Event correlation
US20200265119A1 (en) Site-specific anomaly detection
US20150205692A1 (en) Behavior clustering analysis and alerting system for computer applications
US9870294B2 (en) Visualization of behavior clustering of computer applications
CN111310139B (zh) 行为数据识别方法、装置及存储介质
CN112513851A (zh) 使用机器学习的敏感数据标识
Wong et al. Data-driven analysis of resilience in airline networks
CN106708738B (zh) 一种软件测试缺陷预测方法及系统
JP6491356B2 (ja) 分類方法、分類装置および分類プログラム
Shafer et al. Rainmon: An integrated approach to mining bursty timeseries monitoring data
US11757708B2 (en) Anomaly detection device, anomaly detection method, and anomaly detection program
Kumar et al. Machine learning based malware detection in cloud environment using clustering approach
CN114465874A (zh) 故障预测方法、装置、电子设备与存储介质
Ackermann et al. Black-box learning of parametric dependencies for performance models
CN111343143B (zh) 数据识别方法、装置及存储介质
JP5922811B1 (ja) ログ情報分類装置、ログ情報分類方法、及びプログラム
US20190121973A1 (en) System and method for detecting security risks in a computer system
CN110661818A (zh) 事件异常检测方法、装置、可读存储介质和计算机设备
US20230275908A1 (en) Thumbprinting security incidents via graph embeddings
US11914461B1 (en) Organization segmentation for anomaly detection
Sharma et al. Introducing a reliability analysis framework for high performance computing environments

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18781016

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019511214

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018781016

Country of ref document: EP

Effective date: 20191001