WO2018142694A1 - 特徴量生成装置、特徴量生成方法及びプログラム - Google Patents

特徴量生成装置、特徴量生成方法及びプログラム Download PDF

Info

Publication number
WO2018142694A1
WO2018142694A1 PCT/JP2017/039336 JP2017039336W WO2018142694A1 WO 2018142694 A1 WO2018142694 A1 WO 2018142694A1 JP 2017039336 W JP2017039336 W JP 2017039336W WO 2018142694 A1 WO2018142694 A1 WO 2018142694A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
data
numerical vector
text data
numeric
Prior art date
Application number
PCT/JP2017/039336
Other languages
English (en)
French (fr)
Inventor
泰弘 池田
中野 雄介
敬志郎 渡辺
石橋 圭介
川原 亮一
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to JP2018565935A priority Critical patent/JP6858798B2/ja
Priority to US16/480,024 priority patent/US11829868B2/en
Publication of WO2018142694A1 publication Critical patent/WO2018142694A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Definitions

  • the present invention relates to a feature value generation device, a feature value generation method, and a program.
  • observation data includes non-numeric text data such as a log message (for example, a syslog message) in each host.
  • non-numeric text data is not suitable for anomaly detection, and a device for converting it into a numeric vector for anomaly detection is required.
  • the present invention has been made in view of the above points, and when non-numeric text data is included in data collected from an abnormality detection target, it is a feature for detecting an abnormality from non-numeric text data.
  • the purpose is to generate quantities.
  • the feature value generation apparatus digitizes non-numeric text data collected at a plurality of timings from an abnormality detection target, and uses the feature value according to the digitized data as an element.
  • a generating unit that generates a numerical vector; a learning unit that learns the numerical vector in a learning period; and outputs a learning result; and for each numerical vector generated by the generating unit in a test period, A detection unit that detects an abnormality based on the learning result.
  • the non-numeric text data is included in the data collected from the anomaly detection target, it is possible to generate feature quantities for anomaly detection from the non-numeric text data.
  • FIG. 1 is a diagram illustrating an example of a system configuration in the first embodiment.
  • a network N1 is a network that is an abnormality detection target.
  • the network N1 is configured by connecting a plurality of nodes such as routers and server devices to each other, and packets are transmitted and received between arbitrary nodes in order to provide a predetermined service.
  • Measuring devices 20 are arranged at a plurality of locations in the network N1.
  • the measuring device 20 collects observation data obtained by monitoring the arrangement location at a plurality of timings.
  • An example of collected observation data includes non-numeric text data such as a syslog message.
  • Syslog is a standard for the measurement device 20 to transfer log messages over the network.
  • the log message transferred by the syslog includes “time, message, host” and the like.
  • the time is the time when the message is output, and is referred to as “time stamp” in the following description.
  • the message is the content of the message output from the measuring device 20, and is non-numeric text data.
  • the host is an identifier for identifying the measuring device 20 that has output the message.
  • the observation data collected by the measurement device 20 is collected by the abnormality detection device 10.
  • the abnormality detection device 10 learns the characteristics at the normal time from the collected observation data, and detects the occurrence of abnormality in the observation data input thereafter based on the learning result (determines whether there is an abnormality). It is a computer. Note that a process in which normal feature learning is performed is referred to as “learning process”, and a period in which the learning process is performed is referred to as “learning period”. A process in which an abnormality is detected based on a result learned in the learning process is referred to as a “test process”, and a period during which the test process is performed is referred to as a “test period”.
  • FIG. 2 is a diagram illustrating a hardware configuration example of the abnormality detection apparatus 10 according to the first embodiment. 2 includes a drive device 100, an auxiliary storage device 102, a memory device 103, a CPU 104, an interface device 105, and the like, which are mutually connected by a bus B.
  • a program that realizes processing in the abnormality detection apparatus 10 is provided by a recording medium 101 such as a CD-ROM.
  • the recording medium 101 storing the program is set in the drive device 100, the program is installed from the recording medium 101 to the auxiliary storage device 102 via the drive device 100.
  • the program need not be installed from the recording medium 101 and may be downloaded from another computer via a network.
  • the auxiliary storage device 102 stores the installed program and also stores necessary files and data.
  • the memory device 103 reads the program from the auxiliary storage device 102 and stores it when there is an instruction to start the program.
  • the CPU 104 executes functions related to the abnormality detection device 10 according to a program stored in the memory device 103.
  • the interface device 105 is used as an interface for connecting to a network.
  • FIG. 3 is a diagram illustrating a functional configuration example of the abnormality detection apparatus 10 according to the first embodiment.
  • the abnormality detection device 10 includes a reception unit 11, a learning process control unit 12, a preprocessing unit 13, a learning unit 14, a detection process control unit 15, a detection unit 16, and the like. Each of these units is realized by processing that one or more programs installed in the abnormality detection apparatus 10 cause the CPU 104 to execute.
  • the abnormality detection apparatus 10 also uses a teacher data storage unit 121, a parameter storage unit 122, an observation data storage unit 123, a learning result storage unit 124, a learning data storage unit 125, a dictionary data storage unit 126, and the like.
  • Each of these storage units can be realized using, for example, a storage device that can be connected to the auxiliary storage device 102 or the abnormality detection device 10 via a network.
  • observation data that has been confirmed to have been collected in advance at normal times is stored as teacher data.
  • the teacher data may be artificially created instead of being selected from the observation data.
  • the receiving unit 11 receives observation data from the measuring device 20.
  • the received observation data is stored in the observation data storage unit 123.
  • the learning process control unit 12 controls the learning process.
  • the pre-processing unit 13 performs pre-processing on the teacher data set, the observation data set, or the learning data set stored in the learning data storage unit 125.
  • Pre-processing is processing such as extraction of feature amounts per unit time from a data set and normalization of extracted feature amounts.
  • the feature amount is expressed in the form of a numerical vector.
  • Non-numeric text data is converted into a numerical vector by ID or the like, and a feature amount is extracted.
  • a dictionary stored in advance in the dictionary data storage unit 126 for digitizing text data may be used.
  • a teacher data group stored in the teacher data storage unit 121 is a target for preprocessing.
  • the observation data group is subjected to preprocessing. Furthermore, when the detection of the abnormality by the detection unit 16 is started and it is determined that the detection data is normal and the observation data stored in the learning data storage unit 125 as learning data reaches a predetermined number, the learning data group is subjected to preprocessing. It may be said.
  • the pre-processing unit 13 also generates or normalizes parameters for normalizing observation data or learning data (hereinafter referred to as “normalization parameters”) when performing pre-processing on the teacher data group or learning data group.
  • the updated normalization parameter is stored in the parameter storage unit 122.
  • the preprocessing unit 13 stores the ID assigned to the message in the parameter storage unit 122.
  • the learning unit 14 performs learning based on teacher data or learning data.
  • the learning result by the learning unit 14 is stored in the learning result storage unit 124.
  • the detection process control unit 15 controls the detection process.
  • the detection unit 16 uses a numerical vector generated when the observation data stored in the observation data storage unit 123 is preprocessed by the preprocessing unit 13 and a learning result stored in the learning result storage unit 124. The occurrence of abnormality is detected based on this. Specifically, the detection unit 16 detects the occurrence of an abnormality by calculating a difference from the learning result as a degree of abnormality for the preprocessed numerical vector and comparing the degree of abnormality with a threshold value. The value before normalization of the numerical vector in which no abnormality is detected may be stored in the learning data storage unit 125 as learning data.
  • FIG. 4 is a flowchart for explaining an example of the processing procedure of the learning process in the first embodiment.
  • the learning process control unit 12 acquires a teacher data group from the teacher data storage unit 121, and inputs the teacher data group to the preprocessing unit 13 (S101).
  • the preprocessing unit 13 divides the input teacher data group into sets for each unit time (S102).
  • the teacher data storage unit 121 stores teacher data for a unit time ⁇ U period (learning period). Therefore, the teacher data group is divided into U sets.
  • the preprocessing unit 13 extracts a feature quantity according to the purpose for each divided set, and generates a multidimensional numerical vector having the extracted feature quantity as an element of each dimension.
  • the preprocessing unit 13 extracts the feature amount every minute.
  • the teacher data is a syslog message
  • Time stamp text 12:00: I have a pen 12:00:03 I have an apple ...
  • the pre-processing unit 13 digitizes the text data by assigning an ID corresponding to each text to the text ltrain_1, ltrain_2, ...
  • the teacher data to which the ID is assigned takes the format having the attributes of “time stamp” and “ID” as follows.
  • 0 is an ID given to “I have a pen”
  • 1 is an ID given to “I have an apple”.
  • a technique for assigning IDs to texts a technique that can assign the same ID to texts of the same content without giving prior knowledge of the texts by giving a set of texts can be considered (for example, non- (See Patent Document 3).
  • time series data takes the following format: .
  • all IDs assigned here are stored in the parameter storage unit 122.
  • the preprocessing unit 13 calculates the maximum value xmax_i of each metric i (number of occurrences of each IDi) in each numerical vector, and stores the calculated xmax_i in the parameter storage unit 122 (S105). That is, in the first embodiment, the maximum value xmax_i of each metric i is a normalization parameter.
  • the preprocessing unit 13 normalizes each numerical vector based on the normalization parameter (S106). Normalization is performed by dividing the value of the metric i of each numerical vector by the maximum value xmax_i. Accordingly, the time-series data of the normalized numerical vector takes the following format. Time ID_0 ID_1 ID_2 12:00 0.66 0.33 0 12:01 0.33 0.66 1 12:02 0 1 1 ... 12:59 1 0 0.33 Subsequently, the learning unit 14 learns the numerical vector using a learning device (S107). The learning result is stored in the learning result storage unit 124.
  • FIG. 5 is a flowchart for explaining an example of the processing procedure of the detection processing in the first embodiment.
  • the processing procedure in FIG. 5 may be started any time after step S107 in FIG. 4 has been executed at least once. That is, the processing procedure of FIG. 5 is executed in parallel with the processing procedure of FIG.
  • step S201 the detection processing control unit 15 waits for the unit time to elapse.
  • the unit time is the same length as the unit time in the description of FIG. During this standby, the observation data collected in real time and received by the receiving unit 11 is stored in the observation data storage unit 123.
  • the detection processing control unit 15 acquires the observation data group for the latest unit time from the observation data storage unit 123, and inputs the observation data group to the preprocessing unit 13 ( S202).
  • the preprocessing unit 13 normalizes the generated numerical vector based on the maximum value xmax_i stored in the parameter storage unit 122 (S205). That is, each metric i of the numeric vector is divided by the maximum value xmax_i.
  • the detection unit 16 executes an abnormality determination process (S206).
  • an abnormality determination process whether or not there is an abnormality in the network N1 is determined based on the normalized numerical vector and the latest learning result stored in the learning result storage unit 124.
  • the detection processing control unit 15 may store the numerical vector before normalization of the numerical vector in the learning data storage unit 125 as learning data.
  • the numerical vector before normalization of the numerical vector is not stored in the learning data storage unit 125. Therefore, the learning data storage unit 125 stores only normal numerical vectors.
  • the learning unit 14 generates a learning device using the teacher data.
  • an auto encoder Non-Patent Document 1 that performs abnormality detection by learning correlation between numerical vector metrics, principal component analysis, or the like can be used.
  • the principal component analysis is detailed in, for example, “Ringberg, Haakon, et al.” Sensitivity of PCA for traffic anomaly detection. ”ACM SIGMETRICS Performance Evaluation Review 35.1 (2007): 109-120.
  • an auto encoder is used as a learning device will be described.
  • FIG. 6 is a diagram for explaining the auto encoder.
  • the auto encoder is an anomaly detection algorithm based on deep learning.
  • the auto encoder utilizes the fact that the input data at normal time has a correlation between metrics and can be compressed to a low dimension. Since the correlation between the input data is lost at the time of abnormality, the compression is not performed correctly, and the difference between the input data and the output data becomes large.
  • the learning device (auto encoder) generated by the learning unit 14 performs learning so that the output layer (Layer L 3 ) is close to the input layer (Layer L 1 ). Specifically, the learning unit 14 duplicates the numerical vector, applies one to the input layer, applies the other to the output layer, performs learning, and outputs a learning result.
  • the learning result is stored in the learning result storage unit 124.
  • the learning result is a parameter group for the learning device. Since learning devices are generated for each data type, learning results are also output for each data type and stored in the learning result storage unit 124.
  • the detection unit 16 also generates a learning device in the same manner as the learning unit 14.
  • a method corresponding to the learning device generated by the learning unit 14 in the auto encoder, the principal component analysis, or the like can be used as in the learning device generated by the learning unit 14.
  • the detection unit 16 generates a learning device based on the learning result stored in the learning result storage unit 124. That is, the learning device generated by the detection unit 16 is the same as the learning device generated by the learning unit 14 when the learning result is output.
  • the detection unit 16 calculates the distance between the input data and the output data for the learning device (an index indicating the degree of collapse of the correlation between metrics) as the degree of abnormality.
  • a mean square error (MSE: Mean Squared Error) that is a distance between the input layer and the output layer of the auto encoder is calculated as the degree of abnormality.
  • MSE Mean Squared Error
  • the MSE of the number of appearances of the message is obtained.
  • the detection unit 16 calculates the average of the obtained MSEs as the final abnormality degree, and determines that the abnormality is abnormal when the final abnormality degree exceeds a predetermined threshold. Otherwise, the detection unit 16 determines that it is normal.
  • a feature amount for performing abnormality detection is generated from non-numeric text data. Therefore, even when non-numeric text data is included in the teacher data and the observation data, abnormality detection can be performed.
  • the total number M of IDs is not set as the number of dimensions, but the number M + K obtained by adding a predetermined number of IDs K to the total number M of IDs is set as the number of dimensions. .
  • all the M + 1 to M + K elements are set to 0.
  • the dimension of “ID_ *” is added as follows, and the elements are all 0. Time ID_0 ID_1 ID_2 ID_ * 12:00 2 1 0 0 12:01 1 2 3 0 12:02 0 3 3 0 ... 12:59 3 0 1 0
  • ID_ * when an ID that is not given to the teacher data appears in the observation data, it is expressed by the element “ID_ *”.
  • an expression method there are a method in which the number of appearances of IDs not assigned to teacher data is used as an element, and a method in which 1 is set when there is an ID not assigned to teacher data and 0 is set otherwise. Conceivable. The latter example may be expressed as 1 when the number of appearances of IDs not assigned to the teacher data is 1 or more, and 0 when it is not. Further, in the case of K> 1, when a plurality of unknown IDs appear, they may be classified into K types and represented by M + 1 to M + K dimensions, respectively.
  • the unknown ID that appears nth is expressed in the M + mod (n, K) th dimension
  • the unknown ID that appears first is expressed in the M + 1th dimension and appears second.
  • the unknown ID is expressed in the (M + 2) th dimension
  • the unknown ID that appears in the Kth is expressed in the (M + K) th dimension
  • the unknown ID that appears in the (K + 1) th dimension is in the (M + 1) th dimension. It is expressed as, and ...
  • the same effect as in the first embodiment can be obtained. Further, even if an ID that does not appear in the teacher data appears in the observation data, it can be expressed in the dimensions of M + 1 to M + K, so that an abnormality can be detected even for an unknown log.
  • an ID is not assigned to the text but an ID is given to a word in the text.
  • a dictionary representing the correspondence between words and IDs is used.
  • a method of storing the dictionary in the dictionary data storage unit 126 in advance or generating it based on teacher data can be considered.
  • the pre-processing unit 13 When generating based on teacher data, assuming that IDs are assigned in the order of appearance in text, in the example of teacher data in the first embodiment, ⁇ 0: I, 1: have, 2: a, 3: Dictionary is generated like pen, 4: an, 5: apple,.
  • the pre-processing unit 13 generates teacher data having a format having attributes of “time stamp” and “appearance ID” as described below. Time stamp occurrence ID 12:00: ⁇ 0, 1, 2, 3 ⁇ 12:00:03 ⁇ 0, 1, 4, 5 ⁇ ... All IDs assigned here (here, ⁇ 0, 1, 2, 3, 4, 5 ⁇ ) are stored in the parameter storage unit 122.
  • step S104 of FIG. 4 the preprocessing unit 13 uses a numerical vector time series based on the teacher data as described above, with the total number N of IDs as the number of dimensions and the feature amount according to the number of appearances of each ID as an element. Generate data.
  • a method of numerical vectorization a method is conceivable in which the total number N of assigned IDs is taken as a dimension, 1 is set when a corresponding ID appears, and 0 is set otherwise. That is, 1 is set when the number of appearances of ID is 1 or more, and 0 is set otherwise.
  • Timestamp numeric vector 12 00: 0 ⁇ 1,1,1,1,0,0 ⁇ 12:00:03 ⁇ 1,1,0,0,1,1 ⁇ ...
  • a method in which the number of appearances is used as an element value is also conceivable.
  • the numerical vector of the word is set to 2.
  • the preprocessing unit 13 generates time-series data of numerical vectors for each unit time based on the above data.
  • a method of consolidating numerical vectors for each time stamp into numerical vectors per unit time for example, a method of taking the center of gravity can be considered.
  • step S203 of FIG. 5 an ID is assigned to a word in the text of the observation data.
  • step S204 of FIG. 5 when all IDs assigned to the teacher data stored in the parameter storage unit 122 are referred to and IDs not assigned to the teacher data appear as words in the observation data, the number of appearances is calculated. Don't count, ignore the word. For this reason, in the example using six IDs ID_0 to ID_5, a six-dimensional numerical vector is generated.
  • the total number N of IDs is not set as the number of dimensions, but a number N + K obtained by adding a predetermined number of IDs K to the total number N of IDs is set as the number of dimensions. .
  • all the N + 1 to N + Kth elements are set to 0.
  • the (N + 1) th element is set to 0 as follows. Time Numerical vector 12:00 ⁇ 1, 1, 0.5, 0.5, 0.5, 0.5, 0 ⁇
  • N + 1 to N + Kth elements there are a method in which the number of appearances of IDs not assigned to teacher data is used as an element, and a method in which 1 is set when there is an ID not assigned to teacher data and 0 is set otherwise. Conceivable. The latter example may be expressed as 1 when the number of appearances of IDs not assigned to the teacher data is 1 or more, and 0 when it is not. Further, in the case of K> 1, when a plurality of unknown IDs appear, they may be classified into K types and represented by M + 1 to M + K dimensions, respectively.
  • the unknown ID that appears nth is expressed in the M + mod (n, K) th dimension
  • the unknown ID that appears first is expressed in the M + 1th dimension and appears second.
  • the unknown ID is expressed in the (M + 2) th dimension
  • the unknown ID that appears in the Kth is expressed in the (M + K) th dimension
  • the unknown ID that appears in the (K + 1) th dimension is in the (M + 1) th dimension. It is expressed as, and ...
  • the same effect as in the third embodiment can be obtained. Further, even if an ID that did not appear in the teacher data appears in the observation data, it can be expressed in the dimensions of N + 1 to N + K, so that an abnormality can be detected even for a log in which an unknown word appears.
  • step S103 of FIG. 4 instead of assigning an ID to a word in the text, the text is converted into a numerical vector based on the numerical vector representation of the word.
  • a method for assigning a numerical vector to a word a method using word2vec is conceivable (see Non-Patent Document 4).
  • a vector of dimension N is assigned to words such as ⁇ cat ⁇ 0.3, 0.2, 0.5 ⁇ , dog ⁇ 0.1, 0.4, 0.2 ⁇ ,.
  • a dictionary is used, it is conceivable that the dictionary is stored in the dictionary data storage unit 126 in advance or generated based on teacher data.
  • the preprocessing unit 13 converts the text into a numerical vector based on numerical vector representations of a plurality of words prepared in advance. As a result, data having “time stamp” and “numerical vector” as elements is generated.
  • the pre-processing part 13 synthesize
  • various methods such as a method of simply summing vectors, a method of summing weights, a method of taking the product of elements, and the like can be considered (see Non-Patent Document 5). .
  • step S203 of FIG. 5 the text of the observation data is converted into a numerical vector.
  • step S204 in FIG. 5 when a word that does not exist in the dictionary appears in the observation data, the word is ignored.
  • each of the above embodiments may be applied to data collected from other than the network.
  • the above-described embodiments may be applied to data collected from a computer system.
  • the abnormality detection device 10 is an example of a feature amount generation device.
  • the preprocessing unit 13 is an example of a generation unit.

Abstract

特徴量生成装置は、異常の検知対象から複数のタイミングで収集される非数値のテキストデータを数値化し、当該数値化されたデータに応じた特徴量を要素とする数値ベクトルを生成する生成部と、学習期間において、前記数値ベクトルを学習し、学習結果を出力する学習部と、テスト期間において、前記生成部によって生成された数値ベクトルごとに、当該数値ベクトルと、前記学習結果とに基づいて異常を検知する検知部とを有する。

Description

特徴量生成装置、特徴量生成方法及びプログラム
 本発明は、特徴量生成装置、特徴量生成方法及びプログラムに関する。
 コンピュータシステムのリアルタイムな異常検知の方法として、システム上の様々なデータを定期的に観測し、データが正常時と異なる傾向を示した場合に「異常」として検知するアルゴリズムが考えられる。
 例えば、予め正常時として定義された「学習期間」のデータが教師データとして用いられて学習され、異常検知を行う「テスト期間」においては、観測されたテストデータの傾向と、学習した教師データの傾向との比較が行われる異常検知アルゴリズムが考えられる。
 異常検知アルゴリズムとしては様々な手法が提案されているが、その多くにおいて入力されるデータは正規化された数値ベクトルで表現されることが望まれる(例えば、非特許文献1、非特許文献2参照)。
櫻田 麻由,矢入 健久,"オートエンコーダを用いた次元削減による宇宙機の異常検知", 人工知能学会全国大会論文集 28, 1-3, 2014 Banerjee, Amit, Philippe Burlina, and Chris Diehl. "A support vector method for anomaly detection in hyperspectral imagery." IEEE Transactions on Geoscience and Remote Sensing 44.8 (2006): 2282. Kimura, Tatsuaki, et al. "Proactive failure detection learning generation patterns of large-scale network logs." Network and Service Management (CNSM), 2015 11th International Conference on. IEEE, 2015. Mikolov, Tomas, et al. "Efficient estimation of word representations in vector space." arXiv preprint arXiv:1301.3781 (2013). Mitchell, Jeff, and Mirella Lapata. "Composition in distributional models of semantics." Cognitive science 34.8 (2010): 1388-1429.
 ネットワークにおける観測データに基づいて異常検知を行う場合、観測データには各ホストにおけるログメッセージ(例えば、syslogのメッセージ)のような非数値のテキストデータが含まれることが考えられる。しかし、このような非数値のテキストデータは異常検知を行うのに適しておらず、異常検知のための数値ベクトルへと変換するための工夫が必要である。
 本発明は、上記の点に鑑みてなされたものであって、非数値のテキストデータが異常の検知対象から収集されるデータに含まれる場合に、非数値のテキストデータから異常検知のための特徴量の生成を行うことを目的とする。
 そこで上記課題を解決するため、特徴量生成装置は、異常の検知対象から複数のタイミングで収集される非数値のテキストデータを数値化し、当該数値化されたデータに応じた特徴量を要素とする数値ベクトルを生成する生成部と、学習期間において、前記数値ベクトルを学習し、学習結果を出力する学習部と、テスト期間において、前記生成部によって生成された数値ベクトルごとに、当該数値ベクトルと、前記学習結果とに基づいて異常を検知する検知部とを有する。
 非数値のテキストデータが異常の検知対象から収集されるデータに含まれる場合に、非数値のテキストデータから異常検知のための特徴量の生成を行うことができる。
第1の実施の形態におけるシステム構成例を示す図である。 第1の実施の形態における異常検知装置10のハードウェア構成例を示す図である。 第1の実施の形態における異常検知装置10の機能構成例を示す図である。 第1の実施の形態における学習処理の処理手順の一例を説明するためのフローチャートである。 第1の実施の形態における検知処理の処理手順の一例を説明するためのフローチャートである。 オートエンコーダを説明するための図である。
 以下、図面に基づいて本発明の実施の形態を説明する。図1は、第1の実施の形態におけるシステム構成例を示す図である。図1において、ネットワークN1は、異常の検知対象とされるネットワークである。ネットワークN1は、ルータやサーバ装置等の複数のノードが相互に接続されることによって構成され、所定のサービスを提供するために任意のノード間においてパケットの送受信が行われる。
 ネットワークN1の複数箇所には測定装置20が配置されている。測定装置20は、配置箇所を監視することで得られる観測データを複数のタイミングで採取する。収集される観測データの一例として、syslogのメッセージのような非数値のテキストデータ等が挙げられる。
 syslogは、測定装置20がログメッセージをネットワーク上で転送するための規格である。syslogで転送されるログメッセージは、「時刻、メッセージ、ホスト」等を含む。時刻は、メッセージが出力された時刻であり、以下の説明では「タイムスタンプ」と呼ばれる。メッセージは測定装置20が出力したメッセージの内容であり、非数値のテキストデータである。ホストは、メッセージを出力した測定装置20を識別するための識別子である。
 測定装置20によって採取された観測データは、異常検知装置10によって収集される。異常検知装置10は、収集された観測データから、正常時の特徴を学習し、学習結果に基づいて、その後に入力される観測データについて、異常の発生を検知する(異常の有無を判定する)コンピュータである。なお、正常時の特徴の学習が行われる処理を「学習処理」といい、学習処理が行われる期間を「学習期間」という。学習処理において学習された結果に基づいて異常の検知が行われる処理を「テスト処理」といい、テスト処理が行われる期間を「テスト期間」という。
 図2は、第1の実施の形態における異常検知装置10のハードウェア構成例を示す図である。図2の異常検知装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
 異常検知装置10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
 メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って異常検知装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
 図3は、第1の実施の形態における異常検知装置10の機能構成例を示す図である。図3において、異常検知装置10は、受信部11、学習処理制御部12、前処理部13、学習部14、検知処理制御部15及び検知部16等を有する。これら各部は、異常検知装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。異常検知装置10は、また、教師データ記憶部121、パラメータ記憶部122、観測データ記憶部123、学習結果記憶部124、学習データ記憶部125及び辞書データ記憶部126等を利用する。これら各記憶部は、例えば、補助記憶装置102、又は異常検知装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
 教師データ記憶部121には、予め正常時に収集されたことが確認されている観測データが教師データとして記憶されている。但し、教師データは、観測データから選別されるのではなく、人為的に作成されてもよい。
 受信部11は、測定装置20から観測データを受信する。受信された観測データは、観測データ記憶部123に記憶される。
 学習処理制御部12は、学習処理を制御する。
 前処理部13は、教師データの集合、観測データの集合、又は学習データ記憶部125に記憶されている学習データの集合について前処理を実行する。前処理とは、データ集合からの単位時間ごとの特徴量の抽出や、抽出された特徴量の正規化等の処理である。特徴量は、数値ベクトルの形式で表現される。非数値のテキストデータは、ID等によって数値ベクトル化され、特徴量が抽出される。数値ベクトル化には、辞書データ記憶部126に予め記憶された、テキストデータを数値化するための辞書が利用されてもよい。なお、学習期間には、教師データ記憶部121に記憶されている教師データ群が前処理の対象とされる。テスト期間において、受信部11によって観測データの受信が開始されると、観測データ群が前処理の対象とされる。更に、検知部16による異常の検知が開始され、正常であると判定され、学習データとして学習データ記憶部125に記憶された観測データが所定数に達すると、当該学習データ群が前処理の対象とされてもよい。
 前処理部13は、また、教師データ群又は学習データ群について前処理を実行する際に、観測データ又は学習データを正規化するためのパラメータ(以下、「正規化パラメータ」という。)を生成又は更新し、生成又は更新された正規化パラメータをパラメータ記憶部122に記憶する。また、前処理部13は、メッセージに付与したIDをパラメータ記憶部122に記憶する。
 学習部14は、教師データ又は学習データに基づいて学習を実行する。学習部14による学習結果は、学習結果記憶部124に記憶される。
 検知処理制御部15は、検知処理を制御する。
 検知部16は、観測データ記憶部123に記憶されている観測データが前処理部13によって前処理されることで生成される数値ベクトルと、学習結果記憶部124に記憶されている学習結果とに基づいて異常の発生を検知する。具体的には、検知部16は、前処理された数値ベクトルについて、学習結果との違いを異常度として算出し、当該異常度を閾値と比較することで異常の発生を検知する。異常が検知されなかった数値ベクトルの正規化前の値は、学習データとして学習データ記憶部125に記憶されてもよい。
 以下、異常検知装置10が実行する処理手順について説明する。図4は、第1の実施の形態における学習処理の処理手順の一例を説明するためのフローチャートである。
 学習処理が開始されると、学習処理制御部12は、教師データ記憶部121から教師データ群を取得し、当該教師データ群を前処理部13へ入力する(S101)。
 続いて、前処理部13は、入力された教師データ群を、単位時間ごとの集合に分割する(S102)。なお、教師データ記憶部121には、単位時間×Uの期間(学習期間)分の教師データが記憶されていることとする。したがって、教師データ群は、U個の集合に分割される。
 続いて、前処理部13は、分割された集合ごとに、目的に応じた特徴量を抽出し、抽出された特徴量を各次元の要素とする多次元数値ベクトルを生成する。
 例えば、単位時間が1分で、前処理部13が、1分間ごとの特徴量を抽出するとする。教師データがsyslogのメッセージであるとすると、教師データは、タイムスタンプの付いたテキストデータの集合ltrain_d={wtrain_{d,w}}(d=1,...,D,w=1,...,W_d,D:教師データの数,W_d:d番目のテキスト)として表され、例えば下記のような「タイムスタンプ」と「テキスト」の属性を持ったフォーマットを取る。
タイムスタンプ   テキスト
12:00:00  I have a pen
12:00:03  I have an apple
・・・
 前処理部13は、教師データの各テキストltrain_1,ltrain_2,...ltrain_Dに対して、何らかの方法で各テキストに対応したIDを付与することによってテキストデータを数値化する(S103)。IDが付与された教師データは下記のような「タイムスタンプ」「ID」の属性を持ったフォーマットを取る。
タイムスタンプ   ID
12:00:00  0
12:00:03  1
・・・
ここで、0は「I have a pen」に、1は「I have an apple」に与えられたIDである。テキストに対してIDを付与する方法としては、テキストの集合を与えることで、テキストに対する事前知識を要すること無く、同内容のテキストに同じIDを割り当てることができる技術等が考えられる(例えば、非特許文献3参照)。
 先頭の教師データのフロー開始時刻が12:00:00であるとすると、前処理部13は、全教師データのうち、フロー開始時刻tが11:59:00<=t<12:00:00であるような教師データの集合について、各IDiの出現回数xtrain_{τtrain,i}(τtrain:出現回数の計算対象となる単位時間)を計算する。前処理部13は、IDの総数Mを次元数として各IDの出現回数に応じた特徴量を要素とする数値ベクトルの時系列データを生成する(S104)。例えば、教師データのタイムスタンプが12:59:59までであり、付与されたIDの総数が3であった場合、要素を単純に出現回数とすると、時系列データは下記のようなフォーマットを取る。
時間     ID_0  ID_1  ID_2
12:00  2     1     0
12:01  1     2     3
12:02  0     3     3
・・・
12:59  3     0     1
 なお、ここで付与された全ID(ここでは{0,1,2})については、パラメータ記憶部122に記憶される。
 続いて、前処理部13は、各数値ベクトルにおける各メトリックi(各IDiの出現回数)の最大値xmax_iを算出し、算出したxmax_iをパラメータ記憶部122に記憶する(S105)。すなわち、第1の実施の形態において、各メトリックiの最大値xmax_iが、正規化パラメータである。
 上記の時系列データの場合、これらの数値ベクトルの各メトリックの最大値xmax_iは、{3,3,3}である(すなわち、xmax_1=3,xmax_2=3,xmax_2=3である)。
 続いて、前処理部13は、正規化パラメータに基づいて、各数値ベクトルを正規化する(S106)。正規化は、各数値ベクトルのメトリックiの値が最大値xmax_iによって除されることにより行われる。したがって、正規化された数値ベクトルの時系列データは下記のようなフォーマットを取る。
時間     ID_0  ID_1  ID_2
12:00  0.66  0.33  0
12:01  0.33  0.66  1
12:02  0     1     1
・・・
12:59  1     0     0.33
 続いて、学習部14は、当該数値ベクトルについて学習器を利用して学習する(S107)。学習結果は、学習結果記憶部124に記憶される。
 図5は、第1の実施の形態における検知処理の処理手順の一例を説明するためのフローチャートである。図5の処理手順は、図4のステップS107が少なくとも1回実行された後であれば、いつ開始されてもよい。すなわち、図5の処理手順は、図4の処理手順と並行して実行される。
 ステップS201において、検知処理制御部15は、単位時間の経過を待機する。当該単位時間は、図4の説明における単位時間と同じ時間長である。この待機中に、リアルタイムに収集され、受信部11によって受信された観測データは観測データ記憶部123に記憶される。
 単位時間が経過すると(S201でYes)、検知処理制御部15は、直近の単位時間分の観測データ群を観測データ記憶部123から取得し、当該観測データ群を前処理部13へ入力する(S202)。
 続いて、前処理部13は、当該観測データ群から目的に応じた特徴量を抽出し、抽出された特徴量を各次元の要素とする多次元数値ベクトルを生成する。例えば、前処理部13は、観測データの各テキストltest_t={wtest_{t,w}}(t=1,...,T,w=1,...,W_t,T:異常検知対象となる全時間,W_t:時間tにおけるテキスト)に対して、ステップS103と同様にIDを付与することによって数値化する(S203)。また、前処理部13は、ステップS104と同様に各IDの出現回数を計算する(S204)。このとき、パラメータ記憶部122に記憶されている、教師データに付与された全IDを参照し、教師データに付与されなかったIDが観測データで出現した場合、出現回数をカウントせず、観測データを無視する。そのため、ID_0、ID_1、ID_3の3つのIDを用いる例では、3次元の数値ベクトルが生成される。
 続いて、前処理部13は、生成された数値ベクトルを、パラメータ記憶部122に記憶されている最大値xmax_iに基づいて正規化する(S205)。すなわち、当該数値ベクトルの各メトリックiが、最大値xmax_iによって除算される。
 続いて、検知部16は、異常判定処理を実行する(S206)。異常判定処理では、正規化された数値ベクトルと、学習結果記憶部124に記憶されている最新の学習結果とに基づいて、ネットワークN1について異常の有無が判定される。
 異常が無いと判定された場合、検知処理制御部15は、当該数値ベクトルの正規化前の数値ベクトルを、学習データとして学習データ記憶部125に記憶してもよい。異常が有ると判定された場合、当該数値ベクトルの正規化前の数値ベクトルは、学習データ記憶部125に記憶されない。したがって、学習データ記憶部125には、正常時の数値ベクトルのみが記憶される。
 図4のステップS107において、学習部14は、教師データを用いて学習器を生成する。学習器としては数値ベクトルのメトリック間の相関関係の学習による異常検知を行うオートエンコーダ(非特許文献1)や主成分分析等を用いることができる。主成分分析については、例えば、「Ringberg, Haakon, et al. "Sensitivity of PCA for traffic anomaly detection." ACM SIGMETRICS Performance Evaluation Review 35.1 (2007): 109-120.」に詳しい。本実施の形態では、学習器にオートエンコーダを用いる例について説明する。
 図6は、オートエンコーダを説明するための図である。オートエンコーダは、ディープラーニングによる異常検知アルゴリズムである。オートエンコーダは、正常時の入力データがメトリック間で相関関係を持ち、低次元に圧縮可能であることを利用する。異常時には入力データの相関関係が崩れるため、圧縮が正しく行われず入力データと出力データとの差が大きくなる。
 図6の(1)に示されるように、学習部14が生成する学習器(オートエンコーダ)は、出力層(Layer L)が入力層(Layer L)に近くなるように学習を行う。具体的には、学習部14は、数値ベクトルを2つに複製し、一方を入力層へ当てはめ、他方を出力層に当てはめて学習を行い、学習結果を出力する。学習結果は、学習結果記憶部124に記憶される。学習結果は、学習器に対するパラメータ群である。なお、学習器は、データ種別ごとに生成されるため、学習結果もデータ種別ごとに出力され、学習結果記憶部124に記憶される。
 一方、検知部16も、学習部14と同様に学習器を生成する。当該学習器には、学習部14によって生成される学習器と同様にオートエンコーダ又は主成分分析等のうち、学習部14が生成する学習器に対応する方法を用いることができる。
 図5のステップS206において、検知部16は、学習結果記憶部124に記憶されている学習結果に基づいて、学習器を生成する。すなわち、検知部16によって生成される学習器は、当該学習結果の出力時において学習部14によって生成された学習器と同じである。検知部16は、学習器に対する入力データと出力データとの距離(メトリック間の相関関係の崩れの程度を示す指標)を異常度として計算する。本実施の形態ではオートエンコーダの入力層と出力層との距離である平均二乗誤差(MSE:Mean Squared Error)が異常度として計算される。MSEの計算式は、以下の通りである。
Figure JPOXMLDOC01-appb-M000001
 本実施の形態では、メッセージの出現回数のMSEが得られる。検知部16は、得られたMSEの平均を、最終的な異常度として計算し、最終的な異常度が予め定められた閾値を超えていた場合に異常であると判定する。そうでない場合、検知部16は、正常とであると判定する。
 上述したように、第1の実施の形態によれば、非数値のテキストデータから異常検知を行うための特徴量が生成される。したがって、非数値のテキストデータが教師データ及び観測データに含まれる場合であっても、異常検知を行うことができる。
 次に、第2の実施の形態について説明する。第2の実施の形態では第1の実施の形態と異なる点について説明する。第2の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
 第2の実施の形態では、図4のステップS104において、IDの総数Mを次元数とするのではなく、IDの総数Mに所定数のIDの個数Kを追加した数M+Kを次元数とする。教師データにおいてはM+1~M+K番目の要素を全て0とする。例えば、K=1の場合、第1の実施の形態における時系列データの例では、下記のように「ID_*」の次元を加え、その要素は全て0とする。
時間     ID_0  ID_1  ID_2  ID_*
12:00  2     1     0     0
12:01  1     2     3     0
12:02  0     3     3     0
・・・
12:59  3     0     1     0
 また、図5のステップS204において、教師データに付与されなかったIDが観測データで出現した場合、「ID_*」の要素で表現を行う。表現方法としては、教師データには付与されなかったIDの出現回数を要素とする方法や、教師データには付与されなかったIDが存在した場合に1とし、そうでない場合に0とする方法が考えられる。後者の例は、教師データに付与されなかったIDの出現回数が1以上である場合に1とし、そうでない場合に0とすると表現されてもよい。また、K>1の場合、複数の未知のIDが出現した場合に、それらをK種類に分類して、M+1~M+Kの次元でそれぞれ表現する場合が考えられる。例えば、n番目に出現した未知のIDについては,M+mod(n,K)番目の次元で表現するとした場合、1番目に出現した未知のIDについてはM+1番目の次元で表現し、2番目に出現した未知のIDについてはM+2番目の次元で表現し、・・・、K番目に出現した未知のIDについてはM+K番目の次元で表現し、K+1番目に出現した未知のIDについてはM+1番目の次元で表現し、・・・といったように振り分けられる。
 第2の実施の形態によっても、第1の実施の形態と同様の効果を得ることができる。また、教師データに出現しなかったIDが観測データで出現しても、M+1~M+Kの次元で表現できるため、未知のログに関しても、異常検知を行うことができる。
 次に、第3の実施の形態について説明する。第3の実施の形態では第1の実施の形態と異なる点について説明する。第3の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
 第3の実施の形態では、図4のステップS103において、テキストにIDを付与するのではなく、テキスト内の単語にIDを付与する。ここでは単語とIDの対応関係を表す辞書を用いるが、辞書は予め辞書データ記憶部126に保存しておくか、教師データに基づいて生成する方法が考えられる。教師データに基づいて生成する場合、テキスト内での出現順にIDを付与すると仮定すると、第1の実施の形態における教師データの例では、{0:I, 1:have, 2:a, 3:pen, 4:an, 5:apple,・・・}のように辞書が生成される。前処理部13は、下記のように「タイムスタンプ」「出現ID」の属性を持ったフォーマットを取る教師データを生成する。
タイムスタンプ   出現ID
12:00:00  {0,1,2,3}
12:00:03  {0,1,4,5}
・・・
ここで付与された全ID(ここでは{0,1,2,3,4,5})については、パラメータ記憶部122に記憶される。
 図4のステップS104において、前処理部13は、上記のような教師データに基づいて、IDの総数Nを次元数として各IDの出現回数に応じた特徴量を要素とする数値ベクトルの時系列データを生成する。数値ベクトル化の方法としては、付与されたIDの総数Nを次元とし、対応するIDが出現した場合に1とし、そうでない場合に0とするような方法が考えられる。すなわち、IDの出現回数が1以上である場合に1とし、そうでない場合に0とする。
 例えば、上記の例において、付与されたIDの総数が6である場合、下記のように「タイムスタンプ」「数値ベクトル」を要素とするデータが生成される。
タイムスタンプ   数値ベクトル
12:00:00  {1,1,1,1,0,0}
12:00:03  {1,1,0,0,1,1}
・・・
 また、出現回数を要素の値とする方法も考えられる。例えば、テキスト内に「pen」が2回出現する場合、その単語の数値ベクトルを2とする。前処理部13は、上記のデータに基づいて、単位時間毎の数値ベクトルの時系列データを生成する。タイムスタンプ毎の数値ベクトルを単位時間あたりの数値ベクトルへと集約する方法としては、例えば重心を取る方法等が考えられる。上記の例で、12:00:00~12:00:59までに出現したテキストが上記の2件だけである場合、重心を取ることで下記のような時系列データが生成される。
時間     数値ベクトル
12:00  {1,1,0.5,0.5,0.5,0.5}
 図5のステップS203においても同様に、観測データのテキスト内の単語にIDを付与する。図5のステップS204において、パラメータ記憶部122に記憶されている、教師データに付与された全IDを参照し、教師データに付与されなかったIDが観測データの単語で出現した場合、出現回数をカウントせず、その単語を無視する。そのため、ID_0~ID_5の6個のIDを用いる例では、6次元の数値ベクトルが生成される。
 第3の実施の形態によっても、第1の実施の形態と同様の効果を得ることができる。
 次に、第4の実施の形態について説明する。第4の実施の形態では第3の実施の形態と異なる点について説明する。第4の実施の形態において特に言及されない点については、第3の実施の形態と同様でもよい。
 第4の実施の形態では、図4のステップS104において、IDの総数Nを次元数とするのではなく、IDの総数Nに所定数のIDの個数Kを追加した数N+Kを次元数とする。教師データにおいてはN+1~N+K番目の要素を全て0とする。例えば、K=1の場合、第3の実施の形態における時系列データの例では、下記のようにN+1番目の要素を0とする。
時間     数値ベクトル
12:00  {1,1,0.5,0.5,0.5,0.5,0}
 また、図5のステップS204において、教師データに付与されなかったIDが観測データの単語で出現した場合、N+1~N+K番目の要素で表現を行う。表現方法としては、教師データには付与されなかったIDの出現回数を要素とする方法や、教師データには付与されなかったIDが存在した場合に1とし、そうでない場合に0とする方法が考えられる。後者の例は、教師データに付与されなかったIDの出現回数が1以上である場合に1とし、そうでない場合に0とすると表現されてもよい。また、K>1の場合、複数の未知のIDが出現した場合に、それらをK種類に分類して、M+1~M+Kの次元でそれぞれ表現する場合が考えられる。例えば、n番目に出現した未知のIDについては,M+mod(n,K)番目の次元で表現するとした場合、1番目に出現した未知のIDについてはM+1番目の次元で表現し、2番目に出現した未知のIDについてはM+2番目の次元で表現し、・・・、K番目に出現した未知のIDについてはM+K番目の次元で表現し、K+1番目に出現した未知のIDについてはM+1番目の次元で表現し、・・・といったように振り分けられる。
 第4の実施の形態によっても、第3の実施の形態と同様の効果を得ることができる。また、教師データに出現しなかったIDが観測データで出現しても、N+1~N+Kの次元で表現できるため、未知の単語が出現するログに関しても、異常検知を行うことができる。
 次に、第5の実施の形態について説明する。第5の実施の形態では第3の実施の形態と異なる点について説明する。第5の実施の形態において特に言及されない点については、第3の実施の形態と同様でもよい。
 第5の実施の形態では、図4のステップS103において、テキスト内の単語にIDを付与するのではなく、単語の数値ベクトル表現に基づいてテキストを数値ベクトル化する。単語への数値ベクトルの付与の方法としては、word2vecを用いた方法等が考えられる(非特許文献4参照)。例えば、{cat{0.3,0.2,0.5},dog{0.1,0.4,0.2},・・・}等の単語に対して次元Nのベクトルを付与した辞書を用いるが、辞書は予め辞書データ記憶部126に保存しておくか、教師データに基づいて生成する方法が考えられる。前処理部13は、予め用意された複数の単語の数値ベクトル表現に基づいてテキストの数値ベクトル化する。その結果、「タイムスタンプ」「数値ベクトル」を要素とするデータが生成される。
 図4のステップS104において、前処理部13は、各単語に対応するベクトルを合成して数値ベクトルの時系列データを生成する。各単語に対応するベクトルの合成の方法としては、単純にベクトルの和をとる方法、重み付けの和を取る方法、要素の積を取る方法等、様々な手法が考えられる(非特許文献5参照)。
 図5のステップS203においても同様に、観測データのテキストを数値ベクトル化する。図5のステップS204において、辞書に存在しない単語が観測データで出現した場合、その単語を無視する。
 第5の実施の形態によっても、第3の実施の形態と同様の効果を得ることができる。
 なお、上記各実施の形態は、ネットワーク以外から収集されるデータに関して適用されてもよい。例えば、コンピュータシステムから収集されるデータに関して上記各実施の形態が適用されてもよい。
 なお、上記各実施の形態において、異常検知装置10は、特徴量生成装置の一例である。前処理部13は、生成部の一例である。
 以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
 本国際出願は2017年2月2日に出願した日本国特許出願2017-017921号に基づく優先権を主張するものであり、2017-017921号の全内容を本国際出願に援用する。
10     異常検知装置
11     受信部
12     学習処理制御部
13     前処理部
14     学習部
15     検知処理制御部
16     検知部
20     測定装置
100    ドライブ装置
101    記録媒体
102    補助記憶装置
103    メモリ装置
104    CPU
105    インタフェース装置
121    教師データ記憶部
122    パラメータ記憶部
123    観測データ記憶部
124    学習結果記憶部
125    学習データ記憶部
B      バス
N1     ネットワーク

Claims (8)

  1.  異常の検知対象から複数のタイミングで収集される非数値のテキストデータを数値化し、当該数値化されたデータに応じた特徴量を要素とする数値ベクトルを生成する生成部と、
     学習期間において、前記数値ベクトルを学習し、学習結果を出力する学習部と、
     テスト期間において、前記生成部によって生成された数値ベクトルごとに、当該数値ベクトルと、前記学習結果とに基づいて異常を検知する検知部と、
     を有する特徴量生成装置。
  2.  前記生成部は、前記非数値のテキストデータにIDを付与し、前記学習期間において付与されたIDの総数を次元数として各IDの出現回数に応じた特徴量を要素とする数値ベクトルを生成し、
     前記学習期間において付与されなかったIDが前記テスト期間における非数値のテキストデータで出現した場合、当該非数値のテキストデータを無視する、請求項1に記載の特徴量生成装置。
  3.  前記生成部は、前記非数値のテキストデータにIDを付与し、前記学習期間において付与されたIDの総数に所定数のIDの個数を追加した数を次元数として各IDの出現回数に応じた特徴量を要素とする数値ベクトルを生成し、
     前記学習期間において付与されなかったIDが前記テスト期間における非数値のテキストデータで出現した場合、当該非数値のデータに前記所定数のIDのいずれかを付与して数値ベクトルを生成する、請求項1に記載の特徴量生成装置。
  4.  前記生成部は、前記非数値のテキストデータの単語にIDを付与し、前記学習期間において付与されたIDの総数を次元数として各IDの出現回数に応じた特徴量を要素とする数値ベクトルを生成し、
     前記学習期間において付与されなかったIDが前記テスト期間における非数値のテキストデータの単語で出現した場合、当該単語を無視する、請求項1に記載の特徴量生成装置。
  5.  前記生成部は、前記非数値のテキストデータの単語にIDを付与し、前記学習期間において付与されたIDの総数に所定数のIDの個数を追加した数を次元数として各IDの出現回数に応じた特徴量を要素とする数値ベクトルを生成し、
     前記学習期間において付与されなかったIDが前記テスト期間における非数値のテキストデータの単語で出現した場合、当該単語に前記所定数のIDのいずれかを付与して数値ベクトルを生成する、請求項1に記載の特徴量生成装置。
  6.  前記生成部は、予め用意された複数の単語の数値ベクトル表現に基づいて前記非数値のテキストデータを数値ベクトル化し、各単語に対応するベクトルを合成して数値ベクトルを生成し、
     前記予め用意された複数の単語以外の単語が前記テスト期間において出現した場合、当該単語を無視する、請求項1に記載の特徴量生成装置。
  7.  異常の検知対象から複数のタイミングで収集される非数値のテキストデータを数値化し、当該数値化されたデータに応じた特徴量を要素とする数値ベクトルを生成する生成手順と、
     学習期間において、前記数値ベクトルを学習し、学習結果を出力する学習手順と、
     テスト期間において、前記生成手順において生成された数値ベクトルごとに、当該数値ベクトルと、前記学習結果とに基づいて異常を検知する検知手順と、
     をコンピュータが実行する特徴量生成方法。
  8.  請求項1乃至6いずれか一項記載の各部としてコンピュータを機能させるためのプログラム。
PCT/JP2017/039336 2017-02-02 2017-10-31 特徴量生成装置、特徴量生成方法及びプログラム WO2018142694A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018565935A JP6858798B2 (ja) 2017-02-02 2017-10-31 特徴量生成装置、特徴量生成方法及びプログラム
US16/480,024 US11829868B2 (en) 2017-02-02 2017-10-31 Feature value generation device, feature value generation method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017017921 2017-02-02
JP2017-017921 2017-02-02

Publications (1)

Publication Number Publication Date
WO2018142694A1 true WO2018142694A1 (ja) 2018-08-09

Family

ID=63039493

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/039336 WO2018142694A1 (ja) 2017-02-02 2017-10-31 特徴量生成装置、特徴量生成方法及びプログラム

Country Status (3)

Country Link
US (1) US11829868B2 (ja)
JP (1) JP6858798B2 (ja)
WO (1) WO2018142694A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020052767A (ja) * 2018-09-27 2020-04-02 Kddi株式会社 脆弱性推定装置及び脆弱性推定方法
WO2022195890A1 (ja) * 2021-03-19 2022-09-22 日本電気株式会社 時系列データ処理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004078618A (ja) * 2002-08-19 2004-03-11 Nippon Telegr & Teleph Corp <Ntt> 入力単語候補を推薦する情報検索システム
JP2006285982A (ja) * 2005-03-31 2006-10-19 Microsoft Corp 検索エンジンの関連性を改良するデータマイニング技術
WO2015072085A1 (ja) * 2013-11-12 2015-05-21 日本電気株式会社 ログ分析システム、ログ分析方法、および、記憶媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633819B2 (en) * 1999-04-15 2003-10-14 The Trustees Of Columbia University In The City Of New York Gene discovery through comparisons of networks of structural and functional relationships among known genes and proteins
US20090132506A1 (en) * 2007-11-20 2009-05-21 International Business Machines Corporation Methods and apparatus for integration of visual and natural language query interfaces for context-sensitive data exploration
US20110066379A1 (en) * 2008-05-26 2011-03-17 Mes Marius J survey system for locating geophysical anomalies
JP5568183B2 (ja) * 2011-07-25 2014-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報識別方法、プログラム及びシステム
US10678815B2 (en) * 2012-10-02 2020-06-09 Banjo, Inc. Dynamic event detection system and method
US10887786B2 (en) * 2016-10-25 2021-01-05 Extreme Networks, Inc. Near-uniform load balancing in a visibility network via usage prediction
US10685293B1 (en) * 2017-01-20 2020-06-16 Cybraics, Inc. Methods and systems for analyzing cybersecurity threats
US10890507B2 (en) * 2017-01-25 2021-01-12 Ntn Corporation State monitoring method and state monitoring apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004078618A (ja) * 2002-08-19 2004-03-11 Nippon Telegr & Teleph Corp <Ntt> 入力単語候補を推薦する情報検索システム
JP2006285982A (ja) * 2005-03-31 2006-10-19 Microsoft Corp 検索エンジンの関連性を改良するデータマイニング技術
WO2015072085A1 (ja) * 2013-11-12 2015-05-21 日本電気株式会社 ログ分析システム、ログ分析方法、および、記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020052767A (ja) * 2018-09-27 2020-04-02 Kddi株式会社 脆弱性推定装置及び脆弱性推定方法
WO2022195890A1 (ja) * 2021-03-19 2022-09-22 日本電気株式会社 時系列データ処理方法

Also Published As

Publication number Publication date
JP6858798B2 (ja) 2021-04-14
US20190392317A1 (en) 2019-12-26
US11829868B2 (en) 2023-11-28
JPWO2018142694A1 (ja) 2019-12-12

Similar Documents

Publication Publication Date Title
US10929722B2 (en) Anomaly detection in streaming networks
JP2019061565A (ja) 異常診断方法および異常診断装置
US10679135B2 (en) Periodicity analysis on heterogeneous logs
CN111177095A (zh) 日志分析方法、装置、计算机设备及存储介质
Aydın et al. Combined intelligent methods based on wireless sensor networks for condition monitoring and fault diagnosis
CA2995864A1 (en) Multi-modal, multi-disciplinary feature discovery to detect cyber threats in electric power grid
JP6823501B2 (ja) 異常検知装置、異常検知方法及びプログラム
US20200202057A1 (en) Computational framework for modeling of physical process
US20240071037A1 (en) Mapper component for a neuro-linguistic behavior recognition system
JP6183450B2 (ja) システム分析装置、及び、システム分析方法
JP6564799B2 (ja) 閾値決定装置、閾値決定方法及びプログラム
US20240070388A1 (en) Lexical analyzer for a neuro-linguistic behavior recognition system
CN115013298B (zh) 污水泵的实时性能在线监测系统及其监测方法
JP6183449B2 (ja) システム分析装置、及び、システム分析方法
WO2018142703A1 (ja) 異常要因推定装置、異常要因推定方法及びプログラム
JP2016099863A (ja) 異常値検出装置およびその動作方法
WO2018142694A1 (ja) 特徴量生成装置、特徴量生成方法及びプログラム
WO2016084326A1 (ja) 情報処理システム、情報処理方法、及び、記録媒体
JP2007243459A (ja) トラヒック状態抽出装置及び方法ならびにコンピュータプログラム
Zaitseva et al. Reliability evaluation of multi-state system based on incompletely specified data and structure function
WO2018142704A1 (ja) 特徴量生成装置、特徴量生成方法及びプログラム
JP7276743B2 (ja) 異常操作検知装置、異常操作検知方法、およびプログラム
US10970288B2 (en) Analysis device
Kumar et al. Enhanced-KNN (M-KNN) based outlier detection and sensor data aggregation for large data streams in the IoT-cloud
JP7325557B2 (ja) 異常診断方法および異常診断装置

Legal Events

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

Ref document number: 17894902

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018565935

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17894902

Country of ref document: EP

Kind code of ref document: A1