(57)【要約】【課題】  複数の系列を含むイベントデータを系列毎のデータに精度良く分割する。【解決手段】  イベント間隔分類部１３はデータ読み込み部１１が得たイベントデータ２の隣接イベントの間隔を閾値Ｔ１，Ｔ２を用いて分類する。系列候補生成部１２が閾値Ｔ１を超える間隔でイベントデータ２を分割し系列候補を生成する。系列候補分割部１４は，全間隔が閾値Ｔ２以下の第１の系列候補とそれ以外の第２の系列候補とに分類する。禁止パターン生成部１５は第１の系列候補をもとに禁止パターン「Ｘ→Ｙ」を生成する。禁止パターン出現箇所抽出部１６は第２の系列候補に各禁止パターン出現箇所を検出する。系列候補分割部１４は各第２の系列候補について最多の禁止パターン出現箇所を解消する分割箇所で分割して系列を生成する。分割結果出力部１７は第１の系列候補と第２の系列候補から分割された系列の集合を分割結果３として出力する。【選択図】  図１
2010061412.tif 000002
【特許請求の範囲】
【請求項１】
複数の系列のイベントが時系列に並ぶイベントデータを，時間的に近接して発生した一連のイベントの系列に分割するイベントデータ分割処理プログラムであって，
コンピュータを，
前記イベントの種別および発生時刻の情報を含むイベントが発生の順に並べられたイベントデータを取得するデータ読み込み部と，
隣り合うイベント同士が別系列であるとの判定用の第１の閾値と，隣り合うイベント同士が同一系列であるとの判定用の第２の閾値とを備えて，前記イベントデータの時間的に隣り合うイベント同士の発生時刻から算出した間隔各々について，前記第１の閾値または前記第２の閾値による判定分類を行うイベント間隔分類部と，
前記イベントデータを前記第１の閾値を超える間隔で分割して系列候補を生成する系列候補生成部と，
前記系列候補のうち，系列候補に含まれる間隔の全てが前記第２の閾値以内の間隔である系列候補を第１の系列候補とし，系列候補に含まれる間隔に前記第２の閾値を超える間隔を含む系列候補を第２の系列候補とし，前記第１の系列候補のイベントの種別の並びに基づいて，同一系列に出現しない確率が高い種別の並びを推定して禁止パターンを生成する禁止パターン生成部と，
前記第２の系列候補各々について，前記禁止パターンと一致するイベントの並びを検出して禁止パターン出現箇所とする禁止パターン出現箇所抽出部と，
前記禁止パターン出現箇所を解消するイベントの間隔を探索し，探索した間隔で前記第２の系列候補を分割して系列を生成する系列候補分割部と，
前記第１の系列候補および前記第２の系列候補から分割された系列を，それぞれイベント系列として出力するイベント系列出力部として機能させる
ことを特徴とするイベントデータ分割処理プログラム。
【請求項２】
複数の系列のイベントが時系列に並ぶイベントデータを，時間的に近接して発生した一連のイベントの系列に分割するイベントデータ分割処理装置であって，
前記イベントの種別および発生時刻の情報を含むイベントが発生の順に並べられたイベントデータを取得するデータ読み込み部と，
隣り合うイベント同士が別系列であるとの判定用の第１の閾値と，隣り合うイベント同士が同一系列であるとの判定用の第２の閾値とを備えて，前記イベントデータの時間的に隣り合うイベント同士の発生時刻から算出した間隔各々について，前記第１の閾値または前記第２の閾値による判定分類を行うイベント間隔分類部と，
前記イベントデータを前記第１の閾値を超える間隔で分割して系列候補を生成する系列候補生成部と，
前記系列候補のうち，系列候補に含まれる間隔の全てが前記第２の閾値以内の間隔である系列候補を第１の系列候補とし，系列候補に含まれる間隔に前記第２の閾値を超える間隔を含む系列候補を第２の系列候補とし，前記第１の系列候補のイベントの種別の並びに基づいて，同一系列に出現しない確率が高い種別の並びを推定して禁止パターンを生成する禁止パターン生成部と，
前記第２の系列候補各々について，前記禁止パターンと一致するイベントの並びを検出して禁止パターン出現箇所とする禁止パターン出現箇所抽出部と，
前記禁止パターン出現箇所を解消するイベントの間隔を探索し，探索した間隔で前記第２の系列候補を分割して系列を生成する系列候補分割部と，
前記第１の系列候補および前記第２の系列候補から分割された系列を，それぞれイベント系列として出力するイベント系列出力部とを備える
ことを特徴とするイベントデータ分割処理装置。
【請求項３】
複数の系列のイベントが時系列に並ぶイベントデータを，時間的に近接して発生した一連のイベントの系列に分割するイベントデータ分割処理方法であって，
データ読み込み部とイベント間隔分類部と系列候補生成部と禁止パターン生成部と禁止パターン出現箇所抽出部と系列候補分割部とイベント系列出力部とを備えるコンピュータの，
前記データ読み込み部が，前記イベントの種別および発生時刻の情報を含むイベントが発生の順に並べられたイベントデータを取得する処理過程と，
前記イベント間隔分類部が，隣り合うイベント同士が別系列であるとの判定用の第１の閾値と，隣り合うイベント同士が同一系列であるとの判定用の第２の閾値とを備えて，前記イベントデータの時間的に隣り合うイベント同士の発生時刻から算出した間隔各々について，前記第１の閾値または前記第２の閾値による判定分類を行う処理過程と，
前記系列候補生成部が，前記イベントデータを前記第１の閾値を超える間隔で分割して系列候補を生成する処理過程と，
前記禁止パターン生成部が，前記系列候補のうち，系列候補に含まれる間隔の全てが前記第２の閾値以内の間隔である系列候補を第１の系列候補とし，系列候補に含まれる間隔に前記第２の閾値を超える間隔を含む系列候補を第２の系列候補とし，前記第１の系列候補のイベントの種別の並びに基づいて，同一系列に出現しない確率が高い種別の並びを推定して禁止パターンを生成する処理過程と，
前記禁止パターン出現箇所抽出部が，前記第２の系列候補各々について，前記禁止パターンと一致するイベントの並びを検出して禁止パターン出現箇所とする処理過程と，
前記系列候補分割部が，前記禁止パターン出現箇所を解消するイベントの間隔を探索し，探索した間隔で前記第２の系列候補を分割して系列を生成する処理過程と，
前記イベント系列出力部が，前記第１の系列候補および前記第２の系列候補から分割された系列を，それぞれイベント系列として出力する処理過程とを備える
ことを特徴とするイベントデータ分割処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，複数の系列のイベントが時系列に並ぶイベントデータを，時間的に近接して発生した一連の系列に分割するイベントデータ分割処理プログラム，装置および方法に関する。
【０００２】
イベントデータは，系列に属する一連のイベントが時系列で並ぶデータであり，時間的に近接して発生した一連のイベントで構成されるイベント系列が多数重ね合わさったデータである。例えば，コンピュータシステムが出力するメッセージデータ（システムログデータ等）は，なんらかの要因でシステムによって連続的に出力され，その出力が要因発生の度に繰り返されることで生成される。すなわち，メッセージデータは，一つの要因に対応するメッセージ系列の重ね合わせである。
【０００３】
本発明は，このようにして生成される時系列データ（イベントデータ）を入力として与えられたときに，このイベントデータを元々の系列に分割する処理に関する。
【背景技術】
【０００４】
図３１に，イベントデータおよび系列を構成するイベント（時系列データ）の集合の例を示す。図３１において，横軸が時間軸を表し，黒丸がイベントを表す。また，横軸上の黒丸の位置がイベントの発生時刻を表す。図３１（Ａ）および（Ｂ）に示す例では，それぞれ，イベントデータに9個のイベントが含まれていることを表す。
【０００５】
図３１（Ａ）のイベントデータには３つのイベントの系列が含まれ，各系列１〜３は，それぞれ，３個，４個，２個のイベントで構成されている。系列内では，同一の系列に属するイベントのみが時間的に連続している。図３１（Ｂ）のイベントデータには２つのイベント系列が含まれ，各系列１，２は，それぞれ，６個，４個のイベントで構成されている。しかし，系列１内には別の系列２のイベントが発生している状態であり，系列が，時間的に連続して発生したイベントのみでは構成されていない。
【０００６】
本発明は，図３１（Ａ）に示すようなイベント系列を含むイベントデータを処理対象とし，イベントデータを，時間的に連続して発生したイベントのみで構成される系列へ分割するものである。
【０００７】
イベントデータ内の時系列のデータをイベント系列毎に分割できれば，時系列データ，特に大量のイベントからなる大規模な時系列データを利用する際に，利用データによる処理結果の信頼性を向上，処理時間の短縮等の大きな効果がある。
【０００８】
例えば，ＩＴシステムのシステムログの最も重要な利用目的の一つは，障害発生時に原因を究明し，できる限り短期間にシステムを復旧することである。しかし，障害発生時には短期間に大量のメッセージが出力されるため，その全てに目を通すことは実際には非常に困難である。もしメッセージデータを「一連のメッセージ」の系列毎に分割できれば，メッセージデータ全体に目を通すことなく，各イベント系列の代表的なメッセージだけを読むことが可能となり，このようなチェックによって，ある程度状況を把握することが可能となる。その結果，障害の原因究明や復旧に要する時間を短縮することが可能となる。
【０００９】
さらに，イベントデータの系列への分割は，ＷＥＢサイトへのアクセスログ分析への適用も可能である。この場合に，ＵＲＬへのリクエストがイベントとなり，リクエスト時刻がイベントの発生時刻となる。ＷＥＢサイトへのアクセスの典型的なパターンの一つは，いくつかのリンクをたどって目的のＵＲＬへ到達し，そのＵＲＬに記載されている情報を読み，またいくつかのリンクをたどって別のＵＲＬへ移動する，ということを繰り返すようなアクセスである。このようなアクセスログに対して，あるＵＲＬへ至るリンク上にあるＵＲＬへのアクセスを系列としてまとめることができれば，利用者にとって実際に重要なＵＲＬと，そのＵＲＬへの移動のためのＵＲＬとを分離することができる。そして，サイトの利用態様を分析し，サイト構成を検討したり変更したりする際の時間短縮や信頼性向上に有用である。
【００１０】
イベントデータを系列毎に分割する従来手法として，時間間隔に基づく分割手法と開始／終了パターンに基づく分割手法とが知られている。
【００１１】
時間間隔に基づく分割手法（従来手法１）は，イベント間の時間間隔の閾値を用いる方法である。例えば，図３１の例で，閾値を４とし，間隔が“４”以下であれば同じ系列，“４”より大きければ異なる系列と判断して，イベントデータを分割する。
【００１２】
開始／終了パターンに基づく分割手法（従来手法２）は，一連のイベント系列の最初と最後のパターンを定義することによって，イベント列の中から，系列の最初および最後のパターンと合致する部分を探し，その前／後で分割する（例えば，特許文献１参照）。
【特許文献１】特開２００３−３０８２２９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
従来手法１は，前述のＩＴシステムのメッセージ例でいうと，メッセージの要因となる事象の発生頻度が低く，その間隔が単一の事象から発せられる複数のメッセージの間隔に比べて十分大きい場合に，閾値をこれらの時間間隔の中間の値に設定することで正しい分割を行うことができる。
【００１４】
しかし，障害発生時には様々な事象が短期間に集中的に発生し，事象の発生間隔も平均的に短くなる。そのため，場合によっては単一の事象からのメッセージの発生間隔と同程度あるいはそれよりも短くなることがある。
【００１５】
従来手法２は，一連のイベント系列の最初と最後のパターンの定義を与えることにより，従来手法１の問題点を解決している。すなわち，イベント列の中から，イベントデータから，系列の最初／最後のパターンと合致する部分を探しており，イベントの発生間隔によらずに分割することができる。
【００１６】
しかし，従来手法２は，系列の最初／最後の部分が少数の固定パターンであるようなイベントデータでしか使用することができない。また，最初／最後のパターンが，系列のそれ以外の部分に出現しないことも要求される。それに加えて，あらかじめ開始／終了パターンの定義を与える必要もある。
【００１７】
前述の従来手法１および２の課題をまとめると，以下の３点である。
・課題１：従来手法１では，イベントが集中して発生している場合にうまく分割できない。
・課題２：従来手法２では，どのようなパターンを開始および終了パターンとするかを設定する必要がある。
・課題３：従来手法２では，系列が特定のパターンで開始／終了する場合にしか適用できない。
【００１８】
本発明の目的は，イベントが集中して発生する可能性があってイベント間の間隔が不定であったり，開始／終了パターンが特定できない系列であっても，精度よく分割できるようなイベントデータ分割を行える処理技術を提供することである。
【課題を解決するための手段】
【００１９】
前記課題を解決するため，本発明は，以下の３段階の処理を行う。
【００２０】
（１）  イベントデータの時系列上で隣接するイベントの間隔が十分大きく，２つのイベントが高い確率で他の系列に属すると判断できる間隔を示す閾値Ｔ１を用いて，閾値Ｔ１に該当する箇所で時系列のイベントを分割し，系列候補を生成する。
【００２１】
（２）  前記（１）の処理で得られた系列候補の中で，その系列候補に属する全てのイベントが隣接するイベントとの時間間隔が十分小さい，すなわち同一系列である可能性の高いイベント同士の間隔を示す閾値Ｔ２以下の間隔で隣り合う系列候補を選択する。そして，選択した系列候補中でのイベントの出現順序から，同一系列の中では出現しない確率が高いイベントのパターン（禁止パターン）を生成する。
【００２２】
（３）  前記（１）の処理で生成された系列候補の中で，前記（２）の処理で選ばれなかった系列候補について，禁止パターンを使って系列候補内の分割箇所を決定する。そして，決定した箇所で分割を行うことによって，最終的な系列を生成する。なお，（２）の処理で選択された系列候補は，それ自体を最終的な系列とする。
【００２３】
本発明では，２つの時間間隔の閾値Ｔ１，Ｔ２を使用することによって，イベント間の時間間隔で系列への分割が可能な箇所のみを時間間隔を使って分割し，それ以外の箇所はパターンを使って分割することによって，前記の課題１を解決する。
【００２４】
このとき，分割するパターンは外部から与える必要はなく，時間間隔で生成された系列から自動的に生成するため，課題２をも解決できる。
【００２５】
最後に，生成されるパターンは開始・終了パターンによって特定されるものではないため，課題３も解決できる。
【００２６】
具体的には，開示するプログラムは，コンピュータを，以下の特定の処理を行うデータ読み込み部とイベント間隔分類部と系列候補生成部と禁止パターン生成部と禁止パターン出現箇所抽出部と系列候補分割部とイベント系列出力部として機能させるものである。
【００２７】
コンピュータのデータ読み込み部が，イベントの種別および発生時刻の情報を含むイベントが発生の順に並べられたイベントデータを取得すると，イベント間隔分類部が，隣り合うイベント同士が別系列であるとの判定用の第１の閾値と，隣り合うイベント同士が同一系列であるとの判定用の第２の閾値とを備えて，イベントデータの時間的に隣り合うイベント同士の発生時刻から算出した間隔各々について，第１の閾値または第２の閾値による判定分類を行う。
【００２８】
そして，系列候補生成部が，イベントデータを第１の閾値を超える間隔で分割して系列候補を生成する。
【００２９】
次に，禁止パターン生成部が，系列候補のうち，系列候補に含まれる間隔の全てが第２の閾値以内の間隔である系列候補を第１の系列候補とし，系列候補に含まれる間隔に前記第２の閾値を超える間隔を含む系列候補を第２の系列候補とし，第１の系列候補のイベントの種別の並びに基づいて，同一系列に出現しない確率が高い種別の並びを推定して禁止パターンを生成する。すると，禁止パターン出現箇所抽出部が，第２の系列候補各々について，禁止パターンと一致するイベントの並びを検出して禁止パターン出現箇所とする。系列候補分割部が，禁止パターン出現箇所を解消するイベントの間隔を探索し，探索した間隔で第２の系列候補を分割して系列を生成すると，イベント系列出力部が，第１の系列候補および第２の系列候補から分割された系列を，それぞれイベント系列として出力する。
【００３０】
これにより，イベントデータから，別系列のイベント間より十分に広い間隔を示す第１の閾値と，同系列のイベントの間隔を示す第２の閾値を用いて，同系列である確度の高い第１の系列候補と確度の低い第２の系列候補とを抽出し，第２の系列候補については，第１の系列候補から推定した，出現する確率が低いイベントの並びのパターンの出現箇所をもとにさらに系列候補を分割するため，より高精度でイベント系列を出力することができる。
【発明の効果】
【００３１】
本発明によれば，イベント間の時間間隔とイベントの発生パターンとの両方を組み合わせてイベントデータの分割箇所を決定していく。そのため，従来手法に比べてより高い精度でイベント系列を抽出することができる。特に，短期間に集中的に多数のイベントが発生するような状況のイベントデータについて，より高い精度で系列に分割することができる。
【００３２】
本発明は，情報処理システムのメッセージログ，Ｗｅｂサイトのアクセスログ，サーバ間のリクエスト履歴データを用いた分析処理の前処理として利用可能であり，これらの前処理において，イベント系列の特定を高精度に行えるという格別の効果を奏する。
【発明を実施するための最良の形態】
【００３３】
図１は，本発明の実施の形態における構成例を示す図である。
【００３４】
図１のイベントデータ分割処理装置１は，データ読み込み部１１，系列候補生成部１２，イベント間隔分類部１３，系列候補分割部１４，禁止パターン生成部１５，禁止パターン出現箇所抽出部１６，および分割結果出力部１７を備える。
【００３５】
データ読み込み部１１は，イベントデータ２を取得する。
【００３６】
イベントデータ２は，イベント種別および発生時刻の情報を含むイベントメッセージを，発生時刻順に並べた時系列データである。
【００３７】
系列候補生成部１２は，イベントデータ２の時間的に隣接するイベントの間隔を計算してイベント間隔分類部１３へ渡す。また，イベント間隔分類部１３から，イベントデータ２の全てのイベントの間隔について第１の閾値Ｔ１および第２の閾値Ｔ２による分類結果を取得する。
【００３８】
第１の閾値Ｔ１は，時系列上で隣接するイベント同士が異なる系列に分類されるかを判断するための値である。隣り合う２つのイベントの時間間隔が閾値Ｔ１以上または超過する場合に，２つのイベントは別系列に属するものと判断され，イベントデータ２はその間隔で分割される。
【００３９】
第２の閾値Ｔ２は，時系列上で隣接するイベント同士が同じ系列に分類されるかを判断するための値である。隣り合う２つのイベントの時間間隔が閾値Ｔ２以下または下回る場合に，２つのイベントは同一系列に属するものと判断され，その間隔では分割されない。
【００４０】
２つの閾値Ｔ１，Ｔ２は，Ｔ１＞Ｔ２の関係となるように設定される。
【００４１】
なお，従来手法１で使用する閾値を仮にＴ３とすると，閾値Ｔ１，Ｔ２と従来手法の閾値Ｔ３との関係が，「Ｔ１＞Ｔ３＞Ｔ２」となるように設定される。
【００４２】
系列候補生成部１２は，イベント間隔分類部１３から得た分類結果をもとに，イベントデータ２の隣り合うイベントの間隔のうち，第１の閾値Ｔ１を超える間隔を特定し，特定した箇所でイベントデータ２を分割して系列候補を生成する。
【００４３】
イベント間隔分類部１３は，系列候補生成部１２から得たイベントの間隔を，第１の閾値Ｔ１を超える間隔であるか否か，第２の閾値Ｔ２以下の間隔であるか否かを判定して分類し，その分類結果を系列候補生成部１２へ返却する。
【００４４】
系列候補分割部１４は，系列候補中の間隔が全て閾値Ｔ２以内の間隔である系列候補を抽出して第１の系列候補とし，第１の系列候補の集合を禁止パターン生成部１５に渡す。第１の系列候補は，そのままイベント系列として出力される確度が高いものである。
【００４５】
また，系列候補分割部１４は，間隔に閾値Ｔ２を超える間隔を含む系列候補を抽出して第２の系列候補とし，第２の系列候補の集合を禁止パターン出現箇所抽出部１６へ渡す。第２の系列候補は，そのままイベント系列として出力される確度が低いものである。
【００４６】
さらに，系列候補分割部１４は，禁止パターン出現箇所抽出部１６によって特定された禁止パターン出現箇所を解消する箇所で，イベント間の間隔が閾値Ｔ２を超える箇所を探索して分割箇所候補とし，最多の禁止パターン出現箇所を解消できる分割箇所候補を分割箇所として選択し，この分割箇所で第２の系列候補を分割する。
【００４７】
禁止パターン生成部１５は，第１の系列候補の集合をもとに，同一系列内で出現しない確率が高いイベントの種別の並びを推定し，推定したイベント種別の並びから禁止パターンを生成する。もし，１つの系列候補中に禁止パターンに該当するイベントの種別の並びが出現するならば，その系列候補は，複数の系列が合わさったものであり，適切な系列を生成するために，さらに分割する必要があると判断するためである。
【００４８】
禁止パターンの最も簡単な形式は，「種別がＸであるイベントよりも後に種別がＹのイベントが存在する」というパターンである。このようなパターンを２項禁止パターンと呼び「Ｘ→Ｙ」と記す。２項禁止パターン「Ｘ→Ｙ」は，もし系列中に種別Ｘのイベントが存在すれば，それ以降に種別Ｙのイベントは出現しないことを表す。
【００４９】
禁止パターン出現箇所抽出部１６は，第２の系列候補の集合の各系列候補について，禁止パターンに該当するイベントの種別の並びを特定して，禁止パターン出現箇所とする。
【００５０】
分割結果出力部１７は，イベントデータ２の第１の系列候補と第２の系列候補から分割された系列とをイベント系列とし，イベント系列の集合を分割結果３として出力する。
【００５１】
以下，イベントデータ分割処理装置１の処理の具体例をより具体的に説明する。
【００５２】
〔第１の処理例〕
図２に，第１の処理例におけるイベントデータ２の例を示す。
【００５３】
図２に示すイベントデータ２の各イベントは，イベントＩＤ（識別番号），イベント種別および発生時刻のデータからなる。なお，イベントＩＤは，説明の都合上付与したものであり必須情報ではない。イベントデータ２において，イベントは発生時刻順にソートされている。ここで，イベント間隔は，隣り合う２つのイベントメッセージの発生時刻の間隔となる。
【００５４】
図２のイベントデータ２では，2種類のイベント系列「Ａ→Ｂ→Ｃ」と「Ｂ→Ｃ→Ａ」の２つの系列が順番に現れている。例えばイベントがＷｅｂのアクセスログであれば，「Ａ，Ｂ，Ｃ」はＵＲＬを示し，２種類のイベント系列は，それぞれ，ユーザのアクセス目的を示している。
【００５５】
図３に，図２のイベントデータ２の場合に望まれる分割結果（イベント系列の集合）の例を示す。図２のイベントデータ２の場合には，｛Ｅ１，Ｅ２，Ｅ３｝，｛Ｅ４，Ｅ５，Ｅ６｝，｛Ｅ７，Ｅ８，Ｅ９｝，｛Ｅ１０，Ｅ１１，Ｅ１２｝，｛Ｅ１３，Ｅ１４，Ｅ１５｝，｛Ｅ１６，Ｅ１７，Ｅ１８｝，｛Ｅ１９，Ｅ２０，Ｅ２１｝の7個の系列に分割され，系列ＥＳ１〜ＥＳ７の集合が分割結果３として出力されるのが望ましい。
【００５６】
以下に，イベントデータ分割処理装置１の処理の流れを説明する。
【００５７】
図４は，イベントデータ分割処理装置１の処理概要を示す図である。
【００５８】
ステップＳ１：データ読み込み部１１は，図２に示すイベントデータ２を読み込む。
【００５９】
ステップＳ２：系列候補生成部１２は，イベントデータ２の隣り合うイベントの間隔を用いて系列候補に分割する。
【００６０】
系列候補への分割には閾値Ｔ１＝１０秒，閾値Ｔ２＝３秒を用いる。
【００６１】
図５は，ステップＳ２の系列候補生成処理の詳細な処理フロー図である。
【００６２】
ステップＳ２１：系列候補生成部１２は，隣接する２つのイベントの前のイベントＥ（ｉ−１）の発生時刻と後のイベントＥｉの発生時刻との間隔Δｉを計算する。
【００６３】
ステップＳ２２：イベント間隔分類部１３は，閾値Ｔ１，Ｔ２を用いて，間隔Δｉを「分類（１）：閾値Ｔ１より大きい間隔」，「分類（２）：閾値Ｔ１以下かつ閾値Ｔ２より大きい間隔」，「分類（３）：閾値Ｔ２以下の間隔」の３種類に分類する。
【００６４】
ステップＳ２３：系列候補生成部１２は，イベント間隔分類部１３の分類結果を用いて，イベントデータ２を，間隔が分類（１）の箇所，すなわち２つのイベントの発生時刻の間隔が閾値Ｔ１より大きい箇所で分割して，系列候補を生成する。
【００６５】
図６に，イベントデータ２のイベントの間隔Δｉの分類結果および生成された系列候補の例を示す。
【００６６】
図６において，間隔Δ４（イベントＥ３とイベントＥ４との間），間隔Δ７（イベントＥ６とイベントＥ７との間），間隔Δ１３（イベントＥ１２とイベントＥ１３との間），間隔Δ１６（イベントＥ１５とイベントＥ１６との間），間隔Δ１９（イベントＥ１８とイベントＥ１９との間）が分類（１）に区分され，これらの箇所でイベントデータ２が分割される。そして，系列候補ｓｅｑ１〜ｓｅｑ６として，｛Ｅ１，Ｅ２，Ｅ３｝，｛Ｅ４，Ｅ５，Ｅ６｝，｛Ｅ７，Ｅ８，Ｅ９，Ｅ１０，Ｅ１１，Ｅ１２｝，｛Ｅ１３，Ｅ１４，Ｅ１５｝，｛Ｅ１６，Ｅ１７，Ｅ１８｝，｛Ｅ１９，Ｅ２０，Ｅ２１｝が生成される。
【００６７】
閾値Ｔ１は，前後するイベントが別の系列に属することを示すように十分に大きな値が設定されているので，算出されたイベント間隔が閾値Ｔ１を越える場合には，その間隔でイベントの系列が切れている可能性が高い。そのため，ステップＳ２の処理で生成される系列候補は，１つまたは複数の系列をあわせたものである。反対に，ある系列が複数の系列候補に分割されている可能性は低い。
【００６８】
なお，ステップＳ２の処理で行う系列候補の生成処理では，間隔Δｉが閾値Ｔ１より大きいかどうか，すなわち「分類が（１）であるか」に依存している。間隔Δｉが閾値Ｔ２以下かどうか，すなわち「分類（２）または（３）であるか」は関係がない。しかし，次のステップＳ３およびＳ４の処理で使用するため，閾値Ｔ１による分類と共に分類を行っておく。
【００６９】
ステップＳ２の処理で生成された系列候補のうちいくつかは，そのまま最終的なイベント系列となるが，残りについては後の処理ステップでさらに分割されて，複数のイベント系列を生成する。これにより，誤って分割すべきでない箇所を分割すると判断したり，分割すべき箇所を分割しないと判断したりする可能性が少なくなる。
【００７０】
なお，イベント間隔が閾値Ｔ１と閾値Ｔ２との中間にある場合は分割すべきかどうか判断できないが，このようなイベント間隔は，ステップＳ３以降の処理で分割すべきかどうか判断される。
【００７１】
ステップＳ３：系列候補分割部１４は，系列候補中の間隔が全て閾値Ｔ２以下，すなわちステップＳ２の処理での分類（３）である系列候補を選択する。選択された系列候補を第１の系列候補とし，残りの系列候補を第２の系列候補とする。
【００７２】
図７に，第２の系列候補の判断となる間隔を示す。図７中，行間が点線で表される部分が分類（２），すなわち閾値Ｔ１以下で閾値Ｔ２より大きい時間間隔の箇所である。図７において，間隔Δ９（イベントＥ８とイベントＥ９との間），間隔Δ１０（イベントＥ９とイベントＥ１０との間），間隔Δ１１（イベントＥ１０とイベントＥ１１との間），間隔Δ１４（イベントＥ１３とイベントＥ１４との間）が分類（２）となる。
【００７３】
第１の系列候補は，以降での分割処理の対象とせず，そのままイベント系列とされる。閾値Ｔ２は，前後のイベントが同一の系列であることを示す値が設定されていることから，イベント間隔が閾値Ｔ２より小さい場合には，それらのイベントは同一の系列に属すると判断するからである。図７に示す系列候補の例では，系列候補ｓｅｑ１，ｓｅｑ２，ｓｅｑ５，ｓｅｑ６の４つが選択される。なお，残りの系列候補ｓｅｑ３，ｓｅｑ４は，ステップＳ４以降の処理でさらに判断対象となる。
【００７４】
ステップＳ４：禁止パターン生成部１５は，ステップＳ３の処理で選択された第１の系列候補の集合から，残りの系列候補を分割するために使う禁止パターンを生成する。生成する禁止パターンのタイプは，２項禁止パターン「Ｘ→Ｙ」である。
【００７５】
図８は，ステップＳ４の禁止パターン生成処理のより詳細な処理フロー図である。
【００７６】
ステップＳ４１：禁止パターン生成部１５は，まず，初期化を行う。
【００７７】
禁止パターン生成の際に，２つの閾値Ｎ＿ＭＩＮおよびＰ＿ＭＩＮを用いる。閾値Ｐ＿ＭＩＮは，パターンにおける最小信頼度であり，禁止パターンの精度の下限をあらわすパラメータである。閾値Ｎ＿ＭＩＮは，パターンに現れるイベントの種別の最小頻度であり，禁止パターンの精度を算出する際の統計的な信頼性を確保するためのパラメータである。
【００７８】
第１の系列候補の集合を集合ＰＣｓとし，閾値Ｐ＿ＭＩＮ＝０．８，閾値Ｎ＿ＭＩＮ＝２とする。
【００７９】
ステップＳ４２：禁止パターン生成部１５は，イベントの各種別Ｘについて，入力となる第１の系列候補の集合ＰＣｓ中で，種別Ｘのイベントを含む系列候補の数Ｎ（Ｘ）をカウントする。
【００８０】
図２のイベントデータ２には，Ａ，Ｂ，Ｃの3種類のイベント種別が存在する。このうち種別Ａは，図６に示すように，入力となる４個の系列候補ｓｅｑ１，ｓｅｑ２，ｓｅｑ５，ｓｅｑ６の全てに含まれているから（Ｅ１，Ｅ６，Ｅ１８，Ｅ１９），Ｎ（Ａ）＝４となる。イベント種別Ｂ，Ｃについても同様にカウントする。カウント結果は，
イベント種別「Ａ」＝Ｎ（Ａ）＝４；
イベント種別「Ｂ」＝Ｎ（Ｂ）＝４；
イベント種別「Ｃ」＝Ｎ（Ｃ）＝４；
のようになる。
【００８１】
ステップＳ４３：禁止パターン生成部１５は，イベント種別の組み合わせＸ，Ｙについて，２項禁止パターン「Ｘ→Ｙ」の反例の数（Ｎ（Ｘ→Ｙ））をカウントする。すなわち，入力された系列候補の中で，種別Ｘのイベントが存在し，かつ，それ以降に種別Ｙのイベントが存在する系列候補数をカウントする。
【００８２】
例えば，図６に示す系列候補の例では，２項禁止パターン「Ａ→Ｃ」は，系列候補ｓｅｑ１（Ｅ１→Ｅ３）と系列候補ｓｅｑ６（Ｅ１９→Ｅ２１）の２つに含まれる。したがって，「Ａ→Ｃ」の反例の数Ｎ（Ａ→Ｃ）＝２となる。図９に，全てのイベント種別の組み合わせについて反例の数をカウントした結果を示す。
【００８３】
ステップＳ４４：ステップＳ４２およびＳ４３の処理結果を用いて，禁止パターン「Ｘ→Ｙ」の精度Ｐ（¬Ｙ｜Ｘ）を，以下の式，
Ｐ（¬Ｙ｜Ｘ）＝１−Ｎ（Ｘ→Ｙ）／Ｎ（Ｘ）
で計算する。図１０に，図９の場合の精度Ｐ（¬Ｙ｜Ｘ）の計算結果を示す。
【００８４】
ステップＳ４５：禁止パターン生成部１５は，以下の３つの条件，
条件１：Ｎ（Ｘ）≧Ｎ＿ＭＩＮ；
条件２：Ｎ（Ｙ）≧Ｎ＿ＭＩＮ；
条件３：Ｐ（¬Ｙ｜Ｘ）≧Ｐ＿ＭＩＮ；
を満足するものを，禁止パターンとして採用する。
【００８５】
条件３は，禁止パターンの精度に関するものであり，系列が種別Ｘのイベントを含む場合に，そのイベントの出現以降に種別Ｙのイベントが存在しない確率が十分大きいこと，すなわち系列候補を系列に分割する際に，分割すべきかどうかの判断が高い精度で行えることを意味する。しかし，Ｎ（Ｘ），Ｎ（Ｙ）が小さい場合には，Ｐ（¬Ｙ｜Ｘ）の値自身の信頼性が薄いため，条件１および条件２を用いて一定以上の頻度を持つイベント種別についてのみ禁止パターンを生成する。
【００８６】
ステップＳ４６：禁止パターン生成部１５は，生成した禁止パターンを全て出力する。
【００８７】
閾値Ｎ＿ＭＩＮ＝２，閾値Ｐ＿ＭＩＮ＝０．８である場合に，図１０の精度Ｐ（¬Ｙ｜Ｘ）の計算結果から，以下の４個の禁止パターン，
禁止パターン１：Ａ→Ａ；
禁止パターン２：Ｂ→Ｂ；
禁止パターン３：Ｃ→Ｃ；
禁止パターン４：Ｃ→Ｂ；
が出力される。
【００８８】
ステップＳ５：系列候補分割部１４は，ステップＳ４の処理で求めた禁止パターンを使用して特定された出現箇所をもとに，系列候補を分割して系列を生成する。分割は，対象となる系列候補をひとつづつ選択して行う。ここで，分割対象となるのは，第２の系列候補の集合の系列候補である。図６に示す分割結果例では，系列候補ｓｅｑ３，ｓｅｑ４の２つの系列候補が対象となる。
【００８９】
図１１は，ステップＳ５の系列候補に対する分割処理のより詳細な処理フロー図である。以下では，系列候補ｓｅｑ３に対する分割処理として説明する。
【００９０】
ステップＳ５１：禁止パターン出現箇所抽出部１６は，系列候補ｓｅｑ３中の各禁止パターンの出現箇所を全て求める。禁止パターンの出現箇所を集合Ｐｓとする。
【００９１】
禁止パターン「Ｘ→Ｙ」の出現箇所は，系列候補中の種別Ｘであるイベントと種別Ｙのイベントを全て求め，次にその組み合わせについて順序関係をチェックし，種別Ｘのイベントよりも種別Ｙのイベントが後である組み合わせのみを残すことで検出する。
【００９２】
例えば，禁止パターン４「Ｃ→Ｂ」については，以下のようにして出現箇所を求める。系列候補ｓｅｑ３では，種別ＣのイベントはＥ９とＥ１１，種別ＢのイベントはＥ８とＥ１０の２つである。よって，これらの組み合わせは（Ｅ９，Ｅ８），（Ｅ９，Ｅ１０），（Ｅ１１，Ｅ８），（Ｅ１１，Ｅ１０）の4通りである。このうち，種別Ｂのイベントが種別Ｃのイベントよりも時間的に後に出現するものは，（Ｅ９，Ｅ１０）の一つのみである。他の禁止パターンについても同様に出現箇所を求める。
【００９３】
図１２は，系列候補ｓｅｑ３における各禁止パターンの出現箇所の例を示す図，図１３は，図１２に示す禁止パターン出現箇所の時間的関係を時系列上の位置で表した図である。
【００９４】
ステップＳ５２：系列候補分割部１４は，系列候補中の分割箇所の候補の集合Ｄｓを初期化する。
【００９５】
系列候補中のイベントの間隔には，時間間隔が閾値Ｔ２より大きい箇所と閾値Ｔ２以下の箇所とがある。このうち，閾値Ｔ２以下の箇所については，その前後のイベントが同一系列に属する可能性が高いので，分割箇所の候補とはしない。よって，分割箇所の候補の集合は，間隔が閾値Ｔ２より大きい箇所の集合とする。
【００９６】
系列候補ｓｅｑ３では，閾値Ｔ２より大きい間隔は，図７に示す分類結果例において分類（２）となっている箇所であり，イベントＥ８とＥ９の間（分割箇所候補１），Ｅ９とＥ１０の間（分割箇所候補２），Ｅ１０とＥ１１の間（分割箇所候補３）の３個である。図１４に，禁止パターンの出現例における分割箇所候補の例を示す。図１４では，図１３の禁止パターンの出現箇所の時系列上での表示例に，前記の３個の分割箇所候補を点線で付け加えている。
【００９７】
ステップＳ５３：系列候補分割部１４は，実際に分割に用いる分割箇所の集合Ｓを空集合にして初期化する。
【００９８】
ステップＳ５４：次に，各分割箇所候補で系列候補を分割した場合に，いくつの禁止パターン出現箇所を解消できるかを探索する。具体的には，各分割箇所候補について，出現箇所の最初のイベントが分割箇所候補よりも前に出現しており，最後（2番目）のイベントが分割箇所候補よりも後に出現するような出現箇所の数をカウントすることによって行う。
【００９９】
図１４に示すように，分割箇所候補１での分割は，禁止パターンの出現箇所１，２を解消できる。しかし，出現箇所３，４については，出現箇所の最初と最後のイベントの両方が分割箇所候補１よりも後にあるため解消できない。したがって，分割箇所候補１による解消可能な禁止パターンの数は２と求まる。同様にして，他の分割箇所候補についても解消できる分割箇所とその数を求める。図１５に，各分割箇所候補についての解消可能な出現箇所数の例を示す。
【０１００】
ステップＳ５５：系列候補分割部１４は，分割の終了条件が満足するかどうかをチェックする。
【０１０１】
終了条件は，分割箇所候補がないためもう分割できない（Ｄｓ＝空集合）か，分割箇所候補の集合中の禁止パターンが全て解消されたため分割の必要がない（Ｐｓ＝空集合）か，どの分割箇所候補も禁止パターンをまったく解消できないため分割を行う意味がない，かのいずれかの条件が満足されることである。
【０１０２】
系列候補３については，分割箇所候補が３個存在し，禁止パターンも4箇所で出現し，各分割箇所候補で分割することで２つ（分割箇所候補１，３）または４つ（分割箇所候補２）の禁止パターンを解消できるため，終了条件を満足しない。よって，ステップＳ５６以降の分割処理を続行する。
【０１０３】
ステップＳ５６：系列候補分割部１４は，分割箇所候補の中から，実際に分割する箇所を選択する。選択はステップＳ５４の処理で求めた，解消される禁止パターン数が最多となる分割箇所候補を選択する。系列候補ｓｅｑ３では，図１５に示す例から，４個の禁止パターンを解消する分割箇所候補Ｄ（分割箇所候補２）が選択される。
【０１０４】
ステップＳ５７：系列候補分割部１４は，系列候補の分割のためのデータの更新を行う。すなわち，分割箇所の集合Ｓに，選択した分割箇所候補Ｄを追加し，逆に，分割箇所候補の集合Ｄｓから選択した分割箇所候補Ｄを除去する。分割箇所候補Ｄによって解消される禁止パターンの出現箇所は，分割をさらに進める際に考慮する必要はないので，禁止パターンの出現箇所の集合Ｐｓから取り除く。
【０１０５】
系列候補ｓｅｑ３では，分割処理を行う分割箇所の集合Ｓが｛分割箇所候補２｝となり，分割箇所候補の集合Ｄｓは｛分割箇所候補１，分割箇所候補３｝となる。分割箇所候補２は系列３中の４個全ての禁止パターンを解消するので，禁止パターンの出現箇所の集合Ｐｓは空集合となる。
【０１０６】
そして，ステップＳ５７の処理後にステップＳ５４に戻り，終了条件が満足されるまで同様の処理を繰り返す。また，ステップＳ５５の処理で，終了条件が満足されたら，ステップＳ５８の処理へ進む。
【０１０７】
系列候補ｓｅｑ３では，前述のとおり，すでに全ての禁止パターンが解消されており，禁止パターンの出現箇所の集合Ｐｓは空集合である。よって，ステップＳ５５の終了条件の判定では，終了条件を満足し，ステップＳ５８に移る。
【０１０８】
ステップＳ５８：系列候補分割部１４は，選択された全ての分割箇所候補Ｄで系列候補を分割して系列を生成する。
【０１０９】
系列候補ｓｅｑ３については，分割箇所に選択された分割箇所候補２（Ｅ９とＥ１０の間）によって，以下の２つの系列，｛Ｅ７，Ｅ８，Ｅ９｝，｛Ｅ１０，Ｅ１１，Ｅ１２｝が出力される。
【０１１０】
系列候補ｓｅｑ４については，その系列中に禁止パターンが出現しないので，ステップＳ５５の処理において終了条件を満足する。よって，分割処理は行わずに，ステップＳ５８の処理で，系列候補ｓｅｑ４｛Ｅ１３，Ｅ１４，Ｅ１５｝が，そのまま分割結果である系列として出力される。
【０１１１】
ステップＳ６：分割結果出力部１７は，第１の系列候補の集合と，第２の系列候補の集合の系列候補を分割して得られた系列とをあわせた集合（系列の集合）を，最終的な分割結果３として出力する。
【０１１２】
図１６に示すように，図２のイベントデータ２から，以下の7個の系列；
系列ＥＳ１：｛Ｅ１，Ｅ２，Ｅ３｝；
系列ＥＳ２：｛Ｅ４，Ｅ５，Ｅ６｝；
系列ＥＳ３：｛Ｅ７，Ｅ８，Ｅ９｝；
系列ＥＳ４：｛Ｅ１０，Ｅ１１，Ｅ１２｝；
系列ＥＳ５：｛Ｅ１３，Ｅ１４，Ｅ１５｝；
系列ＥＳ６：｛Ｅ１６，Ｅ１７，Ｅ１８｝；
系列ＥＳ７：｛Ｅ１９，Ｅ２０，Ｅ２１｝；
が分割結果３として出力される。分割結果３のイベント系列は，図３に示した望ましい分割結果と一致している。
【０１１３】
ここで，イベントデータ分割処理装置１の分割結果３と，従来手法による処理結果とを比較してみる。
【０１１４】
図１７は，従来手法１による分割結果の例を示す図，図１８は，従来手法２による分割結果の例を示す図である。
【０１１５】
図１７では，時間間隔の閾値Ｔ３＝５秒とし，直前イベントとの間隔が５秒よりも大きい場合に分割した結果を示す。図１７に矢印で示す箇所のように，望ましい分割結果との比較から明白なように，系列３と系列４との分割が正しく行えない。
【０１１６】
時間間隔による分割処理の結果は，閾値に大きく依存する。しかし，図３に示す分割結果からわかるように，本来の同一の系列内で隣接するイベント間の時間間隔が最大６秒（イベントＥ８とＥ９の間）であるのに対して，ある系列の最初のイベントとその直前の別の系列の最後のイベントとの発生時刻の差が最小４秒（イベントＥ９とＥ１０との間）であることから，閾値をどのように設定しても，望ましい分割結果を得ることはできない。
【０１１７】
また，図１８では，説明の簡略のために，開始パターンを系列の最初の１イベント，終了パターンも系列の最後の１イベントの種別とする。ここで，正しい開始パターンが｛Ａ｝または｛Ｂ｝の２種類，終了パターンが｛Ｃ｝または｛Ａ｝の２種類となる。
【０１１８】
しかし，開始パターンのイベント種別｛Ａ｝は，図３に示すイベントデータ２の系列ＥＳ１，ＥＳ３，ＥＳ５，ＥＳ７の最初に現れるだけでなく，系列ＥＳ２，ＥＳ４，ＥＳ６の最後にも現れる。そのため，たとえ正しい開始・終了パターンを与えたとしても，開始パターンの最初のイベントとその直前のイベントとの間で分割すると，図１８に矢印で示すように，系列ＥＳ２，ＥＳ４，ＥＳ６については，それぞれ，最初の２つのイベントと最後のＡの間で分割が行われ，望ましい結果が得られない。
【０１１９】
このように，従来手法１および２による分割では正しい系列を得ることはできないが，イベントデータ分割処理装置１は，従来の単純な時間間隔や開始・終了パターンによる分割処理ではうまく分割できないようなイベントデータ２からも正しい系列を得ることができる。
【０１２０】
〔第２の処理例〕
図１９は，第２の処理例におけるイベントデータ２の例を示す図である。
【０１２１】
イベントデータ２の各イベントは，イベントＩＤ，開始時刻（秒），終了時刻（秒），リクエスト種別で構成され，発生時刻順にソートされている。
【０１２２】
第２の処理例では，イベントは，図２のイベントデータ２の「発生時刻」の代わりに開始時刻と終了時刻を持ち，有限の時間発生しつづけるような処理である。「イベント間隔」として，「前のイベント（処理）の終了時刻と後のイベント（処理）の開始時刻の間隔」を用いる。
【０１２３】
第２の処理例では，Ｗｅｂサーバへのアクセスを対象とする場合に，何時どのＵＲＬへのリクエストが発生したかのみを対象とせず，リクエストの発生とそのリクエストへのサーバからのレスポンスの発生の双方を観測し，Ｗｅｂサーバがリクエストを受けてからレスポンスを返すまでの「処理」を含むイベントデータを分割対象とする。
【０１２４】
図２０は，図１９のイベントデータ２の場合に望まれる分割結果の例を示す図である。
【０１２５】
図１９のイベントデータ２の場合には，｛Ｅ１，Ｅ２，Ｅ３｝，｛Ｅ４，Ｅ５｝，｛Ｅ６，Ｅ７｝，｛Ｅ８，Ｅ９，Ｅ１０｝，｛Ｅ１１，Ｅ１２，Ｅ１３｝，｛Ｅ１４，Ｅ１５｝，｛Ｅ１６，Ｅ１７｝，｛Ｅ１８，Ｅ１９｝の８個の系列に分割され，イベント系列ＥＳ１〜ＥＳ８が分割結果３として出力されるのが望ましい。 
【０１２６】
以下に，第２の処理例におけるイベントデータ分割処理装置１の処理を説明する。
【０１２７】
イベントデータ分割処理装置１の各処理手段の処理の流れは，第１の処理例で説明した図４，図５，図８，図１１に示す処理とほぼ同様である。
【０１２８】
ステップＳ１：データ読み込み部１１は，図１９のイベントデータ２を読み込む。
【０１２９】
ステップＳ２：系列候補生成部１２は，イベントデータ２のイベントの間隔（隣接するイベントの前のイベントの終了時刻と後のイベントの開始時刻との時間間隔）を用いて系列候補に分割する。ここで，閾値Ｔ１＝０．０２秒，閾値Ｔ２＝０．００５秒とする。
【０１３０】
系列候補生成部１２は，イベントの間隔，隣り合う２つのイベントの前のイベントＥ（ｉ−１）の終了時刻と後のイベントＥｉの発生時刻との間隔Δｉを算出する（ステップＳ２１）。
【０１３１】
そして，イベント間隔分類部１３は，算出された間隔Δｉを，閾値Ｔ１，Ｔ２を用いて「分類（１）：間隔Δｉ＞閾値Ｔ１」，「分類（２）：閾値Ｔ１≧間隔Δｉ＞閾値Ｔ２」，「分類（３）：間隔Δｉ≦閾値Ｔ２」の３種類に分類する（ステップＳ２２）。
【０１３２】
系列候補生成部１２は，イベント間隔分類部１３の分類結果を用いて，イベントデータ２を，間隔Δｉが分類（１）である箇所で分割して，系列候補を生成する（ステップＳ２３）。
【０１３３】
図２１に，イベントデータ２の各イベントの間隔Δｉ，分類結果および生成された系列候補の例を示す。ここでは，間隔Δ４（イベントＥ３とイベントＥ４との間），間隔Δ６（イベントＥ５とイベントＥ６との間），間隔Δ１１（イベントＥ１０とイベントＥ１１との間），Δ１４（イベントＥ１３とイベントＥ１４との間），Δ１８（イベントＥ１７とイベントＥ１８との間）が分類（１）に区分され，これらの間隔でイベントデータ２が分割されて系列候補が生成される。
【０１３４】
ステップＳ３：系列候補分割部１４は，系列候補の中で，イベントの間隔が全て閾値Ｔ２以下，すなわち分類結果が（３）である系列候補を選択して第１の系列候補の集合とし，残りの系列候補を第２の系列候補の集合とする。図２２に，第２の系列候補を判断する間隔を示す。図２２に示す系列候補の例から，系列候補ｓｅｑ１，ｓｅｑ２，ｓｅｑ４，ｓｅｑ６が第１の系列候補となり，残りの系列候補ｓｅｑ３，ｓｅｑ５は，第２の系列候補となる。
【０１３５】
ステップＳ４：禁止パターン生成部１５は，第１の系列候補の集合の系列候補から，第２の系列候補を分割するために使う２項禁止パターンを生成する。
【０１３６】
禁止パターン生成部１５は，第１の系列候補の集合ＰＣｓ，パターンに出現するイベント種別の最小頻度Ｎ＿ＭＩＮ，およびパターンにおける最小信頼度Ｐ＿ＭＩＮを初期化する（ステップＳ４１）。具体的には，第１の系列候補の集合ＰＣｓ＝｛ｓｅｑ１，ｓｅｑ２，ｓｅｑ４，ｓｅｑ６｝，Ｎ＿ＭＩＮ＝２，Ｐ＿ＭＩＮ＝０．８とする。
【０１３７】
そして，各イベント種別Ｘについて，第１の系列候補の集合ＰＣｓでの種別がＸのイベントを含む系列候補の数Ｎ（Ｘ）をカウントする（ステップＳ４２）。カウントの結果は，図２３の上段に示す。
【０１３８】
さらに，全てのイベント種別の組み合わせＸ，Ｙについて，２項禁止パターン「Ｘ→Ｙ」の反例の数（Ｎ（Ｘ→Ｙ））をカウントする（ステップＳ４３）。全てのイベント種別の組み合わせについて反例の数をカウントした結果を，図２３の中段に示す。
【０１３９】
そして，ステップＳ４２およびＳ４３の処理結果を用いて，禁止パターンＸ→Ｙの精度Ｐ（¬Ｙ｜Ｘ）を計算する。例えば，イベント種別Ｘ＝Ａ，Ｙ＝Ｂの場合に，
Ｐ（¬Ｙ｜Ｘ）＝１−Ｎ（Ｘ→Ｙ）／Ｎ（Ｘ）＝１−２／４＝０．５
となる。図２３の下段に，全ての種別の組み合わせについての精度Ｐ（¬Ｙ｜Ｘ）の計算結果の例を示す。
【０１４０】
そして，禁止パターン生成部１５は，以下の３つの条件，
条件１：Ｎ（Ｘ）≧Ｎ＿ＭＩＮ；
条件２：Ｎ（Ｙ）≧Ｎ＿ＭＩＮ；
条件３：Ｐ（¬Ｙ｜Ｘ）≧Ｐ＿ＭＩＮ；
を満足するものを，禁止パターンとして採用し（ステップＳ４５）生成した禁止パターンを全て出力する（ステップＳ４６）。Ｎ（Ｘ），Ｎ（Ｙ），Ｐ（¬Ｙ｜Ｘ）の値が全て条件を満たすパターンは，図２４に示す，「Ａ→Ａ」，「Ｂ→Ａ」，「Ｂ→Ｂ」，「Ｃ→Ｂ」，「Ｃ→Ｃ」の５つとなり，これらが禁止パターンとして出力される。
【０１４１】
ステップＳ５：系列候補分割部１４は，ステップＳ４の処理で求めた禁止パターン出現箇所を用いて系列候補を分割する。分割処理は，対象となる系列候補をひとつづつ選択して行う。
【０１４２】
まず，禁止パターン出現箇所抽出部１６は，系列候補ｓｅｑ３について，各禁止パターンの出現箇所を全て求め，禁止パターンの出現箇所を集合Ｐｓとする（ステップＳ５１）。例えば，図２５に示すように，禁止パターン「Ｃ→Ｂ」については，種別が「Ｃ」のイベントはＥ６とＥ１０，種別が「Ｂ」のイベントはＥ９であり，種別「Ｃ」，種別「Ｂ」の順で出現する関係は（Ｅ６，Ｅ９）の１つである。よって，出現箇所（Ｅ６，Ｅ９）とする。系列候補ｓｅｑ３における各禁止パターンの出現箇所の集合Ｐｓは，｛（Ｅ６，Ｅ９），（Ｅ６，Ｅ１０），（Ｅ７，Ｅ８）｝となる。
【０１４３】
次に，系列候補分割部１４は，分割箇所候補の集合Ｄｓの初期化として，系列候補中の間隔が閾値Ｔ２より大きい箇所を抽出して，分割箇所の候補の集合Ｄｓとする（ステップＳ５２）。ここでは，閾値Ｔ２より大きい間隔は，図２２のイベントデータ２の例において分類（２）となっている箇所であり，イベントＥ６とＥ７との間（分割箇所候補１），イベントＥ７とＥ８との間（分割箇所候補２）である。
【０１４４】
さらに，実際に分割に用いる分割箇所候補の集合Ｓを空集合に初期化し（ステップＳ５３），各分割箇所候補で系列候補を分割した場合に，いくつの禁止パターンの出現箇所を解消できるかをカウントする（ステップＳ５４）。
【０１４５】
図２６に示すように，分割箇所候補１（イベントＥ６とＥ７との間）は，（Ｅ６，Ｅ９），（Ｅ６，Ｅ１０）の２つの禁止パターンを解消できるが，（Ｅ７，Ｅ８）については，いずれのイベントも分割箇所候補１の後ろにあるため解消できない。一方，分割箇所候補２（イベントＥ７とＥ８との間）は，（Ｅ６，Ｅ９），（Ｅ６，Ｅ１０），（Ｅ７，Ｅ８）の３つの禁止パターンを解消できる。したがって，分割箇所候補１の解消可能な数＝２，分割箇所候補２の解消可能な数＝３，と求まる。
【０１４６】
そして，系列候補分割部１４は，分割の終了条件が満足するかどうかをチェックし（ステップＳ５５），終了条件を満たすまで，ステップＳ５６およびステップＳ５７の処理を実行して，ステップＳ５４の処理へ戻り，終了条件を満たした場合に，ステップＳ５８の処理を実行する。
【０１４７】
そして，系列候補分割部１４は，最も多くの禁止パターンを解消できる分割箇所Ｄとして，分割箇所候補２（イベントＥ７とＥ８との間）を選択し（ステップＳ５６），選択した分割箇所候補２を分割箇所の集合Ｓへ入れる（ステップＳ５７）。また全ての禁止パターンの出現箇所が解消されるため，禁止パターンの出現箇所の集合Ｐｓは空集合となるため（ステップＳ５７），ステップ５５の終了条件が満足される。
【０１４８】
さらに，選択された全ての分割箇所Ｄで系列候補を分割して系列を生成し，生成した系列の集合を分割結果３として出力する（ステップＳ５８）。具体的には，系列候補ｓｅｑ３においては，選択された分割箇所Ｄ（Ｅ７とＥ８の間）で分割され，以下の２つの系列，｛Ｅ６，Ｅ７｝，｛Ｅ８，Ｅ９，Ｅ１０｝が出力される。
【０１４９】
さらに，系列候補ｓｅｑ５についても同様に処理を行う。
【０１５０】
図２７に示すように，系列候補ｓｅｑ３の場合と同様の処理によって，条件を満たす禁止パターン「Ｃ→Ｃ」，「Ａ→Ａ」が生成されると，系列候補５の禁止パターンの出現箇所が検出され，禁止パターンの出現箇所の集合Ｐｓは，｛（Ｅ１４，Ｅ１６），（Ｅ１５，Ｅ１７）｝となる。
【０１５１】
さらに，系列候補中の間隔が分類（２）となっている箇所が検出されて，分割箇所候補１（イベントＥ１５とＥ１６との間），分割箇所候補２（イベントＥ１６とＥ１７との間）となる。
【０１５２】
さらに，各分割箇所候補で系列候補を分割した場合に，いくつの禁止パターンの出現箇所を解消できるかがカウントされる。図２８に示すように，分割箇所候補１（イベントＥ１５とＥ１６との間）は，（Ｅ１４，Ｅ１６），（Ｅ１５，Ｅ１７）の２つの禁止パターンを解消できるが，分割箇所候補２（イベントＥ１６とＥ１７との間）は，（Ｅ１５，Ｅ１７）のみを解消できる。したがって，分割箇所候補１の解消可能な数＝２，分割箇所候補２の解消可能な数＝１と求まる。そして，最も多くの禁止パターンを解消できる分割箇所Ｄとして，分割箇所候補１（イベントＥ１５とＥ１６との間）が選択される。
【０１５３】
さらに，選択された全ての分割箇所Ｄ（Ｅ１５とＥ１６との間）で系列候補が分割されて，２つの系列，｛Ｅ１４，Ｅ１５｝と｛Ｅ１６，Ｅ１７｝とが出力される。
【０１５４】
ステップＳ６：その後，分割結果出力部１７は，第１の系列候補と，第２の系列候補から分割して得られた系列とをあわせた系列の集合を，最終的な分割結果３として出力する。この分割結果３は，図２０に示す望ましい分割結果と同様に，以下の８個の系列；
系列１：｛Ｅ１，Ｅ２，Ｅ３｝；
系列２：｛Ｅ４，Ｅ５｝；
系列３：｛Ｅ６，Ｅ７｝；
系列４：｛Ｅ８，Ｅ９，Ｅ１０｝；
系列５：｛Ｅ１１，Ｅ１２，Ｅ１３｝；
系列６：｛Ｅ１４，Ｅ１５｝；
系列７：｛Ｅ１６，Ｅ１７｝；
系列８：｛Ｅ１８，Ｅ１９｝；
である。
【０１５５】
イベントデータ分割処理装置１の分割結果３と，従来手法による処理結果とを比較する。図２９は，時間間隔の閾値Ｔ３＝０．００７秒を用いた従来手法１による分割結果の例を示す図，図３０は，開始が｛Ａ｝または｛Ｃ｝であるパターンを用いた従来手法２による分割結果の例を示す図である。
【０１５６】
図２９に示すように，間隔Δ８＝０．００６秒であるため，本来分割されるべきＥ７とＥ８の間が正しく分割されない。また，間隔Δ１７＝０．０１２秒であるため，本来分割されるべきではないＥ１６とＥ１７の間が分割されている。
【０１５７】
また，図３０に示すように，イベント種別ＡまたはＣが出現する箇所が開始パターンと判断されて分割されるため，分割するべきではない箇所で分割されてしまう。
【０１５８】
このように，イベントデータ分割処理装置１は，従来の手法に比べてより正確な系列へ分割することができることがわかる。
【０１５９】
最後に，本実施態様で説明したステップＳ４の処理において生成される禁止パターンとして生成される，２項禁止パターン「Ｘ→Ｙ」以外の禁止パターンについて説明する。
【０１６０】
２項禁止パターンは，その意味することがわかりやすく，生成処理・出現箇所の検出処理が容易であるというメリットもある。しかし，同一系列中に同じ種別のイベントが多数出現するようなイベントデータに対しては十分ではない。そのようなイベントデータでは，より複雑な禁止パターンを使用する必要がある。例えば「Ｍ個目の種別Ｘのイベントの後に，種別Ｙのイベントは現れない」という禁止パターンを用いることも可能である。
【０１６１】
そのためには，図８に示す禁止パターン生成処理において，ステップＳ４２の処理では，各イベント種別Ｘの出現数Ｎ（Ｘ）をカウントする代わりに，種別ＸのイベントがＭ個以上出現する頻度（系列候補の数）Ｎ（Ｘ，Ｍ）をカウントし，ステップＳ４３の処理では，「Ｘ→Ｙ」の出現頻度の代わりに，系列中でＮ個目のＸの出現後にＹが現れる数Ｎ（Ｘ，Ｍ→Ｙ）をカウントする。そして，ステップＳ４４の処理では，禁止パターンの精度の計算では，Ｐ（¬Ｙ｜Ｘ）＝１−Ｎ（Ｘ→Ｙ）／Ｎ（Ｘ）の代わりに，Ｐ（¬Ｙ｜Ｘ）＝１−Ｎ（Ｘ，Ｍ→Ｙ）／Ｎ（Ｘ，Ｍ）を用いて計算する。
【０１６２】
また，他にも，「イベントＸ，Ｙが両方出現した後にはイベントＺは出現しない」といった３種類以上のイベント種別を含む禁止パターンを生成・使用することも可能である。このような禁止パターンは，２つのイベント種別Ｘ，Ｙの双方を含む系列の数と，その中で「Ｘ」，「Ｙ」より後に「Ｚ」を含む系列の数をカウントすることによって，図８に示す処理と同様にして生成することができる。
【０１６３】
また，イベントはいくつかのカテゴリに分けることができる場合がある。例えば，Ｗｅｂのアクセスログの場合に，イベントはアクセスしたＵＲＬであってもよい。以下に，ＵＲＬの例を示す。
【０１６４】
ＵＲＬ１：http://abcd.efgh.com/group/labs/techinfo/freeware/index.html；
ＵＲＬ２：http://abcd.efgh.com/group/labs/techinfo/technote/index.html；
ＵＲＬ３：http://abcd.efgh.com/group/labs/about/index.html；
ＵＲＬ４：http://abcd.efgh.com/group/labs/business/index.html
同一のサイトやディレクトリ内のＵＲＬには何らかの観点で関連性の高い情報が記載されていると考えられる。このような場合に，特定のディレクトリまたはＷｅｂサイトに属するＵＲＬを集めてカテゴリとすることができる。例えば，前記のＵＲＬの例では，
カテゴリ１：http://abcd.efgh.com/group/labs/ 以下のＵＲＬ（イベント）の集合；
カテゴリ２：http://abcd.efgh.com/group/labs/techinfo/  以下のＵＲＬの集合；
カテゴリ３：http://abcd.efgh.com/group/labs/techinfo/freeware/  以下のＵＲＬの集合；
カテゴリ４：http://abcd.efgh.com/group/labs/techinfo/technote/  以下のＵＲＬの集合；
カテゴリ５：http://abcd.efgh.com/group/labs/about/  以下のＵＲＬの集合；
カテゴリ６：http://abcd.efgh.com/group/labs/business/  以下のＵＲＬの集合；
といったカテゴリを生成することができる。イベントが属するカテゴリは，単独である必要はなく，例えばＵＲＬ１はカテゴリ１，２，３の３つのカテゴリに属していてもよい。
【０１６５】
時系列データを系列に分割する際に，イベントレベルでの禁止パターンだけでなく，カテゴリレベルまたはカテゴリとイベントの間の禁止パターンを生成・使用してもよく，特に，以下の２つの点から有用である。
【０１６６】
第１に，イベントレベルでは，イベントＸとＹが排他的な関係（同じ系列には一方しか出現しない）にあり，本来禁止パターンとして生成されるべきであるにもかかわらず十分な頻度がないことから，図８のステップＳ４４の処理における条件を満足できずに禁止パターンとして抽出できない場合がある。しかし，このような場合でも，カテゴリレベルであれば，その頻度はカテゴリに属するイベントの頻度よりも大きいため，もし，イベントＸ（Ｙ）と同じカテゴリに属する他のイベントもＹ（Ｘ）と排他的であれば，禁止パターンが生成され，系列候補の分割が正しく行える場合がある。
【０１６７】
第２に，もしあるカテゴリに属するイベントと別のカテゴリに属するイベントとの間に排他的な関係があり，イベントレベルで禁止ルールを生成する場合に，各イベントが十分な頻度を持つときは，禁止パターンの数はそれぞれのカテゴリに属するイベント数の積になる。カテゴリレベルの禁止パターンを使えば，これを１つの禁止パターンで表すことが可能である。そのため，生成される禁止パターンの総数を減らし，結果として禁止パターンを使った系列候補の分割を高速化することができる。
【０１６８】
カテゴリを扱う最も簡単な方法として，そもそも入力されるイベントデータ２で，イベント種別の代わりにカテゴリの値を使用することが考えられる。しかし，イベントが複数のカテゴリに属する場合に対応することができない。また，ある種類の系列に正しく分類するためには「イベント間の禁止パターン」が有効で，別の種類の系列に対しては「カテゴリレベルの禁止パターン」が有効であるような場合に，系列化の精度が悪化する可能性がある。
【０１６９】
したがって，これらの問題点を解決するために，イベントデータ分割処理装置１が，イベントレベルのイベントデータ２に加えて，イベント種別毎にどのカテゴリに属するかを入力データとして取得するようにし，ステップＳ４の禁止パターンの生成処理で，イベントだけでなくカテゴリ自身の出現頻度や，カテゴリとカテゴリ，イベントとカテゴリの組み合わせに関する頻度をカウントし，カウント結果を元にイベント間の禁止パターンだけでなく，カテゴリ間，イベントとカテゴリ間の禁止パターンを求め，ステップＳ５の禁止パターンによる分割処理で，それらの禁止パターンを使って系列候補の分割を行えるようにする。
【０１７０】
さらに，例えばＷｅｂへのアクセスの場合に，イベントデータ２はＷｅｂサーバのアクセスログということになり，実際には，様々なユーザからのアクセスが入り混じって保存されている。したがって，ユーザの目的毎にイベント系列を求めたい場合には，あらかじめ，アクセス元のＩＰアドレスを使ってユーザ毎に分離したアクセスログを使用するようにする。
【０１７１】
イベントデータ分割処理装置１は，コンピュータにより読み取られ実行されるプログラムとして実施することが可能である。このプログラムは，コンピュータが読み取り可能な，可搬媒体メモリ，半導体メモリ，ハードディスクなどの適当な記録媒体に格納することができ，これらの記録媒体に記録して提供され，または，通信インタフェースを介して種々の通信網を利用した送受信により提供されるものである。
【図面の簡単な説明】
【０１７２】
【図１】本発明の実施の形態における構成例を示す図である。
【図２】第１の処理例におけるイベントデータの例を示す図である。
【図３】図２のイベントデータの場合に望まれる分割結果の例を示す図である。
【図４】イベントデータ分割処理装置の処理概要を示す図である。
【図５】ステップＳ２の処理の詳細な処理フロー図である。
【図６】イベントデータのイベントの間隔の分類結果および生成された系列候補の例を示す図である。
【図７】第２の系列候補の判断となる間隔を示す図である。
【図８】ステップＳ４の処理のより詳細な処理フロー図である。
【図９】イベントの種別の組み合わせについての反例の数のカウント結果例を示す図である。
【図１０】禁止パターンの精度Ｐ（¬Ｙ｜Ｘ）の計算結果例を示す図である。
【図１１】ステップＳ５の処理のより詳細な処理フロー図である。
【図１２】系列候補ｓｅｑ３における各禁止パターン出現箇所の例を示す図である。
【図１３】図１２に示す禁止パターン出現箇所の時間的関係を時系列上の位置で表した図である。
【図１４】図１３に示す禁止パターン出現例における分割箇所候補の例を示す図である。
【図１５】分割箇所候補の禁止パターン出現箇所の解消可能数の例を示す図である。
【図１６】分割結果の例を示す図である。
【図１７】従来手法１による分割結果の例を示す図である。
【図１８】従来手法２による分割結果の例を示す図である。
【図１９】第２の処理例におけるイベントデータの例を示す図である。
【図２０】図１９のイベントデータの場合に望まれる分割結果の例を示す図である。
【図２１】イベントデータの間隔の分類結果および生成された系列候補の例を示す図である。
【図２２】イベントデータの分割箇所候補に該当する箇所を説明するための図である。
【図２３】系列候補の数Ｎ（Ｘ），２項禁止パターン「Ｘ→Ｙ」の反例の数（Ｎ（Ｘ→Ｙ））および禁止パターンの信頼度Ｐ（¬Ｙ｜Ｘ）の計算結果例を示す図である。
【図２４】生成されたパターンの例を示す図である。
【図２５】系列候補ｓｅｑ３における各禁止パターンの出現箇所の集合Ｐｓの算出を説明するための図である。
【図２６】系列候補ｓｅｑ３における分割箇所候補の禁止パターン出現箇所の解消可能数の例を示す図である。
【図２７】系列候補ｓｅｑ５における各禁止パターンの出現箇所の集合Ｐｓの算出を説明するための図である。
【図２８】系列候補ｓｅｑ５における分割箇所候補の禁止パターン出現箇所の解消可能数の例を示す図である。
【図２９】従来手法１による分割結果の例を示す図である。
【図３０】従来手法２による分割結果の例を示す図である。
【図３１】イベントデータおよび系列を構成するイベント（時系列データ）の集合の例を示す図である。
【符号の説明】
【０１７３】
１  イベントデータ分割処理装置
１１  データ読み込み部
１２  系列候補生成部
１３  イベント間隔分類部
１４  系列候補分割部
１５  禁止パターン生成部
１６  禁止パターン出現箇所抽出部
１７  分割結果出力部
２  イベントデータ
３  分割結果
【図１】
2010061412.tif 000003
【図２】
2010061412.tif 000004
【図３】
2010061412.tif 000005
【図４】
2010061412.tif 000006
【図５】
2010061412.tif 000007
【図６】
2010061412.tif 000008
【図７】
2010061412.tif 000009
【図８】
2010061412.tif 000010
【図９】
2010061412.tif 000011
【図１０】
2010061412.tif 000012
【図１１】
2010061412.tif 000013
【図１２】
2010061412.tif 000014
【図１３】
2010061412.tif 000015
【図１４】
2010061412.tif 000016
【図１５】
2010061412.tif 000017
【図１６】
2010061412.tif 000018
【図１７】
2010061412.tif 000019
【図１８】
2010061412.tif 000020
【図１９】
2010061412.tif 000021
【図２０】
2010061412.tif 000022
【図２１】
2010061412.tif 000023
【図２２】
2010061412.tif 000024
【図２３】
2010061412.tif 000025
【図２４】
2010061412.tif 000026
【図２５】
2010061412.tif 000027
【図２６】
2010061412.tif 000028
【図２７】
2010061412.tif 000029
【図２８】
2010061412.tif 000030
【図２９】
2010061412.tif 000031
【図３０】
2010061412.tif 000032
【図３１】
2010061412.tif 000033