Centre d’Excellence en Technologies de l’Information et de la Communication Moteurs de recherche Aspects techniques et retours d’expérience Christophe Noël Dec 2005
Plan Introduction Crawling Indexation Module d’interrogation Application développée
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 ?
Plan Introduction Crawling Indexation Module d’interrogation Application dévellopée
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
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)
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
Crawling : solutions Le crawler du CETIC : Crawler sur mesure : 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
Plan Introduction Crawling Indexation Module d’interrogation Application développée
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)
Index inversé
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
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)
Plan Introduction Crawling Indexation Module de d’interrogation Application développée
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
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 final Robuste au spam
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
Plan Introduction Crawling Indexation Module d’interrogation Application développée
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
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
Questions ? Questions ? Renseignements ? christophe.noel@cetic.be
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, …)
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. …
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