Unsupervised intent segmentation of anonymous visitors using multi-factor interaction analysis
A method includes retrieving raw clickstream data of a multitude of visitors of a client application. A multitude of session sequences obtained from the raw clickstream data is processed to obtain a multitude of engagement scores corresponding to the multitude of visitors. A multitude of page sequences obtained from the raw clickstream data is processed to obtain a multitude of page entropies corresponding to the multitude of visitors. Interaction velocities of the multitude of visitors are computed based on an interaction velocity function. Feature vectors for the multitude of visitors, are generated, including the engagement scores, page entropies, and interaction velocities. The feature vectors are clustered to obtain clusters. Each cluster is assigned to a corresponding intent category. The intent categories are mapped to the visitors to obtain intent categories for the visitors.
1 . A method comprising:
retrieving raw clickstream data of a first plurality of visitors of a client application;
processing, by an engagement model, a plurality of session sequences obtained from the raw clickstream data, to obtain a plurality of engagement scores corresponding to the first plurality of visitors;
processing a plurality of page sequences obtained from the raw clickstream data by a first entropy model to obtain a plurality of page entropies corresponding to the first plurality of visitors;
processing, by an intent segmentation model, the plurality of feature vectors to obtain a predetermined number of clusters;
computing interaction velocities of the first plurality of visitors based on an interaction velocity function;
generating feature vectors for the first plurality of visitors, to obtain a plurality of feature vectors, each comprising at least an engagement score, a page entropy, and an interaction velocity;
processing, by an intent segmentation model, the plurality of feature vectors to obtain a predetermined number of clusters; and
assigning each cluster of the predetermined number of clusters to a corresponding intent category;
configuring a multi-factor analytics engine by performing operations comprising:
training an engagement model of the multi-factor analytics engine to generate a revised engagement score using a session sequence of a second plurality of session sequences of a new visitor of the client application,
calibrating a second entropy model of the multi-factor analytics engine to generate the new page entropy of a page sequence of the new visitor of the client application, and
training a new intent segmentation model of the multi-factor analytics engine to generate a new predetermined number of clusters corresponding to intent categories from feature vectors of sessions of the new visitor of the client application;
deploying the multi-factor analytics engine.
2 . The method of claim 1 , further comprising:
assigning an intent category corresponding to a cluster of the predetermined number of clusters to a visitor of the first plurality of visitors, based on a feature vector corresponding to the visitor being included in the cluster, to obtain intent categories corresponding to the first plurality of visitors; and
transmitting the first plurality of visitors and the intent categories to an analytics application.
3 . The method of claim 1 , further comprising training the engagement model by performing operations comprising:
generating, from the raw clickstream data, a session sequence corresponding to a visitor, wherein the session sequence comprises a plurality of tokens, each comprising one of a session tag, a page tag, and an event tag, to obtain the plurality of session sequences; and
for the session sequence of the plurality of session sequences:
generating, using an embedding model, a plurality of token embeddings corresponding to the plurality of tokens.
4 . The method of claim 3 , wherein the operations further comprise:
for the session sequence of the plurality of session sequences:
processing the plurality of token embeddings by an encoder of the engagement model, to obtain a plurality of contextualized token embeddings,
pooling the plurality of contextualized token embeddings into an output embedding, and
processing, by a multi-layer perceptron (MLP) of the engagement model, the output embedding to obtain a predicted engagement score.
5 . The method of claim 3 , wherein the operations further comprise:
for the session sequence of the plurality of session sequences:
comparing a predicted engagement score to a binary conversion label using a binary cross entropy loss function to obtain a loss function value,
computing a gradient of the loss function value with respect to the predicted engagement score,
backpropagating the gradient through an MLP of the engagement model to update first weights of the MLP, and
backpropagating the gradient through an encoder of the engagement model to update second weights of the encoder.
6 . The method of claim 1 , further comprising calibrating the first entropy model by performing operations comprising:
generating, from the raw clickstream data, a plurality of ordered page visit pairs, each comprising a first page and a second page, wherein the second page is visited from the first page,
generating, using the plurality of ordered page visit pairs, a page transition matrix comprising probabilities of visits from the first page to the second page, and
applying a Markov function to the page transition matrix to obtain a steady-state probability vector, comprising steady-state probabilities corresponding to pages of the page transition matrix.
7 . The method of claim 1 , wherein processing the plurality of page sequences by the first entropy model further comprises, for a page sequence of the plurality of page sequences:
assigning steady-state probabilities corresponding to pages in the page sequence from a steady-state probability vector of the entropy model to obtain page probabilities of pages in the page sequence,
applying an entropy function to the page probabilities to obtain a page entropy value, and
applying a decay factor to the page entropy value, to obtain a page entropy,
to obtain the plurality of page entropies.
8 . The method of claim 1 , further comprising:
determining an optimal number of clusters for a clustering model of the intent segmentation model by performing operations comprising:
computing a plurality of clustering cost metrics for a plurality of candidate cluster counts, wherein each clustering cost metric of the plurality of clustering cost metrics comprises a within-cluster sum of squared distances,
computing a difference between a first clustering cost metric corresponding to a first cluster count and a second clustering cost metric corresponding to a second cluster count, wherein the second cluster count is consecutive to the first cluster count; and
responsive to the difference failing to satisfy a cost reduction threshold,
selecting the first cluster count as an inflection point.
9 . The method of claim 8 , wherein the operations further comprise:
computing silhouette scores for the plurality of candidate cluster counts using a silhouette scoring function, and
selecting the optimal number of clusters based on the inflection point and a candidate cluster count yielding a highest silhouette score.
10 . The method of claim 1 , further comprising training a clustering model of the intent segmentation model by performing operations comprising:
adding, to each feature vector of the plurality of feature vectors, at least one clickstream metric, comprising a signup interface (SUI) entry count, a chat count, a bounce session count, and a total session duration,
configuring the clustering model to generate a predetermined optimal number of clusters, and
processing, by the clustering model, the plurality of feature vectors to obtain the predetermined number of clusters.
11 . A system, comprising:
at least one computer processor;
a multi-factor analytics engine, executing on the at least one computer processor, and configured for:
retrieving raw clickstream data of a first plurality of visitors of a client application,
processing, by an engagement model of the multi-factor analytics engine, a plurality of session sequences obtained from the raw clickstream data, to obtain a plurality of engagement scores corresponding to the first plurality of visitors,
processing, by a first entropy model of the multi-factor analytics engine, a plurality of page sequences obtained from the raw clickstream data to obtain a plurality of page entropies corresponding to the first plurality of visitors,
computing interaction velocities of the first plurality of visitors based on an interaction velocity function,
generating feature vectors for the first plurality of visitors, to obtain a plurality of feature vectors, each comprising at least an engagement score, a page entropy, and an interaction velocity,
processing, by an intent segmentation model of the multi-factor analytics engine, the plurality of feature vectors to obtain a predetermined number of clusters, and
assigning each cluster of the predetermined number of clusters to a corresponding intent category,
wherein the multi-factor analytics engine is further configured for:
assigning an intent category corresponding to a cluster of the predetermined number of clusters to a new visitor, based on a feature vector corresponding to the new visitor being included in the cluster, to obtain intent categories corresponding to a second plurality of visitors, and
transmitting the second plurality of visitors and the intent categories to an analytics application;
a training application, wherein the training application is configured for performing operations comprising:
generating, from the raw clickstream data, a session sequence corresponding to the new visitor, wherein the session sequence comprises a plurality of tokens, each comprising one of a session tag, a page tag, and an event tag, to obtain the plurality of session sequences, and
generating, for the session sequence of the plurality of session sequences, using an embedding model, a plurality of token embeddings corresponding to the plurality of tokens.
12 . The system of claim 11 , wherein the engagement model is further configured for:
for the session sequence of the plurality of session sequences:
processing the plurality of token embeddings by an encoder of the engagement model, to obtain a plurality of contextualized token embeddings,
pooling the plurality of contextualized token embeddings into an output embedding, and
processing, by a multi-layer perceptron (MLP) of the engagement model, the output embedding to obtain a predicted engagement score.
13 . The system of claim 11 , wherein the training application is further configured for:
for the session sequence of the plurality of session sequences:
comparing a predicted engagement score to a binary conversion label using a binary cross entropy loss function to obtain a loss function value,
computing a gradient of the loss function value with respect to the predicted engagement score,
backpropagating the gradient through an MLP of the engagement model to update first weights of the MLP, and
backpropagating the gradient through an encoder of the engagement model to update second weights of the encoder.
14 . The system of claim 11 , further comprising a training application, configured for
calibrating the entropy model by performing operations comprising:
generating, from the raw clickstream data, a plurality of ordered page visit pairs, each comprising a first page and a second page, wherein the second page is visited from the first page,
generating, using the plurality of ordered page visit pairs, a page transition matrix comprising probabilities of visits from the first page to the second page, and
applying a Markov function to the page transition matrix to obtain a steady-state probability vector, comprising steady-state probabilities corresponding to pages of the page transition matrix.
15 . The system of claim 11 , wherein processing the plurality of page sequences by the entropy model further comprises:
for a page sequence of the plurality of page sequences,
assigning steady-state probabilities corresponding to pages in the page sequence from a steady-state probability vector of the entropy model to obtain page probabilities of pages in the page sequence,
applying an entropy function to the page probabilities to obtain a page entropy value, and
applying a decay factor to the page entropy value, to obtain a page entropy, to obtain the plurality of page entropies.
16 . The system of claim 11 , further comprising a training application, configured for determining an optimal number of clusters for a clustering model of the intent segmentation model by performing operations comprising:
computing a plurality of clustering cost metrics for a plurality of candidate cluster counts, wherein each clustering cost metric of the plurality of clustering cost metrics comprises a within-cluster sum of squared distances,
computing a difference between a first clustering cost metric corresponding to a first cluster count and a second clustering cost metric corresponding to a second cluster count, wherein the second cluster count is consecutive to the first cluster count,
responsive to the difference failing to satisfy a cost reduction threshold, selecting the first cluster count as an inflection point,
computing silhouette scores for the plurality of candidate cluster counts using a silhouette scoring function, and
selecting the optimal number of clusters based on the inflection point and a candidate cluster count yielding a highest silhouette score.
17 . The system of claim 11 , further comprising a training application, configured for performing operations comprising:
adding, to each feature vector of the plurality of feature vectors, at least one clickstream metric, comprising an SUI entry count, a chat count, a bounce session count, and a session duration,
configuring a clustering model of the intent segmentation model to generate a predetermined number of clusters, and
processing, by the clustering model, the plurality of feature vectors to obtain the predetermined number of clusters.
18 . The method of claim 1 , further comprising:
receiving raw clickstream data of a second plurality of visitors of the client application;
processing, by the engagement model, a second plurality of session sequences obtained from the raw clickstream data, to obtain a plurality of engagement scores corresponding to the second plurality of visitors;
processing, by the second entropy model, a plurality of page sequences obtained from the raw clickstream data to obtain a plurality of page entropies corresponding to the second plurality of visitors;
computing interaction velocities per session of the second plurality of visitors based on an interaction velocity function of the multi-factor analytics engine;
generating the feature vectors per session for the second plurality of visitors, to obtain the plurality of feature vectors, each comprising at least the engagement score, the page entropy, and the interaction velocity;
processing, by the new intent segmentation model, the plurality of feature vectors to obtain the new predetermined number of clusters;
assigning each cluster of the new predetermined number of clusters to the corresponding intent category;
assigning the intent category corresponding to a cluster of the new predetermined number of clusters to the new visitor, based on feature vectors corresponding to the new visitor being included in the cluster, to obtain intent categories corresponding to the plurality of visitors; and
transmitting the plurality of visitors and the corresponding intent categories to an analytics application.