(57)【特許請求の範囲】
【請求項１】
評価対象の時系列データについて、単位時間の幅が異なる複数の粒度で変化点を検出する複数の変化点検出処理を実行し、
検出された各変化点が、順に、前記複数の変化点検出処理のうち、どの変化点検出処理に対応するかを示す第１の検知パターンを記憶部に記憶し、
新たな評価対象の時系列データについて、前記異なる複数の粒度で変化点を検出し、
前記新たな時系列データについて、検出された各変化点が、順に、前記複数の変化点検出処理のうち、どの変化点検出処理に対応するかを示す第２の検知パターンが、前記記憶部に記憶された第１の検知パターンと一致するか否かに応じて、異なる出力を行う、
処理をコンピュータに実行させるための検知プログラム。
【請求項２】
評価対象の時系列データについて、前記第１の検知パターンが出現する頻度に基づき、該第１の検知パターンを前記記憶部に記憶するか否かを決定する、
請求項１に記載の検知プログラム。
【請求項３】
前記第１の検知パターン及び前記第２の検知パターンは、前記検出された各変化点の検知間隔情報を含み、
前記第１の検知パターン及び前記第２の検知パターンの検知間隔情報に基づき、前記第２の検知パターンに含まれる検知間隔が前記記憶部に記憶された第１の検知パターンに含まれる検知間隔と一致するか否かに応じて、異なる出力を行う、
請求項１又は２に記載の検知プログラム。
【請求項４】
前記第１の検知パターンは、前記検知間隔のずれの許容範囲を示すずれ許容範囲情報を含み、
前記第１の検知パターンのずれ許容範囲情報に基づき、前記第２の検知パターンに含まれる検知間隔が前記記憶部に記憶された第１の検知パターンの前記検知間隔からのずれの許容範囲内にあるか否かに応じて、異なる出力を行う、
請求項３に記載の検知プログラム。
【請求項５】
前記第１の検知パターンは、前記検知間隔のずれの許容範囲を示すずれ許容範囲情報を含み、
前記第１の検知パターンのずれ許容範囲情報に基づき、前記第２の検知パターンが示す検知順序が、前記記憶部に記憶された第１の検知パターンが示す検知順序から変更可能な検知順序に一致し、かつ、前記第２の検知パターンの検知間隔が、前記検知順序を変更後の第１の検知パターンの検知間隔のずれの許容範囲内にあるか否かに応じて、異なる出力を行う、
請求項３に記載の検知プログラム。
【請求項６】
前記記憶部に記憶された第１の検知パターンは、該第１の検知パターンの出現が正常又は異常を示す情報を含み、
前記第１の検知パターンの出現が正常又は異常を示す情報に基づき、前記第２の検知パターンが、前記記憶部に記憶された第１の検知パターンと一致するか否かに応じて、該第２の検知パターンの正常又は異常の出力を行う、
請求項１〜５のいずれか一項に記載の検知プログラム。
【請求項７】
評価対象の時系列データについて、単位時間の幅が異なる複数の粒度で変化点を検出する複数の変化点検出処理を実行し、
検出された各変化点が、順に、前記複数の変化点検出処理のうち、どの変化点検出処理に対応するかを示す検知順序情報を含む第１の検知パターンを記憶部に記憶し、
新たな評価対象の時系列データについて、前記異なる複数の粒度で変化点を検出し、
前記新たな時系列データについて、検出された各変化点が、順に、前記複数の変化点検出処理のうち、どの変化点検出処理に対応するかを示す検知順序情報を含む第２の検知パターンが、前記記憶部に記憶された第１の検知パターンと一致するか否かに応じて、異なる出力を行う、
処理をコンピュータが実行する検知方法。
【請求項８】
評価対象の時系列データについて、単位時間の幅が異なる複数の粒度で変化点を検出する複数の変化点検出処理を実行する変化点検知部と、
検出された各変化点が、順に、前記複数の変化点検出処理のうち、どの変化点検出処理に対応するかを示す検知順序情報を含む第１の検知パターンを記憶部に記憶する学習部と、
新たな評価対象の時系列データについて、前記異なる複数の粒度で変化点を検出し、前記検出された各変化点が、順に、前記複数の変化点検出処理のうち、どの変化点検出処理に対応するかを示す検知順序情報を含む第２の検知パターンが、前記記憶部に記憶された第１の検知パターンと一致するか否かを判定する判定部と、
前記一致するか否かの判定に応じて、異なる出力を行う出力部と、
を有する検知装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検知プログラム、検知方法及び検知装置に関する。
【背景技術】
【０００２】
各種センサが検知したデータやログデータ等の時系列データを用いた異常検知技術が知られている（例えば、特許文献１及び特許文献２参照）。このような異常検知技術では、センサ値の正常範囲や正常なログデータを正常パターンとして記憶しておき、記憶した正常パターンと対象データとを比較及び検証することで対象データが正常か否かを判断する方法がある。また、データの中身を解析せずに、時間と共に変化する、対象データの特徴量（例えば通信量）が変化する変化点を検知する方法がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２１７５５５号公報
【特許文献２】特開２００３−２５６９５７号公報
【非特許文献】
【０００４】
【非特許文献１】K. Yamanishi, J. Takeuchi, "Discovering outlier filtering rules from unlabeled data: combining a supervised learner with an unsupervised learner", In Proceedings of the Seventh ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD01), ACM Press, pp.389-394, 2001.
【非特許文献２】J. Takeuchi, K. Yamanishi. A Unifying Framework for Detecting Outliers and Change Points from Time Series. IEEE Transaction on Knowledge and Data Engineering, 18(4):482-492, 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記異常検知技術のうち前者の方法では、対象データ自身と正常パターンとを比較して対象データが正常か否かを判断するための処理に時間がかかる。
【０００６】
また、後者の方法では、変化点だけでは、その変化点が何を意味しているのかがわからない。よって、対象データが正常であるか異常であるかを知るためには、結局、変化点に対応する対象データ自身の解析を行う必要があり、その結果、後者の方法によっても対象データが正常であるか否かを検出するまでの処理に時間がかかる。
【０００７】
他方、異常検知対象となるセンサデータ等のストリームデータは大量に入力されるため、データの異常を判定するための処理に時間がかかるデータの解析方法では、即時に事象を通知することが困難であるという課題がある。
【０００８】
そこで、一側面では、本発明は、対象データの検知処理をより少ない時間で行うことを目的とする。
【課題を解決するための手段】
【０００９】
一つの案では、評価対象の時系列データについて、単位時間の幅が異なる複数の粒度で変化点を検出する複数の変化点検出処理を実行し、検出された各変化点が、順に、前記複数の変化点検出処理のうち、どの変化点検出処理に対応するかを示す第１の検知パターンを記憶部に記憶し、新たな評価対象の時系列データについて、前記異なる複数の粒度で変化点を検出し、前記新たな時系列データについて、検出された各変化点が、順に、前記複数の変化点検出処理のうち、どの変化点検出処理に対応するかを示す第２の検知パターンが、前記記憶部に記憶された第１の検知パターンと一致するか否かに応じて、異なる出力を行う、処理をコンピュータに実行させるための検知プログラムが提供される。
【発明の効果】
【００１０】
一側面によれば、対象データの検知処理をより少ない時間で行うことができる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態にかかる検知装置の内部構成の一例を示す図。
【図２】一実施形態にかかる異なる幅の特徴量と変化点と検知パターンとを示す図。
【図３】第１実施形態にかかる変化点履歴ＤＢの一例を示す図。
【図４】第１実施形態にかかる既知パターンＤＢの一例を示す図。
【図５】第１実施形態にかかる検知パターン生成処理の一例を示すフローチャート。
【図６】第１実施形態にかかる学習処理の一例を示すフローチャート。
【図７】第１実施形態にかかる検知処理の一例を示すフローチャート。
【図８】第１実施形態にかかる検知結果の一例を示す図。
【図９】第１実施形態の変形例にかかる検知装置の内部構成の一例を示す図。
【図１０】第１実施形態の変形例１にかかる検知パターン履歴ＤＢの一例を示す図。
【図１１】第１実施形態の変形例１にかかる学習処理の一例を示すフローチャート。
【図１２】第１実施形態の変形例２にかかる学習処理の一例を示すフローチャート。
【図１３】第１実施形態の変形例２にかかる変化点履歴ＤＢの一例を示す図。
【図１４】第１実施形態の変形例３にかかる学習処理の一例を示すフローチャート。
【図１５】第１実施形態の変形例３にかかる変化点履歴ＤＢの一例を示す図。
【図１６】第２実施形態にかかる検知パターンの一例を示す図。
【図１７】第２実施形態にかかる学習処理の一例を示すフローチャート。
【図１８】第２実施形態にかかる検知処理の一例を示すフローチャート。
【図１９】第２実施形態にかかる検知結果の一例を示す図。
【図２０】第３実施形態にかかる検知パターンの一例を示す図。
【図２１】第３実施形態にかかる学習処理の一例を示すフローチャート。
【図２２】第３実施形態にかかる検知処理の一例を示すフローチャート。
【図２３】第３実施形態にかかる検知結果の一例を示す図。
【図２４】第３実施形態の変形例にかかる学習処理の一例を示すフローチャート。
【図２５】第３実施形態の変形例にかかる検知結果の一例を示す図。
【図２６】第３実施形態の変形例にかかる検知処理の一例を示すフローチャート。
【図２７】第４実施形態にかかる検知装置の内部構成の一例を示す図。
【図２８】第４実施形態にかかる学習処理の一例を示すフローチャート。
【図２９】第４実施形態にかかる学習結果の一例を示す図。
【図３０】第４実施形態にかかる検知処理の一例を示すフローチャート。
【図３１】第４実施形態にかかる検知結果の一例を示す図。
【図３２】第５実施形態にかかる検知装置の内部構成の一例を示す図。
【図３３】一実施形態にかかる検知装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１３】
［検知装置の内部構成］
まず、本発明の一実施形態に係る検知装置１０の構成について、図１を参照しながら説明する。一実施形態に係る検知装置１０は、各種センサが検知したデータやログデータ等の時系列データの特徴量の変化点のパターンを検出し、そのパターンが既知か未知かを判定する。検知装置１０の一例としては、サーバやＰＣ（Personal Computer）等の情報処理装置が挙げられる。
【００１４】
検知装置１０は、データ入力部１１、特徴量算出部１２、変化点検知部１３、検知パターン検出部１４、変化点履歴ＤＢ１５、既知パターン学習部１６、既知パターンＤＢ１７、既知判定部１８及び出力部１９を有する。
【００１５】
データ入力部１１は、各種センサが検知したデータ、通信データ、ログデータ等の評価対象の時系列データ（以下、「対象データ」ともいう。）を入力する。
【００１６】
特徴量算出部１２は、対象データの特徴量を抽出する。対象データの特徴量の一例としては、外部ネットワークへの通信の割合等が挙げられる。特徴量算出部１２は、単位時間のＷｉｎｄｏｗ幅（以下、「幅」ともいう。）が異なる複数の粒度のデータ群の特徴量を算出する。例えば、図２（ａ）の特徴量算出の一例では、特徴量算出部１２は、対象データの現在時刻から異なる一定時間の幅に含まれるデータ群の特徴量をそれぞれ算出する。
【００１７】
例えば、幅「Ｗ１」が１０分、幅「Ｗ２」が１５分、幅「Ｗ３」が２０分とする。この場合、幅Ｗ１の特徴量算出部１２ａは、現在時刻の１０分前から現在時刻に至るまでの１０分間に取得したデータ群についての特徴量（幅「Ｗ１」の特徴量）を算出する（図２（ａ）の上グラフ参照）。幅Ｗ２の特徴量算出部１２ｂは、現在時刻の１５分前から現在時刻に至るまでに取得したデータ群についての特徴量（幅「Ｗ２」の特徴量）を算出する（図２（ａ）の中央グラフ参照）。幅Ｗ３の特徴量算出部１２ｃは、現在時刻の２０分前から現在時刻に至るまでに取得したデータ群についての特徴量（幅「Ｗ３」の特徴量）を算出する（図２（ａ）の下グラフ参照）。
【００１８】
なお、特徴量算出の粒度を短く設定する程、細かい変化が現れるが、ノイズも含まれることになる。また、図２の例では、特徴量算出部１２は、三つの幅について特徴量をそれぞれ算出したが、これに限らず、例えば、ｎ個（ｎ≧２）の異なる幅のデータ群について特徴量をそれぞれ算出すればよい。
【００１９】
変化点検知部１３は、対象データについて、単位時間の幅が異なる複数の粒度の特徴量の変化点を検出する複数の変化点検出処理を実行し、特徴量の変化の度合いを検出する。図２（ｂ）の変化点算出の一例では、幅Ｗ１、Ｗ２、Ｗ３のデータ群のそれぞれの特徴量に対する変化点のスコアが算出されている。変化点検知部１３は、変化点検出処理毎に検出された変化点のスコアに検知ＩＤを付与する。図２の（ｂ）には、幅Ｗ１、Ｗ２、Ｗ３の特徴量の変化点検出処理に対応して検知ＩＤ「１」、検知ＩＤ「２」、検知ＩＤ「３」がそれぞれ付与されている。
（共通フェーズｐｈ１）
図１に示す共通フェーズｐｈ１において、検知パターン検出部１４は、変化点検知部１３が検出した各変化点が、順に、三つの変化点検出処理のうち、どの変化点検出処理に対応するかを示す検知順序の情報を含む検知パターンを検出する。検知した変化点の履歴は、変化点履歴ＤＢ１５に記憶される。検知順序は、検知ＩＤの出現順序により示される。
【００２０】
具体的には、検知パターン検出部１４は、変化点検知部１３から検知ＩＤと変化点の検知時刻とを取得し、検知ＩＤと変化点の検知時刻とを変化点履歴ＤＢ１５に記憶する。一例としては、検知パターン検出部１４は、図２（ｂ）の下側に示す丸が現時点を示すとすると、検知パターン検出部１４は、現時点から一定期間に出現する所定の閾値以上の変化点（菱形、三角、丸）の検知ＩＤの出現順番（３，１，２）を検知パターンとする。検知パターンは、変化点履歴ＤＢ１５に記憶された変化点の検知履歴から検出する。変化点履歴ＤＢ１５の一例を図３に示す。変化点履歴ＤＢ１５には、検知ＩＤ１５１及び検知ＩＤ１５１に対応する検知時刻１５２の各情報が記憶される。図２の検知パターン（３，１，２）の情報は、図３の変化点履歴ＤＢ１５の、検知ＩＤ１５１「３」、「１」、「２」及び各検知ＩＤ１５１に対応する各検知時刻により示される。変化点履歴ＤＢ１５は、変化点検知の検知履歴が記憶される記憶部の一例である。
【００２１】
次に説明する学習フェーズｐｈ２は、検知パターン検出部１４において検出された検知パターンから既知パターンを抽出し、既知パターンＤＢ１７に登録するフェーズである。
【００２２】
更に、検知フェーズｐｈ３では、学習フェーズｐｈ２で既知パターンＤＢ１７に登録された既知パターンに基づき、新たな対象データ（幅Ｗ１，Ｗ２，Ｗ３のデータ群）について検出された新たな検知パターンが、既知か未知かが判定される。
【００２３】
なお、検知パターン検出部１４において検出された検知パターンのうち、学習フェーズｐｈ２において既知パターンか否かの判定対象となる検知パターンは「第１の検知パターン」の一例である。既知パターンであると判定された第１の検知パターンは既知パターンＤＢ１７に登録される。
【００２４】
一方、検知フェーズｐｈ３において既知パターンか否かの判定対象となる検知パターンは「第２の検知パターン」の一例である。第２の検知パターンは、既知パターンＤＢ１７に登録された既知パターンとの比較により既知か未知かの判定が可能となる。
（学習フェーズｐｈ２）
学習フェーズｐｈ２において、既知パターン学習部１６は、検知パターン検出部１４において検出された検知パターンから既知パターンを抽出し、既知パターンＤＢ１７に記憶する。例えば、既知パターン学習部１６は、検知パターン検出部１４において検出された検知パターンのうち、既知パターンＤＢ１７に記憶されていない検知パターンを新たな既知パターンと判断し、既知パターンＤＢ１７に記憶する。既知パターンＤＢ１７の一例を図４に示す。既知パターンＤＢ１７には、既知パターンであると判定された検知パターン（第１の検知パターン）の変化点の検知順序を示す検知ＩＤの組が記憶される。なお、既知パターンＤＢ１７は、検知パターンから抽出された既知パターンを記憶する記憶部の一例である。
【００２５】
特徴量の変化の仕方（変化の度合い、変化の細かさ、変化前の状況）によって、各幅Ｗ１、Ｗ２、Ｗ３における変化点の検知タイミングは異なる。よって、各幅Ｗ１、Ｗ２、Ｗ３で変化点を検知した結果得られる変化点の検知順序によって、各幅における特徴量の変化の仕方が識別可能である。よって、既知パターン学習部１６は、単位時間の幅が異なる複数の粒度で変化点を検出した結果から過去に存在する変化点群を示す既知パターンを学習する。
（検知フェーズｐｈ３）
検知フェーズｐｈ３において、既知判定部１８は、新たな対象データについての検知パターン（第２の検知パターン）が、既知パターンＤＢ１７に記憶された既知パターン（第１の検知パターンのうち既知のパターンと判定させたもの）と一致するか否かを判定する。判定対象の検知パターン（第２の検知パターン）は、共通フェーズにおいて、変化点検知部１３が第１の検知パターンが検出される際に用いられた幅Ｗ１，Ｗ２，Ｗ３と同一の幅のデータ群の変化点を抽出し、一定期間に検出される変化点の検知パターンである。
【００２６】
既知判定部１８は、検知パターンが既知パターンと一致すると判定した場合、検知パターンは「既知」であると判断する。既知判定部１８は、検知パターンが既知パターンと一致しないと判定した場合、検知パターンは「未知」であると判定する。これにより、検知パターンの既知又は未知の切り分けができる。出力部１９は、検知フェーズｐｈ３で判定した判定結果を、対象データの判定を要求したユーザに通知する。
【００２７】
なお、ｎ個の異なる幅のデータ群のｎの数が多い程、既知パターンの判定精度を高めることができる。
＜第１実施形態＞
［検知パターン生成処理］
かかる構成の検知装置１０が行う、第１実施形態に係る検知パターン生成処理について図５を参照して説明する。図５は、第１実施形態に係る検知パターン生成処理の一例を示すフローチャートである。本処理が開始されると、検知パターン検出部１４は、検知ＩＤ及び検知時刻を入力し、入力した検知ＩＤ及び検知時刻を変化点履歴ＤＢ１５に追加する（ステップＳ１０）。例えば検知パターン検出部１４は、図３の検知ＩＤ２、検知時刻「２０１４／１０／０１  １３：２２：００」を変化点履歴ＤＢ１５に記憶する。
【００２８】
次に、検知パターン検出部１４は、記憶した検知時刻よりも一定期間以上前の変化点履歴を削除する（ステップＳ１２）。例えば、図３の変化点履歴ＤＢ１５のうち、追加された検知ＩＤ２の検知時刻よりも一定期間以上前の検知ＩＤ及び検知時刻は削除される。次に、検知パターン検出部１４は、検知時刻から過去一定期間に変化点を検知した変化点履歴情報から検知パターンを生成し（ステップＳ１４）、本処理を終了する。図3の例では、検知時刻「２０１４／１０／０１  １３：２２：００」から過去一定期間に変化点を検知した変化点履歴情報から検知パターン（３，１，２）が生成される例が示されている。
【００２９】
［学習処理］
次に、第１実施形態に係る学習処理について図６を参照して説明する。図６は、第１実施形態に係る学習処理の一例を示すフローチャートである。本処理が開始されると、既知パターン学習部１６は、検知パターン（第１の検知パターン）と一致する既知パターンが既知パターンＤＢ１７に存在するかを探索する（ステップＳ２０）。既知パターン学習部１６は、検知パターンと一致する既知パターンが存在するかを判定し（ステップＳ２２）、検知パターンと一致する既知パターンが既知パターンＤＢ１７に存在すると判定した場合、本処理を終了する。一方、既知パターン学習部１６は、検知パターンと一致する既知パターンが既知パターンＤＢ１７に存在しないと判定した場合、検知パターンを既知パターンとして既知パターンＤＢ１７に追加し（ステップＳ２４）、本処理を終了する。図４では、既知パターンＤＢ１７に存在しない検知パターン（３，１，２）が既知パターンとして既知パターンＤＢ１７に追加される例が示されている。
【００３０】
［検知処理］
次に、第１実施形態に係る検知処理について図７を参照して説明する。図７は、第１実施形態に係る検知処理の一例を示すフローチャートである。本処理が開始されると、既知判定部１８は、評価対象の検知パターン（第２の検知パターン）と一致する既知パターンが既知パターンＤＢ１７に存在するかを探索する（ステップＳ３０）。既知判定部１８は、検知パターンと一致する既知パターンが存在するかを判定する（ステップＳ３２）。既知判定部１８は、検知パターンと一致する既知パターンが存在すると判定した場合、出力部１９は、該当検知パターンが既知であることを通知し（ステップＳ３４）、本処理を終了する。
【００３１】
一方、既知判定部１８は、検知パターンと一致する既知パターンが存在しないと判定した場合、出力部１９は、該当検知パターンは未知であることを通知し（ステップＳ３６）、本処理を終了する。
【００３２】
図８では、評価対象の検知パターン（３，１，２）が既知パターンＤＢ１７に存在するため、出力部１９が、判定結果「既知」及び検知時刻「２０１４／１１／０２  １３：２０：００」を通知する例が示されている。
【００３３】
以上に説明したように、第１実施形態に係る検知装置１０によれば、単位時間の幅が異なる複数の粒度で対象データの特徴量の変化点を検出し、検出された各変化点の検知順序（出現順序）を既知パターンとして学習する。そして、新たな検知パターンが学習した既知パターンと一致するかにより、新たな検知パターンが既知か未知かが判定される。このように、第１実施形態に係る検知装置１０によれば、対象データ自身の解析を行うことなく、対象データの検知処理を該当対象データよりも少ない特徴量の変化点データの比較で行うことができる。これにより、対象データが既知又は未知を検出するまで処理時間を短縮できる。特に対象となるセンサデータやログデータ等のストリームデータは大量に流れてくる。よって、本実施形態によれば、検知データの既知又は未知を判定するまでの時間を短縮することで、検知データの事象を即時に通知することができる。
【００３４】
＜変形例＞
［検知装置の内部構成］
次に、第１実施形態の変形例１〜３に係る検知装置１０の構成について、図９を参照しながら説明する。第１実施形態の各変形例に係る検知装置１０は、図１に示した第１実施形態に係る検知装置１０の構成に加えて検知パターン履歴ＤＢ２０を有する。
【００３５】
検知パターン履歴ＤＢ２０は、図１０に示すように、検知パターン２０１及び出現頻度２０２の検知結果履歴情報を有する。出現頻度２０２は、検知パターン２０１の出現回数の累計が検知パターン２０１毎に記憶される。検知パターン履歴ＤＢ２０の出現頻度２０２に基づき、検知パターンが既知パターンであるかが判定される。
【００３６】
［変形例１の学習処理］
かかる構成の検知装置１０による、第１実施形態の変形例１に係る学習処理について図１１を参照して説明する。図１１は、第１実施形態の変形例１にかかる学習処理の一例を示すフローチャートである。本処理が開始されると、既知パターン学習部１６は、検知パターンと一致する検知パターン２０１の検知結果履歴情報が検知パターン履歴ＤＢ２０に存在するかを探索する（ステップＳ４０）。既知パターン学習部１６は、検知パターンと一致する検知パターン２０１が存在するかを判定する（ステップＳ４２）。既知パターン学習部１６は、検知パターンと一致する検知パターン２０１が存在すると判定した場合、一致する検知パターン２０１の出現頻度２０２を更新し（ステップＳ４４）、ステップＳ４８に進む。一方、既知パターン学習部１６は、検知パターンと一致する検知パターン２０１が存在しないと判定した場合、検知パターンを検知パターン履歴ＤＢ２０に追加し、追加した検知パターン２０１の出現頻度２０２を付加し（ステップＳ４６）、ステップＳ４８に進む。
【００３７】
次に、既知パターン学習部１６は、該当する検知パターンの出現頻度が閾値Ｓ以上かを判定し（ステップＳ４８）、閾値Ｓ未満と判定した場合には本処理を終了する。一方、既知パターン学習部１６は、該当する検知パターンの出現頻度が閾値Ｓ以上と判定した場合、該当する検知パターン２０１を既知パターンとして既知パターンＤＢ１７に登録し（ステップＳ５０）、本処理を終了する。
【００３８】
図１０の例では、検知パターン２０１（５，１）は、出現頻度２０２が閾値Ｓ以上であるため、既知パターンＤＢ１７に登録され、検知パターン２０１（５，１，３）は、出現頻度２０２が閾値Ｓ未満であるため、既知パターンＤＢ１７に登録されていない。なお、閾値Ｓは、検知装置１０を利用する利用者が設定することができる。
【００３９】
［変形例２の学習処理］
次に、第１実施形態の変形例２に係る学習処理について図１２を参照して説明する。図１２は、第１実施形態の変形例２にかかる学習処理の一例を示すフローチャートである。本処理が開始されると、変形例１と同様にステップＳ４０〜Ｓ４６が実行され、検知パターン履歴ＤＢ２０に保存されている検知パターン２０１に出現頻度２０２が付加される。
【００４０】
次に、既知パターン学習部１６は、各検知パターン２０１の出現頻度２０２を出現頻度の合計で割り、出現割合を算出する（ステップＳ５２）。次に、既知パターン学習部１６は、既知パターンＤＢ１７内の既知パターンを消去し、出現割合が閾値Ｕを超えた検知パターンのリストを既知パターンとして登録し（ステップＳ５４）、本処理を終了する。
【００４１】
図１３には、検知パターン履歴ＤＢ２０に保存された各検知パターン２０１の出現頻度２０２に基づき出現割合が算出され、閾値Ｕ以上の出現割合の検知パターン２０１が既知パターンＤＢ１７に登録される。なお、閾値Ｕは、検知装置１０を利用する利用者が設定することができる。
【００４２】
［変形例３の学習処理］
次に、第１実施形態の変形例３に係る学習処理について図１４を参照して説明する。図１４は、第１実施形態の変形例３に係る学習処理の一例を示すフローチャートである。本処理が開始されると、変形例１と同様にステップＳ４０〜Ｓ４６が実行され、検知パターン履歴ＤＢ２０に保存されている検知パターン２０１に出現頻度２０２が付加される。
【００４３】
次に、既知パターン学習部１６は、各検知パターン２０１の出現頻度２０２を経過時間で割り、各検知パターンの一定期間の出現数を算出する（ステップＳ５６）。次に、既知パターン学習部１６は、既知パターンＤＢ１７内の既知パターンを消去し、一定期間の出現数が閾値Ｖを超えた検知パターンのリストを既知パターンとして登録し（ステップＳ５８）、本処理を終了する。
【００４４】
図１５では、例えば検知パターン履歴ＤＢ２０に保存された（５，１）の検知パターン２０１の出現頻度２０２を開始からの経過時間「２０」で割ることで、（５，１）の検知パターンの一定期間の出現数「０．６」が算出される。一定期間の出現数「０．６」が閾値Ｖ以上の場合、（５，１）の検知パターン２０１は既知パターンＤＢ１７に登録される。なお、閾値Ｖは、検知装置１０を利用する利用者が設定することができる。
【００４５】
以上、第１実施形態の変形例１〜変形例３に係る検知装置１０では、学習フェーズにおいて、予め定められた閾値との判定により既知パターンの学習が可能である。例えば、変形例１では、出現頻度が閾値Ｓ以上の検知パターンを既知パターンとして既知パターンＤＢ１７に登録した。変形例２では、出現割合が閾値Ｕ以上の検知パターンを既知パターンとして既知パターンＤＢ１７に登録した。変形例３では、検知パターンの一定期間の出現数が閾値Ｖ以上の検知パターンを既知パターンとして既知パターンＤＢ１７に登録した。これにより、学習フェーズにおいて登録する既知パターンを検知パターンの出現頻度を考慮して決定することで、検知フェーズにおける既知又は未知の判定の精度を高めることができる。
＜第２実施形態＞
以上に説明した第１実施形態にかかる検知装置１０では、変化点の検知順序に基づき、既知パターンの学習及び検知が実行された。これに対して、次に説明する第２実施形態にかかる検知装置１０では、変化点の検知順序と検知間隔（出現間隔）に基づき、既知パターンの学習及び検知が実行される。例えば、図１６に示すように、第２実施形態では、検知パターンは、検知順序（３，１、２）及び検知間隔（１５，５，０）の情報を有する。検知間隔（１５，５，０）は、現時点の検知ＩＤ２の検知時間からの時間差を示し、検知ＩＤ３と検知ＩＤ２との時間差「１５」、検知ＩＤ１と検知ＩＤ２との時間差「５」、検知ＩＤ２と検知ＩＤ２との時間差「０」を示す。
【００４６】
既知パターンＤＢ１７には、検知順序１７１ａと検知間隔１７１ｂとが記憶される。検知順序１７１ａが同じであっても、検知間隔１７１ｂが異なる場合には異なる既知パターンとして登録される。既知パターンＤＢ１７には、検知順序１７１ａ毎に１または複数の検知間隔１７１ｂが登録されてもよい。
【００４７】
第２実施形態に係る検知装置１０の内部構成は、図１に示す検知装置１０の内部構成と同じであるためここでは説明を省略する。以下では、第２実施形態にかかる学習処理及び検知処理について順に説明する。
【００４８】
［学習処理］
まず、第２実施形態に係る学習処理について図１７を参照して説明する。図１７は、第２実施形態に係る学習処理の一例を示すフローチャートである。本処理が開始されると、既知パターン学習部１６は、検知パターンの検知順序と一致する既知パターンの検知順序が既知パターンＤＢ１７に存在するかを判定する（ステップＳ６０）。既知パターン学習部１６は、検知順序が一致する既知パターンが既知パターンＤＢ１７に存在すると判定した場合、検知順序が一致した既知パターンのうち検知間隔が検知パターンと一致する既知パターンが存在するかを判定する（ステップＳ６２）。既知パターン学習部１６は、検知パターンの検知間隔と一致する既知パターンが存在すると判定した場合、本処理を終了する。
【００４９】
一方、既知パターン学習部１６は、検知順序が一致した既知パターンのうちで検知間隔が検知パターンの検知間隔と一致する既知パターンが存在しないと判定した場合、検知パターンの検知間隔を既知パターンＤＢ１７に登録し（ステップＳ６６）、本処理を終了する。
【００５０】
ステップＳ６０にて、既知パターン学習部１６は、検知順序が一致する既知パターンが既知パターンＤＢ１７に存在しないと判定した場合、検知パターンの検知順序を既知パターンＤＢ１７に登録する（ステップＳ６４）。次に、検知パターンの検知間隔を既知パターンＤＢ１７に登録し（ステップＳ６６）、本処理を終了する。
【００５１】
［検知処理］
次に、第２実施形態に係る検知処理について図１８を参照して説明する。図１８は、第２実施形態に係る検知処理の一例を示すフローチャートである。本処理が開始されると、既知判定部１８は、検知パターンの検知順序と一致する検知順序の既知パターンが既知パターンＤＢ１７に存在するかを探索する（ステップＳ７０）。既知判定部１８は、検知パターンの検知順序と一致する検知順序の既知パターンが既知パターンＤＢ１７に存在しないと判定した場合、本処理を終了する。
【００５２】
一方、既知判定部１８は、検知パターンの検知順序と一致する検知順序の既知パターンが既知パターンＤＢ１７に存在すると判定した場合、該既知パターンのうち検知間隔が検知パターンの検知間隔と一致する既知パターンが存在するかを判定する（ステップＳ７２）。既知判定部１８は、検知順序が一致した既知パターンのうち検知間隔が検知パターンの検知間隔と一致する既知パターンが存在すると判定した場合、検知パターンは既知であると通知し（ステップＳ７４）、本処理を終了する。既知判定部１８は、検知順序が一致した既知パターンのうち検知間隔が検知パターンの検知間隔と一致する既知パターンが存在しないと判定した場合、本処理を終了する。
【００５３】
図１９では、例えば検知パターンの検知順序（３，１，２）が既知パターンＤＢ１７の検知順序１７１ａ（３，１，２）と一致し、かつ、検知パターンの検知間隔（１５，５，０）が既知パターンの検知間隔１７１ｂ（１５，５，０）と一致する。この場合、検知パターンは、既知と判定される。検知順序及び検知間隔の少なくともいずれかが一致しない場合、検知パターンは、未知と判定される。
【００５４】
以上に説明したように、第２実施形態に係る検知装置１０によれば、検知パターンの検知順序及び検知間隔により、検知パターンを抽出するための変化点をより細かく識別することができる。これにより、検知パターン及び既知パターンの検知順序及び検知間隔が一致するか否かにより、検知パターンの既知又は未知の判定精度を高めることができる。
＜第３実施形態＞
以上に説明した第１実施形態にかかる検知装置１０では、変化点の検知順序に基づき、既知パターンの学習及び検知が実行され、第２実施形態にかかる検知装置１０では、変化点の検知順序及び検知間隔に基づき、既知パターンの学習及び検知が実行された。これに対して、次に説明する第３実施形態にかかる検知装置１０では、変化点の検知順序と検知間隔に加えて検知間隔の揺らぎの許容範囲を設けて、既知パターンの学習及び検知が実行される。第３実施形態では、検知される変化点の検知パターンは、第２実施形態と同様に検知順序及び検知間隔の情報を有する。例えば、図２０に示す検知パターンの検知順序は（３，１，２）、検知間隔は（１４，４，０）である。第３実施形態では、既知パターンＤＢ１７に検知順序１７１ａ及び検知間隔１７１ｂとともに検知間隔１７１ｂに対するに揺らぎの許容範囲１７１ｃが記憶されている。検知フェーズにおいて、検知パターンの検知間隔が既知パターンの検知間隔と完全一致しない場合であっても検知間隔のずれが揺らぎの許容範囲内であれば既知であると判定される。
【００５５】
例えば、既知パターンＤＢ１７の検知順序１７１ａが（３，１，２）、検知間隔１７１ｂが（１５，５，０）、揺らぎの許容範囲１７１ｃが（１，２，０）の場合、検知パターンの検知順序は既知パターンの検知順序１７１ａと一致する。しかし、検知パターンの検知間隔１７１ｂ（１４，４，０）は既知パターンＤＢ１７の検知間隔１７１ｂ（１５，５，０）と一致しない。この場合、第２実施形態では検知フェーズにおいて検知パターンは未知であると判定される。
【００５６】
一方、第３実施形態では、検知パターンの検知間隔１７１ｂ（１４，４，０）は既知パターンの許容される検知間隔（１５±１，５±２，０±０）に含まれる。この結果、検知パターンは既知であると判定される。
【００５７】
第３実施形態に係る検知装置１０の内部構成は、図１に示す検知装置１０の内部構成と同じであるためここでは説明を省略する。以下では、第３実施形態にかかる学習処理及び検知処理について順に説明する。
【００５８】
［学習処理］
まず、第３実施形態に係る学習処理について図２１を参照して説明する。図２１は、第３実施形態に係る学習処理の一例を示すフローチャートである。本処理が開始されると、既知パターン学習部１６は、検知パターンの検知順序と一致する既知パターンの検知順序が既知パターンＤＢ１７に存在するかを判定する（ステップＳ８０）。既知パターン学習部１６は、検知順序が一致する既知パターンが既知パターンＤＢ１７に存在すると判定した場合、検知間隔の差の絶対値がすべて閾値ｄ（図２３では±３）以下となる検知パターンが存在するかを判定する（ステップＳ８２）。
【００５９】
既知パターン学習部１６は、検知間隔の差の絶対値がすべて閾値ｄ以下となる検知パターンが存在すると判定した場合、検知パターン履歴ＤＢ２０の該当類似パターンの出現範囲２０３を検知間隔の差の絶対値に更新する（ステップＳ８４）。また、既知パターン学習部１６は、出現頻度２０２を更新（「１」を加算）する（ステップＳ８４）。
【００６０】
例えば、図２３に示す検知パターン履歴ＤＢ２０の類似パターンの出現範囲２０３は、検知パターンと既知パターンとの検知間隔との差の絶対値（１，２，０）に更新される。
【００６１】
図２１に戻り、次に、既知パターン学習部１６は、検知パターン履歴ＤＢ２０の出現頻度２０２が閾値Ｘを上回った場合、類似パターンの出現範囲２０３を既知パターンＤＢ１７の揺らぎの許容範囲１７１ｃに登録し（ステップＳ８８）、本処理を終了する。
【００６２】
他方、既知パターン学習部１６は、ステップＳ８０にて検知順序が一致する既知パターンが既知パターンＤＢ１７に存在しないと判定した場合、検知パターンの検知順序と検知間隔を検知パターン履歴ＤＢ２０と既知パターンＤＢ１７とに追加する（ステップＳ８６）。既知パターン学習部１６は、ステップＳ８２にて検知間隔の差の絶対値がすべて閾値ｄ以下となる検知パターンが存在しないと判定した場合、検知パターンの検知順序と検知間隔を検知パターン履歴ＤＢ２０と既知パターンＤＢ１７とに追加する（ステップＳ８６）。次に、既知パターン学習部１６は、検知パターン履歴ＤＢ２０の出現頻度２０２が閾値Ｘを上回った場合、類似パターンの出現範囲２０３を既知パターンＤＢ１７の揺らぎの許容範囲１７１ｃに登録し（ステップＳ８８）、本処理を終了する。
【００６３】
［検知処理］
次に、第３実施形態に係る検知処理について図２２を参照して説明する。図２２は、第３実施形態に係る検知処理の一例を示すフローチャートである。本処理が開始されると、既知判定部１８は、検知パターンの検知順序と一致する検知順序の既知パターンが既知パターンＤＢ１７に存在するかを探索する（ステップＳ９０）。
【００６４】
既知判定部１８は、検知パターンと検知順序が一致する既知パターンが既知パターンＤＢ１７に存在すると判定した場合、検知間隔の差の絶対値がすべて既知パターンＤＢ１７の揺らぎの許容範囲１７１ｃ以下の検知パターンがあるかを判定する（ステップＳ９２）。既知パターン学習部１６は、検知間隔の差の絶対値がすべて既知パターンＤＢ１７の揺らぎの許容範囲１７１ｃ以下となる検知パターンが存在すると判定した場合、検知パターンが既知であると通知し（ステップＳ９４）、本処理を終了する。
【００６５】
一方、既知判定部１８は、ステップＳ９０にて検知パターンの検知順序と一致する検知順序の既知パターンが既知パターンＤＢ１７に存在しないと判定した場合、検知パターンが未知であると通知し（ステップＳ９６）、本処理を終了する。同様に、既知判定部１８は、ステップＳ９２にて検知間隔の差の絶対値がすべて既知パターンＤＢ１７の揺らぎの許容範囲１７１ｃ以下となる検知パターンが存在しないと判定した場合、検知パターンが未知であると通知し（ステップＳ９６）、本処理を終了する。
＜第３実施形態の変形例＞
以上に説明した第３実施形態では、検知順序が変化しない場合において検知間隔の揺らぎの許容範囲を考慮した学習処理及び検知処理について説明した。第３実施形態の変形例では、検知順序が変化する場合において検知間隔の揺らぎの許容範囲を考慮した学習処理及び検知処理について説明する。第３実施形態の変形例においても検知装置１０の内部構成は、図１に示す検知装置１０の内部構成と同じであるため説明を省略する。
【００６６】
［学習処理］
第３実施形態の変形例に係る学習処理について図２４を参照して説明する。図２４は、第３実施形態の変形例に係る学習処理の一例を示すフローチャートである。本処理が開始されると、既知パターン学習部１６は、検知パターンを、検知順序を入れ替えてできるすべての検知順序に変換する（ステップＳ１００）。これにより、変換された検知順序のパターンを含むすべての検知パターンのリストが作成される。
【００６７】
次に、既知パターン学習部１６は、変換後の検知パターンのリストから、検知間隔が揺らぎの許容範囲−ｄより小さい値を有する検知パターン削除する（ステップＳ１０２）。次に、既知パターン学習部１６は、変換後の検知パターンのリストから一つの検知パターンを、比較対象の検知パターンとして選択する（ステップＳ１０４）。
【００６８】
次に、既知パターン学習部１６は、比較対象の検知パターンと同じ検知順序が、既知パターンＤＢ１７に存在するかを判定する（ステップＳ１０６）。既知パターン学習部１６は、検知パターンと検知順序が同じ既知パターンが既知パターンＤＢ１７に存在すると判定した場合、検知間隔の差の絶対値がすべて閾値ｄ以下となる検知パターンが存在するかを判定する（ステップＳ１０８）。既知パターン学習部１６は、検知間隔の差の絶対値がすべて閾値ｄ以下となる検知パターンが存在すると判定した場合、検知パターン履歴ＤＢ２０の類似パターンの出現範囲２０３を検知間隔の差の絶対値に更新する（ステップＳ１１０）。また、既知パターン学習部１６は、出現頻度２０２を更新し（ステップＳ１１０）、ステップＳ１１２に進む。
【００６９】
例えば、図２５に示すように、検知間隔からの揺らぎの許容範囲をｄ（ｄ≧１）とすると、検知ＩＤ１と検知ＩＤ２との検知間隔が短い。このため、揺らぎが許容される範囲で検知パターン（（３，１，２）、（１５，１，０））と、検知順序が異なる検知パターン（（３，２，１）、（１４，−１，０））とは類似パターンと捉えることができる。
【００７０】
よって、第３実施形態の変形例では、揺らぎの許容範囲に応じて検知順序を変換した検知パターンに対しても検知パターンと既知パターンとを比較することができる。そして、検知パターンの検知順序を入れ替えてできるすべての検知順序に変換して比較するため、精度が高い検知パターンの既知又は未知の判定が可能となる。
【００７１】
図２４に戻り、既知パターン学習部１６は、ステップＳ１０６にて比較対象の検知パターンと同じ検知順序が、既知パターンＤＢ１７に存在しないと判定した場合、ステップＳ１１２に進む。また、ステップＳ１０８にて検知間隔の差の絶対値がすべて閾値ｄ以下となる検知パターンが存在しないと判定した場合、ステップＳ１１２に進む。
【００７２】
既知パターン学習部１６は、ステップＳ１１２にて変換後の検知パターンのリストに比較対象検知パターンとなっていない検知パターンが存在するかを判定する。既知パターン学習部１６は、変換後の検知パターンのリストに比較対象の検知パターンとなっていない検知パターンが存在すると判定した場合、ステップＳ１０４に戻り、ステップＳ１０４〜Ｓ１１２の処理を繰り返す。ステップＳ１０４〜Ｓ１１２の処理は、ステップＳ１１２にて比較対象の検知パターンとなっていない検知パターンが存在しないと判定されるまで繰り返される。
【００７３】
既知パターン学習部１６は、ステップＳ１１２にて比較対象の検知パターンとなっていない検知パターンが存在しないと判定した場合、比較対象の検知パターンと類似する検知パターンが一つもなかったかを判定する（ステップＳ１１４）。既知パターン学習部１６は、比較対象の検知パターンと類似する検知パターンが一つもなかったと判定した場合、検知パターンの検知順序と検知間隔を検知パターン履歴ＤＢ２０に追加し（ステップＳ１１６）、本処理を終了する。既知パターン学習部１６は、比較対象の検知パターンと類似する検知パターンがあったと判定した場合、そのまま本処理を終了する。
【００７４】
［検知処理］
次に、第３実施形態の変形例に係る検知処理について図２６を参照して説明する。図２６は、第３実施形態の変形例に係る検知処理の一例を示すフローチャートである。本処理が開始されると、既知判定部１８は、対象の検知パターンを、検知順序を入れ替えてできるすべての検知順序に変換し、リスト化する（ステップＳ１２０）。次に、既知判定部１８は、変換後の検知パターンのリストから、検知間隔が揺らぎの許容範囲−ｄより小さい値を有する検知パターン削除する（ステップＳ１２２）。次に、既知判定部１８は、変換後の検知パターンのリストから一つの検知パターンを、比較対象の検知パターンとして選択する（ステップＳ１２４）。
【００７５】
次に、既知判定部１８は、比較対象の検知パターンと同じ検知順序が、既知パターンＤＢ１７に存在するかを判定する（ステップＳ１２６）。既知判定部１８は、比較対象の検知パターンと同じ検知順序が、既知パターンＤＢ１７に存在すると判定した場合、検知間隔の差の絶対値がすべて閾値ｄ以下となる検知パターンが存在するかを判定し（ステップＳ１２８）、ステップＳ１３０に進む。
【００７６】
既知判定部１８は、ステップＳ１２６にて比較対象の検知パターンと同じ検知順序が、既知パターンＤＢ１７に存在しないと判定した場合、ステップＳ１３０に進む。また、ステップＳ１０８にて検知間隔の差の絶対値がすべて閾値ｄ以下となる検知パターンが存在しないと判定した場合も同様に、ステップＳ１３０に進む。
【００７７】
既知判定部１８は、ステップＳ１３０にて変換後の検知パターンのリストに比較対象検知パターンとなっていない検知パターンが存在するかを判定する。既知判定部１８は、変換後の検知パターンのリストに比較対象の検知パターンとなっていない検知パターンが存在すると判定した場合、ステップＳ１２４に戻り、ステップＳ１２４〜Ｓ１３０の処理を繰り返す。ステップＳ１２４〜Ｓ１３０の処理は、ステップＳ１３０にてにて比較対象の検知パターンとなっていない検知パターンが存在しないと判定されるまで繰り返される。
【００７８】
既知判定部１８は、ステップＳ１３０にて比較対象の検知パターンとなっていない検知パターンが存在しないと判定した場合、比較対象の検知パターンと類似する検知パターンが一つもなかったかを判定する（ステップＳ１３２）。既知判定部１８は、比較対象の検知パターンと類似する検知パターンがあったと判定した場合、検知パターンは「既知」と判定し（ステップＳ１３４）、本処理を終了する。一方、既知判定部１８は、比較対象の検知パターンと類似する検知パターンが一つもなかったと判定した場合、検知パターンは「未知」と判定し（ステップＳ１３６）、本処理を終了する。
【００７９】
以上、第３実施形態及びその変形例に係る検知装置１０によれば、検知間隔の揺らぎ許容範囲に基づき検知パターンの検知順序及び検知間隔が一致するパターンのみならず、それらが類似するパターンも含めて検知パターンの既知又は未知が判定される。これにより、評価対象データの特徴量の変化点の出現のずれを許容し、既知パターンと「似ている」検知パターンを既知として検知することができる。
【００８０】
第１又は第２実施形態では、既知パターンと一致していない検知パターンは、類似していても未知と判定された。これに対して、第３実施形態及び変形例では、検知パターンの検知変化点の出現の些細なずれを考慮し、既知パターンと「似ている」検知パターンは既知と判定される。これにより、より実効性のある既知パターンの学習及び検知が可能になる。
＜第４実施形態＞
以上に説明した第１〜第３実施形態及び変形例にかかる検知装置１０は、変化点の検知順序、検知間隔及び揺らぎの許容範囲等に基づき、既知パターンの学習及び検知を実行した。これに対して、第４実施形態にかかる検知装置１０は、既知パターンの正常又は異常の学習結果に基づき、既知と判定された検知パターンの正常又は異常を判定する。以下、本実施形態にかかる検知装置１０について説明する。
【００８１】
［検知装置の内部構成］
まず、第４実施形態に係る検知装置１０の構成について、図２７を参照しながら説明する。第４実施形態に係る検知装置１０は、図９に示した第１実施形態の変形例に係る検知装置１０の構成に加えて正常・異常学習部２１、既知パターン学習履歴ＤＢ２２、メッセージ入力部２３、メッセージ判定部２４及び異常メッセージ判定ルールＤＢ２５を有する。
【００８２】
メッセージ入力部２３は、対象システム等のメッセージ及びメッセージの到達時刻又は送信時刻（以下、「メッセージ時刻」ともいう。）を入力する。メッセージ判定部２４は、異常メッセージ判定ルールＤＢ２５に示す異常を示すメッセージの判定基準に基づき、入力メッセージの正常又は異常を判定する。
【００８３】
正常・異常学習部２１は、入力したメッセージ時刻が既知パターン学習履歴ＤＢ２２に記憶した検出時刻２２２から一定期間後までの間の時刻に該当する既知パターン２２１が存在するかを判定する。正常・異常学習部２１は、該当する既知パターン２２１が存在すると判定した場合、既知パターン１７の該当既知パターン１７１に対応する正常又は異常の学習結果１７３にメッセージの判定結果（正常又は異常等）を記憶する。正常・異常学習部２１は、該当既知パターン２２１が既知パターン学習履歴ＤＢ２２に複数存在すると判定した場合、すべての既知パターン１７１に対応する学習結果１７３にそれぞれのメッセージ判定結果を記憶する。
【００８４】
［学習処理］
第４実施形態に係る学習処理について図２８を参照して説明する。図２８は、第４実施形態に係る学習処理の一例を示すフローチャートである。本処理が開始されると、正常・異常学習部２１は、入力メッセージの時刻（メッセージ時刻）と同期間の既知パターンが存在するかを判定する（ステップＳ１４０）。具体的には、正常・異常学習部２１は、入力メッセージの時刻が既知パターン学習履歴ＤＢ２２に記憶した検出時刻２２２から一定期間Ｙ後までの間の時刻に対応する既知パターン２２１が存在するかを判定する。
【００８５】
正常・異常学習部２１は、ステップＳ１４０にて入力メッセージの時刻と同期間の既知パターンが存在すると判定した場合、該当する既知パターンのうち、学習結果が異常でない既知パターン１７１のみ既知パターンＤＢ１７から抽出する（ステップＳ１４２）。
【００８６】
次に、正常・異常学習部２１は、抽出した既知パターン１７１に対応する正常又は異常の学習結果１７３が異常を示すかを判定する（ステップＳ１４４）。正常・異常学習部２１は、抽出した既知パターン１７１に対応する正常又は異常の学習結果１７３が異常を示すと判定した場合、既知パターンＤＢ１７の該当既知パターン１７１に対応する正常又は異常の学習結果１７３に「異常」を記憶する（ステップＳ１４６）。一方、正常・異常学習部２１は、抽出した既知パターン１７１に対応する正常又は異常の学習結果１７３が正常を示すと判定した場合、既知パターンＤＢ１７の該当既知パターン１７１に対応する学習結果１７３に「正常」を記憶する（ステップＳ１４８）。
【００８７】
次に、正常・異常学習部２１は、検出時刻２２２が入力メッセージの時刻よりも古い既知パターンの情報を既知パターン学習履歴ＤＢ２２から削除し（ステップＳ１５０）、本処理を終了する。
【００８８】
また、正常・異常学習部２１は、ステップＳ１４０にて入力メッセージの時刻と同期間の既知パターンが存在しないと判定した場合も同様にステップＳ１５０の処理を実行し、本処理を終了する。これにより、図２９に示すように、メッセージの判定結果から既知パターンが正常か又は異常かが学習され、学習結果が既知パターンＤＢ１７に記憶される。
【００８９】
［検知処理］
次に、第４実施形態に係る検知処理について図３０を参照して説明する。図３０は、第３実施形態に係る検知処理の一例を示すフローチャートである。本処理が開始されると、既知判定部１８は、対象の検知パターンの検知順序と一致する検知順序の既知パターンが既知パターンＤＢ１７に存在するかを探索する（ステップＳ１６０）。既知判定部１８は、検知パターンの検知順序と一致する検知順序の既知パターンが既知パターンＤＢ１７に存在しないと判定した場合、検知パターンが「未知」のパターンであることを通知し（ステップＳ１６２）、本処理を終了する。
【００９０】
一方、既知判定部１８は、検知パターンの検知順序と一致する検知順序の既知パターンが既知パターンＤＢ１７に存在すると判定した場合、既知パターンＤＢ１７の該当既知パターンの学習結果１７３に「正常」が記憶されているかを判定する（ステップＳ１６４）。既知判定部１８は、正常又は異常の学習結果１７３に「異常」が記憶されていると判定した場合、検知パターンが「異常」のパターンであることを通知し（ステップＳ１６６）、本処理を終了する。一方、ステップＳ１６４にて、既知判定部１８は、正常又は異常の学習結果１７３に「正常」が記憶されていると判定した場合、検知パターンが「正常」のパターンであることを通知し（ステップＳ１６８）、本処理を終了する。
【００９１】
これにより、検知パターンが、正常の既知パターンと一致した場合は「正常」、異常の既知パターンと一致した場合は「異常」、一致する既知パターンが無い場合は「未知」と判定できる。
【００９２】
以上に説明したように、第１〜第３実施形態では、対象の検知パターンの既知又は未知が判定されたのに対して、第４実施形態では、対象の検知パターンが既知である場合に正常又は異常の判定が可能となる。これにより、学習フェーズにおいて既知パターンが正常であるか又は異常であるかを学習することで、検知パターンが既知の場合に正常又は異常の情報を利用者に通知することができる。例えば、図３１には、利用者への通知例（出力例）として、検知ＩＤ１２の判定結果が既知（異常）であることを提示する一例が示されている。また、出力例には、既知パターンＤＢ１７の出現状況１７４の情報が提示されてもよい。
＜第５実施形態＞
［検知装置の内部構成］
最後に第５実施形態にかかる検知装置１０について、図３２を参照しながら説明する。第５実施形態にかかる検知装置１０は、図９に示した第１実施形態の変形例に係る検知装置１０の構成に加えて、既知パターン取り込み部２６を有する。既知パターン取り込み部２６は、既知パターンＤＢ２７の情報を外部のサーバ等から取り込む。
【００９３】
既知パターン学習部１６は、取り込んだ既知パターンＤＢ２７に記憶された情報に基づき、検知パターンの既知又は未知、既知の場合の正常又は異常を学習する。また、既知判定部１８は、取り込んだ既知パターンに基づき、検知パターンの既知又は未知、既知の場合の正常又は異常を判定する。既知判定部１８は、検知パターンの正常又は異常に関して既に既知パターンＤＢ１７に保持している既知パターンと、取り込んだ既知パターンに矛盾があれば、取り込んだ既知パターンで上書きする。
【００９４】
第５実施形態に係る検知装置１０によれば外部のサーバ等から既知パターンを取り込み、取り込んだ既知パターンにより検知パターンの学習及び検出が可能になる。また、取り込んだ既知パターンにより既知パターンＤＢ１７を更新することができる。これにより、外部から取り込んだ既知パターンを考慮して、検知パターンの学習、既知又は未知の判定を行うことができる。
【００９５】
（ハードウェア構成例）
最後に、本実施形態に係る検知装置１０のハードウェア構成について、図３３を参照して説明する。図３３は、本実施形態に係る検知装置１０のハードウェア構成の一例を示す。検知装置１０は、入力装置１０１、表示装置１０２、外部Ｉ／Ｆ１０３、ＲＡＭ（Random Access Memory）１０４、ＲＯＭ（Read Only Memory）１０５、ＣＰＵ（Central Processing Unit）１０６、通信Ｉ／Ｆ１０７、及びＨＤＤ（Hard Disk Drive）１０８などを備え、それぞれがバスＢで相互に接続されている。
【００９６】
入力装置１０１は、キーボードやマウスなどを含み、検知装置１０に各操作信号を入力するために用いられる。表示装置１０２は、ディスプレイなどを含み、各種の処理結果を表示する。通信Ｉ／Ｆ１０７は、検知装置１０をネットワークに接続するインタフェースである。これにより、検知装置１０は、通信Ｉ／Ｆ１０７を介して、他の機器（例えば、既知パターンＤＢ２６を保存する装置等）とデータ通信を行うことができる。
【００９７】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、検知装置１０の全体を制御する基本ソフトウェア及びアプリケーションソフトウェアがある。例えば、ＨＤＤ１０８には、各種のデータベースやプログラム等が格納されてもよい。
【００９８】
外部Ｉ／Ｆ１０３は、外部装置とのインタフェースである。外部装置には、記録媒体１０３ａなどがある。これにより、検知装置１０は、外部Ｉ／Ｆ１０３を介して記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１０３ａには、ＣＤ（Compact Disk）、及びＤＶＤ（Digital Versatile Disk）、ならびに、ＳＤメモリカード（SD Memory card）やＵＳＢメモリ（Universal Serial Bus memory）等がある。
【００９９】
ＲＯＭ１０５は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５には、ネットワーク設定等のプログラム及びデータが格納されている。ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。ＣＰＵ１０６は、上記記憶装置（例えば「ＨＤＤ１０８」や「ＲＯＭ１０５」など）から、プログラムやデータをＲＡＭ１０４上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する演算装置である。
【０１００】
かかる構成により、本実施形態に係る検知装置１０では、ＣＰＵ１０６が、ＲＯＭ１０５やＨＤＤ１０８内に格納されたデータ及びプログラムを用いて学習処理及び検知処理を実行する。なお、変化点履歴ＤＢ１５、既知パターンＤＢ１７、検知パターン履歴ＤＢ２０及び既知パターン学習履歴ＤＢ２２に記憶された情報は、ＲＡＭ１０４、ＨＤＤ１０８、又はネットワークを介して検知装置１０に接続されるクラウド上のサーバ等に格納され得る。
【０１０１】
以上、検知プログラム、検知方法及び検知装置を上記実施形態により説明したが、本発明にかかる検知プログラム、検知方法及び検知装置は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。また、上記実施形態及び変形例が複数存在する場合、矛盾しない範囲で組み合わせることができる。
【０１０２】
以上の説明に関し、更に以下の項を開示する。
（付記１）
評価対象の時系列データについて、単位時間の幅が異なる複数の粒度で変化点を検出する複数の変化点検出処理を実行し、
検出された各変化点が、順に、前記複数の変化点検出処理のうち、どの変化点検出処理に対応するかを示す第１の検知パターンを記憶部に記憶し、
新たな評価対象の時系列データについて、前記異なる複数の粒度で変化点を検出し、
前記新たな時系列データについて、検出された各変化点が、順に、前記複数の変化点検出処理のうち、どの変化点検出処理に対応するかを示す第２の検知パターンが、前記記憶部に記憶された第１の検知パターンと一致するか否かに応じて、異なる出力を行う、
処理をコンピュータに実行させるための検知プログラム。
（付記２）
評価対象の時系列データについて、前記第１の検知パターンが出現する頻度に基づき、該第１の検知パターンを前記記憶部に記憶するか否かを決定する、、
付記１に記載の検知プログラム。
（付記３）
前記第１の検知パターン及び前記第２の検知パターンは、前記検出された各変化点の検知間隔情報を含み、
前記第１の検知パターン及び前記第２の検知パターンの検知間隔情報に基づき、前記第２の検知パターンに含まれる検知間隔が前記記憶部に記憶された第１の検知パターンに含まれる検知間隔と一致するか否かに応じて、異なる出力を行う、
付記１又は２に記載の検知プログラム。
（付記４）
前記第１の検知パターンは、前記検知間隔のずれの許容範囲を示すずれ許容範囲情報を含み、
前記第１の検知パターンのずれ許容範囲情報に基づき、前記第２の検知パターンに含まれる検知間隔が前記記憶部に記憶された第１の検知パターンの前記検知間隔からのずれの許容範囲内にあるか否かに応じて、異なる出力を行う、
付記３に記載の検知プログラム。
（付記５）
前記第１の検知パターンは、前記検知間隔のずれの許容範囲を示すずれ許容範囲情報を含み、
前記第１の検知パターンのずれ許容範囲情報に基づき、前記第２の検知パターンが示す検知順序が、前記記憶部に記憶された第１の検知パターンが示す検知順序から変更可能な検知順序に一致し、かつ、前記第２の検知パターンの検知間隔が、前記検知順序を変更後の第１の検知パターンの検知間隔のずれの許容範囲内にあるか否かに応じて、異なる出力を行う、
付記３に記載の検知プログラム。
（付記６）
前記記憶部に記憶された第１の検知パターンは、該第１の検知パターンの出現が正常又は異常を示す情報を含み、
前記第１の検知パターンの出現が正常又は異常を示す情報に基づき、前記第２の検知パターンが、前記記憶部に記憶された第１の検知パターンと一致するか否かに応じて、該第２の検知パターンの正常又は異常の出力を行う、
付記１〜５のいずれか一項に記載の検知プログラム。
（付記７）
評価対象の時系列データについて、単位時間の幅が異なる複数の粒度で変化点を検出する複数の変化点検出処理を実行し、
検出された各変化点が、順に、前記複数の変化点検出処理のうち、どの変化点検出処理に対応するかを示す検知順序情報を含む第１の検知パターンを記憶部に記憶し、
新たな評価対象の時系列データについて、前記異なる複数の粒度で変化点を検出し、
前記新たな時系列データについて、検出された各変化点が、順に、前記複数の変化点検出処理のうち、どの変化点検出処理に対応するかを示す検知順序情報を含む第２の検知パターンが、前記記憶部に記憶された第１の検知パターンと一致するか否かに応じて、異なる出力を行う、
処理をコンピュータが実行する検知方法。
（付記８）
評価対象の時系列データについて、前記第１の検知パターンが出現する頻度に基づき、該第１の検知パターンを前記記憶部に記憶するか否かを決定する、
付記７に記載の検知方法。
（付記９）
前記第１の検知パターン及び前記第２の検知パターンは、前記検出された各変化点の検知間隔情報を含み、
前記第１の検知パターン及び前記第２の検知パターンの検知間隔情報に基づき、前記第２の検知パターンに含まれる検知間隔が前記記憶部に記憶された第１の検知パターンに含まれる検知間隔と一致するか否かに応じて、異なる出力を行う、
付記７又は８に記載の検知方法。
（付記１０）
前記第１の検知パターンは、前記検知間隔のずれの許容範囲を示すずれ許容範囲情報を含み、
前記第１の検知パターンのずれ許容範囲情報に基づき、前記第２の検知パターンに含まれる検知間隔が前記記憶部に記憶された第１の検知パターンの前記検知間隔からのずれの許容範囲内にあるか否かに応じて、異なる出力を行う、
付記９に記載の検知方法。
（付記１１）
前記第１の検知パターンは、前記検知間隔のずれの許容範囲を示すずれ許容範囲情報を含み、
前記第１の検知パターンのずれ許容範囲情報に基づき、前記第２の検知パターンが示す検知順序が、前記記憶部に記憶された第１の検知パターンが示す検知順序から変更可能な検知順序に一致し、かつ、前記第２の検知パターンの検知間隔が、前記検知順序を変更後の第１の検知パターンの検知間隔のずれの許容範囲内にあるか否かに応じて、異なる出力を行う、
付記９に記載の検知方法。
（付記１２）
前記記憶部に記憶された第１の検知パターンは、該第１の検知パターンの出現が正常又は異常を示す情報を含み、
前記第１の検知パターンの出現が正常又は異常を示す情報に基づき、前記第２の検知パターンが、前記記憶部に記憶された第１の検知パターンと一致するか否かに応じて、該第２の検知パターンの正常又は異常の出力を行う、
付記７〜１１のいずれか一項に記載の検知方法。
（付記１３）
評価対象の時系列データについて、単位時間の幅が異なる複数の粒度で変化点を検出する複数の変化点検出処理を実行する変化点検知部と、
検出された各変化点が、順に、前記複数の変化点検出処理のうち、どの変化点検出処理に対応するかを示す検知順序情報を含む第１の検知パターンを記憶部に記憶する学習部と、
新たな評価対象の時系列データについて、前記異なる複数の粒度で変化点を検出し、前記検出された各変化点が、順に、前記複数の変化点検出処理のうち、どの変化点検出処理に対応するかを示す検知順序情報を含む第２の検知パターンが、前記記憶部に記憶された第１の検知パターンと一致するか否かを判定する判定部と、
前記一致するか否かの判定に応じて、異なる出力を行う出力部と、
を有する検知装置。
（付記１４）
前記学習部は、評価対象の時系列データについて、前記第１の検知パターンが出現する頻度に基づき、該第１の検知パターンを前記記憶部に記憶するか否かを決定する、
付記１３に記載の検知装置。
（付記１５）
前記第１の検知パターン及び前記第２の検知パターンは、前記検出された各変化点の検知間隔情報を含み、
前記判定部は、前記第１の検知パターン及び前記第２の検知パターンの検知間隔情報に基づき、前記第２の検知パターンに含まれる検知間隔が前記記憶部に記憶された第１の検知パターンに含まれる検知間隔と一致するか否かを判定し、
前記出力部は、前記一致するか否かの判定に応じて、異なる出力を行う、
付記１３又は１４に記載の検知装置。
（付記１６）
前記第１の検知パターンは、前記検知間隔のずれの許容範囲を示すずれ許容範囲情報を含み、
前記判定部は、前記第１の検知パターンのずれ許容範囲情報に基づき、前記第２の検知パターンに含まれる検知間隔が前記記憶部に記憶された第１の検知パターンの前記検知間隔からのずれの許容範囲内にあるか否かを判定し、
前記出力部は、前記一致するか否かの判定に応じて、異なる出力を行う、
付記１５に記載の検知装置。
（付記１７）
前記第１の検知パターンは、前記検知間隔のずれの許容範囲を示すずれ許容範囲情報を含み、
前記判定部は、前記第１の検知パターンのずれ許容範囲情報に基づき、前記第２の検知パターンが示す検知順序が、前記記憶部に記憶された第１の検知パターンが示す検知順序から変更可能な検知順序に一致し、かつ、前記第２の検知パターンの検知間隔が、前記検知順序を変更後の第１の検知パターンの検知間隔のずれの許容範囲内にあるか否かを判定し、
前記出力部は、前記一致するか否かの判定に応じて、異なる出力を行う、
付記１５に記載の検知装置。
（付記１８）
前記記憶部に記憶された第１の検知パターンは、該第１の検知パターンの出現が正常又は異常を示す情報を含み、
前記判定部は、前記第１の検知パターンの出現が正常又は異常を示す情報に基づき、前記第２の検知パターンが、前記記憶部に記憶された第１の検知パターンと一致するか否かを判定し、
前記出力部は、前記一致するか否かの判定に応じて、該第２の検知パターンの正常又は異常の出力を行う、
付記１３〜１７のいずれか一項に記載の検知装置。
【符号の説明】
【０１０３】
１０：検知装置
１１：データ入力部
１２：特徴量算出部
１３：変化点検知部
１４：検知パターン検出部
１５：変化点履歴ＤＢ
１６：既知パターン学習部
１７：既知パターンＤＢ
１８：既知判定部
１９：出力部
２０：検知パターン履歴ＤＢ
２１：正常・異常学習部
２２：既知パターン学習履歴ＤＢ
２３：メッセージ入力部
２４：メッセージ判定部
２５：異常メッセージ判定ルールＤＢ
２６：既知パターン取り込み部
１５１：検知ＩＤ
１５２：検知時間
１７１：既知パターン
１７１ａ：検知順序
１７１ｂ：検知間隔
１７１ｃ：揺らぎの許容範囲
１７２：検知ＩＤ
１７３：正常又は異常の学習結果
１７４：出現状況
２０１：検知パターン
２０２：出現頻度
２０３：類似パターンの出現範囲
ｐｈ１：共通フェーズ
ｐｈ２：学習フェーズ
ｐｈ３：検知フェーズ
【図１】
0006467989.tif 000002
【図２】
0006467989.tif 000003
【図３】
0006467989.tif 000004
【図４】
0006467989.tif 000005
【図５】
0006467989.tif 000006
【図６】
0006467989.tif 000007
【図７】
0006467989.tif 000008
【図８】
0006467989.tif 000009
【図９】
0006467989.tif 000010
【図１０】
0006467989.tif 000011
【図１１】
0006467989.tif 000012
【図１２】
0006467989.tif 000013
【図１３】
0006467989.tif 000014
【図１４】
0006467989.tif 000015
【図１５】
0006467989.tif 000016
【図１６】
0006467989.tif 000017
【図１７】
0006467989.tif 000018
【図１８】
0006467989.tif 000019
【図１９】
0006467989.tif 000020
【図２０】
0006467989.tif 000021
【図２１】
0006467989.tif 000022
【図２２】
0006467989.tif 000023
【図２３】
0006467989.tif 000024
【図２４】
0006467989.tif 000025
【図２５】
0006467989.tif 000026
【図２６】
0006467989.tif 000027
【図２７】
0006467989.tif 000028
【図２８】
0006467989.tif 000029
【図２９】
0006467989.tif 000030
【図３０】
0006467989.tif 000031
【図３１】
0006467989.tif 000032
【図３２】
0006467989.tif 000033
【図３３】
0006467989.tif 000034