In this article I’m presenting a Proof Of Concept (POC) to use IBM Watson as support to IBM Control Desk. My idea is to use IBM Watson to classify a Service Request in terms of internal priority based on emotional tone of request.
I used the Tone Analyzer to calculate the scores for various emotions like anger, joy, sadness, etc.
The service request priority can be high or low, for example a service request can be classified as priority 1 if the description include an anger tone or can be classified as priority 4 if the description include a joy tone. My guess is that if an user is quite his request can be managed with calm, instead if the user is angry his request have be handled with highest priority.
My solution is able to leverage the power of IBM Bluemix during the IBM Control Desk service request handling, in details my POC uses the Watson Tone Analyzer service. The Watson Tone Analyzer Service uses linguistic analysis to detect three types of tones from written text: emotion, social tendencies, and language style.
Emotions identified include things like anger, fear, joy, sadness, and disgust.
Social tendencies include things from the Big Five personality traits used by some psychologists. These include openness, conscientiousness, extroversion, agree.
Styles include confident, analytical, and tentative.
There are many use cases where the tone analyzer can be used:
Personal and business communications: to get feedback about the communication, which could improve the effectiveness of the messages.
Self-branding: bloggers and web-stars could use the Tone Analyzer Service to get feedback on their tone and fine-tune their writing to reflect a specific personality or style.
Customer support: If a human client that is interacting with an automated call-center agent is agitated or angry, it is likely reflected in the choice of words they use to explain their problem. An automated agent could use the Tone Analyzer Service to detect those tones, and be programmed to respond to them.
My proof of concept belongs to the third scenario, in details I used the emotions analysis applied to the service request’s description.
Here are the analysis results:
|Emotion||Description||Low value||High Value|
|joy||Joy or happiness has shades of enjoyment, satisfaction and pleasure. There is a sense of well-being, inner peace, love, safety and contentment.||Less than 0.5 – less likely to be perceived as joyful.||More than 0.75 – Highly likely to be perceived as joyful.|
|fear||A response to impending danger. It is a survival mechanism that is a reaction to some negative stimulus. It may be a mild caution or an extreme phobia.||Less than 0.5 – less likely to be perceived as scared.||More than 0.75 – Highly likely to be perceived as scared.|
|sadness||Indicates a feeling of loss and disadvantage. When a person can be observed to be quiet, less energetic and withdrawn, it may be inferred that sadness exists.||Less than 0.5 – less likely to be perceived as sad.||More than 0.75 – Highly likely to be perceived as sad.|
|disgust||An emotional response of revulsion to something considered offensive or unpleasant. It is a sensation that refers to something revolting.||Less than 0.5 – less likely to be perceived as disgusted.||More than 0.75 – Highly likely to be perceived as disgusted.|
|anger||Evoked due to injustice, conflict, humiliation, negligence or betrayal. If anger is active, the individual attacks the target, verbally or physically. If anger is passive, the person silently sulks and feels tension and hostility.||Less than 0.5 – less likely to be perceived as angry.||More than 0.75 – Highly likely to be perceived as angry.|
As first thing I tried the tone analyzer by REST API invoked by curl , you can copy&paste the API in your browser and test it:
Then I modified the Service Request application with the following items (using application designer) :
- three text field associated with three new attributes created on TICKET object: the internal priority based on tone and two fields for the two tones with the highest sentiment score.
By my simple REST client in Java for IBM Watson I invoked the API using the service request description as input.
For this first proof of concept I used a very simple algorithm to classify a service request: I set the internal priority equal to 1 when the tone with higher score is anger, in this test the service request is “I need to access ITSM folder in my Outlook. How do I do it?” and the anger tone has the best score:
Here is the Control Desk application modified.
I set the internal priority equal to 4 when the tone with higher score is joy, in this test the service request is “Hi I love your products, may you resolve me a problem with my mail client?” and joy tone has the best score:
That’s all !
Your comments and suggestions are welcome !