Speech2Process is a tool to transform natural language (by text oder audio recorded) to BPMN process (incl. EventLog). This tool is part of a research paper.
- Transcribe audio to text (optional)
- Extract tasks (events) via NLP tool spaCy
- Generate simple EventLog for PM4PY
- Process Mining algorithm for BPMN creation
- Modus: Instance based (new) vs. Single Instance Intelligence (implemented)
- Annotations (e.g. improvment in records)
- New specific name
View the Demo screenshot and the research paper in german.
Get project by:
git clone https://github.com/bitnulleins/speech2process.git
You need Python and some Python libraries: requirments.txt
pip install -r requirments.txt
Read the installation manual to install PM4PY on your machine.
Problems with pm4py and CVXOPT?
I also had, but CVXOPT is not necessary. Try the manually Linux ARM instructions:
- Make sure you have a C/C++ compiler
gcc -v
- Install all needed pm4py Python library (if not already installed):
sudo pip3 install pyvis graphviz pydotplus pytz intervaltree deprecation tqdm stringdist pyemd jsonpickle sympy pandas==0.25.3
- Install pm4py without dependencies (and without CVXOPT):
pip3 install --no-deps pm4py
To work with audio files, you've to install flac libaries. Try on linux:
sudo apt-get install -y flac
On MacOS (via brew)
brew install flac
To generate BPMN model PNG, it requires:
sudo apt-get install graphviz
Check if graphviz works or is already installed:
dot -h
On MacOS (via brew):
brew install graphviz
To install specific language package:
python -m spacy download <package_name>
For german package:
python -m spacy download de_core_news_sm
- Switch to src directoy:
cd ./src
- Run:
python wsgi.py
Run app.py instead for debug mode.
You can read the paper here or cite it:
@misc{Dohrn_2022,
title={Speech-to-Process: Von Sprache zum Geschäftsprozess in Python},
url={https://github.com/bitnulleins/speech2process/raw/main/paper_speech2process.pdf},
author={Dohrn, Finn},
year={2022},
month={Nov}
}
Thanks to @ruslanmv for basic Flask project