Costruire un sistema di raccomandazione end-to-end

Creare un sistema di raccomandazione completo dall'inizio alla fine

Sfruttare le incapsulazioni del transformer e un database di vettori per velocizzare l’inferenza

Introduzione

Un campo di apprendimento automatico che trovo davvero interessante è quello della personalizzazione dell’esperienza dell’utente attraverso prodotti o servizi consigliati. Per perseguire questa passione, ho deciso di lavorare su un progetto end-to-end, partendo dallo scraping web per la costruzione di un motore di raccomandazione e, infine, dalla distribuzione e monitoraggio del modello.

Foto di Myke Simon su Unsplash

Affermazione del problema

Immagina un mondo in cui devi guardare fino a 30 minuti di un film prima di decidere se ti piace o se dovresti provare 30 minuti di un altro film; e così via…. O un mondo in cui devi fare affidamento sul terribile gusto cinematografico del tuo amico!!! Sicuramente non è un’esperienza piacevole, giusto? Non preoccuparti, ho una soluzione per te. P.S. Se preferisci i video ai testi, puoi guardare il video qui sotto.

Lo scopo di questo progetto è costruire un sistema che ti consigli in modo accurato una lista di film, basandosi su un film che hai apprezzato in precedenza.

Panoramica delle fasi

Foto di Alex Litvin su Unsplash

Per favore, sentiti libero di saltare a qualsiasi sezione di tuo interesse.

  1. Raccolta dati e scraping web
  2. Pulizia dei dati ed estrazione delle caratteristiche
  3. Sviluppo dell’API
  4. Distribuzione dell’API
  5. Design e implementazione dell’UI/UX

Raccolta dati e scraping web

La maggior parte dei dati per questo progetto è stata ottenuta da Kaggle. Contiene circa 5000 film (fino al 2016) e le rispettive caratteristiche come nomi dei registi e nomi degli attori ecc. Per arricchire questi dati, sono stati estratti da Wikipedia i film e le relative caratteristiche dal 2017 al 2023. Inoltre, utilizzando l’API di IMDB, sono state acquisite ulteriori caratteristiche rilevanti come generi cinematografici, URL dei poster e sinossi dei film…