One of the most popular research threads and challenges of modern machine learning scientists and engineers is how to build models that can update themselves in real time as soon as new data is generated, without the need for periodically retraining the system from scratch. Streaming machine learning is the term used to describe models that work with real time data streams instead of traditional batch processes. Recommender Systems greatly benefit from the use of stream processing, for many reasons: real time machine learning offers a very low latency in the update of recommendations, which can be extremely useful in highly dynamic context such as media consumption or e-commerce where users may change or update their tastes very frequently or perform sessions with a specific navigation target in mind. Thanks to real time recommendations, systems can immediately adapt to the sudden change in behavior and tastes of users and offer them exactly what they need as soon as they express a new interest. This thesis has the objective of experimenting with different techniques and architectures for building real time recommender systems. This work focuses on a matrix factorization implementation of the popular collaborative filtering approach and proposes a way to integrate it with data stream inputs of user navigation events, called clickstreams, containing implicit item ratings. A model architecture and algorithm implementation will be proposed and explained, by using the distributed processing engine Spark and the message broker Kafka. The proposed algorithms focus on working with many different categories of user to item interactions and integrate them in a single model, while also proposing a novel way of extracting common user behavioral patterns from clickstream sequences and exploiting them as a form of implicit item rating. The potential and capabilities of the proposed approaches have then been proven by various experiments conducted in a local setting over multiple clickstream datasets.

Uno dei campi di ricerca più diffusi e maggiore sfida dei moderni scienziati e ingegneri del machine learning è quelli di costruire modelli in grado di aggiornarsi in tempo reale non appena vengono generati nuovi dati, senza la necessità di allenare periodicamente il sistema da zero. Streaming machine learning è il termine utilizzato per descrivere i modelli che funzionano con stream di dati in tempo reale. I sistemi di raccomandazione, in particolare, traggono grandi vantaggi dall'uso dell'elaborazione degli stream, per molte ragioni: il machine learning in tempo reale offre una latenza molto bassa nell'aggiornamento delle raccomandazioni, che può essere estremamente utile in contesti altamente dinamici come il consumo di media o l'e-commerce dove gli utenti possono cambiare i propri gusti molto frequentemente o eseguire sessioni con uno specifico target di navigazione in mente. Grazie alle raccomandazioni in tempo reale, i sistemi possono adattarsi immediatamente al cambiamento improvviso di comportamento e gusti degli utenti e offrire loro esattamente ciò di cui hanno bisogno non appena manifestano un nuovo interesse. Questa tesi ha l'obiettivo di sperimentare diverse tecniche per la costruzione di sistemi di raccomandazione in tempo reale. Questo lavoro si concentra su un'implementazione dell’approccio collaborative filtering con fattorizzazione di matrice e propone un modo per integrarlo con gli input di stream di dati degli eventi di navigazione dell'utente, chiamati clickstream. Verrà proposta e spiegata un'architettura di modello e l'implementazione di un algoritmo, utilizzando Spark per l’ elaborazione distribuita e Kafka come broker di messaggi. Gli algoritmi proposti funzionano con diverse categorie di interazioni utente-elemento e le integrano in un unico modello, proponendo anche un nuovo modo di estrarre pattern comportamentali degli utenti dalle sequenze di clickstream e sfruttarli come una forma di valutazione implicita degli elementi. Il potenziale e le capacità degli approcci proposti sono stati poi dimostrati da vari esperimenti condotti in un contesto locale su più set di dati clickstream.

Real time recommendations with clickstream data

Messori, Alessandro
2021/2022

Abstract

One of the most popular research threads and challenges of modern machine learning scientists and engineers is how to build models that can update themselves in real time as soon as new data is generated, without the need for periodically retraining the system from scratch. Streaming machine learning is the term used to describe models that work with real time data streams instead of traditional batch processes. Recommender Systems greatly benefit from the use of stream processing, for many reasons: real time machine learning offers a very low latency in the update of recommendations, which can be extremely useful in highly dynamic context such as media consumption or e-commerce where users may change or update their tastes very frequently or perform sessions with a specific navigation target in mind. Thanks to real time recommendations, systems can immediately adapt to the sudden change in behavior and tastes of users and offer them exactly what they need as soon as they express a new interest. This thesis has the objective of experimenting with different techniques and architectures for building real time recommender systems. This work focuses on a matrix factorization implementation of the popular collaborative filtering approach and proposes a way to integrate it with data stream inputs of user navigation events, called clickstreams, containing implicit item ratings. A model architecture and algorithm implementation will be proposed and explained, by using the distributed processing engine Spark and the message broker Kafka. The proposed algorithms focus on working with many different categories of user to item interactions and integrate them in a single model, while also proposing a novel way of extracting common user behavioral patterns from clickstream sequences and exploiting them as a form of implicit item rating. The potential and capabilities of the proposed approaches have then been proven by various experiments conducted in a local setting over multiple clickstream datasets.
ING - Scuola di Ingegneria Industriale e dell'Informazione
20-dic-2022
2021/2022
Uno dei campi di ricerca più diffusi e maggiore sfida dei moderni scienziati e ingegneri del machine learning è quelli di costruire modelli in grado di aggiornarsi in tempo reale non appena vengono generati nuovi dati, senza la necessità di allenare periodicamente il sistema da zero. Streaming machine learning è il termine utilizzato per descrivere i modelli che funzionano con stream di dati in tempo reale. I sistemi di raccomandazione, in particolare, traggono grandi vantaggi dall'uso dell'elaborazione degli stream, per molte ragioni: il machine learning in tempo reale offre una latenza molto bassa nell'aggiornamento delle raccomandazioni, che può essere estremamente utile in contesti altamente dinamici come il consumo di media o l'e-commerce dove gli utenti possono cambiare i propri gusti molto frequentemente o eseguire sessioni con uno specifico target di navigazione in mente. Grazie alle raccomandazioni in tempo reale, i sistemi possono adattarsi immediatamente al cambiamento improvviso di comportamento e gusti degli utenti e offrire loro esattamente ciò di cui hanno bisogno non appena manifestano un nuovo interesse. Questa tesi ha l'obiettivo di sperimentare diverse tecniche per la costruzione di sistemi di raccomandazione in tempo reale. Questo lavoro si concentra su un'implementazione dell’approccio collaborative filtering con fattorizzazione di matrice e propone un modo per integrarlo con gli input di stream di dati degli eventi di navigazione dell'utente, chiamati clickstream. Verrà proposta e spiegata un'architettura di modello e l'implementazione di un algoritmo, utilizzando Spark per l’ elaborazione distribuita e Kafka come broker di messaggi. Gli algoritmi proposti funzionano con diverse categorie di interazioni utente-elemento e le integrano in un unico modello, proponendo anche un nuovo modo di estrarre pattern comportamentali degli utenti dalle sequenze di clickstream e sfruttarli come una forma di valutazione implicita degli elementi. Il potenziale e le capacità degli approcci proposti sono stati poi dimostrati da vari esperimenti condotti in un contesto locale su più set di dati clickstream.
File allegati
File Dimensione Formato  
Real_Time_Recommendations_With_Clickstream_Data.pdf

accessibile in internet per tutti

Descrizione: Thesis Alessandro Messori
Dimensione 3.57 MB
Formato Adobe PDF
3.57 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/197048