1. Technical Field
The present disclosure generally relates to predictive analytics and more particularly to generating predictions for a future of a case.
2. Discussion of Related Art
In order to predict the behavior of a system, a state space representation may be provided. The states of the system and the transitions between these states model the behavior of the system. Once such a model is built, a future state can be determined from a current state by using transition probabilities and a set of linear equations. If the system has a Markov property, that is, if the future depends only on the current state, closed form expressions can be given for the state probabilities. Methods based on Markov Chains use one-step transition probabilities between states to determine the execution probability of a particular task.
Typically, however, business process models are non-Markovian, so that Markov Chains are applicable to only small subset of real-life problems. Further, state space representation of a business process may be computationally intensive and difficult to manage in the case of representing a state with many variables.
Other solutions include classification techniques such as decision trees under the assumption that the process model does not include parallel execution paths. Such assumptions do not always hold for realistic business process scenarios.
According to an embodiment of the present disclosure, a need exists for a method that does not subscribe to the Markovian assumption that a current state is independent of the past and that will not exclude the process model that contains parallel paths.
According to an embodiment of the present disclosure, a method for generating predictions includes receiving a business process model and dividing the business process model into a plurality of fragments, wherein the business process model comprises a plurality of nodes including a plurality of task nodes and at least one decision node, wherein each decision node is associated with a plurality of outcomes among the task nodes. The method further includes determining the decision node in at least one of the fragments, determining a decision tree for each decision node, determining a probability for reaching a terminal node in each fragment according to a recorded execution trace of the business process model, merging the probabilities obtained from the fragments to find a probability of a future task, and outputting a tangible indication of the probability of the future task.
According to an embodiment of the present disclosure, a method for generating predictions includes dividing a business process model into fragments, wherein the business process model includes task nodes and at least one decision node, determining the decision node in at least one of the fragments, determining a decision tree for each decision node, determining a probability for reaching a terminal node in each fragment, and merging the probabilities obtained from the fragments to find a probability of a future task.
Preferred embodiments of the present disclosure will be described below in more detail, with reference to the accompanying drawings:
According to an embodiment of the present disclosure, predictions may be generated from a probabilistic process model (PPM) mined from case instances of a business processes. The predictions may indicate a likelihood of different outcomes in a currently executing business process instance, such as the likelihood of executing a particular activity in the future given the state of current activity.
The business process may be structured (where the steps and their sequence are known), semi-structured, or unstructured (where the steps and their sequence vary from case to case). In the semi-structured business process (also referred to as a case), the order of activities to be performed may depend on factors such as human judgment, document contents, and business rules. Case workers decide which set of steps to take based on data and case information. Exemplary embodiments are described herein in terms predicting which activities will be performed in the future and how the case ends given state of a case. The state includes the activities executed and the data consumed or produced in the past.
A business process instance includes a sequence of activities or tasks, where each activity may have data associated with it. For example, in an automobile insurance process a task may have incoming document related data such as a claim document. Each process instance may also have data associated with it.
It should be understood that any known or future business provenance method may be used to capture, correlate and store events related to an executing business process instance in a trace. Further, any known or future mining method may be used to mine a process model of a business process from a set of execution traces.
According to an embodiment of the present disclosure, the likelihood of different outcomes, such as the likelihood of a future state may be predicted in a currently running business process instance on the basis of available document contents. Decision trees are learned at each decision point in the business process model, which is mined from a set of execution traces of the business process. Every task or activity with transitions to multiple tasks is a potential decision node in a PPM. The decision trees may be used to make predictions about the likelihood that different tasks will execute in the business process.
The business process may exhibit complex behavior, such as parallel task execution. This structural behavior has implications for predicting the likelihood of which tasks will be executed next. For example, parallelism upstream from a task in a process model may signify multiple paths to reach that task that influences the probability that it will execute. Moreover, a decision tree approach cannot be applied immediately if a parallel execution path exists. A prediction method according to an embodiment of the present disclosure may leverage the decision trees while taking the structural information of the business process into account. Such a prediction method may leverage decision tree predictions and combine them with other techniques of probability theory that take potential parallelism contained in the process model of the business process into account.
The following assumptions may be used in the following disclosure:
Described methods support INCLUSIVE, EXCLUSIVE, and PARALLEL gateways in a process model.
The process model can contain parallel executions, splits, and/or joins.
In the disclosure the following definitions apply, unless otherwise noted:
Fragment: graph of vertices and edges that contains only OR/XOR gateways but not an AND gateways (parallel executions) are called fragments.
Path: A sequence of vertices such that from each of its vertices there is an edge to the next vertex in the sequence is called path.
Terminal node: A vertex with no outgoing edges is called a terminal node.
Target node: A vertex that is being predicted as named as target node.
Starting node: A vertex that is used to start making predictions from is called a starting node.
A fragment represents a potential execution path in a business process that does not contain any parallel path. A business process model with parallel execution paths can be decomposed into a set of fragments. This way each fragment can be analyzed independent of each other.
The process of finding the probability of an outcome in a business process model takes as input a plurality of business process execution traces for past executions. This historical data may be used as an input to create a business process model by mining the process with the business process execution traces (block 101). After obtaining the business process model, a, fragmentation method may be used to decompose the business process model into fragments (block 102), where each fragment will contain only OR/XOR type of gateways. In block 103, execution traces for each fragment may be executed by considering the task nodes of the fragments. If the executed task is not included in the fragment as a task, corresponding execution task will be excluded from the execution trace for that fragment. In block 104, decision points on each fragment may be determined by going through each task/gateways. In block 105, the decision trees for each fragment may be trained by using the extracted execution traces. After training the decision trees in block 105, probabilities of all possible outcomes may be obtained using the trained decision trees for each fragment in block 106. These probabilities may be used in block 107 to determine a combined probability for the tasks that appear in more than one fragment. In view of the foregoing, a probability of executing a task from a given task may be determined using decision trees.
Fragmentation
In this section, the creation of fragments from a business process model that contains parallel execution paths is explained. Referring to incoming and outgoing edges of an AND gateway (for a fragmentation method); if M represents the number of incoming edges and N represents the number of outgoing edges, when M=2 and when N=3, the example below demonstrates the possible paths that need to be considered while executing the fragmentation method.
V: Task nodes in the process model.
E: Control flow in the process model (edges)
F: Set of fragments
fij: ijth fragment
li
D: Set of decision trees
dijk: Decision tree that is associated to ijth fragment's kth decision point
N: Outgoing edges from a vertex
M: Incoming edges into a vertex
Pij: Probability of executing task i, knowing that task j is already executed
Gj: Probability of reaching to target node from the starting node in fragment j
Referring to the determination of fragments (block 102), let G (V, E) represent the business process model, where V is the number of task nodes and E is the number of edges (control flow). Given these definitions,
Given the mined business process model of
The second of the four fragments may be generated as follows: The method will keep creating a new fragment from the first AND split. The second fragment will start with the task node a and task node c connection. After adding task c, its connections will be considered. Task nodes e and g will be added after task node c and then method will terminate itself since task node e is a terminal node and task node g is connected to an AND gateway.
The third of the four fragments may be generated as follows: The method will go through each node and determine that each node until the AND gateway between task node g and task nodes k and l is not considered. The third fragment is created by taking the task g and connecting it to task node k. The creation of this fragment will end at task node k since k is a terminal node.
A fourth fragment may be generated as follows: The method will keep creating a new fragment from the second AND split. The fourth fragment starts with the task node g and task node l connection. The creation of this fragment ends at task node l since l is a terminal node.
All of the fragments that are generated by the fragmentation method are shown in
Extracting Training Data for Decision Trees
Referring to a business process model as shown in
After decomposing the business process model into |F| fragments, training data may be extracted from the execution traces for each fragment {f11, f12, . . . , f|F|}. The training data collected for each fragment is used to learn a decision tree at each decision point in each fragment. A decision point in a fragment is a gateway where the execution can split into alternate paths depending on certain conditions such as the values of data attributes. A decision point is present at each XOR or OR gateway in the process model because at these gateways execution can split into different paths.
To be able to extract the training data, the method of
Training sequence for fragment 1: a b d e n k yields: a b d e n k
Training sequence for fragment 2: a c e g yields: a c e g
Training sequence for fragment 3: g l yields: g k
Training sequence for fragment 4: a b d c en g k L yields: g l
Referring now to the training of the decision trees; after extracting the training sequences and identifying the decision points within each fragment, the method determines whether the particular decision point is influenced by the case data or not. For example, a case instance with particular properties might follow a particular pattern. In order to detect such structural patterns based on the case data, machine-learning techniques can be used. Machine learning algorithms can learn the behavior of the data and then predict the behavior of a specific instance based on what it learnt from the similar patterns that have occurred in the past.
The method may convert every decision point into a classification problem [1, 2, 3, 4], where the classes are the different decisions that can be made. In order to solve such classification problems, the decision tree method can be used. A decision tree can be trained by using many execution traces and likelihood of a particular outcome can be determined by choosing one of the classification techniques, such as C5, CHAID, etc.
As an example, consider the business process model that is represented in
The fragmented business process model (see
The decision tree of
Using a C 5.0 decision tree algorithm (in the IBM software SPSS), which is an inductive inference algorithm and provides information for the prediction results. C 5.0 algorithm can be used when there are continuous variables (such as initial estimate attribute), nominal variables (such as policy type attribute) or missing values. A decision tree algorithm sorts the instances down the tree, from root to some leaf node, by looking at the statistical properties of the training data. More specifically, C 5.0 builds the decision tree from a set of training data using the concept of information entropy where the uncertainty of the random variables are taken into account while building the tree. The training sequences that are extracted in block 103 of the
As a result, one-step transition probabilities between the activities (such as starting vertex and all other vertices) can be found by exploring the results of the decision tree that is generated at every decision point.
Likelihood of Executing a Task
Referring to the determination of a probability that a task will execute; the reason for creating decision trees and training them with information from historical process execution traces is to give a case worker information about the likelihood of possible choices. More specifically, given that the case worker executed task a, the decision tree helps to find the likelihood of executing other tasks after the current task based on available data attributes at task a. This information can then be used to make predictions about which tasks will be executed in the future. A tangible indication of the probability of reaching the target may be output as a report, displayed value, risk assessment, etc.
The probability of executing a task in the future after executing a particular task can be found by using conditional probabilities. For example, if we are at task a and if we would like to predict the probability of executing task d in the future, we need to find the conditional probability, P(d\a). After training the decision trees on the predefined decision nodes (see in
Conditional probabilities for the tasks that only appear once in each fragment can be directly obtained from the decision tree as show in
For tasks that can be reached by more than one path in one fragment, the conditional probability that they will execute may be determined according to the flow diagram of
Determining the probability of reaching the target node via multiple fragments is done when the target node can be reached by more than once from different fragments. The probability of reaching the target node can be determined as one minus, multiplication of each individual fragment probabilities of not being able to reach to the target node that can be derived from step 1303 of the
For example: to determine the probability of reaching e from a in the business process model that is represented in
Step 0: Target node is e and it appears in Fragment 1 and Fragment 2.
Step 1:
Step 2: Conditional probability determination from the decision trees:
1. P(E\A) is calculated via DT1 in fragment 1
2. P(D\A) is calculated via DT1 in fragment 1
3. P(E\D) is calculated via DT2 in fragment 1
4. P(E\A) is calculated via DT3 in fragment 2
Step 3: Joint probability determination:
Pr{Reaching to E via red path}: P1=P(D\A)×P(E\D
Pr{Reaching to E via green path}: P2=P(E\A)
Pr{Reaching to E via yellow path}: P3=P(E\A)
Pr{Reaching to E within fragment 1}: G1=P2+P1
Pr{Reaching to E within fragment 2}: G2=P3
Step 4: Final determination:
Pr{Reaching E given A}=1−(1−G1)(1−G2)
In general probability of reaching to any activity may be expressed as:
where Gj is the probability of reaching the target within fragment j and m is the total number of fragments where the target is reachable. Furthermore,
where Pnj is the probability of reaching the target through the nth path (from starting node to target node) and K is the total number of paths (from starting node) to target.
It is to be understood that embodiments of the present disclosure may be implemented in various forms of hardware, software, firmware, special purpose processors, or a combination thereof. In one embodiment, a method for predictive analytics for document content driven processes may be implemented in software as an application program tangibly embodied on a computer readable storage medium or computer program product. As such the application program is embodied on a non-transitory tangible media. The application program may be uploaded to, and executed by, a processor comprising any suitable architecture.
Referring to
The computer platform 1501 also includes an operating system and micro-instruction code. The various processes and functions described herein may either be part of the micro-instruction code or part of the application program (or a combination thereof) which is executed via the operating system. In addition, various other peripheral devices may be connected to the computer platform such as an additional data storage device and a printing device.
It is to be further understood that, because some of the constituent system components and method steps depicted in the accompanying figures may be implemented in software, the actual connections between the system components (or the process steps) may differ depending upon the manner in which the present invention is programmed. Given the teachings of the present invention provided herein, one of ordinary skill in the related art will be able to contemplate these and similar implementations or configurations of the present invention.
Having described embodiments for generating predictions for a future of a case, it is noted that modifications and variations can be made by persons skilled in the art in light of the above teachings. It is therefore to be understood that changes may be made in exemplary embodiments of disclosure, which are within the scope and spirit of the invention as defined by the appended claims. Having thus described the invention with the details and particularity required by the patent laws, what is claimed and desired protected by Letters Patent is set forth in the appended claims.