DIM 11.09 - jean-Marc Lazard, Exalead Labs,les moteurs de recherche : indexation de grand corpus hétérogène
1. 27/10/2009
27 octobre 2009
Medialab – Séminaire DIM
Bientôt 10 bougies
150 collaborateurs dans 7 pays et 30% des ressources en R&D
Plus de 200 clients et des revenus multipliés par 5 en 3 ans
20 nouveaux partenaires intégrateurs en 2008
2008 2009
Visionnaires Challengers
1
2. 27/10/2009
ENJEUX
DEFIS
INNOVATION
L’information dans les organisations
Des enjeux divergents pour les approches “classiques”
classiques”
UTILISATEURS DONNÉES ORGANISATION ENVIRONNEMENT
+ exigeants + hétérogène + concurrentiel + de lois
+ matures + volumineux + instable + de réglements
+ de profils + de temps réel + connecté + de partenaires
différenciés + de sécurité + de capitalisati° + de pression $
REDUCTION DE COUTS ET AGILITE
4
2
3. 27/10/2009
Les trois grands axes d’innovation Exalead
Accroitre la
Donner du SENS à Repenser les performance
l’information interfaces Simplifier
l’architecture
Multi-sources Appliquer la Technologie
Multi-formats simplicité du non-intrusive
Sémantique web Indexation
Structuration Recherche facile illimitée
des données Accès unifié Scalabilité
Une réponse,
réponse,
les “Search Based Applications”
3
4. 27/10/2009
Vision à 360°
Création d’interfaces de visualisation de résultats
agrégeant les résultats issus de différentes sources…
Les « Search Based Applications »
• Une infrastructure logicielle basée sur les moteurs
d’indexation .
End user applications End user applications
BI
BI
Business processes
Business processes
High complexity/costs and low performance/reusability Low complexity/costs and high performance/reusability
• … permettant de supporter une nouvelle génération
d’applications
4
5. 27/10/2009
Moteur de recherche,
recherche,
la petite histoire
Objectif : De la requête à la page de résultats
“Je veux ma réponse en moins d'une seconde ... Comment fait le moteur pour
explorer desd milliards de pages en si peu de temps ??”
• Crawl temps réel ?
• Copie du web ?
10
5
6. 27/10/2009
Solution : Pré-calculer
Index-time
• input : flot de documents
• output : “données précalculées”
Données précalculées = INDEX
Query-time
• input : mots
• traitement à partir des “données précalculées”
• output : liste de documents
11
INDEX = Listes Inversées
Liste inversée = word -> doc[]
Analogie avec l'index d'un livre
Indexation = inversion
• doc1 = titi toto doc2 = tata toto doc3 = toto toto titi
• LI(titi) = [doc1, doc3]
• LI(toto) = [doc1, doc2, doc3]
• LI(tata) = [doc2]
12
6
7. 27/10/2009
Moteurs V0 = Manipuler des Listes Inversées
Opérations simples sur les listes inversées
• Intersection, union, exclusion
• Exemple: toto AND titi = [doc1, doc3]
Stockage des positions de mots
• Recherche par proximité (près de, à côté de …)
13
Quid de la pertinence ?
Il faut classer les résultats
Critères :
• nombre d'occurrences
• présence du mot dans le titre
• longueur de l'url
• formatage du texte (taille de police, gras)
• pondération des mots w(einstein) > w(albert)
• Page Rank
• Propagation du texte des liens
Ranking(doc, query) = ...
14
7
14. 27/10/2009
Dépasser les problématiques de formats
Data Mining
We came back to Bar Americain for a third visit and so far they are proving
greatness. The food is always great, I mean really great!!! The chef Bobby Flay
is doing a really good job. The Boston lettuce salad was so good!!! We always
have the tasting from the raw bar, always good! Unfortunately, prices have
gone up. My steak was 22$ and my martini glass costed $14 and they
didn’t accept Mastercard!!!
14