WO2018186314A1 - 分析装置、分析方法及び分析プログラム - Google Patents

分析装置、分析方法及び分析プログラム Download PDF

Info

Publication number
WO2018186314A1
WO2018186314A1 PCT/JP2018/013937 JP2018013937W WO2018186314A1 WO 2018186314 A1 WO2018186314 A1 WO 2018186314A1 JP 2018013937 W JP2018013937 W JP 2018013937W WO 2018186314 A1 WO2018186314 A1 WO 2018186314A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
pattern
log
importance
value
Prior art date
Application number
PCT/JP2018/013937
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 JP2019511214A priority Critical patent/JP6714152B2/ja
Priority to EP18781016.3A priority patent/EP3591532B1/en
Priority to US16/499,870 priority patent/US11398083B2/en
Publication of WO2018186314A1 publication Critical patent/WO2018186314A1/ja
Priority to US17/846,015 priority patent/US20220327800A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/048Fuzzy inferencing

Definitions

  • the present invention relates to an analysis apparatus, an analysis method, and an analysis program.
  • system monitoring using text logs such as syslog and MIB (Management Information Base) information has been performed for detecting anomalies and analyzing states in server systems and network systems. For example, when a failure occurs in a system, a text log is searched manually with a specific keyword, and a message including the keyword is extracted as a critical message.
  • MIB Management Information Base
  • the conventional system monitoring using text logs has a problem that it is difficult to efficiently analyze a large amount of text logs and obtain useful information. For example, when the type and amount of text logs become enormous as the system configuration becomes larger and more complicated, it is difficult to perform efficient analysis manually. Further, when a critical message is extracted by searching with a specific keyword, useful information included in the message that is not extracted may be overlooked.
  • An analysis apparatus classifies messages included in a text log output from a system for each type, and assigns an ID set for each type to each classified message, and is attached to the message.
  • a creation unit that creates a matrix representing the appearance status of the message for each predetermined time width in the text log for each ID, and the ID created from the matrix created by the creation unit Calculating a degree of importance for each element included in each of the plurality of patterns, a pattern extracting unit that extracts a plurality of patterns that are combinations of the above, a removal unit that removes part or all of the patterns from the matrix, and calculating the importance
  • the degree of importance is determined by the determination unit from the determination unit that determines whether the degree is equal to or greater than a predetermined threshold and the text log.
  • Serial information extraction unit for extracting predetermined information regarding the determined elements to be equal to or greater than a predetermined threshold value, and having a.
  • the analysis method of the present invention is an analysis method executed by an analysis apparatus, classifying messages included in a text log output from a system by type, and an ID set for each type in each classified message And a creation step of creating a matrix representing the appearance status of the message in the text log for each predetermined time width for each ID based on the date and time of occurrence attached to the message, Included in each of the plurality of patterns, a pattern extraction step of extracting a plurality of patterns that are combinations of the IDs from the matrix created by the creation step, a removal step of removing part or all of the patterns from the matrix A determination step for calculating importance for each element to be determined, and determining whether the importance is equal to or greater than a predetermined threshold; From the text log, characterized in that it contains, and information extraction step of extracting predetermined information about an element in which the importance degree is determined to the a predetermined threshold or more by said determination step.
  • FIG. 1 is a diagram illustrating an example of the configuration of the analyzer according to the first embodiment.
  • FIG. 2 is a diagram illustrating an example of a text log according to the first embodiment.
  • FIG. 3 is a diagram illustrating an example of a data configuration of dictionary information according to the first embodiment.
  • FIG. 4 is a diagram for explaining creation of a template according to the first embodiment.
  • FIG. 5 is a diagram illustrating an example of the classified text log according to the first embodiment.
  • FIG. 6 is a diagram illustrating an example of a log matrix according to the first embodiment.
  • FIG. 7 is a diagram illustrating an example of an image obtained by visualizing a text log for one month according to the first embodiment as a log matrix having a time width of one hour.
  • FIG. 1 is a diagram illustrating an example of the configuration of the analyzer according to the first embodiment.
  • FIG. 2 is a diagram illustrating an example of a text log according to the first embodiment.
  • FIG. 3 is a diagram illustrating an example
  • FIG. 8 is a diagram for explaining the decomposition of the log matrix according to the first embodiment.
  • FIG. 9 is a diagram illustrating an example of an image obtained by visualizing the basis matrix according to the first embodiment.
  • FIG. 10 is a diagram illustrating an example of an image obtained by visualizing the weighting matrix according to the first embodiment.
  • FIG. 11 is a diagram for explaining the removal of the high-frequency pattern according to the first embodiment.
  • FIG. 12 is a diagram for explaining the removal of the high-frequency pattern according to the first embodiment.
  • FIG. 13 is a diagram illustrating an example of an image obtained by visualizing the base matrix after removing the high-frequency pattern according to the first embodiment.
  • FIG. 14 is a diagram illustrating an example of an image obtained by visualizing the weighting matrix after removing the high-frequency pattern according to the first embodiment.
  • FIG. 15 is a diagram for explaining text log profiling according to the first embodiment.
  • FIG. 16 is a diagram for explaining extraction of a sequence according to the first embodiment.
  • FIG. 17 is a flowchart showing a flow of processing of the analyzer according to the embodiment.
  • FIG. 18 is a diagram illustrating an example of a data configuration of dictionary information according to another embodiment.
  • FIG. 19 is a diagram illustrating an example of a computer in which an analysis apparatus is realized by executing a program.
  • FIG. 1 is a diagram illustrating an example of the configuration of the analyzer according to the first embodiment.
  • the analysis apparatus 10 includes a communication unit 11, an input unit 12, an output unit 13, a storage unit 14, and a control unit 15.
  • the communication unit 11 performs data communication with other devices via a network.
  • the communication unit 11 is a NIC (Network Interface Card).
  • the input unit 12 receives data input from the user.
  • the input unit 12 is an input device such as a mouse or a keyboard.
  • the output unit 13 outputs data by screen display or the like.
  • the output unit 13 is a display device such as a display, for example.
  • the storage unit 14 is a storage device such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), or an optical disk.
  • the storage unit 14 may be a semiconductor memory capable of rewriting data such as RAM (Random Access Memory), flash memory, NVSRAM (Non Volatile Static Random Access Memory).
  • the storage unit 14 stores an OS (Operating System) executed by the analyzer 10 and various programs. Furthermore, the memory
  • the storage unit 14 stores the text log output from the system as output log information 141.
  • the text log is output from, for example, a server machine, a personal computer, a storage, or the like constituting the computer system.
  • the text log is output from, for example, a router, a firewall, a load balancer, an optical transmission device, an optical transmission repeater, or the like that configures the network system.
  • the output text log may relate to the entire system or may relate to devices constituting the system.
  • the text log may be output in an environment where a computer system or a network system is virtualized.
  • the text log may be output from a plant, a generator, or a machine tool.
  • the text log may be output from passenger equipment such as a passenger car, an airplane, or a train.
  • the text log may be output from a small electronic device such as a home appliance, a mobile phone, or a smartphone.
  • the text log may be output from a living body such as a human being or an animal and a sensor device that measures biological information of the living body.
  • the text log is, for example, an OS system log, an application and database execution log, an error log, an operation log, MIB information obtained from a network device, a monitoring system alert, an action log, an operation state log, and the like.
  • FIG. 2 is a diagram illustrating an example of a text log according to the first embodiment.
  • each record of the text log 51 includes a message and an occurrence date and time attached to the message.
  • the record in the first line of the text log 51 includes the message “LINK-UP Gigabitethernet 0/0/0” and the occurrence date “2016/12 / 01T15: 01: 31”.
  • the message may include additional information such as the host and log level.
  • the storage unit 14 stores data for classifying text log messages as dictionary information 142.
  • FIG. 3 is a diagram illustrating an example of a data configuration of dictionary information according to the first embodiment.
  • the dictionary information 142 includes an ID and a template.
  • the ID is information for identifying the type into which the text log message is classified.
  • the template is a character string used for classification of text log messages. For example, whether or not the message is classified into the type having the ID “601” is determined using the template “LINK-UP Interface *”.
  • the message classification using the dictionary information 142 is performed by the classification unit 151. Specific processing of the classification unit 151 will be described later.
  • the control unit 15 controls the entire analyzer 10.
  • the control unit 15 is, for example, an electronic circuit such as a CPU (Central Processing Unit) or MPU (Micro Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
  • the control unit 15 has an internal memory for storing programs and control data that define various processing procedures, and executes each process using the internal memory.
  • the control unit 15 functions as various processing units when various programs are operated.
  • the control unit 15 includes a classification unit 151, a creation unit 152, a pattern extraction unit 153, a removal unit 154, a determination unit 155, a significant log extraction unit 156, and a sequence extraction unit 157.
  • the classification unit 151 classifies messages included in the text log output from the system for each type, and assigns an ID set for each type to each classified message.
  • each classified message is referred to as a template.
  • the classification unit 151 performs classification using the dictionary information 142.
  • the dictionary information 142 may be created by the classification unit 151.
  • the classification unit 151 can create a template based on a character string obtained by deleting a parameter from a message.
  • a template creation method based on a text log will be described with reference to FIG.
  • FIG. 4 is a diagram for explaining creation of a template according to the first embodiment.
  • the classification unit 151 can regard, for example, a character string represented as “numerical value / numerical value / numerical value” as a parameter, and can use a character string obtained by deleting the parameter from the message as a template.
  • the classification unit 151 uses the message “LINK-UP Interface 1/0/17” or the message “LINK-UP Interface 0/0/0” included in the text log 51 of FIG. Create a template.
  • the classification unit 151 sets an ID for the created template and adds it to the dictionary information 142 of the storage unit 14. At this time, the classification unit 151 may add a wild card such as “*” to the part from which the parameter is deleted.
  • the character string that the classification unit 151 regards as a parameter is not limited to the above example.
  • the classification unit 151 may regard all numerical values as parameters, or may consider a character string representing an address as a parameter. Further, the classification unit 151 may create a new template based on a message that does not match any template when the message is classified.
  • the template of the dictionary information 142 does not need to be created by the classification unit 151, but is created by a user in advance or automatically by a device other than the analysis device 10. It may be a thing.
  • the classification unit 151 performs message classification by determining whether or not the template of the dictionary information 142 matches the message in the text log. At this time, the classification unit 151 determines that the template matches the message when the template completely matches the message or partially matches. Then, the classification unit 151 gives the ID of the template determined to match to the message.
  • the classification unit 151 determines that the template “LINK-UP Gigabitethernet *” matches the message “LINK-UP Gigabitethernet 0/0/0”, and assigns the ID “602” to the message “LINK-UP Gigabitethernet 0/0/0”.
  • the creation of a template and determination of matching with a message are not limited to the above method, and may be performed by a machine learning algorithm such as clustering.
  • the above determination may be performed by a known technique related to log clustering (reference 1: Japanese Patent Laid-Open No. 2015-36891).
  • the classification unit 151 creates a classified text log 52 by classifying messages and assigning IDs.
  • FIG. 5 is a diagram illustrating an example of the classified text log according to the first embodiment.
  • each record of the classified text log 52 includes a message ID and an occurrence date and time.
  • the record in the first line of the classified text log 52 includes an ID “602” given to the message “LINK-UP Gigabitethernet 0/0/0” and an occurrence date “2016/12 / 01T15: 01: 31”.
  • the record in the second line of the classified text log 52 includes an ID “701” given to the message “network_monitor: [INFO]: network monitor detection started.” And an occurrence date “2016/12 / 01T15: 01:53 ".
  • the message “LINK-UP Gigabitethernet 0/0/0” on the first line in FIG. 2 and the message “LINK-UP Gigabitethernet 0/2/5” on the fourth line are different from each other.
  • the classification unit 151 assigns ID “602” to both messages.
  • the creation unit 152 creates a log matrix that is a matrix that represents the appearance status of a message in the text log 51 for each predetermined time width for each ID, based on the occurrence date and time attached to the message.
  • the appearance status may be the appearance frequency for each ID, a value obtained by processing such as taking the logarithm of the appearance frequency, or the presence / absence of occurrence (a value that takes 1 when it appears and 0 when it does not appear). It is not limited to this example. In the following embodiment, an example in which the appearance frequency is used as the appearance situation is shown.
  • the creation unit 152 acquires the date and time of occurrence of the message and the ID used for creating the log matrix from the classified text log 52.
  • FIG. 6 is a diagram illustrating an example of a log matrix according to the first embodiment.
  • Each row of the log matrix corresponds to the ID of the dictionary information 142.
  • Each column of the log matrix corresponds to a predetermined day time of 10 minutes.
  • the upper rows of the log matrix Y shown in FIG. 6 are the 601st to 604th rows, and the lower rows are the 701th to 706th rows, respectively.
  • the element of the p-th row and the q-th column of the log matrix Y is represented as an element (p, q). For example, the value of the element (601, 1) of the log matrix Y is “2”.
  • the 601st row of the log matrix Y corresponds to the ID “601”.
  • the 602nd line of the log matrix Y corresponds to the ID “602”.
  • the 701st row of the log matrix Y corresponds to the ID “701”.
  • the 702th row of the log matrix Y corresponds to the ID “702”.
  • the first column of the log matrix Y corresponds to 10 minutes between 2016/12 / 01T15: 00: 01 and 2016/12 / 01T15: 10: 00.
  • the second column of the log matrix Y corresponds to 10 minutes between 2016/12 / 01T15: 10: 01 and 2016/12 / 01T15: 20: 00.
  • FIG. 5 shows all IDs and occurrence dates and times of messages whose occurrence dates and times are 2016/12 / 01T15: 00: 01 to 2016/12 / 01T15: 10: 00.
  • the line number and ID do not need to match if it is known which ID corresponds to which line.
  • IDs and times do not have to be continuous, and there may be missing IDs and times.
  • the creation unit 152 counts the number of appearances of messages every 10 minutes for each ID and sets the value of each element of the log matrix Y. For example, as shown in FIG. 5, two messages with ID “601” out of messages whose occurrence date is between 2016/12 / 01T15: 00: 01 and 2016/12 / 01T15: 10: 00. It is. Therefore, as illustrated in FIG. 6, the creation unit 152 sets the value of the element (601, 1) of the log matrix Y to “2”. For example, as shown in FIG. 5, among messages whose occurrence date and time is between 2016/12 / 01T15: 00: 01 and 2016/12 / 01T15: 10: 00, the message whose ID is “701” One. Therefore, as illustrated in FIG.
  • the creation unit 152 sets the value of the element (701, 1) of the log matrix Y to “1”. Similarly, the creation unit 152 counts the number of appearances of messages for each ID and each time width, and sets the value of each element of the log matrix Y.
  • FIG. 7 is a diagram illustrating an example of an image obtained by visualizing a text log for one month according to the first embodiment as a log matrix having a time width of one hour.
  • the vertical axis in FIG. 7 represents the ID. Further, the horizontal axis of FIG. 7 represents time. Further, in FIG. 7, an element having a higher message appearance status is expressed in a darker color.
  • the log matrix Y may be created based on a plurality of text logs having different properties.
  • the log matrix Y may be created based on a text log output according to the syslog and a text log output from the OpenStack system. Even in such a case, the output unit 13 can visualize the log matrix Y as one image as shown in FIG.
  • FIG. 7 shows that an ID group based on a periodic process such as a daily process appears in the area 531 of FIG. Similarly, in the area 532, an ID group based on processing that is always executed appears. Moreover, since it is output in the area
  • the pattern extraction unit 153 extracts a combination of IDs as a pattern from the log matrix created by the creation unit 152. Specifically, the pattern extraction unit 153 decomposes the log matrix by non-negative matrix factorization (NMF), a base matrix having a pattern that is a combination of IDs as a column vector, and the pattern for a predetermined time. A weight matrix having a row vector representing how much appears for each width is extracted as a pattern. It is known that the matrix decomposition by NMF has a characteristic that patterns that appear relatively frequently are extracted. In addition, as a method of matrix decomposition, methods such as principal component analysis and independent component analysis can be used, and the method is not limited only to NMF.
  • NMF non-negative matrix factorization
  • Non-negative Principal Component Analysis and Non-negative Independent Component Analysis can be used as the matrix decomposition method.
  • FIG. 8 is a diagram for explaining the decomposition of the log matrix according to the first embodiment.
  • the pattern extraction unit 153 decomposes the log matrix Y into a base matrix H and a weight matrix U using NMF.
  • the pattern extraction unit 153 can perform NMF by the method described in Non-Patent Document 2, for example.
  • the log matrix Y, the base matrix H, and the weight matrix U in the present embodiment correspond to the matrix X, matrix T, and matrix V described in Non-Patent Document 2, respectively.
  • the relationship between the log matrix Y, the basis matrix H, and the weight matrix U can be expressed as in Equation (1), where E is an error matrix.
  • Each row of the base matrix H corresponds to each row of the log matrix Y, that is, ID.
  • Each column of the weight matrix U corresponds to each column of the log matrix Y, that is, the time width.
  • Each column of the base matrix H and each row of the weight matrix U correspond to each pattern that is a combination of IDs.
  • the number of columns of the base matrix H in the present embodiment is 10, and base numbers 1 to 10 are set to ID combinations appearing in the first to tenth columns of the base matrix H.
  • the output unit 13 can output an image obtained by visualizing the base matrix H as shown in FIG.
  • FIG. 9 is a diagram illustrating an example of an image obtained by visualizing the basis matrix according to the first embodiment, and represents a basis matrix obtained by executing NMF on the log matrix of FIG. It can be confirmed from FIG. 9 that the ID groups that always appear in the log matrix as shown in the region 532 of FIG. 7 are included in any pattern of the base numbers 1 to 10.
  • the base number 1 pattern includes the ID group of the region 531 in FIG.
  • the pattern with base number 4 includes the ID group of the region 533.
  • ID groups with many appearances are extracted as a pattern, ID groups with few appearances (failure etc.) like the area
  • the output unit 13 can output an image in which the weight matrix U is visualized as shown in FIG.
  • FIG. 10 is a diagram illustrating an example of an image obtained by visualizing the weight matrix according to the first embodiment, and represents a weight matrix obtained by performing NMF on the log matrix of FIG.
  • the pattern of the base number 1 is a pattern that appears daily, and it has been confirmed from FIG. 9 that this pattern includes an ID group for daily processing. Match.
  • the pattern of base number 4 appears on weekdays because it appears 5 times after a large occurrence after 5 occurrences, and this pattern is an ID related to work on weekdays from FIG. Is consistent with confirming that it contains.
  • the patterns appearing on weekdays correspond to 6 and 9 in addition to the base number 4.
  • the patterns of the base numbers 7, 8, and 10 are always appearing patterns.
  • FIG. 9 also shows that the ID group included in the region 534 of FIG. 7 does not appear and cannot be extracted as a pattern.
  • the removal unit 154 removes the high-frequency pattern from the log matrix.
  • the removal unit 154 includes a product of a base matrix and a significant weight matrix in which values of elements smaller than a predetermined threshold among elements of each pattern of the weight matrix are replaced with 0, and each pattern of the base matrix Any one of a product of a significant basis matrix and a weight matrix in which a value of an element of which is less than a predetermined threshold is replaced with 0, and a product of a significant basis matrix and a significant weight matrix Remove the pattern by subtracting it from the log matrix. If the log matrix element becomes negative during this calculation, it can be replaced with 0 to make it a non-negative value.
  • the removal unit 154 removes the high-frequency pattern from the log matrix using Expression (2).
  • Y is a log matrix
  • H is a base matrix
  • U is a weight matrix
  • E error matrix
  • H freq is a significant base matrix obtained by replacing the values of the rows whose values are smaller than a predetermined threshold with 0 for each column of H.
  • U freq is a significant weight matrix obtained by replacing the value of a column whose value is smaller than a predetermined threshold with 0 for each row of U.
  • Y ′ e1 is a log matrix after frequent pattern removal.
  • H e1 is either H or H freq.
  • U e1 is either U or U freq .
  • H e1 is H freq
  • U freq when H e1 is H, U e1 is U freq
  • U freq when U e1 is U, H e1 is H freq . That is, at least one of the significant basis matrix and the significant weight matrix is included in H e1 U e1 of Expression (2). Accordingly, H e1 U e1 in the expression (2) is represented by any one of H freq U, HU freq , and H freq U freq .
  • the removal unit 154 removes the high-frequency pattern using Expression (3).
  • Y ′ is a log matrix after removing the high frequency pattern, that is, Y ′ e1 .
  • 11 and 12 are diagrams for explaining the removal of the high-frequency pattern according to the first embodiment.
  • the removal unit 154 calculates a product HU freq of a base matrix H and a significant weight matrix U freq with the value of an element not to be removed as 0.
  • the removal unit 154 subtracts the log matrix HU freq for high frequency pattern removal from the log matrix Y as shown in FIG. Thereby, the removal unit 154 obtains the log matrix Y ′ from which the high-frequency pattern is removed.
  • the pattern extraction unit 153 further extracts a high frequency pattern from the log matrix from which the high frequency pattern has been removed by the removal unit 154.
  • the base matrix and the weight matrix extracted by the pattern extraction unit 153 from the log matrix Y ′ are set as H ′ and U ′, respectively.
  • the output unit 13 can output an image obtained by visualizing the base matrix H ′ as shown in FIG.
  • FIG. 13 is a diagram illustrating an example of an image obtained by visualizing the base matrix after removing the high-frequency pattern according to the first embodiment, and the patterns obtained as the FIGS. 9 and 10 from the log matrix of FIG.
  • the base matrix obtained as a result of performing the second pattern extraction using the log matrix from which is removed is represented.
  • IDs 200 to 500 that did not appear in the first time appear in the pattern of base number 8.
  • These IDs are ID groups that appeared only when the system failed for two days.
  • the output unit 13 can output an image in which the weight matrix U ′ is visualized as shown in FIG.
  • FIG. 14 is a diagram illustrating an example of an image obtained by visualizing the weighting matrix after removing the high-frequency pattern according to the first embodiment, and the patterns obtained as the FIGS. 9 and 10 from the log matrix of FIG. Represents a weight matrix obtained as a result of the second pattern extraction using the log matrix from which is removed.
  • the pattern of base number 8 that included the ID group at the time of failure appears in the second day in FIG.
  • the pattern with the base number 5 mainly appears strongly on the 2nd and can be said to be a pattern that may be related to a failure.
  • the removing unit 154 can also remove the high-frequency pattern using the non-significant basis matrix or the non-significant weight matrix.
  • the removal unit 154 includes a product of a base matrix and an insignificant weight matrix in which the value of an element whose value is equal to or greater than a predetermined threshold among the elements of each pattern of the weight matrix and the base matrix Among the elements of each pattern, the product of an insignificant basis matrix and a weight matrix in which the value of an element whose value is equal to or greater than a predetermined threshold is replaced with 0, and the product of an insignificant basis matrix and an insignificant weight matrix Any one of the above is a matrix obtained by removing the pattern from the log matrix. If the log matrix element becomes negative during this calculation, it can be replaced with 0 to make it a non-negative value.
  • the removal unit 154 removes the high-frequency pattern from the log matrix using Expression (4).
  • Y is a log matrix
  • H is a base matrix
  • U is a weight matrix
  • E error matrix
  • H rare is a non-significant basis matrix obtained by replacing the value of a row whose value is equal to or greater than a predetermined threshold with respect to each column of H, that is, a non-significant basis matrix.
  • U rare is a non-significant weight matrix in which the value of a column whose value is equal to or greater than a predetermined threshold is replaced with 0 for each row of U.
  • Y ′ e2 is a log matrix after frequent pattern removal.
  • H e2 is either H or H rare.
  • U e2 is either U or U rare .
  • H e2 is H and it U e2 is U rare
  • U e2 is U and it is H e2 is H rare. That is, at least one of a non-significant base matrix or a non-significant weight matrix is included in H e2 U e2 of Expression (4).
  • H e2 U e2 in the expression (4) is represented by any one of H rare U, HU rare , and H rare U rare .
  • the removal unit 154 may remove a higher frequency pattern from the log matrix Y ′. In that case, the pattern extraction unit 153 extracts a higher frequency pattern from the log matrix from which the higher frequency pattern has been removed by the removal unit 154. Further, the pattern extraction unit 153 and the removal unit 154 may repeat the extraction of the high frequency pattern and the removal of the high frequency pattern until a predetermined condition is satisfied.
  • the determination unit 155 calculates importance for each element included in the high-frequency pattern extracted by the pattern extraction unit 153 from the log matrix, and determines whether the importance is equal to or higher than a predetermined threshold. In addition, the determination unit 155 further calculates the importance level for each element included in the high-frequency pattern further extracted by the pattern extraction unit 153 from the log matrix from which the high-frequency pattern has been removed by the removal unit 154. It may be determined whether or not the importance is equal to or higher than a predetermined threshold.
  • the determination unit 155 calculates importance for each ID among elements included in the high-frequency pattern.
  • an ID corresponding to an element having a large value can be extracted preferentially.
  • IDs included in a plurality of columns may not be appropriate as IDs that characterize each column.
  • the ID may be included in a plurality of columns of the base matrix. This can be easily confirmed from FIG. Even if such an ID is extracted, it is difficult to use it for detecting an abnormality or the like.
  • the determination unit 155 increases the importance of each ID included in the high-frequency pattern so that the higher the value of the element for each ID of the pattern, and the lower the higher the high-frequency pattern including the ID. It is calculated and it is determined whether the importance is equal to or higher than a predetermined threshold.
  • TF-IDF Reference 2: “tf-idf”, [online], Wikipedia, [searched on January 26, 2017], Internet ⁇ URL: https: //en.wikipedia.org/wiki/Tf-idf>).
  • the determination unit 155 can calculate the importance by a method based on TF-IDF. For example, when the base matrix H is the matrix D, the determination unit 155 uses the equations (5-1) to (5-3) to determine the importance tfidf (t, d, D) is calculated.
  • f t, d is the value of the element whose ID in the column d is t.
  • N is the basis number, that is, the number of columns of the basis matrix H.
  • n t is the number of columns in the base matrix H such that the value of the ID element is equal to or greater than a predetermined threshold value in that column.
  • the determination unit 155 may calculate the importance only for a specific ID.
  • the determination unit 155 applies Otsu's method to all element values of each column vector of the base matrix H (reference 3: Nobuyuki Otsu: “A threshold selection method from gray-level historyograms,” Automatica 11.285-296 (1975),
  • the first threshold may be calculated using pp. 23-27), and the importance may be calculated only for an ID whose element value is equal to or greater than the first threshold.
  • the determination unit 155 calculates a second threshold value using the Otsu method for all element values of each row vector based on the appearance frequency of each pattern for each predetermined time width, that is, a weight matrix, You may make it determine whether the appearance frequency for every time width is more than a 2nd threshold value.
  • the determination unit 155 may calculate the importance level for time. That is, when the weight matrix U is the matrix D, the determination unit 155 uses the expressions (5-1) to (5-3) to calculate the importance tfidf (t, d, D) of the time t in the row d of the matrix D. ).
  • ft, d is the value of the element whose time is t in row d.
  • N is the basis number, that is, the number of rows of the weight matrix H.
  • n t is the number of rows in the weight matrix U such that the value of the time element is equal to or greater than a predetermined threshold value in that row.
  • the determination unit 155 may calculate the importance only for a specific time.
  • the determination unit 155 calculates the third threshold value for all elements of each row vector of the weight matrix U using the Otsu method, and calculates the importance only for the time when the element value is equal to or greater than the third threshold value. May be.
  • FIG. 15 is a diagram for explaining text log profiling according to the first embodiment.
  • a determination using the second threshold is performed on the weight matrix, a time width that is equal to or larger than the second threshold is extracted as a main element, and the pattern type is estimated by being associated with external information such as a failure occurrence time. It can be carried out. Thereby, each pattern can be classified into a pre-failure pattern, a post-failure pattern, a regular pattern, an irregular pattern unrelated to the failure, and the like.
  • each message of the ID of the main element (that is, a template of the dictionary information 142) is associated with external information such as a failure content and a failure location, thereby preventing a failure. It can be estimated whether the pattern is related.
  • a pattern classified as a pre-failure pattern from the weight matrix was a failure predictive pattern that represents a failure sign
  • whether a pattern classified as a post-failure pattern was a failure propagation pattern that represents the effect of a failure Determine whether the pattern classified as a pattern is a steady process pattern that represents normal processing, whether the pattern classified as an irregular pattern unrelated to a failure is a construction pattern that indicates that construction has been performed, etc. Can do.
  • the significant log extraction unit 156 and the sequence extraction unit 157 extract predetermined information on the main elements from the classified text log 52.
  • the significant log extraction unit 156 and the sequence extraction unit 157 are examples of the information extraction unit.
  • the significant log extraction unit 156 extracts a record including only the ID that is the main element of the base matrix extracted by the determination unit 155 from the classified text log 52, and generates a significant log. Further, the significant log extraction unit 156 may generate a significant log only for the time corresponding to the time width that is the main element of the weight matrix extracted by the determination unit 155 in addition to the ID that is the main element. The significant log extraction unit 156 may generate a significant log for each pattern. Further, the significant log extraction unit 156 may generate a significant log by converting the occurrence date and time into another time format such as UNIX (registered trademark) time.
  • the sequence extraction unit 157 extracts a specific sequence from the significant log generated by the significant log extraction unit 156 from among the sequences representing the order in which the IDs appear.
  • the sequence extraction unit 157 counts the number of appearances of each ID sequence included in the significant log, and extracts a sequence having a large number of appearances.
  • the extraction of the sequence may be determined using any method such as the sequence having the highest number of appearances, the top k sequences having the highest number of appearances, or the sequence having the number of appearances equal to or greater than the specified number.
  • the sequence extraction unit 157 may extract only a sequence determined to satisfy a predetermined condition among sequences having a large number of appearances.
  • the predetermined condition includes, for example, the sequence length indicating the length of the sequence and the elapsed time from the first ID to the last ID of the sequence, and is not limited thereto.
  • the extraction range may be limited by determining a threshold value in the same manner as the number of appearances.
  • the sequence extraction unit 157 A record including IDs “704”, “705”, and “706” is extracted from the classified text log 52 to generate a significant log. Furthermore, the sequence extraction unit 157 extracts a sequence having a high appearance count from the significant log.
  • the sequence extraction unit 157 uses sequential pattern mining (Reference 4: J.Pei et al. “PrefixSpan: Mining Sequential Patterns Efficiently by Prefix-Projected Pattern Growth,” Proc. Of The 17th Int'l as a method for extracting sequences. Conf. On Data Engineering, pp.215-224 (2001) http://idb.csie.ncku.edu.tw/tsengsm/COURSE/DM/Paper/PrefixSpan.pdf) and episode mining (reference 5: A Achar et al. "Pattern-growth based frequent serial episode discovery," Data and Knowledge Engineering, 87: pp.91-108 (2013)) can be used.
  • FIG. 16 is a diagram for explaining extraction of a sequence according to the first embodiment.
  • a sequence extraction example based on the ID counting method that does not allow duplication is shown.
  • the sequence of messages with IDs “704”, “705”, and “706” is 3! There are 6 streets.
  • the sequence extraction unit 157 counts the number of appearances of each of these sequences. When extracting the sequence having the highest number of appearances, the sequence extraction unit 157 extracts the sequence “705-704-706” having the number of appearances of 10. The user can estimate the cause of failure based on the sequence extracted by the sequence extraction unit 157.
  • FIG. 17 is a flowchart showing a flow of processing of the analyzer according to the embodiment.
  • the classification unit 151 classifies the text log messages for each type and assigns an ID (step S101).
  • the creation unit 152 creates a log matrix based on the occurrence date and time of the text log and the ID assigned by the classification unit 151 (step S102).
  • the pattern extraction unit 153 decomposes the log matrix and extracts a base matrix and a weight matrix (step S103). For example, the pattern extraction unit 153 decomposes the log matrix by NMF, and obtains a base matrix having a pattern that is a combination of IDs as a column vector, and a column vector that represents how much the pattern has appeared for each predetermined time width. Extract weight matrix.
  • the removal unit 154 removes the high-frequency pattern from the log matrix (step S105). For example, the removal unit 154 subtracts, from the log matrix, the product of the base matrix and a significant weight matrix in which the value of each element of the weight matrix whose value is smaller than a predetermined threshold is replaced with 0, so that the high frequency Remove the pattern.
  • the high-frequency pattern is removed by taking the product of the base matrix and an insignificant weight matrix in which the value of an element having a value equal to or greater than a predetermined value among the elements of the weight matrix is replaced with 0. Then, the pattern extraction unit 153 further extracts a pattern (step S103).
  • the determination unit 155 determines the basis matrix or the weight matrix, or both of the matrices.
  • the main element is determined (step S106). For example, for each ID included in the pattern, the determination unit 155 calculates the importance so that the higher the element value of the ID, the higher the value, and the lower the frequency pattern including the ID, the lower the importance. It is determined whether or not the degree is equal to or greater than a predetermined threshold, and main elements of the basis matrix are extracted. Further, the determination unit 155 calculates the second threshold value for each time width included in the pattern using the method of Otsu, and whether the element value for each predetermined time width is equal to or greater than the second threshold value. The main element of the weight matrix is extracted.
  • the significant log extraction unit 156 extracts a record including only an ID that is a main element of the base matrix extracted by the determination unit 155 from the classified text log 52, and generates a significant log.
  • the sequence extraction unit 157 extracts a sequence from the significant log generated by the significant log extraction unit 156 (step S107). For example, for the combination of IDs included in the pattern, the sequence extraction unit 157 extracts, from the ID sequence, a sequence in which the element value, that is, the number of appearances is equal to or greater than a predetermined threshold and satisfies a predetermined condition.
  • the classification unit 151 classifies messages included in the text log output from the system for each type, and assigns an ID set for each type to each classified message. Further, the creation unit 152 creates a matrix that represents the appearance status of the message in the text log for each predetermined time width for each ID based on the occurrence date and time attached to the message.
  • the pattern extraction unit 153 also extracts a plurality of patterns that are combinations of IDs from the matrix created by the creation unit 152.
  • the removing unit 154 removes a part or all of the pattern from the matrix.
  • the determination unit 155 calculates importance for each element included in each of the plurality of patterns, and determines whether the importance is equal to or greater than a predetermined threshold.
  • the significant log extraction unit 156 and the sequence extraction unit 157 extract predetermined information about the main element from the classified text log 52.
  • the analysis apparatus 10 creates a matrix based on the appearance status of a plurality of messages, patterns based on the plurality of messages can be extracted, and monitoring can be performed in consideration of the relationship between the messages. . For this reason, for example, a series of predictive patterns and ripple patterns at the time of failure can be monitored and utilized for preventive maintenance and cause estimation of the failure. Further, by performing monitoring in consideration of the relationship between messages, it is possible to suppress the occurrence of a wolf alert, that is, an alert based on a false detection that an abnormality has occurred when no abnormality has actually occurred.
  • the analysis apparatus 10 since the analysis apparatus 10 according to the present embodiment creates a matrix from the entire collected text log, the information of the entire text log is reflected in the matrix, and for example, useful monitoring that has been overlooked simply by monitoring individual messages. Information can be obtained from a text log.
  • the determination unit 155 can calculate the importance for each ID included in each of the plurality of patterns and determine whether the importance is equal to or greater than a predetermined threshold.
  • the sequence extraction unit 157 extracts a specific sequence from the sequence representing the order in which the IDs determined by the determination unit 155 as having an importance level equal to or higher than a predetermined threshold appear. .
  • extracting the main message sequence it is possible to reduce the calculation amount and processing time for extracting the sequence, and facilitate the analysis based on the message sequence.
  • the classification unit 151 classifies messages included in the text log output from the system for each type, and assigns an ID set for each type to each classified message.
  • the creation unit 152 creates a log matrix that is a matrix that represents the appearance status of the message in the text log for each predetermined time width for each ID based on the occurrence date and time attached to the message.
  • the pattern extraction unit 153 decomposes the log matrix, and a weight matrix having a base matrix having a pattern that is a combination of IDs in a column vector, and a row vector representing how much the pattern has appeared for each predetermined time width And extract.
  • the removing unit 154 removes a part or all of the pattern from the log matrix.
  • the analysis apparatus 10 of the present embodiment extracts a plurality of related messages as patterns, so that it is easy to identify an event that has occurred in the system. Further, by performing pattern removal, a pattern representing an event with a low occurrence frequency such as a system failure can be extracted and utilized for monitoring. For example, the extracted failure predictor pattern can be monitored and utilized for preventive maintenance of a failure, or a spillover pattern when a failure occurs can be identified and utilized for cause estimation. Further, by performing monitoring in consideration of the relationship between messages, it is possible to suppress the occurrence of a wolf alert, that is, an alert based on a false detection that an abnormality has occurred when no abnormality has actually occurred.
  • the analysis apparatus 10 classifies the text log so that it can be compressed into several hundreds or thousands of types that can be recognized by a person with thousands or hundreds of millions of messages. .
  • a matrix is created from the entire collected text log, a huge amount of log information is reflected in one matrix. For example, text that has been overlooked by simply monitoring individual messages, but has not been utilized just by being archived. Useful information can be obtained from the log.
  • the pattern extraction unit 153 may decompose the log matrix by non-negative matrix factorization. As described above, by classifying the text logs and performing calculation, it becomes possible to efficiently analyze a large number of text logs. In addition, by removing the pattern, it is possible to extract a pattern having a low appearance frequency, that is, a pattern that is not extracted due to the presence of a pattern related to steady processing, or a pattern that is buried in an error in the first pattern extraction. Thus, useful information for abnormality detection and the like can be obtained.
  • the removal unit 154 includes a product of a significant weight matrix obtained by replacing a value of an element whose value is smaller than a predetermined threshold among elements of each pattern of the base matrix and the weight matrix with the element of each pattern of the base matrix.
  • One of the product of a significant basis matrix and a weight matrix in which the value of an element whose value is smaller than a predetermined threshold value is replaced with 0, and the product of a significant basis matrix and a significant weight matrix are taken from the log matrix. By subtracting, the pattern can be removed.
  • the removal unit 154 includes a product of a non-significant weight matrix in which the value of an element whose value is equal to or greater than a predetermined threshold among elements of each pattern of the base matrix and the weight matrix, and each pattern of the base matrix One of the product of an insignificant basis matrix and a weight matrix, and the product of an insignificant basis matrix and an insignificant weight matrix in which the value of an element whose value is equal to or greater than a predetermined threshold is replaced with 0
  • One can be a matrix with a pattern removed from the log matrix. As a result, it is possible to remove a pattern having a certain size or more from the influence of the pattern related to the steady process or the like.
  • the pattern extraction unit 153 may extract a higher frequency pattern from the matrix from which the high frequency pattern has been removed by the removal unit 154. As a result, even if the removal of the high-frequency pattern at one time does not remove the influence of the pattern related to the steady process, the influence of the pattern related to the steady process is further removed, and the pattern with a low frequency is extracted. can do.
  • the classification unit 151 classifies messages included in the text log output from the system for each type, and assigns an ID set for each type to each classified message. Further, the creation unit 152 creates a matrix that represents the appearance frequency of the message in the text log for each predetermined time width for each ID based on the occurrence date and time attached to the message. Further, the pattern extraction unit 153 extracts, from the matrix created by the creation unit 152, a combination of IDs in which the appearance frequency of messages in the same time width is equal to or higher than a predetermined height as a high frequency pattern. The removing unit 154 removes the high frequency pattern from the matrix.
  • the determination unit 155 includes, in the text log of the corresponding message, each ID included in the high-frequency pattern further extracted by the pattern extraction unit 153 from the matrix from which the high-frequency pattern has been removed by the removal unit 154. It is determined whether the appearance frequency satisfies a predetermined condition. Further, the sequence extraction unit 157 extracts a specific sequence from the sequence of IDs determined by the determination unit 155 that the appearance frequency in the text log satisfies a predetermined condition.
  • the analysis apparatus 10 of the present embodiment creates a matrix based on the appearance frequency of a plurality of messages, a pattern based on the plurality of messages can be extracted, and monitoring considering the relationship between the messages can be performed. Can do. For this reason, for example, a series of predictive patterns and ripple patterns at the time of failure can be monitored and utilized for preventive maintenance and cause estimation of the failure. Further, by performing monitoring in consideration of the relationship between messages, it is possible to suppress the occurrence of a wolf alert, that is, an alert based on a false detection that an abnormality has occurred when no abnormality has actually occurred.
  • the determination unit 155 calculates the first threshold value using the Otsu method based on the appearance frequency of the message for each ID, and determines the importance level for the ID whose message appearance frequency is equal to or higher than the first threshold value. You may calculate. Thereby, the load for calculating the importance can be reduced.
  • the pattern extraction unit 153 may further extract the appearance frequency for each predetermined time width of the message related to the combination.
  • the determination unit 155 calculates the second threshold value using the Otsu's method based on the appearance frequency for each predetermined time width of the message related to the combination, and the appearance frequency of the message for each predetermined time width. It may be determined whether or not is greater than or equal to the second threshold. As a result, not only analysis based on the content of the message but also analysis based on the date and time of occurrence of the message can be performed.
  • the classification unit 151 classifies messages included in the text log output from the system for each type, and assigns an ID set for each type to each classified message. Further, the creation unit 152 creates a matrix that represents the appearance status of the message in the text log for each predetermined time width for each ID based on the occurrence date and time attached to the message. The pattern extraction unit 153 also extracts a plurality of patterns that are combinations of IDs from the matrix created by the creation unit 152. The determination unit 155 calculates importance for each ID included in each of the plurality of patterns, and determines whether the importance is equal to or greater than a predetermined threshold.
  • the significant log extraction unit 156 generates a significant log in which only the ID determined by the determination unit to be equal to or greater than the predetermined threshold is extracted from the log obtained by replacing each message in the text log with the ID assigned by the classification unit 151. To do.
  • the sequence extraction unit 157 counts the number of appearances of each sequence representing the order in which IDs with high importance appear in the generated significant log, and the number of appearances is equal to or greater than a predetermined threshold. And a sequence satisfying a predetermined condition is extracted.
  • the analysis apparatus 10 creates a matrix based on the appearance frequency of a plurality of messages, a pattern based on the plurality of messages can be extracted, and monitoring can be performed in consideration of the relationship between the messages. . For this reason, for example, a series of predictive patterns and ripple patterns at the time of failure can be monitored and utilized for preventive maintenance and cause estimation of the failure. Further, by performing monitoring in consideration of the relationship between messages, it is possible to suppress the occurrence of a wolf alert, that is, an alert based on a false detection that an abnormality has occurred when no abnormality has actually occurred.
  • the calculation amount and processing time for extracting the sequence can be reduced, and the analysis of the message based on the sequence is easy. Can be.
  • the pattern extraction unit 153 may further extract the degree of appearance of the pattern every predetermined time width.
  • the determination unit 155 calculates the second importance for each predetermined time width of the pattern, and further determines whether or not the second importance is equal to or greater than a predetermined second threshold.
  • the significant log extraction unit 156 generates a significant log in which only the predetermined time width determined by the determination unit 155 as being equal to or greater than the predetermined second threshold is extracted.
  • the matrix decomposition method in the present invention is not limited to the NMF described in the first embodiment.
  • a matrix decomposition method for example, a method targeting a matrix including non-negative values such as principal component analysis or independent component analysis may be used.
  • a second embodiment an example in which matrix decomposition is performed using a technique other than NMF will be described.
  • the removal unit 154 decomposes the log matrix into a base matrix and a weight matrix using a technique such as principal component analysis or independent component analysis.
  • a method for creating a significant basis matrix, a significant weight matrix, an insignificant basis matrix, and an insignificant weight matrix is different from that in the first embodiment.
  • the removal unit 154 sets a significant base matrix by replacing the values of elements whose basis values are smaller than a predetermined threshold among the elements of the base matrix with 0, and sets the values among the elements of the weight matrix as predetermined values. A value obtained by replacing the value of an element smaller than the threshold with 0 was used as a significant weight matrix.
  • the removal unit 154 determines whether or not to replace the value of the element with 0 depending on whether or not the absolute value of the value of the element is larger than the threshold value. That is, the removal unit 154 sets a value obtained by replacing the element value of the base matrix whose element absolute value is smaller than a predetermined threshold with 0 as a significant base matrix, and the absolute value of the element of the weight matrix is predetermined. A value obtained by replacing the element value smaller than the threshold value with 0 is defined as a significant weight matrix.
  • the removal unit 154 uses a positive threshold value when the element value is positive, and sets the element value to 0 using a negative threshold value when the element value is negative. You may make it determine whether it replaces. That is, the removal unit 154 replaces the values of the elements of the base matrix whose elements are positive and whose values are smaller than the positive threshold with those whose values are negative and whose values are larger than the negative threshold. And the value of the elements of the weight matrix whose values are positive and whose values are smaller than the positive threshold and elements whose values are negative and whose values are larger than the negative threshold are 0. The replacement can be a significant weight matrix.
  • the removal unit 154 creates a significant basis matrix and a significant weight matrix by replacing the values of elements whose values cannot be replaced with 0 by replacing them with 0. Create a significance weight matrix.
  • the removal unit 154 sets a value obtained by replacing an element value whose absolute value is equal to or greater than a predetermined threshold among the elements of the base matrix to 0 as an insignificant base matrix, and an absolute value of the value among the elements of the weight matrix
  • An insignificant weight matrix can be obtained by replacing the value of an element whose value is equal to or greater than a predetermined threshold with 0.
  • the removal unit 154 sets the values of the elements of the base matrix whose values are positive and whose values are greater than or equal to the positive threshold to those whose values are negative and whose values are equal to or less than the negative threshold. Is a non-significant basis matrix, and among the elements of the weight matrix, an element whose value is positive and the value is a positive threshold or more, an element whose value is negative and the value is a negative threshold or more, A value obtained by replacing the value of 0 with 0 can be used as an insignificant weight matrix.
  • the analysis apparatus of the present invention can decompose an input matrix having an item index as an item in each row and an instance index as an item in each column into a product of two matrices.
  • the input matrix is not limited to the log matrix created based on the message included in the text log output from the system.
  • the input matrix may be, for example, a purchase log matrix in which the number of items bought by each customer is represented for each product based on a purchase log having purchase information indicating which product each customer bought.
  • the item index of the input matrix is an ID or the like that can identify the product.
  • the instance index of the input matrix is an ID that can identify the customer.
  • the value of the element of the input matrix is product purchase information.
  • the purchase information may be a value obtained by processing such as purchase quantity or logarithm of purchase quantity, or purchase presence / absence (a value that takes 1 at the time of purchase and 0 at the time of non-purchase), but is not limited to this example. Absent. In the following embodiment, an example in which the number of purchases is used as purchase information is shown.
  • the pattern extraction unit 153 extracts a base matrix having a plurality of patterns, which are combinations of item indexes, in a column vector, and a weight matrix having, in each row vector, the weight at the instance index of each pattern.
  • the determination unit 155 calculates importance for each item index included in each of the plurality of patterns, and determines whether the importance is equal to or greater than a predetermined threshold.
  • FIG. 17 is also used to describe the processing flow of the analyzer of the first embodiment, but the analyzer of the third embodiment has the same flow as the analyzer of the first embodiment. In order to perform the processing, the description will be given here with reference to FIG.
  • the classification unit 151 classifies a purchase log having information on which products each customer has purchased for each product, and assigns a product ID (step S101). Then, the creation unit 152 creates a purchase log matrix that represents the number of purchases of each customer for each product, that is, an input matrix, based on the customer log information related to the purchase log and the customer ID assigned by the classification unit 151. (Step S102).
  • the analysis apparatus 10 may or may not create the log matrix shown in steps S101 and S102.
  • the input matrix may be input from the outside.
  • an item index that is an item in each row of the purchase log matrix is a product ID
  • an instance index that is an item in each column is a customer ID.
  • the pattern extraction unit 153 decomposes the purchase log matrix and extracts a base matrix and a weight matrix (step S103). For example, the pattern extraction unit 153 decomposes the purchase log matrix using NMF, and purchases a base matrix representing a pattern that is a combination of product IDs that are purchased by many customers, and a product corresponding to the pattern. A weight matrix representing a combination of customer IDs is extracted as a pattern.
  • the analyzer 10 may or may not remove the high-frequency pattern shown in steps S104 and S105.
  • the analysis apparatus 10 executes step S106 without executing step S105 after executing step S103 (No in step S104).
  • the determination unit 155 determines whether or not each element of the base matrix is a main element (step S106). At this time, the determination unit 155 calculates importance for each product ID included in each of the plurality of patterns, and determines whether the importance is equal to or greater than a predetermined threshold. In the third embodiment, the analysis apparatus 10 may or may not extract the sequence shown in step S107.
  • the determination unit 155 when calculating the importance and determining the main element, as in the first embodiment, calculates the importance based on the TF-IDF and the threshold value by the Otsu method.
  • the calculation methods can be appropriately used individually or in combination.
  • the determination unit 155 uses the element value for each product ID included in the pattern as the importance level, and the threshold value calculated using the Otsu method based on the element value for each product ID included in the pattern as the threshold value. Can be used.
  • the determination unit 155 can calculate the importance of each product included in the pattern so that the higher the element value for each product is, the higher the value is, and the lower the number of patterns including the product is.
  • the determination unit 155 calculates the first threshold value using the Otsu's method for the element values for each product ID of each pattern, that is, all the elements of each column vector of the base matrix, and the element values The importance can be calculated for the product ID whose is greater than or equal to the first threshold.
  • the pattern extraction unit 153 may further extract a customer ID that has purchased a product corresponding to the pattern.
  • the determination unit 155 calculates the second importance for each customer ID of each pattern, that is, all the elements of the row vector of the weight matrix, and the second importance is equal to or greater than a predetermined second threshold. It is further determined whether or not.
  • the determination unit 155 uses the value of the element for each customer ID of the pattern as the second importance, and uses the value of the element for each customer ID included in the pattern as the second threshold.
  • the threshold value calculated using can be used.
  • the determination unit 155 calculates the second importance so that the higher the value of the element for each predetermined customer ID of the pattern is, the higher the value is, and the lower the number of patterns including the predetermined customer ID is. .
  • the determination unit 155 calculates the third threshold value using the Otsu technique based on the element value for each customer ID of each pattern, and the second value for the customer ID whose element value is greater than or equal to the third threshold value. Calculate the importance of.
  • the pattern extraction unit 153 extracts a base matrix having a plurality of patterns, which are combinations of item indexes, in a column vector, and a weight matrix having, in each row vector, a weight in the instance index of each pattern.
  • the determination unit 155 calculates importance for each item index included in each of the plurality of patterns, and determines whether the importance is equal to or greater than a predetermined threshold.
  • the analysis apparatus 10 of this embodiment can extract patterns based on a plurality of products. A group of products likely to be purchased by the same customer can be extracted. For this reason, for example, it is understood that there is a product B as another product that may be purchased by a customer who purchases only the product A among the products A and B that are easily purchased by the same customer. Can be recommended.
  • the effect when the item index of the input matrix is the product ID, the instance index is the customer ID, and the value of each element is the number of purchases will be described.
  • each line item has an item index, Similar effects can be obtained for any input matrix having an instance index as a column item.
  • the determination unit 155 uses the element value for each product ID included in the pattern as the importance level, and uses the threshold value calculated using the Otsu method based on the element value for each product ID included in the pattern as the threshold value. be able to. Thereby, it becomes possible to extract a highly important product.
  • the determination unit 155 calculates the second importance so that the higher the value of the element for each predetermined customer ID of the pattern is, the higher the value is, and the lower the number of patterns including the predetermined customer ID is. . Thereby, a characteristic product can be extracted for each pattern.
  • the determination unit 155 calculates the first threshold value using the Otsu's method for the element values for each product ID of each pattern, that is, all the elements of each column vector of the base matrix, and the element values The importance can be calculated for the product ID whose is greater than or equal to the first threshold. Thereby, the load for calculating the importance can be reduced.
  • the pattern extraction unit 153 may further extract a customer ID that has purchased a product corresponding to the pattern.
  • the determination unit 155 calculates the second importance for each customer ID of each pattern, that is, all the elements of the row vector of the weight matrix, and the second importance is equal to or greater than a predetermined second threshold. It is further determined whether or not. This makes it possible to extract customers with high importance.
  • the determination unit 155 uses the value of the element for each customer ID of the pattern as the second importance, and uses the value of the element for each customer ID included in the pattern as the second threshold.
  • the threshold value calculated using can be used. Thereby, the load for calculating the importance can be reduced.
  • the determination unit 155 calculates the second importance so that the higher the value of the element for each predetermined customer ID of the pattern is, the higher the value is, and the lower the number of patterns including the predetermined customer ID is. . Thereby, a characteristic product can be extracted for each pattern.
  • the determination unit 155 calculates the third threshold value using the Otsu technique based on the element value for each customer ID of each pattern, and the second value for the customer ID whose element value is greater than or equal to the third threshold value. Calculate the importance of. Thereby, the load for calculating the importance can be reduced.
  • the dictionary information 142 created based on the text log 51 is not limited to that shown in FIG.
  • a shorter character string may be used as a template.
  • FIG. 18 is a diagram illustrating an example of a data configuration of dictionary information according to another embodiment. If the analysis target text log includes a message that does not match any template, the analysis apparatus 10 may add the message to the dictionary information 142 as needed.
  • each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated.
  • the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or a part of the distribution / integration is functionally or physically distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.
  • all or a part of each processing function performed in each device may be realized by a CPU and a program that is analyzed and executed by the CPU, or may be realized as hardware by wired logic.
  • the analysis apparatus 10 can be implemented by installing an analysis program for executing the above analysis as package software or online software on a desired computer.
  • the information processing apparatus can be caused to function as the analysis apparatus 10 by causing the information processing apparatus to execute the above analysis program.
  • the information processing apparatus referred to here includes a desktop or notebook personal computer.
  • the information processing apparatus includes mobile communication terminals such as smartphones, mobile phones and PHS (Personal Handyphone System), and slate terminals such as PDA (Personal Digital Assistant).
  • the analysis apparatus 10 can be implemented as an analysis server apparatus that uses a terminal device used by a user as a client and provides the client with a service related to the above analysis.
  • the analysis server device is implemented as a server device that provides an analysis service that receives a text log as an input and outputs an extracted ID.
  • the analysis server device may be implemented as a Web server, or may be implemented as a cloud that provides services related to the above analysis by outsourcing.
  • FIG. 19 is a diagram illustrating an example of a computer in which an analysis apparatus is realized by executing a program.
  • the computer 1000 includes a memory 1010 and a CPU 1020, for example.
  • the computer 1000 also includes a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012.
  • the ROM 1011 stores a boot program such as BIOS (Basic Input Output System).
  • BIOS Basic Input Output System
  • the hard disk drive interface 1030 is connected to the hard disk drive 1090.
  • the disk drive interface 1040 is connected to the disk drive 1100.
  • a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
  • the serial port interface 1050 is connected to a mouse 1110 and a keyboard 1120, for example.
  • the video adapter 1060 is connected to the display 1130, for example.
  • the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, a program that defines each process of the analysis apparatus 10 is implemented as a program module 1093 in which a code executable by a computer is described.
  • the program module 1093 is stored in the hard disk drive 1090, for example.
  • a program module 1093 for executing processing similar to the functional configuration in the analysis apparatus 10 is stored in the hard disk drive 1090.
  • the hard disk drive 1090 may be replaced by an SSD.
  • the setting data used in the processing of the above-described embodiment is stored as program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 and executes them as necessary.
  • the program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). Then, the program module 1093 and the program data 1094 may be read by the CPU 1020 from another computer via the network interface 1070.
  • LAN Local Area Network
  • WAN Wide Area Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Multimedia (AREA)

