introduction à la recherche d'information
DESCRIPTION
Recherche d'information, Information Retrieval, Search, Indexing, QueryingTRANSCRIPT
Introduction à la Recherche d’Information
Saïd RadhouaniUniversité de Genève
18 mai 2010
Saïd Radhouani © 2010 2
Définitions
Recherche d’Information (RI)
Ensemble d’outils et techniques qui permettent de retrouver les documents contenant l’information pertinente à un besoin
Un Système de Recherche d’Information (SRI)
Permet de retrouver, à partir d'une base de documents, le ou les documents pertinents pour une requête utilisateur
Saïd Radhouani © 2010 3
Définitions
Requête : exprime le besoin d'information d'un utilisateur
Document : toute unité qui peut constituer une réponse à une requête
Base de documents : ensemble des documents disponibles
Pertinence : sur cette notion le système doit juger si un document doit être donné à l'utilisateur comme réponse ou non
Saïd Radhouani © 2010 4
Approches de recherche sur le Web
1. Basée sur la navigation Les outils dont le contenu est construit
manuellement annuaires, catalogues ou répertoires organisés par thème ex. Yahoo! Directory (http://dir.yahoo.com), dmoz
(http://www.dmoz.org), etc.
2. Basée sur l’interrogation Les outils dont le contenu est construit
automatiquement moteurs de recherche processus de recherche basé sur des requêtes (ex. mots-clés) ex. Google, Yahoo!, Bing, etc.
Saïd Radhouani © 2010 5
Navigation - principe
Web
thèmes
artsport
• Collection de liens (vers des pages individuelles ou des sites Web entiers) organisée par thèmes (concepts)
Saïd Radhouani © 2010 6
Interrogation - Principe
DocumentsRequête
Correspondance ?
Interrogation ?
??
Indexation ?
Index ??
?
Saïd Radhouani © 2010 7
Processus de Recherche d’Information
ServeursHTTPServeurs
HTTP
ServeurHTTP
ClientNavigateur
Documents Web d'origine
index
Requête
Réponse
Moteurde
Recherche
ServeursHTTP
Interrogation
indexation
Saïd Radhouani © 2010 8
Principales étapes
1. Collecte des pages sur le Web
2. Indexation des pages
3. Stockage des adresses et d'une partie du contenu des pages
4. Réponse aux requêtes au moment de l’interrogation1. Partie informationnelle2. Partie commerciale
Saïd Radhouani © 2010 9
Collecte des pages sur le Web
Particularités du Web contenu des pages change régulièrement plusieurs pages apparaissent et disparaissent
Découverte dynamique des pages en utilisant des robots d’indexation (web crawler ou web spider)
Chaque moteur a son propre robot ex. AltaVista -> Scooter, Google -> Googlebot, Yahoo! ->
Slurp
Saïd Radhouani © 2010 10
Robots - Principe
Explorer le Web en partant de différentes pages et en suivant les liens hypertextes
Utiliser un ensemble d'URL de départ E accéder à une page p d'URL e dans E retirer les balises HTML de p extraire le contenu de p (générer son index) E = E Union cibles (p) recommencer
Condition d’arrêt tout le graphe (composantes connexes accessibles par E) nombre de pages prédéfini profondeur d’un site pages de catégories/contenu prédéfini (filtrage) ...
Saïd Radhouani © 2010 11
Robots
Faire "le tour" du Web est long
L'ensemble de départ E est donné manuellement ("seed pages")
Quand on crée un nouveau site, il n’y a pas de liens qui pointent vers ce dernier
Pour se faire connaître des moteurs Soumettre l’adresse d’un nouveau site via le formulaire du moteur de
recherche
Contacter les webmasters des sites déjà référencés pour qu’ils ajoutent un lien vers le nouveau site
Saïd Radhouani © 2010 12
Robots - Utilisation des balises
Inclure des informations dans la partie <head> de la page HTML
Indiquer aux robots que certaines pages ne doivent pas être indexées
Pages dont les données changent constamment (ex. prévision météo)
un ensemble de mots-clés une courte description de la page
Exemples
<META NAME = "ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> : pour tous les robots
<META NAME = "GOOGLEBOT" CONTENT = "NOINDEX, NOFOLLOW"> : pour un robot particulier (google)
Saïd Radhouani © 2010 13
Indexation - Pourquoi utiliser les index ?
Imaginez un moteur de recherche qui ne dispose pas d’une base d’index
Pour chaque requête, il doit accéder au Web (faire un tour complet) analyser les documents un par un juger l’importance de chaque document par rapport à la
requête en question « fabriquer" la réponse en fonction des pertinences des
documents afficher le résultat
=> une base d’index est indispensable
Saïd Radhouani © 2010 14
Indexation
Analyse du document et interprétation de son contenu
Documents
Indexation ?
Web
Index(local)
Collecte desdocuments
Saïd Radhouani © 2010 15
Indexation
Un index contient une "interprétation" du document au lieu du document entier
Il contient les termes représentatifs d’un document les poids (l’importance) des termes dans chaque document
Chaque moteur possède un index inverse transformation de
"quels mots apparaissent dans la page ?" en
"dans quelles pages (URL) apparaît le mot X?"
Saïd Radhouani © 2010 16
Indexation
Le niveau d’analyse du document est variable (dépend du moteur de recherche)
Indexation multi-niveaux (contenu et structure)
Certains systèmes lemmatisent les mots -> réduction des mots à leur racine formes d'un verbe regroupées à l'infinitif mots au pluriel ramenés au singulier etc.
Certains systèmes ne gardent qu'une partie des termes d'un document (ex. les 100 "meilleurs" pour une page)
Saïd Radhouani © 2010 17
Indexation
Exemples d’éléments qui peuvent être inclus/exclus d’un index
Mots vides (stop words) Le, la, de, à, of, a, the, on, etc.
Mots protégés (protword) Noms propres, etc.
Listes des liens entre pages (source, destination, ancre)
Structure du texte titre et sous-titres
Apparence Texte en gras, Police de grande taille
...
Saïd Radhouani © 2010 18
Indexation
Les métadonnées
Description Résumé du contenu de la page Certains moteurs présentent la description dans la liste des
résultats (plus explicite qu’un extrait arbitraire de la page)
<META NAME = "description" CONTENT = "résumé">
Keywords Identifie les mots-clés les plus importants Utilisé par certains moteurs pour classer les résultats Utile si certains mots-clés n’apparaissent pas dans le texte Peuvent inclure des fautes de frappe/orthographe courantes
<META NAME = "keywords" CONTENT = "liste des mots-clés">
Saïd Radhouani © 2010 19
Interrogation
Documents
Indexation ?
Web
Index(local)
Collecte desdocuments
Moteurde
Recherche
Interrogation ?
ClientNavigateur
Requête
Saïd Radhouani © 2010 20
Processus d’interrogation
Questions - y a-t-il une différence entre :
une requête en majuscule et une en minuscule (PARIS, Paris, paris, PaRis) ?
les mots singuliers et les mots pluriels (Recherche d’information, Recherche d’informations) ?
un verbe à l’infinitif et un verbe conjugué (trouver, trouve) ?
=> Analyse des requêtes est nécessaire
Saïd Radhouani © 2010 21
Processus d’interrogation
Pour répondre à la requête, il faut retrouver des documents
Où ? Comment va-t-on évaluer les documents ? Quels documents retourner à l’utilisateur ?
=> Chercher dans l’index, les documents correspondants
=> Effectuer un calcul pour évaluer la pertinence des documents retrouvés, afin de les ordonner
Saïd Radhouani © 2010 22
Processus d’interrogation
Une fois les documents sont retrouvés Dans quel ordre va-t-on les afficher ? Comment va-t-on les présenter à l’utilisateur ?
les documents entiers ? des extraits ? des liens ?
=> Classer les documents dans un ordre (pertinence, chronologique, ...?)
=> Formater les résultats qui seront présentés à l’utilisateur titre du résultat extrait du texte éventuellement mise en évidence des termes de la requête dans
l’extrait du texte pour certains moteurs, recherche des publicités correspondantes aux
termes de la requête etc.
Saïd Radhouani © 2010 23
Modèle de SRI
Documents
Requête
« pollution de l’air par les moteurs diesels »
Modèleinterprétation
{pollu air moteur diesel}
indexation
correspondance
Saïd Radhouani © 2010 24
Modes d’interrogation
Plusieurs modes d’interrogation
Mode mixte : navigation dans un catalogue et recherche par mots-clés à un certain niveau du catalogue
Simple (avec des opérateurs booléens implicites)
Avec des opérateurs booléens explicites
Avancée (en précisant certaines caractéristiques physiques des documents recherchés)
Saïd Radhouani © 2010 25
Syntaxe des requêtes
Différente pour chaque outil -> consulter la rubrique d'aide de chaque moteur. ex. www.abondance.com
Caractéristiques de quelques moteurs : www.searchengineshowdown.com/features/
Ordre des mots dans la requête (dans Google, résultats différents si ordre des mots inversé) – ex.
Opérateurs booléens (voir dans la suite)
Saïd Radhouani © 2010 26
Syntaxe des requêtes
Troncature : un signe qui remplace une ou plusieurs lettres d'un mot (représenté par "*") ex. http://www.exalead.com/search , www.google.com
Expression exacte : "maladie de la vache folle"
Casse des caractères - différences selon les moteurs : Prise en compte de la casse : recherches à l'identique =>
PARIS donnera PARIS Non prise en compte de la casse : majuscules/minuscules
indifférentes => Hugo, HUGO, hUGo donneront le même résultat
Saïd Radhouani © 2010 27
Syntaxe des requêtes
Recherche avancée
Langue format des fichiers emplacement dans le document : (corps du texte,
titre, liens, URL) date de publication ...
ex. Google
Saïd Radhouani © 2010 28
Exemples de requêtes booléennes
A AND B
A OR B
A NOT B
Saïd Radhouani © 2010 29
Opérateurs booléens
L'opérateur implicite
ET (AND) : livre électronique => documents parlant à la fois de livre et d'électronique
OU (OR) : livre électronique => documents parlant ou de livre ou d'électronique, ou des deux à la fois
Saïd Radhouani © 2010 30
Autres opérateurs
Phrase exacte : "Recherche d'Information"
Terme exacte : +or
Exclure des termes: moteur de recherche –google
Recherche par proximité : Recherche NEXT d'Information
...
ex. http://www.exalead.com/search
Saïd Radhouani © 2010 31
Calcul de la pertinence
Pertinence : la notion centrale dans la RI
=> estimation du degré d'adéquation du document proposé par rapport à la requête
Chaque moteur utilise sa propre combinaison de facteurs pour calculer la pertinence
ex. TF*IDF (Term Frequency * Inverse Document Frequency) Plus le terme de la requête est fréquent dans le document, plus le
document est pertinent Plus le terme apparaît dans plusieurs documents, moins il est
discriminent
Plus des poids pour certains facteurs Utilisation des balises (titre,...)
Saïd Radhouani © 2010 32
Classement des documents retrouvés - Ranking
Une fois les documents pertinents ont été retrouvés, dans quel ordre va-t-on les afficher ?
On utilise un algorithme de "ranking" pour calculer un score pour chaque document retrouvé
Ordonner les documents en fonction de leur score
Plusieurs stratégies, selon les systèmes Démo (Google vs. Yahoo!)
Saïd Radhouani © 2010 33
Ranking - principe et exemples
Exemple de facteurs qui permettent de mesurer le score
Nombre d'occurrences des termes de la requête retrouvées dans un document
Rareté des termes par rapport à l'ensemble des documents
La proximité entre les termes
La position des termes dans le document (début du document, titre, …)
Présence des termes dans les balise META
etc.
Saïd Radhouani © 2010 34
Ranking – exemple : PageRank
PageRank - Google
Basée sur la notion de propagation de popularité
Le principe est d’évaluer l’importance d’une page en fonction des pages pointant vers elle
Hypothèse : “une page référencée par un grand nombre de [bonnes] pages est une bonne page”
Analyse quantitative et qualitative de liens
Wikipedia
Ranking – exemple : PageRank
Principaux critères du score d'une page [brevet Google]
liens entrants et sortantsancrestrafic associé à la pagecomportement de lecteurschoix de la page dans les résultatsnom de domainehébergementconfiance : indice TrustRank
Possibilité de “sanctionner” les campagnes massives de liens artificiels
Saïd Radhouani © 2010 35
Saïd Radhouani © 2010 36
Évaluation d’un SRI
Académie vs. Industrie
Le but de la RI est de retrouver des documents pertinents pour une requête (c-à-d, utile à l’utilisateur)
La qualité du système est mesurée en comparant les réponses du système avec les réponses idéales que l’utilisateur espère recevoir
Une collection test un ensemble de documents un ensemble de requêtes la liste des documents pertinents pour chaque requête
Saïd Radhouani © 2010 37
Évaluation d’un SRI
Deux critères
La Précision : la proportion de documents pertinents retrouvés parmi tous les documents retrouvés par le système
Précision = Nombre de documents pertinents retrouvés Nombre de documents retrouvés
Le Rappel : la proportion de documents pertinents retrouvés parmi tous les documents pertinents dans la base
Rappel = Nombre de documents pertinents retrouvés Nombre de documents pertinents
Saïd Radhouani © 2010 38
Par défaut, utilise l’opérateur AND entre les termes
Expressions mises entres guillemets
Exclusion avec le signe -
Possibilité d’utiliser OR
Ne tient pas compte de la casse
Ignore les accents, sauf si le terme est précédé d’un +
Pas de troncature
Ignore les mots outils en dehors des expressions ou s’ils sont précédés d’un + (ex. +le froid)
Recherche d’un terme ou de ses synonymes : ~terme (ex. Voiture ~automobile)
Saïd Radhouani © 2010 39
Restreindre la recherche à un certain sous-domaine site:.ch (nom de domaine se terminant par .ch) site:www.unige.ch (pages de l’Université de Genève) -site: .com (exclusion de toutes les pages venant d’un site .com) pour avoir la liste des pages indexées pour un site
-kdlsjflasj site:nom_site (kdlsjflasj ou autre mot qui ne figure pas dans les pages du site en question)
Position des termes dans le titre de la page ou dans l’URL intitle: / allintitle: / inurl: / allinurl:
Tous les types de requêtes précédents peuvent être combinés Liens pointant vers une page
link:adresse de la page link:cui.unige.ch
Informations sur la page info:url Définition d’un terme define:terme
Saïd Radhouani © 2010 40
Variétés des moteurs de recherche
Ils diffèrent les uns des autres suivant plusieurs points de vue
Les types de ressources indexés : sites Web, news, ect.
Les zones géographiques couvertes, les domaines ...
Leur mode de recherche des pages à indexer
La partie des pages qu'ils indexent
Leur mode d'indexation
Les possibilités d'interrogation qu'ils offrent (opérateurs, etc.)
Leurs performances diffèrent par Le nombre de ressources indexées ou la taille de la base de documents La fréquence de la mise à jour La rapidité des réponses aux requêtes La qualité des réponses ?
Saïd Radhouani © 2010 41
Méta-moteur de recherche
R1 R2 R3 il récupère les résultats de ces systèmes
il fusionne les résultats
R
il présente sa réponse
Q1 Q2 Q3
M2M1 M3 le Méta-moteur la traduit et la soumet à des moteurs de recherche (Altavista, Google, Bing, ...)
Q
l'utilisateur pose une requête
Saïd Radhouani © 2010 42
Méta-moteur de recherche
Exprimer une requête dans l'ensemble des langages des moteurs de base
Fusionner des réponses qui ont des valeurs de pertinences différentes (seul l'ordre est accessible)
Problèmes centraux Combien de documents extraire des listes ? Quels documents sélectionner dans chaque liste ? Quels critères (similarité, rang) de sélection dans chaque liste ? Quelle stratégie de combinaison des listes ?
Il n'y a pas nécessairement beaucoup de recouvrement entre les systèmes
Le temps de réponse est lié au plus lent des moteurs utilisés
Saïd Radhouani © 2010 43
Méta-moteur de recherche - Exemples
http://clusty.com
http://www.ixquick.com
http://www.mamma.com/
http://www.copernic.com/
...
Saïd Radhouani © 2010 44
Choix de l'outils de recherche
En fonction du besoin
Choisir la navigation si on a besoin d’une information à caractère général, mais de bonne qualité, et peu évolutive
ex. initiation à un domaine Point de départ d’une visite
Choisir l’interrogation si le besoin est précis et si le fait de savoir que l’information n’existe pas est aussi important (le rappel est plus fort)
ex. qui parle de telle société ? une réponse à une question technique
Saïd Radhouani © 2010 45
Pour utiliser un outil
Si vous n'êtes pas encore familiarisé avec ce moteur, lire les instructions
Penser aux opérateurs implicites : OU, ET
Considérer l'ensemble des opérateurs, et des règles pour aider à la recherche
Quelle est la portée de l'outil : zone géographique, partie d'Internet concernée, centre d'intérêt
Les outils eux-mêmes changent : relire les instructions
De nouveaux outils apparaissent -> se tenir au courant
Saïd Radhouani © 2010 46
Conseils pour la recherche
Identifier l'objectif sous forme d'une phrase déterminer les termes les plus significatifs trouver d'éventuels synonymes penser aux termes ambigus privilégier les mots rares ou inhabituels
Penser aux interrogations en différentes langues
Il ne faut pas avoir le reflex d’utiliser les moteurs de recherche --> Penser aux sites de recherche spécialisés dont vous avez intérêt à conserver les adresses (ex. pages jaunes, cff, tpg, etc. )
Procéder par itérations successives : Recommencer .... en raffinant la recherche
Saïd Radhouani © 2010 47
Stratégie de reformulation de requête
Problème : Trop de documents (courant sur le Web) Requête trop courte Terme trop ambiguë (ex: charge) Sujet trop vaste
Solutions possibles Reformuler en remplaçant un terme générique par un ou plusieurs
termes spécifiques : voiture -> porsche Augmenter le nombre de termes
(voiture -> voiture AND allemande) connectés par des AND En cas d'utilisation de OR, tenter de les remplacer par des AND
(même si le sens est changé...) Si le système le permet, mettre des phrases complètes :
"recherche d'information et de documents" pour éviter "recherche AND information AND document"
Utiliser des négations : "voiture AND NOT Renault" Mettre des critères de distance: "voiture NEAR louer"
Saïd Radhouani © 2010 48
Stratégie de reformulation de requête
Problème : Trop peu de documents (rare sur le Web)
Pallier "à la main" les limitations de l’indexationmaladie du cœur OR maladie cardiaque
Utiliser des OR qui connectent des termes synonymes voiture OR automobile
Diminuer le nombre de termes (les moins importants)
Mauvaise qualité : problème de classement Choisir des termes synonymes moins ambigus
Saïd Radhouani © 2010 49
Autres axes de RI
Recherche d’information multilingue
Recherche multimédia
Images• Google Image, Yahoo! Image, flickr, etc.
Vidéo• YouTube, DailyMotion, fooooo.com, etc.
Audio• music.yahoo.com, songza.org, playlist.com, etc.
Nouveaux besoins
Recherche par domaine emplois, immobilier, automobile,...
Moteur de recherche vertical Besoin d’information précis Vocabulaire spécifique Nouvelles technique d’indexation Nouveaux critères de recherche (prix, marque,...)
Exemples Emplois – Simply Hired, indeed,... Automobile – Vast, iseecars,... Immobilier – Zillow, Koodya,...
Saïd Radhouani © 2010 50
Nouvelles sources d’information
Réseaux sociaux et blogsTwitter, facebook, FriendFeed, etc.
Recherche en temps réel (Real-time search)Nouveaux problèmes
téléchargement – temps réelindexation ordonnancement - pertinence, popularité, ...
Exemple: Wowd, Topsy, OneRiot, etc.
Saïd Radhouani © 2010 51
Référencement
Objectif : être LA référence dans le domaine
Deux stratégies référencement naturel (organique)
annuaires et moteurs de recherche
référencement payant (liens sponsorisés)
Saïd Radhouani © 2010 52
Référencement naturel
Soumission manuelle de son URL aux annuaires et moteurs de recherche
Suivi de l’évolution de son classement sur les moteurs de recherche
Juger la qualité de son site (Indicateur : Page Rank) paramètres pris en compte
choix des mots-clés (ce que recherchent les utilisateurs) mise à jour du contenu en fonction des besoins/recherches des utilisateurs absence d’erreurs 404 et de redirections (HTTP) formater correctement l'information (HTML) qualité des liens référents ...
Tenir compte des concurrents positionner son site sur tous les sites contenant un lien référent (backlink)
vers un concurrent. (link:http://nomdusite.ch sur Google) utiliser les mots-clés utilisés par le concurrent utiliser des mots-clés "discriminants"
Saïd Radhouani © 2010 53
Saïd Radhouani © 2010 54
Références
Robots : http://www.robotstxt.org/
Livres : http://www.emse.fr/~mbeig/IR/books.html
Outils : http://www.emse.fr/~mbeig/IR/tools.html
Cours : http://www.iro.umontreal.ca/~nie/IFT6255/
Conférences : SIGIR, CIKM, ECIR, CIVR, AIRS, ICME, etc.
Campagne d’évaluation de SRI : TREC, CLEF, NTCIR
Wikipedia