Mix-IT (Apr 2011) - Intelligence Collective avec Apache Mahout
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • 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.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
3,670
On Slideshare
2,777
From Embeds
893
Number of Embeds
3

Actions

Shares
Downloads
53
Comments
1
Likes
4

Embeds 893

http://blog.mix-it.fr 888
http://ranksit.com 3
https://twitter.com 2

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Intelligence Collective avec Apache MahoutClassification, Regroupement, Recommandation
  • 2. Speaker @mfiguiere blog.xebia.fr Michaël Figuière Distributed Architectures NoSQLSearch Engines
  • 3. Intelligence Collective
  • 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. Wikipedia Le wiki agrège l’intelligence collective des contributeurs
  • 6. Google et le PageRank PageRank agrège l’intelligence collective des sites Web
  • 7. La nature des données Les données aléatoire ne sont pas prévisibles !
  • 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. Machine Learning
  • 10. Machine Learning Le Machine Learning est un sous-ensemble de l’Intelligence Artificielle Intelligence Artificielle Machine Learning (Apprentissage Artificiel)
  • 11. NoSQL, Recherche et Machine Learning NoSQL, Machine Learning et Moteurs de Recherche sont complémentaires Machine Learning Moteurs de NoSQL Recherche
  • 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. Recommandation - User based Amazon suggère des articles achetés par les clients similaires
  • 14. Recommandation - Item based Sur la page d’un article Amazon suggère des articles
  • 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. 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. Classification Mails ‘classifiés’ en tant que spams par GMail
  • 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. ClusteringSujets tendances découverts par Google News
  • 20. Clustering avec K-Means A B C D E F
  • 21. Clustering avec K-Means Centres de A groupement B placés aléatoirement C D E F
  • 22. Clustering avec K-Means Les données sont rattachées au A centres le plus B proche C D E F
  • 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. Clustering avec K-Means La donnée ‘C’ se retrouve alors A rattachée au B premier centre C D E F
  • 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. Apache Mahout
  • 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. Documentation Cherche à rendre le Machine Learning accessible au plus grand nombre
  • 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. Classification avec Mahout Training Training examples algorithm Model Copy New data Model Decision
  • 31. Clustering avec Mahout Clustering List of Documents algorithm clusters
  • 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. Cas d’usage d’un moteur de recherche
  • 34. Un moteur de recherche Search
  • 35. Un moteur de recherche MyCustomer Search
  • 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. Pipeline d’indexation Tika PDF Text Analyzer Extractor Search Index Analyzer Phone Call Lucene
  • 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. Pipeline d’indexation avec Mahout Tika Mahout PDF Text Classifier Analyzer Extractor Search Index Classifier Analyzer Phone Call Lucene
  • 40. Pipeline de requête Lucene Query Analyzer Search Index Results
  • 41. Pipeline de requête avec Mahout Lucene Query Analyzer Search Index Custom Analyzer Scoring Results Basé sur les recommandations de Mahout
  • 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. Questions / Réponses ? blog.xebia.fr @mfiguiere