Abstract

分類部(151)は、テキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する。作成部(152)は、メッセージに付された発生日時に基づいて、所定の時間幅ごとのメッセージのテキストログにおける出現状況を、IDごとに表した行列を作成する。パターン抽出部(153)は、作成部(152)によって作成された行列から、IDの組み合わせであるパターンを複数抽出する。除去部(154)は、行列からパターンの一部又は全部を除去する。判定部(155)は、複数のパターンそれぞれに含まれる要素それぞれについて重要度を計算し、重要度が所定の閾値以上であるか否かを判定する。シーケンス抽出部(157)は、判定部(155)によって、重要度が所定の閾値以上であると判定されたIDのシーケンスから、特定のシーケンスを抽出する。

Description

分析装置、分析方法及び分析プログラム
 本発明は、分析装置、分析方法及び分析プログラムに関する。
 従来、サーバシステムやネットワークシステムにおける異常検知や状態分析のために、syslogやMIB(Management Information Base)情報等のテキストログを用いたシステムの監視が行われている。例えば、システムに障害が発生した際に、人手によって特定のキーワードでテキストログを検索し、当該キーワードを含んだメッセージをクリティカルなメッセージとして抽出することが行われている。
山西健司、「データマイニングによる異常検知」、2009年、共立出版 澤田 宏、「非負値行列因子分解NMFの基礎とデータ/信号解析への応用」、電子情報通信学会誌Vol.95 No.9、pp.829-833、2012年9月 Tatsuaki Kimura, et al. "Spatio-temporal factorization of log data for understanding network events." IEEE INFOCOM 2014-IEEE Conference on Computer Communications. IEEE, 2014.
 しかしながら、従来のテキストログを用いたシステムの監視には、大量のテキストログを効率的に分析し、有用な情報を得ることが困難であるという問題があった。例えば、システム構成の大規模化や複雑化に伴いテキストログの種類及び量が膨大になった場合、人手によって効率的な分析を行うことは困難である。また、特定のキーワードで検索することでクリティカルなメッセージを抽出する場合、抽出されなかったメッセージに含まれる有用な情報が見過ごされることがある。
 本発明の分析装置は、システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する分類部と、前記メッセージに付された発生日時に基づいて、所定の時間幅ごとの前記メッセージの前記テキストログにおける出現状況を、前記IDごとに表した行列を作成する作成部と、前記作成部によって作成された行列から、前記IDの組み合わせであるパターンを複数抽出するパターン抽出部と、前記行列から前記パターンの一部又は全部を除去する除去部と、前記複数のパターンそれぞれに含まれる要素それぞれについて重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定する判定部と、前記テキストログから、前記判定部によって前記重要度が前記所定の閾値以上であると判定された要素に関する所定の情報を抽出する情報抽出部と、を有することを特徴とする。
 本発明の分析方法は、分析装置で実行される分析方法であって、システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する分類工程と、前記メッセージに付された発生日時に基づいて、所定の時間幅ごとの前記メッセージの前記テキストログにおける出現状況を、前記IDごとに表した行列を作成する作成工程と、前記作成工程によって作成された行列から、前記IDの組み合わせであるパターンを複数抽出するパターン抽出工程と、前記行列から前記パターンの一部又は全部を除去する除去工程と、前記複数のパターンそれぞれに含まれる要素それぞれについて重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定する判定工程と、前記テキストログから、前記判定工程によって前記重要度が前記所定の閾値以上であると判定された要素に関する所定の情報を抽出する情報抽出工程と、を含んだことを特徴とする。
 本発明によれば、大量のテキストログを効率的に分析し、有用な情報を得ることができる。
