JP5200775B2 - イベントデータ分割処理プログラム,装置および方法 - Google Patents

イベントデータ分割処理プログラム,装置および方法 Download PDF

Info

Publication number
JP5200775B2
JP5200775B2 JP2008226604A JP2008226604A JP5200775B2 JP 5200775 B2 JP5200775 B2 JP 5200775B2 JP 2008226604 A JP2008226604 A JP 2008226604A JP 2008226604 A JP2008226604 A JP 2008226604A JP 5200775 B2 JP5200775 B2 JP 5200775B2
Authority
JP
Japan
Prior art keywords
sequence
event
series
candidate
interval
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008226604A
Other languages
English (en)
Other versions
JP2010061412A (ja
Inventor
伸弘 湯上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008226604A priority Critical patent/JP5200775B2/ja
Publication of JP2010061412A publication Critical patent/JP2010061412A/ja
Application granted granted Critical
Publication of JP5200775B2 publication Critical patent/JP5200775B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は,複数の系列のイベントが時系列に並ぶイベントデータを,時間的に近接して発生した一連の系列に分割するイベントデータ分割処理プログラム,装置および方法に関する。
イベントデータは,系列に属する一連のイベントが時系列で並ぶデータであり,時間的に近接して発生した一連のイベントで構成されるイベント系列が多数重ね合わさったデータである。例えば,コンピュータシステムが出力するメッセージデータ(システムログデータ等)は,なんらかの要因でシステムによって連続的に出力され,その出力が要因発生の度に繰り返されることで生成される。すなわち,メッセージデータは,一つの要因に対応するメッセージ系列の重ね合わせである。
本発明は,このようにして生成される時系列データ(イベントデータ)を入力として与えられたときに,このイベントデータを元々の系列に分割する処理に関する。
図31に,イベントデータおよび系列を構成するイベント(時系列データ)の集合の例を示す。図31において,横軸が時間軸を表し,黒丸がイベントを表す。また,横軸上の黒丸の位置がイベントの発生時刻を表す。図31(A)および(B)に示す例では,それぞれ,イベントデータに9個のイベントが含まれていることを表す。
図31(A)のイベントデータには3つのイベントの系列が含まれ,各系列1〜3は,それぞれ,3個,4個,2個のイベントで構成されている。系列内では,同一の系列に属するイベントのみが時間的に連続している。図31(B)のイベントデータには2つのイベント系列が含まれ,各系列1,2は,それぞれ,6個,4個のイベントで構成されている。しかし,系列1内には別の系列2のイベントが発生している状態であり,系列が,時間的に連続して発生したイベントのみでは構成されていない。
本発明は,図31(A)に示すようなイベント系列を含むイベントデータを処理対象とし,イベントデータを,時間的に連続して発生したイベントのみで構成される系列へ分割するものである。
イベントデータ内の時系列のデータをイベント系列毎に分割できれば,時系列データ,特に大量のイベントからなる大規模な時系列データを利用する際に,利用データによる処理結果の信頼性を向上,処理時間の短縮等の大きな効果がある。
例えば,ITシステムのシステムログの最も重要な利用目的の一つは,障害発生時に原因を究明し,できる限り短期間にシステムを復旧することである。しかし,障害発生時には短期間に大量のメッセージが出力されるため,その全てに目を通すことは実際には非常に困難である。もしメッセージデータを「一連のメッセージ」の系列毎に分割できれば,メッセージデータ全体に目を通すことなく,各イベント系列の代表的なメッセージだけを読むことが可能となり,このようなチェックによって,ある程度状況を把握することが可能となる。その結果,障害の原因究明や復旧に要する時間を短縮することが可能となる。
さらに,イベントデータの系列への分割は,WEBサイトへのアクセスログ分析への適用も可能である。この場合に,URLへのリクエストがイベントとなり,リクエスト時刻がイベントの発生時刻となる。WEBサイトへのアクセスの典型的なパターンの一つは,いくつかのリンクをたどって目的のURLへ到達し,そのURLに記載されている情報を読み,またいくつかのリンクをたどって別のURLへ移動する,ということを繰り返すようなアクセスである。このようなアクセスログに対して,あるURLへ至るリンク上にあるURLへのアクセスを系列としてまとめることができれば,利用者にとって実際に重要なURLと,そのURLへの移動のためのURLとを分離することができる。そして,サイトの利用態様を分析し,サイト構成を検討したり変更したりする際の時間短縮や信頼性向上に有用である。
イベントデータを系列毎に分割する従来手法として,時間間隔に基づく分割手法と開始/終了パターンに基づく分割手法とが知られている。
時間間隔に基づく分割手法(従来手法1)は,イベント間の時間間隔の閾値を用いる方法である。例えば,図31の例で,閾値を4とし,間隔が“4”以下であれば同じ系列,“4”より大きければ異なる系列と判断して,イベントデータを分割する。
開始/終了パターンに基づく分割手法(従来手法2)は,一連のイベント系列の最初と最後のパターンを定義することによって,イベント列の中から,系列の最初および最後のパターンと合致する部分を探し,その前/後で分割する(例えば,特許文献1参照)。
特開2003−308229号公報
従来手法1は,前述のITシステムのメッセージ例でいうと,メッセージの要因となる事象の発生頻度が低く,その間隔が単一の事象から発せられる複数のメッセージの間隔に比べて十分大きい場合に,閾値をこれらの時間間隔の中間の値に設定することで正しい分割を行うことができる。
しかし,障害発生時には様々な事象が短期間に集中的に発生し,事象の発生間隔も平均的に短くなる。そのため,場合によっては単一の事象からのメッセージの発生間隔と同程度あるいはそれよりも短くなることがある。
従来手法2は,一連のイベント系列の最初と最後のパターンの定義を与えることにより,従来手法1の問題点を解決している。すなわち,イベント列の中から,イベントデータから,系列の最初/最後のパターンと合致する部分を探しており,イベントの発生間隔によらずに分割することができる。
しかし,従来手法2は,系列の最初/最後の部分が少数の固定パターンであるようなイベントデータでしか使用することができない。また,最初/最後のパターンが,系列のそれ以外の部分に出現しないことも要求される。それに加えて,あらかじめ開始/終了パターンの定義を与える必要もある。
前述の従来手法1および2の課題をまとめると,以下の3点である。
・課題1:従来手法1では,イベントが集中して発生している場合にうまく分割できない。
・課題2:従来手法2では,どのようなパターンを開始および終了パターンとするかを設定する必要がある。
・課題3:従来手法2では,系列が特定のパターンで開始/終了する場合にしか適用できない。
本発明の目的は,イベントが集中して発生する可能性があってイベント間の間隔が不定であったり,開始/終了パターンが特定できない系列であっても,精度よく分割できるようなイベントデータ分割を行える処理技術を提供することである。
前記課題を解決するため,本発明は,以下の3段階の処理を行う。
(1) イベントデータの時系列上で隣接するイベントの間隔が十分大きく,2つのイベントが高い確率で他の系列に属すると判断できる間隔を示す閾値T1を用いて,閾値T1に該当する箇所で時系列のイベントを分割し,系列候補を生成する。
(2) 前記(1)の処理で得られた系列候補の中で,その系列候補に属する全てのイベントが隣接するイベントとの時間間隔が十分小さい,すなわち同一系列である可能性の高いイベント同士の間隔を示す閾値T2以下の間隔で隣り合う系列候補を選択する。そして,選択した系列候補中でのイベントの出現順序から,同一系列の中では出現しない確率が高いイベントのパターン(禁止パターン)を生成する。
(3) 前記(1)の処理で生成された系列候補の中で,前記(2)の処理で選ばれなかった系列候補について,禁止パターンを使って系列候補内の分割箇所を決定する。そして,決定した箇所で分割を行うことによって,最終的な系列を生成する。なお,(2)の処理で選択された系列候補は,それ自体を最終的な系列とする。
本発明では,2つの時間間隔の閾値T1,T2を使用することによって,イベント間の時間間隔で系列への分割が可能な箇所のみを時間間隔を使って分割し,それ以外の箇所はパターンを使って分割することによって,前記の課題1を解決する。
このとき,分割するパターンは外部から与える必要はなく,時間間隔で生成された系列から自動的に生成するため,課題2をも解決できる。
最後に,生成されるパターンは開始・終了パターンによって特定されるものではないため,課題3も解決できる。
具体的には,開示するプログラムは,コンピュータを,以下の特定の処理を行うデータ読み込み部とイベント間隔分類部と系列候補生成部と禁止パターン生成部と禁止パターン出現箇所抽出部と系列候補分割部とイベント系列出力部として機能させるものである。
コンピュータのデータ読み込み部が,イベントの種別および発生時刻の情報を含むイベントが発生の順に並べられたイベントデータを取得すると,イベント間隔分類部が,隣り合うイベント同士が別系列であるとの判定用の第1の閾値と,隣り合うイベント同士が同一系列であるとの判定用の第2の閾値とを備えて,イベントデータの時間的に隣り合うイベント同士の発生時刻から算出した間隔各々について,第1の閾値または第2の閾値による判定分類を行う。
そして,系列候補生成部が,イベントデータを第1の閾値を超える間隔で分割して系列候補を生成する。
次に,禁止パターン生成部が,系列候補のうち,系列候補に含まれる間隔の全てが第2の閾値以内の間隔である系列候補を第1の系列候補とし,系列候補に含まれる間隔に前記第2の閾値を超える間隔を含む系列候補を第2の系列候補とし,第1の系列候補のイベントの種別の並びに基づいて,同一系列に出現しない確率が高い種別の並びを推定して禁止パターンを生成する。すると,禁止パターン出現箇所抽出部が,第2の系列候補各々について,禁止パターンと一致するイベントの並びを検出して禁止パターン出現箇所とする。系列候補分割部が,禁止パターン出現箇所を解消するイベントの間隔を探索し,探索した間隔で第2の系列候補を分割して系列を生成すると,イベント系列出力部が,第1の系列候補および第2の系列候補から分割された系列を,それぞれイベント系列として出力する。
これにより,イベントデータから,別系列のイベント間より十分に広い間隔を示す第1の閾値と,同系列のイベントの間隔を示す第2の閾値を用いて,同系列である確度の高い第1の系列候補と確度の低い第2の系列候補とを抽出し,第2の系列候補については,第1の系列候補から推定した,出現する確率が低いイベントの並びのパターンの出現箇所をもとにさらに系列候補を分割するため,より高精度でイベント系列を出力することができる。
本発明によれば,イベント間の時間間隔とイベントの発生パターンとの両方を組み合わせてイベントデータの分割箇所を決定していく。そのため,従来手法に比べてより高い精度でイベント系列を抽出することができる。特に,短期間に集中的に多数のイベントが発生するような状況のイベントデータについて,より高い精度で系列に分割することができる。
本発明は,情報処理システムのメッセージログ,Webサイトのアクセスログ,サーバ間のリクエスト履歴データを用いた分析処理の前処理として利用可能であり,これらの前処理において,イベント系列の特定を高精度に行えるという格別の効果を奏する。
図1は,本発明の実施の形態における構成例を示す図である。
図1のイベントデータ分割処理装置1は,データ読み込み部11,系列候補生成部12,イベント間隔分類部13,系列候補分割部14,禁止パターン生成部15,禁止パターン出現箇所抽出部16,および分割結果出力部17を備える。
データ読み込み部11は,イベントデータ2を取得する。
イベントデータ2は,イベント種別および発生時刻の情報を含むイベントメッセージを,発生時刻順に並べた時系列データである。
系列候補生成部12は,イベントデータ2の時間的に隣接するイベントの間隔を計算してイベント間隔分類部13へ渡す。また,イベント間隔分類部13から,イベントデータ2の全てのイベントの間隔について第1の閾値T1および第2の閾値T2による分類結果を取得する。
第1の閾値T1は,時系列上で隣接するイベント同士が異なる系列に分類されるかを判断するための値である。隣り合う2つのイベントの時間間隔が閾値T1以上または超過する場合に,2つのイベントは別系列に属するものと判断され,イベントデータ2はその間隔で分割される。
第2の閾値T2は,時系列上で隣接するイベント同士が同じ系列に分類されるかを判断するための値である。隣り合う2つのイベントの時間間隔が閾値T2以下または下回る場合に,2つのイベントは同一系列に属するものと判断され,その間隔では分割されない。
2つの閾値T1,T2は,T1>T2の関係となるように設定される。
なお,従来手法1で使用する閾値を仮にT3とすると,閾値T1,T2と従来手法の閾値T3との関係が,「T1>T3>T2」となるように設定される。
系列候補生成部12は,イベント間隔分類部13から得た分類結果をもとに,イベントデータ2の隣り合うイベントの間隔のうち,第1の閾値T1を超える間隔を特定し,特定した箇所でイベントデータ2を分割して系列候補を生成する。
イベント間隔分類部13は,系列候補生成部12から得たイベントの間隔を,第1の閾値T1を超える間隔であるか否か,第2の閾値T2以下の間隔であるか否かを判定して分類し,その分類結果を系列候補生成部12へ返却する。
系列候補分割部14は,系列候補中の間隔が全て閾値T2以内の間隔である系列候補を抽出して第1の系列候補とし,第1の系列候補の集合を禁止パターン生成部15に渡す。第1の系列候補は,そのままイベント系列として出力される確度が高いものである。
また,系列候補分割部14は,間隔に閾値T2を超える間隔を含む系列候補を抽出して第2の系列候補とし,第2の系列候補の集合を禁止パターン出現箇所抽出部16へ渡す。第2の系列候補は,そのままイベント系列として出力される確度が低いものである。
さらに,系列候補分割部14は,禁止パターン出現箇所抽出部16によって特定された禁止パターン出現箇所を解消する箇所で,イベント間の間隔が閾値T2を超える箇所を探索して分割箇所候補とし,最多の禁止パターン出現箇所を解消できる分割箇所候補を分割箇所として選択し,この分割箇所で第2の系列候補を分割する。
禁止パターン生成部15は,第1の系列候補の集合をもとに,同一系列内で出現しない確率が高いイベントの種別の並びを推定し,推定したイベント種別の並びから禁止パターンを生成する。もし,1つの系列候補中に禁止パターンに該当するイベントの種別の並びが出現するならば,その系列候補は,複数の系列が合わさったものであり,適切な系列を生成するために,さらに分割する必要があると判断するためである。
禁止パターンの最も簡単な形式は,「種別がXであるイベントよりも後に種別がYのイベントが存在する」というパターンである。このようなパターンを2項禁止パターンと呼び「X→Y」と記す。2項禁止パターン「X→Y」は,もし系列中に種別Xのイベントが存在すれば,それ以降に種別Yのイベントは出現しないことを表す。
禁止パターン出現箇所抽出部16は,第2の系列候補の集合の各系列候補について,禁止パターンに該当するイベントの種別の並びを特定して,禁止パターン出現箇所とする。
分割結果出力部17は,イベントデータ2の第1の系列候補と第2の系列候補から分割された系列とをイベント系列とし,イベント系列の集合を分割結果3として出力する。
以下,イベントデータ分割処理装置1の処理の具体例をより具体的に説明する。
〔第1の処理例〕
図2に,第1の処理例におけるイベントデータ2の例を示す。
図2に示すイベントデータ2の各イベントは,イベントID(識別番号),イベント種別および発生時刻のデータからなる。なお,イベントIDは,説明の都合上付与したものであり必須情報ではない。イベントデータ2において,イベントは発生時刻順にソートされている。ここで,イベント間隔は,隣り合う2つのイベントメッセージの発生時刻の間隔となる。
図2のイベントデータ2では,2種類のイベント系列「A→B→C」と「B→C→A」の2つの系列が順番に現れている。例えばイベントがWebのアクセスログであれば,「A,B,C」はURLを示し,2種類のイベント系列は,それぞれ,ユーザのアクセス目的を示している。
図3に,図2のイベントデータ2の場合に望まれる分割結果(イベント系列の集合)の例を示す。図2のイベントデータ2の場合には,{E1,E2,E3},{E4,E5,E6},{E7,E8,E9},{E10,E11,E12},{E13,E14,E15},{E16,E17,E18},{E19,E20,E21}の7個の系列に分割され,系列ES1〜ES7の集合が分割結果3として出力されるのが望ましい。
以下に,イベントデータ分割処理装置1の処理の流れを説明する。
図4は,イベントデータ分割処理装置1の処理概要を示す図である。
ステップS1:データ読み込み部11は,図2に示すイベントデータ2を読み込む。
ステップS2:系列候補生成部12は,イベントデータ2の隣り合うイベントの間隔を用いて系列候補に分割する。
系列候補への分割には閾値T1=10秒,閾値T2=3秒を用いる。
図5は,ステップS2の系列候補生成処理の詳細な処理フロー図である。
ステップS21:系列候補生成部12は,隣接する2つのイベントの前のイベントE(i−1)の発生時刻と後のイベントEiの発生時刻との間隔Δiを計算する。
ステップS22:イベント間隔分類部13は,閾値T1,T2を用いて,間隔Δiを「分類(1):閾値T1より大きい間隔」,「分類(2):閾値T1以下かつ閾値T2より大きい間隔」,「分類(3):閾値T2以下の間隔」の3種類に分類する。
ステップS23:系列候補生成部12は,イベント間隔分類部13の分類結果を用いて,イベントデータ2を,間隔が分類(1)の箇所,すなわち2つのイベントの発生時刻の間隔が閾値T1より大きい箇所で分割して,系列候補を生成する。
図6に,イベントデータ2のイベントの間隔Δiの分類結果および生成された系列候補の例を示す。
図6において,間隔Δ4(イベントE3とイベントE4との間),間隔Δ7(イベントE6とイベントE7との間),間隔Δ13(イベントE12とイベントE13との間),間隔Δ16(イベントE15とイベントE16との間),間隔Δ19(イベントE18とイベントE19との間)が分類(1)に区分され,これらの箇所でイベントデータ2が分割される。そして,系列候補seq1〜seq6として,{E1,E2,E3},{E4,E5,E6},{E7,E8,E9,E10,E11,E12},{E13,E14,E15},{E16,E17,E18},{E19,E20,E21}が生成される。
閾値T1は,前後するイベントが別の系列に属することを示すように十分に大きな値が設定されているので,算出されたイベント間隔が閾値T1を越える場合には,その間隔でイベントの系列が切れている可能性が高い。そのため,ステップS2の処理で生成される系列候補は,1つまたは複数の系列をあわせたものである。反対に,ある系列が複数の系列候補に分割されている可能性は低い。
なお,ステップS2の処理で行う系列候補の生成処理では,間隔Δiが閾値T1より大きいかどうか,すなわち「分類が(1)であるか」に依存している。間隔Δiが閾値T2以下かどうか,すなわち「分類(2)または(3)であるか」は関係がない。しかし,次のステップS3およびS4の処理で使用するため,閾値T1による分類と共に分類を行っておく。
ステップS2の処理で生成された系列候補のうちいくつかは,そのまま最終的なイベント系列となるが,残りについては後の処理ステップでさらに分割されて,複数のイベント系列を生成する。これにより,誤って分割すべきでない箇所を分割すると判断したり,分割すべき箇所を分割しないと判断したりする可能性が少なくなる。
なお,イベント間隔が閾値T1と閾値T2との中間にある場合は分割すべきかどうか判断できないが,このようなイベント間隔は,ステップS3以降の処理で分割すべきかどうか判断される。
ステップS3:系列候補分割部14は,系列候補中の間隔が全て閾値T2以下,すなわちステップS2の処理での分類(3)である系列候補を選択する。選択された系列候補を第1の系列候補とし,残りの系列候補を第2の系列候補とする。
図7に,第2の系列候補の判断となる間隔を示す。図7中,行間が点線で表される部分が分類(2),すなわち閾値T1以下で閾値T2より大きい時間間隔の箇所である。図7において,間隔Δ9(イベントE8とイベントE9との間),間隔Δ10(イベントE9とイベントE10との間),間隔Δ11(イベントE10とイベントE11との間),間隔Δ14(イベントE13とイベントE14との間)が分類(2)となる。
第1の系列候補は,以降での分割処理の対象とせず,そのままイベント系列とされる。閾値T2は,前後のイベントが同一の系列であることを示す値が設定されていることから,イベント間隔が閾値T2より小さい場合には,それらのイベントは同一の系列に属すると判断するからである。図7に示す系列候補の例では,系列候補seq1,seq2,seq5,seq6の4つが選択される。なお,残りの系列候補seq3,seq4は,ステップS4以降の処理でさらに判断対象となる。
ステップS4:禁止パターン生成部15は,ステップS3の処理で選択された第1の系列候補の集合から,残りの系列候補を分割するために使う禁止パターンを生成する。生成する禁止パターンのタイプは,2項禁止パターン「X→Y」である。
図8は,ステップS4の禁止パターン生成処理のより詳細な処理フロー図である。
ステップS41:禁止パターン生成部15は,まず,初期化を行う。
禁止パターン生成の際に,2つの閾値N_MINおよびP_MINを用いる。閾値P_MINは,パターンにおける最小信頼度であり,禁止パターンの精度の下限をあらわすパラメータである。閾値N_MINは,パターンに現れるイベントの種別の最小頻度であり,禁止パターンの精度を算出する際の統計的な信頼性を確保するためのパラメータである。
第1の系列候補の集合を集合PCsとし,閾値P_MIN=0.8,閾値N_MIN=2とする。
ステップS42:禁止パターン生成部15は,イベントの各種別Xについて,入力となる第1の系列候補の集合PCs中で,種別Xのイベントを含む系列候補の数N(X)をカウントする。
図2のイベントデータ2には,A,B,Cの3種類のイベント種別が存在する。このうち種別Aは,図6に示すように,入力となる4個の系列候補seq1,seq2,seq5,seq6の全てに含まれているから(E1,E6,E18,E19),N(A)=4となる。イベント種別B,Cについても同様にカウントする。カウント結果は,
イベント種別「A」=N(A)=4;
イベント種別「B」=N(B)=4;
イベント種別「C」=N(C)=4;
のようになる。
ステップS43:禁止パターン生成部15は,イベント種別の組み合わせX,Yについて,2項禁止パターン「X→Y」の反例の数(N(X→Y))をカウントする。すなわち,入力された系列候補の中で,種別Xのイベントが存在し,かつ,それ以降に種別Yのイベントが存在する系列候補数をカウントする。
例えば,図6に示す系列候補の例では,2項禁止パターン「A→C」は,系列候補seq1(E1→E3)と系列候補seq6(E19→E21)の2つに含まれる。したがって,「A→C」の反例の数N(A→C)=2となる。図9に,全てのイベント種別の組み合わせについて反例の数をカウントした結果を示す。
ステップS44:ステップS42およびS43の処理結果を用いて,禁止パターン「X→Y」の精度P(¬Y|X)を,以下の式,
P(¬Y|X)=1−N(X→Y)/N(X)
で計算する。図10に,図9の場合の精度P(¬Y|X)の計算結果を示す。
ステップS45:禁止パターン生成部15は,以下の3つの条件,
条件1:N(X)≧N_MIN;
条件2:N(Y)≧N_MIN;
条件3:P(¬Y|X)≧P_MIN;
を満足するものを,禁止パターンとして採用する。
条件3は,禁止パターンの精度に関するものであり,系列が種別Xのイベントを含む場合に,そのイベントの出現以降に種別Yのイベントが存在しない確率が十分大きいこと,すなわち系列候補を系列に分割する際に,分割すべきかどうかの判断が高い精度で行えることを意味する。しかし,N(X),N(Y)が小さい場合には,P(¬Y|X)の値自身の信頼性が薄いため,条件1および条件2を用いて一定以上の頻度を持つイベント種別についてのみ禁止パターンを生成する。
ステップS46:禁止パターン生成部15は,生成した禁止パターンを全て出力する。
閾値N_MIN=2,閾値P_MIN=0.8である場合に,図10の精度P(¬Y|X)の計算結果から,以下の4個の禁止パターン,
禁止パターン1:A→A;
禁止パターン2:B→B;
禁止パターン3:C→C;
禁止パターン4:C→B;
が出力される。
ステップS5:系列候補分割部14は,ステップS4の処理で求めた禁止パターンを使用して特定された出現箇所をもとに,系列候補を分割して系列を生成する。分割は,対象となる系列候補をひとつづつ選択して行う。ここで,分割対象となるのは,第2の系列候補の集合の系列候補である。図6に示す分割結果例では,系列候補seq3,seq4の2つの系列候補が対象となる。
図11は,ステップS5の系列候補に対する分割処理のより詳細な処理フロー図である。以下では,系列候補seq3に対する分割処理として説明する。
ステップS51:禁止パターン出現箇所抽出部16は,系列候補seq3中の各禁止パターンの出現箇所を全て求める。禁止パターンの出現箇所を集合Psとする。
禁止パターン「X→Y」の出現箇所は,系列候補中の種別Xであるイベントと種別Yのイベントを全て求め,次にその組み合わせについて順序関係をチェックし,種別Xのイベントよりも種別Yのイベントが後である組み合わせのみを残すことで検出する。
例えば,禁止パターン4「C→B」については,以下のようにして出現箇所を求める。系列候補seq3では,種別CのイベントはE9とE11,種別BのイベントはE8とE10の2つである。よって,これらの組み合わせは(E9,E8),(E9,E10),(E11,E8),(E11,E10)の4通りである。このうち,種別Bのイベントが種別Cのイベントよりも時間的に後に出現するものは,(E9,E10)の一つのみである。他の禁止パターンについても同様に出現箇所を求める。
図12は,系列候補seq3における各禁止パターンの出現箇所の例を示す図,図13は,図12に示す禁止パターン出現箇所の時間的関係を時系列上の位置で表した図である。
ステップS52:系列候補分割部14は,系列候補中の分割箇所の候補の集合Dsを初期化する。
系列候補中のイベントの間隔には,時間間隔が閾値T2より大きい箇所と閾値T2以下の箇所とがある。このうち,閾値T2以下の箇所については,その前後のイベントが同一系列に属する可能性が高いので,分割箇所の候補とはしない。よって,分割箇所の候補の集合は,間隔が閾値T2より大きい箇所の集合とする。
系列候補seq3では,閾値T2より大きい間隔は,図7に示す分類結果例において分類(2)となっている箇所であり,イベントE8とE9の間(分割箇所候補1),E9とE10の間(分割箇所候補2),E10とE11の間(分割箇所候補3)の3個である。図14に,禁止パターンの出現例における分割箇所候補の例を示す。図14では,図13の禁止パターンの出現箇所の時系列上での表示例に,前記の3個の分割箇所候補を点線で付け加えている。
ステップS53:系列候補分割部14は,実際に分割に用いる分割箇所の集合Sを空集合にして初期化する。
ステップS54:次に,各分割箇所候補で系列候補を分割した場合に,いくつの禁止パターン出現箇所を解消できるかを探索する。具体的には,各分割箇所候補について,出現箇所の最初のイベントが分割箇所候補よりも前に出現しており,最後(2番目)のイベントが分割箇所候補よりも後に出現するような出現箇所の数をカウントすることによって行う。
図14に示すように,分割箇所候補1での分割は,禁止パターンの出現箇所1,2を解消できる。しかし,出現箇所3,4については,出現箇所の最初と最後のイベントの両方が分割箇所候補1よりも後にあるため解消できない。したがって,分割箇所候補1による解消可能な禁止パターンの数は2と求まる。同様にして,他の分割箇所候補についても解消できる分割箇所とその数を求める。図15に,各分割箇所候補についての解消可能な出現箇所数の例を示す。
ステップS55:系列候補分割部14は,分割の終了条件が満足するかどうかをチェックする。
終了条件は,分割箇所候補がないためもう分割できない(Ds=空集合)か,分割箇所候補の集合中の禁止パターンが全て解消されたため分割の必要がない(Ps=空集合)か,どの分割箇所候補も禁止パターンをまったく解消できないため分割を行う意味がない,かのいずれかの条件が満足されることである。
系列候補3については,分割箇所候補が3個存在し,禁止パターンも4箇所で出現し,各分割箇所候補で分割することで2つ(分割箇所候補1,3)または4つ(分割箇所候補2)の禁止パターンを解消できるため,終了条件を満足しない。よって,ステップS56以降の分割処理を続行する。
ステップS56:系列候補分割部14は,分割箇所候補の中から,実際に分割する箇所を選択する。選択はステップS54の処理で求めた,解消される禁止パターン数が最多となる分割箇所候補を選択する。系列候補seq3では,図15に示す例から,4個の禁止パターンを解消する分割箇所候補D(分割箇所候補2)が選択される。
ステップS57:系列候補分割部14は,系列候補の分割のためのデータの更新を行う。すなわち,分割箇所の集合Sに,選択した分割箇所候補Dを追加し,逆に,分割箇所候補の集合Dsから選択した分割箇所候補Dを除去する。分割箇所候補Dによって解消される禁止パターンの出現箇所は,分割をさらに進める際に考慮する必要はないので,禁止パターンの出現箇所の集合Psから取り除く。
系列候補seq3では,分割処理を行う分割箇所の集合Sが{分割箇所候補2}となり,分割箇所候補の集合Dsは{分割箇所候補1,分割箇所候補3}となる。分割箇所候補2は系列3中の4個全ての禁止パターンを解消するので,禁止パターンの出現箇所の集合Psは空集合となる。
そして,ステップS57の処理後にステップS54に戻り,終了条件が満足されるまで同様の処理を繰り返す。また,ステップS55の処理で,終了条件が満足されたら,ステップS58の処理へ進む。
系列候補seq3では,前述のとおり,すでに全ての禁止パターンが解消されており,禁止パターンの出現箇所の集合Psは空集合である。よって,ステップS55の終了条件の判定では,終了条件を満足し,ステップS58に移る。
ステップS58:系列候補分割部14は,選択された全ての分割箇所候補Dで系列候補を分割して系列を生成する。
系列候補seq3については,分割箇所に選択された分割箇所候補2(E9とE10の間)によって,以下の2つの系列,{E7,E8,E9},{E10,E11,E12}が出力される。
系列候補seq4については,その系列中に禁止パターンが出現しないので,ステップS55の処理において終了条件を満足する。よって,分割処理は行わずに,ステップS58の処理で,系列候補seq4{E13,E14,E15}が,そのまま分割結果である系列として出力される。
ステップS6:分割結果出力部17は,第1の系列候補の集合と,第2の系列候補の集合の系列候補を分割して得られた系列とをあわせた集合(系列の集合)を,最終的な分割結果3として出力する。
図16に示すように,図2のイベントデータ2から,以下の7個の系列;
系列ES1:{E1,E2,E3};
系列ES2:{E4,E5,E6};
系列ES3:{E7,E8,E9};
系列ES4:{E10,E11,E12};
系列ES5:{E13,E14,E15};
系列ES6:{E16,E17,E18};
系列ES7:{E19,E20,E21};
が分割結果3として出力される。分割結果3のイベント系列は,図3に示した望ましい分割結果と一致している。
ここで,イベントデータ分割処理装置1の分割結果3と,従来手法による処理結果とを比較してみる。
図17は,従来手法1による分割結果の例を示す図,図18は,従来手法2による分割結果の例を示す図である。
図17では,時間間隔の閾値T3=5秒とし,直前イベントとの間隔が5秒よりも大きい場合に分割した結果を示す。図17に矢印で示す箇所のように,望ましい分割結果との比較から明白なように,系列3と系列4との分割が正しく行えない。
時間間隔による分割処理の結果は,閾値に大きく依存する。しかし,図3に示す分割結果からわかるように,本来の同一の系列内で隣接するイベント間の時間間隔が最大6秒(イベントE8とE9の間)であるのに対して,ある系列の最初のイベントとその直前の別の系列の最後のイベントとの発生時刻の差が最小4秒(イベントE9とE10との間)であることから,閾値をどのように設定しても,望ましい分割結果を得ることはできない。
また,図18では,説明の簡略のために,開始パターンを系列の最初の1イベント,終了パターンも系列の最後の1イベントの種別とする。ここで,正しい開始パターンが{A}または{B}の2種類,終了パターンが{C}または{A}の2種類となる。
しかし,開始パターンのイベント種別{A}は,図3に示すイベントデータ2の系列ES1,ES3,ES5,ES7の最初に現れるだけでなく,系列ES2,ES4,ES6の最後にも現れる。そのため,たとえ正しい開始・終了パターンを与えたとしても,開始パターンの最初のイベントとその直前のイベントとの間で分割すると,図18に矢印で示すように,系列ES2,ES4,ES6については,それぞれ,最初の2つのイベントと最後のAの間で分割が行われ,望ましい結果が得られない。
このように,従来手法1および2による分割では正しい系列を得ることはできないが,イベントデータ分割処理装置1は,従来の単純な時間間隔や開始・終了パターンによる分割処理ではうまく分割できないようなイベントデータ2からも正しい系列を得ることができる。
〔第2の処理例〕
図19は,第2の処理例におけるイベントデータ2の例を示す図である。
イベントデータ2の各イベントは,イベントID,開始時刻(秒),終了時刻(秒),リクエスト種別で構成され,発生時刻順にソートされている。
第2の処理例では,イベントは,図2のイベントデータ2の「発生時刻」の代わりに開始時刻と終了時刻を持ち,有限の時間発生しつづけるような処理である。「イベント間隔」として,「前のイベント(処理)の終了時刻と後のイベント(処理)の開始時刻の間隔」を用いる。
第2の処理例では,Webサーバへのアクセスを対象とする場合に,何時どのURLへのリクエストが発生したかのみを対象とせず,リクエストの発生とそのリクエストへのサーバからのレスポンスの発生の双方を観測し,Webサーバがリクエストを受けてからレスポンスを返すまでの「処理」を含むイベントデータを分割対象とする。
図20は,図19のイベントデータ2の場合に望まれる分割結果の例を示す図である。
図19のイベントデータ2の場合には,{E1,E2,E3},{E4,E5},{E6,E7},{E8,E9,E10},{E11,E12,E13},{E14,E15},{E16,E17},{E18,E19}の8個の系列に分割され,イベント系列ES1〜ES8が分割結果3として出力されるのが望ましい。
以下に,第2の処理例におけるイベントデータ分割処理装置1の処理を説明する。
イベントデータ分割処理装置1の各処理手段の処理の流れは,第1の処理例で説明した図4,図5,図8,図11に示す処理とほぼ同様である。
ステップS1:データ読み込み部11は,図19のイベントデータ2を読み込む。
ステップS2:系列候補生成部12は,イベントデータ2のイベントの間隔(隣接するイベントの前のイベントの終了時刻と後のイベントの開始時刻との時間間隔)を用いて系列候補に分割する。ここで,閾値T1=0.02秒,閾値T2=0.005秒とする。
系列候補生成部12は,イベントの間隔,隣り合う2つのイベントの前のイベントE(i−1)の終了時刻と後のイベントEiの発生時刻との間隔Δiを算出する(ステップS21)。
そして,イベント間隔分類部13は,算出された間隔Δiを,閾値T1,T2を用いて「分類(1):間隔Δi>閾値T1」,「分類(2):閾値T1≧間隔Δi>閾値T2」,「分類(3):間隔Δi≦閾値T2」の3種類に分類する(ステップS22)。
系列候補生成部12は,イベント間隔分類部13の分類結果を用いて,イベントデータ2を,間隔Δiが分類(1)である箇所で分割して,系列候補を生成する(ステップS23)。
図21に,イベントデータ2の各イベントの間隔Δi,分類結果および生成された系列候補の例を示す。ここでは,間隔Δ4(イベントE3とイベントE4との間),間隔Δ6(イベントE5とイベントE6との間),間隔Δ11(イベントE10とイベントE11との間),Δ14(イベントE13とイベントE14との間),Δ18(イベントE17とイベントE18との間)が分類(1)に区分され,これらの間隔でイベントデータ2が分割されて系列候補が生成される。
ステップS3:系列候補分割部14は,系列候補の中で,イベントの間隔が全て閾値T2以下,すなわち分類結果が(3)である系列候補を選択して第1の系列候補の集合とし,残りの系列候補を第2の系列候補の集合とする。図22に,第2の系列候補を判断する間隔を示す。図22に示す系列候補の例から,系列候補seq1,seq2,seq4,seq6が第1の系列候補となり,残りの系列候補seq3,seq5は,第2の系列候補となる。
ステップS4:禁止パターン生成部15は,第1の系列候補の集合の系列候補から,第2の系列候補を分割するために使う2項禁止パターンを生成する。
禁止パターン生成部15は,第1の系列候補の集合PCs,パターンに出現するイベント種別の最小頻度N_MIN,およびパターンにおける最小信頼度P_MINを初期化する(ステップS41)。具体的には,第1の系列候補の集合PCs={seq1,seq2,seq4,seq6},N_MIN=2,P_MIN=0.8とする。
そして,各イベント種別Xについて,第1の系列候補の集合PCsでの種別がXのイベントを含む系列候補の数N(X)をカウントする(ステップS42)。カウントの結果は,図23の上段に示す。
さらに,全てのイベント種別の組み合わせX,Yについて,2項禁止パターン「X→Y」の反例の数(N(X→Y))をカウントする(ステップS43)。全てのイベント種別の組み合わせについて反例の数をカウントした結果を,図23の中段に示す。
そして,ステップS42およびS43の処理結果を用いて,禁止パターンX→Yの精度P(¬Y|X)を計算する。例えば,イベント種別X=A,Y=Bの場合に,
P(¬Y|X)=1−N(X→Y)/N(X)=1−2/4=0.5
となる。図23の下段に,全ての種別の組み合わせについての精度P(¬Y|X)の計算結果の例を示す。
そして,禁止パターン生成部15は,以下の3つの条件,
条件1:N(X)≧N_MIN;
条件2:N(Y)≧N_MIN;
条件3:P(¬Y|X)≧P_MIN;
を満足するものを,禁止パターンとして採用し(ステップS45)生成した禁止パターンを全て出力する(ステップS46)。N(X),N(Y),P(¬Y|X)の値が全て条件を満たすパターンは,図24に示す,「A→A」,「B→A」,「B→B」,「C→B」,「C→C」の5つとなり,これらが禁止パターンとして出力される。
ステップS5:系列候補分割部14は,ステップS4の処理で求めた禁止パターン出現箇所を用いて系列候補を分割する。分割処理は,対象となる系列候補をひとつづつ選択して行う。
まず,禁止パターン出現箇所抽出部16は,系列候補seq3について,各禁止パターンの出現箇所を全て求め,禁止パターンの出現箇所を集合Psとする(ステップS51)。例えば,図25に示すように,禁止パターン「C→B」については,種別が「C」のイベントはE6とE10,種別が「B」のイベントはE9であり,種別「C」,種別「B」の順で出現する関係は(E6,E9)の1つである。よって,出現箇所(E6,E9)とする。系列候補seq3における各禁止パターンの出現箇所の集合Psは,{(E6,E9),(E6,E10),(E7,E8)}となる。
次に,系列候補分割部14は,分割箇所候補の集合Dsの初期化として,系列候補中の間隔が閾値T2より大きい箇所を抽出して,分割箇所の候補の集合Dsとする(ステップS52)。ここでは,閾値T2より大きい間隔は,図22のイベントデータ2の例において分類(2)となっている箇所であり,イベントE6とE7との間(分割箇所候補1),イベントE7とE8との間(分割箇所候補2)である。
さらに,実際に分割に用いる分割箇所候補の集合Sを空集合に初期化し(ステップS53),各分割箇所候補で系列候補を分割した場合に,いくつの禁止パターンの出現箇所を解消できるかをカウントする(ステップS54)。
図26に示すように,分割箇所候補1(イベントE6とE7との間)は,(E6,E9),(E6,E10)の2つの禁止パターンを解消できるが,(E7,E8)については,いずれのイベントも分割箇所候補1の後ろにあるため解消できない。一方,分割箇所候補2(イベントE7とE8との間)は,(E6,E9),(E6,E10),(E7,E8)の3つの禁止パターンを解消できる。したがって,分割箇所候補1の解消可能な数=2,分割箇所候補2の解消可能な数=3,と求まる。
そして,系列候補分割部14は,分割の終了条件が満足するかどうかをチェックし(ステップS55),終了条件を満たすまで,ステップS56およびステップS57の処理を実行して,ステップS54の処理へ戻り,終了条件を満たした場合に,ステップS58の処理を実行する。
そして,系列候補分割部14は,最も多くの禁止パターンを解消できる分割箇所Dとして,分割箇所候補2(イベントE7とE8との間)を選択し(ステップS56),選択した分割箇所候補2を分割箇所の集合Sへ入れる(ステップS57)。また全ての禁止パターンの出現箇所が解消されるため,禁止パターンの出現箇所の集合Psは空集合となるため(ステップS57),ステップ55の終了条件が満足される。
さらに,選択された全ての分割箇所Dで系列候補を分割して系列を生成し,生成した系列の集合を分割結果3として出力する(ステップS58)。具体的には,系列候補seq3においては,選択された分割箇所D(E7とE8の間)で分割され,以下の2つの系列,{E6,E7},{E8,E9,E10}が出力される。
さらに,系列候補seq5についても同様に処理を行う。
図27に示すように,系列候補seq3の場合と同様の処理によって,条件を満たす禁止パターン「C→C」,「A→A」が生成されると,系列候補5の禁止パターンの出現箇所が検出され,禁止パターンの出現箇所の集合Psは,{(E14,E16),(E15,E17)}となる。
さらに,系列候補中の間隔が分類(2)となっている箇所が検出されて,分割箇所候補1(イベントE15とE16との間),分割箇所候補2(イベントE16とE17との間)となる。
さらに,各分割箇所候補で系列候補を分割した場合に,いくつの禁止パターンの出現箇所を解消できるかがカウントされる。図28に示すように,分割箇所候補1(イベントE15とE16との間)は,(E14,E16),(E15,E17)の2つの禁止パターンを解消できるが,分割箇所候補2(イベントE16とE17との間)は,(E15,E17)のみを解消できる。したがって,分割箇所候補1の解消可能な数=2,分割箇所候補2の解消可能な数=1と求まる。そして,最も多くの禁止パターンを解消できる分割箇所Dとして,分割箇所候補1(イベントE15とE16との間)が選択される。
さらに,選択された全ての分割箇所D(E15とE16との間)で系列候補が分割されて,2つの系列,{E14,E15}と{E16,E17}とが出力される。
ステップS6:その後,分割結果出力部17は,第1の系列候補と,第2の系列候補から分割して得られた系列とをあわせた系列の集合を,最終的な分割結果3として出力する。この分割結果3は,図20に示す望ましい分割結果と同様に,以下の8個の系列;
系列1:{E1,E2,E3};
系列2:{E4,E5};
系列3:{E6,E7};
系列4:{E8,E9,E10};
系列5:{E11,E12,E13};
系列6:{E14,E15};
系列7:{E16,E17};
系列8:{E18,E19};
である。
イベントデータ分割処理装置1の分割結果3と,従来手法による処理結果とを比較する。図29は,時間間隔の閾値T3=0.007秒を用いた従来手法1による分割結果の例を示す図,図30は,開始が{A}または{C}であるパターンを用いた従来手法2による分割結果の例を示す図である。
図29に示すように,間隔Δ8=0.006秒であるため,本来分割されるべきE7とE8の間が正しく分割されない。また,間隔Δ17=0.012秒であるため,本来分割されるべきではないE16とE17の間が分割されている。
また,図30に示すように,イベント種別AまたはCが出現する箇所が開始パターンと判断されて分割されるため,分割するべきではない箇所で分割されてしまう。
このように,イベントデータ分割処理装置1は,従来の手法に比べてより正確な系列へ分割することができることがわかる。
最後に,本実施態様で説明したステップS4の処理において生成される禁止パターンとして生成される,2項禁止パターン「X→Y」以外の禁止パターンについて説明する。
2項禁止パターンは,その意味することがわかりやすく,生成処理・出現箇所の検出処理が容易であるというメリットもある。しかし,同一系列中に同じ種別のイベントが多数出現するようなイベントデータに対しては十分ではない。そのようなイベントデータでは,より複雑な禁止パターンを使用する必要がある。例えば「M個目の種別Xのイベントの後に,種別Yのイベントは現れない」という禁止パターンを用いることも可能である。
そのためには,図8に示す禁止パターン生成処理において,ステップS42の処理では,各イベント種別Xの出現数N(X)をカウントする代わりに,種別XのイベントがM個以上出現する頻度(系列候補の数)N(X,M)をカウントし,ステップS43の処理では,「X→Y」の出現頻度の代わりに,系列中でN個目のXの出現後にYが現れる数N(X,M→Y)をカウントする。そして,ステップS44の処理では,禁止パターンの精度の計算では,P(¬Y|X)=1−N(X→Y)/N(X)の代わりに,P(¬Y|X)=1−N(X,M→Y)/N(X,M)を用いて計算する。
また,他にも,「イベントX,Yが両方出現した後にはイベントZは出現しない」といった3種類以上のイベント種別を含む禁止パターンを生成・使用することも可能である。このような禁止パターンは,2つのイベント種別X,Yの双方を含む系列の数と,その中で「X」,「Y」より後に「Z」を含む系列の数をカウントすることによって,図8に示す処理と同様にして生成することができる。
また,イベントはいくつかのカテゴリに分けることができる場合がある。例えば,Webのアクセスログの場合に,イベントはアクセスしたURLであってもよい。以下に,URLの例を示す。
URL1:http://abcd.efgh.com/group/labs/techinfo/freeware/index.html;
URL2:http://abcd.efgh.com/group/labs/techinfo/technote/index.html;
URL3:http://abcd.efgh.com/group/labs/about/index.html;
URL4:http://abcd.efgh.com/group/labs/business/index.html
同一のサイトやディレクトリ内のURLには何らかの観点で関連性の高い情報が記載されていると考えられる。このような場合に,特定のディレクトリまたはWebサイトに属するURLを集めてカテゴリとすることができる。例えば,前記のURLの例では,
カテゴリ1:http://abcd.efgh.com/group/labs/ 以下のURL(イベント)の集合;
カテゴリ2:http://abcd.efgh.com/group/labs/techinfo/ 以下のURLの集合;
カテゴリ3:http://abcd.efgh.com/group/labs/techinfo/freeware/ 以下のURLの集合;
カテゴリ4:http://abcd.efgh.com/group/labs/techinfo/technote/ 以下のURLの集合;
カテゴリ5:http://abcd.efgh.com/group/labs/about/ 以下のURLの集合;
カテゴリ6:http://abcd.efgh.com/group/labs/business/ 以下のURLの集合;
といったカテゴリを生成することができる。イベントが属するカテゴリは,単独である必要はなく,例えばURL1はカテゴリ1,2,3の3つのカテゴリに属していてもよい。
時系列データを系列に分割する際に,イベントレベルでの禁止パターンだけでなく,カテゴリレベルまたはカテゴリとイベントの間の禁止パターンを生成・使用してもよく,特に,以下の2つの点から有用である。
第1に,イベントレベルでは,イベントXとYが排他的な関係(同じ系列には一方しか出現しない)にあり,本来禁止パターンとして生成されるべきであるにもかかわらず十分な頻度がないことから,図8のステップS44の処理における条件を満足できずに禁止パターンとして抽出できない場合がある。しかし,このような場合でも,カテゴリレベルであれば,その頻度はカテゴリに属するイベントの頻度よりも大きいため,もし,イベントX(Y)と同じカテゴリに属する他のイベントもY(X)と排他的であれば,禁止パターンが生成され,系列候補の分割が正しく行える場合がある。
第2に,もしあるカテゴリに属するイベントと別のカテゴリに属するイベントとの間に排他的な関係があり,イベントレベルで禁止ルールを生成する場合に,各イベントが十分な頻度を持つときは,禁止パターンの数はそれぞれのカテゴリに属するイベント数の積になる。カテゴリレベルの禁止パターンを使えば,これを1つの禁止パターンで表すことが可能である。そのため,生成される禁止パターンの総数を減らし,結果として禁止パターンを使った系列候補の分割を高速化することができる。
カテゴリを扱う最も簡単な方法として,そもそも入力されるイベントデータ2で,イベント種別の代わりにカテゴリの値を使用することが考えられる。しかし,イベントが複数のカテゴリに属する場合に対応することができない。また,ある種類の系列に正しく分類するためには「イベント間の禁止パターン」が有効で,別の種類の系列に対しては「カテゴリレベルの禁止パターン」が有効であるような場合に,系列化の精度が悪化する可能性がある。
したがって,これらの問題点を解決するために,イベントデータ分割処理装置1が,イベントレベルのイベントデータ2に加えて,イベント種別毎にどのカテゴリに属するかを入力データとして取得するようにし,ステップS4の禁止パターンの生成処理で,イベントだけでなくカテゴリ自身の出現頻度や,カテゴリとカテゴリ,イベントとカテゴリの組み合わせに関する頻度をカウントし,カウント結果を元にイベント間の禁止パターンだけでなく,カテゴリ間,イベントとカテゴリ間の禁止パターンを求め,ステップS5の禁止パターンによる分割処理で,それらの禁止パターンを使って系列候補の分割を行えるようにする。
さらに,例えばWebへのアクセスの場合に,イベントデータ2はWebサーバのアクセスログということになり,実際には,様々なユーザからのアクセスが入り混じって保存されている。したがって,ユーザの目的毎にイベント系列を求めたい場合には,あらかじめ,アクセス元のIPアドレスを使ってユーザ毎に分離したアクセスログを使用するようにする。
イベントデータ分割処理装置1は,コンピュータにより読み取られ実行されるプログラムとして実施することが可能である。このプログラムは,コンピュータが読み取り可能な,可搬媒体メモリ,半導体メモリ,ハードディスクなどの適当な記録媒体に格納することができ,これらの記録媒体に記録して提供され,または,通信インタフェースを介して種々の通信網を利用した送受信により提供されるものである。
本発明の実施の形態における構成例を示す図である。 第1の処理例におけるイベントデータの例を示す図である。 図2のイベントデータの場合に望まれる分割結果の例を示す図である。 イベントデータ分割処理装置の処理概要を示す図である。 ステップS2の処理の詳細な処理フロー図である。 イベントデータのイベントの間隔の分類結果および生成された系列候補の例を示す図である。 第2の系列候補の判断となる間隔を示す図である。 ステップS4の処理のより詳細な処理フロー図である。 イベントの種別の組み合わせについての反例の数のカウント結果例を示す図である。 禁止パターンの精度P(¬Y|X)の計算結果例を示す図である。 ステップS5の処理のより詳細な処理フロー図である。 系列候補seq3における各禁止パターン出現箇所の例を示す図である。 図12に示す禁止パターン出現箇所の時間的関係を時系列上の位置で表した図である。 図13に示す禁止パターン出現例における分割箇所候補の例を示す図である。 分割箇所候補の禁止パターン出現箇所の解消可能数の例を示す図である。 分割結果の例を示す図である。 従来手法1による分割結果の例を示す図である。 従来手法2による分割結果の例を示す図である。 第2の処理例におけるイベントデータの例を示す図である。 図19のイベントデータの場合に望まれる分割結果の例を示す図である。 イベントデータの間隔の分類結果および生成された系列候補の例を示す図である。 イベントデータの分割箇所候補に該当する箇所を説明するための図である。 系列候補の数N(X),2項禁止パターン「X→Y」の反例の数(N(X→Y))および禁止パターンの信頼度P(¬Y|X)の計算結果例を示す図である。 生成されたパターンの例を示す図である。 系列候補seq3における各禁止パターンの出現箇所の集合Psの算出を説明するための図である。 系列候補seq3における分割箇所候補の禁止パターン出現箇所の解消可能数の例を示す図である。 系列候補seq5における各禁止パターンの出現箇所の集合Psの算出を説明するための図である。 系列候補seq5における分割箇所候補の禁止パターン出現箇所の解消可能数の例を示す図である。 従来手法1による分割結果の例を示す図である。 従来手法2による分割結果の例を示す図である。 イベントデータおよび系列を構成するイベント(時系列データ)の集合の例を示す図である。
符号の説明
1 イベントデータ分割処理装置
11 データ読み込み部
12 系列候補生成部
13 イベント間隔分類部
14 系列候補分割部
15 禁止パターン生成部
16 禁止パターン出現箇所抽出部
17 分割結果出力部
2 イベントデータ
3 分割結果

Claims (3)

  1. 複数の系列のイベントが時系列に並ぶイベントデータを,時間的に近接して発生した一連のイベントの系列に分割するイベントデータ分割処理プログラムであって,
    コンピュータを,
    前記イベントの種別および発生時刻の情報を含むイベントが発生の順に並べられたイベントデータを取得するデータ読み込み部と,
    隣り合うイベント同士が別系列であるとの判定用の第1の閾値と,隣り合うイベント同士が同一系列であるとの判定用の第2の閾値とを備えて,前記イベントデータの時間的に隣り合うイベント同士の発生時刻から算出した間隔各々について,前記第1の閾値または前記第2の閾値による判定分類を行うイベント間隔分類部と,
    前記イベントデータを前記第1の閾値を超える間隔で分割して系列候補を生成する系列候補生成部と,
    前記系列候補のうち,系列候補に含まれる間隔の全てが前記第2の閾値以内の間隔である系列候補を第1の系列候補とし,系列候補に含まれる間隔に前記第2の閾値を超える間隔を含む系列候補を第2の系列候補とし,前記第1の系列候補のイベントの種別の並びに基づいて,同一系列に出現しない確率が高い種別の並びを推定して禁止パターンを生成する禁止パターン生成部と,
    前記第2の系列候補各々について,前記禁止パターンと一致するイベントの並びを検出して禁止パターン出現箇所とする禁止パターン出現箇所抽出部と,
    前記禁止パターン出現箇所を解消するイベントの間隔を探索し,探索した間隔で前記第2の系列候補を分割して系列を生成する系列候補分割部と,
    前記第1の系列候補および前記第2の系列候補から分割された系列を,それぞれイベント系列として出力するイベント系列出力部として機能させる
    ことを特徴とするイベントデータ分割処理プログラム。
  2. 複数の系列のイベントが時系列に並ぶイベントデータを,時間的に近接して発生した一連のイベントの系列に分割するイベントデータ分割処理装置であって,
    前記イベントの種別および発生時刻の情報を含むイベントが発生の順に並べられたイベントデータを取得するデータ読み込み部と,
    隣り合うイベント同士が別系列であるとの判定用の第1の閾値と,隣り合うイベント同士が同一系列であるとの判定用の第2の閾値とを備えて,前記イベントデータの時間的に隣り合うイベント同士の発生時刻から算出した間隔各々について,前記第1の閾値または前記第2の閾値による判定分類を行うイベント間隔分類部と,
    前記イベントデータを前記第1の閾値を超える間隔で分割して系列候補を生成する系列候補生成部と,
    前記系列候補のうち,系列候補に含まれる間隔の全てが前記第2の閾値以内の間隔である系列候補を第1の系列候補とし,系列候補に含まれる間隔に前記第2の閾値を超える間隔を含む系列候補を第2の系列候補とし,前記第1の系列候補のイベントの種別の並びに基づいて,同一系列に出現しない確率が高い種別の並びを推定して禁止パターンを生成する禁止パターン生成部と,
    前記第2の系列候補各々について,前記禁止パターンと一致するイベントの並びを検出して禁止パターン出現箇所とする禁止パターン出現箇所抽出部と,
    前記禁止パターン出現箇所を解消するイベントの間隔を探索し,探索した間隔で前記第2の系列候補を分割して系列を生成する系列候補分割部と,
    前記第1の系列候補および前記第2の系列候補から分割された系列を,それぞれイベント系列として出力するイベント系列出力部とを備える
    ことを特徴とするイベントデータ分割処理装置。
  3. 複数の系列のイベントが時系列に並ぶイベントデータを,時間的に近接して発生した一連のイベントの系列に分割するイベントデータ分割処理方法であって,
    データ読み込み部とイベント間隔分類部と系列候補生成部と禁止パターン生成部と禁止パターン出現箇所抽出部と系列候補分割部とイベント系列出力部とを備えるコンピュータの,
    前記データ読み込み部が,前記イベントの種別および発生時刻の情報を含むイベントが発生の順に並べられたイベントデータを取得する処理過程と,
    前記イベント間隔分類部が,隣り合うイベント同士が別系列であるとの判定用の第1の閾値と,隣り合うイベント同士が同一系列であるとの判定用の第2の閾値とを備えて,前記イベントデータの時間的に隣り合うイベント同士の発生時刻から算出した間隔各々について,前記第1の閾値または前記第2の閾値による判定分類を行う処理過程と,
    前記系列候補生成部が,前記イベントデータを前記第1の閾値を超える間隔で分割して系列候補を生成する処理過程と,
    前記禁止パターン生成部が,前記系列候補のうち,系列候補に含まれる間隔の全てが前記第2の閾値以内の間隔である系列候補を第1の系列候補とし,系列候補に含まれる間隔に前記第2の閾値を超える間隔を含む系列候補を第2の系列候補とし,前記第1の系列候補のイベントの種別の並びに基づいて,同一系列に出現しない確率が高い種別の並びを推定して禁止パターンを生成する処理過程と,
    前記禁止パターン出現箇所抽出部が,前記第2の系列候補各々について,前記禁止パターンと一致するイベントの並びを検出して禁止パターン出現箇所とする処理過程と,
    前記系列候補分割部が,前記禁止パターン出現箇所を解消するイベントの間隔を探索し,探索した間隔で前記第2の系列候補を分割して系列を生成する処理過程と,
    前記イベント系列出力部が,前記第1の系列候補および前記第2の系列候補から分割された系列を,それぞれイベント系列として出力する処理過程とを備える
    ことを特徴とするイベントデータ分割処理方法。
JP2008226604A 2008-09-04 2008-09-04 イベントデータ分割処理プログラム,装置および方法 Expired - Fee Related JP5200775B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008226604A JP5200775B2 (ja) 2008-09-04 2008-09-04 イベントデータ分割処理プログラム,装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008226604A JP5200775B2 (ja) 2008-09-04 2008-09-04 イベントデータ分割処理プログラム,装置および方法

Publications (2)

Publication Number Publication Date
JP2010061412A JP2010061412A (ja) 2010-03-18
JP5200775B2 true JP5200775B2 (ja) 2013-06-05

Family

ID=42188146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008226604A Expired - Fee Related JP5200775B2 (ja) 2008-09-04 2008-09-04 イベントデータ分割処理プログラム,装置および方法

Country Status (1)

Country Link
JP (1) JP5200775B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5482243B2 (ja) 2010-01-29 2014-05-07 富士通株式会社 系列生成プログラム、系列生成方法、および系列生成装置
JP6429755B2 (ja) * 2015-09-16 2018-11-28 Kddi株式会社 相互関連イベント抽出プログラム、装置及び方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11250038A (ja) * 1998-02-27 1999-09-17 Toshiba Corp 情報処理システムおよび同システムの操作履歴管理方法
JPH11259571A (ja) * 1998-03-13 1999-09-24 Nippon Telegr & Teleph Corp <Ntt> 電子商取引システム不正利用検出方法及び装置
US7643686B2 (en) * 2004-11-17 2010-01-05 Eastman Kodak Company Multi-tiered image clustering by event
JP2006260420A (ja) * 2005-03-18 2006-09-28 Fujitsu Ltd ウェブサイト分析システム
JP4600327B2 (ja) * 2006-03-27 2010-12-15 日本電気株式会社 ログ解析システム、ログ解析ツール設定方法およびプログラム

Also Published As

Publication number Publication date
JP2010061412A (ja) 2010-03-18

Similar Documents

Publication Publication Date Title
CN106415507B (zh) 日志分析装置、攻击检测装置、攻击检测方法以及程序
WO2011111599A1 (ja) 障害分析ルール抽出装置、障害分析ルール抽出方法、及び記憶媒体
CN108809745A (zh) 一种用户异常行为检测方法、装置及系统
US20160219067A1 (en) Method of detecting anomalies suspected of attack, based on time series statistics
CN107196953A (zh) 一种基于用户行为分析的异常行为检测方法
CN113064932B (zh) 一种基于数据挖掘的网络态势评估方法
JP5454363B2 (ja) 解析プログラム、解析装置および解析方法
JP2007013343A (ja) ワーム検出パラメータ設定プログラム及びワーム検出パラメータ設定装置
CN113259176B (zh) 一种告警事件分析方法和装置
CN107292751B (zh) 一种时序网络中节点重要性的挖掘方法和装置
CN110113368A (zh) 一种基于子轨迹模式的网络行为异常检测方法
JP2009135649A (ja) データ処理装置及びデータ処理方法及びプログラム
JP5200775B2 (ja) イベントデータ分割処理プログラム,装置および方法
US8954468B2 (en) Extracting a meaningful frequent itemset
JP4723466B2 (ja) データ処理装置及びデータ処理方法及びプログラム
CN111612531B (zh) 一种点击欺诈的检测方法及系统
CN115599830A (zh) 一种数据关联关系的确定方法、装置、设备和介质
CN110411724B (zh) 一种旋转机械故障诊断方法、装置、系统及可读存储介质
US11887315B2 (en) Method and apparatus for tracking an object
CN112287776A (zh) 轴承性能指标分析方法、系统、可读存储介质及电子设备
CN112422546A (zh) 一种基于变邻域算法和模糊聚类的网络异常检测方法
CN112070161A (zh) 一种网络攻击事件分类方法、装置、终端及存储介质
CN107133321A (zh) 页面的搜索特性的分析方法和分析装置
JP2006155344A (ja) データ分析装置、データ分析プログラム及びデータ分析方法
CN115934699A (zh) 异常数据筛选方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130128

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees