# US 12,001,469 B2 · Generation of process models in domains with unstructured data

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,469 B2
- Document ID: US12001469B2
- Status: Granted
- Kind: B2
- Application number: 17/394,246
- Filed: 2021-08-04
- Published: 2021-12-16
- Granted: 2024-06-04
- Earliest claimed: 2019-02-12
- Assignees: Zuora, Inc.
- Applicants: Zuora, Inc.
- Inventors: Sudipto Shankar Dasgupta; Kamesh Raghavendra
- Web page: https://patentgrep.com/patent/US12001469B2

## CPC

- G06F 16/353: into predefined classes
- G06F 16/906: Clustering; Classification
- G06F 16/316: {Indexing structures}
- G06F 16/36: Creation of semantic tools, e.g. ontology or thesauri
- G06N 3/042: Knowledge-based neural networks; Logical representations of neural networks
- G06N 3/044: Recurrent networks, e.g. Hopfield networks
- G06N 3/0442: characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
- G06N 3/045: Combinations of networks
- G06N 3/08: Learning methods
- G06N 3/084: Backpropagation, e.g. using gradient descent
- G06N 3/09: Supervised learning
- G06N 3/092: Reinforcement learning
- G06N 5/02: Knowledge representation; Symbolic representation
- G06N 5/025: Extracting rules from data
- G06Q 10/0633: Workflow analysis
- G06Q 10/067: Enterprise or organisation modelling
- G06Q 10/06334: {using forecasting or predicting}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A computing server configured to process data of a domain from heterogeneous data sources. A domain may store data and schema, domain knowledge ontology such as resource description framework, and unstructured data. The computing server may extract objects from the unstructured data. The computing server may convert the extracted named entities and activities to word embeddings and input the word embeddings to a machine learning model to generate an activity time sequence. The machine learning model may be a long short-term memory. A process model may be generated from the time sequence. The computing server may identify outliers in the process model based on metrics defined by the domain. The computing server may convert transactions without outliers as word embeddings and generate signatures of the transactions using cosine similarity. The computing server may augment the results with the domain knowledge ontology.

## Claims

### Claim 1

A computer-implemented method, comprising:
receiving a master data schema of a domain and a transaction data schema of the domain;
identifying named entities in unstructured data of the domain based on the master data schema and the transaction data schema, at least one of the identified named entities corresponding to values stored in the master data schema or the transaction data schema;
identifying activities associated with the named entities, at least one of the identified activities extracted from the unstructured data;
labeling the activities with timestamps to generate an activity time sequence that arranges labeled activities in accordance with the timestamps;
generating one or more event sequences related to a target process associated with the domain, at least one of the event sequences generated from the activity time sequence;
combining the plurality of event sequences to generate a process model representing the target process, the process model comprising data representing a directed and branched graph, at least a branch in the graph corresponding to the at least one of the event sequences generated from the activity time sequence; and
identifying a bottleneck in the target process based on the data representing the directed and branched graph, the identifying the bottleneck in the target process comprising:
receiving a performance index;
classifying the process model into a plurality of steps;
determining an average performance index value for one of the steps for transactions that belong to the target process;
identifying at least one transaction with the one of the steps associated with a performance index values that deviates from the average performance index for more than a threshold amount; and
marking the one of the steps of the identified at least one transaction as the bottleneck.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
augmenting the process model with domain knowledge ontology of the domain.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the activity time sequence is generated by:
representing the named entities as vectors based on relationships among the named entities referenced in the unstructured data;
inputting the activities with the timestamps that are associated with the vectors into a machine learning model, the machine learning model being a long short term memory neural network; and
generating, by the machine learning model, the activity time sequence.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the plurality of event sequences are generated from the unstructured data, transaction data corresponding to the transaction data schema, and master data corresponding to the master data schema.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, further comprising:
inputting a version of the process model into a recurrent neural network; and
generating, by the recurrent neural network, a predicted next step of the target process.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein identifying the bottleneck in the target process further comprises:
classifying the process model into a plurality of steps;
determining an average time for the one of the steps based on time spent for transactions that belong to the target process;
identifying at least one transaction with the one of the steps associated with time spent that deviates from the average time for more than a threshold amount; and
marking the one of the steps of the identified at least one transaction as the bottleneck.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, further comprising:
identifying a plurality of transactions that belong to the target process, a transaction including one or more events of the target process occurred;
classifying the plurality of transactions into a first group comprising transactions without being marked as having outliers and into a second group comprising transactions being marked as having outliers;
determining signatures of the first group; and
constructing a process variant based on the signatures of the first group.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, wherein an outlier is identified by comparing a vector representing a transaction to a reference vector representing a reference transaction through cosine similarity.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, further comprising:
generating a process variant from the process model;
receiving a manual input to correct the process variant; and
saving the process variant in the domain.

