24
Moteurs de recherche Moteurs de recherche Aspects techniques Aspects techniques et retours d’expérience et retours d’expérience Christophe Noël Christophe Noël Dec 2005 Centre d’Excellence en Technologies de l’Information et de la Communica

Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

Embed Size (px)

Citation preview

Page 1: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

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

Page 2: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

Dec 2005 www.cetic.be 2

PlanPlan

• Introduction

• Crawling

• Indexation

• Module d’interrogation

• Application développée

Page 3: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

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 ?

Page 4: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

Dec 2005 www.cetic.be 4

PlanPlan

• Introduction

• Crawling

• Indexation

• Module d’interrogation

• Application dévellopée

Page 5: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

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

Page 6: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

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)

Page 7: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

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

Page 8: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

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

Page 9: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

Dec 2005 www.cetic.be 9

PlanPlan

• Introduction

• Crawling

• Indexation

• Module d’interrogation

• Application développée

Page 10: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

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)

Page 11: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

Dec 2005 www.cetic.be 11

Index inversé

Page 12: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

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

Page 13: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

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)

Page 14: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

Dec 2005 www.cetic.be 14

PlanPlan

• Introduction

• Crawling

• Indexation

• Module de d’interrogation

• Application développée

Page 15: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

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

Page 16: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

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

Page 17: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

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

Page 18: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

Dec 2005 www.cetic.be 18

PlanPlan

• Introduction

• Crawling

• Indexation

• Module d’interrogation

• Application développée

Page 19: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

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

Page 20: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

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

Page 21: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

Dec 2005 www.cetic.be 21

Questions ?

Questions ?

Renseignements ? [email protected]

Page 22: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

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, …)

Page 23: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

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.

– …

Page 24: Moteurs de recherche Aspects techniques et retours dexpérience Christophe Noël Dec 2005 Centre dExcellence en Technologies de lInformation et de la Communication

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