Predictions of sequences of next events in the business log with A-priori knowledge.
It is the source code to support experiments performed for the article “Leveraging A-priori Knowledge in Predictive Business Process Monitoring” by Chiara Di Francescomarino and Chiara Ghidini and Fabrizio Maria Maggi and Giulio Petrucci and Anton Yeshchenko
Code can be used to train LSTM models to predict sequences of next events. Also, different prediction techniques available:
The project was written in Python (ver: 2.7.12), with Pycharm IDE. Also, for LTL formula check module you will need to run Java code in background (JDK ver: 1.8).
Keras (ver: 1.1.2) is used alongside with Tensorflow (ver: 0.12.0-rc0) backend.
In order to use the scripts few steps need to be performed.
Before running any inference algorithms you need to run the java service from the LTLCkeckForTraces folder.
The historical log should be converted into the supported format. In order to do so, csv file can be processed by the script csv_converter.py. Just feed the full csv log, and specify where the case ID, activity ID, and timestamps are. Put the file in the data folder.
In the file shared variables, write the paths to the files you will use.
Supplementary:
S1. The properties_of_logs.py can be run in order to collect general information about the log (that are numbe rof cycles, alphabet size e.c.)
S2. graph_results.py used to generate graphs on results
S3. LTL formulas can be discovered using ‘Declare miner’ plugin in ProM.
This code is supported by Anton Yeshchenko (anton.yeshchenko@gmail.com)
The code based on the (original repository)