### Claim 10

A system, comprising:
a domain storing a master data schema of the domain and a transaction data schema of the domain; and
a computing server comprising a memory and at least one processor, the memory comprising instructions executable by the at least one processor, the instructions, when executed, cause the at least one processor to:
receive the master data schema and the transaction data schema;
identify named entities in unstructured data of the domain based on the master data schema and the transaction data schema, at least one of the identified named entity corresponding to values stored in the master data schema or the transaction data schema;
identify activities associated with the named entities, at least one of the identified activities extracted from the unstructured data;
label the activities with timestamps to generate an activity time sequence that arranges labeled activities in accordance with the timestamps;
generate one or more event sequences related to a target process associated with the domain, at least one of the event sequences generated from the activity time sequence;
combine the plurality of event sequences to generate a process model representing the target process, the process model comprising data representing a directed and branched graph, at least a branch in the graph corresponding to the at least one of the event sequences generated from the activity time sequence; and
identify a bottleneck in the target process based on the data representing the directed and branched graph by
receiving a performance index;
classifying the process model into a plurality of steps;
determining an average performance index value for one of the steps for transactions that belong to the target process;
identifying at least one transaction with the one of the steps associated with a performance index values that deviates from the average performance index for more than a threshold amount; and
marking the one of the steps of the identified at least one transaction as the bottleneck.

### Claim 11 (depends on 10)

The system of claim 10, wherein the instructions, when executed, further cause the at least one processor to:
augment the process model with domain knowledge ontology of the domain.

### Claim 12 (depends on 10)

The system of claim 10, wherein the activity time sequence is generated by instructions that further cause the at least one processor to:
represent the named entities as vectors based on relationships among the named entities referenced in the unstructured data;
input the activities with the timestamps that are associated with the vectors into a machine learning model, the machine learning model being a long short term memory neural network; and
generate, by the machine learning model, the activity time sequence.

### Claim 13 (depends on 10)

The system of claim 10, wherein the plurality of event sequences are generated from the unstructured data, transaction data corresponding to the transaction data schema, and master data corresponding to the master data schema.

### Claim 14 (depends on 10)

The system of claim 10, wherein the instructions, when executed, further cause the at least one processor to:
identify a plurality of transactions that belong to the target process, a transaction including one or more events of the target process occurred;
classify the plurality of transactions into a first group comprising transactions without being marked as having outliers and into a second group comprising transactions being marked as having outliers;
determine signatures of the first group; and
construct a process variant based on the signatures of the first group.

### Claim 15 (depends on 14)

The system of claim 14, wherein an outlier is identified by comparing a vector representing a transaction to a reference vector representing a reference transaction through cosine similarity.

### Claim 16

A non-transitory computer readable medium for storing computer code comprising instructions, when executed by at least one processor, cause the at least one processor to:
receive a master data schema of a domain and a transaction data schema of the domain;
identify named entities in unstructured data of the domain based on the master data schema and the transaction data schema, at least one of the identified named entity corresponding to values stored in the master data schema or the transaction data schema;
identify activities associated with the named entities, at least one of the identified activities extracted from the unstructured data;
label the activities with timestamps to generate an activity time sequence that arranges labeled activities in accordance with the timestamps;
generate one or more event sequences related to a target process associated with the domain, at least one of the event sequences generated from the activity time sequence;
combine the plurality of event sequences to generate a process model representing the target process, the process model comprising data representing a directed and branched graph, at least a branch in the graph corresponding to the at least one of the event sequences generated from the activity time sequence; and
identify a bottleneck in the target process based on the data representing the directed and branched graph by
receiving a performance index;
classify the process model into a plurality of steps;
determining an average performance index value for one of the steps for transactions that belong to the target process;
identifying at least one transaction with the one of the steps associated with a performance index values that deviates from the average performance index for more than a threshold amount; and
marking the one of the steps of the identified at least one transaction as the bottleneck.
