<p>In short, </p>

<ol>
<li>Learn a fixed-length embedding (representation) of each event;</li>
<li>Learn a way to combine a sequence of such embeddings into a single representation for each event, then use your favorite unsupervised methods.</li>
</ol>

<p>For (1), you can do it either manually or use an encoder/decoder;
For (2), there is a range of things you can do, ranging from just simply averaging embeddings from each event, to training an <a href="https://towardsdatascience.com/understanding-encoder-decoder-sequence-to-sequence-model-679e04af4346" rel="nofollow noreferrer">encoder-decoder</a> on reconstructing the original sequence of events and take the intermediate representation (that the decoder uses to reconstruct the original sequence). </p>

<p>A good read on this topic (though a bit old; you now also have the option of <a href="https://arxiv.org/abs/1706.03762" rel="nofollow noreferrer">Transformer Network</a>):</p>

<p><a href="https://nlp.stanford.edu/manning/talks/Simons-Institute-Manning-2017.pdf" rel="nofollow noreferrer">Representations for Language: From Word Embeddings to Sentence Meanings</a></p>
Is it possible to cluster data with grouped rows of data in unsupervised learning?
<p>I am working to setup data for an unsupervised learning algorithm. The goal of the project is to group (cluster) different customers together based on their behavior on the website. Obviously, some sort of clustering algorithm is best for discovering patterns in the data we can't see as humans.</p>

<p>However, the database contains multiple rows for each customer (in chronological order) for each action the customer took on the website for that visit. For example customer with ID# 123 clicked on page 1 at time X and that would be a row in the database, and then the same customer clicked another page at time Y. That would make another row in the database. </p>

<p>My question is what algorithm or approach would you use for clustering in this given scenario? K-means is really popular for this type of problem, but I don't know if it's possible to use in this situation because of the grouping. Is it somehow possible to do cluster analysis around one specific ID that includes multiple rows?</p>

<p>Any help/direction of unsupervised learning I should take is appreciated.</p>