La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Systèmes de Recherche d’Information

Présentations similaires


Présentation au sujet: "Systèmes de Recherche d’Information"— Transcription de la présentation:

1 Systèmes de Recherche d’Information

2 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, …

3 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

4 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

5 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 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 n(d) n(d, t) 1 + r(d, t) = log r(d, Q) = r(d, t) n(t) tQ

6 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

7 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

8 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

9 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

10 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

11 Exemple Supposons que page j pointe sur 3 pages, dont i j i 1/3

12 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)

13 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.

14 Exemple: Le Web en 1900 y a m Yahoo y 1/2 1/2 0 a 1/2 0 1 m 0 1/2 0
Amazon M’soft La somme sur la colonne j est égale à 1 sauf si de j on ne peut aller nulle part

15 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.

16 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 3/2 1/2 5/4 1 3/4 9/8 11/8 1/2 6/5 3/5 . . .

17 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.

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

19 Exemple Equations v = vtM: y = y /2 + a /2 a = y /2 m = a /2 y a = m 1
1/2 3/4 1/2 1/4 5/8 3/8 1/4 . . . Cela signifie qu’intuitivement, on va forcément se retrouver dans une situation où l’on ne peut plus avancer.

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

21 Exemple Équations v = vM: y = y /2 + a /2 a = y /2 m = a /2 + m y a =
1 1 1/2 3/2 3/4 1/2 7/4 5/8 3/8 2 3 . . . Intuitivement, ce la signifie que le parcours du web va « certainement » nous mener à la page microsoft.

22 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

23 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.00 0.60 1.40 0.84 0.60 1.56 0.776 0.536 1.688 7/11 5/11 21/11 . . .

24 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

25 Matrice de transition A
A [i,j ] = 1 si page i pointe sur page j, 0 sinon Exemple y a m Yahoo y a m A = Amazon M’soft

26 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

27 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

28 Exemple Yahoo y a m y 1 1 1 a 1 0 1 m 0 1 0 A = M’soft Amazon 1 1 1
1 1 0 AT = 1 0 1 3 2 1 AAT= 2 2 0 1 0 1 2 1 2 ATA= 1 2 1 . . . = 1 5 4 24 18 114 84 a(yahoo) a(amazon) a(m’soft) h(yahoo) = h(amazon) = h(m’soft) = 6 4 2 28 20 8 132 96 36 . . .

29 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)

30 Solution (suite) h(yahoo) = 1 a(yahoo) =1+3 h(amazon) = 0.735
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 = et a = 0.735 On peut ensuite calculer l’autorité h(yahoo) = 1 h(amazon) = 0.735 h(m’soft) = a(yahoo) a(amazon) a(m’soft) =1+3 =2

31 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

32 Synonymes et Homonymes
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

33 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

34 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

35 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

36 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

37 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

38 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)

39 Exemple de hiérarchie pour une bibliothèque


Télécharger ppt "Systèmes de Recherche d’Information"

Présentations similaires


Annonces Google