Skip to content

tnolle/deepalign

Repository files navigation

DeepAlign: Alignment-based Process Anomaly Correction Using Recurrent Neural Networks

This repository holds an efficient implementation of the DeepAlign algorithm as proposed in the paper. The code in this repository can be used to reproduce the results given in the paper.

Setup

The easiest way to setup an environment is to use Miniconda.

  1. Install Miniconda (make sure to use a Python 3 version)
  2. After setting up miniconda you can make use of the conda command in your command line (Powershell, CMD, Bash)
  3. We suggest that you set up a dedicated environment for this project by running conda env create -f environment.yml
    • This will setup a virtual conda environment with all necessary dependencies.
    • If your device does have a GPU replace tensorflow with tensorflow-gpu in the environement.yml
  4. Depending on your operating system you can activate the virtual environment with conda activate deepalign on Linux and macOS, and activate deepalign on Windows (cmd only).
  5. If you want to make use of a GPU, you must install the CUDA Toolkit. To install the CUDA Toolkit on your computer refer to the TensorFlow installation guide.
  6. If you want to quickly install the deepalign package, run pip install -e . inside the root directory.
  7. Now you can start the notebook server by jupyter notebook notebooks.

Note: To use the graph plotting methods, you will have to install Graphviz.

Additional Material

To illustrate the findings in our paper, this repository contains Jupyter notebooks.

  1. Paper Process from Sec. 4
    • Describes the creation of the paper process used as the running example in the paper.
  2. Dataset Generation
    • Downloads the pretrained models and datasets used in the evaluation. Also includes the dataset generation script.
    • 2.A1 Generation Algorithm explains how the generation algorithm works.
  3. Training the Models
    • Demonstartes how to train your own models.
  4. Alignments
    • This notebook contains all the examples from the Evaluation section of the paper and outlines how to reproduce them.
  5. Caching the Alignments
    • This is a helper script to speed up the evaluation.
  6. Evaluation Script
    • This is the evaluation script used in the paper.
  7. Evaluation
    • This notebook contains all tables used in the paper. It also contains some figures that didn't make it into the paper.

References

  1. Nolle, T., Seeliger, A., Mühlhäuser, M.: Unsupervised Anomaly Detection in Noisy Business Process Event Logs Using Denoising Autoencoders, 2016
  2. Nolle, T., Luettgen, S., Seeliger A., Mühlhäuser, M.: Analyzing Business Process Anomalies Using Autoencoders, 2018
  3. Nolle, T., Seeliger, A., Mühlhäuser, M.: BINet: Multivariate Business Process Anomaly Detection Using Deep Learning, 2018
  4. Nolle, T., Luettgen, S., Seeliger, A., Mühlhäuser, M.: BINet: Multi-perspective Business Process Anomaly Classification, 2019
  5. Nolle, T., Seeliger, A., Thoma, N, Mühlhäuser, M.: DeepAlign: Alignment-based Process Anomaly Correction Using Recurrent Neural Networks, 2020

About

DeepAlign: Alignment-based Process Anomaly Correction Using Recurrent Neural Networks

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors