๐ง IT Helpdesk Ticket Classification using RNN
This project implements a Recurrent Neural Network (RNN) to automatically classify IT helpdesk support tickets based on their textual descriptions. It simulates a real-world enterprise IT support system where incoming tickets are automatically routed to the correct support team.
๐ Business Problem
Large IT teams receive thousands of support tickets every day. Manually reading and assigning tickets causes:
Delays
SLA violations
Increased workload
This system predicts the issue category of a ticket so it can be routed instantly.
Example categories:
Hardware Issue
Software Issue
Network Problem
Password Reset
Access Request
System Error
Security Incident
๐ Solution
We use an RNN-based deep learning model trained on historical ticket descriptions to predict the category of a new ticket automatically.
The system:
Extracts text from PDF and JSON tickets
Builds a training dataset
Trains an RNN text classifier
Exposes predictions through an API
๐ง Machine Learning Pipeline PDF / JSON Tickets โ Text Extraction โ Text Cleaning & Tokenization โ RNN Model Training โ Model Evaluation โ Prediction API
๐ Project Structure it-helpdesk-ticket-classifier-rnn/ โ โโโ src/ โ โโโ build_dataset.py # Extracts text from PDF & JSON files โ โโโ preprocess.py # Text cleaning & tokenization โ โโโ model.py # RNN architecture โ โโโ train.py # Model training โ โโโ evaluate.py # Performance evaluation โ โโโ api/ โ โโโ app.py # REST API for predictions โ โโโ data/ โ โโโ .gitkeep โ โโโ README.md # Dataset instructions โ โโโ models/ # Trained models (not committed) โโโ requirements.txt โโโ .gitignore โโโ README.md
๐ Dataset
The project uses IT helpdesk ticket data in PDF and JSON format.
Due to privacy and size constraints, the dataset is not included in this repository. Place your dataset files inside the data/ folder before running the project.
โ๏ธ Installation pip install -r requirements.txt
Extract text from tickets and create training data:
python src/build_dataset.py
๐ Run the Prediction API python api/app.py
API runs at:
๐ฎ Sample API Request { "ticket_text": "User is unable to connect to WiFi network in office" }
Response:
{ "predicted_category": "Network_Problem" }
๐ Tech Stack
Python
TensorFlow (RNN)
Pandas, NumPy
NLTK, spaCy
PyPDF2
Flask / FastAPI
๐ผ Why This Project Matters
This project demonstrates:
Natural Language Processing
Deep Learning with RNN
Data extraction from real documents
End-to-end ML pipeline
Production-style API deployment
This is a real enterprise use case, not a toy example.
๐จโ๐ป Author
Syed Sadath G Data Scientist | NLP | Deep Learning