Systmes de Recherche dInformation 1 Systmes de recherche

  • Slides: 39
Download presentation
Systèmes de Recherche d’Information 1

Systèmes de Recherche d’Information 1

Systèmes de recherche d’information (SRI) n Information retrieval Systems(IRS) utilisent un modèle plus simple

Systèmes de recherche d’information (SRI) n Information retrieval Systems(IRS) utilisent un modèle plus simple que celui des bases de données H L’information est organisée sous forme de collection de documents H Les documents ne sont pas structurés (pas de schéma) n La recherche d’information consiste à retourner les documents pertinents à la requête de l’utilisateur n La requête peut être sous forme de mots clés (keywords) ou bien des documents de référence H e. g. , les documents contenant les mots “bases de données” n Cas particulier: La RI sur le WEB est devenue extrêmement importante H E. g. google, altavista, … 2

Les SRI (Suite) n Différences par rapport aux SGBD H Les SRI n’ont pas

Les SRI (Suite) n Différences par rapport aux SGBD H Les SRI n’ont pas les problèmes de transactions, concurrence et reprises sur panne H Les SRI s’intéressent à des problèmes non abordés par les SGBD classiques 4 Recherche approximative par mots clés 4 Classement des documents retournés par degré de pertinence 3

Recherche par mot clé n Dans la recherche plein texte, tout mot dans chaque

Recherche par mot clé n Dans la recherche plein texte, tout mot dans chaque document est considéré comme mot clé (on parle aussi de terme) n 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 n Le classement des documents selon leur pertinence est un point critique (voir par exemple le succès de Google) H La pertinence est basée sur des facteurs tels que : 4 Fréquence de termes – Fréquence d’un terme dans un document 4 Fréquence inverse des documents – Dans combien de documents le mot clé apparaît-il ? » Moins de documents plus important sera le mot clé 4 Hyperliens vers le document – Plus il y a de liens vers le document plus le document sera important 4… 4

Classement selon les termes n FT-FID (Fréquence de Terme/Fréquence Inverse de Document): H Soit

Classement selon les termes n FT-FID (Fréquence de Terme/Fréquence Inverse de Document): H Soit n(d) = Le nombre de termes dans le document d H Soit n(d, t) = le nombre d’occurrences de t dans d (FT) H Soit n(t) = le nombre de documents contenant t (1/FID) H La pertinence de d relativement à t est donnée par n(d, t) r(d, t) = log 1 + n(d) 4 On met tout en Log pour réduire l’importance des nombres d’occurrences H La pertinence de d relativement à la requête Q (ensemble de termes) est donnée par r(d, t) r(d, Q) = t Q n(t) 5

Classement selon les termes n La plupart des systèmes affinent ce modèle H Les

Classement selon les termes n La plupart des systèmes affinent ce modèle H Les mots dans le titre, sous-titres, auteurs, URL sont dotés d’une plus grande importance H Les mots apparaissant au début sont plus importants que ceux en fin de document H Les mots courants sont supprimés de la requête (de, la, les, un …) 4 appelés stop words H Proximité: Si les mots apparaissent plus proches les uns des autres dans d que dans d’, alors d est plus pertinent que d’ n Les documents sont retournés selon l’ordre décroissant de leur pertinence H Généralement, seuls les premiers sont retournés 6

Pertinence selon les Hyperliens n Si on ne se base que sur les fréquences

Pertinence selon les Hyperliens n 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 n L’utilisation de la fréquence seulement rend le « spam » facile 4 Ex: une agence de voyages peut ajouter artificiellement plusieurs fois les termes « agence » et « voyage » pour s’assurer un bon classement n Pour éviter le spam, il suffit de classer les sites en fonction de leur « popularité » H Idée: utiliser la popularité des sites (le nombre d’accès) pour classer les documents retournés H Problème: Impossible de faire ce compte 7

Pertinence selon les Hyperliens (suite) n Solution: utiliser le nombre d’hyperliens pointant vers le

Pertinence selon les Hyperliens (suite) n Solution: utiliser le nombre d’hyperliens pointant vers le site H Compter un lien à partir de chaque site 4 Ce n’est pas parce que plusieurs pages du même site pointent vers S que S devient plus prestigieux H Toutes les pages d’un même site ont la même popularité 4 La popularité d’un site est plus facile à calculer que celle des pages n Raffinements H Quand on calcule la popularité d’un site, donner plus de poids aux liens provenant de sites prestigieux 4 Définition circulaire 4 Systèmes linéaires à résoudre simultanément H 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

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

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

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

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

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 a 1/2 0 m 0

Exemple: Le Web en 1900 y a y 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

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 = vt. M : • [y, a, m]=[y, a, m]t*M

