Blog: Automating customer service through Unsupervised AI

Conversation-level Intent Discovery

Automating Customer Service

The hearth of any successful customer service process is to know what your users want. Corporations employ entire departments and spend large amounts of money for that end. Nevertheless, they soon realize you can’t scale up a team to, for instance, read comments on Social Media. Recently, AI has paved the way for its automation, driving data-based customer service strategies. Hence the recent buzz around automatic dialog systems (chatbots) to create human-like assistants that interact with users. However, the options opened up by AI go beyond chatbots: reduce churn by detecting early warnings of user dissatisfaction, relaunch customer service cases based on alerts for arising topics or prioritize messages in which sales opportunities are discovered. Regardless of the situation, a common need arises: to automatically infer user intents among large amounts of unstructured information.

How can help you with that?

In a previous post we discussed how to use our Unsupervised AI technology to automate the discovery of user intents on an ongoing basis. We saw how, through this technology, we could discover, analyze and explore the different intents addressed by your clients, identify them in new user utterances, and give them an adequate resolution. However, in customer service data, we typically have a list of conversations that include a back-and-forth dialog between two entities (user and agent):

Conversation example from Customer Support on Twitter Dataset

We could make use of this question-answer alignment to improve the intent discovery process. In particular, we seek to discover those intents on each side of the dialog (questions and answers) that best define the conversation scenario. For instance, in the previous example, several associations could be induced from the first question (e.g., please+fix, battery+drain or iOS+update). However, when we take a look at the answer, we can identify that the preferred intent for the question should focus on the battery performance. Specifically, we attempt to identify words on one side of the dialogue (e.g., questions) that are strongly related among themselves according to the words on the other side of the dialogue (e.g., answers).

For instance, below are the answer terms that make battery and drain to be related in the questions: the words themselves (battery and drain), terms related to the battery performance (life, long, last, full) and other terms related to the battery (charge, optimize, health).

In other words, battery and drain are related (in the question) because they normally co-occur with the same type of terms in the answers (you expect terms related to the battery performance to appear in the answer). On the contrary, please and fix will not be so closely related. Intuitively, they are not actually asking for anything specific. You can ask for help to fix any problem. In fact, both terms appear many times in the user requests related to many different problems. Consequently, there will be no specific terms in the answers that relate them both because they do not tend to co-occur with a similar set of answer words.

With this new formulation we intend to focus on those well-defined conversational relationships, thereby identifying those intents that best fit a conversational scenario, rather than the more topical intents . We can iteratively run this process to compute the relationships between terms of the questions, given the words in the answers, to then compute the relationships between the terms of the answers based on the discovered question relationships, and repeat the process until both representations converge.


Let’s take a look to the final dialogue representation and compare it to the original representation (i.e., when the relationships were calculated for each side of the dialogue separately).

For this experimentation we have made use of the tweets related to @AppleSupport in the Customer Support on Twitter Dataset. Using the original representation that only uses the information present in the user tweets (user queries to Apple Support), these will be the most related terms and the weight of their relationship:

Most related query terms

As can be seen, it includes some generic associations, barely interesting to define a conversational scenario. For example, the associations related to fix (please+fix, fix+shit, glitch+fix) are strongly related because they appear many times in the questions (i.e., users mainly complain about bugs in Apple products). Among these associations we can also find collocations (set of words that always appear together because they define a broader concept): every+time, anyone+else.

Conversely, the following are the most related terms in the user questions (i.e., tweets) when considering their relationship to the terms of the answers (i.e., the terms in Apple Support’s tweet answers):

Most related query terms, according to the answer terms

At a closer look, some aspects can be observed:

  • More specificity: They do not define general (topical) intents anymore. Associations like please+fix or problem+fix are no longer present among the most important ones.
  • More conversational: They focus on the different aspects that define the conversation flow of this particular scenario, such as problems with the phone (drain battery life, Bluetooth, WiFi), issues with Apple services and products (Music, Watch, Pay) or general problems (receive fake mails or scams).

This is just a small excerpt from the whole set of relationships (there are hundreds/thousands of them). Taking all these relationships into account, this new conversation-level induction allows a more refined intent discovery, better suited to managing conversations. In the following figure, some of these intents (the ones with largest coverage) are shown:

As depicted in the figure, two types of important intents to drive the conversations are discovered: the entities of the conversation (different versions of the iPhone or different Apple services such as Music or Pay) and issues related to these entities (battery performance or app crashes).

The following figure shows some of the messages associated to the intents that define one of these conversations: the battery problems of the iPhone. As you can see in the messages, it seems that there is a problem with the battery performance of the iPhone 8 Plus.

It is important to remark that these intents have been induced in a completely unsupervised fashion in the tweets addressed to the Apple’s Customer Support account on Twitter. Therefore, no prior information or human supervision has been necessary to discover this or any other particular problem. By extrapolating it to other datasets or domains, our AI technology enables the automation of any customer support service through the unsupervised discovery of those intents related to the problems, issues or comments that drive the user conversations or complaints.

If you are interested in our technology, you can request a demo and see how can help you achieve your company goals:

Check the other articles in our Building publication. We write about Machine Learning, Software Development, and our Company Culture.

Source: Artificial Intelligence on Medium

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top