Mix-IT (Apr 2011) - Intelligence Collective avec Apache Mahout

4,367 views

Published on

Published in: Technology, Education
1 Comment
5 Likes
Statistics
Notes
  • Très bonne présentation, là je regrette de ne pas m'être inscrit à Mix-IT :[
    Merci de partager le slide, c'est du bon boulot.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
4,367
On SlideShare
0
From Embeds
0
Number of Embeds
1,000
Actions
Shares
0
Downloads
67
Comments
1
Likes
5
Embeds 0
No embeds

No notes for slide

Mix-IT (Apr 2011) - Intelligence Collective avec Apache Mahout

  1. 1. Intelligence Collective avec Apache MahoutClassification, Regroupement, Recommandation
  2. 2. Speaker @mfiguiere blog.xebia.fr Michaël Figuière Distributed Architectures NoSQLSearch Engines
  3. 3. Intelligence Collective
  4. 4. En quelques mots• L’ensemble des utilisateurs constitue une intelligence L’intelligence collective d’un groupe est supérieure à la meilleure intelligence individuelle de ce groupe• Rendu immédiatement accessible par l’avènement d’Internet En facilitant l’agrégation des données
  5. 5. Wikipedia Le wiki agrège l’intelligence collective des contributeurs
  6. 6. Google et le PageRank PageRank agrège l’intelligence collective des sites Web
  7. 7. La nature des données Les données aléatoire ne sont pas prévisibles !
  8. 8. La nature des données Les données générées par les utilisateurs se comportent généralement selon des patterns reconnaissables !
  9. 9. Machine Learning
  10. 10. Machine Learning Le Machine Learning est un sous-ensemble de l’Intelligence Artificielle Intelligence Artificielle Machine Learning (Apprentissage Artificiel)
  11. 11. NoSQL, Recherche et Machine Learning NoSQL, Machine Learning et Moteurs de Recherche sont complémentaires Machine Learning Moteurs de NoSQL Recherche
  12. 12. Principaux algorithmes de Machine Learning• Recommandations Recommande des items à un utilisateur• Classification Classifie automatiquement des documents en apprenant à partir d’un ensemble déjà classifié• Clustering Découvre automatiquement des groupements parmi un ensemble de documents
  13. 13. Recommandation - User based Amazon suggère des articles achetés par les clients similaires
  14. 14. Recommandation - Item based Sur la page d’un article Amazon suggère des articles
  15. 15. Similarités entre utilisateurs On constate ici que 1 2 les utilisateurs 1 et 2 ont des goûts similaires A B C D E F 1
  16. 16. Exemples de cas d’usage de Recommandation• Conseiller des items aux clients sur un site d’e-commerce Augmentation du chiffre d’affaire• Conseiller des fonctionnalités aux utilisateurs La plupart des fonctionnalités sont méconnues• Filtrer et adapter le classement des résultats d’un moteur de recherche En se basant sur les clics des utilisateurs similaires, ...
  17. 17. Classification Mails ‘classifiés’ en tant que spams par GMail
  18. 18. Exemples de cas d’usage de Classification• Associer automatiquement des tags à des documents Ensemble de tags définis manuellement ou depuis Wikipedia• Extraire les documents suspicieux Spams, documents corrompus, ...
  19. 19. ClusteringSujets tendances découverts par Google News
  20. 20. Clustering avec K-Means A B C D E F
  21. 21. Clustering avec K-Means Centres de A groupement B placés aléatoirement C D E F
  22. 22. Clustering avec K-Means Les données sont rattachées au A centres le plus B proche C D E F
  23. 23. Clustering avec K-Means Les centres sont alors déplacés de A manière à réduire la B somme des distances C D E F
  24. 24. Clustering avec K-Means La donnée ‘C’ se retrouve alors A rattachée au B premier centre C D E F
  25. 25. Exemples de cas d’usage du Clustering• Trouver les sujets principaux dans un ensemble de documents News feeds, documents métiers, ...• Découvrir des usages typiques des utilisateurs Profilage des utilisateurs, ...
  26. 26. Apache Mahout
  27. 27. En quelques mots• Implémentation d’algorithmes de Machine Learning en Java Collection d’algorithme en expansion• La plupart disponibles en version MapReduce Utilisable avec de gros datasets• Encore jeune, mais en croissance rapide Démarré début 2009
  28. 28. Documentation Cherche à rendre le Machine Learning accessible au plus grand nombre
  29. 29. Exemple de RecommendationDataModel model = new FileDataModel(new File("data.csv"));UserSimilarity simil = new PearsonCorrelationSimilarity(model);UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model);Recommender recommender = new GenericUserBasedRecommender(model, neighborhood, simil);List<RecommendedItem> recommendations = recommender.recommend(1, 1);
  30. 30. Classification avec Mahout Training Training examples algorithm Model Copy New data Model Decision
  31. 31. Clustering avec Mahout Clustering List of Documents algorithm clusters
  32. 32. Evaluation de la précision Ensemble des données disponibles Données utilisées Données utilisées pour pour le training évaluer la précision de l’algorithme
  33. 33. Cas d’usage d’un moteur de recherche
  34. 34. Un moteur de recherche Search
  35. 35. Un moteur de recherche MyCustomer Search
  36. 36. Un moteur de recherche MyCustomer Search Document Non Disclosure Agreement 12 days ago ... MyCustomer agrees not to disclose any part of ... Document 2010 Sales Report 1 month ago ... MyCustomer: 12 M€ with 3 deals ... Phone Call 2 days ago Phone Call Customer: MyCustomer Time: 9:55am Duration: 13min Description: Invoice not received for order #2354E
  37. 37. Pipeline d’indexation Tika PDF Text Analyzer Extractor Search Index Analyzer Phone Call Lucene
  38. 38. Un moteur de recherche plus complexe MyCustomer Search Sales Juridic Accounting Document 2010 Sales Report 1 month ago ... MyCustomer: 12 M€ with 3 deals ... Phone Call 2 days ago Phone Call Customer: MyCustomer Time: 9:55am Duration: 13min Description: Invoice not received for order #2354E
  39. 39. Pipeline d’indexation avec Mahout Tika Mahout PDF Text Classifier Analyzer Extractor Search Index Classifier Analyzer Phone Call Lucene
  40. 40. Pipeline de requête Lucene Query Analyzer Search Index Results
  41. 41. Pipeline de requête avec Mahout Lucene Query Analyzer Search Index Custom Analyzer Scoring Results Basé sur les recommandations de Mahout
  42. 42. Conclusion• Le Machine Learning apporte des fonctionnalités à forte valeur ajoutée Amélioration des revenus, de la productivité, de l’adoption• Mahout est en croissance rapide et devient un bon choix pour les applications Intégration facile aux applications métier• Les équipes fonctionnelles ne sont pas familières de ces technologies Une collaboration avec les équipes techniques est requise
  43. 43. Questions / Réponses ? blog.xebia.fr @mfiguiere

×