In this, the first monthly project, I will be looking at trying to give ServiceNow the ability to automatically classify user input and suggest resolutions.
To start lets talk briefly about text classification. I will say upfront that I am no expert in natural language processing. I understand just enough to get myself in trouble. For my purpose I will be using what is known as a Naive Bayes Classifier.
A super simple explanation is that based on some given data one can predict the probable output. This is done by creating a sort of map by training the system with previous data for which the output is already known.
The data that is important for text classification is word frequency and really anything that can be expressed in terms of data can be classified this way.
The intention will be to train the system based on a user input “description” and classify that text in a couple dimensions. Possibly the type of resolution: Knowledge Base, Request, Incident and Category: Software, Hardware, Network and Topic. The resulting classification will be fed into a ServiceNow application to make suggestions and automatically resolve the users issue if possible.
Since the libraries to do the classification are too large to bring them into ServiceNow I think the best solution would be to create a WebService Integration to a NodeJS app. The integration will be able to add training data directly from ServiceNow and ask for a suggestion based on text.
The interface should accept users input and make suggestions which the user can accept or reject (and look for another solution.) This could either be from the Ticket table or possibly a custom form, like a mock chat system.
Join me for the next post in this series where I will prototype the Node Service and Integration. In the final post I will fully train the system and let end users try it.