Indexation et Recherche d’Information Chapitre III Indexation et Recherche d’Information
Introduction : Deux raisons font que les Systèmes de Recherche d’Information (textuelle) (SRI)s sont importants : - Les textes servent d’annotation pour les autres médias tels que le son, l’image et la vidéo.
Introduction Deux principales questions sont à envisager pour la conception des SRI : Comment représenter les documents et les requêtes, Comment comparer les similarités entre les représentations des requêtes et des documents.
Introduction Il existe plusieurs modèles: - le modèle booléen, le modèle vectoriel. Chacun des deux modèles sert de base pour la représentation des requêtes et des documents.
Introduction Problématique de la recherche d’information : – Accès par le contenu à des documents satisfaisant un besoin d’information d’un utilisateur.
Introduction Les techniques des SRIs sont popularisées par l’usage de l’internet dans les moteurs de recherche (Google, Yahoo!, Bing etc.)
Différences entre SRI et SGBD : Comprendre la différence entre SRI et SGBD permet de comprendre les techniques des SRIs. - SGBD contient des enregistrements structurés et homogènes. Chaque enregistrement est un ensemble d’attributs dont les valeurs le décrivent de manière complète et sans équivoque. - Dans SRI, les enregistrements ne sont pas structurés et n’ont pas un nombre fixe d’attributs. Ce sont de simple texte. Ces documents sont indexés par des mots clés (terme d’indexation, descripteur de document).
Différences entre SRI et SGBD : - Dans SGBD, la recherche se fait par une parfaite égalité (exact match) entre la requête et les valeurs des attributs des enregistrements. - Dans SRI, la recherche est approximative. Le document retrouvé peut être pertinent pour le système mais non pour l’utilisateur. - score de pertinence=similarité=comparaison
Processus de recherche d’information :
Modèle booléen de base La plupart des SRIs commercialisés sont de ce modèle. Le modèle booléen est une représentation mathématique du contenu d'un document, selon une approche ensembliste. Modèle de connaissances : T = {ti}, i ∊ [1, .. N] - Termes ti qui indexent les documents Le modèle de documents (contenu) est une expression booléenne dans la logique des propositions avec les ti considérés comme des propositions : - Un document D1 est représenté par une formule D1= t1 ⋀ t3 ⋀ t250 ⋀ t254 - Une requête Q est représentée par une formule logique Q= (t1⋀t3)⋁(t25⋀t1045 ⋀⌉t134)
Fichier inverse Pour chaque terme, un index est crée auquel est associé les numéros des documents qui contiennent ce terme. Exemple : Terme 1: Document 1, Document 3 Terme 2: Document 1, Document 2 Terme 3: Document 2, Document 3, Document 4 Terme 4: Document 1, Document 2, Document 3, Document 4 La 1ère ligne signifie que le terme 1 appartient aux documents 1 et 3.
Modèle booléen de base La fonction de correspondance est basée sur l’implication logique des propositions : - Un document D répond à une requête Q si et seulement si D ⊃ Q. Exemples : -La requête (t1 ⋀ t2) recherche tous les documents qui contiennent le terme t1 et le terme t2. -La requête (t1⋁t2) recherche tous les documents qui contiennent le terme t1 ou le terme t2. -La requête (t1⋀⌉t2) recherche tous les documents qui contiennent le terme t1 mais pas le terme t2.
Modèle booléen étendu Jusqu’à maintenant deux facteurs ont été ignorés : la position et la fréquence des termes dans les documents. Les termes avaient la même importance dans les requêtes du modèle booléen de base. Pour améliorer la recherche, ces deux facteurs doivent être pris en considération. Il est possible d’inclure deux paramètres de proximité des termes dans les requêtes : within sentence et adjacency. - La requête(ti within sentence tj) veut dire que les termes ti et tj sont dans la même phrase du document recherché. - La requête (ti adjacent tj) signifie que le terme tj suit immédiatement le terme ti dans le document recherché.
Terme i : N° Document, N° Paragraphe, N° Phrase, N° Mot Modèle booléen étendu La structure générale du fichier inverse est comme suit : Terme i : N° Document, N° Paragraphe, N° Phrase, N° Mot Exemple : Information : D99, 10, 8, 3; D155, 15, 3, 6; D166, 2, 3, 1 Retrieval : D77, 9, 7, 2; D99, 10, 8, 4; D166, 10, 2, 5 La requête (information within sentence retrieval) donne comme résultat : D99 Donc, il est très probable que le document D99 traite du sujet : information retrieval
Opérations sur les termes et indexation Un document peut contenir des mots vides (stop words) tels que les prépositions et les articles "of" "the" et "a" de la langue anglaise. Durant le processus d’indexation les mots vides sont éliminés. Ça permet d’améliorer l’efficacité de la recherche et de l’indexation. Il y a 3 opérations sur les termes : radicalisation (stemming), thesaurus et pondération.
Opérations sur les termes et indexation La radicalisation permet de réduire le mot à sa racine. C’est la racine qui va être utilisée comme terme d’indexation. Exemple : Supposons que les mots "retrieval", "retrieved" "retrieving" et "retrieve" appartiennent tous à un document. Il sont réduits à leur racine “retriev“ et qui va être le terme d’indexation.
Opérations sur les termes et indexation Une autre manière pour réduire la taille de l’index est d’utiliser un thesaurus. Il contient tous les synonymes des mots. Exemple : Supposons qu’un document contient les mots « «study», «Learning» «schoolwork» et « reading». Ces mots ont un sens similaire. Le processus d’indexation ne prendra à la place de ces mots qu’un seul, par exemple, le mot « study»
Opérations sur les termes et indexation Les termes dans un document ont différentes fréquences d’occurrence. L’importance d’un mot pour un document est mesurée par sa fréquence d’occurrence. La fréquence d’occurrence d’un terme après les opérations de radicalisation et de thesaurus est la somme des fréquences de toutes ses variantes. Exemple : La fréquence du mot « retriev » est égale à la somme des fréquences des mots «retrieve », «retrieval », «retrieving» et «retrieved » L’attribution de poids aux termes est appelée pondération.
Opérations sur les termes et indexation Avec la pondération des termes, le résultat d’une requête est trié par ordre décroissant des scores de pertinence (similarités). Un exemple d’un fichier inverse avec pondération des termes est comme suit : T1: D1, 0.3; D3, 0.5; D6, 0.8; D7, 0.2; D11, 1 T2: D2, 0.7; D3, 0.6; D7, 0.5; D9, 0.5 T3: D1, 0.8; D2, 0.4; D9, 0.7 La 1ère ligne signifie que le poids du terme T1 est 0.3 pour le document D1, 0.5 pour D3, 0.8 pour D6, 0.2 pour D7 et 1 pour D11.
Opérations sur les termes et indexation Pour requête (T2⋀T3), on a D2 = 0.4, D9 = 0.5 et le résultat est D9 et D2. Pour requête (T2⋁T3), on a D1 =0.8, D2 = 0.7, D3 = 0.6, D7 = 0.5, D9 = 0.7 et le résultat est D1, D2, D9, D3, et D7
Opérations sur les termes et indexation Comment calculer la pondération des termes? - La pondération permet de distinguer les documents qui sont pertinent pour l’utilisateur Plus souvent le terme apparait, grande est son importance et grand doit être son poids. Un terme qui apparait dans presque toute la collection des documents (corpus) n’est pas un bon terme d’indexation, car il ne permet pas de distinguer le document pertinent des autres. Un bon terme d’indexation est celui qui apparait dans peu de documents.
Opérations sur les termes et indexation Une des formules utilisées pour calculer le poids des termes est : Wij = tfij * log (N / dfj ) Où Wij est le poids du terme j dans le document i, tfij est la fréquence du terme j dans le document i, dfj est le nombre de documents qui contiennent le terme j, N est le nombre de document de la collection. Nota : si un terme apparait dans tous les document de la collection dfj = N, donc le poids de ce terme est zéro.
Résumé de l’indexation automatique des documents 1. Identifier les mots dans le titre, le résumé, et/ou d'un document, 2. Éliminer les mots vides, 3. Identifier les synonymes en consultant un dictionnaire thésaurus. Tous les termes ayant une signification semblable sont remplacés par un mot commun, 4. Obtenir la racine des mots, 5. Compter la fréquence des racines dans chaque document, 6. Calculer le poids des termes (racines), 7. Créer le fichier inverse en se basant sur les termes et les poids ci-dessus.
Le modèle vectoriel de base On démarre du principe qu’il y a un nombre donné de termes d’indexation pour représenter les documents et les requêtes. Un document Di et une requête Qj sont représentés comme suit : Où Tik est le poids du terme k dans le document i Qik est le poids du terme k dans la requête j Tik et Qik peuvent être binaire 0 ou 1
Le modèle vectoriel de base Le modèle vectoriel est basé sur la similarité entre la requête et les documents. La similarité entre un document Di et une requête Qj est calculée comme suit : Pour compenser les différences entre les tailles des requêtes et les tailles des documents, la similarité peut être normalisée comme suit :
Le modèle vectoriel de base Exemple : D1 = [0.2, 0.1, 0.4, 0.5] D2 = [0.5, 0.6, 0.3, 0] D3 = [0.4, 0.5, 0.8, 0.3] D4 = [0.1, 0, 0.7, 0.8] Q = [0.5, 0.5, 0, 0] Les similarités entre la requête et chacun des documents est : S(D1, Q) = 0.31 S(D2, Q) = 0.93 S(D3, Q) = 0.66 S(D4, Q) = 0.07 Le système affichera les documents dans cet ordre : D2, D3, D1 et D4.
Evaluation de performance L’évaluation de performance des SRI se fait selon trois paramètres : la vitesse de recherche, le rappel et la précision. La vitesse de recherche mesure l’efficience (efficiency) des SRIs. Le rappel et la précision mesure l’efficacité (effectiveness) des SRIs.
Evaluation de performance
Evaluation de performance Les critères essentiels sont : – Le rappel : capacité du système à fournir en réponse tous les documents pertinents – La précision : capacité du système à ne fournir que des documents pertinents en réponse.
Evaluation de performance
Evaluation de performance
Evaluation de performance Exemple : Supposons qu’une base documentaire de 1000 documents parmi lesquels 10 sont pertinents pour une requête donnée. A cette requête, le système retourne la liste des documents suivants : R, R, I, I, R, R, I, I, R, I, R, R, I, I, R R indique que le document est pertinent à la requete selon le jugement utilisateur. I est jugé non pertinent par l’utilisateur. Les paires rappels-precisions sont données dans le tableau suivant :
Evaluation de performance
Evaluation de performance Graphe rappel-précision Un système ayant un graphe éloigné de l’origine est plus performant. Donc, le système ayant le graphe B est plus performant que le système ayant le graphe A
Protocol://Server-name[:port]/Document-name Moteur de recherche La localisation des documents est spécifiée par un URL dont le format général est comme suit : Protocol://Server-name[:port]/Document-name 1ère partie spécifie le protocole internet pour accéder au document. (ftp,http, telnet) -2ème partie spécifie le nom du serveur de document. Exemple(www.univ-bouira.dz). -3ème partie contient le nom du fichier du document
Différences entre SRI et moteur de recherche Les documents du web sont distribués et ceux des SRIs sont centralisés Les nombres des documents du web sont beaucoup plus grand Les documents du web sont plus dynamiques et hétérogènes Les documents du web sont sollicités par plus d’utilisateurs que les SRIs Les documents du web sont structurés par le HTML
Architecture de Google
Architecture de Google Google possède deux interfaces l’un pour les robots (crawlers) afin d’explorer les pages web et l’autre pour les requêtes utilisateurs. Le travail de Google se composent de phases : - Explorer(télécharger) et indexer les pages web. - Rechercher les pages web.
Architecture de Google Phase d’exploration et d’indexation : - Le serveur URL envoie une liste d’URLs pour être explorées par les robots. Pour améliorer la vitesse d’exploration plusieurs robots fonctionnent en parallèle. - Les pages web explorées sont passées au serveur de compression. Une fois compressées, les pages web sont stockées dans des entrepôts de données. - L’indexeur lit les pages web compactées, les décompacte et les analyse. En se basant sur les fréquences et les positions des mots, les propriétés des mots (taille de fonte, la casse du mot), l’indexeur génère l’index (forward index file) trié par docID (numéro assigné à chaque page). - L’indexeur analyse les liens dans les pages et alimente la base des ancres (utilisé pour le calcul des PageRank) avec des paires docID : origine et cible, texte des ancres(textes des liens).
Architecture de Google Phase de recherche : - L’utilisateur entre sa requête au moyen d’un navigateur. La requête contient un certain nombre de mots-clés. - La requête est transmise au serveur Google qui son tour l’envoie au moteur de recherche. - Le moteur de recherche extrait les informations pertinentes à partir de l’index, le fichier inverse, le fichier des document d’information et le fichier des Pageranks. Il les trie selon leur similarité à la requête. La liste triée est envoyée à l’utilisateur.
Pagerank et texte de l’ancre(texte du lien) Google améliore son efficacité en utilisant des informations présentes dans les pages web. Deux principales caractéristiques sont utilisées : PageRank et le texte de l’ancre. PageRank est basée sur le principe intuitif suivant : Une page est importante si plusieurs autres pages ont des liens vers elle ou un site important fait des liens vers elle. PageRank est appelé «Indice de popularité» ou «confiance collaborative»
PageRank et texte de l’ancre PageRank d’une page est définie comme suit : Où d : est un facteur d’amortissement T1,.., Tn : sont des pages web ayant des liens entrants vers A C(Tn) : est le nombre de liens sortants de Tn