Intelligence Collective avec Apache MahoutClassification, Regroupement, Recommandation
Speaker      @mfiguiere      blog.xebia.fr      Michaël Figuière           Distributed                                 Arch...
Intelligence Collective
En quelques mots• L’ensemble des utilisateurs constitue une intelligence        L’intelligence collective d’un groupe est ...
Wikipedia            Le wiki agrège              l’intelligence            collective des            contributeurs
Google et le PageRank                        PageRank agrège                           l’intelligence                     ...
La nature des données                           Les données aléatoire                        ne sont pas prévisibles !
La nature des données                        Les données générées par                              les utilisateurs se    ...
Machine Learning
Machine Learning                                         Le Machine Learning est                                          ...
NoSQL, Recherche et Machine Learning                               NoSQL, Machine Learning                              et...
Principaux algorithmes de Machine Learning• Recommandations        Recommande des items à un utilisateur• Classification   ...
Recommandation - User based                               Amazon suggère                                    des articles  ...
Recommandation - Item based                              Sur la page d’un                               article Amazon    ...
Similarités entre utilisateurs                                         On constate ici que              1           2     ...
Exemples de cas d’usage de Recommandation• Conseiller des items aux clients sur un site d’e-commerce         Augmentation ...
Classification                Mails ‘classifiés’                en tant que spams                par GMail
Exemples de cas d’usage de Classification• Associer automatiquement des tags à des documents        Ensemble de tags défini...
ClusteringSujets tendances découverts par  Google News
Clustering avec K-Means        A                    B                C                                D                   ...
Clustering avec K-Means                                    Centres de        A                           groupement       ...
Clustering avec K-Means                                    Les données sont                                       rattaché...
Clustering avec K-Means                                       Les centres sont                                       alors...
Clustering avec K-Means                                    La donnée ‘C’ se                                      retrouve ...
Exemples de cas d’usage du Clustering• Trouver les sujets principaux dans un ensemble de documents        News feeds, docu...
Apache Mahout
En quelques mots• Implémentation d’algorithmes de Machine Learning en Java        Collection d’algorithme en expansion• La...
Documentation                        Cherche à rendre le                Machine Learning accessible                      a...
Exemple de RecommendationDataModel model = new FileDataModel(new File("data.csv"));UserSimilarity simil =   new PearsonCor...
Classification avec Mahout       Training      Training      examples      algorithm           Model                       ...
Clustering avec Mahout                    Clustering    List of     Documents                    algorithm    clusters
Evaluation de la précision            Ensemble des         données disponibles      Données utilisées                     ...
Cas d’usage d’un moteur de recherche
Un moteur de recherche                         Search
Un moteur de recherche            MyCustomer   Search
Un moteur de recherche                      MyCustomer                               Search   Document     Non Disclosure ...
Pipeline d’indexation                 Tika       PDF                  Text                            Analyzer            ...
Un moteur de recherche plus complexe                      MyCustomer                               Search                 ...
Pipeline d’indexation avec Mahout           Tika       Mahout PDF            Text                      Classifier   Analyze...
Pipeline de requête                      Lucene            Query                      Analyzer                            ...
Pipeline de requête avec Mahout                          Lucene           Query                          Analyzer         ...
Conclusion• Le Machine Learning apporte des fonctionnalités à forte valeur ajoutée        Amélioration des revenus, de la ...
Questions / Réponses                       ?                   blog.xebia.fr                   @mfiguiere
Prochain SlideShare
Chargement dans…5
×

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

4 229 vues

Publié le

Publié dans : Technologie, Formation
1 commentaire
5 j’aime
Statistiques
Remarques
  • 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.
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
Aucun téléchargement
Vues
Nombre de vues
4 229
Sur SlideShare
0
Issues des intégrations
0
Intégrations
992
Actions
Partages
0
Téléchargements
65
Commentaires
1
J’aime
5
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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

×