Exemple • Equations v = vt. M : • [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 3/2 1/2 5/4 1 3/4 9/8 11/8 1/2 . . . 6/5 3/5 16

Quelques Problèmes n Certaines pages sont “sans issue” H Ces pages réduisent à néant

Quelques Problèmes n Certaines pages sont “sans issue” H Ces pages réduisent à néant l’importance. n D’autres (groupes de) pages absorbent toute l’importance H 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 a 1/2 0 m 0 1/2

Microsoft est sans issue y a y 1/2 a 1/2 0 m 0 1/2 Yahoo Amazon m 0 0 0 M’soft 18

Exemple n Equations v = vt. M: H y = y /2 + a

Exemple n Equations v = vt. M: H y = y /2 + a /2 H a = y /2 H m = a /2 y a = m 1 1 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 a 1/2 0 m 0 1/2

Microsoft ‘aspire’ toute l’importance y a y 1/2 a 1/2 0 m 0 1/2 Yahoo Amazon m 0 0 1 M’soft 20

n Équations v = v. M: Exemple H y = y /2 + a

n Équations v = v. M: Exemple H y = y /2 + a /2 H a = y /2 H m = a /2 + m y a = m 1 1 1/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 n “Taxer” chaque page à chaque itération n Ajouter la

La solution de Google n “Taxer” chaque page à chaque itération n Ajouter la même constante à toutes les pages n 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’ n Équations v = 0. 8(Mv )

Le même exemple avec 20% de ‘Taxe’ n Équations v = 0. 8(Mv ) + 0. 2: H y = 0. 8(y /2 + a/2) + 0. 2 H a = 0. 8(y /2) + 0. 2 H m = 0. 8(a /2 + m) + 0. 2 y a = m 1 1. 00 0. 84 0. 60 1. 40 1. 56 0. 776 0. 536. . . 1. 688 7/11 5/11 21/11 23

Pertinence selon les Hyperliens (suite) H Un échangeur (hub en anglais) est une page

Pertinence selon les Hyperliens (suite) H Un échangeur (hub en anglais) est une page qui contient des liens vers plusieurs pages H Une autorité est une page qui contient de l’information sur un sujet particulier (plusieurs pages pointent vers elle) H Chaque page lui est associé un degré de « prestige d’échangeur » basé sur le prestige des autorités sur lesquelles elle pointe H Chaque page lui est associé un degré de « prestige d’autorité » basé sur le prestige des échangeurs qui pointent sur elle H Utiliser le « prestige d’autorité » pour classer les résultats 24

Matrice de transition A [i, j ] = 1 si page i pointe sur

Matrice de transition 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 n Soient h et a des vecteurs mesurant respectivement le degrés

Utilisation de A n Soient h et a des vecteurs mesurant respectivement le degrés d’échangeur (‘hubbiness’) et d’autorité de chaque page n Équations: h = Aa; a = AT h. H Degrés d’échangeur de p = somme des degrés d’autorité des pages sur lesquelles p pointe H Degrés d’autorité de p = somme des degrés d’échangeur des pages pointant sur p 26

Conséquences n De h = Aa et a = AT h on voit que:

Conséquences n De h = Aa et a = AT h on voit que: H h = AAT h H a = A TA a n Ce sont donc des équations de point fixe qu’on peut résoudre par itération comme dans le cas précédent. n On suppose d’abord que chaque page a un degré égal à 1 27

Yahoo Amazon 111 A= 101 010 y a m y 1 1 1 A=

Yahoo Amazon 111 A= 101 010 y a m y 1 1 1 A= a 1 0 1 m 0 1 0 Exemple M’soft 110 AT = 1 0 1 110 321 AAT= 2 2 0 101 212 ATA= 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 n Les systèmes ne convergeant pas, on utilise plutôt les équations suivantes: H

Solution n Les systèmes ne convergeant pas, on utilise plutôt les équations suivantes: H h = λAa; a = μAT h (λ et μ sont des nombres fractionnaires) H D’où h = λμAAT h et a = λμATA a. n Chaque équation du type y = λμ (3 y +2 a +m) nous permet d’exprimer λμ en fonction de y, a et m n Faire l’égalité entre ces différentes expressions n Pour l’exemple et pour h on a: H y = λμ (3 y +2 a +m) H a = λμ (2 y +2 a ) H m = λμ (y +m) H Ainsi λμ = y/(3 y +2 a +m) = a / (2 y +2 a ) = m / (y +m) 29

Solution (suite) n Supposer y = 1. λμ = 1/(3 +2 a +m) =

Solution (suite) n Supposer y = 1. λμ = 1/(3 +2 a +m) = a / (2 +2 a ) = m / (1+m) n Des deux derniers termes on a: a +am = 2 m +2 am d’où a = 2 m /(1 -m ) (i) n Du premier et du troisième termes on a: 1+m = 3 m + 2 am +m 2 d’où a =(1 -2 m -m 2)/2 m (ii) n De (I) et (ii) on a: 1 - 2 m - m 2 - m + 2 m 2 + m 3 = 4 m 2 1 -3 m-3 m 2+m 3=0 n Ainsi m = 0. 268 et a = 0. 735 n 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é n Récupérer les documents qui ressemblent à un document

Recherche basée sur la similarité n Récupérer les documents qui ressemblent à un document d H La Similarité peut être mesurée sur la base des mots communs 4 Ex. Trouver k termes dans d maximisant r(d, t) puis utiliser ces termes comme une requête n La Similarité peut être utilisée pour affiner l’ensemble des résultats retourné par une recherche avec mots clés : H 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 n Synonymes H Ex. document: “moto réparation”, requête: “moto maintenance” 4

Synonymes et Homonymes n Synonymes H Ex. document: “moto réparation”, requête: “moto maintenance” 4 Le système doit savoir que “maintenance” et “réparation” sont synonymes H Le système alors pourra transformer la requête en “moto et (réparation ou maintenance)” n Homonymes H Ex. “fenêtre” a différents sens (construction ou écran) H Des travaux en langage naturel permettent de lever les ambiguïtés à partir du contexte (reste très difficile) n Problème: Ajouter des synonymes introduit le problèmes des homonymes H Faire appel à l’utilisateur pour lever les ambiguïtés 32

Indexation des Documents n Un index inverse associe à chaque terme Ti l’ensemble des

Indexation des Documents n Un index inverse associe à chaque terme Ti l’ensemble des documents qui le contiennent H Les documents sont identifiés par un identificateur (URL dans le cas du WEB) H L’index peut aussi stocker 4 L’emplacement de Ti dans le document (pour pouvoir utiliser la proximité) 4 Le nombre d’occurrences de Ti (pour calculer FT) n Opération et : Trouver les documents qui contiennent T 1, T 2, . . . , Tn. H Intersection S 1 S 2 . . . Sn n Opération ou : Trouver les documents qui contiennent un des termes T 1, T 2, …, Tn H union, S 1 S 2 . . . Sn, . n Chaque Si est triée pour ensuite faciliter la fusion H “non” peut être implémenté en fusionnant des listes triées 33

Mesurer l’efficience d’un SRI n Les RI ne peuvent pas être exhaustifs sinon l’espace

Mesurer l’efficience d’un SRI n Les RI ne peuvent pas être exhaustifs sinon l’espace requis pour stocker les index serait trop grand. n Les RI utilisent des structures de données et des méthodes de compression qui permettent seulement de la recherche approximative. Ceci implique H faux négatifs : quelques documents pertinents peuvent ne pas être retournés H faux positifs : quelques documents non pertinents peuvent être retournés H Dans beaucoup d’application, ce sont les faux négatifs qui posent un problème n Mesure de l’efficience : H Précision – quel est la proportion de documents pertinents retournés pour une requête (parmi ceux retournés) H Rappel - quel est la pourcentage de documents pertinents retournés parmi tous les documents pertinents 34

Mesurer l’efficience d’un SRI (suite) n Le classement des résultats peut induire de faux

Mesurer l’efficience d’un SRI (suite) n Le classement des résultats peut induire de faux positifs/négatifs H Faire la balance entre Rappel et précision : 4 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 H Mesures en fonction des documents réellement accédés 4 L’une est fonction de l’autre – Ex. “précision de 75% pour un rappel de 50%, et 60% pour un rappel 75%” n Problème: Comment définir les documents qui sont réellement pertinents ? H En général: jugement humain H Les systèmes sont mesurés en utilisant des corpus (benchmark) 4 TREC (Text REtrieval Conference) Benchmark 35

Web Crawling n Web crawlers : ce sont des programmes qui localisent et assemblent

Web Crawling n Web crawlers : ce sont des programmes qui localisent et assemblent les documents du WEB H Récursivement suivent les hyperliens présents dans des documents déjà connus H Quand un document est récupéré 4 Il est analysé puis indexé 4 Peut ensuite être libéré ou gardé comme une copie dans le cache n Balayer tout le WEB peut prendre beaucoup de temps (Google annonce 6 semaines avant de ré-analyser un document déjà dans l’index) H Les moteurs de recherche ne parcourent qu’une partie du WEB 4 celui accessible à partir des pages déjà analysées 4 Google ré-analyse les pages qui ont été accédées 4 Un parcours de tout le WEB prendrait des mois 36

Web Crawling (suite) n Le balayage (crawling) est effectué par plusieurs processus sur plusieurs

Web Crawling (suite) n Le balayage (crawling) est effectué par plusieurs processus sur plusieurs machines en parallèle H L’ensemble des liens à parcourir se trouve dans une BD H Les nouveaux liens rencontrés sont ajoutés pour être balayés ultérieurement n Le processus d’indexation est lui aussi effectué sur plusieurs machines H Création d’un nouvel index H L’ancien est utilisé pour les requêtes H Une fois le balayage terminé, le nouveau remplace l’ancien n Plusieurs machines sont utilisées pour répondre aux requêtes H Les index résident en mémoire centrale 37

Navigation n Même si les moteurs de recherche sont de plus en plus efficaces

Navigation n 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 H Utiliser des répertoires pour naviguer dans le résultat n Les répertoires peuvent être construits off-line et le moteur d’indexation affecte un ou plusieurs nœuds à chaque document récupéré H Les utilisateurs peuvent alors non seulement voir les documents qui les intéressent mais même les autres qui leur sont proches n On parle alors d’une hiérarchie de classification H Cette hiérarchie forme un graphe acyclique orienté (ou DAG) H WEB directories (yahoo, open web directory) 38

Exemple de hiérarchie pour une bibliothèque 39

Exemple de hiérarchie pour une bibliothèque 39