690 likes | 902 Vues
Recherche - Évaluation. Extraction d’Information dans les textes I. Rappels des épisodes précédents. Les acteurs de la Recherche d'Information. Collection : un ensemble de documents. Les systèmes de RI doivent pouvoir traiter : De grandes masses d'information
E N D
Recherche-Évaluation Extraction d’Information dans les textes I
Les acteurs de la Recherche d'Information Collection : un ensemble de documents • Les systèmes de RI doivent pouvoir traiter : • De grandes masses d'information • En langage naturel (et créée pour des humains) • De façon rapide et pertinente Utilisateur : un besoin d'information et/ou une tâche à accomplir
Recherche d'Information Indexation(modèle de document) Collections dynamiques vs. statiques Modèle derecherche Évaluation Requête
Construction de l’index : vue générale INDEX DOCUMENTS TERMES sert ne Rien de faut courir il point partir à TERMESnormalisés TEXTE Rien ne sert de courir; il faut partir à point : Le lièvre et la tortue en sont un témoignage. «Gageons, dit celle-ci, que vous n'atteindrez point Sitôt que moi ce but. - Sitôt? Êtes-vous sage ? Repartit l'animal léger : Ma commère, il vous faut purger Avec quatre grains d'ellébore.) - Sage ou non, je parie encore." Ainsi fut fait; et de tous deux On mit près du but les enjeux : Savoir quoi, ce n'est pas l'affaire, Ni de quel juge l'on convint. Notre lièvre n'avait que quatre pas à faire, J'entends de ceux qu'il fait lorsque, prêt d'être atteint, Il s'éloigne des chiens, les renvoie aux calendes, Et leur fait arpenter les landes. Ayant, dis-je, du temps de reste pour brouter, Pour dormir et pour écouter D'où vient le vent, il laisse la tortue Aller son train de sénateur. Elle part, elle s'évertue, Elle se hâte avec lenteur. Lui cependant méprise une telle victoire, Tient la gageure à peu de gloire, Croit qu'il y a de son honneur De partir tard. Il broute, il se repose, Il s'amuse à toute autre chose Qu'à la gageure. A la fin, quand il vit Que l'autre touchait presque au bout de la carrière, Il partit comme un trait; mais les élans qu'il fit Furent vains : la tortue arriva la première. "Eh bien! lui cria-t-elle, avais-je pas raison ? De quoi vous sert votre vitesse ? Moi l'emporter! et que serait-ce Si vous portiez une maison ?" sert rien faut courir point partir
Sac de mots Modèles « sac de mots » pour l’indexation et la recherche : • On oublie l’ordre des mots • On raisonne en termes de présence / absence des termes dans un document, ou en terme de fréquence de ces termes
tf.idf • Intuition #1 : plus un document contient d'occurrences d'un terme, plus il est "à propos" de ce terme • Intuition #2 : des termes très fréquents dans tous les documents ne sont pas si importants (ils sont moins discriminants) • Le poids d’un terme (tf.idf) est la combinaison de ces deux intuitions pour rendre compte du caractère discriminant d’un terme dans un document (ou sa variante)
Proposition temporaire de similarité • Proposition pour le score de similarité d’un document D en fonction d’une requête Q • On ne la conservera pas!
Du modèle booléen aux modèles à listes de résultats ordonnés
Modèles de recherche : les trois courants • Modèles fondés sur la théorie des ensembles ► Modèle booléen • Modèles algébriques ► Modèle vectoriel • Modèles probabilistes ► Modélisation de la notion de "pertinence" • Courants fondés à l'aube de la discipline (années 60, 70) • Passage à l'échelle : des bases documentaires "jouets" au téraoctet de TREC et au Web
Modèle booléen • Le premier et le plus simple des modèles • Basé sur la théorie des ensembles et l'algèbre de Boole • Les termes de la requête sont soit présents soit absents • Poids binaire des termes, 0 ou 1 • Un document est soit pertinent soit non pertinent • Pertinence binaire, et jamais partielle (modèle exact) • La requête s'exprime avec des opérateurs logiques • AND, OR, NOT • (cyclisme OR natation) AND NOT dopage • le document est pertinent si et seulement si son contenu respecte la formule logique demandée
Modèle booléen : exemple RequêteQ : (cyclisme OR natation) AND NOT dopage
Modèle booléen : avantages et inconvénients • Avantages : • Le modèle est transparent et simple à comprendre pour l'utilisateur : • Pas de paramètres "cachés" • Raison de sélection d'un document claire : il répond à une formule logique • Adapté pour les spécialistes (vocabulaire contraint) • Inconvénients : • Il est difficile d'exprimer des requêtes longues sous forme booléenne • Le critère binaire peu efficace • Il est admis que la pondération des termes améliore les résultats • cf. modèle booléen étendu • Il est impossible d'ordonner les résultats • Tous les documents retournés sont sur le même plan • L'utilisateur préfère un classement lorsque la liste est grande
Extensions possibles • Opérateurs d'adjacence ou de proximité: • « base NEAR données » • Nécessite la conservation des positions des mots dans les documents • Pondérationdes mots-clés • « JO AND Pékin AND (natation:3 OR cyclisme:4 OR athlétisme:2) » • Permet un classement des résultats, mais selon des préférences exprimées par l'utilisateur • Voir aussi plus loin le modèle booléen étendu
Vers des listes ordonnées de résultats • La plupart des utilisateurs : • ont du mal à écrire des requêtes booléennes • ne veulent pas parcourir trop de résultats (des milliers, voire des millions) • On préfère donc des listes ordonnées • Du plus utile à l’utilisateur (pertinent) au moins utile • Le nombre de résultats n’est plus un problème • L’utilisateur en parcourt autant qu’il le souhaite • La condition : avoir un algorithme d’ordonnancement efficace • Modèle statistique : • Aspect quantitatif des termes et des documents • Degré de similarité entre une requête et un document
Modèle vectoriel • Mesure de similarité : Plus deux représentations contiennent les mêmes éléments, plus la probabilité qu’elles représentent la même information est élevée. • Documents et requête sont représentés par un vecteur • Les coordonnées du vecteur sont exprimées dans un espace euclidien à n dimensions (n : nombre de termes) • La longueur du vecteur (i.e. de sa projection sur chacun des axes/termes) est proportionnelle au poids des termes. • La pertinence du document correspond au degréde similarité entre le vecteur de la requête et celui du document On ordonne les documents du plus similaire à la requête au moins similaire
Modèle vectoriel t3 Requête Q : t1 t2 t3 D 0.80 Q Document D : … t1 … t3 … Poids wD,t1 = 0.45 t1 0.45 Poids wD,t3 = 0.80 t2
Quelle mesure de similarité ? Distance euclidienne ? Produit scalaire ? t2 t2 D1 D1 Q Q D2 D2 D3 D3 D4 D4 t1 t1 … Pourquoi ? Une mauvaise idée…
Quelle mesure de similarité ? • La solution : travailler avec l’angle entre les vecteurs t2 D1 Cosinus Q D2 D3 D4 • (Le produit scalaire avecnormalisation de la longueur des vecteurs) t1 Quelle est la contribution d’un terme isolé ?
Quelle mesure de similarité ? • Autres mesures : • Dice • Jaccard • Overlap
Modèle vectoriel – résumé • On représente la requête comme un vecteur (quelle pondération ?) • On représente chaque document comme un vecteur pondéré • On calcule la similarité (cosinus par exemple) entre chaque vecteur document et le vecteur requête • On ordonne les résultats dans l’ordre inverse des scores obtenus • On fournit les k premiers résultats à l’utilisateur À retenir pour le projet !
Modèle vectoriel : avantages et inconvénients • Avantages : • Le langage de requête est plus simple (liste de mot-clés) • Les performances sont meilleures grâce à la pondération des termes • Le renvoi de documents à pertinence partielle est possible • La fonction d'appariement permet de trier les documents • Inconvénients : • Le modèle considère que tous les termes sont indépendants (inconvénient théorique) • Le langage de requête est moins expressif • L'utilisateur voit moins pourquoi un document lui est renvoyé Le modèle vectoriel est le plus populaire en RI
Modèle probabiliste (1/4) • Estimation de la probabilité de pertinence d'un document par rapport à une requête • ProbabilityRankingPrinciple (Robertson 77) • R : Dest pertinent pour Q • ¬R : Dn'est pas pertinent pour Q • Le but : estimer • P(R/D) : probabilité que le documentDsoit contienne de l'information pertinente pour Q • P(¬R/D) variables indépendantes, deux ensembles de documents séparés
Modèle probabiliste • Rappel du théorème de Bayes : • On ne sait pas calculer P(R/D), mais on peut calculer P(D/R) Probabilité d'obtenir D en connaissant les pertinents Probabilité d'obtenir un document pertinent en piochant au hasard Probabilité de piocher D au hasard
Modèle probabiliste • En utilisant l'hypothèse d'indépendance des termes : • Pour estimer les probabilités sur les termes, on peut utiliser des requêtes déjà résolues (apprentissage) puis des pondérations • Exemple (système Okapi) : • le tf.idf • la longueur du document • la longueur moyenne des documents
Modèle probabiliste : conclusion • Deux modèles phares : • 2-poisson • Okapi • Autres modèles de type probabiliste : • Réseaux bayésiens • Modèle de langage • Conclusion : • Problème des probabilités initiales • Termes indépendants • Résultats comparables à ceux du modèle vectoriel
Modèle booléen étendu • Idée : permettre l'utilisation des opérateurs logiques tout en proposant une pertinence graduée • Combinaison des modèles booléen et vectoriel • Utilisation de la pondération des termes dans un document (tf.idf) • Comme dans le modèle vectoriel, positionnement des documents dans un espace euclidien dont les axes sont les termes de la requête • Calcul de la distance entre les coordonnées du document et : • les coordonnées idéales (requête ET) • les coordonnées nulles (requête OU)
Modèle booléen étendu : exemple (1/2) Requête Q : t1 AND/OR t2 t2 (1,1) 1 Document D1 : ... t1 ... t2 ... poids wD1,t1 = 0.75 0,65 y1 D1 D2 y2 0,5 poids wD1,t2 = 0.65 Document D2 : ... t1 ... t2 ... t1 (0,0) 0,75 0,25 1 poids wD2,t1 = 0.25 x2 x1 poids wD2,t2 = 0.50
Modèle booléen étendu : exemple (2/2) t1 OR t2 t1 AND t2 t2 t2 (1,1) (1,1) 1 1 0,65 0,65 y1 y1 D2 D2 D1 D1 y2 y2 0,5 0,5 x2 x1 x2 x1 t1 t1 (0,0) (0,0) 0,75 0,75 0,25 1 0,25 1
Modèle booléen étendu : formule finale avec : • c les coordonnées des mots • mle nombre de termes de la requête • 1 ≤ p ≤ ∞ p = 1 modèle booléen classique • p = 2 exemple précédent
Autres modèles algébriques • Modèle vectoriel généralisé • Représente les dépendances entre termes • Théoriquement intéressant, mais efficacité non démontrée • Latent SemanticIndexing • Propose d'étudier les "concepts" plutôt que les termes, car ce sont eux qui relaient les idées d'un texte. • Lie les documents entre eux et avec la requête • Permet de renvoyer des documents ne contenant aucun mot de la requête • Moins de dimensions • Réseaux de neurones • ...
Pour aller plus loin... (Dominik Kuropka 04)
Quelques outils lucy/zettair cheshire dataparksearchengine lemur lucene(et solr) terrier wumpus xapian http://www.seg.rmit.edu.au/zettair/ http://cheshire.lib.berkeley.edu/ http://www.dataparksearch.org/ http://www.lemurproject.org/ http://jakarta.apache.org/lucene/docs/ http://ir.dcs.gla.ac.uk/terrier/ http://www.wumpus-search.org/ http://www.xapian.org/ liste et liens sur http://www.emse.fr/~mbeig/IR/tools.html
Relevance feedback (1/2) • "Réinjection de la pertinence" • Hypothèse : la requête initiale de l'utilisateur n'est pas la requête idéale pour obtenir les documents qu'il cherche • But : déplacer le vecteur de la requête pour la rapprocher des documents pertinents documents non pertinents documents pertinents Q Q'
Relevance feedback (2/2) • "Manuel explicite" : • L'utilisateur visualise les n premiers résultats • Il estime la pertinence de chacun (0 ou 1) • Nouvelle requête obtenue à partir des documents jugés pertinents et non pertinents • Automatique(blind relevance feedback) : • Les n premiers résultats du premier run sont supposés pertinents • Même processus que pour le relevance feedback manuel (sans les documents non pertinents)
Relevance feedback : formule de Rocchio moyenne des vecteurs des documents non pertinents valeur négative (ex : -0,25) moyenne des vecteurs des documents pertinents valeur positive (ex : 0.5) vecteur requête initial valeur positive supérieure aux autres (ex : 1) nouveau vecteur requête
Recherche multimédia • Texte et/ou image et/ou audio et/ou vidéo... • Des collections très volumineuses : • ex : collection Wikipédia pour INEX • 4.6 Go en texte seul, 60 Go avec les images • Documents structurés (MPEG-7...) • Utilisation : • des métadonnées • du texte "environnant" les images (légende, point de référence...) • des caractéristiques propres des documents autres que le texte : • Analyse d'image • Speech-to-text • ...
Quels résultats présenter ? • Il est inutile et coûteux de présenter trop de résultats • Où s'arrêter ? • Un seuil : • Fixe • Difficile à trouver • Risque de ne rien présenter • Fonction du meilleur score • Quelle signification ? • Comportement variable • Augmentation brutale de la pente • La méthode du « coude » cosinus rang
Expansion de la requête • Ajouter des mots pertinents à la requête initiale et les pondérer efficacement • Méthodes pour palier les problèmes liés au langage naturel • « bateau » ne ramène pas le mot « navire » • « thermodynamique » ne ramène pas « chaleur » • « félin » ne ramène pas « chat » • … • Le relevance feedbacksert aussi à ça (en partie) Pourquoi ?
Expansion de la requête • Les thesaurus « manuels » • Les thesaurus automatiques (voir page suivante) • L’analyse des logs de requêtes
Génération automatique de thesaurus • Fondée sur la similarité entre deux mots • Co-occurrence de deux mots : deux mots qui apparaissent fréquemment ensemble possèdent une relation sémantique entre eux • Ex: « location » et « appartement » • Conduit à des relations sémantiques non spécifiées • Co-occurrence des contextes : deux mots sont similaires s’ils co-occurrent avec des mots similaires • Ex: « bateau » et « navire », « chat » et « félin », mais aussi « chat » et « chien », « PS » et « UMP », etc. • Conduit plutôt à des relations lexicales de synonymie ou hyperonymie, mais peut également être plus large • Possibilité d’utiliser les relations syntaxiques également
Génération automatique de thesaurus • chat animal de compagnie, siamois, client IRC, persan, chien, … • télévision TV, séries, programme, radio, images, … • Expansion de requêtes à base de thesaurus : • Ajouter les mots jugés similaires à la requête • Éventuellement, donner des pondérations en fonction du niveau de similarité • Quand s’arrête-t-on d’étendre la requête ? Quels sont les effets de ces expansions de requêtes sur la précision et le rappel ?
Recherche d'Information Indexation(modèle de document) Collections dynamiques vs. statiques Modèle derecherche Évaluation Requête