Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre...

Preview:

Citation preview

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 21

Questions ?

Questions ?

Renseignements ? christophe.noel@cetic.be

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

Recommended