行動パターン検出装置、行動パターン検出方法及び行動パターン検出プログラム
【課題】利用者の行動に関するログ情報などから、ログ情報の順序性を考慮して特定の行動パターンを効率よくかつノイズに対してロバストに検出することができるようにする。
【解決手段】所定の行動パターンによって生成される検出対象パターン及びログデータに含まれる非数値情報を、数値情報に変換する数値変換部13と、数値情報に変換されたログデータのなかから、数値情報に変換された検出対象パターンに類似する部分シーケンスを、両者の類似度を用いて検出する、類似部分シーケンス検出部15とを備える。
【解決手段】所定の行動パターンによって生成される検出対象パターン及びログデータに含まれる非数値情報を、数値情報に変換する数値変換部13と、数値情報に変換されたログデータのなかから、数値情報に変換された検出対象パターンに類似する部分シーケンスを、両者の類似度を用いて検出する、類似部分シーケンス検出部15とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時系列に生成されるログデータを分析して所定の行動パターンを検出する、行動パターン検出装置、行動パターン検出方法及び行動パターン検出プログラムに関する。
【背景技術】
【0002】
コンピュータシステムの高度化、高性能化により、例えば、利用者の行動に関する様々なログ情報を取得し、保持することが可能となり、これらのログ情報を分析することで、利用者の行動パターンを把握したいという要求が高まっている。例えば、サーバのアクセスログや端末の操作ログをチェックすることにより、利用者の不正な行動を検出したり、利用者が既定のルールに則って作業を行っていることを検証したいといったニーズがある。
【0003】
そのために利用可能な従来技術として、例えば、検出したいイベントの系列を正規表現によって記述し、取得したログ情報とマッチングを行う方法が考えられるが、正規表現ではノイズイベントや同一イベントの繰返しの取扱いに膨大な計算量を要するため、現実的ではない。
【0004】
また、取得したログ情報のなかから、特定の条件に該当するイベントの発生を検出する方法(例えば、特許文献1)、通常とは異なる操作パターンを検出する方法(例えば、非特許文献1)が開示されているが、これらはいずれもログ情報の順序性を考慮して特定の行動パターンを検出するものではない。
【0005】
一方、単一のスコア行列を用いて、2つの数値データストリームの時間軸を伸縮させて動的マッチングを行い、類似する部分シーケンスのペアを効率よく検出する類似部分シーケンス検出技術が、特許文献2及び非特許文献2に開示されている。これらの技術によれば、データストリーム(連続的に与えられ、時間順に整列されているデータであって、その更新頻度や間隔は一定ではない場合があり、逐次入力される情報である。)のなかに含まれるノイズの影響を減らして、類似する部分シーケンスペアをロバスト(頑健)に検出することができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−148946号公報
【特許文献2】特開2009−199507号公報
【非特許文献】
【0007】
【非特許文献1】K.Yamanishi:”Dynamic Syslog Mining for Network Failure Monitoring”,Proc. 11th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD 2005), pp.499-508, 2005.
【非特許文献2】豊田真智子,櫻井保志,市川俊一:”データストリームのための部分シーケンスマッチング”, DEIM Forum 2009 Web論文集, E8-5, 2009年3月
【発明の概要】
【発明が解決しようとする課題】
【0008】
前記のように、従来技術では、ログ情報(ログデータ)のなかから、ログ情報の順序性を考慮して特定の行動パターンを効率よくかつノイズに対してロバストに検出することができないという問題点があった。本発明は、前記の問題点を解消するためになされたものであり、ログ情報のなかから、ログ情報の順序性を考慮して特定の行動パターンを効率よくかつノイズに対してロバストに検出することができる、行動パターン検出装置、行動パターン検出方法及び行動パターン検出プログラムを提供することを課題とする。
【課題を解決するための手段】
【0009】
前記の課題を解決するために、本発明の行動パターン検出装置は、非数値情報を含んで時系列に生成されるログデータのなかから、所定の行動パターンによって生成されるイベントログシーケンスを規定する検出対象パターンに類似する類似部分シーケンスを検出することによって、前記所定の行動パターンに類似した行動パターンを検出する行動パターン検出装置であって、前記検出対象パターン及び前記ログデータに含まれる非数値情報を、その非数値情報の種類毎に定められた所定の変換手続きによって数値情報に変換する数値変換部と、数値情報に変換された前記ログデータのなかから、数値情報に変換された前記検出対象パターンに類似する類似部分シーケンスを、両者の類似度を用いて検出する、類似部分シーケンス検出部とを備えることを特徴とする。
【0010】
また、前記類似部分シーケンス検出部は、前記数値情報に変換された前記検出対象パターンのなかの部分シーケンスと、前記数値情報に変換された前記ログデータのなかの部分シーケンスとを対応づけた部分シーケンスペアの類似度を、動的計画法に基づく単一のスコア行列を用いて算出し、前記算出した類似度と、その類似度の算出に用いた前記検出対象パターンと前記ログデータの適合部分の開始位置及び終了位置と、を対応づけて前記スコア行列に記憶し、前記スコア行列に記憶された前記類似度を用いて、前記検出対象パターンに類似する前記ログデータのなかの前記類似部分シーケンスを検出することを特徴とする。
【0011】
また、本発明の行動パターン検出方法は、非数値情報を含んで時系列に生成されるログデータのなかから、所定の行動パターンによって生成されるイベントログシーケンスを規定する検出対象パターンに類似する類似部分シーケンスを検出することによって、前記所定の行動パターンに類似した行動パターンを検出する行動パターン検出装置によって実行される行動パターン検出方法であって、前記行動パターン検出装置が、前記検出対象パターン及び前記ログデータに含まれる非数値情報を、その非数値情報の種類毎に定められた所定の変換手続きによって数値情報に変換する数値変換ステップと、前記行動パターン検出装置が、数値情報に変換された前記ログデータのなかから、数値情報に変換された前記検出対象パターンに類似する類似部分シーケンスを、両者の類似度を用いて検出する、類似部分シーケンス検出ステップとを備えることを特徴とする。
【発明の効果】
【0012】
本発明によれば、ログ情報(ログデータ)のなかから、ログ情報の順序性を考慮して特定の行動パターンを効率よくかつノイズに対してロバストに検出することができる、行動パターン検出装置、行動パターン検出方法及び行動パターン検出プログラムを提供することができる。また、本発明によれば、ログデータのなかの行動パターンの検出に必要なデータをすべて数値化するので、2つの数値データストリームのなかから類似部分シーケンスペアを検出する従来技術の適用が可能となり、効率よくかつノイズに対してロバストな行動パターンの検出が可能となる。また、本発明によれば、類似部分シーケンスペアを検出するために必要な計算量を大幅に減らすことができ、高速処理が可能となる。
【図面の簡単な説明】
【0013】
【図1】行動パターン検出装置の構成を示したブロック図である。
【図2】行動パターン検出装置における基本的なデータの流れを示した説明図である。
【図3】行動パターン検出方法の手順を示したフローチャートである。
【図4】実施例1の行動パターン検出についての説明図である。
【図5】ファイル操作イベントを数値に変換するための変換テーブルの例である。
【図6】実施例1の検出対象パターンと利用者ログデータとを数値化した結果を示したものである。
【図7】実施例2の行動パターン検出についての説明図である。
【図8】ドライブ名を数値に変換するための変換テーブルの例である。
【図9】実施例3の検出対象パターンについての説明図である。
【図10】実施例3の利用者ログデータについての説明図である。
【図11】実施例3の属性値を数値に変換するための変換テーブルの例である。
【図12】実施例3の検出対象パターンと利用者ログデータとを数値化した結果を示したものである。
【図13】実施例3におけるスコア行列の計算例である。
【発明を実施するための形態】
【0014】
以下、本発明を実施するための形態(以下、「本実施形態」という。)について、適宜図面を参照して詳細に説明する。本実施形態では、利用者の行動に関するログ情報のなかから、特定の行動パターンを検出する場合の例について説明するが、ログ情報はこれに限定されるものではなく、例えば、装置の動作に関するログ情報などであってもよい。
【0015】
<行動パターンの検出に望まれる要件>
ログ情報のなかから、特定の行動パターンを検出するときに望まれる要件には、次のようなものがある。
(要件1)計算量が小さく高速処理が可能であること。特に、リアルタイムでのログ解析が必要な場合には、ログ情報の収集速度よりも高い処理速度が要求される。
(要件2)ログ情報には複数の属性値が含まれるため、多次元のログデータを扱えること。
(要件3)ノイズイベントに対してロバストであること。特定の行動パターンであっても、例えば、利用者の操作などは常に同一とは限らず、途中に別の操作が行われる場合があるため、途中にノイズイベントが含まれていても的確に検出できることが要求される。
(要件4)ログ情報の順序性を扱えること。特定の行動パターンは順序性を持った複数のイベントとして観測されるためである。
(要件5)イベントの繰返しに対してロバストであること。例えば、利用者は複数の対象について同一の操作を連続して行う場合があるため、同種イベントの繰返し回数に依存することなく的確に検出できることが要求される。
【0016】
<行動パターン検出装置の構成>
図1は、本実施形態の行動パターン検出装置の構成を示したブロック図である。図1に示すように、行動パターン検出装置1は、検出対象パターン登録部11と、ログデータ取得部12と、数値変換部13と、記憶部14と、類似部分シーケンス検出部15とを備えて構成される。これらの機能は、コンピュータに所定のプログラムを実行させることによって具現化することができる。
【0017】
検出対象パターン登録部11は、ログデータのなかから検出したい行動パターンを規定するイベントログシーケンスである検出対象パターンの入力を受け付け、検出対象パターンの登録を行う。ログデータ取得部12は、例えば、利用者の行動に伴って時系列に生成されるログデータの入力を受け付け、それを取得する。ログデータは、例えばネットワーク接続された端末などからリアルタイムに取得してもよいし、記録媒体などに記録されたデータファイルからまとめて取得するようにしてもよい。
【0018】
数値変換部13は、検出対象パターン及びログデータを構成する各種属性値からなる文字列群などの非数値情報を、その非数値情報の種類毎に用意される所定の変換テーブルを参照したり、所定の変換手続きを実行することによって、それぞれ数値に変換する。このとき、数値変換部13は、必要に応じて、検出対象パターンとは無関係なイベントログのデータを除去するフィルタリングを行うとともに、検出しようとする特定の検出対象パターンを規定している属性値だけを抽出して数値に変換する。
【0019】
記憶部14には、数値変換部13によって数値化された検出しようとする特定の検出対象パターン141と、ログデータの部分シーケンスとの類似度の計算に使用する検出パラメータ142とが記憶される。
【0020】
類似部分シーケンス検出部15は、数値変換部13によって数値化されたログデータのなかから、記憶部14に記憶された数値化された検出対象パターン141と類似する類似部分シーケンスを、検出パラメータ142を利用して計算される類似度に基づいて検出する。検出された類似部分シーケンスのリストは、不図示のディスプレイ、プリンタ、外部記録媒体などに出力される。
【0021】
<行動パターン検出装置の動作>
図2は、本実施形態の行動パターン検出装置における基本的なデータの流れを示した説明図である。図2に示すように、ログデータ取得部12によって所定の形式で取得されるログデータを、イベントログx1、イベントログx2、・・・とし、検出対象パターン登録部11によって所定の形式で登録される複数の検出対象パターン1、検出対象パターン2、・・・のなかから選択された1つのパターンを、検出イベントログy1、検出イベントログy2、・・・とする。
【0022】
これらの検出イベントログは、取得されるログデータに含まれる各種属性値のなかから抽出される任意の数の属性値によって指定することができる。そして、各検出イベントログは、数値変換部13によってそれぞれの属性値が数値に変換され、多次元の数値データのシーケンスとして記憶部14に記憶される。
【0023】
一方、取得されたログデータのなかには、検出対象の検出イベントログを構成する属性値を1つも含まないイベントのデータや、類似性の判断には使用されないデータが混在する場合があるため、そのような場合には、数値変換部13は、それら不要なデータを除去するフィルタリング処理を行ったのち、数値化を行うことが好ましい。図2の例は、イベントログx1,x3,x7,x8がフィルタリング処理によって除去され、残ったイベントログx2,x4,x5,x6,x9,・・・が数値化された場合を示している。
【0024】
このように、検出対象パターンとログデータとを、ともに多次元の数値データのシーケンスに変換することで、前記の(要件2)〜(要件5)を満たす公知の動的マッチング技術の適用が可能となる。これにより、類似部分シーケンス検出部15は、それら公知の動的マッチング技術を利用して、ログデータのなかから、検出対象パターンに類似する類似部分シーケンスを検出して、検出結果を出力する。なお、かかる公知の動的マッチング技術としては、高速処理が可能で前記の(要件1)をも満たすことができる類似部分シーケンス検出技術(特許文献2、非特許文献2参照)を適用することが好ましい。
【0025】
図3は、本実施形態の行動パターン検出装置によって実行される行動パターン検出方法の手順を示したフローチャートである。まず始めに、検出対象パターン登録部11は、ユーザからの指示にしたがって、予め登録された複数の検出対象パターンのなかから、検出したい検出対象パターンを1つ選択し、それを数値変換部13が数値化して記憶部14に数値化された検出対象パターン141として格納する(ステップS1)。
【0026】
次に、ログ取得部12は、ログデータを取得する(ステップS2)。ここでは、ログデータをまとめて取得するものとしているが、個々のログデータが発生する都度ネットワーク経由でリアルタイムに取得してもよく、その場合には、新たにデータを取得する度に、以下のステップS3〜S5を繰り返せばよい。
【0027】
次に、数値変換部13は、取得したログデータのなかから、選択した検出対象パターンとは無関係なデータを除去するフィルタリング処理を行ったのち、検出対象パターンを規定する属性値だけを抽出して数値化することにより、取得したログデータを多次元の数値データのシーケンスに変換する(ステップS3)。
【0028】
次に、類似部分シーケンス検出部15は、数値化されたログデータのなかから、ステップS1にて記憶部14に格納した数値化された検出対象パターン141に類似する類似部分シーケンスを検出し(ステップS4)、最後に、検出された類似部分シーケンスのリストを出力して(ステップS5)、処理を終了する。
【0029】
なお、前記では、1つの検出対象パターンだけを検出する場合を説明したが、同時に2つ以上の検出対象パターンを選択して検出するようにしてもよいし、登録済みのすべての検出対象パターンをすべて同時に検出するようにしてもよい。また、検出された類似部分シーケンスの最初のデータと最後のデータのそれぞれに該当するインデックス情報(図示しない)のみ、または日時情報のみを出力してもよい。
【0030】
以上説明したように、本発明は、文字列等の非数値情報を含んで生成される複数の属性値から構成される時系列のログデータを、多次元の数値データに変換することによって、公知の数値データストリーム用の動的マッチング技術を適用可能とするものである。それにより、ログ情報のなかから、特定の行動パターンを検出するときに望まれる、前記の(要件1)〜(要件5)をすべて満たした行動パターン検出装置、行動パターン検出方法及び行動パターン検出プログラムを提供することができる。
【実施例1】
【0031】
利用者の端末操作ログを分析して情報漏洩の可能性がある行動パターンを検出する場合の実施例について説明する。この実施例1では、行動パターンの検出に使用する属性は、ファイル操作の種類を識別するファイル操作イベントの1属性のみとし、図4(a)に示す「リネーム」→「コピー」→「削除」という3つのファイル操作のシーケンスを、図4(b)に示した利用者ログデータのなかから検出するものとする。
【0032】
図5は、数値変換部13が保持しており、ファイル操作イベントを数値に変換するときに参照される変換テーブルの例を示したものである。単に、操作の一致/不一致を判定する場合には、図5のように、それぞれのイベントの種類に対して異なる数値を割り当てればよい。このような場合には、例えば、類似度を計算するときに、数値が一致すればスコア値に所定のプラスの値を加算し、数値が不一致であればスコア値から所定値を減算するようにすれば、数値の大小が類似度の計算結果に影響しないようにすることができる。
【0033】
図6は、図4に示した検出対象パターンと利用者ログデータとを、図5の変換テーブルを用いて数値化した結果を示したものであり、図6(a)が数値化された検出対象パターンであり、図6(b)が数値化された利用者ログデータである。また、()内に記した数値により、検出対象パターンを構成するデータとの対応関係を表している。
【0034】
このような、2つの数値データシーケンス(ここでは、検出対象パターンと利用者ログデータのそれぞれを数値化した情報であり、蓄積されたデータまたはデータストリームであってもよい。)に対して公知の動的マッチング技術を適用することによって、途中に検出対象パターンとは不一致となるノイズデータ(例えば、図6(b)の「3」が2つ連続する部分)を含んでいても、図6(b)に示したような類似部分シーケンスを的確に検出することができる。
【0035】
さらに、ノイズデータの影響を減らして類似部分シーケンスの検出精度を向上させるためには、図6(c)に示すように、同一の検出イベントログを複数繰り返した検出対象パターンを用いるとよい。これにより、2つのパターンの間の数値の一致回数が増える分だけ類似度のスコア値が大きくなるので、その分ノイズデータによるスコア値の減少の影響を減らし、ノイズデータに対するロバスト性を高めることができる。図6(c)の例では、同一の検出イベントログを3回ずつ繰り返しているが、繰返し回数は検出精度と処理時間とを勘案して適切に設定することが望ましい。
【実施例2】
【0036】
利用者の端末操作ログを分析して情報漏洩の可能性がある行動パターンを検出する場合の他の実施例について説明する。この実施例2では、行動パターンの検出に使用する属性は、ファイル操作の種類を識別するファイル操作イベントと、操作対象となったファイルのファイル名と、そのファイルが格納されるドライブ名との3属性とし、図7(b)に示した利用者ログデータのなかから、図7(a)に示す「ファイルaの読込」→「ファイルaの書込」→「ファイルaのリネーム」→「外部メディアにコピー」という4つのファイル操作のシーケンスを検出するものとする。
【0037】
図8は、数値変換部13が保持しており、ドライブ名を数値に変換するときに参照される変換テーブルの例を示したものである。この例のように、ファイルの格納先が外部メディアであるか否かを判定する場合には、外部メディアであるA(FDD)(Flexible Disk Drive)ドライブ、E(CD−RW)(Compact Disk-ReWritable)ドライブ、F(USB)(Universal Serial Bus)ドライブの3つに同じ数値または近い数値を割り当てることによって、外部メディア以外のC(ローカル)ドライブ、D(ローカル)ドライブ、H(ネットワーク)ドライブ、I(ネットワーク)ドライブとの識別性を高めることができる。
【0038】
なお、図8の例は、外部メディアには、1〜3のいずれかの数値を、ローカルドライブには11または12の数値を、ネットワークドライブには21以降の数値を割り当てることによって、それら3グループを識別する場合を示している。ファイルの格納先が外部メディアであることを検出するための検出対象パターンを設定する場合には、外部メディアに割り当てられるすべての数値の中央値または平均値を使用するとよい。例えば、図8の例では、外部メディアには、「1」,「2」,「3」の3つの数値が割り当てられるので、それらの中央値でもあり平均値でもある「2」を使用するのが好ましい。
【実施例3】
【0039】
利用者のインターネット閲覧ログを分析して、情報漏洩につながる可能性があるWebメールによるファイル送信操作を検出する場合の実施例について説明する。この実施例3では、行動パターンの検出に使用する属性は、インターネット閲覧ログの種類を示すログ種別と、アクティブなウィンドウのウィンドウタイトルと、アプリケーション名と、閲覧先ページの識別情報であるURL(Uniform Resource Locator)との4属性とし、例えば、図10に示した利用者ログデータのなかから、図9に示すようなWebメールによって添付ファイルを送信するときの6シーケンスの検出イベントログのパターンを検出するものとする。
【0040】
なお、Webメールでファイルを添付する場合には、その前にWebメールサービスを提供しているポータルページを開く操作と、そのなかからWebメールサービスを選択して起動する操作とに対応するイベントログも生成されるが、これら2つの操作は初回にのみ行われる操作であるため、検出の対象とはせずに、ファイルを添付する操作によって生成される検出イベントログのシーケンス(図9の(1)〜(4))と、メール送信操作によって生成される検出イベントログのシーケンス(図9の(5)〜(6))とを検出対象とする。
【0041】
図11は、数値変換部13が保持しており、検出対象パターンと利用者ログデータとに含まれる各属性値を数値に変換するときに参照される変換テーブルの例を示したものである。図11(a)〜(d)は、順にログ種別、ウィンドウタイトル、アプリケーション名、URLに対応する変換テーブルである。ウィンドウタイトル及びURLを数値に変換するときには、それぞれ図11(b)及び図11(d)に示されている文字列が含まれる場合に対応する数値に変換し、それらの文字列が含まれない場合には、数値0に変換する。なお、図内の「+」記号は、2つの文字列の両方を含むことを表している。
【0042】
図12は、図9に示した検出対象パターンと図10に示した利用者ログデータとを、図11(a)〜(d)の各変換テーブルを用いて数値化した結果を示したものであり、図12(a)が数値化された検出対象パターンであり、図12(b)が数値化された利用者ログデータである。また、()内に記した数値により、検出対象パターンを構成する検出イベントログとの対応関係を表している。
【0043】
次に、このような、2つの数値データシーケンスのなかから類似部分シーケンスのペアを検出するための、動的計画法に基づく単一のスコア行列を用いた動的マッチング処理の例について説明する。2つの数値データシーケンスのうち、利用者ログデータをX=(x1,x2,・・・,xn)、検出対象パターンをY=(y1,y2,・・・,ym)としたとき、Xの部分シーケンスX[is:ie]とYの部分シーケンスY[js:je]とからなる部分シーケンスペアの類似度を表す類似度スコアS(X[is:ie],Y[js:je])を、以下の式(1)〜式(4)によって計算して、スコア行列を生成する。ここで、is及びjsは、部分シーケンスの開始点(開始位置)を、ie及びjeは部分シーケンスの終了点(終了位置)を示すインデックスである。
【0044】
S(X[is:ie],Y[js:je])=s(ie,je) (式1)
s(i,j)=max{0,
1/2ε+s(i,j−1)−‖xi−yj‖,
1/2ε+s(i−1,j)−‖xi−yj‖,
ε+s(i−1,j−1)−‖xi−yj‖} (式2)
‖xi−yj‖=0(xi=yjのとき) (式3a)
‖xi−yj‖=1(xi≠yjのとき) (式3b)
s(0,0)=s(i,0)=s(0,j)=0 (式4)
【0045】
ここで、εは、データシーケンスの特性に応じて予め設定される検出パラメータの1つであり、以下の計算においては、ε=0.8とする。また、検出する部分シーケンスペアの最小長さのパラメータlについては、l=4とする。この2つのパラメータにより、検出する部分シーケンスペアの最小スコア値が決定され、この例では、ε×l=3.2以上のスコア値を持つ部分シーケンスペアが検出される。また、これらのパラメータは、シーケンスデータの特性に応じてユーザが任意に設定可能である。
【0046】
具体的な処理手順としては、まず始めに、利用者ログデータXの先頭データx1と検出対象パターンYの先頭データy1との類似度スコア値(以下、「スコア値」とも略記。)であるs(1,1)を計算する。次に、x1と、検出対象パターンYのデータを順番に1つずつ付加した部分シーケンスとの類似度であるs(1,2)〜s(1,m)を計算する。続いて、利用者ログデータXのデータを1つ付加した部分シーケンスX[1:2]について同様にs(2,1)〜s(2,m)を計算し、以後順番に利用者ログデータXのデータを1つずつ付加していくことによって、最終的にスコア行列のすべてのセルのスコア値を求めることができる。このように、動的計画法に基づく単一のスコア行列に記憶される既知の部分シーケンスペアの類似度スコア値を用いて、次のログデータを付加したときの部分シーケンスペアの類似度スコア値を算出するので、ログデータがリアルタイムに取得される場合でも、類似度スコア値を効率的に算出することができる。
【0047】
なお、この例では、スコア値を計算するための距離‖xi−yj‖として、一致したときに0、不一致のときに1となるエディットディスタンスを用いているが、これに限らず、例えば、ユークリッド距離やマンハッタン距離など任意のものを利用することができる。
【0048】
(式1)〜(式4)によって生成されるスコア行列の各セルには、任意の開始点からそのセルに至るすべての部分シーケンスペアのなかで、最大のスコア値を持つ部分シーケンスペアのスコア値が順次計算されて保持される。また、各セルには、そのスコア値を持つ部分シーケンスペアの開始点(開始位置)の座標が保持され、(式2)によって次のセルのスコア値を計算するときに選択された元のセルが保持していた開始点の座標が引き継がれる。ただし、計算したスコア値が0となったときには、新たな部分シーケンスペアの開始点として自身のセルの座標を保持する。
【0049】
これにより、各セルには、そのセルに至る(そのセルを終了点とする)すべての部分シーケンスペアのなかで、最大のスコア値を有して最も類似度が高い部分シーケンスペアのスコア値とともに、その部分シーケンスペアの開始点の座標が保持されることになる。
【0050】
図13は、図12(a)と図12(b)とに示した2つの数値データシーケンス(n=14,m=6)について生成されたスコア行列の計算例を示したものである。行列の各セル内には、上側にそのセルに至る部分シーケンスペアの最大スコア値が、下側にその部分シーケンスペアの開始点の座標が記されている。このスコア行列から、最小スコア値が3.2以上である部分シーケンスペア(図13の網かけ部)が抽出され、図12(b)に示した類似部分シーケンスを検出することができる。
【0051】
このように、途中に検出対象パターンとは不一致となるノイズデータ(図12(b)の(1)と(2)との間の2つのデータや、(4)と(5)との間のデータ)を含んでいても、所望の類似部分シーケンスを的確に検出することができる。なお、検出精度をさらに高めたい場合には、図6(c)にて説明したように、同一の検出イベントログを複数繰り返した検出対象パターンを用いるとよい。
【0052】
以上にて、本実施形態及び実施例の説明を終えるが、これらに限らず、本発明の趣旨を逸脱しない範囲内で各種の変更が可能である。また、検出する行動パターンは、時系列のログデータが取得できるものであれば何でもよく、例えば、各種センサによって利用者の位置や動作を監視するシステムや、それをさらに勤怠管理システムと連携させたシステムなどにも適用することができる。
【符号の説明】
【0053】
1 行動パターン検出装置
11 検出対象パターン登録部
12 ログデータ取得部
13 数値変換部
14 記憶部
141 数値化された検出対象パターン
142 検出パラメータ
15 類似部分シーケンス検出部
【技術分野】
【0001】
本発明は、時系列に生成されるログデータを分析して所定の行動パターンを検出する、行動パターン検出装置、行動パターン検出方法及び行動パターン検出プログラムに関する。
【背景技術】
【0002】
コンピュータシステムの高度化、高性能化により、例えば、利用者の行動に関する様々なログ情報を取得し、保持することが可能となり、これらのログ情報を分析することで、利用者の行動パターンを把握したいという要求が高まっている。例えば、サーバのアクセスログや端末の操作ログをチェックすることにより、利用者の不正な行動を検出したり、利用者が既定のルールに則って作業を行っていることを検証したいといったニーズがある。
【0003】
そのために利用可能な従来技術として、例えば、検出したいイベントの系列を正規表現によって記述し、取得したログ情報とマッチングを行う方法が考えられるが、正規表現ではノイズイベントや同一イベントの繰返しの取扱いに膨大な計算量を要するため、現実的ではない。
【0004】
また、取得したログ情報のなかから、特定の条件に該当するイベントの発生を検出する方法(例えば、特許文献1)、通常とは異なる操作パターンを検出する方法(例えば、非特許文献1)が開示されているが、これらはいずれもログ情報の順序性を考慮して特定の行動パターンを検出するものではない。
【0005】
一方、単一のスコア行列を用いて、2つの数値データストリームの時間軸を伸縮させて動的マッチングを行い、類似する部分シーケンスのペアを効率よく検出する類似部分シーケンス検出技術が、特許文献2及び非特許文献2に開示されている。これらの技術によれば、データストリーム(連続的に与えられ、時間順に整列されているデータであって、その更新頻度や間隔は一定ではない場合があり、逐次入力される情報である。)のなかに含まれるノイズの影響を減らして、類似する部分シーケンスペアをロバスト(頑健)に検出することができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−148946号公報
【特許文献2】特開2009−199507号公報
【非特許文献】
【0007】
【非特許文献1】K.Yamanishi:”Dynamic Syslog Mining for Network Failure Monitoring”,Proc. 11th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD 2005), pp.499-508, 2005.
【非特許文献2】豊田真智子,櫻井保志,市川俊一:”データストリームのための部分シーケンスマッチング”, DEIM Forum 2009 Web論文集, E8-5, 2009年3月
【発明の概要】
【発明が解決しようとする課題】
【0008】
前記のように、従来技術では、ログ情報(ログデータ)のなかから、ログ情報の順序性を考慮して特定の行動パターンを効率よくかつノイズに対してロバストに検出することができないという問題点があった。本発明は、前記の問題点を解消するためになされたものであり、ログ情報のなかから、ログ情報の順序性を考慮して特定の行動パターンを効率よくかつノイズに対してロバストに検出することができる、行動パターン検出装置、行動パターン検出方法及び行動パターン検出プログラムを提供することを課題とする。
【課題を解決するための手段】
【0009】
前記の課題を解決するために、本発明の行動パターン検出装置は、非数値情報を含んで時系列に生成されるログデータのなかから、所定の行動パターンによって生成されるイベントログシーケンスを規定する検出対象パターンに類似する類似部分シーケンスを検出することによって、前記所定の行動パターンに類似した行動パターンを検出する行動パターン検出装置であって、前記検出対象パターン及び前記ログデータに含まれる非数値情報を、その非数値情報の種類毎に定められた所定の変換手続きによって数値情報に変換する数値変換部と、数値情報に変換された前記ログデータのなかから、数値情報に変換された前記検出対象パターンに類似する類似部分シーケンスを、両者の類似度を用いて検出する、類似部分シーケンス検出部とを備えることを特徴とする。
【0010】
また、前記類似部分シーケンス検出部は、前記数値情報に変換された前記検出対象パターンのなかの部分シーケンスと、前記数値情報に変換された前記ログデータのなかの部分シーケンスとを対応づけた部分シーケンスペアの類似度を、動的計画法に基づく単一のスコア行列を用いて算出し、前記算出した類似度と、その類似度の算出に用いた前記検出対象パターンと前記ログデータの適合部分の開始位置及び終了位置と、を対応づけて前記スコア行列に記憶し、前記スコア行列に記憶された前記類似度を用いて、前記検出対象パターンに類似する前記ログデータのなかの前記類似部分シーケンスを検出することを特徴とする。
【0011】
また、本発明の行動パターン検出方法は、非数値情報を含んで時系列に生成されるログデータのなかから、所定の行動パターンによって生成されるイベントログシーケンスを規定する検出対象パターンに類似する類似部分シーケンスを検出することによって、前記所定の行動パターンに類似した行動パターンを検出する行動パターン検出装置によって実行される行動パターン検出方法であって、前記行動パターン検出装置が、前記検出対象パターン及び前記ログデータに含まれる非数値情報を、その非数値情報の種類毎に定められた所定の変換手続きによって数値情報に変換する数値変換ステップと、前記行動パターン検出装置が、数値情報に変換された前記ログデータのなかから、数値情報に変換された前記検出対象パターンに類似する類似部分シーケンスを、両者の類似度を用いて検出する、類似部分シーケンス検出ステップとを備えることを特徴とする。
【発明の効果】
【0012】
本発明によれば、ログ情報(ログデータ)のなかから、ログ情報の順序性を考慮して特定の行動パターンを効率よくかつノイズに対してロバストに検出することができる、行動パターン検出装置、行動パターン検出方法及び行動パターン検出プログラムを提供することができる。また、本発明によれば、ログデータのなかの行動パターンの検出に必要なデータをすべて数値化するので、2つの数値データストリームのなかから類似部分シーケンスペアを検出する従来技術の適用が可能となり、効率よくかつノイズに対してロバストな行動パターンの検出が可能となる。また、本発明によれば、類似部分シーケンスペアを検出するために必要な計算量を大幅に減らすことができ、高速処理が可能となる。
【図面の簡単な説明】
【0013】
【図1】行動パターン検出装置の構成を示したブロック図である。
【図2】行動パターン検出装置における基本的なデータの流れを示した説明図である。
【図3】行動パターン検出方法の手順を示したフローチャートである。
【図4】実施例1の行動パターン検出についての説明図である。
【図5】ファイル操作イベントを数値に変換するための変換テーブルの例である。
【図6】実施例1の検出対象パターンと利用者ログデータとを数値化した結果を示したものである。
【図7】実施例2の行動パターン検出についての説明図である。
【図8】ドライブ名を数値に変換するための変換テーブルの例である。
【図9】実施例3の検出対象パターンについての説明図である。
【図10】実施例3の利用者ログデータについての説明図である。
【図11】実施例3の属性値を数値に変換するための変換テーブルの例である。
【図12】実施例3の検出対象パターンと利用者ログデータとを数値化した結果を示したものである。
【図13】実施例3におけるスコア行列の計算例である。
【発明を実施するための形態】
【0014】
以下、本発明を実施するための形態(以下、「本実施形態」という。)について、適宜図面を参照して詳細に説明する。本実施形態では、利用者の行動に関するログ情報のなかから、特定の行動パターンを検出する場合の例について説明するが、ログ情報はこれに限定されるものではなく、例えば、装置の動作に関するログ情報などであってもよい。
【0015】
<行動パターンの検出に望まれる要件>
ログ情報のなかから、特定の行動パターンを検出するときに望まれる要件には、次のようなものがある。
(要件1)計算量が小さく高速処理が可能であること。特に、リアルタイムでのログ解析が必要な場合には、ログ情報の収集速度よりも高い処理速度が要求される。
(要件2)ログ情報には複数の属性値が含まれるため、多次元のログデータを扱えること。
(要件3)ノイズイベントに対してロバストであること。特定の行動パターンであっても、例えば、利用者の操作などは常に同一とは限らず、途中に別の操作が行われる場合があるため、途中にノイズイベントが含まれていても的確に検出できることが要求される。
(要件4)ログ情報の順序性を扱えること。特定の行動パターンは順序性を持った複数のイベントとして観測されるためである。
(要件5)イベントの繰返しに対してロバストであること。例えば、利用者は複数の対象について同一の操作を連続して行う場合があるため、同種イベントの繰返し回数に依存することなく的確に検出できることが要求される。
【0016】
<行動パターン検出装置の構成>
図1は、本実施形態の行動パターン検出装置の構成を示したブロック図である。図1に示すように、行動パターン検出装置1は、検出対象パターン登録部11と、ログデータ取得部12と、数値変換部13と、記憶部14と、類似部分シーケンス検出部15とを備えて構成される。これらの機能は、コンピュータに所定のプログラムを実行させることによって具現化することができる。
【0017】
検出対象パターン登録部11は、ログデータのなかから検出したい行動パターンを規定するイベントログシーケンスである検出対象パターンの入力を受け付け、検出対象パターンの登録を行う。ログデータ取得部12は、例えば、利用者の行動に伴って時系列に生成されるログデータの入力を受け付け、それを取得する。ログデータは、例えばネットワーク接続された端末などからリアルタイムに取得してもよいし、記録媒体などに記録されたデータファイルからまとめて取得するようにしてもよい。
【0018】
数値変換部13は、検出対象パターン及びログデータを構成する各種属性値からなる文字列群などの非数値情報を、その非数値情報の種類毎に用意される所定の変換テーブルを参照したり、所定の変換手続きを実行することによって、それぞれ数値に変換する。このとき、数値変換部13は、必要に応じて、検出対象パターンとは無関係なイベントログのデータを除去するフィルタリングを行うとともに、検出しようとする特定の検出対象パターンを規定している属性値だけを抽出して数値に変換する。
【0019】
記憶部14には、数値変換部13によって数値化された検出しようとする特定の検出対象パターン141と、ログデータの部分シーケンスとの類似度の計算に使用する検出パラメータ142とが記憶される。
【0020】
類似部分シーケンス検出部15は、数値変換部13によって数値化されたログデータのなかから、記憶部14に記憶された数値化された検出対象パターン141と類似する類似部分シーケンスを、検出パラメータ142を利用して計算される類似度に基づいて検出する。検出された類似部分シーケンスのリストは、不図示のディスプレイ、プリンタ、外部記録媒体などに出力される。
【0021】
<行動パターン検出装置の動作>
図2は、本実施形態の行動パターン検出装置における基本的なデータの流れを示した説明図である。図2に示すように、ログデータ取得部12によって所定の形式で取得されるログデータを、イベントログx1、イベントログx2、・・・とし、検出対象パターン登録部11によって所定の形式で登録される複数の検出対象パターン1、検出対象パターン2、・・・のなかから選択された1つのパターンを、検出イベントログy1、検出イベントログy2、・・・とする。
【0022】
これらの検出イベントログは、取得されるログデータに含まれる各種属性値のなかから抽出される任意の数の属性値によって指定することができる。そして、各検出イベントログは、数値変換部13によってそれぞれの属性値が数値に変換され、多次元の数値データのシーケンスとして記憶部14に記憶される。
【0023】
一方、取得されたログデータのなかには、検出対象の検出イベントログを構成する属性値を1つも含まないイベントのデータや、類似性の判断には使用されないデータが混在する場合があるため、そのような場合には、数値変換部13は、それら不要なデータを除去するフィルタリング処理を行ったのち、数値化を行うことが好ましい。図2の例は、イベントログx1,x3,x7,x8がフィルタリング処理によって除去され、残ったイベントログx2,x4,x5,x6,x9,・・・が数値化された場合を示している。
【0024】
このように、検出対象パターンとログデータとを、ともに多次元の数値データのシーケンスに変換することで、前記の(要件2)〜(要件5)を満たす公知の動的マッチング技術の適用が可能となる。これにより、類似部分シーケンス検出部15は、それら公知の動的マッチング技術を利用して、ログデータのなかから、検出対象パターンに類似する類似部分シーケンスを検出して、検出結果を出力する。なお、かかる公知の動的マッチング技術としては、高速処理が可能で前記の(要件1)をも満たすことができる類似部分シーケンス検出技術(特許文献2、非特許文献2参照)を適用することが好ましい。
【0025】
図3は、本実施形態の行動パターン検出装置によって実行される行動パターン検出方法の手順を示したフローチャートである。まず始めに、検出対象パターン登録部11は、ユーザからの指示にしたがって、予め登録された複数の検出対象パターンのなかから、検出したい検出対象パターンを1つ選択し、それを数値変換部13が数値化して記憶部14に数値化された検出対象パターン141として格納する(ステップS1)。
【0026】
次に、ログ取得部12は、ログデータを取得する(ステップS2)。ここでは、ログデータをまとめて取得するものとしているが、個々のログデータが発生する都度ネットワーク経由でリアルタイムに取得してもよく、その場合には、新たにデータを取得する度に、以下のステップS3〜S5を繰り返せばよい。
【0027】
次に、数値変換部13は、取得したログデータのなかから、選択した検出対象パターンとは無関係なデータを除去するフィルタリング処理を行ったのち、検出対象パターンを規定する属性値だけを抽出して数値化することにより、取得したログデータを多次元の数値データのシーケンスに変換する(ステップS3)。
【0028】
次に、類似部分シーケンス検出部15は、数値化されたログデータのなかから、ステップS1にて記憶部14に格納した数値化された検出対象パターン141に類似する類似部分シーケンスを検出し(ステップS4)、最後に、検出された類似部分シーケンスのリストを出力して(ステップS5)、処理を終了する。
【0029】
なお、前記では、1つの検出対象パターンだけを検出する場合を説明したが、同時に2つ以上の検出対象パターンを選択して検出するようにしてもよいし、登録済みのすべての検出対象パターンをすべて同時に検出するようにしてもよい。また、検出された類似部分シーケンスの最初のデータと最後のデータのそれぞれに該当するインデックス情報(図示しない)のみ、または日時情報のみを出力してもよい。
【0030】
以上説明したように、本発明は、文字列等の非数値情報を含んで生成される複数の属性値から構成される時系列のログデータを、多次元の数値データに変換することによって、公知の数値データストリーム用の動的マッチング技術を適用可能とするものである。それにより、ログ情報のなかから、特定の行動パターンを検出するときに望まれる、前記の(要件1)〜(要件5)をすべて満たした行動パターン検出装置、行動パターン検出方法及び行動パターン検出プログラムを提供することができる。
【実施例1】
【0031】
利用者の端末操作ログを分析して情報漏洩の可能性がある行動パターンを検出する場合の実施例について説明する。この実施例1では、行動パターンの検出に使用する属性は、ファイル操作の種類を識別するファイル操作イベントの1属性のみとし、図4(a)に示す「リネーム」→「コピー」→「削除」という3つのファイル操作のシーケンスを、図4(b)に示した利用者ログデータのなかから検出するものとする。
【0032】
図5は、数値変換部13が保持しており、ファイル操作イベントを数値に変換するときに参照される変換テーブルの例を示したものである。単に、操作の一致/不一致を判定する場合には、図5のように、それぞれのイベントの種類に対して異なる数値を割り当てればよい。このような場合には、例えば、類似度を計算するときに、数値が一致すればスコア値に所定のプラスの値を加算し、数値が不一致であればスコア値から所定値を減算するようにすれば、数値の大小が類似度の計算結果に影響しないようにすることができる。
【0033】
図6は、図4に示した検出対象パターンと利用者ログデータとを、図5の変換テーブルを用いて数値化した結果を示したものであり、図6(a)が数値化された検出対象パターンであり、図6(b)が数値化された利用者ログデータである。また、()内に記した数値により、検出対象パターンを構成するデータとの対応関係を表している。
【0034】
このような、2つの数値データシーケンス(ここでは、検出対象パターンと利用者ログデータのそれぞれを数値化した情報であり、蓄積されたデータまたはデータストリームであってもよい。)に対して公知の動的マッチング技術を適用することによって、途中に検出対象パターンとは不一致となるノイズデータ(例えば、図6(b)の「3」が2つ連続する部分)を含んでいても、図6(b)に示したような類似部分シーケンスを的確に検出することができる。
【0035】
さらに、ノイズデータの影響を減らして類似部分シーケンスの検出精度を向上させるためには、図6(c)に示すように、同一の検出イベントログを複数繰り返した検出対象パターンを用いるとよい。これにより、2つのパターンの間の数値の一致回数が増える分だけ類似度のスコア値が大きくなるので、その分ノイズデータによるスコア値の減少の影響を減らし、ノイズデータに対するロバスト性を高めることができる。図6(c)の例では、同一の検出イベントログを3回ずつ繰り返しているが、繰返し回数は検出精度と処理時間とを勘案して適切に設定することが望ましい。
【実施例2】
【0036】
利用者の端末操作ログを分析して情報漏洩の可能性がある行動パターンを検出する場合の他の実施例について説明する。この実施例2では、行動パターンの検出に使用する属性は、ファイル操作の種類を識別するファイル操作イベントと、操作対象となったファイルのファイル名と、そのファイルが格納されるドライブ名との3属性とし、図7(b)に示した利用者ログデータのなかから、図7(a)に示す「ファイルaの読込」→「ファイルaの書込」→「ファイルaのリネーム」→「外部メディアにコピー」という4つのファイル操作のシーケンスを検出するものとする。
【0037】
図8は、数値変換部13が保持しており、ドライブ名を数値に変換するときに参照される変換テーブルの例を示したものである。この例のように、ファイルの格納先が外部メディアであるか否かを判定する場合には、外部メディアであるA(FDD)(Flexible Disk Drive)ドライブ、E(CD−RW)(Compact Disk-ReWritable)ドライブ、F(USB)(Universal Serial Bus)ドライブの3つに同じ数値または近い数値を割り当てることによって、外部メディア以外のC(ローカル)ドライブ、D(ローカル)ドライブ、H(ネットワーク)ドライブ、I(ネットワーク)ドライブとの識別性を高めることができる。
【0038】
なお、図8の例は、外部メディアには、1〜3のいずれかの数値を、ローカルドライブには11または12の数値を、ネットワークドライブには21以降の数値を割り当てることによって、それら3グループを識別する場合を示している。ファイルの格納先が外部メディアであることを検出するための検出対象パターンを設定する場合には、外部メディアに割り当てられるすべての数値の中央値または平均値を使用するとよい。例えば、図8の例では、外部メディアには、「1」,「2」,「3」の3つの数値が割り当てられるので、それらの中央値でもあり平均値でもある「2」を使用するのが好ましい。
【実施例3】
【0039】
利用者のインターネット閲覧ログを分析して、情報漏洩につながる可能性があるWebメールによるファイル送信操作を検出する場合の実施例について説明する。この実施例3では、行動パターンの検出に使用する属性は、インターネット閲覧ログの種類を示すログ種別と、アクティブなウィンドウのウィンドウタイトルと、アプリケーション名と、閲覧先ページの識別情報であるURL(Uniform Resource Locator)との4属性とし、例えば、図10に示した利用者ログデータのなかから、図9に示すようなWebメールによって添付ファイルを送信するときの6シーケンスの検出イベントログのパターンを検出するものとする。
【0040】
なお、Webメールでファイルを添付する場合には、その前にWebメールサービスを提供しているポータルページを開く操作と、そのなかからWebメールサービスを選択して起動する操作とに対応するイベントログも生成されるが、これら2つの操作は初回にのみ行われる操作であるため、検出の対象とはせずに、ファイルを添付する操作によって生成される検出イベントログのシーケンス(図9の(1)〜(4))と、メール送信操作によって生成される検出イベントログのシーケンス(図9の(5)〜(6))とを検出対象とする。
【0041】
図11は、数値変換部13が保持しており、検出対象パターンと利用者ログデータとに含まれる各属性値を数値に変換するときに参照される変換テーブルの例を示したものである。図11(a)〜(d)は、順にログ種別、ウィンドウタイトル、アプリケーション名、URLに対応する変換テーブルである。ウィンドウタイトル及びURLを数値に変換するときには、それぞれ図11(b)及び図11(d)に示されている文字列が含まれる場合に対応する数値に変換し、それらの文字列が含まれない場合には、数値0に変換する。なお、図内の「+」記号は、2つの文字列の両方を含むことを表している。
【0042】
図12は、図9に示した検出対象パターンと図10に示した利用者ログデータとを、図11(a)〜(d)の各変換テーブルを用いて数値化した結果を示したものであり、図12(a)が数値化された検出対象パターンであり、図12(b)が数値化された利用者ログデータである。また、()内に記した数値により、検出対象パターンを構成する検出イベントログとの対応関係を表している。
【0043】
次に、このような、2つの数値データシーケンスのなかから類似部分シーケンスのペアを検出するための、動的計画法に基づく単一のスコア行列を用いた動的マッチング処理の例について説明する。2つの数値データシーケンスのうち、利用者ログデータをX=(x1,x2,・・・,xn)、検出対象パターンをY=(y1,y2,・・・,ym)としたとき、Xの部分シーケンスX[is:ie]とYの部分シーケンスY[js:je]とからなる部分シーケンスペアの類似度を表す類似度スコアS(X[is:ie],Y[js:je])を、以下の式(1)〜式(4)によって計算して、スコア行列を生成する。ここで、is及びjsは、部分シーケンスの開始点(開始位置)を、ie及びjeは部分シーケンスの終了点(終了位置)を示すインデックスである。
【0044】
S(X[is:ie],Y[js:je])=s(ie,je) (式1)
s(i,j)=max{0,
1/2ε+s(i,j−1)−‖xi−yj‖,
1/2ε+s(i−1,j)−‖xi−yj‖,
ε+s(i−1,j−1)−‖xi−yj‖} (式2)
‖xi−yj‖=0(xi=yjのとき) (式3a)
‖xi−yj‖=1(xi≠yjのとき) (式3b)
s(0,0)=s(i,0)=s(0,j)=0 (式4)
【0045】
ここで、εは、データシーケンスの特性に応じて予め設定される検出パラメータの1つであり、以下の計算においては、ε=0.8とする。また、検出する部分シーケンスペアの最小長さのパラメータlについては、l=4とする。この2つのパラメータにより、検出する部分シーケンスペアの最小スコア値が決定され、この例では、ε×l=3.2以上のスコア値を持つ部分シーケンスペアが検出される。また、これらのパラメータは、シーケンスデータの特性に応じてユーザが任意に設定可能である。
【0046】
具体的な処理手順としては、まず始めに、利用者ログデータXの先頭データx1と検出対象パターンYの先頭データy1との類似度スコア値(以下、「スコア値」とも略記。)であるs(1,1)を計算する。次に、x1と、検出対象パターンYのデータを順番に1つずつ付加した部分シーケンスとの類似度であるs(1,2)〜s(1,m)を計算する。続いて、利用者ログデータXのデータを1つ付加した部分シーケンスX[1:2]について同様にs(2,1)〜s(2,m)を計算し、以後順番に利用者ログデータXのデータを1つずつ付加していくことによって、最終的にスコア行列のすべてのセルのスコア値を求めることができる。このように、動的計画法に基づく単一のスコア行列に記憶される既知の部分シーケンスペアの類似度スコア値を用いて、次のログデータを付加したときの部分シーケンスペアの類似度スコア値を算出するので、ログデータがリアルタイムに取得される場合でも、類似度スコア値を効率的に算出することができる。
【0047】
なお、この例では、スコア値を計算するための距離‖xi−yj‖として、一致したときに0、不一致のときに1となるエディットディスタンスを用いているが、これに限らず、例えば、ユークリッド距離やマンハッタン距離など任意のものを利用することができる。
【0048】
(式1)〜(式4)によって生成されるスコア行列の各セルには、任意の開始点からそのセルに至るすべての部分シーケンスペアのなかで、最大のスコア値を持つ部分シーケンスペアのスコア値が順次計算されて保持される。また、各セルには、そのスコア値を持つ部分シーケンスペアの開始点(開始位置)の座標が保持され、(式2)によって次のセルのスコア値を計算するときに選択された元のセルが保持していた開始点の座標が引き継がれる。ただし、計算したスコア値が0となったときには、新たな部分シーケンスペアの開始点として自身のセルの座標を保持する。
【0049】
これにより、各セルには、そのセルに至る(そのセルを終了点とする)すべての部分シーケンスペアのなかで、最大のスコア値を有して最も類似度が高い部分シーケンスペアのスコア値とともに、その部分シーケンスペアの開始点の座標が保持されることになる。
【0050】
図13は、図12(a)と図12(b)とに示した2つの数値データシーケンス(n=14,m=6)について生成されたスコア行列の計算例を示したものである。行列の各セル内には、上側にそのセルに至る部分シーケンスペアの最大スコア値が、下側にその部分シーケンスペアの開始点の座標が記されている。このスコア行列から、最小スコア値が3.2以上である部分シーケンスペア(図13の網かけ部)が抽出され、図12(b)に示した類似部分シーケンスを検出することができる。
【0051】
このように、途中に検出対象パターンとは不一致となるノイズデータ(図12(b)の(1)と(2)との間の2つのデータや、(4)と(5)との間のデータ)を含んでいても、所望の類似部分シーケンスを的確に検出することができる。なお、検出精度をさらに高めたい場合には、図6(c)にて説明したように、同一の検出イベントログを複数繰り返した検出対象パターンを用いるとよい。
【0052】
以上にて、本実施形態及び実施例の説明を終えるが、これらに限らず、本発明の趣旨を逸脱しない範囲内で各種の変更が可能である。また、検出する行動パターンは、時系列のログデータが取得できるものであれば何でもよく、例えば、各種センサによって利用者の位置や動作を監視するシステムや、それをさらに勤怠管理システムと連携させたシステムなどにも適用することができる。
【符号の説明】
【0053】
1 行動パターン検出装置
11 検出対象パターン登録部
12 ログデータ取得部
13 数値変換部
14 記憶部
141 数値化された検出対象パターン
142 検出パラメータ
15 類似部分シーケンス検出部
【特許請求の範囲】
【請求項1】
非数値情報を含んで時系列に生成されるログデータのなかから、所定の行動パターンによって生成されるイベントログシーケンスを規定する検出対象パターンに類似する類似部分シーケンスを検出することによって、前記所定の行動パターンに類似した行動パターンを検出する行動パターン検出装置であって、
前記検出対象パターン及び前記ログデータに含まれる非数値情報を、その非数値情報の種類毎に定められた所定の変換手続きによって数値情報に変換する数値変換部と、
数値情報に変換された前記ログデータのなかから、数値情報に変換された前記検出対象パターンに類似する類似部分シーケンスを、両者の類似度を用いて検出する、類似部分シーケンス検出部と
を備えることを特徴とする行動パターン検出装置。
【請求項2】
前記類似部分シーケンス検出部は、
前記数値情報に変換された前記検出対象パターンのなかの部分シーケンスと、前記数値情報に変換された前記ログデータのなかの部分シーケンスとを対応づけた部分シーケンスペアの類似度を、動的計画法に基づく単一のスコア行列を用いて算出し、
前記算出した類似度と、その類似度の算出に用いた前記検出対象パターンと前記ログデータの適合部分の開始位置及び終了位置と、を対応づけて前記スコア行列に記憶し、
前記スコア行列に記憶された前記類似度を用いて、前記検出対象パターンに類似する前記ログデータのなかの前記類似部分シーケンスを検出する
ことを特徴とする請求項1に記載の行動パターン検出装置。
【請求項3】
非数値情報を含んで時系列に生成されるログデータのなかから、所定の行動パターンによって生成されるイベントログシーケンスを規定する検出対象パターンに類似する類似部分シーケンスを検出することによって、前記所定の行動パターンに類似した行動パターンを検出する行動パターン検出装置によって実行される行動パターン検出方法であって、
前記行動パターン検出装置が、前記検出対象パターン及び前記ログデータに含まれる非数値情報を、その非数値情報の種類毎に定められた所定の変換手続きによって数値情報に変換する数値変換ステップと、
前記行動パターン検出装置が、数値情報に変換された前記ログデータのなかから、数値情報に変換された前記検出対象パターンに類似する類似部分シーケンスを、両者の類似度を用いて検出する、類似部分シーケンス検出ステップと
を備えることを特徴とする行動パターン検出方法。
【請求項4】
前記類似部分シーケンス検出ステップにおいて、前記行動パターン検出装置は、
前記数値情報に変換された前記検出対象パターンのなかの部分シーケンスと、前記数値情報に変換された前記ログデータのなかの部分シーケンスとを対応づけた部分シーケンスペアの類似度を、動的計画法に基づく単一のスコア行列を用いて算出し、
前記算出した類似度と、その類似度の算出に用いた前記検出対象パターンと前記ログデータの適合部分の開始位置及び終了位置と、を対応づけて前記スコア行列に記憶し、
前記スコア行列に記憶された前記類似度を用いて、前記検出対象パターンに類似する前記ログデータのなかの前記類似部分シーケンスを検出する
ことを特徴とする請求項3に記載の行動パターン検出方法。
【請求項5】
コンピュータを、請求項1または請求項2に記載の行動パターン検出装置として機能させるための行動パターン検出プログラム。
【請求項1】
非数値情報を含んで時系列に生成されるログデータのなかから、所定の行動パターンによって生成されるイベントログシーケンスを規定する検出対象パターンに類似する類似部分シーケンスを検出することによって、前記所定の行動パターンに類似した行動パターンを検出する行動パターン検出装置であって、
前記検出対象パターン及び前記ログデータに含まれる非数値情報を、その非数値情報の種類毎に定められた所定の変換手続きによって数値情報に変換する数値変換部と、
数値情報に変換された前記ログデータのなかから、数値情報に変換された前記検出対象パターンに類似する類似部分シーケンスを、両者の類似度を用いて検出する、類似部分シーケンス検出部と
を備えることを特徴とする行動パターン検出装置。
【請求項2】
前記類似部分シーケンス検出部は、
前記数値情報に変換された前記検出対象パターンのなかの部分シーケンスと、前記数値情報に変換された前記ログデータのなかの部分シーケンスとを対応づけた部分シーケンスペアの類似度を、動的計画法に基づく単一のスコア行列を用いて算出し、
前記算出した類似度と、その類似度の算出に用いた前記検出対象パターンと前記ログデータの適合部分の開始位置及び終了位置と、を対応づけて前記スコア行列に記憶し、
前記スコア行列に記憶された前記類似度を用いて、前記検出対象パターンに類似する前記ログデータのなかの前記類似部分シーケンスを検出する
ことを特徴とする請求項1に記載の行動パターン検出装置。
【請求項3】
非数値情報を含んで時系列に生成されるログデータのなかから、所定の行動パターンによって生成されるイベントログシーケンスを規定する検出対象パターンに類似する類似部分シーケンスを検出することによって、前記所定の行動パターンに類似した行動パターンを検出する行動パターン検出装置によって実行される行動パターン検出方法であって、
前記行動パターン検出装置が、前記検出対象パターン及び前記ログデータに含まれる非数値情報を、その非数値情報の種類毎に定められた所定の変換手続きによって数値情報に変換する数値変換ステップと、
前記行動パターン検出装置が、数値情報に変換された前記ログデータのなかから、数値情報に変換された前記検出対象パターンに類似する類似部分シーケンスを、両者の類似度を用いて検出する、類似部分シーケンス検出ステップと
を備えることを特徴とする行動パターン検出方法。
【請求項4】
前記類似部分シーケンス検出ステップにおいて、前記行動パターン検出装置は、
前記数値情報に変換された前記検出対象パターンのなかの部分シーケンスと、前記数値情報に変換された前記ログデータのなかの部分シーケンスとを対応づけた部分シーケンスペアの類似度を、動的計画法に基づく単一のスコア行列を用いて算出し、
前記算出した類似度と、その類似度の算出に用いた前記検出対象パターンと前記ログデータの適合部分の開始位置及び終了位置と、を対応づけて前記スコア行列に記憶し、
前記スコア行列に記憶された前記類似度を用いて、前記検出対象パターンに類似する前記ログデータのなかの前記類似部分シーケンスを検出する
ことを特徴とする請求項3に記載の行動パターン検出方法。
【請求項5】
コンピュータを、請求項1または請求項2に記載の行動パターン検出装置として機能させるための行動パターン検出プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2011−138422(P2011−138422A)
【公開日】平成23年7月14日(2011.7.14)
【国際特許分類】
【出願番号】特願2009−299027(P2009−299027)
【出願日】平成21年12月29日(2009.12.29)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成23年7月14日(2011.7.14)
【国際特許分類】
【出願日】平成21年12月29日(2009.12.29)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]