Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre...
-
Upload
mainfred-remond -
Category
Documents
-
view
105 -
download
1
Transcript of Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre...
Moteurs de rechercheMoteurs de recherche
Aspects techniquesAspects techniqueset retours d’expérienceet retours d’expérience
Christophe NoëlChristophe Noël
Dec 2005
Centre d’Excellence en Technologies de l’Information et de la Communication
Dec 2005 www.cetic.be 2
PlanPlan
• Introduction
• Crawling
• Indexation
• Module d’interrogation
• Application développée
Dec 2005 www.cetic.be 3
Introduction
• Moteur de recherche : machine(s) chargée(s) d’indexer des documents webs et permettant une recherche rapide à l’aide de mots-clés.
• Mieux comprendre :– Quel est son fonctionnement?– Solutions apportées par le CETIC ?
Dec 2005 www.cetic.be 4
PlanPlan
• Introduction
• Crawling
• Indexation
• Module d’interrogation
• Application dévellopée
Dec 2005 www.cetic.be 5
Crawling
• Tâche globale de collecte de documents
• Logiciels de parcours et d’aspiration de l’internet
• Scénario simplifié :– Chargement du document (web)– Extraction d’urls– Parcours des nouveaux urls
Dec 2005 www.cetic.be 6
Crawling : contraintes
• Crawler vite : condition pour assurer une fraîcheur suffisante
• Crawler tout : les robots doivent parcourir une part significative du web
• Crawler poliment : les robots doivent respecter les sites visités (exemple : robots.txt)
Dec 2005 www.cetic.be 7
Crawling : difficultés
• Contraintes bande passante– Du crawler– Des serveurs interrogés
• Contraintes de stockage• Paramètres nombreux (threads,
timeout)– Mode poli : lent– Mode impoli : uniquement en intranet
• Mauvaise expérience : 95% d’erreurs 30 % de bande passante utilisée
Dec 2005 www.cetic.be 8
Crawling : solutions• Le crawler du CETIC :
– Avec une bande passante de 2Mbits : Environ 700.000 urls / jour
– Avec une bande passante de 100 Mbits : Environ 35.000.000 urls / jour
– Espace de stockage : 1 millions de documents = 20 Go 50 millions de documents = 1 To
• Crawler sur mesure :– Nombre d’urls donné : adapter les
paramètres – Meilleure tolérance aux timeout– Meilleure fréquence de rafraichissement
Dec 2005 www.cetic.be 9
PlanPlan
• Introduction
• Crawling
• Indexation
• Module d’interrogation
• Application développée
Dec 2005 www.cetic.be 10
Indexation
• Etape préparatoire pour les recherches : construction de fichiers d’index rapides et performants
• Utilisation d’index inversés : – Index :
Livre1 (alouette,p5) (corbeau,p2) (geai, p9) Livre2 (abricot,p12) (fraise,p1) (pomme,p4)
– Index inversé : Abricot (livre2,p12) (livre 6, p23) Alouette (livre1,p5) (livre22,p2)
Dec 2005 www.cetic.be 11
Index inversé
Dec 2005 www.cetic.be 12
Documents et champs
• Un document est une séquence de champs
• Un champ est une paire <nom,valeur>
• Nom : nom du champ– Exemple : “titre”, “texte”, “url”
• Valeur : le titre, le texte ou l’url• Permet de rechercher des documents
dans un champs particulier
Dec 2005 www.cetic.be 13
Indexation : généralités• L’index des mots est organisé par une
structure de fichier d’index inversé• Les termes des documents sont
qualifiés par des champs• Des méthodes de déformattage,
d’analyse et de filtrage permettent de passer de l’information brute vers une information structure exploitable
• Le CETIC utilise le système de gestion d’index Lucene (Apache)
Dec 2005 www.cetic.be 14
PlanPlan
• Introduction
• Crawling
• Indexation
• Module de d’interrogation
• Application développée
Dec 2005 www.cetic.be 15
Module d’interrogation• Un module d’interrogation en bref :
– Un lecteur de fichier d’index– Une interface Web– Un mécanisme d’analyse et de
traitement des requêtes– Un algorithme de Scoring
Dec 2005 www.cetic.be 16
Algorithme de scoring
• Score final d’un document dépend de :– Résultat relatif à la pertinence des
termes dans le document– Résultat relatif à l’importance des ancres
pointant vers le document (pageRank)
• Les différents critères sont pondérés pour obtenir le résultat finalRobuste au spam
Dec 2005 www.cetic.be 17
Algorithme de scoring
– Occurences du mot dans le document
– 1/rareté du mot dans le document
– Importance du champ du mot (titre?)
– PageRank du document
– Différents facteurs
Dec 2005 www.cetic.be 18
PlanPlan
• Introduction
• Crawling
• Indexation
• Module d’interrogation
• Application développée
Dec 2005 www.cetic.be 19
Application développée• Technologie de moteur de recherche
complète• Possibilité de gérer de gros index• Solution intégrée comprenant :
– Un crawler– Un moteur d’indexation– Une interface de recherche
• Solution adaptée à vos besoins• Quelques exemples de fonctionnalités :
– Correction orthographique– Groupement par catégorie (clustering)– Suggestion de mots-clés– Géolocalisation
Dec 2005 www.cetic.be 20
Application développée• Deux cas concrets :
– IllicoPresto : un moteur de recherche personnalisé
6000 urls Correction automatique Affichage spontanné de mots clés Liste de contacts contextuelle
– Eurobot : le démonstrateur du CETIC Préparé pour le groupe de discussion Suggestion de mots clés Géolocalisation
Dec 2005 www.cetic.be 22
Indexation: parsing
• Parsing signifie déformatage• Transformation des formats de
représentation– Input : HTML, pdf, ps, msword, texte– Sortie : Format utilisable
• Contrainte : garder un maximum d’informations structurelles (url, titre, liens, …)
Dec 2005 www.cetic.be 23
Indexation : analyse
• Quelles sont les informations pertinentes ?– Format du document– Langue utilisée – Valeur du document :
Longueur Forme Profondeur de la page dans un site Nombre de liens dans la page Etc.
– …
Dec 2005 www.cetic.be 24
Indexation : filtrage
• Que doit-on préparer pour l’indexation ?
• Différents traitements :– Application des stop words (le, la, un,
est)– Conversion de caractères/mots
(accents?)– Décomposition du texte en termes– Lemmatisation éventuelle
• Prépare à la phase de création des fichiers d’index