# Process Mining

Processes were usually manual, giving trust in people following them, e.g. Process that was defined by the company, and no automation. Process mining identifies the process from the logs (**process discovery**).

1. Modeling done with [BPMN](https://www.bpmn.org/) business process model notation language (UML) (DAG), i.e., static, boxes & arrows vs <https://en.wikipedia.org/wiki/Petri_net> <https://www.youtube.com/watch?v=EmYVZuczJ6k>, i.e., dynamic, token based, which allows simulations.
2. Conformance checking - a comparison the real process and the discovered.
   1. if you do not do certain parts in the process you are not compliant.
   2. for example to find out whether people taking shortcuts? optimizing the process without knowing.
3. can be used for offline vs real time process bug alerting
4. XES

### Tutorials

1. <https://medium.com/@c3_62722/process-mining-with-python-tutorial-a-healthcare-application-part-1-ae02027a050>
2. <https://medium.com/@c3_62722/process-mining-with-python-tutorial-a-healthcare-application-part-2-4cf57053421f>
3. <https://medium.com/@c3_62722/process-mining-with-python-tutorial-a-healthcare-application-part-3-cc9af986c122>
4. <https://medium.com/@c3_62722/process-mining-with-python-tutorial-a-healthcare-application-part-4-912286ee51b>
5. <https://pm4py.fit.fraunhofer.de/static/assets/api/2.7.5.1/getting_started.html#understanding-process-mining>
6. YouTube
   1. <https://www.youtube.com/watch?v=XLHtvt36g6U&list=PLkWuoFn9UEb5l41T4CMKPYHyRcL5ojI9Z>

### Tools

1. services need to be process-aware, i.e. send standardized logs - <https://www.celonis.com/> IBM process mining
2. Algorithms - can deal with parallelism
   1. [Alpha miner](http://mlwiki.org/index.php/Alpha_Algorithm) <http://mlwiki.org/index.php/Alpha_Algorithm>
   2. Inductive miner
3. <https://processintelligence.solutions/pm4py> <https://pm4py.fit.fraunhofer.de/>
4. <https://www.celonis.com/?>
5. <https://www.ibm.com/products/process-mining>
6. <https://www.celonis.com/wils-process-mining-class/?>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.mlcompendium.com/machine-learning/process-mining.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
