JP2016162291A - Process extraction device, process extraction method, and program - Google Patents

Process extraction device, process extraction method, and program Download PDF

Info

Publication number
JP2016162291A
JP2016162291A JP2015041452A JP2015041452A JP2016162291A JP 2016162291 A JP2016162291 A JP 2016162291A JP 2015041452 A JP2015041452 A JP 2015041452A JP 2015041452 A JP2015041452 A JP 2015041452A JP 2016162291 A JP2016162291 A JP 2016162291A
Authority
JP
Japan
Prior art keywords
branch point
event log
branch
subprocess
sub
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2015041452A
Other languages
Japanese (ja)
Other versions
JP6263487B2 (en
Inventor
暁 渡邉
Akira Watanabe
暁 渡邉
達明 木村
Tatsuaki Kimura
達明 木村
剛 豊野
Takeshi Toyono
剛 豊野
圭介 石橋
Keisuke Ishibashi
圭介 石橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015041452A priority Critical patent/JP6263487B2/en
Publication of JP2016162291A publication Critical patent/JP2016162291A/en
Application granted granted Critical
Publication of JP6263487B2 publication Critical patent/JP6263487B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To make it possible to acquire a branch point at which a process changes from an event log in which different subprocesses coexist and a subprocess after branching.SOLUTION: A process extraction device for extracting a process from a set of event log sequences has: an acquisition unit for acquiring one or more branch point candidates which could be a branch point of the process on the basis of the set of event log sequences; and a selection unit for extracting, for each branch point candidate, a set of partial event log sequences at branch destination in each of the event log sequences, acquiring a subprocess at branch destination from the set of extracted partial event log sequences, and solving an optimization problem for a condition required as to the process in relation to each of the branch point candidates and a subprocess acquired for each of the branch point candidates, thereby selecting a branch point of the process from among the branch point candidates.SELECTED DRAWING: Figure 6

Description

本発明は、プロセス抽出装置、プロセス抽出方法、及びプログラムに関する。   The present invention relates to a process extraction device, a process extraction method, and a program.

大規模化・構成機器の多様化が進むITネットワークシステムにおいて、システム上で発生する故障事例が多様化しており、発生した異常の原因究明と対処判断とが従来よりも困難になっている。一方で、あらゆる故障事例を解決可能なエキスパートと呼ばれるオペレータは、運用管理すべきシステムの数と比較して圧倒的に少ない。また、近年では特に運用管理の対象となるシステムの大規模化と運用期間の長期化が進んだため、特定の個人のエキスパートのみの活動に依存したシステム運用は困難である。そのため、高いスキルを持つエキスパートによる故障回復手順を、オペレーションチーム全体へ共有する手段が求められている。ここでは、エキスパートを含むオペレータらによる、問題の見極めから対処完了までの一連の故障回復手順を、プロセスと定義する。   In IT network systems, which are becoming larger and diversifying component devices, failure cases that occur on the system are diversified, making it more difficult to investigate the cause of the anomaly that has occurred and determine how to deal with it. On the other hand, the number of operators called experts who can solve all failure cases is overwhelmingly smaller than the number of systems to be managed. Further, in recent years, the system that is subject to operation management has become particularly large-scale and the operation period has been extended, so that it is difficult to operate a system that depends on the activities of only a specific individual expert. Therefore, there is a need for means for sharing failure recovery procedures by highly skilled experts to the entire operations team. Here, a series of failure recovery procedures from problem determination to completion of countermeasures by operators including experts is defined as a process.

一般に、プロセスは、問題が複雑であるほど暗黙知であることが多い。そのため、プロセスの獲得には、オペレータ自身も把握していない情報を得る手段が必要となる。これに対し、オペレータの行動をイベントログと呼ばれるデータとして蓄積し、複数のイベントログの集合からオペレータ自身も把握していない定型的な一連の手順を特定のモデル形式で抽出する、プロセスマイニングと呼ばれる手法があり(例えば、非特許文献1参照)、マイニング用のアプリケーションが存在する(例えば、非特許文献2参照)。   In general, processes are often tacit as the problem becomes more complex. Therefore, in order to acquire a process, a means for obtaining information that is not grasped by the operator is required. On the other hand, it is called process mining, which accumulates operator actions as data called event logs, and extracts a series of routine procedures that are not understood by the operator from a set of event logs in a specific model format. There are methods (for example, see Non-Patent Document 1), and there are mining applications (for example, see Non-Patent Document 2).

非特許文献2に示されているプロセスマイニング手法は、イベントログから単一のプロセスのみを抽出することを前提としており、複数の異なる事象に対する問題解決の記録が含まれる、故障対応時の操作履歴のようなイベントログへの適用は困難である。例えば、あるWebサーバが接続不可となった場合の対処を考える。Webサーバに接続不可の場合、オペレータは、まず、pingコマンド等で外部端末からWebサーバに疎通可能かどうかを確認する。疎通不可能であれば、オペレータは、Webサーバの配置場所に赴き原因確認を行う。疎通可能ならば、オペレータは、原因となるアプリケーションをログ確認等によって特定する。アプリケーションが原因であれば、オペレータは、当該アプリケーションに応じた負荷を下げる対処を行う。   The process mining method shown in Non-Patent Document 2 is based on the premise that only a single process is extracted from the event log, and includes an operation history at the time of failure handling that includes a record of problem solving for multiple different events. It is difficult to apply to such event logs. For example, let us consider a countermeasure when a certain Web server cannot be connected. If the connection to the Web server is not possible, the operator first checks whether communication from the external terminal to the Web server is possible using a ping command or the like. If communication is impossible, the operator visits the location of the Web server and checks the cause. If communication is possible, the operator identifies the application causing the problem by confirming a log or the like. If the cause is an application, the operator takes measures to reduce the load corresponding to the application.

上記の例の場合、Webサーバ接続不可という同一の異常発生であっても、複数の原因が存在し、また原因ごとに取るべき対処が異なる。これらの複数の原因と各原因に対する対処との違いを考慮して予めイベントログを原因別に分類することは、原因を特定する手段が無いために困難である。そのため、イベントログを蓄積するデータベースには、複数の原因事例と対処事例とが混在している。   In the case of the above example, there are a plurality of causes even when the same abnormality occurs that the Web server cannot be connected, and the actions to be taken differ depending on the cause. It is difficult to classify event logs in advance in consideration of the difference between these multiple causes and countermeasures for each cause because there is no means for identifying the cause. For this reason, a plurality of cause cases and countermeasure cases are mixed in the database for accumulating event logs.

一方で、異なるアプリケーションの故障回復手順であっても、同一の作業が含まれる場合がある。例えば、Webサーバ接続不可の原因が、暴走したアプリケーションである場合、再発防止の対処はアプリケーションごとに異なるが、いずれの場合でも「システムの再起動」という作業が含まれ得る。また、実際のシステム運用では、「装置起動ランプ点灯状態の確認」のような、故障原因に依らず実施が必要な作業も多く存在する。   On the other hand, even in the case of failure recovery procedures for different applications, the same work may be included. For example, when the cause of the inability to connect to the Web server is a runaway application, the countermeasure for preventing the recurrence differs for each application, but in any case, the operation of “system restart” can be included. In actual system operation, there are many operations that need to be performed regardless of the cause of failure, such as “confirmation of lighting state of the device start lamp”.

更に、実際のイベントログにおいては、イベントログの欠損及びノイズとなる作業が含まれる。例えば、故障原因の特定時における、原因ではないアプリケーションのステータス確認等は、作業を実施するオペレータによって実施の有無が異なる。   Further, the actual event log includes work that results in event log loss and noise. For example, whether or not the status of an application that is not the cause at the time of identifying the cause of the failure differs depending on whether or not the operation is performed.

上記のような事情を考慮せずに、図1に例示されるイベントログの集合を用いて非特許文献3に記載された手法でプロセスを構成した結果が、図2である。図2では、異常要因に対する異なる2つの対処が絡み合ったプロセスが生成されており、プロセスの途中で実施すべき対処について、2度の判断がオペレータに求められる。   FIG. 2 shows the result of configuring the process by the method described in Non-Patent Document 3 using the set of event logs exemplified in FIG. 1 without considering the above circumstances. In FIG. 2, a process in which two different countermeasures for an abnormal factor are intertwined is generated, and the operator is required to make a determination twice regarding a countermeasure to be performed in the middle of the process.

図1のような、異なる対処が混在したイベントログに対して従来手法を適用した場合、異なるサブプロセスが混ざり、直感的な原因の違いの把握が困難となる。なお、非特許文献3に記載された手法は、イベントログの集合を入力にして、与えられたイベントログを出力可能な、状態及び遷移数の最も少ない状態遷移グラフを出力する、という手法である。   When the conventional method is applied to an event log in which different countermeasures are mixed as shown in FIG. 1, different sub-processes are mixed, making it difficult to intuitively understand the difference in cause. The method described in Non-Patent Document 3 is a method of inputting a set of event logs and outputting a state transition graph that can output a given event log and has the smallest number of states and transitions. .

W.M.P. van der Aalst, "Process Mining: Discovery, Conformance and Enhancement of Business Processes". Springer, Berlin (2011), pp.125-156W.M.P.van der Aalst, "Process Mining: Discovery, Conformance and Enhancement of Business Processes". Springer, Berlin (2011), pp.125-156 Process Mining, http://www.processmining.org/prom/startProcess Mining, http://www.processmining.org/prom/start W.M.P. van der Aalst; T. Weijters; L. Maruster, "Workflow mining: discovering process models from event logs," IEEE Transactions on Knowledge and Data Engineering, vol.16, no.9, pp.1128-1142, September 2004W.M.P.van der Aalst; T. Weijters; L. Maruster, "Workflow mining: discovering process models from event logs," IEEE Transactions on Knowledge and Data Engineering, vol.16, no.9, pp.1128-1142, September 2004 A.J.M.M. Weijters; J.T.S. Ribeiro, "Flexible Heuristics Miner (FHM)," 2011 IEEE Symposium on Computational Intelligence and Data Mining (CIDM), pp.310-317, 11-15 April 2011A.J.M.M.Weijters; J.T.S.Ribeiro, "Flexible Heuristics Miner (FHM)," 2011 IEEE Symposium on Computational Intelligence and Data Mining (CIDM), pp.310-317, 11-15 April 2011 Ulrike Luxburg, A tutorial on spectral clustering, Statistics and Computing, vol. 17, Issue 4, pp. 395-416, December 2007Ulrike Luxburg, A tutorial on spectral clustering, Statistics and Computing, vol. 17, Issue 4, pp. 395-416, December 2007 W.M.P. van der Aalst; Christian Stahl, "Modeling Business Processes: A Petri Net-Oriented Approach", MIT Press, 2011, pp.91-127W.M.P.van der Aalst; Christian Stahl, "Modeling Business Processes: A Petri Net-Oriented Approach", MIT Press, 2011, pp.91-127 渡邉暁, 木村達明, 豊野剛, 石橋圭介, "トラブルチケットにおける作業手順の構造化手法", 電子情報通信学会ソサイエティ大会, 2014Watanabe, Tatsuaki Kimura, Go Toyono, Keisuke Ishibashi, "Structured Procedures for Trouble Tickets", IEICE Society Conference, 2014 Dan Pelleg; Andrew W. Moore, X-means: Extending K-means with Efficient Estimation of the Number of Clusters. In Proceedings of the Seventeenth International Conference on Machine Learning (ICML '00), pp. 727-734., 2000Dan Pelleg; Andrew W. Moore, X-means: Extending K-means with Efficient Estimation of the Number of Clusters.In Proceedings of the Seventeenth International Conference on Machine Learning (ICML '00), pp. 727-734., 2000

故障対応業務のように、原因を特定し、各原因に応じた対処を行う業務の場合、サブプロセスへの分岐点は、図3に示されるような、エキスパートが原因を特定するに至った分岐点を陽に含み、原因特定後の対処に係るサブプロセスが合流しないようなプロセスが獲得されることが望ましい。しかしながら、そのようなプロセス中のサブプロセスへの分岐点を抽出するのは従来の技術では困難であった。   In the case of a task that identifies the cause and takes measures according to each cause, such as a failure handling job, the branch point to the sub-process is the branch where the expert has identified the cause as shown in FIG. It is desirable to acquire a process that includes points explicitly and does not join sub-processes for coping after the cause is identified. However, it has been difficult for the conventional technique to extract a branch point to a sub-process in such a process.

本発明は、上記の点に鑑みてなされたものであって、異なるサブプロセスが混在するイベントログからプロセスが変化する分岐点と分岐後のサブプロセスを獲得可能とすることを目的とする。   The present invention has been made in view of the above points, and an object of the present invention is to make it possible to acquire a branch point where a process changes and a sub-process after branching from an event log in which different sub-processes are mixed.

そこで上記課題を解決するため、イベントログ列の集合からプロセスを抽出するプロセス抽出装置は、前記イベントログ列の集合に基づいて、前記プロセスの分岐点となる可能性のある1以上の分岐点候補を獲得する獲得部と、前記分岐点候補ごとに前記各イベントログ列における分岐先の部分イベントログ列の集合を抽出し、抽出された部分イベントログ列の集合から分岐先のサブプロセスを獲得し、前記プロセスに関して要求される条件に対する最適化問題を、前記各分岐点候補と前記分岐点候補ごとに獲得されたサブプロセスとに関して解くことで、前記分岐点候補の中から前記プロセスの分岐点を選択する選択部と、を有する。   Therefore, in order to solve the above-described problem, a process extraction apparatus that extracts a process from a set of event log sequences has one or more branch point candidates that may become a branch point of the process based on the set of event log sequences. And a branch destination partial event log sequence set in each event log sequence is extracted for each branch point candidate, and a branch destination subprocess is acquired from the extracted partial event log sequence set. Solving the optimization problem for the conditions required for the process with respect to each of the branch point candidates and the sub-process acquired for each of the branch point candidates, the branch point of the process is determined from among the branch point candidates. And a selection unit for selecting.

異なるサブプロセスが混在するイベントログからプロセスが変化する分岐点と分岐後のサブプロセスを獲得可能とすることができる。   It is possible to acquire a branch point where a process changes and a sub-process after branching from an event log in which different sub-processes are mixed.

イベントログ集合の一例を示す図である。It is a figure which shows an example of an event log set. 非特許文献3の手法でプロセスを構成した結果の一例を示す図である。It is a figure which shows an example of the result of having comprised the process by the method of the nonpatent literature 3. FIG. 原因特定後の対処に係るサブプロセスが合流しないプロセスの一例を示す図である。It is a figure which shows an example of the process which the subprocess which concerns on the countermeasure after the cause specification does not merge. 本実施の形態によって可能となるサブプロセス及び分岐点の獲得結果の一例を示す図である。It is a figure which shows an example of the acquisition result of the sub process and branching point which are enabled by this Embodiment. 本発明の実施の形態におけるプロセス抽出装置のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the process extraction apparatus in embodiment of this invention. 本発明の実施の形態におけるプロセス抽出装置の機能構成例を示す図である。It is a figure which shows the function structural example of the process extraction apparatus in embodiment of this invention. プロセス抽出装置が実行する処理手順の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the process sequence which a process extraction apparatus performs. 分岐先サブプロセスの決定方法の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the determination method of a branch destination subprocess.

以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態において、プロセスとは、エキスパートを含むオペレータらによる、ネットワークシステム等のコンピュータシステムの故障派生時における、問題の見極めから対処完了までの一連の故障回復手順をいう。エキスパートとは、あらゆる故障事例を解決可能なエキスパートと呼ばれるオペレータである。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the present embodiment, the process refers to a series of failure recovery procedures from determination of a problem to completion of handling when a failure of a computer system such as a network system is performed by operators including experts. An expert is an operator called an expert who can solve any failure case.

本実施の形態において、図5及び図6に示されるプロセス抽出装置10は、エキスパート等の行動が記録されたイベントログから、当該行動が変化した、プロセスの分岐点を得る問題を、最適化問題として定式化し、最適な分岐点集合及びサブプロセス集合を獲得する。サブプロセスとは、プロセスを分岐点に区切ることにより形成される、プロセスの構成要素となる部分的なプロセスをいう。   In the present embodiment, the process extraction device 10 shown in FIGS. 5 and 6 uses an optimization problem as a problem to obtain a process branch point where the behavior has changed from an event log in which the behavior of an expert or the like is recorded. To obtain the optimum branch point set and sub-process set. A sub-process refers to a partial process that is a component of a process formed by dividing a process into branch points.

まず、本実施の形態で解くべき問題を定式化する。   First, the problem to be solved in the present embodiment is formulated.

プロセス抽出装置10に対する入力として、イベントログ列集合Lが与えられているとする。このとき、イベントログ列集合Lは以下に示すようなデータである。
L={Tr(1),Tr(2),...,Tr(|L|)
但し、Tr(i)はi番目の入力イベントログ列である。また、|・|は集合・の要素数を表す。入力イベントログ列Tr(i)は、イベントログが並べられた以下のデータであり、例えば、或る一つの故障回復手順に対応する。
Tr(i)=e(i) (i) ...e(i) |Tri|
(i) ∈Aは、i番目の入力イベントログ列のj番目のイベントログを示し、Tr(i)のイベントログ数を|Tr|とする。A={a,...,a|A|}は、入力イベントログ列に含まれ得るイベントログの集合であり、イベントログの種類数、即ち、Aの要素数は、|A|である。
Assume that an event log string set L is given as an input to the process extraction apparatus 10. At this time, the event log string set L is data as shown below.
L = {Tr (1) , Tr (2) ,..., Tr (| L |) }
However, Tr (i) is the i-th input event log sequence. | · | Represents the number of elements in the set. The input event log string Tr (i) is the following data in which event logs are arranged, and corresponds to, for example, a certain failure recovery procedure.
Tr (i) = e (i ) 1 e (i) 2 ... e (i) | Tri |
e (i) j ∈ A indicates the j-th event log of the i-th input event log sequence, and the number of event logs of Tr (i) is | Tr i |. A = {a 1 ,..., A | A | } is a set of event logs that can be included in the input event log sequence, and the number of types of event logs, that is, the number of elements of A is | A | is there.

次に、イベントログを並べた列である、サブプロセス集合Pを以下に定義する。
(k)=e(k) (k) ...e(k) |Pk|
(k) ∈Aは、k番目のサブプロセス集合P(k)におけるx番目のイベントログを示す。また、|P|は、P(k)のイベントログ数を示す。なお、ここでは、サブプロセスがイベントログの系列データとなっているが、実際のサブプロセス集合Pは、有限オートマトンやPetri−net等で表現される、状態遷移であることも考えられる(非特許文献1、非特許文献6参照)。
Next, a subprocess set P, which is a sequence of event logs, is defined below.
P (k) = e (k ) 1 e (k) 2 ... e (k) | Pk |
e (k) x ∈ A indicates the x-th event log in the k-th sub-process set P (k) . | P k | indicates the number of event logs of P (k) . Here, the subprocess is the event log series data, but the actual subprocess set P may be a state transition represented by a finite automaton, Petri-net, or the like (non-patent document). Reference 1 and Non-Patent Document 6).

本実施の形態の目的の一つは、イベントログ列集合Lを生成し得るサブプロセス集合P={P(1),...,P(|P|)}を獲得することである。但し、|P|はサブプロセスの数を表す。 One of the objects of this embodiment is to acquire a sub-process set P = {P (1) ,..., P (| P |) } that can generate the event log string set L. However, | P | represents the number of sub-processes.

また、入力イベントログ列Tr∈Lに対し、いずれのサブプロセスの後に、いずれのサブプロセスが実行されるかを示す、i番目の入力イベントログ列に対応する分岐点集合B(i)を、次のように定義する。
(i)={(b(i) ,f(i) ,t(i) ),...,(b(i) |Bi|,f(i) |Bi|,t(i) |Bi|)}
但し、b(i) ∈{1,...,T}は、分岐点の直前のイベントログの番号を、f(i) ∈Pは、分岐前のサブプロセスを、t(i) ∈Pは、分岐後のサブプロセスを示す。なお、イベントログの番号とは、入力イベントログ列Trの先頭からの当該イベントログの位置(すなわち、何番目のイベントログであるのか)を示す数値である。
For the input event log sequence Tri i εL, a branch point set B (i) corresponding to the i-th input event log sequence indicating which sub-process is executed after which sub-process is set. And is defined as follows:
B (i) = {(b (i) 1 , f (i) 1 , t (i) 1 ), ..., (b (i) | Bi | , f (i) | Bi | , t (i ) | Bi | )}
Where b (i) j ∈ {1,..., T i } is the number of the event log immediately before the branch point, f (i) j ∈ P is the subprocess before the branch, t (i ) j ∈P shows subprocess after branching. Note that the number of the event log, the position of the event log from the beginning of the input event log sequence Tr i (i.e., what number of events in which whether the log) is a numerical value indicating the.

また、|B|は、i番目の入力イベントログ列に対する分岐点の数である。本実施の形態は、入力されるイベントログ列集合Lから、サブプロセス集合Pを獲得するとともに、各イベントログ列に対する分岐点集合の集合B={B(1),…,B(|L|)}を獲得する。 | B i | is the number of branch points for the i-th input event log sequence. In this embodiment, a subprocess set P is acquired from an input event log string set L, and a set of branch point sets B = {B (1) ,..., B (| L | ) }.

以下に、プロセス抽出装置10への入力情報及びプロセス抽出装置10からの出力情報の一例を示す。   An example of input information to the process extraction apparatus 10 and output information from the process extraction apparatus 10 is shown below.

入力として、イベントログ列集合L={Tr(1)=uvwxy,Tr(2)=uvyz}が与えられたとする。このとき、
|L|=2,
(1) =v,e(1) =w,e(2) =z,
A={u,v,w,x,y,z},|A|=6,
である。なお、ここでは符号化して表現しているが、実際には各イベントログが、u="CPU負荷状態を確認する"、v="Webサーバのログを確認する"等のように、何らかの作業やシステムログを示す。
Assume that an event log string set L = {Tr (1) = uvwxy, Tr (2) = uvyz} is given as an input. At this time,
| L | = 2
e (1) 2 = v, e (1) 3 = w, e (2) 4 = z,
A = {u, v, w, x, y, z}, | A | = 6
It is. Although encoded here, each event log actually has some work such as u = “check CPU load status”, v = “check web server log”, etc. And show system log.

ここでは、イベントログ列集合Lからとり得るサブプロセス集合のうち、サブプロセス集合中のイベントログ数Σ k=1が最も少ないサブプロセス集合を考え、サブプロセス集合P={P(1)=uv,P(2)=wxy,P(3)=yz}を得たとする。このとき、
|P|=3,
B={B(1),B(2)},
(1)={(2,P(1),P(2))},
(2)={(2,P(1),P(3))},
|B|=|B|=1,
と表記できる。
Here, among the subprocess sets that can be taken from the event log sequence set L, a subprocess set having the smallest number of event logs Σ K k = 1 w k in the sub process set is considered, and the sub process set P = {P (1 ) = Uv, P (2) = wxy, P (3) = yz} At this time,
| P | = 3
B = {B (1) , B (2) },
B (1) = {(2, P (1) , P (2) )},
B (2) = {(2, P (1) , P (3) )},
| B 1 | = | B 2 | = 1,
Can be written.

上記のイベントログ列集合L、サブプロセス集合P、及び分岐点集合Bを用いると、イベントログ列を示すプロセスは、図4のように表現可能となる。イベントログ列集合Lのみを用いてα−algorithmと呼ばれる非特許文献3の手法により生成される図2のプロセス等と比較すると、図4に示されるプロセスでは、異なるサブプロセスへの遷移が明確にプロセス上に表現される。   When the event log string set L, the sub process set P, and the branch point set B are used, the process indicating the event log string can be expressed as shown in FIG. Compared with the process of FIG. 2 generated by the method of Non-Patent Document 3 called α-algorithm using only the event log string set L, the process shown in FIG. 4 clearly shows the transition to different sub-processes. Expressed on the process.

以上より、本実施の形態のプロセス抽出装置10は、上記の例のような、入力となるイベントログ列L(i)∈Lに対して、分岐点集合B及びサブプロセス集合Pを得るコンピュータある。本問題は、最適化問題として一般化可能である。
(B,P)=argmax(B*,P*)S(L,B*,P*) ・・・(1)
なお、上記では、イベントログ数Σ k=1|P|が最も少ないサブプロセス集合を得ることを条件として、サブプロセス集合P及び分岐点集合Bが獲得されたが、本実施の形態の特長は、入力されるイベントログ列集合Lにおいて、抽出されるプロセスに関して要求される条件に対する分岐点集合B及びサブプロセス集合Pを自動的に得られるという点であり、要求される条件、並びに要求される条件に合ったサブプロセス及び分岐点を得る手法は問わない。式(1)のスコア関数Sの定義によって、獲得される分岐点集合B及びサブプロセス集合Pを自由に変化させることが可能である。例えば、任意のサブプロセス中のイベントログp(k) から全てのイベントログへの情報エントロピーを最大化する問題と定義して、スコア関数Sを次のように表せる。
S(L,B,P)=Σp(k1)x1∈PΣp(k2)x2∈PE(p(k1) x1,p(k2) x2
E(p(k1) x1,p(k1) x1)=−Pr(p(k2) x2|p(k1) x1)logPr(p(k2) x2|p(k1) x1
Pr(p(k2) x2|p(k1) x1)=count(p(k2) x2,p(k1) x1)/count(p(k1) x1
但し、count(p(k1) x1)は、イベントログ列集合Lにおけるp(k1) x1の出現回数を、count(p(k2) x2,p(k1) x1)は、p(k2) x2とp(k1) x1とが共に出現するイベントログ列の回数を表すものとする。また、簡略化のためサブプロセス集合Pに含まれる任意のサブプロセスにおけるイベントログ全ての集合を、p(k) ∈Pと表記している。
As described above, the process extraction apparatus 10 according to the present embodiment is a computer that obtains the branch point set B and the sub-process set P for the input event log sequence L (i) εL as in the above example. . This problem can be generalized as an optimization problem.
(B, P) = argmax (B *, P *) S (L, B *, P *) (1)
In the above description, the subprocess set P and the branch point set B are acquired on the condition that the subprocess set having the smallest number of event logs Σ K k = 1 | P k | is obtained. The feature is that in the input event log string set L, a branch point set B and a sub-process set P with respect to the conditions required for the extracted process can be automatically obtained. Any method can be used to obtain subprocesses and branch points that meet the conditions. According to the definition of the score function S in the equation (1), the acquired branch point set B and subprocess set P can be freely changed. For example, the score function S can be expressed as follows by defining it as a problem that maximizes the information entropy from the event log p (k) x in any subprocess to all event logs.
S (L, B, P) = Σp (k1) x1εP Σp (k2) x2εPE (p (k1) x1 , p (k2) x2 )
E (p (k1) x1 , p (k1) x1 ) =-Pr (p (k2) x2 | p (k1) x1 ) logPr (p (k2) x2 | p (k1) x1 )
Pr (p (k2) x2 | p (k1) x1 ) = count (p (k2) x2 , p (k1) x1 ) / count (p (k1) x1 )
However, count (p (k1) x1 ) is the number of appearances of p (k1) x1 in the event log string set L, and count (p (k2) x2 , p (k1) x1 ) is p (k2) x2 p (k1) Let x1 denote the number of event log sequences that appear together. For simplification, a set of all event logs in an arbitrary subprocess included in the subprocess set P is expressed as p (k) x εP.

以下、プロセス抽出装置10について、具体的に説明する。図5は、本発明の実施の形態におけるプロセス抽出装置のハードウェア構成例を示す図である。図5のプロセス抽出装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。   Hereinafter, the process extraction apparatus 10 will be described in detail. FIG. 5 is a diagram illustrating a hardware configuration example of the process extraction apparatus according to the embodiment of the present invention. The process extraction device 10 in FIG. 5 includes a drive device 100, an auxiliary storage device 102, a memory device 103, a CPU 104, an interface device 105, and the like that are mutually connected by a bus B.

プロセス抽出装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。   A program for realizing processing in the process extraction apparatus 10 is provided by a recording medium 101 such as a CD-ROM. When the recording medium 101 storing the program is set in the drive device 100, the program is installed from the recording medium 101 to the auxiliary storage device 102 via the drive device 100. However, the program need not be installed from the recording medium 101 and may be downloaded from another computer via a network. The auxiliary storage device 102 stores the installed program and also stores necessary files and data.

メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってプロセス抽出装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。   The memory device 103 reads the program from the auxiliary storage device 102 and stores it when there is an instruction to start the program. The CPU 104 executes a function related to the process extraction device 10 according to a program stored in the memory device 103. The interface device 105 is used as an interface for connecting to a network.

図6は、本発明の実施の形態におけるプロセス抽出装置の機能構成例を示す図である。図6において、プロセス抽出装置10は、初期化部11、分岐点存在判定部12、分岐点候補獲得部13、分岐点選択部14、終了条件判定部15、及び出力部16等を有する。これら各部は、プロセス抽出装置10にインストールされる1以上のプログラムが、CPU104に実行させる処理により実現される。プロセス抽出装置10は、また、イベントログ列集合記憶部17を利用する。イベントログ列集合記憶部17は、例えば、補助記憶装置102、又はプロセス抽出装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。   FIG. 6 is a diagram illustrating a functional configuration example of the process extraction apparatus according to the embodiment of the present invention. In FIG. 6, the process extraction apparatus 10 includes an initialization unit 11, a branch point existence determination unit 12, a branch point candidate acquisition unit 13, a branch point selection unit 14, an end condition determination unit 15, an output unit 16, and the like. Each of these units is realized by processing that one or more programs installed in the process extraction device 10 cause the CPU 104 to execute. The process extraction device 10 also uses the event log string set storage unit 17. The event log string set storage unit 17 can be realized by using, for example, a storage device that can be connected to the auxiliary storage device 102 or the process extraction device 10 via a network.

イベントログ列集合記憶部17には、プロセスの抽出処理の入力となる、イベントログ列の集合(イベントログ列集合)が記憶されている。入力となるイベントログ列は、作業に該当するID化されたログの系列データであれば、どのようなものでも構わない。例えば、ITマネジメントシステムにおける、或る故障に関して記録された、オペレータの入力コマンドの系列データ等がイベントログ列であってもよい。また、非特許文献7によって出力された、作業履歴の各作業がID化されたデータを用いて、自然言語のデータを元にしたイベントログが用いられてもよい。更に、システム動作が記録されたsyslog等、人間の行動に対する記録でなく情報が、イベントログ列として用いられてよい。但し、イベントログ列集合は、異なるサブプロセスが混在するイベントログの集合であるとする。なお、プロセスの抽出処理とは、実質的に、プロセスの分岐点及びプロセスを構成するサブプロセスの抽出処理に相当する。   The event log string set storage unit 17 stores a set of event log strings (event log string set) that are input to the process extraction process. Any event log string may be used as long as it is series data of an ID log corresponding to the work. For example, series data of an operator's input command recorded for a certain failure in the IT management system may be an event log string. Further, an event log based on natural language data may be used by using the data output by Non-Patent Document 7 in which each work in the work history is converted into an ID. Furthermore, information other than a record of human behavior, such as a syslog in which system operations are recorded, may be used as the event log sequence. However, the event log string set is a set of event logs in which different sub-processes are mixed. The process extraction process substantially corresponds to the process branch point and the extraction process of sub-processes constituting the process.

初期化部11は、プロセスの抽出処理における初期化処理を実行する。例えば、初期化部11によって、イベントログ列集合記憶部17に記憶されているイベントログ列集合が読み込まれる。   The initialization unit 11 executes an initialization process in the process extraction process. For example, the initialization unit 11 reads an event log sequence set stored in the event log sequence set storage unit 17.

分岐点存在判定部12は、分岐点の探索対象内における、分岐点の有無を判定する。最初に分岐点の探索対象とされるのは、初期化部11によって読み込まれたイベントログ列集合である。   The branch point presence determination unit 12 determines the presence or absence of a branch point in the search target of the branch point. The event log string set read by the initialization unit 11 is first searched for a branch point.

分岐点候補獲得部13は、イベントログ列集合に基づいて、プロセスの分岐点の候補である1以上の分岐点候補を獲得する。   The branch point candidate acquisition unit 13 acquires one or more branch point candidates that are process branch point candidates based on the event log string set.

分岐点選択部14は、分岐点候補ごとに各イベントログ列における分岐先の部分イベントログ列の集合を抽出し、抽出された部分イベントログ列の集合から分岐先のサブプロセスを獲得し、抽出されるプロセスに関して要求される条件に対する最適化問題を、各分岐点候補と分岐点候補ごとに獲得されたサブプロセスとに関して解くことで、分岐点候補の中から前記プロセスの分岐点を選択する。なお、分岐点の選択によってサブプロセスも獲得される。すなわち、当該分岐点として選択された分岐点候補に関して獲得されたサブプロセスが、目的とされるサブプロセスである。   The branch point selection unit 14 extracts a set of branch destination partial event log sequences in each event log column for each branch point candidate, acquires a branch destination sub-process from the extracted set of partial event log sequences, and extracts A branch point of the process is selected from among the branch point candidates by solving an optimization problem with respect to a condition required for the process to be performed with respect to each branch point candidate and the subprocess acquired for each branch point candidate. A subprocess is also acquired by selecting a branch point. That is, the subprocess acquired for the branch point candidate selected as the branch point is the target subprocess.

終了条件判定部15は、分岐点存在判定部12、分岐点候補獲得部13、及び分岐点選択部14による再帰的な処理について、終了条件が満たされたか否かを判定する。   The end condition determination unit 15 determines whether or not the end condition is satisfied for the recursive processing by the branch point existence determination unit 12, the branch point candidate acquisition unit 13, and the branch point selection unit 14.

出力部16は、獲得された分岐点及びサブプロセスを示す情報を出力する。   The output unit 16 outputs information indicating the acquired branch point and subprocess.

以下、プロセス抽出装置10が実行する処理手順について説明する。図7は、プロセス抽出装置が実行する処理手順の一例を説明するためのフローチャートである。上記の問題は、特にサブプロセス集合Pのとり得る組み合わせが指数的に増大するため、最適解を得るための計算量は膨大となる。そこで、以下では近似解の計算方法の一例として、図7に基づいて、分岐後のイベントログ列から再帰的に分岐点を探索し、分岐点集合Bを順次得る手法を、詳細に説明する。   Hereinafter, a processing procedure executed by the process extraction apparatus 10 will be described. FIG. 7 is a flowchart for explaining an example of a processing procedure executed by the process extraction apparatus. In the above problem, since the combinations that can be taken by the sub-process set P increase exponentially, the amount of calculation for obtaining the optimum solution becomes enormous. Therefore, as an example of an approximate solution calculation method, a method of recursively searching for branch points from the branched event log string and sequentially obtaining the branch point set B will be described in detail based on FIG.

ステップS101において、初期化部11は、初期化処理を実行する。初期化処理において、イベントログ列集合記憶部17からイベントログ列集合が読み込まれ、読み込まれたイベントログ列集合がLとされる。また、分岐点探索対象L*=Lとされる。また、分岐点集合B={}、サブプロセス集合P={}とされる。更に、終了条件パラメータθ等が読み込まれる。   In step S101, the initialization unit 11 executes an initialization process. In the initialization process, the event log string set is read from the event log string set storage unit 17, and the read event log string set is set to L. Further, the branch point search target L * = L. Further, the branch point set B = {} and the sub-process set P = {}. Further, the end condition parameter θ and the like are read.

続いて、分岐点存在判定部12は、分岐点探索対象L*中に分岐点が存在する可能性の有無を判定する(ステップS102)。例えば、分岐点探索対象L*のイベントログ列数|L*|≦θならば、分岐点が無いと判定されてもよい。   Subsequently, the branch point presence determination unit 12 determines whether or not a branch point may exist in the branch point search target L * (step S102). For example, if the number of event log strings of the branch point search target L * is | L * | ≦ θ, it may be determined that there is no branch point.

分岐点が存在する可能性が無いと判定された場合(ステップS102でNo)、分岐点選択部14は、分岐点探索対象L*からサブプロセスを獲得し、獲得されたサブプロセスをサブプロセス集合Pに追加する(ステップS108)。サブプロセス集合Pの獲得方法は、所定の方法に限定されない。例えば、非特許文献3や非特許文献4等のプロセスマイニング手法が適用されてサブプロセスが獲得されてもよい。   When it is determined that there is no possibility that a branch point exists (No in step S102), the branch point selection unit 14 acquires a subprocess from the branch point search target L *, and the acquired subprocess is a subprocess set. It adds to P (step S108). The acquisition method of the subprocess set P is not limited to a predetermined method. For example, a sub-process may be acquired by applying a process mining technique such as Non-Patent Document 3 or Non-Patent Document 4.

分岐点が存在する可能性が有ると判定された場合(ステップS102でYes)、分岐点候補獲得部13は、分岐点の候補(以下、「分岐点候補c」とう。)の集合である分岐点候補集合Cを獲得する(ステップS103)。分岐点候補の獲得方法は、所定の方法に限定されない。例えば、イベントログ集合の要素e∈Aの全てが分岐点候補cとされてもよい。なお、分岐点候補集合Cを構成する各分岐点候補cの値は、ログ番号である。例えば、イベントログ列集合L={Tr(1)=uvwxy,Tr(2)=uvyz}が与えられている場合において、イベントログ集合の要素e∈Aの全てが分岐点候補cとされる場合、分岐点候補集合C={1,2,3,4}となる。 When it is determined that there is a possibility that a branch point exists (Yes in step S102), the branch point candidate acquisition unit 13 is a branch that is a set of branch point candidates (hereinafter referred to as “branch point candidate c”). A point candidate set C is acquired (step S103). The method for acquiring branch point candidates is not limited to a predetermined method. For example, all the elements eεA of the event log set may be the branch point candidate c. The value of each branch point candidate c constituting the branch point candidate set C is a log number. For example, when event log sequence set L = {Tr (1) = uvwxy, Tr (2) = uvyz} is given, all elements e∈A of the event log set are set as branch point candidates c. , Branch point candidate set C = {1, 2, 3, 4}.

続く、ステップS104及びS105において、分岐点選択部14は、ステップS103において獲得された分岐点候補集合Cにおける各分岐点候補cの中から最適分岐点を選択するための処理を実行する。最適分岐点とは、分岐点として確定される分岐点候補cをいう。   In subsequent steps S104 and S105, the branch point selection unit 14 executes a process for selecting the optimal branch point from among the branch point candidates c in the branch point candidate set C acquired in step S103. The optimum branch point is a branch point candidate c that is determined as a branch point.

最適分岐点の選択方法は、抽出されるプロセスに関して要求される条件によって異なる。当該条件は、図7の開始時に、パラメータとして入力されてもよい。ここでは、分岐後の各イベントログへの遷移確率エントロピーが最小化されれば、分岐後のサブプロセスがまとまりのあるイベントログの集合になるという仮定に基づき、情報エントロピーを最小化する分岐点候補cが最適分岐点として選択される例について説明する。   The method of selecting the optimum branch point depends on the conditions required for the extracted process. The condition may be input as a parameter at the start of FIG. Here, a branch point candidate that minimizes information entropy based on the assumption that if the transition probability entropy to each event log after branching is minimized, the subprocess after branching becomes a set of coherent event logs. An example in which c is selected as the optimum branch point will be described.

ステップS104において、分岐点選択部14は、各分岐点候補cにおける分岐先サブプロセスを決定するための処理を実行する。各分岐点候補cにおける分岐先サブプロセスの決定方法の一例については、図8を用いて説明する。   In step S104, the branch point selection unit 14 executes a process for determining a branch destination subprocess in each branch point candidate c. An example of a branch destination subprocess determination method for each branch point candidate c will be described with reference to FIG.

図8は、分岐先サブプロセスの決定方法の一例を説明するためのフローチャートである。図8において、ステップS201〜S206は、分岐点候補cごとに実行される。以下、処理対象とされている分岐点候補cを、「対象候補」という。   FIG. 8 is a flowchart for explaining an example of a branch destination sub-process determination method. In FIG. 8, steps S201 to S206 are executed for each branch point candidate c. Hereinafter, the branch point candidate c to be processed is referred to as “target candidate”.

ステップS201において、分岐点選択部14は、各入力イベントログ列Tr(i)から、対象候補以前の部分イベントログ列を抽出する。抽出された部分イベントログ列の集合を、Tr(i) pre∈L*preと表す。例えば、5つの入力イベントログ列Tr(i)から抽出される部分イベントログ列の数は、5(すなわち、Tr(i) preの要素数は、5)である。 In step S201, the branch point selection unit 14 extracts a partial event log sequence before the target candidate from each input event log sequence Tr (i) . A set of the extracted partial event log sequences is expressed as Tr (i) pre ∈ L * pre . For example, the number of partial event log sequences extracted from five input event log sequences Tr (i) is 5 (that is, the number of elements of Tr (i) pre is 5).

続いて、分岐点選択部14は、各入力イベントログ列Tr(i)から、対象候補の直後以降の部分イベントログ列を抽出する。抽出された部分イベントログ列の集合を、Tr(i) pos∈L*posと表す。例えば、5つの入力イベントログ列Tr(i)から抽出される部分イベントログ列の数は、5(Tr(i) posの要素数は、5)である。 Subsequently, the branch point selection unit 14 extracts a partial event log sequence immediately after the target candidate from each input event log sequence Tr (i) . A set of the extracted partial event log strings is expressed as Tr (i) pos ∈ L * pos . For example, the number of partial event log sequences extracted from five input event log sequences Tr (i) is 5 (the number of elements of Tr (i) pos is 5).

続いて、分岐点選択部14は、L*posの要素(Tr(i) pos)をκ個にクラスタリングする(ステップS203)。各クラスタは、分岐後の各イベントログ列の遷移先サブプロセスに対応するイベントログ列である。ここで、分岐点候補c(m)におけるTr(i) pos∈L*posのクラスタリング結果を、CL(m)={L(m) ,…,L(m) κ}と表現する。 Subsequently, the branch point selection unit 14 clusters L * pos elements (Tr (i) pos ) into κ (step S203). Each cluster is an event log string corresponding to a transition destination subprocess of each event log string after branching. Here, the clustering result of Tr (i) pos ∈ L * pos at the branch point candidate c (m) is expressed as CL (m) = {L (m) 1 ,..., L (m) κ }.

なお、クラスタ数κは、事前パラメータとして設定されてもよいし、非特許文献8に記載された手法等が用いられて自動的に決定されてもよい。また、クラスタリング方法も所定の方法に限定されない。例えば、グラフカットを最小化するクラスタリング手法として、Spectral Clustering(非特許文献5参照)等が利用されてもよい。   Note that the number of clusters κ may be set as a prior parameter, or may be automatically determined using the method described in Non-Patent Document 8. Further, the clustering method is not limited to a predetermined method. For example, Spectral Clustering (see Non-Patent Document 5) or the like may be used as a clustering method for minimizing the graph cut.

続いて、分岐点選択部14は、各クラスタL(m) κ∈CL(m)それぞれについて、1つのサブプロセスP(m) κを獲得する(ステップS204)。サブプロセスの獲得方法は、所定の方法に限定されない。例えば、非特許文献3や非特許文献4等に記載されたプロセスマイニング手法が利用されてもよい。 Subsequently, the branch point selection unit 14 acquires one subprocess P (m) κ for each cluster L (m) κ εCL (m) (step S204). The sub-process acquisition method is not limited to a predetermined method. For example, a process mining technique described in Non-Patent Document 3, Non-Patent Document 4, or the like may be used.

続いて、分岐点選択部14は、イベントログ列集合L*preについても、ステップS204と同様の方法で、1つのサブプロセスP(m) preを獲得する(ステップS205)。すなわち、L*preについては、クラスタリングは行われずに(或いは、L*preが一つのクラスとして扱われて)、サブプロセスP(m) preが獲得される。 Subsequently, the branch point selection unit 14 acquires one sub-process P (m) pre for the event log string set L * pre in the same manner as in step S204 (step S205). That is, for L * pre , clustering is not performed (or L * pre is treated as one class), and subprocess P (m) pre is acquired.

続いて、分岐点選択部14は、対象候補で分岐した場合の分岐点候補集合を、例えば、以下の演算によって全分岐点候補c(m)に関する分岐点候補集合B(i)(m)に追加することにより、分岐点候補集合B(i)(m)を更新する(ステップS206)。
(i)(m)=B(i)(m)∪{(c(m),Ppre,P(i)(m) κ)}。
但し、P(i)(m) κは分岐点以降の部分イベントログ列Tr(i)に該当するサブプロセスを示す。
Subsequently, the branch point selection unit 14 converts the branch point candidate set when the target candidate is branched into, for example, the branch point candidate set B (i) (m) for all branch point candidates c (m) by the following calculation. By adding, the branch point candidate set B (i) (m) is updated (step S206).
B (i) (m) = B (i) (m) ∪ {(c (m) , Ppre , P (i) (m) κ )}.
However, P (i) (m) ( kappa ) shows the sub process applicable to partial event log sequence Tr (i) after a branch point.

したがって、例えば、ステップS204において獲得されるサブプロセスP(m) preの数が、3であれば、3個の要素が、B(i)(m)に追加される。この3個の要素に関して、Ppreの値は、共通である。 Therefore, for example, if the number of sub-processes P (m) pre acquired in step S204 is 3, three elements are added to B (i) (m) . For these three elements, the value of P pre is common.

上記したステップS201〜ステップS206が実行されることで、分岐点候補集合B(i)(m)には、各分岐点候補cで分岐した場合の情報が登録される。 By executing the above-described steps S201 to S206, information at the time of branching at each branch point candidate c is registered in the branch point candidate set B (i) (m) .

図7に戻る。ステップS104に続いて、分岐点選択部14は、分岐点候補集合B(i)(m)に属する各分岐点候補において分岐した場合のスコアを計算し、分岐点候補集合B(i)(m)の中から、最適分岐点を選択する(ステップS105)。すなわち、分岐を行なった場合のサブプロセス集合P(m)={P(m) pre}∪{P(m) ,…,P(m) κ}について、以下のスコア関数Sを最小化する最適分岐点B及びサブプロセスPが獲得される。
(B,P)=argmax(B (m) ,P (m) S(L,B(m),P(m)
続いて、終了条件判定部15は、ステップS105において選択された最適分岐点Bが、終了条件を満たすか否かを判定する(ステップS106)。終了条件は、所定のものに限定されない。例えば、S(L,B,P)が、閾値γを超えていなければ終了条件が充足されてもよい。また、分岐後のクラスタ数κ=1であれば終了条件が充足されてもよい。
Returning to FIG. Following step S104, the branch point selection unit 14, the score in the case where the branch at each branch point candidates belonging to the branch point candidate set B (i) (m) is calculated, branch point candidate set B (i) (m ) To select the optimum branch point (step S105). That is, for the subprocess set P (m) = {P (m) pre } {{P (m) 1 ,..., P (m) κ } when branching, the following score function S is minimized. An optimal branch point B * and subprocess P * are obtained.
(B * , P * ) = argmax (B (m) , P (m) ) S (L, B (m) , P (m) )
Subsequently, the end condition determination unit 15 determines whether or not the optimum branch point B * selected in step S105 satisfies the end condition (step S106). The termination condition is not limited to a predetermined one. For example, the termination condition may be satisfied if S (L, B * , P * ) does not exceed the threshold value γ. Further, the termination condition may be satisfied if the number of clusters after branching κ = 1.

終了条件が満たされない場合(ステップS106でNo)、終了条件判定部15は、ステップS105において選択された最適分岐点Bを分岐点集合Bに追加し、更に、サブプロセス集合PをP=P∪{P pre}∪{P ,…,P κ}として更新する(ステップS107)。続いて、L κ∈CL全てに対し、再帰的にステップS102以降が実行される。すなわち、最適分岐点Bとして選択された分岐点候補に関して得られた各クラスタのそれぞれが、新たな探索対象L*とされて、再帰的にステップS102以降が実行される。 If the end condition is not satisfied (No in step S106), the end condition determining unit 15 adds the optimum branch point B * selected in step S105 to the branch point set B, and further sets the subprocess set P to P = P Update as {P * pre } ∪ {P * 1 ,..., P * κ } (step S107). Then, L * κ ∈CL * all respect, recursively step S102 and subsequent steps are executed. That is, each cluster obtained for the branch point candidate selected as the optimal branch point B * is set as a new search target L *, and step S102 and subsequent steps are recursively executed.

一方、終了条件が満たされた場合(ステップS106でYes)、分岐点集合B及びサブプロセス集合Pの更新は行われない。当該処理が再帰的に呼び出された処理であれば、呼び出し元の処理の制御が返却される。当該処理が、再帰的に呼び出された処理でない場合(大元の処理である場合)、出力部16が、分岐点集合B及びサブプロセス集合Pの内容を出力してもよい。   On the other hand, when the termination condition is satisfied (Yes in step S106), the branch point set B and the subprocess set P are not updated. If the process is a recursively called process, control of the caller process is returned. When the process is not a recursively called process (when it is an original process), the output unit 16 may output the contents of the branch point set B and the subprocess set P.

例えば、各イベントログ列に対する、分岐点集合B及びサブプロセス集合Pがユーザに提示されてもよい。ユーザはイベントログ中に存在するサブプロセスと、サブプロセスを実行するための分岐条件を見ることが可能となり、提示された情報を、例えば、故障発生時の対応フローチャートの生成等に用いることができる。   For example, the branch point set B and the subprocess set P for each event log sequence may be presented to the user. The user can see the subprocess existing in the event log and the branch condition for executing the subprocess, and the presented information can be used, for example, to generate a flowchart for handling a failure. .

なお、イベントログ列集合Lの入力と、分岐点集合B及びサブプロセス集合Pの提示は、同期的に行われなくてもよい。   Note that the input of the event log sequence set L and the presentation of the branch point set B and the sub-process set P may not be performed synchronously.

上述したように、本実施の形態によれば、イベントログ中のプロセスの分岐点及びサブプロセスの抽出を実現し、複数の異なるサブプロセスが含まれるイベントログに対するプロセスマイニングを実現可能とすることができる。すなわち、異なるサブプロセスが混在するイベントログからプロセスが変化する分岐点と、分岐後のサブプロセスを獲得可能とすることができる。   As described above, according to the present embodiment, it is possible to realize process mining for an event log including a plurality of different sub-processes by extracting process branch points and sub-processes in the event log. it can. That is, it is possible to acquire a branch point where a process changes and a subprocess after branching from an event log in which different subprocesses are mixed.

なお、本実施の形態において、分岐点候補獲得部13は、獲得部の一例である。分岐点選択部14は、選択部の一例である。   In the present embodiment, the branch point candidate acquisition unit 13 is an example of an acquisition unit. The branch point selection unit 14 is an example of a selection unit.

以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.

10 プロセス抽出装置
11 初期化部
12 分岐点存在判定部
13 分岐点候補獲得部
14 分岐点選択部
15 終了条件判定部
16 出力部
17 イベントログ列集合記憶部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
B バス
DESCRIPTION OF SYMBOLS 10 Process extraction apparatus 11 Initialization part 12 Branch point presence determination part 13 Branch point candidate acquisition part 14 Branch point selection part 15 End condition determination part 16 Output part 17 Event log sequence set storage part 100 Drive apparatus 101 Recording medium 102 Auxiliary storage apparatus 103 memory device 104 CPU
105 Interface device B bus

Claims (7)

イベントログ列の集合からプロセスを抽出するプロセス抽出装置であって、
前記イベントログ列の集合に基づいて、前記プロセスの分岐点となる可能性のある1以上の分岐点候補を獲得する獲得部と、
前記分岐点候補ごとに前記各イベントログ列における分岐先の部分イベントログ列の集合を抽出し、抽出された部分イベントログ列の集合から分岐先のサブプロセスを獲得し、前記プロセスに関して要求される条件に対する最適化問題を、前記各分岐点候補と前記分岐点候補ごとに獲得されたサブプロセスとに関して解くことで、前記分岐点候補の中から前記プロセスの分岐点を選択する選択部と、
を有することを特徴とするプロセス抽出装置。
A process extraction device that extracts processes from a set of event log columns,
An acquisition unit that acquires one or more branch point candidates that may become a branch point of the process based on the set of event log sequences;
For each branch point candidate, a set of branch destination partial event log strings in each event log string is extracted, a branch destination subprocess is obtained from the extracted set of partial event log strings, and is requested for the process A selection unit that selects a branch point of the process from the branch point candidates by solving an optimization problem for a condition with respect to each branch point candidate and the subprocess acquired for each branch point candidate;
A process extraction apparatus comprising:
前記選択部によって前記分岐点として選択された前記分岐点候補に関して抽出された前記部分イベントログ列の集合について、再帰的に分岐点を探索する、
ことを特徴とする請求項1記載のプロセス抽出装置。
Recursively searching for branch points for the set of partial event log sequences extracted for the branch point candidates selected as the branch points by the selection unit;
The process extraction apparatus according to claim 1, wherein:
前記選択部は、前記部分イベントログ列をクラスタリングすることにより得られるクラスタごとに、前記サブプロセスを獲得する、
ことを特徴とする請求項1又は2記載のプロセス抽出装置。
The selection unit acquires the sub-process for each cluster obtained by clustering the partial event log sequence.
The process extraction apparatus according to claim 1 or 2, characterized in that
イベントログ列の集合からプロセスを抽出するプロセス抽出方法であって、
コンピュータが、
前記イベントログ列の集合に基づいて、前記プロセスの分岐点の候補である1以上の分岐点候補を獲得する獲得手順と、
前記分岐点候補ごとに前記各イベントログ列における分岐先の部分イベントログ列の集合を抽出し、抽出された部分イベントログ列の集合から分岐先のサブプロセスを獲得し、前記プロセスに関して要求される条件に対する最適化問題を、前記各分岐点候補と前記分岐点候補ごとに獲得されたサブプロセスとに関して解くことで、前記分岐点候補の中から前記プロセスの分岐点を選択する選択手順と、
を実行することを特徴とするプロセス抽出方法。
A process extraction method for extracting a process from a set of event log columns,
Computer
An acquisition procedure for acquiring one or more branch point candidates that are branch point candidates of the process based on the set of event log sequences;
For each branch point candidate, a set of branch destination partial event log strings in each event log string is extracted, a branch destination subprocess is obtained from the extracted set of partial event log strings, and is requested for the process A selection procedure for selecting a branch point of the process from among the branch point candidates by solving an optimization problem for a condition with respect to each branch point candidate and the sub-process obtained for each branch point candidate;
The process extraction method characterized by performing.
前記選択手順において前記分岐点として選択された前記分岐点候補に関して抽出された前記部分イベントログ列の集合について、再帰的に分岐点を探索する、
ことを特徴とする請求項4記載のプロセス抽出方法。
Recursively searching for branch points for the set of partial event log sequences extracted for the branch point candidates selected as the branch points in the selection procedure;
The process extraction method according to claim 4, wherein:
前記選択手順は、前記部分イベントログ列をクラスタリングすることにより得られるクラスタごとに、前記サブプロセスを獲得する、
ことを特徴とする請求項4又は5記載のプロセス抽出方法。
The selection procedure acquires the sub-process for each cluster obtained by clustering the partial event log sequence.
6. The process extraction method according to claim 4, wherein the process is extracted.
請求項4乃至6いずれか一項記載のプロセス抽出方法を、コンピュータに実行させるためのプログラム。   A program for causing a computer to execute the process extraction method according to any one of claims 4 to 6.
JP2015041452A 2015-03-03 2015-03-03 Process extraction apparatus, process extraction method, and program Active JP6263487B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015041452A JP6263487B2 (en) 2015-03-03 2015-03-03 Process extraction apparatus, process extraction method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015041452A JP6263487B2 (en) 2015-03-03 2015-03-03 Process extraction apparatus, process extraction method, and program

Publications (2)

Publication Number Publication Date
JP2016162291A true JP2016162291A (en) 2016-09-05
JP6263487B2 JP6263487B2 (en) 2018-01-17

Family

ID=56846972

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015041452A Active JP6263487B2 (en) 2015-03-03 2015-03-03 Process extraction apparatus, process extraction method, and program

Country Status (1)

Country Link
JP (1) JP6263487B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6693557B2 (en) 2001-09-27 2004-02-17 Wavetronix Llc Vehicular traffic sensor
US8665113B2 (en) 2005-10-31 2014-03-04 Wavetronix Llc Detecting roadway targets across beams including filtering computed positions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191709A (en) * 2009-02-18 2010-09-02 Fuji Xerox Co Ltd Device, program, and system for supporting business management, information processing apparatus, and document management device
US20130139164A1 (en) * 2011-11-28 2013-05-30 Sap Ag Business Process Optimization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191709A (en) * 2009-02-18 2010-09-02 Fuji Xerox Co Ltd Device, program, and system for supporting business management, information processing apparatus, and document management device
US20130139164A1 (en) * 2011-11-28 2013-05-30 Sap Ag Business Process Optimization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MINSEOK SONG, C.W. AND W.M.P. VAN DER AALST: ""Trace Clustering in Process Mining"", INTERNATIONAL CONFERENCE ON BUSINESS PROCESS MANAGEMENT, JPN7017004064, 2008, pages 109 - 120, ISSN: 0003698020 *

Also Published As

Publication number Publication date
JP6263487B2 (en) 2018-01-17

Similar Documents

Publication Publication Date Title
CN111682954B (en) Method, system, and computer readable medium for managing a network of microservices
US11294754B2 (en) System and method for contextual event sequence analysis
US11126493B2 (en) Methods and systems for autonomous cloud application operations
US11243973B2 (en) Automated scalable contextual data collection and extraction system
JP6901243B2 (en) Systems and methods for optimizing control systems for process environments
US10929771B2 (en) Multimodal, small and big data, machine tearing systems and processes
US20160085399A1 (en) Real Time Streaming Analytics Platform
CN113950665A (en) Process understanding of Robotic Process Automation (RPA) using sequence extraction
CN107003931B (en) Decoupling test validation from test execution
US10225155B2 (en) Network anomaly detection
CN111859047A (en) Fault solving method and device
US20220222266A1 (en) Monitoring and alerting platform for extract, transform, and load jobs
JP2006244404A (en) Trouble recovering system and its device, rule making method and trouble recovering program
JP2021511572A (en) Recommendation of visual and execution templates to enable system-wide control and automation of data exploration
JP6263487B2 (en) Process extraction apparatus, process extraction method, and program
JP6332284B2 (en) Model checking device for distributed environment model, model checking method and program for distributed environment model
WO2019165456A1 (en) Automated scalable contextual data collection and extraction system
Tapia-Flores et al. Discovering Process Models from Incomplete Event Logs using Conjoint Occurrence Classes.
JP2015118562A (en) Script management program, script management apparatus, and script management method
KR102504939B1 (en) Cloud-based deep learning task execution time prediction system and method
Gutierrez et al. A comparison between expert systems and autonomic computing plus mobile agent approaches for fault management.
US20210092159A1 (en) System for the prioritization and dynamic presentation of digital content
US11868744B2 (en) Estimation of features corresponding to extracted commands used to divide code of software
US9753743B2 (en) Identifying a common action flow
US20210303363A1 (en) Method for Distributing Sub-applications of a Certain Application Among Computers of Platforms of at Least Two Different Levels

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161031

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171218

R150 Certificate of patent or registration of utility model

Ref document number: 6263487

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150