Hubert Stefani de la société Infotel nous parlera de clusterisation dans le domaine de la propriété intellectuelle. Partant d’un existant sous MongoDB, Infotel a mis en place un mécanisme de classification au travers d’un MapReduce très spécifique exploitant les méta-informations des documents, un google-like de la littérature scientifique en quelques sorte. Hubert présentera également des initiatives autour de Hadoop et ElasticSearch.
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Hugfr infotel-11 juin2014
1. #Hadoop Stories avec Infotel & Ericsson
#Hadoop Summit overview
Twitter : #hugfr
Follow @hugfrance
2. Sommaire
Historique Infotel en 2mn
Classification dans le monde du brevet
Hadoop + MongoDB + ElasticSearch
pour un portail survitaminé
Q?/R
11 Juin 2014
4. Comment Hadoop s’est imposé à
Infotel ?
Au départ, en 1979, était le MainFrame
11 Juin 2014
Automobile &
Industrie
Banque &
Finance
Transport
Services
5. Comment Hadoop s’est imposé à
Infotel ?
Une expertise sur la gestion de grands volumes de
données non démentie dans le temps
11 Juin 2014
6. Comment Hadoop s’est imposé à
Infotel ?
En 2014, le MainFrame est toujours là!
11 Juin 2014
Banque & Finance
Aéronautique & Services
Mobile / Web
Assurance, retraite
Propriété Intellectuelle
Construction automobile
BI
7. Office de brevet: les grandes lignes métier
Qualifier les demandes de brevets émises auprès de
l’office.
Confronter les requêtes auprès de l’historique interne
Valider la pertinence au regard des autres offices
Offrir des outils de mise à disposition de l’information:
Aux entreprises et au grand public pour qu’il puisse faire
des recherches d’antécédents ainsi qu’un suivi de leur
demandes,
Aux offices nationaux et internationaux
11 Juin 2014
9. Notre projet :
Classification de la ‘Non-Patent Litterature’
11 Juin 2014
130 Millions de documents
Acquis par divers flux:
Web (crawling, plugin FF) / ‘Bibliothèques’ / OCR
Labelliser, Identifier & Classer
La classification sert à :
Améliorer le patrimoine documentaire
o Meilleure organisation,
o Nettoyage (doublons)
Créer des opportunités de parcours et de recherche
10. Aperçu de l’algorithme
Première étape : générer la carte d’identité ou l’ADN pour chaque
document
11 Juin 2014
1,4 Milliard de clés composites générées pour marquer chaque
document
Une volumétrie en entrée modeste, mais une volumétrie
temporaire et une puissance de calcul importantes.
Q DocId Key
[99] 000025829793 [99]-10.1016/0015-6264(68)90089-8
[90] 000025829793 [90]-0015-6264-6-1-65-FOCOTO
[85] 000025829793 [85]0015-6264-FOCOTO-1-65
[80] 000025829793 [80]0015-6264-6-FOCOTO-65
[75] 000025829793 [75]0015-6264-6-1-FOCOTO
[68] 000025829793 [68]0015-6264-6-1-65
[65] 000025829793 [65]0015-6264-0-1-65
[60] 000025829793 [60]0015-6264-6-0-65
[55] 000025829793 [55]0015-6264-6-1-0
[50] 000025829793 [50]0015-6264-0FOCOTO-65
[45] 000025829793 [45]0015-6264-FOCOTO-0-65
[45] 000025829793 [45]0015-6264-0-1-FOCOTO
[40] 000025829793 [40]0015-6264-6-0-FOCOTO
[40] 000025829793 [40]0015-6264-FOCOTO-1-0
[35] 000025829793 [35]0015-6264-6-FOCOTO-0
[01] 000025829793 [01]000025829793
Qualité
(pondération)
Valeur
11. Aperçu de l’algorithme
Deuxième étape : appliquer une stratégie de ‘Community detection algorithm’
11 Juin 2014
Ex : Classification de cellules
Principes simplifié
Notre classification
documentaire:
- Trouver les liens forts,
- Casser les liens faibles,
- Limiter les faux-positifs,
12. Aperçu de l’algorithme
Concordance et Non-concordance de clés
11 Juin 2014
Calculer la proximité de documents dans le Corpus
Le document qui postule est trop éloigné
de la clé d’identité du groupe
14. Mainframe vs Hadoop : le match
11 juin 2014
MainFrame Hadoop
Coûts de développement
Utilisation du
générateur d e
clés Java
Coûts de mise en production
HW + Soft
Commodity
Hardware
Disques (300Go
temp) + MSU
Ouverture à de nouveaux usages
Intégration avec la
classification temps
réel
Complexité de mise en œuvre
Connecteurs
MF 2 Hadoop
Données sous MF
Avantage à Hadoop (léger)
Hors jeu de par son MapReduce non
Robuste, MongoDB est utile sur la
chaine de traitement
15. Architecture technique globale
11 juin 2014
DB2
Dump
XML + EBCDIC
Clés générées
sur MongoDB
En Java
ETL
MongoDB
2 collections:
biblio + clé
++ schemaless
Hadoop
BSON
BSON
150Gb
Par MongoDB
Connector
200 Gb
Vérification & stats
EBCDIC
Run >= 12h
18. Performance Tips
Enchainement de 33 jobs
Passage de 1h à 25mn pour le plus
coûteux
Optimisation des paramètres pour
exploiter toutes les ressources du
cluster
Nombre de Reducer,
Ajustement de l’allocation mémoire,
Equilibrage entre les deux disques
présents sur chaque nœud
Répartition des opérations de lecture
/écriture
11 juin 2014
Optimisation du map et du reduce
mapreduce.task.io.sort.mb
mapreduce.task.io.sort.factor
etc…
dfs.datanode.data.dir et
yarn.nodemanager.local-dirs
19. Performance Tips 2/2
Compression
Gain important lors du
shuffle avec la compression
Taille des blocks HDFS
JVM et mémoire
Une batterie de paramètres
finement ajustés
Taille occupée par la tâche en
RAM, taille de la JVM, taille des
mémoires tampons, etc ...
A suivre ….
11 juin 2014
mapreduce.output.fileoutputformat.compress
mapreduce.output.fileoutputformat.compress.codec
mapreduce.map.memory.mb
mapreduce.reduce.memory.mb
20. Points divers
L’équipe
1 CP
4 Développeurs Hadoop / Java / MongoDB
1 Développeur MainFrame
La suite :
Industrialisation des flux,
Spark !: transposition de l’algorithme pour
accélérer drastiquement les traitements
Utilisation en mode ‘Temps Réel / Incrémental’
11 juin 2014
23. DataMining & BigData
Baobab : Explorer une galaxie documentaire
Objectif n° 1:
Acquérir / Stocker / indexer
Objectif n° 2:
Rechercher intelligemment et
Visualiser
Objectif n° 3:
…..
Visualisation
Répartition
dans le temps
Répartition
géographique
Recherche
‘plein texte’ en qqs ms
Recherche par critères
Parcours par
proximité
Lecture
ergonomique
24. DataMining & BigData
Baobab : Explorer une galaxie documentaire
Objectif n° 1:
Acquérir / Stocker / indexer
Objectif n° 2:
Rechercher intelligemment et
Visualiser
Objectif n° 3:
Comprendre et suggérer
Exploration statistique supervisée et non supervisée pour
‘comprendre’
Hadoop
TF - IDF
Dictionnaire
/ langue
Règles
métier
Extraction des mots
pertinents
Nettoyage
d’informations
parasites et affinage
Alignement sur les
spécificités du domaine
BOOST de SCORE
25. DataMining & BigData
Baobab : Explorer une galaxie documentaire
Objectif n° 1:
Acquérir / Stocker / indexer
Objectif n° 2:
Rechercher intelligemment et
Visualiser
Objectif n° 3:
Comprendre et suggérer
Nuages de mots
hexafluoride
uranium
fluorine
Recommandations
Tendances Classification supervisée / non
supervisée
VIDEO