Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

29
Cours 2 Recherche d'informations Espace vectoriel des sacs de mots

Transcript of Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Page 1: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Cours 2

Recherche d'informations

Espace vectoriel des sacs de mots

Page 2: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Recherche d'informations

Moteurs de recherche sur le web

Recherche dans d'autres ensembles de documents :

- les documents d'un utilisateur ou d'une entreprise

- la documentation technique d'un gros projet

Méthode de base

On suppose que le sens des textes contenus dans les documents se ramène aux tokens-mots, sans tenir compte de l'ordre : modèle du sac de mots (bag of words) ou modèle vectoriel

Page 3: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Recherche d'informations

Document

la plus petite quantité de texte indexée et renvoyée par un système de recherche d'informations

Ex. : page web, site web, article de journal, paragraphe...

Requête

La demande de l'utilisateur

Page 4: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Le modèle vectorielPrincipe

Imaginons que les tokens-mots des documents sont seulement

cinéma football rugby

On représente chaque document et la requête par un vecteur dans un espace à trois dimensions

Les coordonnées du vecteur sont 0 ou 1 suivant que le document contient le mot correspondant ou pas

Document1 Document2 Document3

cinéma 0 1 0

football 1 1 0

rugby 0 0 1

Page 5: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Le modèle vectorielVisualisation

Chaque dimension correspond à un des mots du vocabulaire

Chaque document correspond à un point dans l'espace, la requête aussi

cinémafootball

rugby

d1

d2

d3

Page 6: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Le modèle vectorielBeaucoup plus que 3 tokens-mots dans le vocabulaire

C'est un espace vectoriel à plus de 3 dimensions (N = plusieurs dizaines de milliers)

Vocabulaire

les tokens-mots de tous les documents indexés par le système

Vecteurs

d1 = (m1,1, m2,1, ... , mN,1) d2 = (m1,2, m2,2, ... , mN,2)

Similarité entre deux vecteurs

sim(d1, d2) = Σ1iN mi,1mi,2

C'est le nombre de coordonnées que les 2 vecteurs ont en commun

C'est le produit scalaire : 0 si vecteurs orthogonaux, N si égaux

Page 7: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Exempled1 : football football football football

d2 : football cinema football cinema cinema cinema football football cinema

d3 : rugby rugby rugby

Similarités entre vecteurs

sim(d1, d2) = 1

sim(d2, d3) = 0

sim(d1, d3) = 0

Page 8: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Le modèle vectorielOn prend le document qui a la similarité la plus élevée avec la

requête

L'ensemble des documents peut être représenté par une matrice

Lignes : les mots

Colonnes : les documents et la requête

d1 d2 d3 ...

cinéma 0 1 0 ...

football 1 1 0 ...

rugby 0 0 1 ...

... ... ... ... ...

Page 9: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

ExempleRequête : cinéma rugby

d1 d2 d3 r

cinéma 0 1 0 1

football 1 1 0 0

rugby 0 0 1 1

... ... ... ... ...

Similarités 0 1 1

Meilleures réponses : d2 et d3

Page 10: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Le modèle vectorielLes coordonnées des vecteurs représentent les poids des

mots dans les documents

Au lieu d'utiliser des poids binaires (0 ou 1), on peut utiliser le nombre d'occurrences du mot dans le document

Page 11: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Exempled1 : football football football football

d2 : football cinema football cinema cinema cinema football football cinema

d3 : rugby rugby rugby

Similarités entre vecteurs

sim(d1, d2) = 16

sim(d2, d3) = 0

sim(d1, d3) = 0

Page 12: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

ExempleRequête : cinéma rugby

d1 d2 d3 r

cinéma 0 5 0 1

football 4 4 0 0

rugby 0 0 3 1

... ... ... ... ...

Similarités 0 5 3

Meilleure réponse : d2

Page 13: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Le modèle vectorielLe produit scalaire sim(d1, d2) = Σ1iN mi,1mi,2 augmente avec la

taille des documents

Les documents longs ne sont pas plus intéressants que les courts

Donc on normalise la norme (longueur) de tous les vecteurs à 1

mi,k/Σ1jN mj,k2

(documents = points sur une sphère de rayon 1)

Similarité normalisée:

sim(d1, d2) = Σ1iN mi,1mi,2 /Σ1iN mi,12Σ1iN mi,2

2

C'est le cosinus de l'angle entre les deux vecteurs

Il ne dépend pas de la taille des documents (0 si vecteurs orthogonaux, 1 si égaux)

Page 14: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Exempled1 : football football football football

d2 : football cinema football cinema cinema cinema football football cinema

d3 : rugby rugby rugby

Similarités entre vecteurs

sim(d1, d2) = 0,62

sim(d2, d3) = 0

sim(d1, d3) = 0

Page 15: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

ExempleRequête : cinéma rugby

d1 d2 d3 rcinéma 0 5 0 1football 4 4 0 0rugby 0 0 3 1... ... ... ... ...

Similarités 0 0,55 0,71Meilleure réponse : d3d2 n'est plus avantagé par sa longueurIl est désavantagé par le fait qu'il concerne aussi le football

Page 16: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Classement par pertinenceClassement des documents par ordre décroissant de similarité avec

la requête

Seuils

- nombre maximum de documents

- similarité minimale

En fonction des seuils, le système retient un ensemble de documents et les présente dans l'ordre de pertinence décroissante

Page 17: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Pondération par pertinence

Un défaut de la méthode précédente

Certains tokens-mots apparaissent souvent mais ne sont pas pertinents : de, le, à, un...

On les reconnaît parce qu'ils sont fréquents dans tous les documents

Page 18: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Pondération par pertinenceCoordonnées avec pondération par pertinenceOn utilise D documentsd(i) = le nombre de documents qui contiennent le mot iD/d(i) mesure la pertinence de i

1 D/d(i) D

mi,j = le nombre d'occurrences de i dans le document dj

On prend comme coordonnées de dj :

mi,j log D/d(i)(formule "TF IDF")

term frequency, inverse document frequency

On normalise la similarité avec ces nouvelles valeurs des coordonnées

Page 19: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Exempled1 : football football football football

d2 : football cinema football cinema cinema cinema football football cinema

d3 : rugby rugby rugby

d(i) log D/d(i)

football 2 0,41

cinema 1 1,10

rugby 1 1,10

Page 20: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Exempled1 : football football football football

d2 : football cinema football cinema cinema cinema football football cinema

d3 : rugby rugby rugby

Similarités entre vecteurs

sim(d1, d2) = 0,28

sim(d2, d3) = 0

sim(d1, d3) = 0

Page 21: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

ExempleRequête : cinéma rugby

d1 d2 d3 r

cinéma 0 5 0 1

football 4 4 0 0

rugby 0 0 3 1

... ... ... ... ...

Similarités 0 0,68 0,71

Meilleure réponse : d3

Page 22: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

ÉvaluationObjectif : évaluer un système de recherche d'informations

Documents pertinents : d'après un jugement humain

Documents retenus : par le système

Rappel

Proportion de documents pertinents retenus (PR) parmi tous les documents pertinents (P)

rappel = PR/P Le rappel est compris entre 0 et 1

silence = 1 - rappel

Précision

Proportion de documents pertinents retenus parmi tous les documents retenus (R)

précision = PR/RLa précision est comprise entre 0 et 1

bruit = 1 - précision

Page 23: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Quelques astucesUtilisation d’un index

Il est coûteux de calculer la similarité d’une requête avec tous les documents d’une collection (ex. s’il y en a des milliards)

On utilise un index pour faire un préfiltrage des documents selon la requête

Un index: à chaque token-mot, on associe l’ensemble des documents dans lesquels il apparaît

On ne garde que les documents qui contiennent au moins un token-mot de la requête

Page 24: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Filtrage de mots non pertinents

Certains mots ne sont pas pertinents pour un document: ex. de, la, les, quelques, plusieurs, nos, votre

Les fréquences ne sont pas un critère totalement fiable (nos n’est pas forcément très fréquent dans les textes)

On utilise une liste de mots non pertinents pour filtrer ces mots des textes et donc des vecteurs et de l’index

Diminution de la taille mémoire nécessaire

Page 25: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Pondération des zones de documents

Certaines parties de documents concentrent le plus d’informations pertinentes

Dans des documents structurés ou semi-structurés (XML, HTML), on peut considérer que les mots de certaines parties sont plus importants que les mots qui se trouvent dans les autres

Exemple: pour les pages Web, les mots du titre (balise <title>) et les mots-clés (balise META keywords) comportent beaucoup d’informations pertinentes

Page 26: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Prise en compte de la qualité d’un document

Dans une collection de documents, tous les documents n’ont pas la même qualité

Un exemple : internet

Une solution : tenir compte de la qualité des documents pour répondre à une requête donnée

Le cas de Google : algorithme PageRank

Page 27: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Principe de PageRank

Marque déposéePage : l'auteur de l'algorithmeAlgorithme PageRank : classement de l’ensemble des

pages Web selon leur « qualité »C’est un processus off-line (réalisé durant la phase

d’indexation)Principe : la qualité d’une page Web dépend du

nombre de documents qui citent cette page et de leur qualité=> La « qualité » d’une page est donc en fait sa popularité

Page 28: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Algorithme PageRank très simplifié

Un vecteur U : chaque composante est une mesure de la popularité d’un document

Une matrice M : représente le graphe de dépendance entre les pages

Calcul du PageRank par produit matriciel itératif

U[i+1] = M .U[i] avec U[0] fixé arbitrairement

U[i] = M i U[0]

On s’arrête lorsque l’on obtient un point fixe :

| U[i+1] - U[i] | < ε donné

Page 29: Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

autres critères

Distance entre les mots-clés dans le texte

Ordre des mots-clés