Création automatique d’une grammaire syntaxico-sémantique (Syntactic-semantic grammar automatic creation) (2017)

Abstract: Nous proposons une nouvelle méthode pour la création automatique de grammaires lexicalisées syntaxico-sémantiques. A l’heure actuelle, la création de grammaire résulte soit d’un travail manuel soit d’un traitement automatisé de corpus arboré. Notre proposition est d’extraire à partir de données VerbNet une grammaire noyau (formes canoniques des verbes et des groupes nominaux) de l’anglais intégrant une sémantique VerbNet. Notre objectif est de profiter des larges ressources existantes pour produire un système de génération de texte symbolique de qualité en domaine restreint.

## introduction une grammaire syntaxico-sémantique décrit la relation entre langue naturelle, syntaxe et sémantique. couplée avec un algorithme de réalisation de surface, elle peut notamment être utilisée pour générer des phrases @xcite @xcite . pour une représentation sémantique donnée, l'algorithme de réalisation de surface produira la ou les phrases associée(s) par la grammaire à cette représentation. les méthodes existantes pour la création de telles grammaires sont souvent manuelles @xcite ou spécifiques à un domaine donné @xcite . dans cet article, nous proposons une méthode qui permet de créer automatiquement une grammaire noyau de l'anglais avec une sémantique générique intégrant les rôles thématiques de verbnet @xcite . la grammaire est une grammaire d'arbres adjoints lexicalisée à traits (fb-ltag, @xcite ) et est créée à partir des exemples contenus dans verbnet et de leur annotation syntaxico-sémantique. afin de faciliter la maintenance et l'extension de cette grammaire (e.g., extension à des formes non canoniques comme les propositions relatives), l'extraction automatique produit une méta-grammaire @xcite plutôt qu'une grammaire. les fragments d'arbres et de sémantiques produits par l'extraction sont ensuite assemblés par un compilateur de métagrammaires existant (xmg, @xcite , section 4) pour créer les arbres de la grammaire fb-ltag. une méthode pour créer non pas manuellement mais automatiquement une grammaire généraliste est un objectif nouveau. la création manuelle implique un travail fastidieux et une faible adaptabilité, cette dernière étant le talon d'achille des grammaires spécifiques à un domaine. la grammaire générée à partir de treebanks est d'un autre ressort. elle offre une description d'un corpus. la technique que nous proposons permet l'extraction d'une grammaire adaptable, ciblant la possibilité de générer des phrases simples, à partir des données (exemples et annotations syntaxico-sémantique) de verbnet (section 6). nous montrons que cette grammaire permet de (re)-générer les exemples contenus dans verbnet avec un score bleu variant de 0.93 à 0.99 suivant la longueur des phrases (section 7). ## travaux connexes pour ce qui touche à la génération de grammaire noyau, la recherche oscille entre savoirs experts et restriction de l'espace syntaxico-sémantique. la création de grammaire exploitable en traitement automatique des langues est loin d'être un objectif neuf. pour l'heure, il existe différentes méthodes : manuelle, en s'appuyant sur le travail de linguistes, automatique, en restreignant la tâche par le domaine (usage de données métier/d'un corpus annoté). le coût des savoirs experts reste notable, même dans un cadre où l'assistance par ordinateur est maximisée @xcite : tout doit être pré-pensé, structuré "manuellement". il en découle que la révision de la grammaire est difficile. se centrer sur un domaine particulier permet d'adapter aux données un algorithme d'étiquetage sémantique @xcite ou de développer des statistiques d'usage cadrées par l'expressivité et le vocabulaire propres au domaine @xcite . ciblant deux buts relativement proches, une autre méthode doit être mentionnée, une méthode stochastique. celle-ci ne cible pas la création de grammaire noyau. il s'agit de l'exploitation de treebanks : de corpus arborés @xcite ; @xcite ). cela permet la création d'une grammaire relativement couvrante, du moins vis-à-vis du corpus de référence. par contre, nous dit @xcite , la consistance n'est pas garantie et la flexibilité reste pauvre. pour un verbe utilisé d'une manière donnée, on en trouve douze répondant aux mêmes règles [douze est le nombre de verbes moyen par classe obtenu par @xcite ] : un corpus ne permet pas d'apprendre cela. l'analyse syntaxique en tag 1 se réalise en temps polynomial et permet notamment de décrire des contraintes entre constituants éloignés dans la phrase. l'expressivité est grande (classe de langage légèrement sensible au contexte). enfin, il existe des outils pour la génération, comme geni @xcite . fb-ltag 2 est une variante de tag où chaque arbre tag est associé avec un mot et décoré avec des structures de traits. @xcite montrent comment cette variante permet d'approcher la sémantique de manière compositionnelle en conjuguant sémantique et grammaire. c'est le formalisme que nous avons choisi. les arbres de la grammaire sont exploitables par le biais d'une sémantique. la phrase (1a) a pour sémantique plate la sémantique (1b). xmg permet de spécifier et de combiner des classes qui intuitivement, décrivent des fragments d'arbres, des fragments de représentations sémantiques et le partage de variables entre arbres et représentations sémantiques. les fragments sont représentés sous forme de formules de logique de description d'arbres @xcite . les classes peuvent être combinées par héritage, conjonction et disjonction. un système de couleur est également utilisable qui permet de contraindre l'unification de variables de noeuds d'arbre : un noeud rouge ne peut pas être identifié avec un autre noeud, un noeud noir peut être identifié avec un ou plusieurs noeuds blancs, et un noeud blanc doit être identifié avec un noeud noir. la figure 2 illustre ces mécanismes avec de haut en bas, des fragments d'arbres, des fragments de représentations sémantiques et les équations permettant d'identifier des variables apparaissant dans les arbres d'une part et dans la sémantique d'autre part. s n↓ [@xmath0 la description xmg d'une grammaire est souvent appelée une métagrammaire. l'utilisation de xmg visait deux buts : réduire le coût de mise en oeuvre de notre méthode, par le biais de production intermédiaires intelligibles, et offrir un résultat aisé à maintenir : les fichiers xmg non compilés sont faciles à modifier. xmg nous permet de gérer les informations sémantiques : la classe unaryrel correspond à la sémantique plate d'une relation unaire et permet le rapprochement des éléments lexicaux avec le contenu admis par des noeuds. sa définition permet à un générateur le couplage de la sémantique avec les arbres compilés. xmg nous a permis de décrire dynamiquement des relations unaires ou binaires, qu'un rôle attendant selon verbnet un objet de type 'adj' pouvait accueillir aussi bien un participe passé (vbd) qu'un adjectif (jj), mais aussi qu'un adjectif pouvait modifier un nom pour devenir un groupe nominal, ce qui, après compilation, donne lieu à la création d'un arbre auxiliaire. nous avons utilisés les données verbnet pour construire des classes xmg. les notions de modifiers (un adjectif vient modifier le sens d'un nom) ont pu être gérées semi-automatiquement grâce à l'expressivité d'xmg, en partant du découpage des groupes syntaxiques puisés dans les phrases-exemple verbnet et isolés informatiquement. la factorisation complètement automatisée serait, à ce niveau, trop complexe (erreurs d'étiquetage des composants de groupes syntaxiques). faute de place, nous nous étendrons peu sur ce sujet ici, mais nous tenons à dire que la possibilité de décrire des alternatives entre fragments se prêtent fort bien à l'automatisation. la possibilité de nommer, d'architecturer les classes facilitent retours et adaptations. le système de classes de verbnet est la structure accueillant les descriptions syntaxicosémantique des verbes traités. toute classe peut avoir 0 à n sous-classes. une sous-classe est une classe qui hérite d'une autre classe. une classe ou sous-classe comprend un certain nombre de descriptions syntaxico-sémantiques. nous allons voir comment ces descriptions sont structurées à l'aide d'identifiants syntaxiques et sémantiques, chaque identifiant étant doté de restrictions si nécessaire. chaque identifiant syntaxique (np ou v, par exemple) est associé à un identifiant sémantique (tel np est l'agent dans la phrase, tel autre le thème). chaque identifiant, selon sa catégorie, peut être associé à des restrictions syntaxiques (ex : pluriel obligatoire) ou sémantiques (l'agent est animate ou organization). il y a 274 classes-racine dans verbnet 3.2. un verbe peut appartenir et en règle générale, appartient à plusieurs classes. la figure 3 illustre les relations d'héritage de l'une des classes, entity_specific_modes_being-47.2. un verbe (tel rage) défini dans la classe entity_specific_modes_being-47.2 a pour structures valides celles apportées par sa classe propre (structure_a, structure_b, . . .). d'autres verbes (ex : burn) appartiennent à cette classe. les structures décrites pour la classe sont aussi valides pour eux. ces verbes peuvent être définis dans des sous-classes. cela se produit quand un ou plusieurs verbes peuvent utiliser les règles de constructions de la classe-mère mais que d'autres structures spécifiquement exploitables par eux ont été référencées. un verbe (tel report) est défini dans la sous-classe characterize-29.2-1-2 (en bas à droite figure 4 ). il a pour structures valides celles apportées par sa classe propre, mais il a aussi pour structure valides celles déclarées dans les classes dont il hérite : characterize-29.2-1 et characterize-29.2. en bas à gauche figure 4 , characterize-29.2-1-1, qui existe en parallèle et ne le concerne pas, est également héritière de characterize-29.2-1 et characterize-29.2. l'extraction fb-ltag, expliquée dans la partie suivante, est facilitée par cette organisation des données. ## extraction depuis verbnet cette partie est consacrée à l'extraction automatique de la grammaire et du lexique verbal. ## résultats verbnet nous fournit 1415 exemples pour couvrir ses verbes. certains exemples (91 sur 1415, soit 6%) servent à plusieurs structures. 'the matter seems in dispute.' sert à couvrir une structure de la classe seem-109.xml et une autre de la classe become-109.1.xml. dans la première il illustre une structure thème/verbe/attribut sentencieux 5 , dans la seconde, une 4. entity specific modes being : cette classe regroupe des verbes permettant de spécifier une façon spécifique d'être pour des entités (ex : burn, fizz, flower). . . 5. extrait de verbnet, seem-109.xml : example "the matter seems in dispute." → syntax theme v {in} @xmath1. les exemples réutilisés peuvent l'être jusqu'à cinq fois. de la même manière, inversement, des structures peuvent se voir illustrées par plusieurs exemples. patient/verbe/with/co-patient est dans ce cas, elle a quatre exemples issus de quatre classes pour la démontrer : sur notre corpus constitués des 1415 phrases-exemple de verbnet, nous générons 1711 phrase à partir des représentations sémantiques plates dérivées des données verbnet, de la grammaire extraite et du générateur geni. nous obtenons un score bleu-4 6 (utilisé dans 90% des cas, composés en moyenne de 6.3 mots) de 0.93, un bleu-3 de 0.96 pour les 7% de trigrammes, et un bleu-2 de 0.99 pour les 3% de bigrammes). si le traitement des phrases simples (ne contenant pas de subordonnées) est opérationnel, le traitement des subordonnées n'est pas pleinement fait. les données de verbnet ont permis d'y trouver des incohérences (par exemple, pour une structure déclarée np v np @xmath2, l'exemple verbnet fournissait un np après le mot up syntaxiquement imposé comme clôturant la phrase). des corrections mineures ont donc été requises. les caractéristiques des subordonnées sont fournies par verbnet, elles ont donc été implémentées en tant que contraintes sur le groupe nominal décrit. non seulement le fragment phrasique de la subordonnée n'a pas été créé pour que des éléments puissent s'y ancrer, mais, de fait, les incohérences n'ont pas été relevées. concrètement, un arbre final existe attendant un fragment avec des caractéristiques propres 6. bleu : bilingual evaluation understudy : mesure de la proximité entre deux entrées, typiquement entre une sortie machine et une phrase en langue naturelle, bleu-4 s'appuie sur des quadrigrammes (comparant les mots par succession de quatre), et n'est donc pas exploitable pour des phrases de trois mots où bleu-3 peut être utilisé. . . à la subordonnée attendue (ex : qu'elle doit être introduite par that et être à tel temps par rapport à la principale) ; on vérifie qu'elle peut se réaliser (si toute fois les fragments permettaient d'ancrer la partie adjointe) : par le biais du lexique, on fournit un groupe ayant les bonnes caractéristiques. rien encore n'est prêt pour que ce groupe puisse être réalisé par le biais de la sémantique. il y a quelques erreurs dans verbnet. quand un élément est fourni dans une structure comme élément lexical coancré et à la fois est indiqué par des informations syntaxiques que nous traitons comme des traits, cela nous donne une surgénération aberrante du type 'he asked what whether to go' ou encore 'he asked her to to do'. la surgénération non souhaitable représente approximativement 7% des hypothèses produites, ce qui nous laisse un corpus correct de quasiment 1600 phrases pour nos 1415 références, et explique la hauteur du score bleu. un faible pourcentage des surgénérations est lié au non usage de traits dans le cadre sémantique. nous créons ad hoc le lexique, et 'he converted' se voit généré aussi bien que 'he was converting' pour une même sémantique alors que 'he was converting' ne fait pas partie du corpus de référence. les temps auraient du être fournis dans des traits au niveau sémantique, trouver leurs formes dans un lexique morphologique, et non figurer comme variation lexicale d'un même lemme verbal dans le lexique dédié. un certain nombre de phrases ne figurant pas dans le référentiel ont été générées tout en étant correctes pour la sémantique donnée. par exemple, 'ellen told helen the situation', 'ellen told the situation to helen' ont été offertes en variation de 'ellen told helen about the situation'. nous aurions du couvrir 100% du corpus. il y a trois phrases que nous ne parvenons pas à regénérer telles qu'elles auraient du être (la diversité sémantique permet de générer une phrase autre, mais pas celle de départ). comme elles sont peu nombreuses, nous pouvons nous y attarder. pour ce qui est des fragments générés, les côtés gauches sont au nombre de 8, les côtés droits 123. il faut ajouter aux côtés gauches le sujet anonyme, exploité par sept des 172 arbres initiaux au-delà de l'arbre initial réflexif évoqué les fragments générés (voir