AI: Categorize Customer Conversations

Custom Categories for Customer Conversations

Cobus Greyling
4 min readAug 7, 2019

--

Dark Data…

According to a report from IBM Marketing Cloud, 90% of the data in the world today has been created in the last two years alone, at 2.5 quintillion bytes of data a day! And, says the report, with new devices, sensors, and technologies emerging, the data growth rate will likely accelerate even more.

The only problem is that the vast majority of this data is unstructured data, also referred to as dark data. This unstructured data which is captured needs to be structured in order to be of any use.

Mining Dark Data (aka Unstructured Data) making use of IBM Watson Cognitive Services

Enter Categorization of Conversations…

One of the subareas of Artificial Intelligence is (AI) is Natural Language Processing (NLP). And again, a subarea of NLP is Natural Language Understanding (NLU).

Many of the tasks related to NLP does not require understanding of the text to perform its tasks. Two of the more well known tasks of NLP are part-of-speech and Categorization.

Often it makes sense to do a higher order pass when it comes to natural language to categorize the user input, for example, a chatbot. For instance, say you have a chatbot which serves a large organization, and you want to try and classify the conversation. You can use a data structure as in Example 1a to train and create a custom category model.

Example 1a: Simple Data Structure for a Custom Category

A simplified example is in Example 1b. Here you can see the category is sports. But we create a list of nested sub categories, which breaks each line further down into more detail.

Example 1b: Simple Data Structure for a Custom Category

So based on the training data in Example 1b, If I should search for a “helmet” the category returned will be American Football Equipment. So the other entities and intents are ignored for the moment and the basic category of the unstructured input is deduced based on the model.

In a scenario where no custom categories are implemented, this narrow domain category detection would not be possible.

Note the subtle nuances which can be introduced; if a user has a query regarding “gloves” it will be assigned to the American Football subcategory. However, should someone say I am looking for “a glove”, the conversation will be categorized as pertaining to Baseball Equipment.

Example 2: Custom Categories for Sport Goods

Lastly, In Example 3 the search term is “shoes” which net slots into the “Basketball Equipment” category.

Example 3: Custom Category for Sporing Goods

This category value can be passed from the NLP layer to the NLU layer of the chatbot to be used as basic context for the conversation. This context can be used for followup questions or clarification. The chat or conversation can also be routed to a specific customer representative who is equipped to deal with this specific type of category.

A chatbot can also been seen as an ITR (Interactive Text Response) system fronting live agent chat. The chatbot, on failure to service the customer, can route the conversation to a relevant agent or department. Hence the ITR system is analogous to an IVR (Interactive Voice Response) system fronting a traditional call center.

Photo by Dil on Unsplash

--

--

Cobus Greyling

I explore and write about all things at the intersection of AI & language; LLMs/NLP/NLU, Chat/Voicebots, CCAI. www.cobusgreyling.com