Our Tech Blog

Better Personalization of Conversational Interfaces

Zvi Topol | Mar 18, 2021 | Natural Language Processing, Visualizations, Conversational Flows, Conversational Analytics, Embeddings, Clustering

In this blog post, we are going to look at one method that can help in personalization of conversational intefaces. Similarly to lookalike or segmentation analysis techniques from marketing analytics, conversational interface designers and developers can greatly benefit from better understanding of their audiences. This allows them, among other things, to improve the personalization of their interfaces and therefore increase user engagement.

While many existing personalization techniques for conversational interfaces use metdata-based user segmentation, focusing on fields such as user demographics or basic usage summary statistics, more advanced techniques look at conversational flows and how they can be leveraged to better personalize conversational interfaces.

In particular, we will discuss how to use conversational flows as a starting point for better user segmentation.

What are conversational flows you may ask? these are end-to-end conversations that users have had with your conversational interface. One way to represent such conversations is by using the sequence of user intents your Natural Language Understanding (NLU) engine outputs for the utterances in the conversation. If you need, at this point, to read more about NLU, user intents, or about how you can look at conversation flows as sequences of user intents, I invite you to check out two of our MSDN articles:
Gain Insigt From Conversations Using Process Mining With LUIS and Improving LUIS Intent Classifications

Imagine now that you can generate conversational flows summarizing all the interactions each user had with your conversational interface over a certain period, say during the most recent quarter. An example for a visualization summarizing such flows in terms of intents for a given user is in the screenshot below.

Now imagine you can represent flows by low-dimensional vector embeddings such that each vector in space represents the conversational flows of a user and that two vectors are closer in space if the conversational flows they represent are similar. You can then segment your users based on how they interact with your conversational interface and if you apply a dimensionality reduction technique such as PCA or t-SNE, you can end up with a useful visualization such as the one blow. In it, points represent the conversational flows of the different users (one point per user). It is possible to notice three distinct clusters, each corresponding to characteristic interaction "types".

It is thus possible to derive insights about users just from the way they interact with the interface, hence paving the way to better personalization. It is also possible to use these techniques for other use cases, one of which is, for example, comparing the effectiveness of various chatbot or voice interface deployments.

If you would like to improve your conversational interfaces, explore how to derive better insights from your conversational data or just provide feedback and suggestions - make sure to contact us at info@muyventive.com