650 likes | 781 Views
Extraction et recherche d'information en langage naturel dans les documents semi-structurés. Soutenance de thèse Xavier Tannier Ecole Nationale Supérieure des Mines de Saint-Etienne. 27 septembre 2006. Plan. Les documents XML et la recherche d'information.
E N D
Extraction et recherche d'informationen langage natureldans les documents semi-structurés Soutenance de thèse Xavier Tannier Ecole Nationale Supérieure des Mines de Saint-Etienne 27 septembre 2006
Plan • Les documents XML et la recherche d'information • Les documents semi-structurés (XML) • Les spécificités de la RI semi-structurée • Les interfaces de requêtes en langage naturel • Interface de requêtes en langage naturel • Analyse syntaxique • Règles sémantiques • Construction de la requête • Recherche contextuelle • Problématique • Recherche contextuelle avec XOR • Expérimentations • Méthodologie • Résultats avec NEXI et XOR • Conclusion
XML orienté document <article titre=“Un exemple d'article” auteur=“Dupont et Dupond”> <section> <par> Le travail d'Untel<ref>Untel03</ref>, illustré par la figure <fig>fig1</fig>, ainsi que mes propres <gras>expérimentations</gras> conduites en 2002, semblent montrer… </par> </section> <bibliographie> <bib id=“Untel03” auteur=“Untel” titre=“Voici mon travail”/> </bibliographie> … </article> balise d'emphase Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Les documents semi-structurés (XML) Les spécificités de la RI structurée Les interfaces de requêtes
XML orienté document article titre auteur section bibliographie par bib Un exemple d'article Dupont et Dupond … … … … Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Les documents semi-structurés (XML) Les spécificités de la RI structurée Les interfaces de requêtes
(par opposition aux documents orientés documents) XML orienté données <agenda> <personne nom=“Nougaro” prénom=“Claude”> <numéro type=“mobile”>06 79 30 94 29</numéro> <numéro type=“fixe” >05 62 39 92 04</numéro> <adresse> <n>19</n> <rue>quai Saint-Pierre</rue> <code_postal>31000 </code_postal> <ville>Toulouse</ville> </adresse> </personne> … Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Les documents semi-structurés (XML) Les spécificités de la RI structurée Les interfaces de requêtes
Recherche d'information (1.) Analyse des documents fonction desimilarité résultats <article titre=“Un exemple d'article” auteur=“Dupont et Dupond”> <section> <par>Le travail d'Untel<ref>Untel03</ref>, illustré par la figure <fig>fig1</fig>, ainsi que mes <b>expérimentations</b> conduites en 2002, semble montrer…</par> </section> <bibliographie> <bib id=“Untel03” auteur=“Untel” titre=“Voici mon travail”/> </bibliographie> … </article> Analyse du besoin (2.) Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Les documents semi-structurés (XML) Les spécificités de la RI structurée Les interfaces de requêtes
RI "plate" RI semi-structurée 1. d6 1. d6 /sec[3]/p[2] 2. d3 2. d3 /sec[2]/p[4]/fig[1] 3. d5 3. d3 /bib/item[4] 4. d9 4. d9 /resume[1] 5. d2 5. d2 /sec[5]/table[2] 6. d4 6. d4 /sec[3] Les spécificités de la RI semi-structurée • L'unité d'information pertinente • document entier vs. élément XML (doxel) • exhaustivité et spécificité RI "plate" RI semi-structurée • Recherche sur contenu et structure Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Les documents semi-structurés (XML) Les spécificités de la RI structurée Les interfaces de requêtes
Structure et Contenu Une figure montrant un sondage dans un article sur l'élection de 2007. <article titre= “Ségo et Sarko sont dans un bateau”> <paragraphe> En 2007, les Français éliront un nouveau président … … </paragraphe> <paragraphe> … <figuren=“7” caption="Dernier sondage"> Sarkozy : 30 % Royal : 30 % de Villepin : 0.2 % Hollande : 0.12 % </figure> </paragraphe> … </article> <figuren=“7” caption="Dernier sondage"> Sarkozy : 30 % Royal : 30 % de Villepin : 0.2 % Hollande : 0.12 % </figure> Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Les documents semi-structurés (XML) Les spécificités de la RI structurée Les interfaces de requêtes
<article titre= “Les villes de France”> <paragraphe> … </paragraphe> <paragraphe> … Saint-Etienne … mines … histoire … culture … </paragraphe> … </article> <article titre= “Guide des vacances au calme”> <paragraphe> … </paragraphe> <figure légende="listes des activités possibles à Saint-Etienne"> Balades Musées Cinéma C'est tout </figure> </article> Structure et Contenu Que faire à Saint-Etienne ? <article titre= “Saint-Etienne”> <paragraphe> … musée d'Art Moderne … </paragraphe> <paragraphe> … biennale du Design … </paragraphe> … </article> Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Les documents semi-structurés (XML) Les spécificités de la RI structurée Les interfaces de requêtes
Les spécificités de la RI semi-structurée • L'unité d'information pertinente • document entier vs. élément XML (doxel) • exhaustivité et spécificité RI "plate" RI semi-structurée • Recherche sur contenu et structure • besoin de langages de requêtes structurés • NEXI //article[about(.//abs, "spécialités Sud-Ouest")]//par[about(., magret)] • Interprétation de la requête • stricte pour les bases de données (documents orientés données) • vague pour la recherche d'information Support Cible //article[about(.//res, "spécialités Sud-Ouest")]//par[about(., magret)] Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Les documents semi-structurés (XML) Les spécificités de la RI structurée Les interfaces de requêtes
Motivation pour les interfaces en LN trop compliqué pour les utilisateurs occasionnels besoin de connaître la structure (DTD) du document confort pas de réponse "idéale" interpréter la requête fait partie intégrante du processus on peut espérer construire des requêtes meilleures performances Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Les documents semi-structurés (XML) Les spécificités de la RI structurée Les interfaces de requêtes
Les enjeux • Les buts • Confort • Performance comparable • Les besoins • Structure et contenu • Robustesse (toujours retourner un résultat) • Généricité (dépendance vis-à-vis de la collection) • Simplicité • Les libertés • Compréhension la requête (≠ bases de données) • Indépendance des requêtes • Courtoisie de l'utilisateur pas de calculs (fréquences, maximum, moyennes), de jointure, de restructuration des résultats Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Les documents semi-structurés (XML) Les spécificités de la RI structurée Les interfaces de requêtes
L'approche de Woodley et Geva [2004] • Patrons sémantiques (template matching) • Avantages : • Efficacité (en temps de calcul) • Pas d'ambiguïté <INSTRUCTION> + <ELEMENT> "//<ELEMENT>" Find figures …//fig • Limites : • Seulement les constructions prévues à l'avance • Peu robuste • Difficile à adapter • Pas de constructions "implicites" <ELEMENT> + <RELATION> + <TEXTE> "//<ELEMENT>[about(., <TEXTE>)]" sections containing something //sec[about(., something)] un article qui cite un autre article bibliographie Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Les documents semi-structurés (XML) Les spécificités de la RI structurée Les interfaces de requêtes
Plan (rappel) • Les documents XML et la recherche d'information • Interface de requêtes en langage naturel • Analyse syntaxique • Règles sémantiques • Construction de la requête • Recherche contextuelle • Expérimentations
Architecture générale requête en langage naturel Indépendante de la collection analyse syntaxique Dépendantes de la collection règles sémantiques première représentation (syntaxique) construction de la requête deuxième représentation (sémantique) requête en NEXI
Analyse syntaxique NP → DET? NN NP → PP S NP → NP VP(ger) We are searching paragraphs dealing with version managementin articles about object databases. VP → V IN? NP VP S → NP VP … → … NP VP NP NP NP V NN PP NN V(ger) IN are searching dealing with management We paragraphs Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Analyse syntaxique Règles sémantiques Construction de la requête
elements a b c d e1 e2 valeurs a : (paragraph, sym:paragraphs, cat:nn, tag:p)b : (version management, cat:np)c : (article, sym:articles, cat:nn, tag:article)d : (object databases, cat:np)e1 : (search, sym:are searching, cat:v)e2 : (deal, sym:dealing, cat:v) objet(e1, a)sujet(e2, a)with(e2, b)in(a, c)about(c, d) relations cat:np cat:np cibles Analyse syntaxique : représentation We are searching paragraphs dealing with version managementin articles about object databases. Valeurs : lemme termes initiaux balise catégorie NP (JJ | NN)+ NN NP PN (IN? PN)+ Relations : sujet, objet… in, with, of, on, … Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Analyse syntaxique Règles sémantiques Construction de la requête
We are searching paragraphs dealing with version managementin articles about object databases. a, b, e2 b, e2 a : (paragraph, cat:nn, tag:p) b : (management, cat:nn) e2 : (deal, cat:v) b : (management, cat:nn) e2 : (deal, cat:v) elements a b c d e1 e2 with(e2, b) valeurs a : (paragraph, tag:p)b : (version management)c : (article, tag:article)d : (object databases)e1 : (search)e2 : (deal) with(e2, b) sujet(e2, a) a a : (paragraph, cat:nn, tag:p) NP b e2 objet(e1, a)sujet(e2, a)with(e2, b)in(a, c)about(c, d) relations e2 : (deal, cat:v) b : (management, cat:nn) with(?, ?) cibles Analyse syntaxique VP V(ger) IN NN NN dealing with management paragraphs dealing with management Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Analyse syntaxique Règles sémantiques Construction de la requête
valeurs a b c d e1 e2 a b c d ae1 : (search) a relations a : (paragraph, tag:p)b : (version management)c : (article, tag:article)d : (object databases)e1 : (search)e2 : (deal) a : (paragraph, tag:p)b : (version management)c : (article, tag:article)d : (object databases) cibles objet(e1, a) a a : (tag:_) be2 : (deal) a b valeurs objet(e1, a)sujet(e2, a)with(e2, b)in(a, c)about(c, d) about(a, b) in(a, c)about(c, d) about(a, b) sujet(e2, a) with(e2, b) relations cibles a Règles sémantiques We are searching paragraphs dealing with version managementin articles about object databases. to search + <objet> to deal + <with> Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Analyse syntaxique Règles sémantiques Construction de la requête
an article by … an article that cite … an article citing a : (tag:_) b a b c (tag:au) valeurs a : (tag:_) be : (cite) a b c (tag:bib) valeurs about(c, b) sujet(e, a) objet(e, b) about(c, b) by(a, b) relations relations cibles cibles a:(introduction) a b (tag:sec) c (tag:st) includes(b, c)about(c, a) Règles sémantiques • Règles "fixes" • Détection de la cible :find <objet>, look <for>, … • Relations verbales :speak <about>, concern <objet>, precede <objet>, … • Relations prépositionnelles : <with>, <in>, <about> • Règles dépendant de la structure - <sujet> cite <objet> - <tag> <by> - introduction Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Analyse syntaxique Règles sémantiques Construction de la requête
Désambiguïsation syntaxique • Les règles permettent la désambiguïsation syntaxique • par le nombre de règles Trouvez un article sur Napoléon qui cite Max Gallo <article> citer <objet> • par leurs modalités d'application Je cherche des sections sur les impressionnistesdans des articles sur la peinture Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Analyse syntaxique Règles sémantiques Construction de la requête
un article cite un élément bibliographique par un article un auteur de est cité par un élément bibliographique un article écrit est cité dans un auteur un article publie Modèle de la collection (sujet) citer (objet) article bib (dans) citer (objet) (par) (de) au article écrire publier Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Analyse syntaxique Règles sémantiques Construction de la requête
abs atl intituler (de) résumer st ack remercier (par) (de) (sujet) citer (objet) au article bib intituler écrire publier (dans) citer (objet) être (dans) publier (objet) publier . (objet) publier (dans) sec vita (de) yr ti Modèle de la collection (objet) publier (dans) Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Analyse syntaxique Règles sémantiques Construction de la requête
a b c d e1 e2 a b c d a : (paragraph, tag:p)b : (version management)c : (article, tag:article)d : (object databases)e1 : (search)e2 : (deal) a : (paragraph, tag:p)b : (version management)c : (article, tag:article)d : (object databases) about(a, b) in(a, c)about(c, d) objet(e1, a)sujet(e2, a)with(e2, b)in(a, c)about(c, d) a Obtention de la requête finale (NEXI) We are searching paragraphs dealing with version managementin articles about object databases. //p[about(., "version management")] //article[about(., "object databases")] //article[about(., "object databases")]//p[about(., "version management")] Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Analyse syntaxique Règles sémantiques Construction de la requête
Plan (rappel) • Les documents XML et la recherche d'information • Interface de requêtes en langage naturel • Recherche contextuelle • Problématique • Recherche contextuelle avec XOR • Expérimentations
article abs intro sec automobiles planes ships ss1 p navigation systems Problématique NP NP (PREP NP)+ Source majeure d'erreurs pour les moteurs de recherche : ex. :Navigation systems for automobiles(Top. 128, INEX 2004) Beaucoup d'éléments bien classés concernaient navigation systems for planes or ships… Pourquoi ? automobile est le contexte, et le terme n'apparaît pas dans les éléments les plus profonds. Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Problématique Recherche contextuelle avec XOR
<article> <abstract> … navigation systems … </abstract> <paragraph> … automobiles… </paragraph> … </article> <article title="… automobiles …"> <paragraph> … … … … </paragraph> <paragraph> … navigation systems… </paragraph> … </article> <article> <paragraph> … </paragraph> <paragraph> … … … navigation systems … … automobiles … … … </paragraph> </article> Problématique a paragraph about navigation systems for automobiles //p[about(. , navigation systems for automobiles)] Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Problématique Recherche contextuelle avec XOR
<article> <abstract> … navigation systems … </abstract> <paragraph> … automobiles… </paragraph> … </article> La rétro-propagation [Sigurbjörnsson et al] //p[about(. , navigation systems for automobiles)] Pondération d'un élément avec le score du document Sd se Se = f (Sd , se ) Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Problématique Recherche contextuelle avec XOR
Recherche contextuelle avec XOR a paragraph about navigation systems for automobiles GN1 PREP GN2 //article[about(. , automobile)]//p[about(. ,“navigation systems”) OR //article[about(. , “navigation systems”)]//p[about(. , automobile) OR //article//p[about(. , automobile) AND about(. ,“navigation systems”)] • impossible avec NEXI XOR (XML Oriented Language), proposé avec Shlomo Geva et Marcus Hassler • hypothèse : gain de rappel et pas de perte de précision Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Problématique Recherche contextuelle avec XOR
Recherche contextuelle et négation Exception pour la négation … PAS d'article sur le football à Saint-Etienne GN1 PREP GN2 //article[… AND NOT about(. , footballSaint-Etienne)] Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Problématique Recherche contextuelle avec XOR
Plan (rappel) • Les documents XML et la recherche d'information • Interface de requêtes en langage naturel • Recherche contextuelle • Expérimentations • Méthodologie • Résultats avec NEXI et XOR • Conclusion
Méthodologie • INEX (depuis 2002) : ensemble de requêtes avec une description en Anglais et une expression NEXI manuelle, avec des jugements de pertinence • Les requêtes automatiques et manuelles sont exécutées avec le même moteur de recherche E (GPX). • Comparaison entre l'interface et les requêtes manuelles. E Description (langage naturel) NEXI / XOR "run" "baseline" NEXI (manuel) Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Méthodologie Résultats Conclusion
Méthodologie : métriques • Métriques d'INEX [Kazai et Lalmas 04] • mesures spécifiques à la recherche XML • gain cumulé normalisé étendu (nxCG[n]) rappel • effort-précision / gain-rappel précision • Jugements de pertinence des éléments fournis par INEX Description (langage naturel) E NEXI / XOR "run" "baseline" NEXI (manuel) Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Méthodologie Résultats Conclusion
Différentes tâches (2005) • Content and Structure : requêtes avec des indications de structure • VVCAS • VSCAS • SVCAS • SSCAS • Content Only : requêtes sans indications de structure • Focussed : chevauchement interdit • Thorough : chevauchement autorisé • Fetch and Browse : article puis liste d'éléments dans cet article Différence de traitement (vague ou strict) des contraintes structurelles du support ou de la cible //article[about(.//abs, "spécialités Sud-Ouest")]//par[about(., magret)] Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Méthodologie Résultats Conclusion
Résultats (VVCAS) "Baseline" NEXI simple XOR avec recherche contextuelle Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Méthodologie Résultats Conclusion
Résultats (autres CAS) "Baseline" NEXI simple XOR avec recherche contextuelle Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Méthodologie Résultats Conclusion
Résultats (CO.Thorough) "Baseline" NEXI simple XOR avec recherche contextuelle Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Méthodologie Résultats Conclusion
Résultats (autres CO) "Baseline" NEXI simple XOR avec recherche contextuelle Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Méthodologie Résultats Conclusion
Influence du regroupement en NP "Baseline" NEXI simple NEXI sans les NP Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Méthodologie Résultats Conclusion
Résultats : conclusion • Evaluation très positive : • - le langage naturel est une alternative viable • - la structure des requêtes est une aide à l'analyse • Bons résultats pour les requêtes CAS, moins bons pour les CO. • - traduction mentale des humains pas toujours appropriée • utilisation organisée des groupes nominaux plus efficace • trop de bruit pour les questions longues • Recherche contextuelle • améliore les bons résultats • utile avec une analyse bien maîtrisée Les documents XML et la recherche d'informationInterface de requêtes en langage naturelRecherche contextuelleExpérimentations Méthodologie Résultats Conclusion
Conclusion générale • Confrontation des techniques de TAL et de la problématique des documents semi-structurés : • Analyse textuelle des contenus XML • Analyse de requêtes en langage naturel • Utilisation de la structure pour la recherche contextuelle • Résultats expérimentaux à chaque étape • Validité des approches confirmée
Améliorations • Intégration des techniques "classiques" de TAL • Amélioration du comportement du système face aux questions "difficiles" • Simplification de la gestion des règles sémantiques
Perspectives • Application d'autres techniques de traitement de la langue • Collections hétérogènes • Dialogue • Question-réponse • Synthèse automatique • Gestion des connaissances (Semantic Web…)
"hard" tags : interrompent la linéarité du texte. ex: titres, chapitres, paragraphes <tag>texte A</tag><tag>texte B</tag> • "soft" tags : identifient des parties significatives de texte, mais restent "transparents" à la lecture. ex: gras, italiques, souligné texte A <gras>texte B</gras>texte C • "jump" tags : elements particuliers, comme les notes de marges, les citations, les définitions… texte A<note>texte B</note>texte C Classification des balises [Lizi et al., 2001] proximité physique≠ proximité logique Classification des balises et contextes de lectureAnalyse des requêtes en langage naturelRecherche contextuelleExpérimentations Balises dures, transparentes, de saut Contextes de lecture Classification automatique XGTagger
Balises dures Recherche du motif "Elections aux Etats-Unis" <news> <item>Dernier sondage, à quatre jours des élections</item> <item>Aux Etats-Unis, une fausse alerte provoque la panique dans un avion</item> </news> Classification des balises et contextes de lectureAnalyse des requêtes en langage naturelRecherche contextuelleExpérimentations Balises dures, transparentes, de saut Contextes de lecture Classification automatique XGTagger
Balises transparentes <par> Les élections aux <gras>Etats-Unis</gras>sont prévues pour l'année 2008. </par> <titre> Les commentaires de Noam Chomsky au sujet des <gras>élections</gras> aux <italiques>Etats-Unis</italiques>. </titre> Classification des balises et contextes de lectureAnalyse des requêtes en langage naturelRecherche contextuelleExpérimentations Balises dures, transparentes, de saut Contextes de lecture Classification automatique XGTagger
Balises de saut <transcription_orale> Les nouvelles ne parlent plus que des élections aux Etats-<commentaire>une porte claque</commentaire>Unis. </transcription_orale> <paragraphe> En 2004, les élections<note>Voir p.163 un article général sur les modes électoraux dans le monde.</note>aux Etats-Unis furent moins controversées qu'en 2000. </paragraphe> <résumé> Cet article traite du prochain voyage du président roumain <nbp>Traian Basescu, qui a remporté de justesse les dernières élections</nbp>aux Etats-Unis. </résumé> Classification des balises et contextes de lectureAnalyse des requêtes en langage naturelRecherche contextuelleExpérimentations Balises dures, transparentes, de saut Contextes de lecture Classification automatique XGTagger
Le contexte de lecture • Une portion de texte syntaxiquement et sémantiquement auto-suffisante dans le document XML. • Connaître la nature des balises permet de retrouver les contextes de lecture. • C'est la condition pour permettre l'utilisation des méthodes d'analyse textuelle sur le contenu XML(étiquetage POS, analyse syntaxique/sémantique, indexation, etc.) En 2004, les élections<note>Voir p.163 un article général sur les modes électoraux dans le monde.</note>aux Etats-Unis furent moins controversées Classification des balises et contextes de lectureAnalyse des requêtes en langage naturelRecherche contextuelleExpérimentations Balises dures, transparentes, de saut Contextes de lecture Classification automatique XGTagger
Le contexte de lecture • Détermination automatique des classes • L'idée est de prendre le problème "à l'envers" : • - Supposons qu'une balise donnée est transparente (resp. de saut ou dure) • - Les contextes de lecture sont-ils préservés ? oui non La balise est transparente (resp. de saut ou dure) La balise n'est pas transparente (resp. de saut ou dure) Classification des balises et contextes de lectureAnalyse des requêtes en langage naturelRecherche contextuelleExpérimentations Balises dures, transparentes, de saut Contextes de lecture Classification automatique XGTagger