IT Ticket Classification
![](https://development.analyticsinsight.net/wp-content/uploads/2020/08/IT-TICKET-CLASSIFICATION.jpg)
1. Background
Customers contact companies via multiple channels, from social media platforms and review sites to email and live chats – any time of the day, wherever they are. With the growing number of mobile users, customers can easily access these services, adding to the volume of tickets generated. IT tickets are the generalized term used to refer to a record of work performed (or needing to be performed) by an organization to operate the company’s technology environment, fix issues, and resolve user requests. These tickets can be raised through the web, mobile app, emails, calls, or even in customer care centers. When an issue or support ticket drops into the IT helpdesk, first it needs to be processed and assigned a tag or category. These tickets are then routed to the right agent for resolution, according to the department that would be a perfect fit for the label of that ticket. Hence, the ticket needs to be correctly labeled, so that there is no waste of time and resources in routing the ticket to the right agent, only adding to the resolution time of that ticket. When this process of ticket classification is a manual one, usually what happens is that there are too many tickets to be tagged, and too many classes to choose from. As a result of this, most of the time the helpdesk personnel ends up selecting the ’Others’/ ’Miscellaneous’ tag for these tickets, which delays the entire routing process as a lot of time is spent processing these incorrectly tagged tickets. Ticket Classification is an essential task for every organization. However, it is one that is very mundane to allocate manual resources to. This is one of the main reasons why automation of Ticket Classification is so essential today.2. Problem Statement
The problem statement at hand is the three-tier hierarchical classification of IT tickets using natural language processing and machine learning techniques.![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/AA1.png)
3. Solution Methodology
The pipeline followed to get the required results were as follows:![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/AA2.png)
A. Exploratory Data Analysis:
Distribution of tickets across various the three layers of classification:- Distribution across the first layer: ‘Service’
![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/AA3.png)
![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/AA4.png)
- Distribution across the second layer: ‘Category’
![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/AA4.png)
- Distribution across the third layer: ‘Sub Category’
![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/AA5.png)
- Word Cloud:
![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/AA6.png)
B. Pre-processing of Raw Data
The pre-processing pipeline includes decisions needed to be made about the data. There was initially a large number of tickets that had been tagged in the ‘Others’ Category or the ‘Miscellaneous’ Category. After speaking to the IT Team there was more clarity on the classes that should be considered going forward and the final classes that were considered are as follows:![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/PP1-759x1024.png)
![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/AA7.png)
- Only ‘Department’, ‘Category’, ‘Sub-Category’, and ‘User Location’ had a significant level of dependence with the first layer of hierarchy: ‘Service’.
- As ‘Category’ and ‘Sub Category’ are layers of the subsequent hierarchy, they are expected to have a significant level of dependence. Hence, they will not be considered while model building.
![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/AA8.png)
C. Embeddings of Textual Data
Word Embeddings are required to use a character-based text as an input for a machine learning model by embedding the text into a vector space (vectorization). This converts the textual data into vectors that can then be used as features in Machine Learning algorithms. There were a variety of embeddings explored to get the one that was best suited for our data. Embedding techniques tried can be broadly classified into 3 categories:- Static/Basic Embeddings:
- Tf-Idf
- Word2Vec
- Glove
- Dynamic/Contextualized Embeddings:
- BERT
- ELMo
- Sentence Embeddings:
- Facebook’s InferSent
- Google’s Universal Sentence Encoder
![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/PP2.png)
![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/AA9.png)
![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/AA11.png)
![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/AA12.png)
D. Dimensionality Reduction
After applying the embeddings, the dataset grew significantly. The number of columns exceeded the number of rows, and hence it was essential to try Dimensionality Reduction methods on the dataset. Principal Component Analysis gave the desired results:![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/AA13.png)
E. Model Building
After having the final data ready, several machine learning algorithms were explored. The best performing method included a top-down approach where the classifier for the first level of the hierarchy was built and then subsequent layers were worked on. The target classes were converted into concatenated labels using the following methodology:- Tier 1: Service
- Tier 2: Service + Category
- Tier 3: Service + Category + Sub Category
![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/AA14.png)
![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/PP3.png)
F. User Integration
After building the complete pipeline, we saved the trained models and used those to build a flask app which would take in IT ticket, Department, and User Location as Input and would classify the ticket into 3 tiers of classification by triggering our saved models and acting as an API for the ticket classification service for the IT team. Flask Integration: INPUT![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/AA15.jpg)
![](https://www.analyticsinsight.net/wp-content/uploads/2020/08/AA17.jpg)
4. Conclusion:
This problem statement clarifies and throws light upon the fact that IT ticket routing/tagging and any such similar task can be easily automated through NLP and Machine Learning integration within our systems or on Cloud with very high precision and accuracy. InferSent performed the best in terms of Embedding technique which was expected as it is a sentence transformer utilizing capabilities of LSTM, GRU, and Attention networks, rather than the other methods which are word embedding techniques essentially. The best classification model for each tier in our case was XGBoost which is a tree-based model and does well to handle a class imbalance in the data. Ticket classification is an essential part for Ticket Routing and here are the key advantages that will largely help in implementing a more efficient Customer Care Service:- It will save hours of manpower, especially for large B2C organizations as they have a huge volume of tickets generated each day.
- Will largely help in taking data-backed decisions for Resource Allocation to optimize customer care.
- Will significantly reduce the overhead spent on routing tickets to the wrong departments.
- It can help detect patterns and seasonal trends and hence, estimate the load beforehand, or identify a larger underlying issue.
5. Future Scope:
Ticket Classification is the first and most crucial step for Ticket Routing. Once this has been implemented, it opens up opportunities for a lot of different AI integrations for the Ticket Routing/ Customer Service pipeline. A few of these options are:- Automation of the entire Ticket Routing process with minimal human supervision. Once the ticket is generated, it will route it to the most appropriate agent fit based on certain criteria such as:
- Urgency
- Location
- Current load of the agent
- Chatbot integration, to give customers around-the-clock response whenever they generate a ticket, even if there is no human available to address the issue at that time.
- Ticket classification as a reporting tool:
6. References:
Articles for embedding techniques: Articles for embedding techniques: 1. Sentence Bert (used in our code) :a. Paper: https://arxiv.org/abs/1908.10084
b. Implementation: https://github.com/UKPLab/sentence-transformers
2. Universal sentence encoder: a. Code: https://tfhub.dev/google/universal-sentence-encoder/4 b. Paper: https://arxiv.org/abs/1803.11175 3. Facebook’s infersent for sentence embeddings: a. Code: https://github.com/facebookresearch/InferSent b. Understanding: https://medium.com/analytics-vidhya/sentence-embeddings-facebooks-infersent-6ac4a9fc2001 c. Paper: https://arxiv.org/abs/1705.02364 4. ELMo: a. Paper: https://arxiv.org/pdf/1802.05365.pdf b. Understanding and Implementation: https://www.analyticsvidhya.com/blog/2019/03/learn-to-use-elmo-to-extract-features-from-text/Acknowledgements:
The authors wish to express their gratitude to Paulami Das, Head of Data Science CoE @ Brillio and Anish Roychowdhury, Senior Analytics Leader @ Brillio for their mentoring and guidance towards shaping up this study The authors also wish to acknowledge the immense support from Soubhik Chandaa, Manager IT operations @ Brillio and from his team with help on data and problem understanding.Authors:
-
Aarushi Bansal-
-
Muskan Gupta-
-
Praveen Kumar-