Il 4 aprile, presso la Microsoft House, si è svolta la quarta puntata di ODSC, una delle community più grandi di Milano in tema Data Science. 

È stato trattato il tema dei Recommender System in ambiti che coinvolgono i gusti personali dei consumatori.

Durante l’incontro si è visto come è stato possibile dare suggerimenti sulla base di preferenze, elementi non convenzionali da modellare. Sono stati usati strumenti altrettanto non tradizionali per realizzare il sistema di raccomandazione preso in oggetto.

Open Data Science Conference -MILAN- Media Partner di EventJuice

La presentazione si è suddivisa in tre parti, iniziando da una introduzione teorica sui sistemi di raccomandazione, per poi illustrare alcuni strumenti del framework di Deep Learning nel dettaglio.

L’ultima parte unisce i due mondi precedenti per poter definire i “Visual Aware”, ovvero sistemi di raccomandazione che hanno il compito di introdurre nella propria struttura elementi visivi presi direttamente dalle immagini.

È stato scelto come caso concreto il mondo della moda per poter costruire un personal shopper, utilizzando Python e Keras. Il data set usato è stato fornito da Amazon e comprende, per ogni utente, le reviews sugli oggetti comprati dagli stessi.

Subito dopo l’introduzione si parte con i sistemi di raccomandazione, i quali hanno come obiettivo quello di suggerire, in maniera personalizzata un nuovo item ad uno specifico utente. Tradizionalmente si costruisce un algoritmo predittivo per permettere la risoluzione del problema, assegnando uno score di preferenza per un nuovo item ad uno specifico utente. Questo viene fatto sulla base dello storico dell’utente in termini di feedback. L’algoritmo in questione rappresenta il raccomandatore.

Nel mondo del fashion risulta un problema non di facile trattazione per via delle seguenti caratteristiche:

  • La presenza di un catalogo in continua evoluzione. Certi item potrebbero essere in un cosiddetto “Cold State”, ovvero mai visti e completamente nuovi per l’utente
  • Il cambiamento nel tempo delle preferenze degli utenti
  • La difficoltà anche per gli umani stessi di definire lo stile di una specifica persona

Ritornando alle basi dei sistemi di raccomandazioni essi possono essere raggruppati in vari modi, tra i quali si evidenzia il raggruppamento in base alla dimensione che si sta considerando.


La predizione può essere uno score di preferenza puntuale oppure la costruzione di un ranking.

Si parla di Prediction Problem se lo score assegnato ad un prodotto nuovo visualizzato è uno score assoluto, preso un utente specifico. 

In alternativa è possibile assegnare uno score relativo, se quello che si va a guardare non è un nuovo item, ma un nuovo set pool di items. L’intenzione è quella di ordinarli, per poter assegnare uno score che permetta di definire una scala di preferenza. In questo caso si parla quindi di Ranking Problem.

La tipologia di score scelta è stata la Ranking Problem: dato uno storico di recensioni di un utente e l’intero catalogo di prodotti Amazon, si vuole suggerire una top 10 o 5 di item più adatti all’utente.

In sintesi, dato un catalogo, si vuole costruire un ordinamento di preferenza per tutti i prodotti messi a disposizione.


Una seconda suddivisione distingue i sistemi collaborativi dai sistemi content based. Il concetto chiave di entrambi i sistemi è la similarità. Si considera quindi come fare la raccomandazione.

Il primo caso va a ricercare la similarità tra gli utenti. Presi due utenti rivelatasi simili, sulla base delle preferenze espresse in passato, si suppone che lo saranno altrettanto anche nel futuro. Si costruisce una rappresentazione (un vettore) che descrive il gusto di un utente. Quando si è nello spazio degli attributi, gli utenti simili sono rappresentati dalla vicinanza di due vettori.

In sostanza questo permette di consigliare al primo utente un item visualizzato dal secondo, che risulta quindi nuovo per il primo.

Nel secondo caso, il concetto di similarità viene spostato sull’oggetto. Si rappresentano quindi gli oggetti, proiettando nello spazio degli attributi gli oggetti, potendo consigliare per ogni utente prodotti simili a quelli già visti nel passato.


Il personal shopper è content based in quanto sono state usate immagini visualizzate dagli utenti. Sono poi state costruite features sulla base delle suddette immagini. 

Elena Giarratano – Senior Data Scientist at Data Reply

Un’ulteriore classificazione riguarda il tipo di dato in ingresso. Parlando di feedback, esso può essere esplicito oppure implicito.

  • Esplicito quando sono espressi secondo dei rating, ovvero si da’ una votazione ad un prodotto dopo averlo acquistato. Le scale non sono standard (voto da uno a cinque oppure scale binarie). È possibile ricondurre il tutto ad un sistema di rating unificato, traducendo l’espressione di preferenza in uno storico di interazione tra utente e prodotto.

Le casistiche possono essere sia negative che positive.

  • Implicito se il riscontro può solamente essere positivo. Si sa che un utente ha preferito un prodotto per via della sua permanenza su una determinata pagina oppure perché lo ha acquistato.

Nel caso preso in esame si sono considerati i feedback impliciti, mascherando dal data set le votazioni, che si ricorda essere di Amazon. Si tralasciano quindi i rating negativi.


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *