Académique Documents
Professionnel Documents
Culture Documents
Rémi Gilleron
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 1 / 39
Un monde de données et de documents
numériques, hétérogènes
mails, rapports, documents textuels, pages Web, ...
mais aussi dessins, images et video,
mais encore produits par les capteurs, les réseaux sociaux, les
plate-formes d’intermédiation, ...
et en grande quantité
Exemple : 60 trillions (60 000 000 000 000) de pages Web !
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 2 / 39
La recherche d’information (RI) – Information Retrieval
Exemples d’applications
outils de recherche dans les mails, dans les fichiers, ...
systèmes de ri documentaires,
systèmes de ri pour les bases de documents d’une entreprise,
systèmes de ri sur le Web tels que google, bing
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 3 / 39
Plan du cours
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 4 / 39
Plan
1 Recherche séquentielle
4 RI sur le WEB
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 5 / 39
Recherche séquentielle dans des documents textuels
Contexte
Le cas d’un document textuel ou d’un ensemble de documents
textuels : mes fichiers, des fichiers textes, des fichiers email, ...
Un document textuel est une (simple) séquence de caractères.
Requêtes
requête simple : un mot-clé comme une séquence de caractères
parfois étendu en un langage de requêtes avec des expressions
régulières : jokers, positions, expressions Booléennes
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 6 / 39
Les algorithmes de recherche
Requête simple
Il suffit de parcourir séquentiellement les textes en recherchant les
occurrences du mot-clé
Les algorithmes sont optimisés : par exemple recherche d’une séquence
génétique dans un gêne.
Implantations
recherche simple dans les éditeurs, le navigateur, le lecteur de mail
recherche avancée en linux, dans les éditeurs comme emacs, les
langages de script comme perl
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 7 / 39
Les critiques de la recherche séquentielle
efficace pour des bases de textes de petite taille : le temps de calcul est
linéaire dans la taille de la base,
un langage de requêtes expressif avec jokers, positions et expressions
rationnelles,
pas de pré-traitement de la requête ni des textes : des caractères
(majuscules, accents, ...), des mots (synonyme, lemmes, ...), pas de
suggestion,
recherche exacte donc pas de calcul de score de pertinence.
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 8 / 39
Plan
1 Recherche séquentielle
4 RI sur le WEB
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 9 / 39
Principes de l’indexation
Idée de base
Fait : on ne peut pas parcourir les documents à chaque requête,
on va prétraiter les documents pour savoir rapidement dans quel
document apparaît un mot.
Phases de l’indexation
prétraiter les documents,
constituer un dictionnaire de termes,
construire une structure de données associant termes et documents.
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 10 / 39
Les prétraitements
sur les documents
choisir le bon niveau de documents,
représenter chaque document comme une séquence de caractères, i.e.
gérer les problèmes de codages, formats (html, pdf, doc), langues,
représenter chaque document comme une séquence d’unités
élémentaires (les tokens), i.e. écrire des programmes (spécifiques à
chaque langue) utilisant les espaces, ponctuations, ...
Requêtes
requête simple : un mot-clé
langage de requêtes : combinaison Booléenne de mots clés
étendu à des requêtes par position : requêtes par phrase, requêtes par
position
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 12 / 39
Première structure de données pour l’indexation
Matrice d’incidence
On mémorise l’appartenance de chaque mot du vocabulaire V dans chaque
document par une matrice indicée en ligne par les mots de V et en colonne
par les documents de D.
Exemple
mot / #doc ... 125 ... 1548 ... 54 982 ...
... ... ... ... ... ... ... ...
finance ... 1 ... 0 ... 1 ...
... ... ... ... ... ... ... ...
politique ... 0 ... 1 ... 1 ...
... ... ... ... ... ... ... ...
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 13 / 39
Accès rapide à une ligne pour un mot
Comment ?
1 Recherche séquentielle : temps linéaire dans la taille du vocabulaire.
Trop lent !
2 Recherche dichotomique : le vocabulaire est trié, on regarde le mot du
mileu, on cherche sur le même principe dans la première ou seconde
moitié. Temps logarithmique dans la taille du vocabulaire. C’est bien !
3 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. C’est bien !
4 Recherche avec une fonction de hachage : fonction qui calcule le
numéro de ligne à partir du mot. Temps constant. C’est excellent !
Mais, attention, pour les solutions 2, 3 et 4, il faut gérer l’ordre, l’arbre ou la
fonction lorsque le vocabulaire est modifié.
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 14 / 39
Les algorithmes de calcul d’une requête
Requêtes Booléennes
1 Trouver les lignes correspondant aux mots qui apparaissent dans la
requête
2 Faire les opérations Booléennes sur les lignes (les vecteurs)
3 Renvoyer les documents avec un 1 dans la ligne résultat.
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 15 / 39
Les critiques du Modèle Booléen avec matrice d’incidence
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 16 / 39
Deuxième structure de données pour l’indexation
Exemple
mot / liste
... ...
finance : ... → 125 → ... → 54 982 → ...
... ...
politique : ...→ 1548 → 54982 → ...
... ...
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 17 / 39
Les algorithmes de calcul d’une requête
Requête Booléennes
1 Requête conjonctive à 3 mots clé. Peut-on être astucieux ?
2 Requêtes avec des OU ? Des NON ?
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 18 / 39
Et les requêtes par phrase ? Par position ?
Enrichir l’index
Il faut, en effet, être capable de savoir à quelle position apparait chaque mot.
Dans l’index, pour chaque mot et chaque document, on ajoute la liste des
positions où apparaît le mot. Par exemple,
finance : ... → 125 : (37, 235, 312) → ... → 54 982 : (122) → ...
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 19 / 39
Les critiques du Modèle Booléen avec index
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 20 / 39
Plan
1 Recherche séquentielle
4 RI sur le WEB
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 21 / 39
Modèle vectoriel
Requêtes
requête simple : un mot-clé ou plusieurs mots clés
et des requêtes par phrase,
parfois des requêtes sur des parties de documents (titre, résumé), par
positions, Booléennes
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 22 / 39
Représenter les documents - term frequency
Objectif de la représentation
Calculer un score de pertinence d’un document w.r.t. une requête.
Ce score va devoir tenir compte des fréquences d’apparition des mots de la
requête dans le document, dans tous les documents, de la longueur des
documents, ...
Première proposition
Term Frequency tf (w, d) est le nombre d’apparitions du mot w de V
dans le document d
Un document d peut être vu comme un vecteur ~d indicé sur V avec des
valeurs entières.
~d = (0, 0, 2, 0, 0, 5, ...) si d ne contient pas le premier mot de V , ni le
deuxième, mais le troisième apparaît 2 fois, ...
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 23 / 39
Inverse Document Frequency
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 24 / 39
Représenter les documents - tf-idf
Représentation tf-idf
tf -idf (w, d) = tf (w, d) × idf (w). Un document d peut être vu comme
un vecteur ~d indicé sur V avec des valeurs réelles.
et tf -idf (w, d) est
I grand si w apparaît souvent dans d et est rare dans la collection
I petit si w apparaît peu souvent dans d ou si w est fréquent dans la
collection
I très petit w apparaît peu souvent dans d et est fréquent dans la
collection
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 25 / 39
Conclusion sur la représentation des documents
Où en sommes-nous ?
On suppose un ensemble de documents D où chaque document est une
séquence de termes d’un dictionnaire (vocabulaire) V ;
On suppose choisie une représentation des documents telle que tout
document d est représenté comme un vecteur ~d de nombres réels.
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 26 / 39
Similarité entre deux documents
Soit deux documents d1 et d2 représentés par des vecteurs d~1 et d~2 , on
définit la similarité entre les documents d1 et d2 par
Calcul et propriétés
Le cosinus est calculé en effectuant
I la somme des produits des composantes 2 à 2. Note : un produit est non
nul si les deux composantes sont non nulles, i.e. si le mot est présent
dans les 2 documents
I divisée par le produit des normes des vecteurs où la norme d’un vecteur
est la racine carrée de la somme des carrées des composantes.
Sim(d1 , d2 ) est compris entre 0 et 1, voisin de 1 si les documents sont
similaires, voisin de 0 sinon.
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 27 / 39
Score de pertinence entre document et requête
Soit une requête q, c’est un petit document, donc on peut représenter q par
un vecteur ~q. Soit un document d représenté par un vecteur ~d, on définit le
score de pertinence de d par rapport à q par
Propriétés du score
peut être calculé avec toute représentation vectorielle pour d et q,
souvent tf pour d et tf -idf pour q
est utilisé pour comparer des documents par rapport à une requête,
peut être grand même si tous les mots de la requête ne sont pas
présents dans le document,
peut être calculé efficacement avec un “inverted index”
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 28 / 39
Calcul du score de pertinence
Pré-requis : indexation
Une base de documents D sur un vocabulaire V ,
un index donnant pour tout w de V la liste des documents contenant w,
un accès rapide par le mot dans cet index,
index enrichi par la longueur de la liste, df (t), tf (w, t), ...,
et la liste des positions (requêtes par phrase).
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 29 / 39
Algorithme des k-best answers
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 30 / 39
Conclusion du modèle vectoriel
Modèle vectoriel
requêtes avec plusieurs mots clés, par phrase. Pas de requêtes
Booléennes.
réponses aux requêtes est un ordre sur les documents et pas un
ensemble de documents,
Score de pertinence
Une base de documents D, un vocabulaire V , un index, nous pouvons
calculer, pour toute requête q, un score de pertinence qui permet de
trier les documents de D par ordre de pertinence par rapport à q.
peut être étendu à des requêtes par phrase,
peut être calculé sur des parties de documents (titre, résumé,
introduction) et les scores combinés,
il existe de nombreuses variantes de formules de calcul,
une brique de base de la RI sur le Web.
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 31 / 39
Plan
1 Recherche séquentielle
4 RI sur le WEB
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 32 / 39
Spécificités de la recherche d’information sur le Web
Nous allons voir comment prendre en compte tous ces aspects pour définir
et calculer le score d’un document Web d relativement à une requête q. Ce
score permet de classer les documents par score décroissant et vous les
présenter par pages de 10 résultats.
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 33 / 39
Indexation du Web
Création de l’index
définir l’ensemble des documents : tous les documents du Web quel
que soit le format,
définir le vocabulaire : tous les termes apparaissant sur le Web sans
tenir compte de casse et accents,
réalisé par des robots (programmes) qui “crawlent” le Web.
Référencement : facilitez la visite des robots sur votre site.
Spécificités de l’index
Index de très grande dimension : taille du vocabulaire (des millions) et
de la base de documents (des trillions)
Index réparti : des fermes de calcul réparties dans le monde entier
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 34 / 39
Score de pertinence
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 35 / 39
Utiliser la structure du Web
Sur quel principe ?
Idée de base : une page est importante si beaucoup de pages importantes
pointent sur elle.
Comment ?
Représenter le Web comme un graphe orienté : un noeud est une page
Web, un arc est un hyperlien entre deux pages.
Sur ce graphe, on peut définir un surfeur aléatoire : avec proba c = 0.15,
il va sur une page tirée aléatoirement uniformément ; avec proba
1 − c = 0.85, il suit un des liens de la page avec probabilité uniforme,
avec des mathématiques et de l’informatique, on définit
l’algorithme PageRank qui calcule la probabilité de passer sur chacune
des pages ce qui définit le score de notoriété d’une page Web.
Référencement : bon contenu pour que beaucoup de pages bien
référencées pointent sur la page.
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 36 / 39
Score sur le Web
Soit une requête q composée de plusieurs mots clés
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 37 / 39
Conclusions et interrogations
Référencement
Respecter les règles, normes et facilitez les visites des robots
Contenu adapté avec termes importants bien placés
Contenu intéressant pour que des pages importantes vous référencent
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 38 / 39
Conclusion
Rémi Gilleron (Université Lille & INRIA Lille & Cristal UMR CNRS) Rech. Info. 39 / 39