Systèmes de recherche d`information
Download
Report
Transcript Systèmes de recherche d`information
Systèmes de Recherche d’Information
1
Systèmes de recherche d’information (SRI)
Information retrieval Systems(IRS) utilisent un modèle plus
simple que celui des bases de données
L’information est organisée sous forme de collection de
documents
Les documents ne sont pas structurés (pas de schéma)
La recherche d’information consiste à retourner les documents
pertinents à la requête de l’utilisateur
La requête peut être sous forme de mots clés (keywords) ou
bien des documents de référence
e.g., les documents contenant les mots “bases de données”
Cas particulier: La RI sur le WEB est devenue extrêmement
importante
E.g. google, altavista, …
2
Les SRI (Suite)
Différences par rapport aux SGBD
Les SRI n’ont pas les problèmes de transactions,
concurrence et reprises sur panne
Les SRI s’intéressent à des problèmes non abordés par les
SGBD classiques
Recherche approximative par mots clés
Classement des documents retournés par degré de
pertinence
3
Recherche par mot clé
Dans la recherche plein texte, tout mot dans chaque document est considéré
comme mot clé (on parle aussi de terme)
Les SRI autorisent l’utilisation des connecteurs logiques (et, ou, non) pour combiner
les mots clés de la recherche lors de l’expression des requêtes
Le classement des documents selon leur pertinence est un point critique (voir par
exemple le succès de Google)
La pertinence est basée sur des facteurs tels que :
Fréquence de termes
– Fréquence d’un terme dans un document
Fréquence inverse des documents
– Dans combien de documents le mot clé apparaît-il ?
» Moins de documents plus important sera le mot clé
Hyperliens vers le document
– Plus il y a de liens vers le document plus le document sera important
…
4
Classement selon les termes
FT-FID (Fréquence de Terme/Fréquence Inverse de Document):
Soit n(d) = Le nombre de termes dans le document d
Soit n(d, t) = le nombre d’occurrences de t dans d (FT)
Soit n(t) = le nombre de documents contenant t (1/FID)
La pertinence de d relativement à t est donnée par
n(d, t)
r(d, t) = log 1 +
n(d)
On met tout en Log pour réduire l’importance des nombres d’occurrences
La pertinence de d relativement à la requête Q (ensemble de termes) est donnée
par
r(d, t)
r(d, Q) = tQ
n(t)
5
Classement selon les termes
La plupart des systèmes affinent ce modèle
Les mots dans le titre, sous-titres, auteurs, URL sont dotés d’une plus grande
importance
Les mots apparaissant au début sont plus importants que ceux en fin de
document
Les mots courants sont supprimés de la requête (de, la, les, un …)
appelés stop words
Proximité: Si les mots apparaissent plus proches les uns des autres dans d que
dans d’, alors d est plus pertinent que d’
Les documents sont retournés selon l’ordre décroissant de leur pertinence
Généralement, seuls les premiers sont retournés
6
Pertinence selon les Hyperliens
Si on ne se base que sur les fréquences des mots, le
nombre de documents retournés par les moteurs de
recherche peut être énorme
L’utilisation de la fréquence seulement rend le « spam »
facile
Ex: une agence de voyages peut ajouter
artificiellement plusieurs fois les termes « agence » et
« voyage » pour s’assurer un bon classement
Pour éviter le spam, il suffit de classer les sites en fonction
de leur « popularité »
Idée: utiliser la popularité des sites (le nombre d’accès)
pour classer les documents retournés
Problème: Impossible de faire ce compte
7
Pertinence selon les Hyperliens (suite)
Solution: utiliser le nombre d’hyperliens pointant vers le site
Compter un lien à partir de chaque site
Ce n’est pas parce que plusieurs pages du même site pointent
vers S que S devient plus prestigieux
Toutes les pages d’un même site ont la même popularité
La popularité d’un site est plus facile à calculer que celle des
pages
Raffinements
Quand on calcule la popularité d’un site, donner plus de poids aux
liens provenant de sites prestigieux
Définition circulaire
Systèmes linéaires à résoudre simultanément
C’est l’approche utilisée par Google
8
Le rang des pages
• Intuition: Résoudre l’équation récursive: “une page
est importante s’il y a des pages importantes qui
pointent dessus”
• Analogie avec le raisonnement suivant: Tout le
monde connaît le président. Si X est connu par le
président alors X devient prestigieux même s’il n’est
connu que par peu de personnes
9
Matrice Stochastique du Web
• Énumérer les pages.
• Page i correspond à la ligne i et à la colonne i
• M [i,j ] = 1/n si page j pointe sur n pages, page i
incluse ; 0 si j ne pointe pas sur i
• M[i,j] désigne en fait la probabilité d’aller vers la page i
quand on est à la page j
10
Exemple
Supposons que page j pointe sur 3 pages, dont i
j
i
1/3
11
Marche aléatoire sur le Web
• Soit v un vecteur où v[i] est la probabilité
d’être sur la page i à un certain moment.
• En étant sur i, si l’on suit un lien
aléatoirement, alors la distribution de la
probabilité est donnée par v*M (ou M*v
selon que v est vecteur ligne ou colonne)
12
Marche aléatoire sur le Web (2)
• En partant de n’importe quel v, la limite de
v(M(M(...))) est la distribution des visites des pages
lors d’une marche aléatoire.
• Intuition: L’importance des pages est proportionelle
au nombre de fois qu’elle est visitée lors d’une
marche aléatoire.
13
Exemple: Le Web en 1900
y a
y 1/2 1/2
a 1/2 0
m 0 1/2
Yahoo
Amazon
m
0
1
0
M’soft
La somme sur la colonne j est égale à 1 sauf si de j on ne
peut aller nulle part
14
Simuler une marche aléatoire
• Commencer avec v = [1,1,…,1] représentant
l’idée qu’au départ les pages sont de même
importance. Puis répéter l’application de M
jusqu’à atteindre un point fixe.
15
Exemple
• Equations v = vtM :
• [y, a, m]=[y, a, m]t*M
– y = y /2 + a /2
– a = y /2 + m
– m = a /2
y
a =
m
1
1
1
1
3/2
1/2
5/4
1
3/4
9/8
11/8
1/2
...
6/5
6/5
3/5
16
Quelques Problèmes
Certaines pages sont “sans issue”
Ces pages réduisent à néant l’importance.
D’autres (groupes de) pages absorbent toute
l’importance
C’est le cas où tous les liens sont vers des
éléments du groupe.
17
Microsoft est sans issue
y a
y 1/2 1/2
a 1/2 0
m 0 1/2
Yahoo
Amazon
m
0
0
0
M’soft
18
Exemple
Equations v = vtM:
y = y /2 + a /2
a = y /2
m = a /2
y
a =
m
1
1
1
1
1/2
1/2
3/4
1/2
1/4
5/8
3/8
1/4
...
0
0
0
Cela signifie qu’intuitivement, on va forcément se retrouver
dans une situation où l’on ne peut plus avancer.
19
Microsoft ‘aspire’ toute l’importance
y a
y 1/2 1/2
a 1/2 0
m 0 1/2
Yahoo
Amazon
m
0
0
1
M’soft
20
Équations v = vM:
Exemple
y = y /2 + a /2
a = y /2
m = a /2 + m
y
a =
m
1
1
1
1
1/2
3/2
3/4
1/2
7/4
5/8
3/8
2
...
0
0
3
Intuitivement, ce la signifie que le parcours du web va
« certainement » nous mener à la page microsoft.
21
La solution de Google
“Taxer” chaque page à chaque itération
Ajouter la même constante à toutes les pages
Modéliser une marche aléatoire comme si l’utilisateur
ne fait pas que suivre les liens mais peut aussi taper
des URL’s pour accéder directement à certaines
pages
22
Le même exemple avec 20% de ‘Taxe’
Équations v = 0.8(Mv ) + 0.2:
y = 0.8(y /2 + a/2) + 0.2
a = 0.8(y /2) + 0.2
m = 0.8(a /2 + m) + 0.2
y
a =
m
1
1
1
1.00 0.84
0.60 0.60
1.40 1.56
0.776
0.536 . . .
1.688
7/11
5/11
21/11
23
Pertinence selon les Hyperliens (suite)
Un échangeur (hub en anglais) est une page qui contient
des liens vers plusieurs pages
Une autorité est une page qui contient de l’information sur
un sujet particulier (plusieurs pages pointent vers elle)
Chaque page lui est associé un degré de « prestige
d’échangeur » basé sur le prestige des autorités sur
lesquelles elle pointe
Chaque page lui est associé un degré de « prestige
d’autorité » basé sur le prestige des échangeurs qui
pointent sur elle
Utiliser le « prestige d’autorité » pour classer les résultats
24
Matrice de transition A
A [i,j ] = 1 si page i pointe sur page j, 0 sinon
Exemple
Yahoo
Amazon
y a m
y 1 1 1
A= a 1 0 1
m 0 1 0
M’soft
25
Utilisation de A
Soient h et a des vecteurs mesurant respectivement le
degrés d’échangeur (‘hubbiness’) et d’autorité de chaque
page
Équations: h = Aa; a = AT h.
Degrés d’échangeur de p = somme des degrés
d’autorité des pages sur lesquelles p pointe
Degrés d’autorité de p = somme des degrés
d’échangeur des pages pointant sur p
26
Conséquences
De h = Aa et a = AT h on voit que:
h = AAT h
a = ATA a
Ce sont donc des équations de point fixe qu’on peut
résoudre par itération comme dans le cas précédent.
On suppose d’abord que chaque page a un degré
égal à 1
27
Yahoo
Amazon
111
A= 101
010
y
Exemple
a
m
y 1 1 1
A= a 1 0 1
m 0 1 0
M’soft
110
AT = 1 0 1
110
321
AAT= 2 2 0
101
212
ATA= 1 2 1
212
a(yahoo) =
a(amazon) =
a(m’soft) =
1
1
1
5
4
5
24
18
24
114
84
114
...
...
...
h(yahoo) =
h(amazon) =
h(m’soft) =
1
1
1
6
4
2
28
20
8
132
96
36
...
...
...
28
Solution
Les systèmes ne convergeant pas, on utilise plutôt les équations suivantes:
h = λAa; a = μAT h (λ et μ sont des nombres fractionnaires)
D’où h = λμAAT h et a = λμATA a.
Chaque équation du type y = λμ (3y +2a +m) nous permet d’exprimer λμ en
fonction de y, a et m
Faire l’égalité entre ces différentes expressions
Pour l’exemple et pour h on a:
y = λμ (3y +2a +m)
a = λμ (2y +2a )
m = λμ (y +m)
Ainsi λμ = y/(3y +2a +m) = a / (2y +2a ) = m / (y +m)
29
Solution (suite)
Supposer y = 1.
λμ = 1/(3 +2a +m) = a / (2 +2a ) = m / (1+m)
Des deux derniers termes on a:
a +am = 2m +2am d’où a = 2m /(1-m ) (i)
Du premier et du troisième termes on a:
1+m = 3m + 2am +m 2 d’où a =(1-2m -m 2)/2m (ii)
De (I) et (ii) on a:
1 - 2m - m 2 - m + 2m 2 + m 3 = 4m 2 1-3m-3m2+m3=0
Ainsi m = 0.268 et a = 0.735
On peut ensuite calculer l’autorité
h(yahoo) = 1
h(amazon) = 0.735
h(m’soft) = 0.268 1
a(yahoo)
a(amazon)
a(m’soft)
=1+3
=2
=1+3
30
Recherche basée sur la similarité
Récupérer les documents qui ressemblent à un document d
La Similarité peut être mesurée sur la base des mots
communs
Ex. Trouver k termes dans d maximisant r(d, t) puis
utiliser ces termes comme une requête
La Similarité peut être utilisée pour affiner l’ensemble des
résultats retourné par une recherche avec mots clés :
L’utilisateur sélectionne un petit nombre de documents puis
demande au système de ne garder que ceux qui leur
ressemblent le plus
31
Synonymes et Homonymes
Synonymes
Ex. document: “moto réparation”, requête: “moto maintenance”
Le système doit savoir que “maintenance” et “réparation” sont
synonymes
Le système alors pourra transformer la requête en “moto et (réparation
ou maintenance)”
Homonymes
Ex. “fenêtre” a différents sens (construction ou écran)
Des travaux en langage naturel permettent de lever les ambiguïtés à
partir du contexte (reste très difficile)
Problème: Ajouter des synonymes introduit le problèmes des
homonymes
Faire appel à l’utilisateur pour lever les ambiguïtés
32
Indexation des Documents
Un index inverse associe à chaque terme Ti l’ensemble des documents
qui le contiennent
Les documents sont identifiés par un identificateur (URL dans le cas du
WEB)
L’index peut aussi stocker
L’emplacement de Ti dans le document (pour pouvoir utiliser la proximité)
Le nombre d’occurrences de Ti (pour calculer FT)
Opération et : Trouver les documents qui contiennent T1, T2, ..., Tn.
Intersection S1 S2 ..... Sn
Opération ou : Trouver les documents qui contiennent un des termes T1,
T2, …, Tn
union, S1 S2 ..... Sn,.
Chaque Si est triée pour ensuite faciliter la fusion
“non” peut être implémenté en fusionnant des listes triées
33
Mesurer l’efficience d’un SRI
Les RI ne peuvent pas être exhaustifs sinon l’espace requis pour
stocker les index serait trop grand.
Les RI utilisent des structures de données et des méthodes de
compression qui permettent seulement de la recherche
approximative. Ceci implique
faux négatifs : quelques documents pertinents peuvent ne pas être
retournés
faux positifs : quelques documents non pertinents peuvent être
retournés
Dans beaucoup d’application, ce sont les faux négatifs qui posent un
problème
Mesure de l’efficience :
Précision – quel est la proportion de documents pertinents retournés
pour une requête (parmi ceux retournés)
Rappel - quel est la pourcentage de documents pertinents retournés
parmi tous les documents pertinents
34
Mesurer l’efficience d’un SRI (suite)
Le classement des résultats peut induire de faux positifs/négatifs
Faire la balance entre Rappel et précision :
On peut augmenter le rappel en augmentant les documents retournés
(i.e en baissant le degré de pertinence) ce qui provoque la baisse de
la précision
Mesures en fonction des documents réellement accédés
L’une est fonction de l’autre
– Ex. “précision de 75% pour un rappel de 50%, et 60% pour un
rappel 75%”
Problème: Comment définir les documents qui sont réellement
pertinents ?
En général: jugement humain
Les systèmes sont mesurés en utilisant des corpus (benchmark)
TREC (Text REtrieval Conference) Benchmark
35
Web Crawling
Web crawlers : ce sont des programmes qui localisent et assemblent les
documents du WEB
Récursivement suivent les hyperliens présents dans des documents déjà
connus
Quand un document est récupéré
Il est analysé puis indexé
Peut ensuite être libéré ou gardé comme une copie dans le cache
Balayer tout le WEB peut prendre beaucoup de temps (Google annonce 6
semaines avant de ré-analyser un document déjà dans l’index)
Les moteurs de recherche ne parcourent qu’une partie du WEB
celui accessible à partir des pages déjà analysées
Google ré-analyse les pages qui ont été accédées
Un parcours de tout le WEB prendrait des mois
36
Web Crawling (suite)
Le balayage (crawling) est effectué par plusieurs processus sur
plusieurs machines en parallèle
L’ensemble des liens à parcourir se trouve dans une BD
Les nouveaux liens rencontrés sont ajoutés pour être
balayés ultérieurement
Le processus d’indexation est lui aussi effectué sur plusieurs
machines
Création d’un nouvel index
L’ancien est utilisé pour les requêtes
Une fois le balayage terminé, le nouveau remplace l’ancien
Plusieurs machines sont utilisées pour répondre aux requêtes
Les index résident en mémoire centrale
37
Navigation
Même si les moteurs de recherche sont de plus en plus
efficaces et pertinents, il est toujours difficile de se retrouver
dans la très longue liste de documents retournés
Utiliser des répertoires pour naviguer dans le résultat
Les répertoires peuvent être construits off-line et le moteur
d’indexation affecte un ou plusieurs nœuds à chaque
document récupéré
Les utilisateurs peuvent alors non seulement voir les
documents qui les intéressent mais même les autres qui
leur sont proches
On parle alors d’une hiérarchie de classification
Cette hiérarchie forme un graphe acyclique orienté (ou DAG)
WEB directories (yahoo, open web directory)
38
Exemple de hiérarchie pour une bibliothèque
39