Our Tech Blog
Better Personalization of Conversational Interfaces
Zvi Topol | Mar 18, 2021 | Natural Language Processing, Visualizations, Conversational Flows, Conversational Analytics, Embeddings, Clustering
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