TechTip: Watson APIs – Natural Language Classifier

Analytics & Cognitive
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

You would think it would be easy to tell what language you were using, but apparently for Watson that’s not the case. Or am I misunderstanding what this is? Hmmm, which could it be?

OK, so maybe I misunderstood this one a bit. Honestly, when I first looked at the API’s name, I thought it was related to figuring out what language you were using, whether it was Indo-European or Slavic or something else. My mistake.

The Natural Language Classifier is used to determine the intent behind a text selection, returning a confidence score to indicate how strongly it feels. In this way, it is related to the Tone Analyzer and the Personality Insights.

Thus, to my mind, it is more related to the APIs that are used in the customer service area—for example, to review customer feedback and such stuff—rather than to translate from one language to another.

It may seem that IBM has a multitude of APIs related to customer service, yet the importance of how your company is viewed is very important and can’t be underestimated. And it is something that often your customer service reps may not have a really good handle on. So let’s see what this offers us that other APIs did not.

The Difference?

The difference is that while some of the other Watson API text analyzers are oriented around text sections (that is, a paragraph or more), the Natural Language Classifier is designed to deal with questions.

If you look at the IBM site for this API and click on the Demo tab, you’ll see examples that you can use. Things like “What is the temperature going to be today?” or “Should I prepare for sleet?” I particularly like the upbeat nature of that question.

These are the types of things that customers are honestly likely to ask: “What's wrong with my oxidizer when it doesn’t emit oxygen?” or “Why are my knives not as sharp as they use to be?” or “I connected my printer, so why am I unable to print a test page?” or “Why don’t the detonators I purchased detonate?”  

How to Use This API?

So how do you use something like this? Is it just coming up with answers to random questions?

The answer is both yes and no.

Anyone who is familiar with customer service knows that there are very few random questions. Most people who call into a customer service line have basically the same questions. Their unit is not working for one of several reasons. And depending on at what level the unit is not working, there are only so many things that can be wrong with it.

In many ways, this is an ideal setup for a computer-based—that is, Watson-based—system answer. I am guessing you can almost hear the computer-asked questions and your responses.

What we notice with the demo that IBM presents is that the API does not provide exact answers to the questions.

For example, in the demo, it suggests the question “Will it be hot today?” Now the answer most people would want from this is either yes or no with maybe some indication of how hot it will be. But that’s not what you get from the Natural Language Classifier. Instead, it returns a “confidence level” related to what this question is about, and in this case, Watson decides it is 100 percent sure that this question relates to temperature.

What’s important here is that the essence of this API is not necessarily to provide an exact answer, but rather to determine intent. That is, rather than trying to analyze the tone, it is attempting to categorize the reason behind the question or statement. And that’s where using a number of different APIs in tandem can be a real plus.

We hear a great deal about chatbots that can be used in customer service applications, meaning we can replace human operators with an app. Now maybe there’s nothing wrong with that and maybe it’s just me, but I definitely prefer a human being to a machine. But the Natural Language Classifier would be used in tandem with Rachel from Customer Service.

By taking the questions that are recorded by the customer service representatives and running them through an analysis, you could determine some of the core reasons that customers call in for help. What percent were quality issues, or assembly instruction problems, or people just being lonely and needing to hear a human voice to stave off the desperation forced upon us by an increasingly mechanized society?

More Examples

For more ideas on what you can do with this API, check out the sample apps that are on the home page for this application. I particularly like the Sorting Hat one. But all are valid ways to use the Natural Language Classifier. A number of SDKs are available for it, including Python, Node.js, Swift, .NET, Unity, and Java. Try it. You’ll thank me later.