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

476 visualizações

Publicada em

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

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

  • Seja a primeira pessoa a gostar disto

A recommendation engine for your applications

  1. 1. Machine Learning Primer suggerisci ai tuoi utenti cosa comprare Francesco Fullone
 ff@ideato.it
  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. Non personalizzati
  15. 15. Non personalizzati
  16. 16. Non personalizzati
  17. 17. Non personalizzati
  18. 18. Non personalizzati
  19. 19. Hotel A Hotel B Hotel C John 3 5 Jane 3 Fred 1 0 Tom 4 AVG 3.5 3 0 Non personalizzati
  20. 20. Content-Based
  21. 21. Gli utenti votano item (film, libri, …) Noi costruiamo un modello sui gusti degli utenti Cerchiamo per item simili basandoci sul modello creato Content-Based
  22. 22. 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
  23. 23. Problemi/Limitazioni
  24. 24. 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
  25. 25. Filtraggio Collaborativo
  26. 26. User-User Seleziono persone con gusti simili a me. Se altri utenti condividono i miei gusti, voglio conoscere la loro opinione. Filtraggio Collaborativo
  27. 27. Item-Item Cerco item su cui ho espresso una mia opinione e la confronto con quella degli altri utenti. Filtraggio Collaborativo
  28. 28. Problemi/ Limitazioni
  29. 29. Sparsità In un set ampio di item, solo alcuni di questi saranno votati da utenti
  30. 30. User Cold start Non si conosce abbastanza di un nuovo utente per dargli suggerimenti efficaci
  31. 31. 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]
  32. 32. Scalabilità All’aumentare del numero dei rating il costo di aggiornamento diventa computazionalmente molto alto
  33. 33. Un esempio
  34. 34. 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?
  35. 35. 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
  36. 36. 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
  37. 37. Similarity Joe Vs Bob 1.57 Alice 0.33 Tom 0.18 D = 1 / (1 + d)
 [normalizziamo per semplicità]
  38. 38. 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
  39. 39. 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
  40. 40. 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.
  41. 41. il nostro case study
  42. 42. e-commerce di libri sia digitali che cartacei, carrelli separati, diverse tipologie categorie di prodotti
  43. 43. Raccomandare titoli (nuovi e vecchi) - Chi ha comprato X ha comprato anche Y - Ti potrebbe interessare
  44. 44. PredictionIO
  45. 45. L’event server
  46. 46. 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
  47. 47. Modellazione degli Eventi cosa dovremmo modellare? rating, like, acquisto, visita, in base al tipo di algoritmo scelto
  48. 48. Engines
  49. 49. Implementazione
  50. 50. Due tipi di suggerimenti - chi ha comprato X ha comprato anche… (raccomandazione) - Ti potrebbe anche interessare (similitudine)
  51. 51. I nostri eventi
  52. 52. Vista Like (aggiunta al carrello o alla wishlist) Conversione (acquisto)
  53. 53. La nostra implementazione
  54. 54. 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
  55. 55. 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
  56. 56. Fine?
  57. 57. No, c’è di più…
  58. 58. https://neo4j.com/developer/guide-build-a-recommendation-engine/
  59. 59. Prossima release
  60. 60. suggerimenti sui comportamenti degli utenti ie. tracking della navigazione ie. suggerimenti basati sul contesto/contenuto
  61. 61. email personalizzate sui gusti degli utenti [ e nuovi eventi correlati ai click su email ]
  62. 62. suggerimenti/offerte su item presenti sui carrelli abbandonati
  63. 63. chatbot per suggerire nuovi titoli
  64. 64. Recommendation as a Service http://raas.ideato.it
  65. 65. 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
  66. 66. mi chiamo 
 Francesco Fullone e sono il CEO di fullo / ideato fullo / ideatosrl ff@ideato.it

×