図1は、第1の実施形態に係る分析装置の構成の一例を示す図である。 図2は、第1の実施形態に係るテキストログの一例を示す図である。 図3は、第1の実施形態に係る辞書情報のデータ構成の一例を示す図である。 図4は、第1の実施形態に係るテンプレートの作成について説明するための図である。 図5は、第1の実施形態に係る分類済みテキストログの一例を示す図である。 図6は、第1の実施形態に係るログ行列の一例を示す図である。 図7は、第1の実施形態に係る1ヶ月分のテキストログを、1時間の時間幅のログ行列として可視化した画像の一例を示す図である。 図8は、第1の実施形態に係るログ行列の分解について説明するための図である。 図9は、第1の実施形態に係る基底行列を可視化した画像の一例を示す図である。 図10は、第1の実施形態に係る重み行列を可視化した画像の一例を示す図である。 図11は、第1の実施形態に係る高頻度パターンの除去について説明するための図である。 図12は、第1の実施形態に係る高頻度パターンの除去について説明するための図である。 図13は、第1の実施形態に係る高頻度パターンを除去した後の基底行列を可視化した画像の一例を示す図である。 図14は、第1の実施形態に係る高頻度パターンを除去した後の重み行列を可視化した画像の一例を示す図である。 図15は、第1の実施形態に係るテキストログのプロファイリングについて説明するための図である。 図16は、第1の実施形態に係るシーケンスの抽出について説明するための図である。 図17は、実施形態に係る分析装置の処理の流れを示すフローチャートである。 図18は、その他の実施形態に係る辞書情報のデータ構成の一例を示す図である。 図19は、プログラムが実行されることにより分析装置が実現されるコンピュータの一例を示す図である。
 以下に、本願に係る分析装置、分析方法及び分析プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
