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éatoires
sont par définition
impré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 !
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
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, ...
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, ...
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 Recommendation
DataModel 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);
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
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
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