Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Hi All,

First of all, I would like to heartfully appreciate the efforts of Data Scientists, Machine Learning and Artificial Intelligence enthusiasts around the world.

Machine Learning is the new ideation and focal point of all the IT industry now.

Innovation at SAP is always superb and their efforts in bringing up a wonderful intelligent solution like SAP Service Ticket Intelligence (based on deep learning neural networks) in SAP Hybris Cloud for Customer deserves kudos from all the development fraternity.

Inspired and motivated by their efforts, I started designing a small, intelligent ticketing tool that classifies the tickets into relevant queues (of course only after a quality learning).

To achieve this I implemented Multinomial Naive Bayes Classifier using scikit-learn Python library.

I won't go in-depth into the technical part of the implementation in this post. I would share the complete implementation details in my further posts. I would like to share my experience of implementing Machine Learning.




Problem statement

Most of the ticketing tools in any company have varied teams to process the issues. In most of the tools we see, the component to which the ticket to be sent is manually chosen. A team or some human effort is being employed to route this tickets to relevant teams in case if they are raised to wrong queues. Is there any way to automatically route the tickets to exactly appropriate components while raising tickets?

Answer to this problem

Yes, possible. Having a history of tickets and other KBAs at our disposal, we can now not only simply route the tickets but also give recommended solutions to issues. Simply, to achieve this employ Machine Learning.




Ideation...



As depicted above, the machine learning model (a Python program) leverages the data present in the database to classify the incoming new ticket or service request to appropriate queues.

Going into some technical aspects...

The user interface for my custom ticketing tool is built using SAPUI5. I am using SAP HANA for storing the tickets and processing team queues.

Python model uses this history of tickets and queues to learn the word-category probabilities. So, when a new ticket is raised from this ticketing tool, the model predicts the best category to which the ticket can be fed. Awesome! No more hassle.

So, when a new ticket is raised from this ticketing tool, the model predicts the best category to which the ticket can be fed using Scikit-learn MultinomialNB algorithm.

To know how it works:

http://scikit-learn.org/stable/modules/naive_bayes.html#multinomial-naive-bayes

But, are the predictions always accurate?

When we feed in the quality data for training of the model, we can expect the best outcomes. The model scales to best outcomes eventually after learning on more number of quality tickets.

Sneak peek at my tool:



Results:

With the best quality of data (tickets) in learning, the model classified the new tickets fed to it into correct queues.




This is just a basic idea and implementation. I would like to explore more possibilities. I would like to work out the same on Google Tensorflow(An open-source software library for Machine Intelligence).

I really enjoyed looking at Machine Learning in action!

I will share all the code and more ideas in my further blogs.

Thank you for reading!

Best,
Sai Giridhar Varanasi
4 Comments