Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

June Spark meetup : search as recommandation

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 23 Publicité

June Spark meetup : search as recommandation

Télécharger pour lire hors ligne

Recherche full-text et recommandation, deux mondes à part? Nous verrons qu’il est possible de marier Lucene (Elastic Search/Solr) et filtrage collaboratif afin de produire un système de recommandation flexible et scalable. Cela passera par un aperçu des dernières sorties : la plateforme Confluent (Kafka) ainsi que Mahout 0.10 (avec Samsara).

Recherche full-text et recommandation, deux mondes à part? Nous verrons qu’il est possible de marier Lucene (Elastic Search/Solr) et filtrage collaboratif afin de produire un système de recommandation flexible et scalable. Cela passera par un aperçu des dernières sorties : la plateforme Confluent (Kafka) ainsi que Mahout 0.10 (avec Samsara).

Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Similaire à June Spark meetup : search as recommandation (20)

Publicité

Plus par HUG France (20)

Plus récents (20)

Publicité

June Spark meetup : search as recommandation

  1. 1. Search as recommendation Avec les technologies de nos jours! Bertrand Dechoux Jeudi 11 Juin 2015 Spark User Group
  2. 2. Bertrand Dechoux @BertrandDechoux FROM DATA TO SALES Réseaux Bayésiens Inspiré de faits réels
  3. 3. Ce que nous allons voir • search vs recommandation • reco full-text (ElasticSearch) • 11 avril 2015 => Mahout 0.10 (samsara) • 25 février 2015 => Confluent 1.0
  4. 4. Recherche ou recommandation ?
  5. 5. Recherche ou recommandation ? classification binaire ou système de tri => precision / recall / DCG … factorisation de matrices => minimisation des écarts mis au carré
  6. 6. Il était une fois… Hadoop Lucene 1999 2005 Elastic Search Solr 2004 2010
  7. 7. 1/3 : Stockage du Comportement Application Web Historique récent temporaire Historique complet permanent Moteur recherche full-text utilisateur $ ! Analyse de similarité
  8. 8. 2/3 : Analyse en batch Application Web Historique récent temporaire Historique complet permanent Moteur recherche full-text utilisateur Analyse de similarité $
  9. 9. 3/3 : Reco full-text Application Web Historique récent temporaire Historique complet permanent Moteur recherche full-text utilisateur $ ? Analyse de similarité
  10. 10. Ce que nous allons voir • search vs recommandation • reco full-text (ElasticSearch) • 11 avril 2015 => Mahout 0.10 (samsara) • 25 février 2015 => Confluent 1.0
  11. 11. ES : données curl -XPUT 'http://localhost:9200/search/item/1' -d ‘{ "name" : “spark", "languages" : "scala java python” }’ curl -XPUT 'http://localhost:9200/search/item/2' -d ‘{ "name" : “gatling", "languages" : “scala" }’ curl -XPUT 'http://localhost:9200/search/item/3' -d ‘{ "name" : “scikit-learn“, "languages" : "python” }'
  12. 12. ES : recherche curl -XGET 'http://localhost:9200/search/item/_search?q=scala' [{"_score":0.19178301, "_source":{ "name" : "gatling", "languages" : "scala"}}, {"_score":0.15342641, "_source":{ "name" : "spark", "languages" : "scala java python" }}]
  13. 13. ES : recommendation { "name" : “product1", "description" : “a long description of this product", "similar" : “product2 product4 product7”, "category" : “categoryA” }
  14. 14. Ce que nous allons voir • search vs recommandation • reco full-text (ElasticSearch) • 11 avril 2015 => Mahout 0.10 (samsara) • 25 février 2015 => Confluent 1.0
  15. 15. 0.10 : Samsara • “25 avril 2014 - Goodbye MapReduce” • “11 avril 2015 - Samsara” • inspiré de R, aidé par Scala • cross-platform (Spark, H2O, Flink?, Ignite?, …) • “Hive pour math” (Dmitriy Lyubimov)
  16. 16. 0.10 : spark-itemsimilarity • nouvelle version utilisant Spark • et DistributedRowMatrix • supporte seulement LogLikelihoodRatio (LLR) • “Surprise and coincidence” (Ted Dunning) • entrées et sorties en format text
  17. 17. 0.10 : spark-itemsimilarity Item 1 item 2 item 3 item 4 item 5 item 6 ... user 1 user 2 user 3 user 4 user 5 user 6 ...
  18. 18. 0.10 : spark-itemsimilarity mahout spark-itemsimilarity -i input -o output 2 paramètres à retenir : • --omitStrength • --maxSimilaritiesPerItem
  19. 19. Ce que nous allons voir • search vs recommandation • reco full-text (ElasticSearch) • 11 avril 2015 => Mahout 0.10 (samsara) • 25 février 2015 => Confluent 1.0
  20. 20. Backbone specs • scalable (performance) • cross-tech • structuré • cohérence • sécurisé
  21. 21. Confluent : Kafka platform • Kafka • + REST server • + Schema Registry (avro comme standard) • + Camus
  22. 22. En savoir plus Pat Ferrel : http://occamsmachete.com/ml/ http://confluent.io/ https://mahout.apache.org/users/algorithms/intro- cooccurrence-spark.html
  23. 23. Et toi, que fais tu? Sur LinkedIn : https://goo.gl/1mi0Me

×