Systèmes de RI
Pr. Bouzid
Génie informatique – 5ème année
Année universitaire 2023- 2024
SRI & Big Data
Plan
• Introduction:
• Définitions autour de la RI
• Domaines de la RI
• Historique
• Problématique de la RI
• L’indexation
• Les modèles de RI
• L’évaluation d’un SRI
• La RI sur le web
SRI & Big Data
Introduction
SRI & Big Data
Introduction
• Le domaine de la recherche d’information remonte au début
des années 1950 :
• explosion des informations après la seconde guerre mondiale
• Avènement de l’informatique (et de l’utilisation des ordinateurs)
• popularisation de l’internet
• Les pionniers de l’époque étaient enthousiastes à utiliser
l’ordinateur pour automatiser la recherche d’information,
dépassant la capacité humaine
• Les informations étaient principalement contenues dans des
documents textuels
• Problématique abordée: comment rechercher des
informations dans une base de documents volumineuse de
4
manière rapide et efficace
SRI & Big Data
Définition - RI
• Définition de la RI:
• La recherche d’information (RI) est une branche de l’informatique
qui s’intéresse a l’acquisition, l’organisation, le stockage, la
recherche et la sélection d’information [salton, 1968]
• Terminologies utilisées:
• Recherche d’information (RI) - Information Retrieval (IR)
• Recherche de document – Document Retrieval
• Finalité:
• Sélectionner dans une collection (de documents) les informations
pertinentes répondant à un besoin précis
5
SRI & Big Data
Définition - RI
• Trois notions clés se dégagent :
• Document (quels documents)
• Requête (comment correspondre la requête et les documents)
• Pertinence (comment évaluer le résultat)
• La notion de document en RI:
• Document textuel
• Page web (fichiers web , mail, …)
• Images, Vidéos
• Mélange de types (textes, images, …) dans un format précis
=> On appelle « document » dans la RI toute ressource
d’information qui peut constituer une réponse à une requête
d‘un utilisateur
6
SRI & Big Data
Définition - RI
• Remarques:
• Dans la RI: l’information recherchée est textuelle, mais peut être
retrouvée dans différents formats de documents / fichiers
• Pour les images et les vidéos (ou tout autre fichier multimédia),
leurs métadonnées sont utilisées en premier
• Il existe une autre branche de la RI (recherche d’image - image
retrieval) qui se focalise sur la recherche d’image à partir d’une
requête sous forme d’image (comparaison d’images…). Il ne s’agit
pas d’une recherche textuelle (hors sujet de ce cours).
SRI & Big Data
Domaines de la RI
• Domaines d’applications:
• GED (gestion électroniques de documents)
• Recherche sur le web
• Réseaux sociaux
• Bibliothèques numériques
• Monde de l’entreprise (toute activité métier produisant des
documents)
• Recherche scientifique
• Nos propres ordinateurs (bureautique et autre)
• …
SRI & Big Data
Domaines de la RI
• Domaines d’application connexes :
• Classification / catégorisation (clustering)
• Web sémantique (semantic web)
• Systèmes de Questions-réponses (Query Answering)
• Systèmes de Recommandation (Recommendation systems)
• L’IA (intelligence artificielle)
• Fouille de textes (Text mining)
• Gestion des connaissances (knowledge management)
• …
SRI & Big Data
Définition - SRI
• Un système de recherche d'information (SRI) est un système
qui permet de retrouver les « documents pertinents » à une
requête utilisateur (textuelle)
• Exemples de SRI:
• Moteur de recherche Web (google, bing, …)
• Systèmes de RI documentaires (tels que pour la recherche
d’articles scientifiques)
• Systèmes de RI dans les logiciels de GED
• Systèmes de RI spécifiques à une base de documents d’une
entreprise
10
SRI & Big Data
Définition - SRI
• Remarque:
• Il ne faut pas confondre systèmes de bases de données et
systèmes de RI
• Les SRI se focalisent sur la recherche d’informations textuelles
dans des ressources telles que des documents
• La recherche (requêtage) dans des BD (relationnelles ou non
relationnelles) ne relève pas du domaine de la RI, car :
• ces BD contiennent des données (et pas des informations)
organisées suivant un certain schéma (modèle) de stockage (les
données ont un modèle de conception métier)
• le résultat renvoie des données (table, liste de données) et pas des
documents
11
SRI & Big Data
Historique
• La RI date des années 1940, dès la naissance des ordinateurs.
• Le nom de « recherche d’information » (information retrieval)
fut donné par Calvin N. Mooers en 1948 [MOO 48] pour la
première fois quand il travaillait sur son mémoire de maîtrise
• Au début, la RI se concentrait sur les applications dans des
bibliothèques (on utilisait le nom "automatisation de
bibliothèques")
• Dans les années 1950, on commençait de petites
expérimentations en utilisant des petites collections de
documents (références bibliographiques). Le modèle utilisé
est le modèle booléen
12
SRI & Big Data
Historique
• La première conférence dédiée au thème de la RI –
International Conference on Scientific Information - s’est
tenue en 1958 à Washington
• Les premiers problèmes qui intéressaient les chercheurs
portaient sur comment retrouver les documents (avec quels
mots, quels termes) => la notion d’index est devenue au
centre des recherche
• Dans les années 1960 et 1970, des expérimentations plus
larges ont été menées, et des méthodologie pour évaluer les
système de RI ont vue le jour. Des corpus de test (e.g. CACM)
ont été conçus pour évaluer des systèmes différents de RI. Ces
corpus de test ont beaucoup contribué à l'avancement de la RI
13
SRI & Big Data
Historique
• Parmi les projets d’expérimentation menés sur la RI :
• Projet Cranfield (dirigé par Cyril Cleverdon, 1957-1967) [CLE 67]:
on visait à tester l’efficacité de différentes façons d’indexer et de
rechercher des documents. C’est dans ce projet que les mesures
précision et rappel (precision and recall) on été inventées. Ces
mesures sont encore utilisées aujourd’hui pour évaluer la
pertinence des résultats obtenus par rapport aux résultats
souhaités
• Projet MEDLARS – MEDical Literature Analysis and Retrieval
System (F. Wilfrid Lancaster, complete en 1968) [LAN 68]: il s’agit
d’expérimentation de RI dans le domaine biomédical. Les
documents sont indexés manuellement, avec un vocabulaire
contrôlé (choisi). Les résultats sont évalués en terme de précision
et de rappel. Les résultats de ce projet montrent que l’utilisation
d’un vocabulaire contrôlé avec l’indexation manuelle est efficace
mais restreint la pertinence des résultats. 14
SRI & Big Data
Historique
• SMART (Gerard Salton, 1ière version 1961-1965) [SAL 71] : celui
qui a eu le plus d’impact sur la RI est le système SMART,
développé entre les années 1960 et début des années 1970. Les
travaux sur ce système ont été dirigés par G. Salton, professeur à
Cornell university (NY). De nouvelles techniques ont été
implémentées et expérimentées pour la première fois dans ce
système telles que: l’utilisation du modèle vectoriel, la technique
de « relevance feedback », le regroupement de documents /
clustering, …). Le système SMART fut réécrit dans les années 1970
et 1980 par E. Fox et C. Buckley. Ce système a été, et est encore
aujourd’hui, utilisé par de nombreux chercheurs pour des
expérimentations en RI.
15
SRI & Big Data
Historique
• Les années 1980 ont été influencées par le développement de
l'intelligence artificielle. Ainsi, on tentait d'intégrer des
techniques de l'IA dans la RI (par exemple, système expert
pour la RI, etc).
• Les années 1990 (surtout à partir de 1995) sont les années de
l’avènement de l'Internet. Cela a eu pour effet de propulser la
RI en avant et sur sur le web (apparition des moteurs de
recherche web). La problématique de la RI a été élargie à
d’autres types de documents/fichiers tels que le multimédia
(et encore plus aujourd’hui avec les réseaux sociaux). Les
techniques de base utilisées dans les moteurs de recherche
web sont celles connues de la RI. Des améliorations et des
spécificités liées au web ont été apportées par la suite. 16
SRI & Big Data
Problématique de la
RI
17
SRI & Big Data
Problématique de la RI
Besoin
d’information
How?
Sources d’information
Input
Matching
Requête utilisateur
…
Documents textuels, images, vidéos, …
Output
18
SRI & Big Data
Problématique de la RI
Besoin
d’information
Sources d’information
Input
Matching
Requête utilisateur
…
Documents textuels, images, vidéos, …
Output
19
SRI & Big Data
Problématique de la RI
• Besoin d’information :
• Il s’agit d’une expression mentale de l’utilisateur
• Le même besoin peut être exprimé de différentes manières, selon
l’utilisateur…
• Requête utilisateur:
• Est une représentation possible du besoin de l’utilisateur
• Peut prendre les formes suivantes :
• Texte libre, texte avec operateurs (AND, OR, NOT,…)
• Liste de mots clés (vocabulaire contrôlé)
• Images, sons
• Par navigation dans une collection
• Hashtag (cas des réseaux sociaux)
• … 20
SRI & Big Data
Problématique de la RI
• Problématique du besoin :
• Une requête idéale doit comporter toutes les informations que
l’utilisateur recherche, la similarité serait alors optimale (et
maximale)
• Or, l’utilisateur recherche une information qu’il ne connait pas a
priori, il ne peut donc pas l’exprimer (décrire) de maniere précise
(ideale)
• Le besoin est donc exprimé de manière approximative
• Le besoin est subjectif car dépend de l’utilisateur qui l’exprime
21
SRI & Big Data
Problématique de la RI
Besoin
d’information
Sources d’information
Input
Matching
Requête utilisateur
…
Documents textuels, images, vidéos, …
Output
22
SRI & Big Data
Problématique de la RI
• Sources d’information :
• Ressources d’information (documents / fichiers)
• Formes des ressources :
• Texte
• images, sons, vidéo, graphiques, etc.
• Propriétés des ressources :
• Non structurée : texte brut (plain text)
• Structurée ou semi structurée (XML, HTML, …)
• Hétérogénéité
• Langage (contenu multilingue)
• Format connu (documents, images, vidéos,…)
• Format spécifique (issue d’applications métier…)
23
SRI & Big Data
Problématique de la RI
• Exemple semi-structuré: livre numérique (métadonnées + texte
brut):
24
SRI & Big Data
Problématique de la RI
• Deux classes d’information:
• Méta-information, métadonnées (données/informations à
propos du document)
• Attributs : titre, auteur, date de création, etc.
• Structure (organisation du contenu) : structure logique, liens, ...
• Contenu :
• Contenu brut : texte du document
• Contenu sémantique : texte ayant du sens (information) extrait à
partir du contenu brut
25
SRI & Big Data
Problématique de la RI
• Problématique des sources d’information :
• Beaucoup de formes et d’hétérogénéités dans les documents
• Quantité importante d’informations
• L’utilisateur ne connait pas les sources d’information à l’avance
(pas nécessairement). L’information recherchée est noyée dans
d’autres informations
=> Comment peut-on parcourir autant de sources d’information et
en sélectionner les plus pertinentes par rapport à un besoin
utilisateur ?
26
SRI & Big Data
Problématique de la RI
Besoin
d’information
Sources d’information
Input
Matching
Requête utilisateur
…
Documents textuels, images, vidéos, …
Output
27
SRI & Big Data
Problématique de la RI
• Matching (mise en correspondance) :
=> Deux approches possibles:
• Approche simple de la RI :
Correspondance mot à mot
Trouver les documents ayant
X Y Z les mêmes mots que la
requête
• La requête et les documents sont des listes de mots clés (texte)
• On parcourt séquentiellement les textes des documents en
recherchant les occurrences de chaque mot-clé de la requête
• On sélectionne les documents et classe les résultats : les documents
qui contiennent le plus de mots de la requête sont présentés en
premier 28
SRI & Big Data
Problématique de la RI
• Critique de l’approche simple:
• Efficace pour des bases de textes de petite taille : le temps de
calcul est linéaire dans la taille de la base
• Pas de prétraitement de la requête ni des textes : caractères
(majuscules, accents, ...), mots de même famille => risque de
passer à côté de certains documents
• Problème de Vitesse: L'opération de recherche est très lente.
Pour chaque requête, on doit parcourir tous les documents dans
la base. Dans la pratique, il y en a des centaines de milliers, voire
des millions. Il n'est donc envisageable d'utiliser cette approche
que sur des collections très petites (avec un contenu textuel pas
très chargé)
29
SRI & Big Data
Problématique de la RI
• Exemples de SRI avec l’approche simple :
• Recherche de fichiers de code dans les Frameworks de
développement informatique
• Recherche dans les e-mails (outlook, gmail, …)
• Fonctionnalité de recherche dans l’historique de navigation dans
un navigateur web
30
SRI & Big Data
Problématique de la RI
• Approche par indexation :
Correspondance
Correspondance entre les
X Y Z mots de la requête et les
Index
index (représentations
des documents) Représentations
• Idée de base :
• On ne peut pas parcourir les documents à chaque requête
• On va donc prétraiter les documents pour savoir rapidement dans quel
document apparaît un mot.
• Technique : => L’indexation
• Prétraiter les documents (sélectionner les termes clés qui les
représentent)
• Constituer une liste de termes pour chaque document
• Construire une structure de données associant termes et documents => 31
Base d’index
SRI & Big Data
Problématique de la RI
• Critique de l’approche par indexation:
• Elle est plus rapide car plus besoin du parcours séquentiel. Avec
la structure d'index, on peut directement savoir quels sont les
documents qui contiennent tel ou tel mot
• L’expression des requêtes peut être intelligente (avec des
opérateurs de logique ente les mots), exprimant des besoins
d'information complexes
• Le prix à payer pour ces avantages est le besoin d’espace de
stockage supplémentaire pour la structure d'indexes. En général,
cet espace peut aller de 40% jusqu’à 200% de la taille de la
collection de documents, selon la complexité de l'indexation
32
SRI & Big Data
Problématique de la RI
• Exemples de SRI avec l’approche d’indexation:
• Tous les moteurs de recherche web,
• Certains moteurs intégré dans les logiciels du marché (logiciels
professionnel de gestion, ERP, CRM,…),
• Outils de GED,
• Moteur de recherche des réseaux sociaux,
• …
33
SRI & Big Data
Problématique de la RI
Besoin
d’information
Sources d’information
Input
Matching
Requête utilisateur
…
Documents textuels, images, vidéos, …
Output
34
SRI & Big Data
Problématique de la RI
• Pertinence des résultats :
• La pertinence est le degré de correspondance entre une requête
et la liste des documents retournés en résultats
• Côté utilisateur humain, la pertinence est subjective: les résultats
peuvent paraitre pertinents pour un utilisateur et pas assez
pertinents pour un autre (pour une même requête)
• Côté système, la pertinence est algorithmique : termes de la
requête dans un document (grâce aux index) = document
pertinent
• Le but de rechercher l’information dans un SRI est de trouver
seulement les documents pertinents à une requête, et pertinents
pour la majorité des utilisateurs du système
• Aucun système de RI n’est parfait. L’objectif final est de trouver le
bon rapport entre requête/résultat 35
SRI & Big Data
Synthèse de la problématique
• Caractéristiques d’un SRI :
• Le système doit être simple à utiliser (expression facile de la
requête, possibilité d’exprimer des requêtes logiques,…)
• Le système doit conjuguer avec les différents formats et contenus
des documents / sources d’information
• Le système doit fournir les meilleures réponses possibles, et ces
réponses doivent être « pertinentes » pour l’utilisateur
• Le système doit fournir un nombre raisonnable de réponses
• Le système doit fournir des réponses rapides (délai raisonnable)
=> Comment essayer de satisfaire toutes ces caractéristiques à
la fois?
36
SRI & Big Data
Solution : L’indexation
Sources d’information
Besoin
d’information
Input …
Documents textuels, images, vidéos, …
Matching
Requête utilisateur
Index Index Index
Output
37
SRI & Big Data
L’indexation
38
SRI & Big Data
L’indexation
• C’est quoi l’indexation?
• Processus permettant de construire un ensemble de termes clés
(« index ») permettant de représenter le contenu d’un document
• L’index peut représenter :
• Un mot simple: « pomme »
• Un groupe de mots : « pomme de terre »
• L’indexation peut être :
• Manuelle (experts des documents)
• Automatique (ordinateur)
• Semi-automatique (combinaison des deux)
• Basée sur :
• Un langage libre (éléments pris directement des documents)
• Un langage contrôlé (lexique, thesaurus, ontologie/réseau
39
sémantique,…)
SRI & Big Data
Vocabulaire contrôlé
• Types de vocabulaires contrôlés:
• Lexique : Liste de mots clés
• Liste hiérarchique (taxonomie) : de concepts, de notations,…
• Thésaurus : Liste de mots clés + relation sémantiques entre les
mots clés
• Ontologie / réseau sémantique : Liste de concepts + relations
entre les concepts
• Dictionnaire de mots : Exemple : WordNet (pour l’anglais)
40
SRI & Big Data
Vocabulaire contrôlé
• WordNet est un dictionnaire (gratuit) de mots anglais créé par
des chercheurs à l’université de Princeton
• Contenu de WordNet :
• Mots en anglais organisés en synsets : ensembles de mots
synonymes
• Les synsets ont des définitions et des relations entre elles
• Un mot peut appartenir à plusieurs synsets
• Relations sémantiques entre synsets :
• Hyperonymie/hyponymie(généralisation/spécialisation) : is-a
• Antonymie (opposé à)
41
SRI & Big Data
Exemple : « City » dans WordNet
42
SRI & Big Data
Types d’indexation
• Manuelle
• Automatique
• Semi-automatique
43
SRI & Big Data
L’indexation manuelle
• Idée de l’Indexation manuelle :
• On identifie pour chaque document les termes clés qui les
représentent
• On enrichie manuellement la base d’indexes (Terme /
Documents). Les termes peuvent être issus d’un langage contrôlé
(recommandé)
• L’indexation manuelle se fait par le biais d’une interface
d’indexation telle un formulaire (pas besoin d’être un
informaticien)
• Précondition:
• Nécessité d’être un expert des documents concernés par
l’indexation (bien connaître les documents et leur contenu)
44
SRI & Big Data
L’indexation manuelle
• Exemple :
45
SRI & Big Data
L’indexation manuelle
• Cas d’application :
• Souvent utilisées pour l’indexation des livres dans les
bibliothèques et les centres de documentation
• Indexation de fichiers multimédias (images, vidéos, sons/
enregistrements vocaux, …)
• Indexation de fichiers spécifiques d’applications (cas où il est
difficile d’en extraire du texte, ou le texte n’a pas de sens)
46
SRI & Big Data
L’indexation manuelle
• Avantages :
• Permet l’indexation de tous documents/fichiers sans se soucier
de leurs formats et contenus
• Cas d’utilisation d’un vocabulaire contrôlé :
• Fournit une terminologie standard pour indexer et rechercher les
documents
• Permet la classification (regroupement) de documents (par sujets,
thème,…)
• Permet facilement une recherche par navigation dans les concepts et
terminologies
47
SRI & Big Data
L’indexation manuelle
• Inconvénients :
• Indexation très coûteuse:
• pour construire le vocabulaire
• pour affecter les concepts (termes) aux documents
• Difficile à maintenir:
• La terminologie évolue, plusieurs termes sont rajoutés tous les jours
• Processus humain donc subjectif :
• Des termes différents peuvent être affectés à un même document
par des indexeurs (humains) différents
• Les utilisateurs ne connaissent pas forcément le vocabulaire
utilisé par les indexeurs
48
SRI & Big Data
Types d’indexation
• Manuelle
• Automatique
• Semi-automatique
49
SRI & Big Data
L’indexation automatique
• Idée de l’indexation automatique :
• Le système (programme) informatique se charge de parcourir
chaque document et d’en extraire les termes qui serviront à
l’indexation
• Approche :
• L’approche courante est statistique avec les hypothèses suivantes:
• La redondance d’un mot marque son importance
• La cooccurrence des mots marque le sujet d’un document
• Autre critère pouvant être pris en compte: la position du terme dans
le document (important dans le cas où la requête est une expression)
50
SRI & Big Data
L’indexation automatique : les étapes
• Démarche générale de l’indexation automatique :
• Etape 1 : Extraction des termes
• Etape 2 : Normalisation des mots / lemmatisation (regroupement
des variantes d’un mot )
• Etape 3 : Pondération (discrimination entre les termes
clés/importants/significatifs et les autres)
51
SRI & Big Data
L’indexation automatique : les étapes
Etape 1 : Extraction des termes
• Extraction de termes = tockenization
• Terme (tocken) : mot (simple/compose), mots clés, concepts
• Mot : suite de caractères séparés par des séparateurs (espace,
signe de ponctuation, caractères spéciaux, retour à la ligne,
tabulation,…), Nombres
• Les termes retenus seront les index utilisés pour la recherche
• Il faut prendre en compte les spécificités des langues :
• Langue française :
• Pomme de terre : 1, 2 ou 3 termes?
• Langue Allemande les mots composés ne sont pas segmentés:
• Lebensversicherungsgesellschaftsangestellter = "life insurance
company employee" 52
SRI & Big Data
Etape 1 : Extraction de termes
• Pas d’espaces en chinois et en japonais
• Ne garantit pas l’extraction d’un terme de manière unique
• Le Japonais encore plus compliqué avec différents alphabets
• La langue arabe s’écrit de droite à gauche avec certains termes
écrits de gauche à droite (ex : les chiffres)
53
SRI & Big Data
Etape 1 : Extraction de termes
• Suppression des mots « vides » (stoplist / Common Words
removal) :
• Il s’agit de mots trop fréquents et pas utiles (à supprimer lors de
la tockenisation)
• Il peut s’agir d’articles, de pronoms, de mots de liaison… (le choix
des stopwords dépendent de la langue et du contexte)
• Exemples :
• Anglais : the, or, a, you, I, us, to, …
• Français : le , la, de, des, je, tu, à, aux, …
• Il faut faire attention à certaines exceptions: Certaines
abréviations font référence à autre chose qu’aux stopwords
• Exemple: “US” pour dire ”USA”
54
SRI & Big Data
L’indexation automatique : les étapes
Etape 2 : Normalisation
• Il s’agit de Lemmatisation (radicalisation, racinisation) /
(stemming en anglais) :
• Processus consistant à regrouper les variantes d’un mot (mot de
même famille) pour lui donner la forme neutre (canonique) qu'il a
(forme proche du radical / racine). cette forme canonique est
appelée lemme.
• Exemples :
• grand, grande, grands, grandes, grandement => grand
La forme canonique de tous ces mots dont le sens premier exprime une
taille importante est grand.
• Pour l’anglais : retrieve, retrieving, retrieval, retrieved, retrieves
=> retriev est le lemme de tous ces mots 55
SRI & Big Data
Etape 2 : Normalisation
• Techniques de normalisation:
• Approche algorithmique de transformation de mots en lemme :
ces algorithmes appliquent des règles de désuffixation
(suppression des suffixes). Soit le suffixe est supprimé, soit il est
transformé selon des règles pour avoir la forme canonique du
mot. Les algorithmes les plus connus :
• Algorithme de Porter pour l’anglais
• Algorithme de Carry pour le français
• Algorithme de Paice/Husk
• Approche par dictionnaire :
• Lemmatisation avec un lexique / dictionnaire : suppression de
suffixes puis recherche de la racine correspondante dans le
dictionnaire
• Technique de Troncatures: couper jusqu’à X caractères 56
SRI & Big Data
Approche algorithmique
• L’algorithme de Porter :
• Permet la désuffixation de mots anglais (enlever les suffixes) à
commencer par la transformation du pluriel au singulier. Les règles de
transformation sont classées en sept phases successives (traitement des
pluriels et verbes conjugués, traitement des adverbes ...)
• Il comprend cinq règles de contexte, qui indiquent les conditions dans
lesquelles un suffixe devra être supprimé. La terminaison en -ing, par
exemple, ne sera enlevée que si le radical comporte au moins une
voyelle. Exemple :
• "troubling" deviendra "troubl", mais "sing" restera "sing".
• Les mots à analyser passent par toutes les étapes de désuffixation, et,
dans le cas où plusieurs règles pourraient leur être appliquées, c'est
toujours celle comprenant le suffixe le plus long qui est choisie. La
racinisation (désuffixation) est accompagnée à chaque étape de règles
de recodage 57
SRI & Big Data
L’algorithme de Porter
• Exemples :
Règles Exemples en anglais
SSES → SS caresses → caress
SS → SS caress → caress
S→ cats → cat
ATIONAL → ATE relational → relate
TIONAL → TION conditional → condition
ATIVE → formative → form
ALIZE → AL formalize → formal
• Exemples de transformation du mot : Generalizations
étape1: Generalization
étape 2: Generalize
étape 3: General
58
étape 4: Gener
SRI & Big Data
L’algorithme de Porter
• Aperçu des étapes:
59
SRI & Big Data
L’algorithme de Porter
• Implémentation de l’algorithme de porter (disponible an
plusieurs langages de programmation) :
[Link]
60
SRI & Big Data
Approche algorithmique
• Pour la langue française :
• Les lemmes de la langue française peuvent avoir plusieurs formes
en fonction :
• du genre (masculin ou féminin),
• de leur nombre (un ou plusieurs),
• de leur personne (moi, toi, eux…),
• de leur mode (indicatif, impératif,…)
• L’algorithme Carry fonctionne sur le même principe que
l’algorithme de porter, et est téléchargeable gratuitement sur le
site du projet GALILEI
[Link]
61
SRI & Big Data
Approche avec lexique
• Approche avec utilisation d’un lexique : L’outil TreeTagger
• [Link]
• Version online: [Link]
• Il s’agit d’un outil de lemmatisation et d’annotation de texte, créé
par Helmut Schmid à l’université de Stuttgart
• Prend en compte plusieurs langues (français, anglais, allemand,
italien, espagnol, portugais, russe, …) et peut être adapté à de
nouvelles langues (si le lexique est fourni + un corpus entrainé )
• De manière générale on y applique les règles suivantes:
• Pour un verbe conjugué: on prend sa forme à l'infinitif
• Pour un nom, adjectif, article, ... : sa forme au masculin singulier
• L’outil peut être utilisé dans un cadre d’études / recherche /
enseignement, mais est interdit d’usage commercial 62
SRI & Big Data
Exemple avec TreeTagger
• Phrase à lemmatiser :
« Il s’agit d’un cours d’informatique sur la recherche d’information »
• Résultat :
63
SRI & Big Data
Etape 2 : Normalisation
• Utilisation de Troncature :
• Il s’agit de couper un mot au Xème caractère pour supprimer
éventuellement des suffixes
• Valeur optimale de X pour le français : 7 caractères
• Exemple de troncature à 7 caractères
• économiquement : écomoni
• Quelques limites :
• Le nombre de caractère dépend de la langue. Certaines langues ne
peuvent pas supporter cette technique
• Pas suffisant pour trouver une racine : certains mots, notamment les
verbes, changement complètement de forme
Exemple : verbe être : est, fut, soit
• Certains mots ont des sens différents mais deviennent le même
lemme à la troncature.
Exemple : Informatique et information => informa 64
SRI & Big Data
Etape 2 : Normalisation
• Autre technique : méthode des n-gram :
• Un n-gram est une succession de n lettres
• n = 1, 2, 3
• Exemple : retrieval
• 1-gram : r, e, t, r, i, e, v, a, l
• 2-gram : re, et, tr, ri, ie, ev, va, al
• 3- gram : ret, etr, tri, rie, iev, eva, val
• Utile pour la racinisation pour certaines langues complexes, où il
est difficile de trouver des règles de désuffixations
65
SRI & Big Data
Méthode des n-gram
• Hypothèse retenue: si les n-gram de deux mots ont une forte
similitude alors ils ont de fortes chances d’être de la même famille
• Exemple : Comparaison de retrieve et retrieval avec 3-gram:
• A=retrieve :
• ret, etr, tri, rie, iev, eve
• B=retrieval
• ret, etr, tri, rie, iev, eva, val
• On calcule leur similitude avec la formule :
• Sim (A,B)=2*nb_comm/(nb_A +nb_B) Sim(A,B) = 0.76
• Plus le rapport est proche de 1, plus la similitude est forte (il faut
pour cela déterminer un seuil au delà duquel on accepte la
similitude)
66
SRI & Big Data
Etape 2 : Normalisation
• Avantages de la normalisation :
• Permet d’avoir un terme commun qui fait référence à tous les
termes d’une même famille
• Augmente les chances de répondre efficacement à une requête
(quelque soit la technique de matching appliquée…)
• Permet de réduire la taille de la base d’index (c’est surtout pour
cette raison qu’on utilise la normalisation)
67
SRI & Big Data
Etape 2 : Normalisation
Limites de la normalisation :
• Peut conduire à une normalisation « agressive »
• Exemples :
• avec l’algorithme de Porter: policy/police, university/universe,
organization/organ
• avec troncature: Internet/Interne
• Oubli de quelques normalisations intéressantes:
• Exemples :
• matrices/matrix, machine/machinery ne sont pas normalisés avec
Porter
• Produit des mots difficiles à interpréter :
• Exemples :
• avec Porter: “iteration” produit “iter”, “general” produit “gener” 68
SRI & Big Data
L’indexation automatique : les étapes
Etape 3 : Pondération
• Comment caractériser l’importance des termes dans un
document ?
• Associer un (ou plusieurs) poids a un terme
• Idée sous jacente :
Les termes importants doivent avoir un poids fort
• Approche la plus répandue : [Link] (du « Modèle vectoriel »)
• Enregistrer la position du terme dans le document (pour identifier
les expressions et mots composés fréquents)
• Exemple: pomme de terre
69
SRI & Big Data
Types d’indexation
• Manuelle
• Automatique
• Semi-automatique
70
SRI & Big Data
L’indexation semi-automatique
• L’indexation semi-automatique est la combinaison des deux
techniques manuelles et automatiques
• Exemple : Dans le cas de documents contenant du texte :
• On automatise d’abord l’extraction des termes des documents
(suppression de stopwords, lemmatisation, pondération
éventuellement …)
• Les termes sélectionnés vont être proposés à l’utilisateur (expert
de l’indexation manuelle) pour correction / validation et/ou pour
l’ajout de nouveaux termes
71
SRI & Big Data
L’indexation : Synthèse
Sources d’information
Processus …
d’indexation Documents textuels, images, vidéos, …
(manuel, auto,
semi-auto)
Index Index Index
A quoi ressemble une
base d’index ?
72
SRI & Big Data
Structure de la base d’index
• Quelque soit la méthode et techniques d’indexation choisies, la
rapidité et l’efficacité de la recherche dans la base d’index dépend
de sa structure
• L’indexation permet d’obtenir (par défaut) une liste de termes
décrivant chaque document :
• Le problème de cette forme de structure est que la recherche d’un
terme est lente : on recherche le terme séquentiellement dans chaque
document
• ⟹ La structure d’index la plus communément utilisée dans les
moteurs de recherche est de forme : inverted index (fichier inversé)
73
SRI & Big Data
Structure de la base d’index
• Structure inverted index : Terme → {doc1, Doc2, …}
• Une structure inverted index contient chaque terme sélectionné
dans les documents comme index, avec pour chaque index la
référence à tous les documents qui le contiennent
• Cette structure peut être enrichie par: la fréquence du terme
dans chaque document et la position
74
SRI & Big Data
Structure de la base d’index
• Exemple 1:
• Les documents D1, D2 et D3 contiennent les textes suivants:
• Pour chaque document des termes seront sélectionnés (après
traitement), on parle de bag of words (sac de mot )
• Pour D1 = c’ , est, ce, que
• Pour D2 = c’, est, ceci
• Pour D3 = ceci, est, une, banane
• Ces mots seront utilisés comme index
75
SRI & Big Data
Structure de la base d’index
• La structure inverted index résultante :
• N.B: chaque index dans une structure d’index est unique
76
SRI & Big Data
Structure de la base d’index
• Il existe deux types de structure d’index inversé :
• Record-Level Inverted Index : Le fichier d'index inversé contient
une liste de références aux documents pour chaque terme utilisé
comme index
• Word-Level Inverted Index : Le fichier d'index inversé contient
non seulement la liste de références aux documents, mais
également les positions de chaque mot dans un document. Cette
dernière forme offre plus de fonctionnalités mais nécessite plus
de puissance de traitement et d'espace pour être créée.
• Un autre critère est aussi pris en compte pour les deux types de
structures: la fréquence du mot dans le document . La fréquence
d’un mot permet de connaître son importance dans le document
pour:
• décider de le sélectionner ou pas (cas de collections importantes)
• de savoir où le classer dans la liste des résultats
77
SRI & Big Data
Structure de la base d’index
• Exemple 2: fréquence
DocId
[positions]
Inverted Index
78
SRI & Big Data
Structure de la base d’index
• Avantages:
• Recherche efficace : les index inversés permettent une recherche
efficace de grands volumes de données textuelles. En indexant
chaque terme de chaque document, l'index peut identifier
rapidement tous les documents contenant un terme ou une
expression de recherche donnée, réduisant ainsi
considérablement le temps de recherche.
• Mises à jour rapides : les index inversés peuvent être mis à jour
rapidement et efficacement à mesure que du nouveau contenu
est ajouté au système. Cela permet une indexation et une
recherche de nouveau contenu en temps quasi réel.
• Compression : les index inversés peuvent être compressés pour
réduire les besoins de stockage. Diverses techniques telles que le
delta encoding, gamma encoding, variable byte encoding, etc.
peuvent être utilisées pour compresser efficacement.
79
SRI & Big Data
Structure de la base d’index
• Prise en charge de plusieurs langues : les index inversés peuvent
prendre en charge plusieurs langues, permettant aux utilisateurs
de rechercher du contenu dans différentes langues en utilisant le
même système.
80
SRI & Big Data
Structure de la base d’index
• Comment rechercher dans une base d’index:
• Recherche séquentielle : temps linéaire dans la taille du
vocabulaire indexé (Utile pour une petite base d’index
uniquement).
• Recherche dichotomique : les index doivent être triés. on regarde
le mot du milieu, on cherche sur le même principe dans la
première ou seconde moitié (Temps logarithmique dans la taille
du vocabulaire).
• Recherche avec un arbre de recherche : arbre dont les feuilles
donnent accès à la ligne et les noeuds disent quelle branche
suivre (Temps logarithmique dans la taille du vocabulaire).
• Recherche avec une fonction de hachage : fonction qui calcule le
numéro de ligne à partir du mot. (Temps constant).
81
SRI & Big Data
Structure de la base d’index
• Remarque :
• Le stockage d’une structure d’index peut s’avérer très couteux en
espace de stockage mais également en recherche.
• Dans le cas de très larges collections il faut penser à un système
distribué pour les tâches d’indexation. L’un des modèles connus
pour cela est le modèle du MapReduce de Google.
82
SRI & Big Data
Conclusion sur l’indexation
• L’indexation est une phase complexe qui nécessite des choix à faire à
plusieurs niveaux (indexation manuelle ou automatique ou les deux,
techniques d’extraction, de normalisation, structure de la base
d’index,…). Ces choix dépendent aussi de :
• La taille de la collection
• La nature des ressources (documents/ fichiers) concernées par la RI
• Les techniques de RI utilisées pour le matching requête/documents
• Remarque :
• Pour déterminer si la représentation d'un document correspond à celle
de la requête, on doit développer un processus de matching (avec
évaluation des résultats pour vérifier son efficacité)
• Différents modèles ont été développés en relation avec la représentation
de documents et de requêtes. C'est cet ensemble de représentations et la
technique de mise en correspondance et de sélection des résultats qu'on
appelle un modèle de RI.
83
SRI & Big Data
Les modèles de RI
84
SRI & Big Data
Les modèles de RI
• Notion de modèle dans le processus de RI :
X Y Z
Représentation des documents
Représentation
matching
de la requête Index
• Un modèle de RI spécifie comment est la représentation d’une
requête, comment est la représentation d’un document et
comment faire la mise en correspondance (matching) entre les
deux représentations 85
SRI & Big Data
Les modèles de RI
• Il existe deux formes de matching (mise en correspondance /
appariement) dans la RI : exact matching / best matching
• Exact matching:
• On spécifie dans la requête les termes recherchés de manière
précise
• L’ensemble des documents respectant exactement la requête sont
sélectionnés (mais pas ordonnés)
• Best matching :
• On spécifie dans la requête les termes recherchés
• Les documents sont sélectionnés selon un degré de pertinence
(similarité/ probabilité ) vis-à-vis de la requête et sont ordonnés (par
pertinence)
86
SRI & Big Data
Les modèles de RI
• Plusieurs modèles de RI existent :
• Modèle booléen (1950)
• Modèle vectoriel (1970)
• Modèle probabiliste (1976)
• Modèle inférentiel (1992)
• Modèle LSI (Latent Semantic Indexing) (1994)
• Modèle de langage (1998)
• …
87
SRI & Big Data
Modèle Booléen
• Il s’agit du premier modèle de RI (modèle booléen strict)
• Caractéristiques :
• Représentation d’un document: un document est représenté par
un ensemble de termes (qui indexent le document) :
D = (𝑡1 , 𝑡2 , …, 𝑡𝑖 ) avec i ∈ [1, … , 𝑁]
• Représentation de la requête : une requête est une expression
logique de termes avec des opérateurs booléens:
• AND (ᴧ)
• OR (ᴠ)
• NOT (¬)
• Exemple : Q = (𝑡1 ᴧ 𝑡2 ) ᴠ (𝑡3 ᴧ ¬ 𝑡4 )
• Technique d’appariement « Exact match » : présence des termes
de la requête dans la représentation d’un document → document
sélectionné 88
SRI & Big Data
Modèle Booléen
• Exemple :
• D1 = (𝑡1 , 𝑡3 , 𝑡4 )
• D2 = (𝑡2 , 𝑡4 )
• D3 = (𝑡1 , 𝑡2 , 𝑡4 , 𝑡5 )
• D4 = (𝑡1 , 𝑡4 )
• Q1= (𝑡2 ᴧ 𝑡4 )
• Q2 = 𝑡5 ᴠ (𝑡1 ᴧ ¬ 𝑡3 )
⟹ D2 et D3 répondent à la requête Q1
⟹ D3 et D4 répondent à la requête Q2
89
SRI & Big Data
Modèle Booléen
• Limites du modèles :
• Formulation de la requête avec les opérateurs de logique pas
évidente (voire difficile) pour beaucoup d’utilisateur
• Sélection des documents sur décision binaire (soit le document
répond à la requête, soit il n’y répond pas)
• Pas de classement des documents sélectionnés (pas de degré de
pertinence entre les documents car ils n’ont pas de poids)
• Pour les collections volumineuses : risque de sélection de
beaucoup trop de documents en résultat (surtout à cause de
l’opérateur OR)
90
SRI & Big Data
Modèle Booléen pondéré
Extension du modèles : Modèle booléen pondéré
• On intègre des pondérations dénotant la représentativité de
tous les termes T d’une requête pour un document
• La fonction de pondération 𝑊𝐷 pour un document est:
𝑊𝐷 : T → [0,1]. Pour chaque terme de la requête, le poids de
ce terme dans D vaut :
• 0 pour un terme non présent dans le document
• 1 pour un terme présent dans le document
• La fonction de correspondance entre les termes de la requête
et des documents, notée Sim, est basée sur un calcul de
similarité selon l’opérateur logique (AND, OR, NOT)
91
SRI & Big Data
Modèle Booléen pondéré
• Cas de l’opérateur NOT: 𝑺𝒊𝒎 𝑫, ¬𝒂 = 𝟏 − 𝑾𝑫 (a)
• Cas des opérateurs AND et OR :
• Formules 1 inspirées de la logique floue (ne tenant pas compte de
tous les termes de la requête)
• 𝑺𝒊𝒎 𝑫, 𝒂 ᴠ 𝒃 = 𝑴𝒂𝒙 [𝑾𝑫 (a), 𝑾𝑫 (b)] (a, b les termes d’une
requête)
• 𝑺𝒊𝒎 𝑫, 𝒂 ᴧ 𝒃 = 𝑴𝒊𝒏 [𝑾𝑫 (a), 𝑾𝑫 (b)]
• Formules 2 avec prise en compte de tous les termes de la requête
𝑾𝑫 𝒂 2 + 𝑾𝑫 𝒃 2
• 𝑺𝒊𝒎 𝑫, 𝒂 ᴠ 𝒃 = 𝟐
𝟏−𝑾𝑫 𝒂 𝟐
+ 𝟏−𝑾𝑫 𝒃 𝟐
• 𝑺𝒊𝒎 𝑫, 𝒂 ᴧ 𝒃 = 𝟏 − 𝟐
92
SRI & Big Data
Modèle Booléen pondéré
• Exemple : on considère A et B les termes d’une requête
Modèle pondéré
Documents A B (A ᴠ B) (A ᴧ B) (A ᴠ B) (A ᴧ B)
(formule 2) (formule 2)
D1 1 1 1 1 1 1
D2 1 0 1 0 0,7 0,29
D3 0 1 1 0 0,7 0,29
• La pondération permet ici de classer les documents
• Exemple: Pour la requête (A ᴠ B) avec le modèle pondéré, D1 sera
classé en 1er, suivi de D2 et D3 dans le même ordre.
93
SRI & Big Data
Modèle Vectoriel
• Modèle créé au début des années 70 par Gerard Salton,
appliqué pour la RI avec le système SMART (System for the
Mechanical Analysis and Retrieval of Text)
• Caractéristiques :
• Modèle best-match le plus commun
• Requête en texte libre (un ou plusieurs termes)
• Documents ordonnés dans les résultats : on tient compte du poids
des termes de la requête dans les documents pour pouvoir les classer
(on parle de pondération)
• Les documents et la requête sont représentés comme des
vecteurs dans un espace vectoriel : il s’agit de vecteur de poids
• Document : dj= (w1j, w2j, …, wNj) avec :
Wij poids du terme ti dans le document dj 94
• Requête : q= (w1q, w2q, …, wNq)
Wiq : poids du terme ti dans la requête q
SRI & Big Data
Modèle Vectoriel
• Illustration : représentations des documents et d’une requête dans un
espace vectoriel de termes ti
• Plus les vecteurs représentant les documents sont proches, plus
les documents sont similaires
• Plus l’angle entre la requête est le document est petit, plus le
document répond à la requête
• On calcule la similarité vectorielle entre l’angle d’un document et
d’une requête en utilisant le poids des termes (la mesure de 95
similarité la plus utilisée est la formule du cosinus)
SRI & Big Data
Modèle Vectoriel
• Notion de pondération :
• Pondérer les termes permet de connaître leur importance dans la
recherche pour sélectionner les documents les plus pertinents et
les classer
• La pondération des termes pour une requête est simple :
fréquence du terme dans la requête (term frequency)
• La pondération pour les documents est une notion plus
complexe. Elle tient compte de :
• l'importance du terme dans le document (pondération locale)
• l'importance du terme dans la collection (pondération globale)
• La mesure la plus connue pour la pondération des termes pour
un document est : [Link]
96
SRI & Big Data
Modèle Vectoriel
• Les mesures:
• tf = Term Frequency
• est la fréquence du terme dans le document
• df = Document Frequency
• est la fréquence du terme dans la collection (corpus entier)
• on utilise la mesure df inversée, notée idf (Inverted Document
Frequency)
97
SRI & Big Data
Modèle Vectoriel
• Formules :
• tf : (terme frequency)
• Formule simple du tf: est la fréquence du terme ti dans le document
dj (nombre d’occurrences)
tfi,j = freq(ti, dj)
• Variante du tf: fréquence normalisée logarithmiquement
tfi,i = 1+ log(freq(ti, dj)) si freq(ti, dj) ≠ 0
• idf : (inverted document frequency)
• Formule simple :
idfj = 1 / dfj avec dfj nombre de documents où apparait le terme tj
• Formule normalisée logarithmiquement :
idfj = log(N / dfj) avec N le nombre de documents du corpus
• Le poids de chaque terme ti dans un document dj est calculé: 98
Wi,j = tfi,[Link]
SRI & Big Data
Modèle Vectoriel
• Exemple de calcul de pondération :
• On considère la structure inverted index suivante :
Terme DocId Freq
Pomme d1 1
d2 3
d3 2
Poire d1 1
d3 2
d4 1
99
SRI & Big Data
Modèle Vectoriel
→ Pondération pour le terme t1 = pomme avec formule simple :
• Wt1,d1 = 1 x (1/3) = 0,33
• Wt1,d2 = 3 x (1/3) = 1
• Wt1,d3 = 2 x (1/3) = 0,67
→ Pondération pour le terme t1 avec formule logarithmique :
• Wt1,d1 = (1 + log(1)) x (log(4/3)) = 0,12
• Wt1,d2 = (1 + log(3)) x (log(4/3)) = 0,18
• Wt1,d3 = (1 + log(2)) x (log(4/3)) = 0,16
• N.B : d4 n’est pas indexé avec le terme pomme, il ne sera donc pas pris en
compte dans le calcul des poids
100
SRI & Big Data
Modèle Vectoriel
Fonction de matching:
• La similarité entre les représentations d’une requête Q et d’un
document D est notée Sim(Q,D) et est calculée grâce à la
formule du cosinus (cosine similarity):
𝑆𝑖𝑚 (𝑄, 𝐷) = cos(𝑄, 𝐷) =
avec :
Wi Q : poids des termes dans la requête (tf)
Wi D : poids des termes dans le document ([Link])
N.B: La similarité est comprise entre 0 et 1: résultat proche de 1 si les
termes sont similaires, proche de 0 sinon.
Dans le cas de larges collections, l’idéal est d’avoir un seuil de pertinence 101
ou de choisir les k-best score
SRI & Big Data
Modèle Vectoriel
• Remarques :
• D’autres mesures de similarité existent en RI, telles que:
• Coefficient de Dice :
• Mesure de Jaccard :
qi : poids du terme ti dans la requête
di : poids du terme ti dans le document 102
SRI & Big Data
Modèle Vectoriel
• Avantages:
• Le langage de requête est simple (liste de mots)
• La pondération améliore les résultats de recherche
• La mesure de similarité permet d’ordonner les documents selon
leur pertinence vis à vis de la requête
• Limites :
• Le modèle considère les termes indépendants, alors que ce n’est
pas forcément le cas. Exemple: « pomme » et « pomme de terre »
sont deux notions différentes. Si la structure d’index contient la
position des termes, il est souhaitable d’en tenir compte (par
exemple, inclure une condition qui vérifie d’abord la position des
termes avant de calculer leur fréquence)
• Il n'y a pas de schéma de pondération optimal (dépend du corpus
et de la requête)
103
SRI & Big Data
Amélioration des résultats
• Il existe des techniques pour améliorer les résultats retournés
par un SRI (après l’affichage des résultats)
• La plus connues est la technique du Relevance feedback :il
s’agit de reformuler la requête à partir des résultats et grâce
au retour de l’utilisateur
• Principe du Relevance feedback:
• On estime que la première requête de l’utilisateur est souvent
naïve et spontanée
• On permet à l’utilisateur de donner son avis (feedback) sur les
résultats (sous une forme précise)
• La requête originale est reformulée (étendue avec de nouveaux
termes) et re-pondérée
104
SRI & Big Data
Relevance feedback
• Illustration : Résultats : Ensemble de documents
ordonné
+
Feedback utilisateur
Nouvelle requête étendue
• Exemple de feedback :
• L’utilisateurs examine les k meilleurs documents et les étiquettes
avec des valeurs [1,0]
• L’utilisateur classe les k meilleurs résultats par ordre de pertinence 105
selon son point de vue
SRI & Big Data
Les modèles de RI
• Remarque 1:
• Les modèles de RI ont été inventés avant l’apparition de la technique de
lemmatisation des mots dans l’indexation automatique. Les lemmes qui
servent d’index peuvent être légèrement différents des termes de la
requête et donc peuvent poser problème lors de la recherche. Exemple:
on saisit le terme «économique» dans la requête mais c’est « économi »
qui est enregistré dans la base.
• Il est possible de vérifier la similarité entre deux termes en utilisant des
mesures de calcul de similarité (edit-distance). Parmi les plus connues:
• Levenshtein distance
• Damerau- Levenshtein distance
• Jaro-Winkler distance
• …
106
SRI & Big Data
Les modèles de RI
• Remarque 2 :
• Le stockage d’une structure d’index peut s’avérer très couteux en
espace de stockage mais également en recherche.
• Dans le cas de très larges collections il faut penser à un système
distribué pour les tâches d’indexation. L’un des modèles connus
pour cela est le modèle du MapReduce de Google.
107
SRI & Big Data
Evaluation des SRI
108
SRI & Big Data
Evaluation des SRI
• Notion de pertinence des résultats :
• La pertinence est:
• la correspondance entre un document et une requête,
• un degré de relation (chevauchement, relativité, …) entre le
document et la requête;
• un degré de la surprise qu'apporte un document, qui a un rapport
avec le besoin de l'utilisateur;
• une mesure d'utilité du document pour l'utilisateur;
• …
• Les utilisateurs d'un système de RI ont des besoins très variés. Ils
ont aussi des critères très différents pour juger si un document
est pertinent ou pas.
109
SRI & Big Data
Evaluation des SRI
• Certains paramètres entrent en compte dans la pertinence
des résultats d’un SRI (surtout pour les moteurs web):
• Profil de l’utilisateur
• Un besoin d’information exprimé par deux personnes de la même
manière ne fournit pas forcément les mêmes réponses (prise en
compte du profil de l’utilisateur quand il est connecté par exemple)
• Expérience de l’utilisateur à chaque même requête (relevance
feedback)
• Contexte « externe » du besoin d’information
• Temporel : Un besoin d’information exprimé à différents moments
n’a pas le même sens
• Géographique : Un besoin d’information exprimé à différents
endroits n’a pas le même sens) (« restaurant » à Marrakech ne
nécessite pas forcément de réponses de restaurants à Paris)
110
SRI & Big Data
Evaluation des SRI
• De manière générale, le but de la RI est de trouver seulement
les documents pertinents à une requête, et donc utiles pour
l'utilisateur
• Document pertinent = document où l'utilisateur doit pouvoir trouver les
informations dont il a besoin.
• La qualité d'un système doit être mesurée en comparant les
réponses du système avec les réponses idéales que
l'utilisateur espère recevoir. Plus les réponses du système
correspondent à celles que l'utilisateur espère, mieux est le
système
• Pour arriver à une telle évaluation, on doit d'abord connaître
les réponses idéales de l'utilisateur. L'évaluation d'un système
se fait ensuite avec :
• un corpus de test
111
• et des métriques connues en RI : Précision et Rappel.
SRI & Big Data
Evaluation des SRI
• Dans un corpus de test, il y a:
• un ensemble de documents
• un ensemble de requêtes
• la liste de documents pertinents pour chaque requête (d’un point
de vue utilisateur)
• Prérequis (pour des résultats assez objectifs):
• Les requêtes doivent traiter des sujets variés
• Il faut une collection assez variées contenant les documents
pertinents (qui répondent aux requêtes) et d’autres moins
pertinents
• Il faut des utilisateurs experts qui savent juger la pertinence d’un
document (pour chaque requête, quelles sont les résultats
attendus) 112
SRI & Big Data
Evaluation des SRI
• On compare les résultats obtenus par le système avec les
résultats établis par les experts
• Les métriques utilisées en RI:
• Précision : proportion de document pertinents retrouvés parmi tous
les documents retrouvés par le système
• Rappel : proportion de document pertinents retrouvés parmi tous les
documents pertinents dans la collection
113
SRI & Big Data
Evaluation des SRI
• Illustration :
Résultats obtenus
Pas obtenus (sélectionnés)
False True False True
Negative Positive Positive Negative
(FN) (TP) (FP) (TN)
Pertinents Non pertinents
114
SRI & Big Data
Evaluation des SRI
• Ces mesures permettent d’améliorer :
• la qualité des index
• la formulation des requêtes
• la technique de matching entre les deux
• Il n’y a pas de bons taux de précision et de rappel. Ces deux
mesures sont fortement liées: quand l’une augmente, l’autre
diminue.
• L’objectif est de trouver le bon rapport entre la précision et le
rappel: on parle de moyenne harmonique
• La moyenne harmonique entre précision et rappel est
nommée:
F-mesure (ou F-score) :
115
SRI & Big Data
Evaluation des SRI
• Exemple : (pour 1 requête)
• Nombre de docs dans la collection : 100
• Nombre de docs pertinents dans la collection : 60
• Nombre de docs sélectionnés : 30 dont 10 non pertinents
Matrice de confusion Selected
(confusion matrix)
TP = 20 FP = 10
Predicted
FN = 40 TN = 30
• Precision = 20/(20+10) = 0,67
• Rappel = 20/(20+40) = 0,33
• F-score = 0,44
116
SRI & Big Data
Exemples d’implémentations
• Frameworks et moteurs de RI connus:
• Lucene : est une bibliothèque d’indexation et de recherche
d’information textuelle, écrite en Java (existe aussi en: C++, C#, Perl,
Python,…), disponible sous licence Apache. Le processus d’indexation et
de recherche est traité de manière générale. Beaucoup de classes sont
abstraites et doivent être spécialisée (par exemple, pour l’extraction
automatique des termes pour les index, il y a une classe abstraite
Analyzer, pour la recherche, une classe abstraite Query proposant
différentes méthodes abstraites pour des requêtes booléennes, requêtes
avec préfixe, …).
• Moteurs et applications de RI basées sur Lucene: Elastic seach, Solr,
Nutch (web crawler)
• Xapian : moteur open source écrit en C++ offrant des fonctions
d’indexation et de recherche (licence GPL). Il met en œuvre l’approche
probabilistique de la RI et des opérateurs booléens pour la recherche 117
SRI & Big Data
Notion de métamoteur
• Un métamoteur (ou méta-chercheur) est un moteur de
recherche qui puise ses informations d’autres moteurs de
recherche connus :
• Le métamoteur interroge plusieurs moteurs de recherche
(Google, Bing, Ask, Yahoo!,…) et retourne les résultats de chacun
d'eux.
• Il n’y a pas de redondance dans les résultats puisque les résultats
similaires sont éliminés (par exemple: si les moteurs
Google et Yahoo! renvoient quelques mêmes liens, le métamoteur
ne va les afficher qu'une seule fois dans la liste des résultats).
• Certains métamoteurs indiquent de quels moteurs de recherche
provient chaque résultat
• Exemples :
• Moteurs généralistes: DogPile, Yippy, StartPage, Metacrawler
• Moteurs spécialisés: SiteSeerX, GoogleScholar, CCSearch, Indeed 118
SRI & Big Data
La RI sur le web
119
SRI & Big Data
La RI sur le web
• Caractéristiques du web :
• Taille : très grand nombre de documents (milliards et plus)
• Hétérogénéité : très grande variété de documents
• Répartition : documents répartis sur Internet
• Structure du Web : documents interconnectés par des hyperliens
• ⟹ Environnement complexe :
• Il faut parcourir le web tous les jours, toutes les heures … pour indexer la
nouveauté
• La recherche doit être rapide et les résultats assez pertinents pour le plus
d’utilisateurs possibles (sinon le moteur ne sera pas utilisé)
• Les moteurs de recherche web se basent sur les fondamentaux de la
RI (indexation avec inverted index, recherche avec pondération,
classement,…), mais ont leur propre techniques pour indexer et
rechercher 120
SRI & Big Data
La RI sur le web
• Côté indexation : Les moteurs web utilise des web crawler
(robots d’indexation ou collecteur)
• Un web crawler parcourt le web, visite le contenu des ressources
trouvées (page web, documents,…) et extrait le maximum
d’informations (pour ensuite en faire des index)
• Il procède en suivant récursivement les hyperliens trouvés à
partir d'une page
• De manière générale un robot d'indexation se charge des
questions suivantes :
• quelles pages télécharger
• quand vérifier s'il y a des changements dans les pages
• comment éviter les surcharges de pages Web (délais en général)
• comment coordonner les tâches de manière distribuée (parallélisme)
121
SRI & Big Data
La RI sur le web
• Les index sont extraits à partir de plusieurs éléments des ressources
web :
• le contenu du document des pages et toutes ressources du site
• la structure du titre : titres de niveau 1, de niveau 2,…
• les métadonnées : title, keywords
• l’adresse de la ressource web
• Les mots clés utilisés pour le référencement chez l’hébergeur du
site
• Un fichier d'exclusion ([Link]) placé dans la racine d'un site Web
permet de donner aux robots une liste de ressources à ignorer.
• En résultat de l’indexation, on obtient :
• Des Index de très grande dimension : taille du vocabulaire → des millions
et de la base de ressources → des trillions
• Des Index répartis : des fermes de calcul réparties dans le monde entier
(le stockage aussi) 122
SRI & Big Data
La RI sur le web
• Exemples de web crawler :
• GoogleBot de Google
• AppleBot d’Apple (se charge aussi de l’assistant SIRI)
• Baiduspider du moteur de recherche chinois Baidu
• BingBot pour Bing et Yahoo!
123
SRI & Big Data
La RI sur le web
• Côté recherche :
• La requête de la recherche est une liste de mots clés (on trouve
aujourd’hui des filtres dans les moteurs : par langue, par date,…)
• Le calcul du score de similarité entre la requête et les ressources
web s’inspirent du modèle vectoriel (c-à-d avec pondération et
classement selon le score). Les formules de calcul de score de
similarité dans les moteurs web sont secrètes (et elles évoluent
constamment)
• D’autres spécificités sont en plus prises en compte dans la
sélection et le classement (outre le référencement naturel des sites):
• La langue et le pays de l’utilisateur /géolocalisation de la requête
• Historique de navigation / profil utilisateur
• Popularité d’une page, d’un site
• … 124
SRI & Big Data
La RI sur le web
• Une spécificité de Google: le PageRank
• Google a inventé la notion de PageRank qui consiste à évaluer la
popularité/notoriété d’une page web
• Principe du PageRank : une page est importante si beaucoup de
pages importantes pointent sur elle
• Plus la valeur du PageRank est élevée, plus la page en question
est populaire
125
SRI & Big Data
La RI sur le web
• L’algorithme du PageRank mesure quantitativement la notoriété
d’une page : il attribue à chaque page un score sous la forme d’une
valeur sur une échelle de 0 à 10. Ce score estime le nombre de fois
que cliquerait sur la page web un utilisateur à partir d’autres pages
• Parmi les éléments utilisés pour le calcul du score d’une page:
• les liens entrants et sortants, les ancres (liens HyperText)
• le trafic associé à la page
• le choix de la page dans les résultats d’une requête
• le nom de domaine
• A noter que PageRank est une marque déposée de Google et le
principe est breveté
• Le PageRank joue un rôle majeur dans le classement des
résultats du moteur Google
126
SRI & Big Data
Synthèse
• Pour créer un bon SRI il faut :
• Identifier toutes les ressources (documents) concernées par la
recherche dans le système
• Choisir une bonne technique d’indexation (adaptées à la nature
des ressources recherchées)
• Mettre en place une structure d’index inversée et même enrichie
(N.B : choisir une technologie qui supporte l’évolution de la taille
de la base)
• Définir la manière de formuler les requêtes (simple et intuitive)
• Choisir un modèle de RI approprié ou définir une technique de
matching (mesure de similarité) efficace et adaptée au système
• Cas de grandes collections : il faut penser au traitement distribué
(pour l’indexation et la recherche)
127
SRI & Big Data
Références
• [MOO 48] Mooers, C.N., Application of Random Codes to the
Gathering of Statistical Information, MIT Master's Thesis,
1948.
• [CLE 67] Cleverdon, C.W., The Cranfield tests on index
language devices. Aslib Proceedings 19(6), 173-193, 1967.
• [LAN 68] Lancaster, F.W., Evaluation of the MEDLARS Demand
Search Service, National Library of Medicine, Bethesda,
Maryland, 1968.
• [SAL 71] Salton, G., The SMART Retrieval System. Prentice Hall,
Englewood Cliffs, NJ, 1971.
• [SAL 83] Salton, G., Fox, E.A., Wu, H. Extended Boolean
Information Retrieval. Communications of the ACM 26(11),
1022-1036, 1983. 128
SRI & Big Data
Références
• Le domaine de recherche d’information – Un survol d’une
longue histoire, Jian-Yun Nie, Université de Montréal
• Recherche d’information (RI) – Fondements -, Philipe Mulhen,
CLIP-IMAG
• Recherche d’information et traitement automatique du
langage, Laure Soulier, Science Sorbonne Université, 2019
• Modèles en recherche d’information, Cours Master Recherche
Paris 13 - Rechercher et extraction d’information, A.
Rozenknop
• Une introduction à la recherche d’information, Remi Guilleron,
Université Lille & INRIA Lille & Cristal UMR CNRS
129
SRI & Big Data
Références
• [Link]
[Link]/sites/default/files/bulk_media/m06s7/co/06_sec
tion7_4.html
• [Link]
%20de%20Porter,-
L'algorithme%20d%C3%A9velopp%C3%A9&text=Les%20mots
%20%C3%A0%20analyser%20passent,%C3%A9tape%2C%20d
e%20r%C3%A8gles%20de%20recodage.
• [Link]
• [Link]
• [Link]
130
SRI & Big Data
Références
• [Link]
• [Link]
0une%20biblioth%C3%A8que%20open,%2C%20PHP%2C%20C
%23%2C%20Python.
• [Link]
• [Link]
• [Link]
pagerank/
131
SRI & Big Data