Cos'è un sistema di raccomandazione e come funziona? Come si può integrare in un ecommerce e trarne profitto? In questo breve talk spiego le basi del machine learning e dei sistemi di recommendation
24. Gli utenti votano item (film, libri, …)
Noi costruiamo un modello sui gusti
degli utenti
Cerchiamo per item simili basandoci
sul modello creato
Content-Based
25. Action 0.7
Sci Fi 3.2
Vin Diesel 1.2
… …
Title Star Trek
Genre Sci Fi
Actors
William Shatner
LeonardNimoy
User Model
Title XXX
Genre Action
Actors
Vin Diesel
Asia Argento
Title Kick Ass
Genre Action
Actors
Nicholas Cage
Mark Strong
Content-Based
27. Bisogna conoscere il contenuto degli item
Cold start per gli utenti: è necessario molto
tempo per conoscere i gusti di tutti gli
utenti
Cosa succede se i gusti cambiano?
Si perde l’effetto serendipity
Content-Based
29. User-User
Seleziono persone con gusti simili a
me. Se altri utenti condividono i miei
gusti, voglio conoscere la loro
opinione.
Filtraggio Collaborativo
30. Item-Item
Cerco item su cui ho espresso una
mia opinione e la confronto con
quella degli altri utenti.
Filtraggio Collaborativo
37. Item1 Item2 Item3 Item4 Item5
Joe 8 1 ? 2 7
Tom 2 ? 5 7 5
Alice 5 4 7 4 7
Bob 7 1 7 3 8
Joe e Tom quanto sono simili?
Joe e Bob quanto sono simili?
38. Consideriamo solo gli item votati da entrambi
Per ogni item
- Calcoliamo la differenza di rating
- Estrapoliamo la media tra tutte le differenze degli
item votati
Item1 Item2 Item3 Item4 Item5
Joe 8 1 ? 2 7
Tom 2 ? 5 7 5
Alice 5 4 7 4 7
Bob 7 1 7 3 8
40. Similarity Joe Vs
Bob 1.57
Alice 0.33
Tom 0.18
D = 1 / (1 + d)
[normalizziamo per semplicità]
41. Raccomandiamo gli item a cui utenti simili hanno
dato un voto alto
Per calcolare il rating di un oggetto da raccomandare
dobbiamo fase una somma pesata sull’indice di
similitudine tra gli utenti
42. Rating(Joe, Item3) = (1.57 * 7 + 0.33 * 7 + 0.18 * 5) / 3
10.99 + 2.31 + 0.9 / 3 = 4.3
Similarity Joe Vs Item 3
Bob 1.57 7
Alice 0.33 7
Tom 0.18 5
43. possiamo calcolare il rating su tutta la
matrice di dati
OPPURE
usare un algoritmo K-nn (o nearest
neighbours): cioè su un sottoinsieme di
utenti con gusti simili ai miei.
61. 4 engines
2 per i libri, 2 per gli ebooks
Training ogni notte dell’algoritmo
Registrazione degli eventi in batch
per evitare lentezza del sistema
62.
63. Cold start
se non abbiamo un numero sufficiente
di suggerimenti il sistema passa in
automatico ad un motore di
suggerimenti non personalizzati
(anche per utenti anonimi): ie.
mostrando solo i Best Sellers
78. Links
Recommendation as a Service - http://raas.ideato.it
Altri link
http://actionml.com/
https://github.com/grahamjenson/ger
http://www.emailvendorselection.com/recommendation-engines-for-email-marketing/
https://www.coursera.org/learn/recommender-systems-introduction
https://blog.mozilla.org/ux/2014/04/the-experience-of-mind-reading/
https://www.analyticsvidhya.com/blog/2015/08/beginners-guide-learn-content-based-recommender-systems/
https://www.analyticsvidhya.com/blog/2015/08/beginners-guide-learn-content-based-recommender-systems/
www.slideshare.net/treygrainger/building-a-real-time-solrpowered-recommendation-engine
http://www.slideshare.net/NYCPredictiveAnalytics/building-a-recommendation-engine-an-example-of-a-product-recommendation-engine?
next_slideshow=1
79. mi chiamo
Francesco Fullone
e sono il CEO di
fullo / ideato
fullo / ideatosrl
ff@ideato.it