[第1の実施形態の構成]
 まず、図1を用いて、第1の実施形態に係る分析装置の構成について説明する。図1は、第1の実施形態に係る分析装置の構成の一例を示す図である。図1に示すように、分析装置10は、通信部11、入力部12、出力部13、記憶部14及び制御部15を有する。
 通信部11は、ネットワークを介して、他の装置との間でデータ通信を行う。例えば、通信部11はNIC(Network Interface Card)である。入力部12は、ユーザからのデータの入力を受け付ける。入力部12は、例えば、マウスやキーボード等の入力装置である。出力部13は、画面の表示等により、データを出力する。出力部13は、例えば、ディスプレイ等の表示装置である。
 記憶部14は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部14は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部14は、分析装置10で実行されるOS(Operating System)や各種プログラムを記憶する。さらに、記憶部14は、プログラムの実行で用いられる各種情報を記憶する。また、記憶部14は、出力ログ情報141及び辞書情報142を記憶する。
 記憶部14は、システムから出力されたテキストログを出力ログ情報141として記憶する。ここで、テキストログは、例えば、計算機システムを構成するサーバマシン、パーソナルコンピュータ、ストレージ等から出力される。また、テキストログは、例えば、ネットワークシステムを構成するルータ、ファイアウォール、ロードバランサ、光伝送装置、光伝送中継器等から出力される。また、出力されるテキストログは、システム全体に関するものであってもよいし、システムを構成する装置に関するものであってもよい。さらに、テキストログは、計算機システムやネットワークシステムが仮想化された環境において出力されたものであってもよい。
 また、テキストログは、プラントや発電機、工作機械から出力されたものであってもよい。また、テキストログは、乗用車、飛行機、電車等の乗用機器から出力されたものであってもよい。また、テキストログは、家電、携帯電話、スマートフォン等の小型電子機器から出力されたものであってもよい。また、テキストログは、人間や動物等の生体及び当該生体の生体情報を測定するセンサ機器から出力されたものであってもよい。
 テキストログは、例えば、OSのシスログ、アプリケーション及びデータベースの実行ログ、エラーログ、操作ログ、ネットワーク機器から得られるMIB情報、監視システムのアラート、行動ログ、動作状態ログ等である。
 図2は、第1の実施形態に係るテキストログの一例を示す図である。図2に示すように、テキストログ51の各レコードは、メッセージとメッセージに付された発生日時とを含む。例えば、テキストログ51の1行目のレコードは、メッセージ「LINK-UP Gigabitethernet 0/0/0」と、発生日時「2016/12/01T15:01:31」とを含む。なお、メッセージには、ホストやログレベルといった付加情報を含んでも構わない。
 記憶部14は、テキストログのメッセージを分類するためのデータを辞書情報142として記憶する。図3は、第1の実施形態に係る辞書情報のデータ構成の一例を示す図である。図3に示すように、辞書情報142は、ID及びテンプレートを含む。IDは、テキストログのメッセージが分類される種別を識別するための情報である。テンプレートは、テキストログのメッセージの分類に用いられる文字列である。例えば、IDが「601」である種別にメッセージが分類されるか否かは、テンプレート「LINK-UP Interface *」を用いて判定される。なお、辞書情報142を用いたメッセージの分類は分類部151によって行われる。分類部151の具体的な処理については後述する。
 制御部15は、分析装置10全体を制御する。制御部15は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部15は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部15は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部15は、分類部151、作成部152、パターン抽出部153、除去部154、判定部155、有意ログ抽出部156及びシーケンス抽出部157を有する。
 分類部151は、システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する。これ以降、分類した各メッセージをテンプレートと表記する。前述の通り、分類部151は、辞書情報142を用いて分類を行う。
 ここで、辞書情報142は、分類部151によって作成されてもよい。例えば、分類部151は、メッセージからパラメータを削除することで得られる文字列を基にテンプレートを作成することができる。ここで、図4を用いて、テキストログに基づいたテンプレートの作成方法について説明する。図4は、第1の実施形態に係るテンプレートの作成について説明するための図である。
 図4に示すように、分類部151は、例えば、「数値/数値/数値」と表される文字列をパラメータとみなし、メッセージからパラメータを削除した文字列をテンプレートとすることができる。この場合、分類部151は、図2のテキストログ51に含まれるメッセージ「LINK-UP Interface 1/0/17」、又はメッセージ「LINK-UP Interface 0/0/0」から、「LINK-UP Interface」というテンプレートを作成する。さらに、分類部151は、作成したテンプレートにIDを設定し、記憶部14の辞書情報142に追加する。このとき、分類部151は、パラメータを削除した部分に「*」等のワイルドカードを追加してもよい。
 なお、分類部151がパラメータとみなす文字列は上記の例に限られない。分類部151は、例えば、全ての数値をパラメータとみなしてもよいし、アドレスを表す文字列をパラメータとみなしてもよい。また、分類部151は、メッセージの分類を行う際に、いずれのテンプレートにも一致しないメッセージが見つかった場合、当該メッセージを基に新たなテンプレートを作成してもよい。
 また、本実施形態において、辞書情報142のテンプレートは、分類部151によって作成されたものである必要はなく、あらかじめユーザにより作成されたものや、分析装置10以外の装置によって自動的に作成されたものであってもよい。
 分類部151は、辞書情報142のテンプレートがテキストログのメッセージに一致するか否かを判定することにより、メッセージの分類を行う。このとき、分類部151は、テンプレートがメッセージに完全一致する場合、又は、部分一致する場合に、テンプレートがメッセージに一致すると判定する。そして、分類部151は、メッセージに対し、一致すると判定されたテンプレートのIDを付与する。
 例えば、図3のIDが「602」であるテンプレート「LINK-UP Gigabitethernet *」が、図2のテキストログ51の1行目のメッセージ「LINK-UP Gigabitethernet 0/0/0」に部分一致するため、分類部151はテンプレート「LINK-UP Gigabitethernet *」がメッセージ「LINK-UP Gigabitethernet 0/0/0」に一致すると判定し、メッセージ「LINK-UP Gigabitethernet 0/0/0」にID「602」を付与する。
 また、例えば、図3のIDが「701」であるテンプレート「network_monitor:[INFO]:network monitor detection started.」が、図2のテキストログ51の2行目のメッセージ「network_monitor:[INFO]:network monitor detection started.」に完全一致するため、分類部151はテンプレート「network_monitor:[INFO]:network monitor detection started.」がメッセージ「network_monitor:[INFO]:network monitor detection started.」に一致すると判定し、メッセージ「network_monitor:[INFO]:network monitor detection started.」にID「701」を付与する。
 テンプレートの作成やメッセージとの一致の判定は、上記の方法に限定するものではなく、クラスタリング等の機械学習アルゴリズムによって行われてもよい。例えば、上記の判定は、ログのクラスタリングに関する既知の手法(参考文献1:特開2015-36891号公報)によって行われてもよい。
 分類部151は、メッセージの分類及びIDの付与を行うことで、分類済みテキストログ52を作成する。図5は、第1の実施形態に係る分類済みテキストログの一例を示す図である。図5に示すように、分類済みテキストログ52の各レコードは、メッセージのID及び発生日時を含む。例えば、分類済みテキストログ52の1行目のレコードは、メッセージ「LINK-UP Gigabitethernet 0/0/0」に付与されたID「602」と、発生日時「2016/12/01T15:01:31」とを含む。また、例えば、分類済みテキストログ52の2行目のレコードは、メッセージ「network_monitor:[INFO]:network monitor detection started.」に付与されたID「701」と、発生日時「2016/12/01T15:01:53」とを含む。
 また、図2の1行目のメッセージ「LINK-UP Gigabitethernet 0/0/0」と、4行目のメッセージ「LINK-UP Gigabitethernet 0/2/5」とは互いに異なるが、いずれもテンプレート「LINK-UP Gigabitethernet *」と一致するため、分類部151は、両方のメッセージにID「602」を付与する。
 作成部152は、メッセージに付された発生日時に基づいて、所定の時間幅ごとのテキストログ51におけるメッセージの出現状況を、IDごとに表した行列であるログ行列を作成する。出現状況は、具体的にはIDごとの出現頻度や、出現頻度の対数を取る等の加工をした値、又は出現有無(出現時に1、非出現時に0を取る値)等が考えられるが、この例に限定されるものではない。以下の実施例では、出現状況として出現頻度を用いた例を示す。作成部152は、ログ行列の作成に用いるメッセージの発生日時及びIDを、分類済みテキストログ52から取得する。
 図6は、第1の実施形態に係るログ行列の一例を示す図である。ログ行列の各行は、辞書情報142のIDに対応している。また、ログ行列の各列は、10分間の所定の日時間に対応している。以降の説明において、図6に示すログ行列Yの上側の部分の各行を、それぞれ601行目~604行目とし、下側の部分の各行を、それぞれ701行目~706行目とする。また、ログ行列Yのp行目のq列目の要素を、要素(p, q)のように表すこととする。例えば、ログ行列Yの要素(601,1)の値は「2」である。
 ログ行列Yの601行目は、ID「601」に対応している。また、ログ行列Yの602行目は、ID「602」に対応している。また、ログ行列Yの701行目は、ID「701」に対応している。また、ログ行列Yの702行目は、ID「702」に対応している。また、ログ行列Yの1列目は2016/12/01T15:00:01~2016/12/01T15:10:00の間の10分間に対応している。また、ログ行列Yの2列目は2016/12/01T15:10:01~2016/12/01T15:20:00の間の10分間に対応している。また、図5には、発生日時が2016/12/01T15:00:01~2016/12/01T15:10:00であるメッセージのID及び発生日時が全て示されていることとする。
 ログ行列は、どのIDが何行目に対応しているのかがわかれば行番号とIDは一致していなくても構わない。また、ログ行列において、IDや時間が連続している必要もなく、抜けているIDや時間があっても構わない。
 作成部152は、10分ごとのメッセージの出現数をIDごとに集計し、ログ行列Yの各要素の値とする。例えば、図5に示すように、発生日時が2016/12/01T15:00:01~2016/12/01T15:10:00の間であるメッセージのうち、IDが「601」であるメッセージは2個である。このため、図6に示すように、作成部152は、ログ行列Yの要素(601, 1)の値を「2」とする。また、例えば、図5に示すように、発生日時が2016/12/01T15:00:01~2016/12/01T15:10:00の間であるメッセージのうち、IDが「701」であるメッセージは1個である。このため、図6に示すように、作成部152は、ログ行列Yの要素(701, 1)の値を「1」とする。同様に、作成部152は、各ID及び各時間幅についてメッセージの出現数を集計し、ログ行列Yの各要素の値を設定する。
 出力部13は、ログ行列Yを可視化した画像を出力する。図7は、第1の実施形態に係る1ヶ月分のテキストログを、1時間の時間幅のログ行列として可視化した画像の一例を示す図である。図7の縦軸はIDを表している。また、図7の横軸は時間を表している。また、図7では、メッセージの出現状況が高い要素ほど濃い色で表される。
 また、ログ行列Yは、複数の異なる性質のテキストログに基づいて作成される場合がある。例えば、ログ行列Yは、syslogに従って出力されたテキストログ、及び、OpenStackのシステムから出力されたテキストログに基づいて作成される場合がある。このような場合であっても、出力部13は、図7に示すように、ログ行列Yを1つの画像として可視化することができる。
 図7の領域531には、1日ごとに出力されていることから、日次処理等の定期処理に基づくID群が現れていることがわかる。同様に、領域532には、常時実行されている処理に基づくID群が現れている。また、領域533には、2日を除く5日間に出力されていることから、平日の業務に関連した処理に基づくID群が現れていることがわかる。一方、このシステムでは、2日にシステム故障が発生しており、領域534には、故障に起因して出力されたとみられるID群が現れている。このため、異常検知のためには、特に、領域534に現れているようなID群を抽出することが重要である。
 パターン抽出部153は、作成部152によって作成されたログ行列から、IDの組み合わせを、パターンとして抽出する。具体的には、パターン抽出部153は、非負値行列因子分解(NMF:Nonnegative Matrix Factorization)によってログ行列を分解し、IDの組み合わせであるパターンを列ベクトルにもつ基底行列と、パターンが所定の時間幅ごとにどの程度出現したかを表す行ベクトルをもつ重み行列を、パターンとして抽出する。NMFによる行列分解では、比較的高頻度に出現するパターンが抽出される特性があることが知られている。なお、行列分解の方法としては、主成分分析や独立成分分析等の方法を用いることもでき、NMFのみに限定されるものではない。
 なお、行列が非負値のみを含む場合は、行列分解の方法として、Non-negative Principal Component AnalysisやNon-negative Independent Component Analysis等の方法を用いることもできる。
 まず、図8を用いて、ログ行列の分解について説明する。図8は、第1の実施形態に係るログ行列の分解について説明するための図である。パターン抽出部153は、NMFを用いて、ログ行列Yを、基底行列Hと重み行列Uとに分解する。パターン抽出部153は、例えば非特許文献2に記載された方法でNMFを行うことができる。なお、本実施形態におけるログ行列Y、基底行列H、重み行列Uは、それぞれ、非特許文献2に記載された行列X、行列T、行列Vに対応する。また、ログ行列Y、基底行列H及び重み行列Uの関係は、Eを誤差行列として、式(1)のように表すことができる。
