An advanced implementation combining Graph Neural Networks, Deep Learning, and Process Mining techniques for business process analysis and prediction.
This research project implements a novel approach to process mining using Graph Neural Networks (GNN) and deep learning techniques. The framework combines state-of-the-art machine learning models with traditional process mining methods to provide comprehensive process analysis and prediction capabilities.
- Somesh Misra @mathprobro
- Shashank Dixit @sphinx
- Research Group: ERP.AI Research
- Process Analysis
- Advanced bottleneck detection using temporal analysis
- Conformance checking with inductive mining
- Cycle time analysis and prediction
- Transition pattern discovery
- Spectral clustering for process segmentation
- Machine Learning Models
- Graph Attention Networks (GAT) for structural learning
- LSTM networks for temporal dependencies
- Reinforcement Learning for process optimization
- Custom neural architectures for process prediction
- Visualization Suite
- Interactive process flow visualization
- Temporal pattern analysis
- Performance bottleneck identification
- Resource utilization patterns
- Custom process metrics
src/
├── input/ # input files
├── models/
│ ├── gat_model.py # Graph Attention Network implementation
│ └── lstm_model.py # LSTM sequence model
├── modules/
│ ├── data_preprocessing.py # Data handling and feature engineering
│ ├── process_mining.py # Core process mining functions
│ └── rl_optimization.py # Reinforcement learning components
├── visualization/
│ └── process_viz.py # Visualization toolkit
└── main.py # Main execution script
- Python 3.8+
- PyTorch 1.9+
- PyTorch Geometric
- PM4Py
- NetworkX
- Additional dependencies in requirements.txt
- Clone the repository:
git clone https://github.com/ERPdotAI/GNN.git
cd GNN
- Install dependencies:
pip install -r requirements.txt
The system expects process event logs in CSV format with the following structure:
- case_id: Process instance identifier
- task_name: Activity name
- timestamp: Activity timestamp
- resource: Resource identifier
- amount: Numerical attribute (if applicable)
python main.py <input-file-path>
Results are stored in timestamped directories under results/
with the following structure:
results/run_timestamp/
├── models/ # Trained model weights
├── visualizations/ # Generated visualizations
├── metrics/ # Performance metrics
├── analysis/ # Detailed analysis results
└── policies/ # Learned optimization policies
Graph Neural Network Architecture
- Multi-head attention mechanisms
- Dynamic graph construction
- Adaptive feature learning
- Custom loss functions for process-specific metrics
LSTM Implementation
- Bidirectional sequence modeling
- Variable-length sequence handling
- Custom embedding layer for process activities
Process Mining Components
- Inductive miner implementation
- Token-based replay
- Custom conformance checking metrics
- Advanced bottleneck detection algorithms
Reinforcement Learning
- Custom environment for process optimization
- State-action space modeling
- Policy gradient methods
- Resource allocation optimization
We welcome contributions from the research community. Please follow these steps:
- Fork the repository
- Create a feature branch
- Implement your changes
- Submit a pull request with detailed documentation
If you use this code in your research, please cite:
@software{GNN_ProcessMining,
author = {Shashank Dixit/Somesh Misra},
title = {Process Mining with Graph Neural Networks},
year = {2025},
publisher = {ERP.AI},
url = {https://github.com/ERPdotAI/GNN}
}