O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

A recommendation engine for your applications

248 visualizações

Publicada em

how does a recommendation engine work? In this talk I'll introduce machine learning basics and explore some nice case studies

Publicada em: Tecnologia
  • Entre para ver os comentários

A recommendation engine for your applications

  1. 1. Il Machine Learning per la creazione di raccomandazioni, personalizzazioni e suggerimenti dei prodotti per il vostro e-commerce Francesco Fullone | ideato
  2. 2. vogliamo suggerire alle persone cosa comprare…
  3. 3. vogliamo un bot 
 che suggerisca alle persone cosa comprare!
  4. 4. vogliamo un bot 
 che suggerisca alle persone cosa comprare! un bot
  5. 5. vogliamo un bot 
 che suggerisca alle persone cosa comprare! un bot
  6. 6. un bot
  7. 7. un bot
  8. 8. che SISTEMA DI RACCOMANDAZIONE usare?
  9. 9. Facciamo un passo indietro…
  10. 10. Motori di ricerca Fonte dati statica (anche se ampia), query dinamiche
  11. 11. Motori di suggerimenti Fonte dati dinamica (ma su un dominio preciso), query statiche
  12. 12. Non personalizzati Content-Based Filtraggio Collaborativo Motori di suggerimenti
  13. 13. Non personalizzati
  14. 14. Hotel A Hotel B Hotel C John 3 5 Jane 3 Fred 1 0 Tom 4 AVG 3.5 3 0
  15. 15. Content-Based
  16. 16. Gli utenti votano item (film, libri, …) Noi costruiamo un modello sui gusti degli utenti Cerchiamo per item simili basandoci sul modello creato
  17. 17. 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
  18. 18. Problemi/Limitazioni
  19. 19. 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
  20. 20. Filtraggio Collaborativo
  21. 21. User-User Seleziono persone con gusti simili a me. Se altri utenti condividono i miei gusti, voglio conoscere la loro opinione.
  22. 22. Item-Item Cerco item su cui ho espresso una mia opinione e la confronto con quella degli altri utenti.
  23. 23. Problemi/Limitazioni
  24. 24. Sparsità In un set ampio di item, solo alcuni di questi saranno votati da utenti
  25. 25. User Cold start Non si conosce abbastanza di un nuovo utente per dargli suggerimenti efficaci
  26. 26. Item cold start Non si può predire il rating di nuove item finché gli utenti non le voteranno [Non è un problema per i rating content- based]
  27. 27. Scalabilità All’aumentare del numero dei rating il costo di aggiornamento diventa computazionalmente molto alto
  28. 28. Un esempio
  29. 29. 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?
  30. 30. 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
  31. 31. Sim(Joe, Tom) = (|8-2| + |2-7| + |7-5|)/3 = 13/3 = 4.3 Sim(Joe, Alice) = (|8-5| + |1-4| + |2-4| + |7-7|)/4 = 2 Sim(Joe, Bob) = (|8-7| + |1-1| + |2-3| + |7-8|)/4 = 0.75 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
  32. 32. Similarity Joe Vs Bob 1.57 Alice 0.33 Tom 0.18 D = 1 / (1 + d)
 [normalizziamo per semplicità]
  33. 33. 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
  34. 34. 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
  35. 35. 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.
  36. 36. il nostro case study
  37. 37. e-commerce di libri sia digitali che cartacei, carrelli separati, diverse tipologie categorie di prodotti
  38. 38. Raccomandare titoli (nuovi e vecchi) - Chi ha comprato X ha comprato anche Y - Ti potrebbe interessare
  39. 39. PredictionIO
  40. 40. L’event server
  41. 41. Pattern: utente -- azione -- item User 1 ha comprato il prodotto X User 2 ha visto il prodotto Y User 1 ha aggiunto il prodotto Z nel carrello
  42. 42. Modellazione degli Eventi cosa dovremmo modellare? rating, like, acquisto, visita, in base al tipo di algoritmo scelto
  43. 43. Engines
  44. 44. Implementazione
  45. 45. Due tipi di suggerimenti - chi ha comprato X ha comprato anche… (raccomandazione) - Ti potrebbe anche interessare (similitudine)
  46. 46. I nostri eventi
  47. 47. Vista Like (aggiunta al carrello o alla wishlist) Conversione (acquisto)
  48. 48. La nostra implementazione
  49. 49. 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
  50. 50. 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
  51. 51. Fine?
  52. 52. No, c’è di più…
  53. 53. https://neo4j.com/developer/guide-build-a-recommendation-engine/
  54. 54. Prossima release
  55. 55. suggerimenti sui comportamenti degli utenti ie. tracking della navigazione ie. suggerimenti basati sul contesto/contenuto
  56. 56. email personalizzate sui gusti degli utenti [ e nuovi eventi correlati ai click su email ]
  57. 57. suggerimenti/offerte su item presenti sui carrelli abbandonati
  58. 58. chatbot per suggerire nuovi titoli
  59. 59. Links http://www.slideshare.net/NYCPredictiveAnalytics/building-a-recommendation-engine-an-example-of-a-product-recommendation- engine?next_slideshow=1 https://www.coursera.org/learn/recommender-systems-introduction http://actionml.com/ https://github.com/grahamjenson/ger http://www.emailvendorselection.com/recommendation-engines-for-email-marketing/ 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
  60. 60. mi chiamo 
 Francesco Fullone e sono il CEO di fullo fullo / ideatosrl ff@ideato.it

×