# A Novel Process Recommendation Method That Integrates Disjoint Paths and Sequential Patterns
## 3 Proposed Method
### CPSP Mining Method  
Sequential pattern mining focuses on mining the correlation between sequences. Therefore, to extract more correlation knowledge between nodes in the edge-disjoint path sequences, this study further mined the edge-disjoint paths to obtain CPSPs. **Definition 1**. : _Contiguous path sequential pattern (CPSP): Given an edge-disjoint path \(L=<l_{1},l_{2},\)\(\ldots\)\(l_{i}>\) and a sequence \(\beta=<\beta_{1},\)\(\beta_{2},\)\(\ldots\)\(\beta_{m}>(m\leq i),\)\(\beta\) is a contiguous path suffix in \(L\) concerning the prefix \(\alpha=<\alpha_{1},\)\(\alpha_{2},\)\(\ldots\)\(\alpha_{k}>\) (\(k\leq i,\)\(\alpha_{1}=l_{i},\)\(\alpha_{k}=l_{k}\)) that satisfies the following condition: \(\beta_{1}=l_{k+1},\)\(\beta_{2}=l_{k+2},\) and \(\beta_{m}=l_{k+m}.\)_  
_CPSP refers to a frequent and positionally contiguous subsequence with support greater than a threshold in an edge-disjoint path sequence. A CPSP \(S=<s_{1},s_{2},\)\(\ldots\)\(s_{n}>\) can be represented by a binary group (\(\alpha,\beta\)), where_  
(1) \(n=k+m;\)__  
(2) \(s_{1}=\alpha_{1},\)\(s_{2}=\alpha_{2},\)\(s_{k}=\alpha_{k},\)\(s_{k+1}=\beta_{1},\)\(s_{k+2}=\beta_{2},\)\(s_{n}=\beta_{m}.\)CPSPs are all subsequences of frequent and position-continuous edge-disjoint paths, thus providing more reference knowledge to the process recommendation. Most current advanced contiguous sequential pattern mining algorithms [29; 30; 31] further constrain the data based on closed pattern mining algorithms [32; 33], thus mining non-complete sets of contiguous sequential patterns without the same degree of support. Since sequences with the same support may contain different nodes, which cannot be ignored in the calculation of the matching degree between the reference model and the process model library, this study proposed a CPSP that is non-closed for process recommendation. The algorithm mines the complete contiguous non-jumping CPSP, excluding frequent 1-sequences in the extracted edge-disjoint path sequences, to effectively cooperate with the recommendation module. Inspired by the algorithm of [34; 35], the improved idea of CPSpan is as follows:  
1. Recursive mining is performed only on the first item of local suffixes with support greater than a threshold, thus reducing the projection size and ensuring the continuity of the path sequence. 2. It further reduces the size of the projection database by converting the item set expansion into sequence expansion for the case where the modeler does not click on two process nodes simultaneously during the process recommendation. 3. It removes frequent 1-sequences that are not meant for process recommendation. As there may be sequence patterns that are not strongly correlated but match well with the processes of the reference model, the lift, confidence, and support thresholds were set to 1 in this study. The implementation of CPSPan is performed in the following steps shown in Figure 6.  
Figure 6: The CPSPan algorithm framework. The input for Algorithm 2 consists of the edge-disjoint path table obtained from the result of Algorithm 1 and the support threshold, and the output is a set of CPSPs. ```
Input:\(R\), the threshold of support threshold Output: set of CPSPs patterns Get all frequent 1-sequences \(i\) in \(R\) Build contiguous suffix projection library \(SD\mid i\) for the current prefix \(i\), and remove sequences that are discontiguous with \(i\) FOR (each suffix \(j\) in \(SD\mid i\)) do{  Combine the first term of \(j\) and the current prefix as a new prefix, obtain frequent 2-sequences Build \(SD\mid j\) prefixed by frequent 2-sequences in \(SD\mid i\) Repeat (3)-(5), recursively mine patterns of \(i\), returning when the current contiguous suffix projection library \(SD\) is empty Repeat (2)-(6), mining patterns of the remaining 1-sequences Delete 1-sequences Return patterns
```  
**Algorithm 2** CPSPan for process recommendation  
Taking the two edge-disjoint path sequences <A,C,D,B> and <A,D,C,B> obtained in Section 3.1 as an example.