Systèmes de Recherche d’Information

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

La Méthode de Simplexe Standardisation
A l’issue des conseils de classe de 3ème,
Tris.
M. SAILLOUR Lycée Notre Dame du Kreisker St Pol de Léon
Licence pro MPCQ : Cours
Distance inter-locuteur
W3Line | 10 Ter, Rue Pasteur – BOURG LES VALENCE | Tél. : – Fax : | – Web :
Classification et prédiction
Portée des variables VBA & Excel
Classification et prédiction
Fonctions & procédures
Proposition de recherches sur ABI (Pro Quest) Lise Herzhaft (Urfist de Lyon) et MH Prévoteau (Bibliothèque Université Paris 2) Mise en forme par Nolwenn.
Les identités remarquables
CALCUL LITTERAL 3° Avon 2010 Bernard Izard 05-LT I – NOTATIONS
Estimation de la survie comparaison des courbes de survie FRT C3.
Chap. 1 Structures séquentielles : listes linéaires
Description du fonctionnement d'un système 1 Clic Clic
variable aléatoire Discrète
Chapitre VII :Commande par retour d’état
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Développement d’applications web
Structures de données linéaires
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Les structures de données arborescentes
Cours de physique générale I Ph 11
18/05/ Utiliser le cahier de texte en ligne avec lapplication SPIP Adresse du site du lycée :
1.2 COMPOSANTES DES VECTEURS
Titre : Implémentation des éléments finis sous Matlab
Tableaux de distributions
Tableaux de distributions
Gestion de Fichiers Arbres B.
Gestion denquêtes et suivi dindicateurs statistiques 1er degré © DOS3 – Pôle Analyse & Développement Octobre 2011 – v.0.1 Tutorial portail directeur décole.
LES NOMBRES PREMIERS ET COMPOSÉS
Sections sélectionnées du Chapitre 11
VOC 1 CE2 Je sais utiliser des mots de la vie quotidienne.
Les Pourcentages.
1.3 COORDONNÉES DES POINTS
Les fichiers indexés (Les B-arbres)
RACINES CARREES Définition Développer avec la distributivité Produit 1
Représentation des systèmes dynamiques dans l’espace d’état
Systèmes mécaniques et électriques
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Courbes de Bézier.
1. 2 PLAN DE LA PRÉSENTATION - SECTION 1 : Code HTML - SECTION 2.1. : CSS (Méthode 1) - SECTION 2.2. : CSS (Méthode 2) - SECTION 3 : JavaScript - SECTION.
Des indicateurs de performance pertinents et adéquats
Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.
1.1 LES VECTEURS GÉOMÉTRIQUES
3.2 PRODUIT VECTORIEL Cours 7.
Titre : Implémentation des éléments finis en Matlab
Gestion de Fichiers Hachage (suite). 2 Plan du cours daujourdhui Prédiction de la distribution des enregistrements Réduction des collisions en augmentant.
Ordonnancement de tâches
Introduction à l’algèbre
Inéquations du premier degré à une inconnue
Résoudre une équation du 1er degré à une inconnue
F L T R Université catholique de Louvain-la-Neuve Faculté de philosophie et lettres FLTR Faculté de Philosophie et Lettres Présentation décembre 2002 Réalisation:
Atelier de formation : MAT optimisation II (les graphes).
Programmation linéaire en nombres entiers : les méthodes de troncature
ASI 3 Méthodes numériques pour l’ingénieur
Mise en forme en Mathématiques
LES PILES ET FILES.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Comment classer les pages web. Principe du moteur de recherche Mise en mémoire des pages web Associer chaque page à des mot-clefs Objectif : Classification.
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Efficient Crawling Through URL Ordering Junghoo Cho - Hector Garcia-Molina - Lawrence Page Department of Computer Science Stanford, CA Algorithmes.
20/06/2015propagation de signatures lexicales dans le graphe du Web 1 Propagation de signatures lexicales dans le graphe du Web M. Bouklit M. Lafourcade.
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Transcription de la présentation:

Systèmes de Recherche d’Information

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

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

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 …

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

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

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

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

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

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

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

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)

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.

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

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.

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

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.

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

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.

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

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.

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

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

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

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

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

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

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) = 1 h(amazon) = 1 h(m’soft) = 1 6 4 2 28 20 8 132 96 36 . . . 

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)

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 = 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

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

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

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

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

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

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

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

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)

Exemple de hiérarchie pour une bibliothèque