Figure JPOXMLDOC01-appb-M000001
 基底行列Hの各行は、ログ行列Yの各行、すなわちIDに対応している。重み行列Uの各列は、ログ行列Yの各列、すなわち時間幅に対応している。また、基底行列Hの各列、及び、重み行列Uの各行は、IDの組み合わせである各パターンに対応している。一例として、本実施形態における基底行列Hの列数は10であり、基底行列Hの1~10列目に現れるIDの組み合わせには、基底番号1~10が設定されることとする。
 また、基底行列Hには、同時に繰り返し現れるメッセージ群に対応するIDの組み合わせであるパターンにどのIDがどの程度含まれているかが現れるということができる。また、重み行列Uには、基底行列Hの各列に現れるIDの組み合わせであるパターンがどの時間帯にどの程度発生したかが現れるということができる。
 出力部13は、図9のように基底行列Hを可視化した画像を出力することができる。図9は、第1の実施形態に係る基底行列を可視化した画像の一例を示す図であり、図7のログ行列にNMFを実行して得られた基底行列を表す。図7の領域532のように、ログ行列で常時現れているようなID群は、基底番号1から10のどのパターンにも含まれていることが図9から確認される。例えば、基底番号1のパターンは、図7の領域531のID群が含まれている。また、基底番号4のパターンは領域533のID群が含まれている。このように、出現の多いID群はパターンとして抽出されているが、図7の領域534のような、出現の少ないID群(故障等)は抽出されていない。
 出力部13は、図10のように重み行列Uを可視化した画像を出力することができる。図10は、第1の実施形態に係る重み行列を可視化した画像の一例を示す図であり、図7のログ行列にNMFを実行して得られた重み行列を表す。図10に示すように、基底番号1のパターンは、日次で出現するパターンであることが示されており、図9からこのパターンが日次処理のID群を含んでいると確認したことと合致する。また、基底番号4のパターンは、大きく5回の出現の後に間を開けてまた5回出現していることから、平日に出現しており、図9からこのパターンが平日の業務に関連したIDを含んでいると確認したことと合致する。平日に出現しているパターンは、基底番号4の他に、6と9も該当する。一方、基底番号7、8、10のパターンは常時出現するパターンであることがわかる。
 定期的に、又は常時発生するような出現が多いID群については、出現タイミングが図10に明確に現れている。一方で、図7の領域534のような、故障等の異常に基づいて発生しているID群ついては、出現タイミングが図10に明確に現れていない。図9にも図7の領域534に含まれるID群が現れておらず、パターンとして抽出できていないことがわかる。
 除去部154は、ログ行列から高頻度パターンを除去する。具体的には、除去部154は、基底行列と重み行列の各パターンの要素のうち値が所定の閾値より小さい要素の値を0に置き換えた有意重み行列との積と、基底行列の各パターンの要素のうち値が所定の閾値より小さい要素の値を0に置き換えた有意基底行列と重み行列との積と、有意基底行列と有意重み行列との積と、のうちのいずれか1つをログ行列から差し引くことで、パターンを除去する。なお、この計算の際にログ行列の要素がマイナスになる場合には、0で置き換えることで非負値にすることもできる。
 例えば、除去部154は、式(2)によってログ行列から高頻度パターンを除去する。ただし、Yはログ行列、Hは基底行列、Uは重み行列、E誤差行列である。また、Y=HU+Eと分解されるとする。また、Hfreqは、Hの各列について、値が所定の閾値より小さい行の値を0に置き換えたもの、すなわち有意基底行列である。また、Ufreqは、Uの各行について、値が所定の閾値より小さい列の値を0に置き換えたもの、すなわち有意重み行列である。また、Y´e1は頻出パターン除去後のログ行列である。
Figure JPOXMLDOC01-appb-M000002
 式(2)に示すように、He1は、H又はHfreqのいずれかである。また、Ue1は、U又はUfreqのいずれかである。ただし、He1がHである場合はUe1はUfreqであることとし、また、Ue1がUである場合はHe1はHfreqであることとする。つまり、式(2)のHe1e1には、有意基底行列又は有意重み行列のうち少なくとも一方が含まれる。これより、式(2)のHe1e1は、HfreqU、HUfreq、Hfreqfreqのいずれかで表される。
 例えば、He1をHとし、Ue1をUfreqとした場合、除去部154は、式(3)を用いて高頻度パターンの除去を行う。ただし、Y´は、高頻度パターンを除去した後のログ行列、すなわちY´e1である。
Figure JPOXMLDOC01-appb-M000003
 図11及び12は、第1の実施形態に係る高頻度パターンの除去について説明するための図である。ここでは、基底行列と有意重み行列を使って式(3)により除去を行う例を説明する。図11に示すように、まず、除去部154は、基底行列Hと除去しない要素の値を0とした有意重み行列Ufreqとの積HUfreqを計算する。
 次に、除去部154は、図12に示すように、高頻度パターン除去のためのログ行列HUfreqを、ログ行列Yから引く。これにより、除去部154は、高頻度パターンを除去したログ行列Y´を得る。ここで、パターン抽出部153は、除去部154によって高頻度パターンが除去されたログ行列から、さらに高頻度パターンを抽出する。このとき、ログ行列Y´からパターン抽出部153が抽出した基底行列及び重み行列を、それぞれH´及びU´とする。
 出力部13は、図13のように基底行列H´を可視化した画像を出力することができる。図13は、第1の実施形態に係る高頻度パターンを除去した後の基底行列を可視化した画像の一例を示す図であり、図7のログ行列から、図9と図10として得られたパターンを除去したログ行列を使って、2回目のパターン抽出を行った結果得られた基底行列を表す。1回目の図9のパターンと比べると、1回目では現れていなかった200から500のIDが基底番号8のパターンに現れている。これらのIDは2日のシステム故障の時にしか現れていなかったID群である。
 出力部13は、図14のように重み行列U´を可視化した画像を出力することができる。図14は、第1の実施形態に係る高頻度パターンを除去した後の重み行列を可視化した画像の一例を示す図であり、図7のログ行列から、図9と図10として得られたパターンを除去したログ行列を使って、2回目のパターン抽出を行った結果得られた重み行列を表す。図14に示すように、図13で故障時のID群を含んでいた基底番号8のパターンが2日に現れている。また、基底番号5のパターンも、主に2日に強く現れており、故障と関連する可能性のあるパターンと言える。
 有意基底行列又は有意重み行列を用いて高頻度パターンを除去する場合について説明したが、除去部154は、非有意基底行列又は非有意重み行列を用いて高頻度パターンを除去することもできる。具体的には、除去部154は、基底行列と重み行列の各パターンの要素のうち値が所定の閾値以上である要素の値を0に置き換えた非有意重み行列との積と、基底行列の各パターンの要素のうち値が所定の閾値以上である要素の値を0に置き換えた非有意基底行列と重み行列との積と、非有意基底行列と非有意重み行列との積と、のうちのいずれか1つをログ行列からパターンを除去した行列とする。なお、この計算の際にログ行列の要素がマイナスになる場合には、0で置き換えることで非負値にすることもできる。
 具体的には、除去部154は、式(4)によってログ行列から高頻度パターンを除去する。ただし、式(3)と同様に、Yはログ行列、Hは基底行列、Uは重み行列、E誤差行列である。また、Y=HU+Eと分解されるとする。また、Hrareは、Hの各列について、値が所定の閾値以上である行の値を0に置き換えたもの、すなわち非有意基底行列である。また、Urareは、Uの各行について、値が所定の閾値以上である列の値を0に置き換えたもの、すなわち非有意重み行列である。また、Y´e2は頻出パターン除去後のログ行列である。
Figure JPOXMLDOC01-appb-M000004
 式(4)に示すように、He2は、H又はHrareのいずれかである。また、Ue2は、U又はUrareのいずれかである。ただし、He2がHである場合はUe2はUrareであることとし、また、Ue2がUである場合はHe2はHrareであることとする。つまり、式(4)のHe2e2には、非有意基底行列又は非有意重み行列のうち少なくとも一方が含まれる。これより、式(4)のHe2e2は、HrareU、HUrare、Hrarerareのいずれかで表される。
 除去部154は、ログ行列Y´からさらに高頻度パターンを除去してもよい。その場合、パターン抽出部153は、除去部154によって高頻度パターンが除去されたログ行列から、さらに高頻度パターンを抽出する。また、パターン抽出部153及び除去部154は、高頻度パターンの抽出及び高頻度パターンの除去を、所定の条件が満たされるまで繰り返すようにしてもよい。
 判定部155は、ログ行列から、パターン抽出部153によって抽出された高頻度パターンに含まれる要素のそれぞれについて、重要度を計算し、重要度が所定の閾値以上であるか否かを判定する。また、判定部155は、除去部154によって高頻度パターンの除去が行われたログ行列から、パターン抽出部153によってさらに抽出された高頻度パターンに含まれる要素のそれぞれについても重要度をさらに計算し、重要度が所定の閾値以上であるか否かを判定するようにしてもよい。なお、ここでは、判定部155が、高頻度パターンに含まれる要素のうち、IDのそれぞれについて重要度を計算する場合の例について説明する。
 基底行列の各列を特徴付けるIDを抽出する場合、値が大きい要素に対応するIDを優先的に抽出することができる。しかしながら、複数の列に含まれるIDは、各列を特徴付けるIDとして適当でない場合がある。例えば、高頻度パターンを除去する前又は後において、常に高頻度で出現し続けるIDがある場合、当該IDは基底行列の複数の列に含まれる場合がある。これは図9からも容易に確認される。このようなIDを抽出したとしても、異常の検知等に活かすことは難しい。
 そこで、判定部155は、高頻度パターンに含まれるIDそれぞれについて、パターンのIDごとの要素の値が高いほど高くなり、かつ、当該IDを含む高頻度パターンが多いほど低くなるように重要度を計算し、重要度が所定の閾値以上であるか否かを判定する。このような重要度に基づく判定手法の一例として、TF-IDF(参考文献2:“tf-idf”、[online]、ウィキペディア、[平成29年1月26日検索]、インターネット<URL:https://ja.wikipedia.org/wiki/Tf-idf>)がある。判定部155は、TF-IDFに基づく方法で重要度の計算を行うことができる。例えば、基底行列Hを行列Dとすると、判定部155は、式(5-1)~(5-3)を用いて、行列Dの列dにおけるIDがtの重要度tfidf(t,d,D)を計算する。
Figure JPOXMLDOC01-appb-M000005
 ただし、ft,dは、列dにおけるIDがtである要素の値である。また、Nは、基底数、すなわち基底行列Hの列数である。また、nは、基底行列Hにおける、IDの要素の値がその列で所定の閾値以上であるような列数である。
 また、判定部155は、特定のIDについてのみ重要度を計算するようにしてもよい。判定部155は、基底行列Hの各列ベクトルの全要素値に対して大津の手法(参考文献3:Nobuyuki Otsu: "A threshold selection method from gray-level histograms," Automatica 11.285-296 (1975), pp.23-27)を用いて第1の閾値を計算し、要素の値が第1の閾値以上であるIDについてのみ、重要度を計算してもよい。
 また、判定部155は、各パターンの所定の時間幅ごとの出現頻度、すなわち重み行列を基に、各行ベクトルの全要素値に対して大津の手法を用いて第2の閾値を計算し、所定の時間幅ごとの出現頻度が第2の閾値以上であるか否かを判定するようにしてもよい。
 また、判定部155は、時間についても重要度を計算するようにしてもよい。すなわち、重み行列Uを行列Dとすると、判定部155は式(5-1)~(5-3)を用いて、行列Dの行dにおける時間がtの重要度tfidf(t,d,D)を計算する。
 ただし、ft,dは、行dにおける時間がtである要素の値である。また、Nは、基底数、すなわち重み行列Hの行数である。また、nは、重み行列Uにおける、時間の要素の値がその行で所定の閾値以上であるような行数である。
 また、判定部155は、特定の時間についてのみ重要度を計算するようにしてもよい。判定部155は、重み行列Uの各行ベクトルの全要素に対して大津の手法を用いて第3の閾値を計算し、要素の値が第3の閾値以上である時間についてのみ、重要度を計算してもよい。
 上記の重要度の計算、又は閾値を用いた判定を行うことで、図15に示すようなプロファイリングを行うことが可能となる。図15は、第1の実施形態に係るテキストログのプロファイリングについて説明するための図である。
 例えば、重み行列について第2の閾値を用いた判定を行い、第2の閾値以上である時間幅を主要要素として抽出し、故障発生時刻といった外部情報と付き合わせることでパターンの種類の推定等を行うことができる。これにより、各パターンを、故障前パターン、故障後パターン、定期パターン、故障と無関係な不定期パターン等に分類することができる。
 また、基底行列から重要度が所定値以上であるIDを抽出し、主要要素のIDの各メッセージ(すなわち辞書情報142のテンプレート)と故障内容や故障箇所といった外部情報と付き合わせることで、故障に関係するパターンであるかどうかの推定を行うことができる。例えば、重み行列から故障前パターンと分類されたパターンが、故障の予兆を表す故障予兆パターンであったかどうか、故障後パターンと分類されたパターンが故障の影響を表す故障波及パターンであったかとうか、定期パターンと分類されたパターンが正常な処理を表す定常処理パターンであったかどうか、故障と無関係な不定期パターンと分類されたパターンが工事が行われたことを表す工事パターンであったかどうか等を判断することができる。
 ここで、有意ログ抽出部156及びシーケンス抽出部157は、分類済みテキストログ52から、主要要素に関する所定の情報を抽出する。なお、有意ログ抽出部156及びシーケンス抽出部157は、情報抽出部の一例である。
 有意ログ抽出部156は、分類済みテキストログ52から、判定部155が抽出した基底行列の主要要素であるIDのみを含むレコード抜き出し、有意ログを生成する。また、有意ログ抽出部156は、主要要素であるIDに加え、判定部155が抽出した重み行列の主要要素である時間幅に該当する時間に限定して有意ログを生成しても構わない。また、有意ログ抽出部156は、有意ログをパターンごとに生成しても構わない。また、有意ログ抽出部156は、発生日時をUNIX(登録商標)時間などの他の時刻形式に変換して有意ログを生成しても構わない。
 シーケンス抽出部157は、有意ログ抽出部156によって生成された有意ログから、IDがどのような順序で出現しているのかを表すシーケンスのうち、特定のシーケンスを抽出する。
 具体的には、シーケンス抽出部157は、有意ログに含まれるIDのシーケンスそれぞれの出現回数をカウントし、当該出現回数が多いシーケンスを抽出する。シーケンスの抽出は、最も出現回数が多いシーケンス、出現回数が多い上位k個のシーケンス、出現回数が指定された回数以上であるシーケンスなど、どの方法を用いて決定しても構わない。
 また、シーケンス抽出部157は、出現回数が多いシーケンスのうち、所定の条件を満たすと判定されたシーケンスのみを抽出してもよい。所定の条件とは、シーケンスの長さやシーケンスの最初のIDから最後のIDまでの経過時間を表すシーケンス経過時間などであり、これに限定されるものではない。これらの条件についても、出現回数同様に閾値を決定して抽出の範囲を限定しても構わない。
 例えば、シーケンス抽出部157は、判定部155によって計算された重要度が所定値以上であるIDとして、「704」、「705」及び「706」が抽出されたとすると、有意ログ抽出部156は、分類済みテキストログ52から、IDが「704」、「705」及び「706」を含むレコードを抜き出し、有意ログを生成する。さらに、シーケンス抽出部157は、有意ログから、出現回数が高いシーケンスを抽出する。
 シーケンス抽出部157は、シーケンスを抽出する手法として、シーケンシャルパターンマイニング(参考文献4:J.Pei et al. "PrefixSpan: Mining Sequential Patterns Efficiently by Prefix-Projected Pattern Growth," Proc. of The 17th Int'l Conf. on Data Engineering, pp.215-224 (2001) http://idb.csie.ncku.edu.tw/tsengsm/COURSE/DM/Paper/PrefixSpan.pdf)や、エピソードマイニング(参考文献5:A. Achar et al. "Pattern-growth based frequent serial episode discovery," Data and Knowledge Engineering, 87:pp.91-108 (2013))のアルゴリズムを用いることができる。
 図16は、第1の実施形態に係るシーケンスの抽出について説明するための図である。この例では重複を許さないIDの数え方によるシーケンスの抽出例を示す。図16に示すように、IDが「704」、「705」及び「706」であるメッセージのシーケンスは、3!通り、すなわち6通り存在する。シーケンス抽出部157は、これらのシーケンスのそれぞれの出現回数をカウントする。最も多い出現回数のシーケンスを抽出する場合、シーケンス抽出部157は、出現回数が10であるシーケンス「705-704-706」を抽出する。ユーザは、シーケンス抽出部157によって抽出されたシーケンスを基に、故障原因等を推定することができる。
[第1の実施形態の処理]
 図17を用いて、分析装置10の処理の流れについて説明する。図17は、実施形態に係る分析装置の処理の流れを示すフローチャートである。図17に示すように、まず、分類部151は、テキストログのメッセージを種別ごとに分類し、IDを付与する(ステップS101)。そして、作成部152は、テキストログの発生日時と分類部151によって付与されたIDを基に、ログ行列を作成する(ステップS102)。
 次に、パターン抽出部153は、ログ行列を分解し、基底行列と重み行列を抽出する(ステップS103)。例えば、パターン抽出部153は、NMFによってログ行列を分解し、IDの組み合わせであるパターンを列ベクトルにもつ基底行列、及び、パターンが所定の時間幅ごとにどの程度出現したかを表す列ベクトルをもつ重み行列を抽出する。
 ここで、所定の条件が満たされることにより、パターンの除去が必要であると判定された場合(ステップS104、Yes)、除去部154は、ログ行列から高頻度パターンを除去する(ステップS105)。例えば、除去部154は、基底行列と、重み行列の各要素のうち値が所定の閾値より小さい要素の値を0に置き換えた有意重み行列と、の積をログ行列から引くことで、高頻度パターンを除去する。あるいは、基底行列と、重み行列の各要素のうち値が所定の値以上の要素の値を0に置き換えた非有意重み行列と、の積をとることで、高頻度パターンを除去する。そして、パターン抽出部153は、さらにパターンを抽出する(ステップS103)。
 ここで、所定の条件が満たされることにより、高頻度パターンの除去が必要であると判定されなかった場合(ステップS104、No)、判定部155は、基底行列または重み行列、あるいは両方の行列の主要要素を判定する(ステップS106)。例えば、判定部155は、パターンに含まれるIDそれぞれについて、当該IDの要素の値が高いほど高くなり、かつ、当該IDを含む高頻度パターンが多いほど低くなるように重要度を計算し、重要度が所定の閾値以上であるか否かを判定し、基底行列の主要要素を抽出する。また、判定部155は、パターンに含まれる時間幅それぞれに対して、大津の手法を用いて第2の閾値を計算し、所定の時間幅ごとの要素の値が第2の閾値以上であるか否かを判定し、重み行列の主要要素を抽出する。
 有意ログ抽出部156は、分類済みテキストログ52から、判定部155が抽出した基底行列の主要要素であるIDのみを含むレコードを抜き出し、有意ログを生成する。
 また、シーケンス抽出部157は、有意ログ抽出部156によって生成された有意ログからシーケンスを抽出する(ステップS107)。例えば、シーケンス抽出部157は、パターンに含まれるIDの組み合わせについて、IDのシーケンスのうち、要素の値、すなわち出現回数が所定の閾値以上でかつ所定の条件を満たすシーケンスを抽出する。
[第1の実施形態の効果]
 分類部151は、システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する。また、作成部152は、メッセージに付された発生日時に基づいて、所定の時間幅ごとのメッセージのテキストログにおける出現状況を、IDごとに表した行列を作成する。また、パターン抽出部153は、作成部152によって作成された行列から、IDの組み合わせであるパターンを複数抽出する。また、除去部154は、行列からパターンの一部又は全部を除去する。また、判定部155は、複数のパターンそれぞれに含まれる要素それぞれについて重要度を計算し、重要度が所定の閾値以上であるか否かを判定する。また、有意ログ抽出部156及びシーケンス抽出部157は、分類済みテキストログ52から、主要要素に関する所定の情報を抽出する。
 本実施形態の分析装置10は、複数のメッセージの出現状況を基に行列を作成するので、複数のメッセージに基づくパターンを抽出することができ、メッセージ間の関係を考慮した監視を行うことができる。このため、例えば、障害発生時における一連の予兆パターンや波及パターンを監視し、障害の予防保全や原因推定に活用することができる。また、メッセージ間の関係を考慮した監視を行うことで、狼アラート、すなわち実際には異常が発生していない場合に異常が発生したとする誤検知に基づくアラートの発生を抑制することもできる。
 また、本実施形態の分析装置10は、収集したテキストログ全体から行列を作成するので、テキストログ全体の情報が行列に反映され、例えば、個別のメッセージを監視するだけでは見過ごされてきた有用な情報をテキストログから得ることができる。
 また、テキストログを分類したうえで行列化し計算を行うことで、大量のテキストログを効率的に分析することが可能となる。また、高頻度パターンの除去を行うことで、定常処理等に関するパターンの存在により高頻度パターンとして抽出されなかったパターンや、誤差に含まれていたパターンを抽出することができるようになり、異常検知等に有用な情報を得ることができるようになる。また、高頻度パターンに含まれる要素について、主要な要素であるか否かの判定を行うことで、テキストログの中から重要なメッセージを抽出することができるようになる。さらに、抽出した重要なメッセージに関する情報を抽出することで、メッセージの分析に要する計算量や処理時間を削減することができる。
 例えば、判定部155は、複数のパターンそれぞれに含まれるIDそれぞれについて重要度を計算し、重要度が所定の閾値以上であるか否かを判定することができる。このとき、シーケンス抽出部157は、判定部155によって、重要度が所定の閾値以上であると判定されたIDがどのような順序で出現しているのかを表すシーケンスから、特定のシーケンスを抽出する。このように、主要なメッセージのシーケンスを抽出することで、シーケンスの抽出のための計算量や処理時間を削減し、メッセージのシーケンスに基づく分析を容易にすることができる。
 分類部151は、システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する。また、作成部152は、メッセージに付された発生日時に基づいて、所定の時間幅ごとのメッセージのテキストログにおける出現状況を、IDごとに表した行列であるログ行列を作成する。また、パターン抽出部153は、ログ行列を分解し、IDの組み合わせであるパターンを列ベクトルにもつ基底行列と、パターンが所定の時間幅ごとにどの程度出現したかを表す行ベクトルをもつ重み行列とを抽出する。また、除去部154は、ログ行列からパターンの一部又は全部を除去する。
 本実施形態の分析装置10は、関連する複数のメッセージをパターンとして抽出するので、システムに発生した事象の特定が容易になる。また、パターン除去を行うことにより、システム故障などの発生頻度が少ない事象を表すパターンを抽出し、監視に生かすことができる。例えば、抽出された障害予兆パターンを監視し、障害の予防保全に活用したり、障害発生時の波及パターンを特定し、原因推定に活用したりすることができる。また、メッセージ間の関係を考慮した監視を行うことで、狼アラート、すなわち実際には異常が発生していない場合に異常が発生したとする誤検知に基づくアラートの発生を抑制することもできる。
 また、本実施形態の分析装置10は、テキストログを分類することで、数千、数億のメッセージを人が把握することが可能な数百、数千オーダーの種類にまで圧縮することができる。また、収集したテキストログ全体から行列を作成するので、膨大なログの情報が1つの行列に反映され、例えば、個別のメッセージを監視するだけでは見過ごされ、アーカイブされるだけで活用されなかったテキストログから有用な情報を得ることができる。
 また、パターン抽出部153は、非負値行列因子分解によってログ行列を分解してもよい。このように、テキストログを分類したうえで行列化し計算を行うことで、大量のテキストログを効率的に分析することが可能となる。また、パターンの除去を行うことで出現頻度が低いパターン、すなわち定常処理等に関するパターンの存在により抽出されなかったパターンや、1回目のパターン抽出では誤差に埋もれていたパターンを抽出することができるようになり、異常検知等に有用な情報を得ることができるようになる。
 また、除去部154は、基底行列と重み行列の各パターンの要素のうち値が所定の閾値より小さい要素の値を0に置き換えた有意重み行列との積と、基底行列の各パターンの要素のうち値が所定の閾値より小さい要素の値を0に置き換えた有意基底行列と重み行列との積と、有意基底行列と有意重み行列との積と、のうちのいずれか1つをログ行列から差し引くことで、パターンを除去することができる。また、除去部154は、基底行列と重み行列の各パターンの要素のうち値が所定の閾値以上である要素の値を0に置き換えた非有意重み行列との積と、基底行列の各パターンの要素のうち値が所定の閾値以上である要素の値を0に置き換えた非有意基底行列と重み行列との積と、非有意基底行列と非有意重み行列との積と、のうちのいずれか1つをログ行列からパターンを除去した行列とすることができる。これにより、定常処理等に関するパターンの影響のうち、大きさが一定以上であるものを除去することができる。
 また、パターン抽出部153は、除去部154によって高頻度パターンが除去された行列から、さらに高頻度パターンを抽出してもよい。これにより、1度の高頻度パターンの除去では、定常処理等に関するパターンの影響を除去しきれなかった場合であっても、定常処理等に関するパターンの影響をさらに除去し、頻度の少ないパターンを抽出することができる。
 分類部151は、システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する。また、作成部152は、メッセージに付された発生日時に基づいて、所定の時間幅ごとのメッセージのテキストログにおける出現頻度を、IDごとに表した行列を作成する。また、パターン抽出部153は、作成部152によって作成された行列から、同一の時間幅におけるメッセージの出現頻度が所定の高さ以上であるIDの組み合わせを、高頻度パターンとして抽出する。また、除去部154は、行列から高頻度パターンを除去する。また、判定部155は、除去部154によって高頻度パターンの除去が行われた行列から、パターン抽出部153によってさらに抽出された高頻度パターンに含まれるIDのそれぞれについて、対応するメッセージのテキストログにおける出現頻度が、所定の条件を満たすか否かを判定する。また、シーケンス抽出部157は、判定部155によって、テキストログにおける出現頻度が所定の条件を満たすと判定されたIDのシーケンスのうち、特定のシーケンスを抽出する。
 また、本実施形態の分析装置10は、複数のメッセージの出現頻度を基に行列を作成するので、複数のメッセージに基づくパターンを抽出することができ、メッセージ間の関係を考慮した監視を行うことができる。このため、例えば、障害発生時における一連の予兆パターンや波及パターンを監視し、障害の予防保全や原因推定に活用することができる。また、メッセージ間の関係を考慮した監視を行うことで、狼アラート、すなわち実際には異常が発生していない場合に異常が発生したとする誤検知に基づくアラートの発生を抑制することもできる。
 また、行列化されたテキストログから抽出された高頻度パターンに含まれる要素について、主要な要素であるか否かの判定を行うことで、テキストログの中から重要なメッセージを抽出することができるようになる。
 また、判定部155は、IDごとのメッセージの出現頻度を基に、大津の手法を用いて第1の閾値を計算し、メッセージの出現頻度が第1の閾値以上であるIDについて、重要度を計算してもよい。これにより、重要度の計算のための負荷を減少させることができる。
 また、パターン抽出部153は、組み合わせに係るメッセージの所定の時間幅ごとの出現頻度をさらに抽出してもよい。このとき、判定部155は、組み合わせに係るメッセージの所定の時間幅ごとの出現頻度を基に、大津の手法を用いて第2の閾値を計算し、所定の時間幅ごとに、メッセージの出現頻度が第2の閾値以上であるか否かを判定してもよい。これにより、メッセージの内容に基づく分析だけでなく、メッセージの発生日時に基づく分析も行うことが可能となる。
 また、テキストログを分類したうえで行列化し計算を行うことで、大量のテキストログを効率的に分析することが可能となる。また、高頻度パターンの除去を行うことで、定常処理等に関するパターンの存在により高頻度パターンとして抽出されなかったパターンや、誤差に含まれていたパターンを抽出することができるようになり、異常検知等に有用な情報を得ることができるようになる。また、高頻度パターンに含まれる要素について、主要な要素であるか否かの判定を行うことで、テキストログの中から重要なメッセージを抽出することができるようになる。また、主要なメッセージのシーケンスを抽出することで、シーケンスの抽出のための計算量や処理時間を削減し、メッセージのシーケンスに基づく分析を容易にすることができる。
 分類部151は、システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する。また、作成部152は、メッセージに付された発生日時に基づいて、所定の時間幅ごとのメッセージのテキストログにおける出現状況を、IDごとに表した行列を作成する。また、パターン抽出部153は、作成部152によって作成された行列から、IDの組み合わせであるパターンを複数抽出する。また、判定部155は、複数のパターンそれぞれに含まれるIDそれぞれについて重要度を計算し、重要度が所定の閾値以上であるか否かを判定する。また、有意ログ抽出部156は、テキストログの各メッセージを分類部151で付与されたIDに置換したログから、判定部が所定の閾値以上であると判定したIDのみを抜き出した有意ログを生成する。また、シーケンス抽出部157は、重要度の高いIDがどのような順序で出現しているのかを表すシーケンスのそれぞれの出現回数を、生成した有意ログからカウントし、当該出現回数が所定の閾値以上でかつ所定の条件を満たすシーケンスを抽出する。
 本実施形態の分析装置10は、複数のメッセージの出現頻度を基に行列を作成するので、複数のメッセージに基づくパターンを抽出することができ、メッセージ間の関係を考慮した監視を行うことができる。このため、例えば、障害発生時における一連の予兆パターンや波及パターンを監視し、障害の予防保全や原因推定に活用することができる。また、メッセージ間の関係を考慮した監視を行うことで、狼アラート、すなわち実際には異常が発生していない場合に異常が発生したとする誤検知に基づくアラートの発生を抑制することもできる。
 また、行列化されたテキストログから抽出されたパターンに含まれる主要なメッセージのシーケンスを抽出することで、シーケンスの抽出のための計算量や処理時間を削減し、シーケンスに基づくメッセージの分析を容易にすることができる。
 また、パターン抽出部153は、パターンの所定の時間幅ごとの出現の程度をさらに抽出してもよい。このとき、判定部155は、パターンの所定の時間幅それぞれについて第2の重要度を計算し、第2の重要度が所定の第2の閾値以上であるか否かをさらに判定する。そして、有意ログ抽出部156は、判定部155が所定の第2の閾値以上であると判定した所定の時間幅のみを抜き出した有意ログを生成する。
 これにより、パターン抽出の時点でシステムの事象に関連するIDがある程度事象ごとに特定されているため、パターンごとに有意ログを生成し、そこからシーケンスを抽出することにより、抽出されたシーケンスからシステムの事象を解釈するのが容易になる。
[第2の実施形態]
 本発明における行列分解の方法は、第1の実施形態で説明したNMFに限定されない。本発明では、行列分解の方法として、例えば主成分分析や独立成分分析等の非負値以外を含んだ行列を対象とした手法を用いてもよい。ここで、第2の実施形態として、NMF以外の手法を用いて行列分解を行う場合の例について説明する。
 第2の実施形態において、除去部154は、主成分分析や独立成分分析等の手法を用いて、ログ行列を基底行列と重み行列とに分解する。ここで、第2の実施形態では、有意基底行列、有意重み行列、非有意基底行列、及び非有意重み行列の作成方法が第1の実施形態と異なる。第1の実施形態において、除去部154は、基底行列の要素のうち値が所定の閾値より小さい要素の値を0に置き換えたものを有意基底行列とし、重み行列の要素のうち値が所定の閾値より小さい要素の値を0に置き換えたものを有意重み行列としていた。
 一方、第2の実施形態において、除去部154は、要素の値の絶対値が閾値より大きいか否かにより、当該要素の値を0に置き換えるか否かを判定する。つまり、除去部154は、基底行列の要素のうち値の絶対値が所定の閾値より小さい要素の値を0に置き換えたものを有意基底行列とし、重み行列の要素のうち値の絶対値が所定の閾値より小さい要素の値を0に置き換えたものを有意重み行列とする。
 また、第2の実施形態において、除去部154は、要素の値が正である場合は正の閾値を用い、要素の値が負である場合は負の閾値を用いて要素の値を0に置き換えるか否かを判定するようにしてもよい。つまり、除去部154は、基底行列の要素のうち、値が正かつ当該値が正の閾値より小さい要素と、値が負かつ当該値が負の閾値より大きい要素と、の値を0に置き換えたものを有意基底行列とし、重み行列の要素のうち、値が正かつ当該値が正の閾値より小さい要素と、値が負かつ当該値が負の閾値より大きい要素と、の値を0に置き換えたものを有意重み行列とすることができる。
 なお、第2の実施形態において、除去部154は、有意基底行列及び有意重み行列を作成する際に、値が0に置き換えられない要素の値を0に置き換えることで、非有意基底行列及び非有意重み行列を作成する。つまり、除去部154は、基底行列の要素のうち値の絶対値が所定の閾値以上である要素の値を0に置き換えたものを非有意基底行列とし、重み行列の要素のうち値の絶対値が所定の閾値以上である要素の値を0に置き換えたものを非有意重み行列とすることができる。
 また、除去部154は、基底行列の要素のうち、値が正かつ当該値が正の閾値以上である要素と、値が負かつ当該値が負の閾値以下である要素と、の値を0に置き換えたものを非有意基底行列とし、重み行列の要素のうち、値が正かつ当該値が正の閾値以上である要素と、値が負かつ当該値が負の閾値以上である要素と、の値を0に置き換えたものを非有意重み行列とすることができる。
[第3の実施形態]
 本発明の分析装置は、各行の項目としてアイテムインデックスを持ち、各列の項目としてインスタンスインデックスを持つ入力行列を、2つの行列の積に分解することができる。この場合、入力行列は、システムから出力されたテキストログに含まれるメッセージを基に作成したログ行列に限られない。
 入力行列は、例えば、それぞれの顧客がどの商品を買ったかという購入情報を持つ購買ログを基に、それぞれの顧客が買った個数を商品ごとに表した購買ログ行列であってもよい。この場合、入力行列のアイテムインデックスは、商品を識別可能なID等である。また、入力行列のインスタンスインデックスは、顧客を識別可能なID等である。また、入力行列の要素の値は商品の購入情報である。購入情報は、購入個数や購入個数の対数を取る等の加工をした値、または購入有無(購入時に1、非購入時に0をとる値)等が考えられるが、この例に限定されるものではない。以下の実施例では、購入情報として購入個数を用いた例を示す。
 第3の実施形態において、パターン抽出部153は、アイテムインデックスの組み合わせであるパターンを列ベクトルに複数持つ基底行列と、それぞれのパターンのインスタンスインデックスにおける重みを各行ベクトルに持つ重み行列と、を抽出する。また、判定部155は、複数のパターンそれぞれに含まれるアイテムインデックスそれぞれについて、重要度を計算し、重要度が所定の閾値以上であるか否かを判定する。
[第3の実施形態の処理]
 ここで、図17を用いて、第3の実施形態に係る分析装置の処理の流れを説明する。なお、図17は、第1の実施形態の分析装置の処理の流れを説明する際にも用いたが、第3の実施形態の分析装置は第1の実施形態の分析装置と同様の流れで処理を行うため、ここでも図17を用いて説明を行う。
 まず、分類部151は、それぞれの顧客がどの商品を買ったかという情報を持つ購買ログを商品ごとに分類し、商品IDを付与する(ステップS101)。そして、作成部152は、購買ログの顧客に関する情報と分類部151によって付与された顧客IDとを基に、それぞれの顧客の購入個数を商品ごとに表した購買ログ行列、すなわち入力行列を作成する(ステップS102)。
 なお、第3の実施形態において、分析装置10は、ステップS101及びS102に示すログ行列の作成を行ってもよいし、行わなくてもよい。分析装置10がログ行列の作成を行わない場合、入力行列は外部から入力されたものであってもよい。また、以降の説明では、購買ログ行列の各行の項目であるアイテムインデックスを商品ID、各列の項目であるインスタンスインデックスを顧客IDとする。
 次に、パターン抽出部153は、購買ログ行列を分解し、基底行列と重み行列を抽出する(ステップS103)。例えば、パターン抽出部153は、NMFによって購買ログ行列を分解し、多くの顧客に購入されるような商品IDの組み合わせであるパターンを表す基底行列、及び、パターンに該当する商品を購入している顧客IDの組み合わせを表す重み行列を、パターンとして抽出する。
 なお、第3の実施形態において、分析装置10は、ステップS104及びS105に示す高頻度パターンの除去を行ってもよいし、行わなくてもよい。高頻度パターンの除去を行わない場合、分析装置10は、ステップS103の実行後、ステップS105を実行せずにステップS106を実行する(ステップS104、No)。
 次に、判定部155は、基底行列の各要素が主要要素であるか否かを判定する(ステップS106)。このとき、判定部155は、複数のパターンそれぞれに含まれる商品IDそれぞれについて、重要度を計算し、重要度が所定の閾値以上であるか否かを判定する。また、第3の実施形態において、分析装置10は、ステップS107に示すシーケンスの抽出を行ってもよいし、行わなくてもよい。
 ここで、判定部155は、重要度の計算及び主要要素の判定を行う際には、第1の実施形態と同様に、TF-IDFに基づく重要度の計算方法や、大津の手法による閾値の計算方法を個別に、又は組み合わせて適宜用いることができる。
 例えば、判定部155は、重要度としてパターンに含まれる商品IDごとの要素の値を用い、閾値としてパターンに含まれる商品IDごとの要素の値を基に、大津の手法を用いて計算した閾値を用いることができる。
 また、判定部155は、パターンに含まれる商品それぞれについて、商品ごとの要素の値が高いほど高くなり、かつ、当該商品を含むパターンが多いほど低くなるように重要度を計算することができる。
 また、判定部155は、各パターンの商品IDごとの要素の値、すなわち、基底行列の各列ベクトルの全要素に対して、大津の手法を用いて第1の閾値を計算し、要素の値が第1の閾値以上である商品IDについて、重要度を計算することができる。
 また、パターン抽出部153は、パターンに該当する商品を購入した顧客IDをさらに抽出してもよい。このとき、判定部155は、各パターンの顧客IDそれぞれ、すなわち、重み行列の行ベクトルの全要素について第2の重要度を計算し、第2の重要度が所定の第2の閾値以上であるか否かをさらに判定する。
 また、判定部155は、第2の重要度として該パターンの顧客IDごとの要素の値を用い、第2の閾値として該パターンに含まれる顧客IDごとの要素の値を基に、大津の手法を用いて計算した閾値を用いることができる。
 また、判定部155は、該パターンの所定の顧客IDごとの要素の値が高いほど高くなり、かつ、該所定の顧客IDを含むパターンが多いほど低くなるように第2の重要度を計算する。
 判定部155は、各パターンの顧客IDごとの要素の値を基に、大津の手法を用いて第3の閾値を計算し、要素の値が第3の閾値以上である顧客IDについて、第2の重要度を計算する。
[第3の実施形態の効果]
 パターン抽出部153は、アイテムインデックスの組み合わせであるパターンを列ベクトルに複数持つ基底行列と、それぞれのパターンのインスタンスインデックスにおける重みを各行ベクトルに持つ重み行列と、を抽出する。また、判定部155は、複数のパターンそれぞれに含まれるアイテムインデックスそれぞれについて、重要度を計算し、重要度が所定の閾値以上であるか否かを判定する。これにより、本実施形態の分析装置10によれば、入力行列のサイズが非常に大きい場合であっても、重要なアイテムの抽出を効率的に行うことが可能となる。
 特に、入力行列のアイテムインデックスを商品ID、インスタンスインデックスを顧客ID、各要素の値を購入個数とした場合、本実施形態の分析装置10は、複数の商品に基づくパターンを抽出することができ、同じ顧客が購入する可能性が高い商品群を抽出することができる。このため、例えば、同じ顧客に購入されやすい商品Aと商品Bのうち、商品Aのみを購入している顧客が購入する可能性がある他の商品として商品Bがあることが分かり、それを顧客に推薦することができる。以降、入力行列のアイテムインデックスを商品ID、インスタンスインデックスを顧客ID、各要素の値を購入個数とした場合の効果について説明するが、本発明によれば、各行の項目としてアイテムインデックスを持ち、各列の項目としてインスタンスインデックスを持つ任意の入力行列を対象として同様の効果を得ることができる。
 判定部155は、重要度としてパターンに含まれる商品IDごとの要素の値を用い、閾値としてパターンに含まれる商品IDごとの要素の値を基に、大津の手法を用いて計算した閾値を用いることができる。これにより、重要度の高い商品を抽出することが可能となる。
 また、判定部155は、該パターンの所定の顧客IDごとの要素の値が高いほど高くなり、かつ、該所定の顧客IDを含むパターンが多いほど低くなるように第2の重要度を計算する。これにより、パターンごとに特徴的な商品を抽出することができる。
 また、判定部155は、各パターンの商品IDごとの要素の値、すなわち、基底行列の各列ベクトルの全要素に対して、大津の手法を用いて第1の閾値を計算し、要素の値が第1の閾値以上である商品IDについて、重要度を計算することができる。これにより、重要度の計算のための負荷を減少させることができる。
 また、パターン抽出部153は、パターンに該当する商品を購入した顧客IDをさらに抽出してもよい。このとき、判定部155は、各パターンの顧客IDそれぞれ、すなわち、重み行列の行ベクトルの全要素について第2の重要度を計算し、第2の重要度が所定の第2の閾値以上であるか否かをさらに判定する。これにより、重要度の高い顧客を抽出することが可能となる。
 また、判定部155は、第2の重要度として該パターンの顧客IDごとの要素の値を用い、第2の閾値として該パターンに含まれる顧客IDごとの要素の値を基に、大津の手法を用いて計算した閾値を用いることができる。これにより、重要度の計算のための負荷を減少させることができる。
 また、判定部155は、該パターンの所定の顧客IDごとの要素の値が高いほど高くなり、かつ、該所定の顧客IDを含むパターンが多いほど低くなるように第2の重要度を計算する。これにより、パターンごとに特徴的な商品を抽出することができる。
 判定部155は、各パターンの顧客IDごとの要素の値を基に、大津の手法を用いて第3の閾値を計算し、要素の値が第3の閾値以上である顧客IDについて、第2の重要度を計算する。これにより、重要度の計算のための負荷を減少させることができる。
[その他の実施形態]
 テキストログ51を基に作成される辞書情報142は、図3のものに限られない。例えば、図18に示すように、さらに短い文字列をテンプレートとしてもよい。図18は、その他の実施形態に係る辞書情報のデータ構成の一例を示す図である。また、分析対象のテキストログに、いずれのテンプレートにも一致しないメッセージが含まれていた場合、分析装置10は、当該メッセージを随時辞書情報142に追加していくようにしてもよい。
[システム構成等]
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 一実施形態として、分析装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の分析を実行する分析プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分析プログラムを情報処理装置に実行させることにより、情報処理装置を分析装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
 また、分析装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の分析に関するサービスを提供する分析サーバ装置として実装することもできる。例えば、分析サーバ装置は、テキストログを入力とし、抽出したIDを出力とする分析サービスを提供するサーバ装置として実装される。この場合、分析サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の分析に関するサービスを提供するクラウドとして実装することとしても構わない。
 図19は、プログラムが実行されることにより分析装置が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、分析装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、分析装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSDにより代替されてもよい。
 また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 10 分析装置
 11 通信部
 12 入力部
 13 出力部
 14 記憶部
 15 制御部
 141 出力ログ情報
 142 辞書情報
 151 分類部
 152 作成部
 153 パターン抽出部
 154 除去部
 155 判定部
 156 有意ログ抽出部
 157 シーケンス抽出部

Claims (22)

  1.  システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する分類部と、
     前記メッセージに付された発生日時に基づいて、所定の時間幅ごとの前記メッセージの前記テキストログにおける出現状況を、前記IDごとに表した行列を作成する作成部と、
     前記作成部によって作成された行列から、前記IDの組み合わせであるパターンを複数抽出するパターン抽出部と、
     前記行列から前記パターンの一部又は全部を除去する除去部と、
     前記複数のパターンそれぞれに含まれる要素それぞれについて重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定する判定部と、
     前記テキストログから、前記判定部によって前記重要度が前記所定の閾値以上であると判定された要素に関する所定の情報を抽出する情報抽出部と、
     を有することを特徴とする分析装置。
  2.  前記判定部は、前記複数のパターンそれぞれに含まれるIDそれぞれについて前記重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定し、
     前記情報抽出部は、前記判定部によって、前記重要度が所定の閾値以上であると判定されたIDがどのような順序で出現しているのかを表すシーケンスから、特定のシーケンスを抽出することを特徴とする請求項1に記載の分析装置。
  3.  システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する分類部と、
     前記メッセージに付された発生日時に基づいて、所定の時間幅ごとの前記メッセージの前記テキストログにおける出現状況を、前記IDごとに表した行列であるログ行列を作成する作成部と、
     前記ログ行列を分解し、前記IDの組み合わせであるパターンを列ベクトルにもつ基底行列と、前記パターンが前記所定の時間幅ごとにどの程度出現したかを表す行ベクトルをもつ重み行列とを抽出するパターン抽出部と、
     前記ログ行列から前記パターンの一部又は全部を除去する除去部と、
     を有することを特徴とする分析装置。
  4.  前記パターン抽出部は、非負値行列因子分解によって前記ログ行列を分解することを特徴とする請求項3に記載の分析装置。
  5.  前記パターン抽出部は、前記除去部によって前記パターンが除去されたログ行列から、さらにパターンを抽出することを特徴とする請求項3又は4に記載の分析装置。
  6.  前記除去部は、前記基底行列と前記重み行列の各パターンの要素のうち値が所定の閾値より小さい要素の値を0に置き換えた有意重み行列との積と、前記基底行列の各パターンの要素のうち値が所定の閾値より小さい要素の値を0に置き換えた有意基底行列と前記重み行列との積と、前記有意基底行列と前記有意重み行列との積と、のうちのいずれか1つを前記ログ行列から差し引くことで、前記パターンを除去することを特徴とする請求項3乃至5のいずれか1項に記載の分析装置。
  7.  前記除去部は、前記基底行列と前記重み行列の各パターンの要素のうち値が所定の閾値以上である要素の値を0に置き換えた非有意重み行列との積と、前記基底行列の各パターンの要素のうち値が所定の閾値以上である要素の値を0に置き換えた非有意基底行列と前記重み行列との積と、前記非有意基底行列と前記非有意重み行列との積と、のうちのいずれか1つを前記ログ行列から前記パターンを除去した行列とすることを特徴とする請求項3乃至5のいずれか1項に記載の分析装置。
  8.  各行の項目としてアイテムインデックスを持ち、各列の項目としてインスタンスインデックスを持つ入力行列を、2つの行列の積に分解する分析装置であって、
     前記アイテムインデックスの組み合わせであるパターンを列ベクトルに複数持つ基底行列と、それぞれの前記パターンの前記インスタンスインデックスにおける重みを各行ベクトルに持つ重み行列と、を抽出するパターン抽出部と、
     前記複数のパターンそれぞれに含まれる前記アイテムインデックスそれぞれについて、重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定する判定部と、
     を有することを特徴とする分析装置。
  9.  前記判定部は、前記重要度として該パターンに含まれる前記基底行列のアイテムインデックスごとの要素の値を用い、前記閾値として該パターンに含まれる全ての前記基底行列のアイテムインデックスごとの要素の値を基に、大津の手法を用いて計算した閾値を用いることを特徴とする請求項8に記載の分析装置。
  10.  前記判定部は、該パターンの前記基底行列のアイテムインデックスごとの要素の値が高いほど高くなり、かつ、該基底行列のアイテムインデックスを含む前記パターンが多いほど低くなるように前記重要度を計算することを特徴とする請求項8に記載の分析装置。
  11.  前記判定部は、前記基底行列のアイテムインデックスごとの要素の値を基に、大津の手法を用いて第1の閾値を計算し、前記要素の値が前記第1の閾値以上であるアイテムインデックスについて、前記重要度を計算することを特徴とする請求項10に記載の分析装置。
  12.  前記パターン抽出部は、前記パターンの所定の重み行列のインスタンスインデックスごとの要素の値をさらに抽出し、
     前記判定部は、前記パターンの前記所定の重み行列のインスタンスインデックスそれぞれについて第2の重要度を計算し、前記第2の重要度が所定の第2の閾値以上であるか否かをさらに判定することを特徴とする請求項8乃至11のいずれか1項に記載の分析装置。
  13.  前記判定部は、前記第2の重要度として該パターンの前記所定の重み行列のインスタンスインデックスごとの要素の値を用い、前記第2の閾値として前記要素の値を基に、大津の手法を用いて計算した閾値を用いることを特徴とする請求項12に記載の分析装置。
  14.  前記判定部は、該パターンの前記所定の重み行列のインスタンスインデックスごとの要素の値が高いほど高くなり、かつ、該所定の重み行列のインスタンスインデックスに要素の値を持つ前記パターンが多いほど低くなるように前記第2の重要度を計算することを特徴とする請求項12に記載の分析装置。
  15.  前記判定部は、前記所定の重み行列のインスタンスインデックスごとの要素の値を基に、大津の手法を用いて第3の閾値を計算し、前記所定の重み行列のインスタンスインデックスごとの要素の値が前記第3の閾値以上であるインスタンスインデックスについて、前記第2の重要度を計算することを特徴とする請求項14に記載の分析装置。
  16.  システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する分類部と、
     前記メッセージに付された発生日時に基づいて、所定の時間幅ごとの前記メッセージの前記テキストログにおける出現状況を、前記IDごとに表した行列を作成する作成部と、
     前記作成部によって作成された行列から、前記IDの組み合わせであるパターンを複数抽出するパターン抽出部と、
     前記複数のパターンそれぞれに含まれるIDそれぞれについて重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定する判定部と、
     前記テキストログの各メッセージを前記分類部で付与されたIDに置換したログから、前記判定部が前記所定の閾値以上であると判定したIDのみを抜き出した有意ログを生成する有意ログ抽出部と、
     前記重要度の高いIDがどのような順序で出現しているのかを表すシーケンスのそれぞれの出現回数を、前記生成した有意ログからカウントし、当該出現回数が所定の閾値以上でかつ所定の条件を満たすシーケンスを抽出するシーケンス抽出部と、
     を有することを特徴とする分析装置。
  17.  前記パターン抽出部は、前記パターンの前記所定の時間幅ごとの出現の程度をさらに抽出し、
     前記判定部は、前記パターンの前記所定の時間幅それぞれについて第2の重要度を計算し、前記第2の重要度が所定の第2の閾値以上であるか否かをさらに判定し、
     前記有意ログ抽出部は、前記判定部が前記所定の第2の閾値以上であると判定した所定の時間幅のみを抜き出した有意ログを生成する
     ことを特徴とする請求項16に記載の分析装置。
  18.  分析装置で実行される分析方法であって、
     システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する分類工程と、
     前記メッセージに付された発生日時に基づいて、所定の時間幅ごとの前記メッセージの前記テキストログにおける出現状況を、前記IDごとに表した行列を作成する作成工程と、
     前記作成工程によって作成された行列から、前記IDの組み合わせであるパターンを複数抽出するパターン抽出工程と、
     前記行列から前記パターンの一部又は全部を除去する除去工程と、
     前記複数のパターンそれぞれに含まれる要素それぞれについて重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定する判定工程と、
     前記テキストログから、前記判定工程によって前記重要度が前記所定の閾値以上であると判定された要素に関する所定の情報を抽出する情報抽出工程と、
     を含んだことを特徴とする分析方法。
  19.  分析装置で実行される分析方法であって、
     システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する分類工程と、
     前記メッセージに付された発生日時に基づいて、所定の時間幅ごとの前記メッセージの前記テキストログにおける出現状況を、前記IDごとに表した行列であるログ行列を作成する作成工程と、
     前記ログ行列を分解し、前記IDの組み合わせであるパターンを列ベクトルにもつ基底行列と、前記パターンが前記所定の時間幅ごとにどの程度出現したかを表す行ベクトルをもつ重み行列とを抽出するパターン抽出工程と、
     前記ログ行列から前記パターンの一部又は全部を除去する除去工程と、
     を含んだことを特徴とする分析方法。
  20.  各行の項目としてアイテムインデックスを持ち、各列の項目としてインスタンスインデックスを持つ入力行列を、2つの行列の積に分解する分析装置で実行される分析方法であって、
     前記アイテムインデックスの組み合わせであるパターンを列ベクトルに複数持つ基底行列と、それぞれの前記パターンの前記インスタンスインデックスにおける重みを各行ベクトルに持つ重み行列と、を抽出するパターン抽出工程と、
     前記複数のパターンそれぞれに含まれる前記アイテムインデックスそれぞれについて、重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定する判定工程と、
     を含んだことを特徴とする分析方法。
  21.  分析装置で実行される分析方法であって、
     システムから出力されたテキストログに含まれるメッセージを種別ごとに分類し、分類した各メッセージに、種別ごとに設定されたIDを付与する分類工程と、
     前記メッセージに付された発生日時に基づいて、所定の時間幅ごとの前記メッセージの前記テキストログにおける出現状況を、前記IDごとに表した行列を作成する作成工程と、
     前記作成工程によって作成された行列から、前記IDの組み合わせであるパターンを複数抽出するパターン抽出工程と、
     前記複数のパターンそれぞれに含まれるIDそれぞれについて重要度を計算し、前記重要度が所定の閾値以上であるか否かを判定する判定工程と、
     前記テキストログの各メッセージを前記分類工程で付与されたIDに置換したログから、前記判定工程が前記所定の閾値以上であると判定したIDのみを抜き出した有意ログを生成する有意ログ抽出工程と、
     前記重要度の高いIDがどのような順序で出現しているのかを表すシーケンスのそれぞれの出現回数を、前記生成した有意ログからカウントし、当該出現回数が所定の閾値以上でかつ所定の条件を満たすシーケンスを抽出するシーケンス抽出工程と、
     を有することを特徴とする分析方法。
  22.  コンピュータを、請求項1から17のいずれか1項に記載の分析装置として機能させるための分析プログラム。
     
PCT/JP2018/013937 2017-04-03 2018-03-30 分析装置、分析方法及び分析プログラム WO2018186314A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019511214A JP6714152B2 (ja) 2017-04-03 2018-03-30 分析装置、分析方法及び分析プログラム
EP18781016.3A EP3591532B1 (en) 2017-04-03 2018-03-30 Analysis device, analysis method, and analysis program
US16/499,870 US11398083B2 (en) 2017-04-03 2018-03-30 Analysis device, analysis method, and analysis program
US17/846,015 US20220327800A1 (en) 2017-04-03 2022-06-22 Analysis device, analysis method, and analysis program

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP2017-074052 2017-04-03
JP2017-074055 2017-04-03
JP2017074052 2017-04-03
JP2017074055 2017-04-03
JP2017074053 2017-04-03
JP2017-074054 2017-04-03
JP2017074054 2017-04-03
JP2017-074053 2017-04-03

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/499,870 A-371-Of-International US11398083B2 (en) 2017-04-03 2018-03-30 Analysis device, analysis method, and analysis program
US17/846,015 Division US20220327800A1 (en) 2017-04-03 2022-06-22 Analysis device, analysis method, and analysis program

Publications (1)

Publication Number Publication Date
WO2018186314A1 true WO2018186314A1 (ja) 2018-10-11

Family

ID=63712252

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/013937 WO2018186314A1 (ja) 2017-04-03 2018-03-30 分析装置、分析方法及び分析プログラム

Country Status (4)

Country Link
US (2) US11398083B2 (ja)
EP (1) EP3591532B1 (ja)
JP (1) JP6714152B2 (ja)
WO (1) WO2018186314A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021090503A1 (ja) * 2019-11-08 2021-05-14 日本電信電話株式会社 情報流通システム、監視装置、共有装置及び情報流通方法
WO2021171383A1 (ja) * 2020-02-25 2021-09-02 日本電気株式会社 ログ生成装置、ログ生成方法、及びコンピュータ読み取り可能な記録媒体

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11049030B2 (en) * 2016-03-07 2021-06-29 Nippon Telegraph And Telephone Corporation Analysis apparatus, analysis method, and analysis program
JP7355219B2 (ja) * 2020-03-19 2023-10-03 日本電信電話株式会社 情報管理方法、情報管理プログラム及び情報管理装置
CN112000955B (zh) * 2020-08-21 2022-09-27 北京紫光展锐通信技术有限公司 确定日志特征序列的方法、漏洞分析方法及系统、设备
US20220206486A1 (en) * 2020-12-31 2022-06-30 Infosys Limited Method and system for predictive maintenance of a machinery asset

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015036891A (ja) 2013-08-13 2015-02-23 日本電信電話株式会社 監視情報分析装置及び方法
JP2016081371A (ja) * 2014-10-20 2016-05-16 日本電信電話株式会社 分析装置、分析方法、及び分析プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5428934B2 (ja) * 2010-02-22 2014-02-26 富士通株式会社 障害パターン生成プログラムおよび障害パターン生成装置
US9740762B2 (en) * 2011-04-01 2017-08-22 Mongodb, Inc. System and method for optimizing data migration in a partitioned database
US10572318B2 (en) * 2014-08-25 2020-02-25 Nippon Telegraph And Telephone Corporation Log analysis apparatus, log analysis system, log analysis method and computer program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015036891A (ja) 2013-08-13 2015-02-23 日本電信電話株式会社 監視情報分析装置及び方法
JP2016081371A (ja) * 2014-10-20 2016-05-16 日本電信電話株式会社 分析装置、分析方法、及び分析プログラム

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
A. ACHAR ET AL.: "Pattern-growth based frequent serial episode discovery", DATA AND KNOWLEDGE ENGINEERING, vol. 87, 2013, pages 91 - 108, XP028730441, DOI: 10.1016/j.datak.2013.06.005
HIROSHI SAWADA: "Nonnegative Matrix Factorization and Its Applications to Data/Signal Analysis", THE JOURNAL OF THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS, vol. 95, no. 9, September 2012 (2012-09-01), pages 829 - 833
J.PEI ET AL.: "PrefixSpan: Mining Sequential Patterns Efficiently by Prefix-Projected Pattern Growth", PROC. OF THE 17TH INT'L CONF. ON DATA ENGINEERING, 2001, pages 215 - 224, XP010538063, Retrieved from the Internet <URL:http://idb.csie.ncku.edu.tw/tsengsm/COURSE/DM/Paper/PrefixSpan.pdf>
KENJI YAMANISHI: "Anomaly detection with data mining", 2009, KYORITSU SHUPPAN
NOBUYUKI OTSU: "A threshold selection method from gray-level histograms", AUTOMATICA, vol. 11, no. 285-296, 1975, pages 23 - 27
See also references of EP3591532A4
TATSUAKI KIMURA ET AL.: "IEEE INFOCOM 2014-IEEE Conference on Computer Communications", 2014, IEEE, article "Spatio-temporal factorization of log data for understanding network events"
TORA, SHOTARO ET AL.: "A consideration on interval change of time frame in convolutive NMF", THE 13TH ANNUAL MEETING OF DBSJ, 4 March 2015 (2015-03-04), XP055559380, Retrieved from the Internet <URL:http://db-event.jpn.org/deim2015/paper/242.pdf> [retrieved on 20180522] *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021090503A1 (ja) * 2019-11-08 2021-05-14 日本電信電話株式会社 情報流通システム、監視装置、共有装置及び情報流通方法
JPWO2021090503A1 (ja) * 2019-11-08 2021-05-14
JP7294443B2 (ja) 2019-11-08 2023-06-20 日本電信電話株式会社 情報流通システム、監視装置及び情報流通方法
US11765022B2 (en) 2019-11-08 2023-09-19 Nippon Telegraph And Telephone Corporation Information distribution system, monitoring device, sharing device and information distribution method
WO2021171383A1 (ja) * 2020-02-25 2021-09-02 日本電気株式会社 ログ生成装置、ログ生成方法、及びコンピュータ読み取り可能な記録媒体
JP7351399B2 (ja) 2020-02-25 2023-09-27 日本電気株式会社 ログ生成装置、ログ生成方法、及びプログラム

Also Published As

Publication number Publication date
EP3591532A4 (en) 2021-01-27
EP3591532A1 (en) 2020-01-08
JP6714152B2 (ja) 2020-06-24
US20200057906A1 (en) 2020-02-20
EP3591532B1 (en) 2022-09-07
US20220327800A1 (en) 2022-10-13
JPWO2018186314A1 (ja) 2019-07-04
US11398083B2 (en) 2022-07-26

Similar Documents

Publication Publication Date Title
JP6714152B2 (ja) 分析装置、分析方法及び分析プログラム
US11586972B2 (en) Tool-specific alerting rules based on abnormal and normal patterns obtained from history logs
JP6643211B2 (ja) 異常検知システム及び異常検知方法
US10205734B2 (en) Network sampling based path decomposition and anomaly detection
US9921937B2 (en) Behavior clustering analysis and alerting system for computer applications
US20170262353A1 (en) Event correlation
US20200265119A1 (en) Site-specific anomaly detection
US9870294B2 (en) Visualization of behavior clustering of computer applications
CN111310139B (zh) 行为数据识别方法、装置及存储介质
CN112513851A (zh) 使用机器学习的敏感数据标识
US20150205690A1 (en) Computer performance prediction using search technologies
Wong et al. Data-driven analysis of resilience in airline networks
CN106708738B (zh) 一种软件测试缺陷预测方法及系统
JP6491356B2 (ja) 分類方法、分類装置および分類プログラム
Shafer et al. Rainmon: An integrated approach to mining bursty timeseries monitoring data
US11757708B2 (en) Anomaly detection device, anomaly detection method, and anomaly detection program
Kumar et al. Machine learning based malware detection in cloud environment using clustering approach
CN111343143B (zh) 数据识别方法、装置及存储介质
Ackermann et al. Black-box learning of parametric dependencies for performance models
CN114039837B (zh) 告警数据处理方法、装置、系统、设备和存储介质
CN112750047B (zh) 行为关系信息提取方法及装置、存储介质、电子设备
JP5922811B1 (ja) ログ情報分類装置、ログ情報分類方法、及びプログラム
US20190121973A1 (en) System and method for detecting security risks in a computer system
CN110661818A (zh) 事件异常检测方法、装置、可读存储介质和计算机设备
US20230275908A1 (en) Thumbprinting security incidents via graph embeddings

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: 18781016

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019511214

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018781016

Country of ref document: EP

Effective date: 20191001