Grammaires locales étendues approches pour l’extraction del’information
Désambiguïsation des catégories grammaticales
Rappelons qu’une grammaire est ambiguë (cf. définition 2.13) s’il existe plus d’un arbre de dérivation (cf. définition 2.12) pour une phrase du langage. Dans le même sens, l’automate qui modélise une grammaire locale est ambigu lorsque deux chemins réussis ont la même étiquette d’entrée. Grammaires locales étendues approches pour l’extraction del’information 7.1 Désambiguïsation des catégories grammaticales 7 132 (a) Reconnaisance d’un nom (b) Reconnaissance d’un adjectif Graphe 7.1 – Grammaire locale ambiguë pour le cas d’analyse nom h N i ou adjectif h A i Dans certains cas, pour lever l’ambiguïté de l’automate, il est possible d’effecteur à l’avance sa déterminisation 1 afin d’obtenir un automate qui par définition n’est pas ambigu. Cependant, dans la pratique, comme dans les cas du graphe 7.1, pouvant avoir des ambiguïtés issues des catégories grammaticales 2 , réaliser une telle opération n’est pas possible. En effet, à l’inverse des langages artificiels, les langages naturels sont très expressifs et bien connus pour avoir beaucoup d’ambiguïtés et il n’est pas alors toujours possible de les supprimer. Comme alternative, plusieurs approches peuvent être prises en compte. Nous considérons brièvement celles fondées sur la construction d’un automate du texte pour lever l’ambiguïté grammaticale, pour ensuite nous consacrer à certaines techniques qui peuvent être mise en place pour traiter l’ambiguïté (deux chemins réussis qui ont la même étiquette d’entrée) dans la conception d’une grammaire locale. Finalement, nous proposons une approche fondée sur la construction d’une grammaire locale étendue pour réduire l’ambiguïté des catégories grammaticales.
Construction d’un automate du texte
le:DET le:PRO domestique:A domestique:N domestique:V à:PREP servir:V seul:A seul:DET Un:A Un:DET Un:N suffisait:V 0 1 2 3 4 5 6 7 Figure 7.1 – Ambiguïté dans l’analyse de la phrase Un seul domestique suffisait à le servir Prenons comme exemple la figure 7.1, elle modélise toutes les interprétations grammaticales de la phrase « Un seul domestique suffisait à le servir » au moyen d’un automate, aussi appelé automate du texte. Les codes grammaticaux possibles d’une unité lexicale, par exemple Un ⇐ {A, DET, N }, étiquettent chacun une transition partant de la même origine : 0 Un:A −−−→ 1 , 0 Un:DET −−−−−→ 1 , 0 Un:N −−−→ 1 pour indiquer que le mot « Un » peut être un adjectif (A), un déterminant (DET) ou un nom (N). La question est alors comment, à partir de l’automate du texte, lever l’ambiguïté, plusieurs approches peuvent être utilisées : 1. Pour une discussion sur la déterminisation des grammaires locales, voir Sastre (2011, pp. 199–204). 2. Prenons comme exemple le mot domestique, avec les entrée lexicales domestique , . A +z1 :ms:fs ; domestique , . N +z1 :ms:fs et domestique ,domestiquer . V +P1s:P3s:S1s:S3s:Y2s :ms:fs, le graphe 7.1 reconnaît domestique à la fois comme un nom (N) et comme un adjectif (A) 7 Grammaires locales étendues : approches pour l’extraction de l’information 133 • Modifier manuellement l’automate du texte à l’aide d’un éditeur graphique comme celui fourni par NooJ (Silberztein, 2003, p. 156) ou par Unitex (Paumier, 2016, p. 191), • Appliquer des méthodes fondées sur la construction de règles symboliques comme celles des grammaires de contraintes (Karlsson et al., 1995) ou de grammaires de levée d’ambiguïté (elag, Laporte et Monceaux, 1999). • Utiliser une stratégie fondée sur l’apprentissage statistique afin de linéariser l’automate et d’obtenir un seul chemin, c’est-à-dire, une seule interprétation du texte, comme celles qui s’appuient sur des modèles de Markov cachés (hmm, Kupiec, 1992), des champs aléatoires conditionnels (crf, Lafferty et al., 2001), des machines à vecteurs de support (svm, Giménez et Marquez, 2004) ou des réseaux de neurones (Andor et al., 2016), • Faire appel à des méthodes capables de combiner les approches de désambiguïsation symboliques et statistiques dans un même processus, tel qu’est le cas dans l’étiqueteur hybride pour le français HybridTagger (Sigogne, 2010). Définition 7.1 (Entrée ambiguë). Une séquence en entrée d’une grammaire locale est ambiguë si elle est étiquetée par deux chemins réussis, en d’autres termes, lorsque la séquence est reconnue par plus d’un chemin. Définition 7.2 (Sortie ambiguë). Étant donné une entrée ambiguë, l’ensemble des sorties produit par une grammaire locale ambiguë, est dénommée sortie ambiguë de la grammaire. Considérons l’exemple 7.3 ci-après. Exemple 7.3. Analysons les séquences (42) et (43) suivantes : (42) The role of Virginia Woolf was played by Nicole Kidman (43) The state of Virginia is divided into 95 counties en tenant compte des entrées lexicales : Virginia,.N+Hum+Given:fs Virginia,.N+Toponym+Region ainsi que de la grammaire locale définie par le graphe 7.2 : Graphe 7.2 – Grammaire locale ambiguë 7.2 Analyse sémantique prédicat–argument 7 134 L’analyse de (42) produira deux sorties (séquences en noire) différentes : (44) The role of hgiveniVirginiah/giveni Woolf was played by Nicole Kidman (45) The role of htoponymiVirginiah/toponymi Woolf was played by Nicole Kidman il en est de même pour l’analyse de (43) : (46) The state of hgiveniVirginiah/giveni is divided into 95 counties (47) The state of htoponymiVirginiah/toponymi is divided into 95 counties Étant donné que la grammaire locale de l’exemple 7.3 produit deux analyses pour (42) et (43), elle est ambiguë. En outre, (44) et (45) ainsi que (46) et (47) sont des sorties ambiguës de la grammaire. Remarquons qu’une sortie ambiguë d’une grammaire locale est produite lorsqu’une séquence en entrée est acceptée par plus d’un chemin de la grammaire. Observons également que pour qu’une grammaire locale soit ambiguë, il suffit qu’elle produise au moins une sortie ambiguë. Dans l’exemple 7.3, la sortie constitue par (44) et (45) suffit à rendre la grammaire ambiguë. 7.2 Analyse sémantique prédicat–argument Considérons le graphe d’exemple 7.3 tiré de Silberztein (2003, p. 197), ce graphe est utilisé pour reconnaître des séquences hN0i hVi hN1i et produire en sortie une analyse sémantique exprimée dans un formalisme du type prédicat–argument telle que celui utilisé par Prolog (Clocksin et Mellish, 2003), un langage de programmation logique. PRED=$V_#($N0#,$N1#) N0 N0 V V N1 N1 Graphe 7.3 – Analyse prédicat–argument passif Étudions la phrase : (48) John sees Mary Cette phrase décrit une action « see » impliquant deux personnes : John et Mary. Tandis que l’action est définie autour d’un noyau verbal hVi, appelé prédicat, les deux noms, hN0i et hN1i, définissent les participants de l’action et sont dénommés ces arguments. La représentation de cette relation prédicat–argument en Prolog est donnée par l’expression see(John,Mary). Le graphe 7.3 est capable de produire des expressions de type prédicat–argument. En particulier, il est en mesure de reconnaître une phrase en entrée, telle que (48), et de produire une analyse sémantique en sortie, telle que (49) : 7 Grammaires locales étendues : approches pour l’extraction de l’information 135 (49) PRED=see(John,Mary) Notons que, quant à la capacité transformationnelle, l’analyse produite est puissante, en particulier, l’expression de sortie peut être adaptée facilement pour exprimer d’autres formalismes (Silberztein). Cependant, cette analyse est retreinte à produire une sortie passive, autrement dit, la grammaire locale est nullement capable de comprendre les expressions du formalisme qui est en train de produire, ainsi (49) n’a aucun effet ni sur (48) ni sur les autres phrases qui pourrait être reconnues. Ceci restreint énormément la capacité d’analyse sémantique. En effet, pour cet exemple, la seule stratégie pour créer une base de connaissances à partir des prédicats générés afin de faire des requêtes déductibles des faits est d’attendre la fin de l’analyse effectuée par la grammaire et ensuite d’utiliser les sorties résultantes comme entrée d’un interpréteur logique comme Prolog. Naturellement, la question qu’on se pose est de savoir si en utilisant le formalisme des grammaires locales étendues il est possible de 1. Produire en sortie des expressions du type prédicat–argument, 2. Utiliser ces expressions pour ajouter, à la volé, des faits dans une base de connaissances et 3. Faire des requêtes à la base au cours des analyses. Nous appelons cette démarche une analyse sémantique active, ceci en opposition à l’analyse sémantique des grammaires locales classiques, comme celle du graphe 7.3, limitée à produire en sortie des expressions logiques. L’analyse sémantique effectuée par une grammaire étendue permet d’utiliser deux niveaux de connaissances : d’abord un niveau endogène basée sur la reconnaissance des entrées et la construction de faits qui découle, ensuite un niveau exogène où le point de départ est une base de connaissances avec des faits préétablies, c’est-à-dire, avec des prédicats qui ne viennent pas de l’entrée mais de l’extérieur.