Traduction des Grammaires Catégorielles de Lambek dans les Grammaires Catégorielles Abstraites

01/23/2020 ∙ by Valentin D. Richard, et al. ∙ ENS Paris-Saclay 0

Lambek Grammars (LG) are a computational modelling of natural language, based on non-commutative compositional types. It has been widely studied, especially for languages where the syntax plays a major role (like English). The goal of this internship report is to demonstrate that every Lambek Grammar can be, not entirely but efficiently, expressed in Abstract Categorial Grammars (ACG). The latter is a novel modelling based on higher-order signature homomorphisms (using λ-calculus), aiming at uniting the currently used models. The main idea is to transform the type rewriting system of LGs into that of Context-Free Grammars (CFG) by erasing introduction and elimination rules and generating enough axioms so that the cut rule suffices. This iterative approach preserves the derivations and enables us to stop the possible infinite generative process at any step. Although the underlying algorithm was not fully implemented, this proof provides another argument in favour of the relevance of ACGs in Natural Language Processing.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

Fiche de synthèse

Le contexte général

J’ai effectué mon stage de L3 dans le domaine de la linguistique informatique, un champ multidisciplinaire de la recherche qui vise à étudier les langues naturelles avec les formalismes informatiques. Plus précisément, le traitement automatique des langues (TAL) cherche à créer des outils de traitement de la langue naturelle écrite ou orale pour diverses applications (recherche d’information, traduction automatique,…). J’étais plus axé sur une approche théorique, ayant pour objectif de produire des modèles appuyés sur la logique (grammaire, syntaxe, sémantique,…). Le but est de trouver un formalisme complet et intéressant en pratique qui permette de rendre compte de la structure (et éventuellement sémantique) d’une phrase.

Les grammaires (catégorielles) de Lambek [Lam58], utilisées depuis longtemps, misent sur la syntaxe en modélisant les mots par des fonctions et arguments (ou plutôt leur type respectif). Ce symbolisme intéressant a donné lieu a de nombreuses variations qui s’ajustent mieux aux particularités de la langue naturelle. Cependant, peu de programmes ont été développés pour les simples grammaires de Lambek.

Les grammaires catégorielles abstraites (ACG) sont un formalisme créé par mon maître de stage Philippe de Groote [dG01]. Elles ont l’avantage de modéliser la structure sous-jacente d’une phrase (les connections entre les mots) avec le même outil logique que le rendu final (la suite de mots). Dans l’optique de montrer que ce modèle est pertinent, les recherches notamment de l’équipe SEMAGRAMME s’orientent vers le développement d’outils pour les ACG (ACGtk) et la mise en relation de ce formalisme avec ceux déjà existants.

La question est donc de savoir s’il est possible d’exprimer, et comment, une grammaire de Lambek en ACG. Cela argumenterait en la faveur de ce dernier modèle pour son utilisation concrète dans des outils de TAL. Grâce aux travaux de Pentus [Pen97], des avancées ont déjà été faites par de Groote [dG16].

Le problème étudié

Insatisfait de sa première traduction, de Groote a eu l’idée d’une autre méthode, qu’il juge plus adéquate et dont il aimerait montrer la validité. L’objet de mon stage est donc de démontrer que cet autre procédé est correct. L’intérêt de ceci est de fournir une transformation plus cohérente linguistiquement, et un peu moins complexe algorithmiquement, donc plus pratique pour une potentielle réutilisation concrète dans un outil logiciel.

Le problème était le plus enclin être posé par l’équipe SEMAGRAMME (et particulièrement de Groote) puisque les ACG sont encore assez récentes, et peu de personnes s’y intéressent en tant qu’objet d’étude à part entière.

La contribution proposée

Mon apport est celui d’une démonstration de la correction de la seconde méthode de de Groote. Elle consiste principalement à réécrire une dérivation dans Lambek en dérivation équivalente ne contenant que des coupures. Pour arriver à cela, j’ai préalablement analysé les formes de dérivation initiales, dans le but de mettre à jour quels outils seraient nécessaires à la démonstration. Avec cela, j’ai pu déclarer clairement les définitions utiles (systèmes intermédiaires, relations, opérateurs,…), pour enfin réussir à établir la preuve.

Les arguments en faveur de sa validité

Ma démonstration montre la validité de la seconde méthode de de Groote. J’ai aussi écrit une ébauche d’algorithme implémentant cette solution, qui fonctionne sur des petits ensembles de français ou d’anglais. Son application à la main semble plus facile que la première méthode, ce qui joue en faveur de sa pertinence pragmatique. Par ailleurs, le résultat d’une transformation y est plus intéressant que par Pentus, puisque la grammaire produite est moins ambiguë (notamment plus petite) et plus logique linguistiquement. Ceci se vérifie aisément sur des petits exemples.

Cependant, la traduction n’est intéressante (voire possible) que pour la variante des grammaires de Lambek à laquelle je me suis restreint. De plus, l’application de l’algorithme requiert un certain type de grammaire de Lambek. Bien que presque tous les exemples linguistiques répondent à ce critère, cela n’est pas le cas d’un exemple quelconque. La solution n’est donc pas utilisable en pratique sur des entrées trop exotiques.

Le bilan et les perspectives

Ma contribution est la mise à disposition d’une méthode générique de traduction de la dérivation dans une grammaire de Lambek en celle dans une ACG dans les cas linguistiques. Une perspective serait d’étudier le cas des grammaires ne répondant pas au critère cité précédemment, et de fournir un procédé complémentaire. Une autre serait d’implémenter cet algorithme dans l’outil de l’équipe ACGtk.

I Contexte scientifique

i.1 Le Loria

Le Loria (Laboratoire Lorrain de recherche en informatique et ses applications) est une unité mixte de recherche (UMR) regroupant des chercheurs en informatique affiliés à l’Inria, le CNRS ou l’Université de Lorraine. Comprenant 27 équipes de recherche (190 (enseignant-)chercheurs permanents et 100 doctorants, le tout de 50 nationalités différentes), ce laboratoire est très grand, prospère et dynamique, comme le montrent les 600 publications internationales depuis sa création, 9 lauréats ERC (European Research Council : bourses d’excellence scientifique) et les 14 start-ups présentes.

Les locaux sont situés à Vandœuvre-lès-Nancy, proches de la ligne de tramway, et sont divisés en 3 grands bâtiments connexes. On y trouve une cafétéria et un restaurant interne offrant une réduction intéressante pour les stagiaires d’équipes affiliées Inria. Le centre est de plus pourvu de toutes sortes de salles pour se détendre, par exemple la médiathèque.

i.2 L’équipe SEMAGRAMME

L’équipe SEMAGRAMME fait partie du département 4, dont l’axe de recherche est la linguistique informatique et le traitement automatique des langues (TAL). Sa spécificité est le développement de modèles, méthodes et outils basés sur la logique, pour l’analyse sémantique d’énoncés et de discours en langue naturelle. Concrètement, elle propose des programmes d’analyse grammaticale (ACGtk) ou sémantique, des modèles théoriques sémantiques du discours et de la conversation et même un jeu en ligne d’annotation de phrases (Zombilingo). Ainsi les recherches visent autant à soutenir le travail des linguistes dans une approche théorique (modèles) que pratique (méthodes et outils).

Je travaillais dans le bureau des doctorants de l’équipe avec 2 autres stagiaires et 3 doctorants, juste à côté de ceux des permanents. L’ambiance était très agréable et je suis satisfait de ne pas avoir été mis dans une salle pour stagiaires. En effet, j’ai pu discuter avec les gens de mon équipe sur la linguistique et leur travaux respectifs. On s’entraidait même pour trouver des (contre-)exemples ou relire les productions des autres. Cela m’a vraiment donné un bon aperçu des conditions de travail d’une thèse, et plus généralement de la recherche. J’ai aussi beaucoup apprécié la grande autonomie qui m’a été accordée, de telle sorte que j’ai pu bien appréhender la mise en place et le développement des idées.

i.3 La recherche sur les grammaires catégorielles

Mon maître de stage Philippe de Groote est spécialisé dans les modèles logiques de modélisation de la langue. Il a notamment développé une sémantique dynamique en -calcul par passage de continuation, qui permet de formaliser les interactions entre les propositions d’un discours. Il étudie aussi les grammaires catégorielles, c’est-à-dire les systèmes créés pour le langage naturel, reposant sur le principe que les objets (souvent les mots) interagissent par composition, via des liaison fonction-argument. Elles sont à comparer notamment aux grammaires de dépendance. L’objectif d’une grammaire est en fait de résumer sous un petit nombre de règle l’ensemble de phrases qu’une langue accepte.

C’est aussi Philippe qui a créé les grammaires catégorielles abstraites (ACG), un modèle qui a pour objectif de généraliser les précédents modèles linguistiques. Afin de montrer cela, il propose à certains stagiaires et doctorants de l’aider à traduire les formalismes déjà existants dans les ACG, et ainsi argumenter pour la pertinence des ACG en linguistique informatique. C’est dans cette optique que se place mon travail, face aux grammaires de Lambek.

Les grammaires de Lambek ont été inventées en 1958 par Lambek pour tenter d’extraire la sémantique d’une phrase à partir de sa seule syntaxe. Elles font aujourd’hui référence en terme de grammaire catégorielle, et connaissent donc beaucoup de variantes (calcul syntactique à produit, grammaire non associative, avec types modaux,…). Cependant, leur expressivité est très restreinte et ne reste pertinente que pour certaines langues.

Ii Sujet de recherche

ii.1 Grammaire de Lambek associative

Une grammaire (catégorielle) de Lambek associative [Lam58] est une grammaire catégorielle qui associe à chaque mot un (ou plusieurs) types, et accepte une phrase si et seulement si le mot des types se réécrit en un type distingué . Elle mise donc tout sur la syntaxe. Plus formellement, étant donné un ensemble fini de symboles appelés types atomiques, on défini un ensemble de types dit orientés par induction :

Une grammaire de Lambek (LG) est alors un quadruplet

  • est l’ensemble des types atomiques (aussi appelés types de base)

  • est l’ensemble des symboles terminaux, appelés symboles lexicaux ou lexèmes

  • qui à chaque symbole lexical associe des types orientés

  • est un type distingué

On note l’ensemble des types d’un grammaire , qui sera fixée pour le reste du rapport. Un exemple se trouve en table [1].

La grammaire est munie d’un système de dérivation appelé calcul syntactique de Lambek. C’est par ce processus de dérivation qu’on détermine si une suite de mots est accepté ou non.

Un système de dérivation est un ensemble de règles formées d’une ou plusieurs prémisses (en haut de la barre) et d’une conclusion (en bas) sous une forme particulière (souvent une relation appelée séquent (noté lu "thèse") ou réécriture ). Une règle peut avoir une ou plusieurs conditions d’application, appelées conditions de bord. Si la règle n’a pas de prémisse, on l’appelle axiome. Effectuer une preuve (ou dérivation) dans un système de dérivation, c’est construire un arbre dont les nœuds sont des instances des règles (c’est-à-dire qui ont la forme d’une règle) et les feuilles des axiomes. La racine (traditionnellement en bas) est le séquent prouvé. La dérivation en figure [7] en est un exemple pour le système de la table [1].

Les grammaires de Lambek étant diverses, on ne s’intéresse qu’à une version particulière***Dans la littérature, cette version est dite associative et sans produit. Ici, on prend même une version alternative (équivalente) dite lexicalisée. : le système . On considère des séquents de la forme (on utilise aussi ) est un mot non vide sur l’alphabet (avec une virgule ’,’ ou rien pour la composition de mots), . Les règles sont détaillées dans la figure [1].

(Ax.)
(/I) (I)
(Lex.)
(/E) (E)
Figure 1: Règles du calcul de Lambek (déduction naturelle) sans produit lexicalisé

Étant donné un système de dérivation sur ce genre de séquents, on notera si est dérivable dans . Le langage (l’ensemble des mots acceptés) de est . Analyser grammaticalement (en anglais to parse) le mot , c’est trouver une dérivation de . Un exemple de dérivation se situe en figure [7].

La règle de coupure (CUT) pourrait être ajoutée à ce système, mais elle y est admissible (c’est-à-dire qu’elle peut être simulée avec les règles déjà présentes) (d’après GrentzenOn peut retrouver la preuve dans [Lam58]).

Pour plus de concision, on adopte une écriture plus compacte et plus générale : , , et . On prend de manière systématique la lettre pour , et on note la barre complémentaire de . On peut ainsi réduire notre système à seulement deux règles (plus les deux axiomes) en figure [2] avec une nouvelle version de la coupure.

( I) ( E) (CUT)
Figure 2: Règles non axiomatiques sous forme compact de

Insistons sur le fait que l’écriture cache en réalité un mot, sur lesquels la composition est associative, d’où les règles d’associativité et autre en figure [3].

Figure 3: Formules d’associativité et autres de l’écriture compact

Enfin, on supposera jusqu’à la fin que le type distingué est atomique, ce à quoi on peut toujours se ramener en ajoutant un lexème ’.’ (point final) de type , où est un symbole atomique frais rajouté.

ii.2 -calcul et typage

Les ACG basent leur modèle sur le -calcul typé. Cet outil informatique est de plus justement pertinent pour étudier certains systèmes de dérivation, comme nous allons le voir.

Rappelons donc rapidement le -calcul avec constantes. Donnons-nous un ensemble infini dénombrable de variables et un ensemble de constantes C. On appelle -terme un objet construit sur

(1)

Intuitivement est une fonction qui à un argument associe , et l’application de à . On adopte le parenthésage conventionnel . Exemple avec une constante a : est un diminutif pour .

On munit les -termes d’une notion de -réduction () et de -réduction () (et leur inverse - et -expansion) décrites par les règles en figure [4].

Axiomes

non libre dans

Passage au contexte ()

Figure 4: Règles de - et -réduction

,avec les bonnes notions de variables libres et liées, d’-équivalence, -renommage et substitution que je ne ré-explicite pas ici, mais qui sont disponibles dans [Bar84]. Intuitivement, ces réductions représente une étape de calcul, mais on se contentera de regarder à - et -équivalence près§§§C’est-à-dire considérer les classes de la relation rendu réflexive, symétrique et transitive. Exemple : .

On peut donner à certains -termes un type non orienté formé par induction à partir d’un ensemble de types de base :

(2)

avec les règles en figure [5] sur des séquents de la forme avec un ensemble de couples et où pour donné, il existe au plus un couple où intervient. Ici la virgule symbolise l’union d’ensembles. Il faut de plus se donner une fonction qui associe un ou plusieurs types aux constantes. L’assertion (le mot a le type ) se prouve donc (s’il est prouvable) par une dérivation. Ainsi, on peut dire qu’un -terme typable (noté ) représente la dérivation de son type . Cela nous permettra de mieux visualiser une dérivation, grâce à seul son -terme. Par exemple, si , est dérivable dans :

(Lex.) (Ax.) (E) (I)

(Ax.) (Lex.) (I) (E)
Figure 5: Règles de typage simple (non orienté) du -calcul avec constantes

À tout type on peut associer un entier appelé ordre qui quantifie à quel point les sont "imbriquées" dans , par induction :

et de même pour les types orientés. C’est un indicateur de la "complexité" d’un type.

On utilisera par la suite un représentant de la classe de -équivalence (donc une dérivation particulière parmi toutes les possible pour une même séquent) qui a des propriétés intéressantes. Cela découle des propriétés du typage. Commençons quelques définitions :

Un -terme est dit -normal si pour tout , . On appelle contexte tout -terme ayant exactement une seule occurrence libre d’une variable distinguée : le trou, et on écrit pour . On dit que est en forme -longue si pour toute décomposition avec de type , on a qui vérifie l’une des deux conditions suivantes:

  • est de la forme

  • est de la forme

autrement dit, soit est appliqué à un argument soit est un argument et commence par abstraire la variable de son argument (du type ). On a le résultat suivant : tout -terme typable (c’est-à-dire tel que est dérivable pour un certain ) admet (est -équivalent à) une unique forme -normale -longue notée . Par exemple, pour , .

Enfin, on ne considérera ici que des -termes linéaires, c’est-à-dire où chaque variable apparaît au plus une fois liée. On note alors habituellement le type flèche , mais on s’en passera dans ce rapport puisqu’il n’y a pas ambiguïté. Les règles de typage y sont aussi légèrement différentes, mais ces particularités sont présentes dans le typage que nous allons introduire maintenant.

-terme d’une dérivation de Lambek

Remarquons que le type orienté se comporte comme un type flèche non orienté , typant donc une fonction d’argument de type et de type de retour . On peut même décomposer tout type orienté de manière unique en d’arguments et de type de retour atomique . Fort de cette analogie, on peut associer à toute dérivation dans un -terme sur les constantes et types atomiques , d’après le typage correspondant présent en figure [6]. Les séquents sont alors de la forme avec un mot non vide sur l’alphabet (où ’:’ est un symbole frais), un -terme et .

(Ax.) ( I) (Lex.) ( E)

(CUT)

Figure 6: Typage d’un -terme dans

Comme il s’agit d’un sous-typage du typage simple non orienté (c’est-à-dire que tout terme typable dans l’est dans ), on conserve les propriétés énoncées précédemment.

ii.3 Exemple

Prenons la grammaire définie sur dans la table [1] (où ici ). Intuitivement, est le type de la phrase (sentence), représente un nom et un groupe (syntagme) nominale (noun phrase). Un verbe transitif a le type , c’est-à-dire prend à droite un objet (C.O.D) puis à gauche un sujet. On a alors la phrase le chat que Pierre voit dort qui appartient au langage de , et sa dérivation (-normale -longue) dans en figure [7] (seules les initiales ont été laissées pour faire tenir la dérivation sur la largeur).

le : chat : dort : que : Pierre : voit :

Table 1: Exemple 0 : Grammaire de Lambek

(/E) (E) (/I) (/E) (E) (/E) (E)

Figure 7: Exemple 0 : Dérivation (-normale -longue) de le chat que Pierre voit dort de dans

On pourrait étendre cette grammaire avec des adjectifs, comme beau et des adverbes, comme très, pour pouvoir dériver . Mais si on acceptait le mot vide à gauche du séquent, ce dernier pourrait avoir le type , et donc on pourrait dériver le très chat dort, ce qui n’est pas grammaticalement correct. De plus, cela pose de gros problèmes d’analyse grammaticale. C’est pourquoi on interdit le mot vide à gauche du séquent.

ii.4 Grammaire catégorielle abstraite

Pour définir les grammaires catégorielles abstraites (ACG) [dG01], revenons sur les types non orientésDe même, on demande et travaillera avec des types linéaires, mais on garde la notation au lieu de à partir d’un ensemble fini de types atomiques , d’après l’équation (2). Une signature d’ordre supérieur est un triplet

  • est un ensemble fini de types atomiques (aussi dit de base)

  • est un ensemble fini de constantes

  • assigne un type à chaque constante

Une signature d’ordre supérieur (ou vocabulaire) représente un ensemble de mots (les constantes) et la manière dont ils peuvent se composer entre eux (les types), comme dans l’exemple en table [2] où on peut dériver le -terme .

le: chat: dort:

Table 2: Lexique exemple (de la forme constant:  ) sur quelques termes de l’exemple 0

Un lexique de vers est un morphisme de signature d’ordre supérieur, autrement dit un couple

  • (on note l’homomorphisme induit)

  • (on note l’homomorphisme induit)

  • pour tout , on a

avec défini par l’équation (1). On peut noter directement (abusivement) au lieu de ou . La section III.1 montre un exemple de lexique.

On peut maintenant définir une grammaire catégorielle abstraite par

  • (resp. ) est une signature d’ordre supérieur appelé le vocabulaire abstrait (resp. objet)

  • est un lexique de vers .

  • est un type distingué

On définit aussi le langage abstrait par

et celui auquel on s’intéresse vraiment, le langage objet . Analyser grammaticalement un -terme objet revient à trouver un antécédent dérivable de par . Autrement dit, il suffit d’inverser le morphisme , ce qui est possible en temps polynomial dès lors que le vocabulaire abstrait est d’ordre inférieur à 2, où

Iii Traductions naïve et via Pentus

iii.1 Lexique de rendu

En poussant jusqu’au bout la remarque pour l’introduction du -terme d’une dérivation de Lambek, une traduction facile semble de transformer chaque type orienté en son homologue non orienté par :

pour alors construire le vocabulaire (abstrait) , où , et .

Il s’agit alors de retourner une chaîne de caractère correspondant au mot dont le -terme (abstrait) est celui de la dérivation du séquent dans . Pour ce faire, définissons une chaîne de caractères comme un type , où ’’ est un type atomique. On peut alors prendre , avec interprété comme la chaîne de caractères , et est le morphisme (de type orienté vers non orienté) tel que si .

Le lexique de l’ACG naïf est alors le lexique de rendu (yield) , avec où l’opérateur et son conjoint sont trop techniques pour être explicités ici avec leurs propriétés, mais le sont dans [dG16]. Ils utilisent l’opérateur de concaténation de chaînes (noté de manière infixe) , et le mot vide. Contentons-nous de voir l’effet de sur notre grammaire exemple en table 3.

le : chat : dort : que : Pierre : voit :

Table 3: Exemple 0 : Table de pour la grammaire

Figure 8: Schéma de composition des lexiques envisagés

Cependant, l’ACG ainsi créé ne fonctionne pas : il surgénère. En effet, on n’implémente pas l’orientation des arguments, ce qui fait défaut dans leur appel en argument. Par exemple, dans le type non orienté que:, on ne sait pas si l’argument de type prend son argument à droite ou à gauche. Ainsi, on peut dériver dans cet ACG , où il faut comprendre comme l’objet du verbe En fait, si la phrase sonne tout de même correcte ici, c’est dû à la particularité de la langue française à pouvoir inverser le verbe et le sujet dans ce cas. Si on avait utilisé au lieu de , si on avait fait une relative avec et sans objet ou si on avait fait l’exemple en anglais, la phrase aurait été incorrecte.. Or cette phrase n’est pas dérivable dans Lambek. De plus la traduction ne prend pas en compte l’ordre des arguments, comme le montre l’exemple en annexe A.

iii.2 Lexique de dérivations et limites

Pour palier à cela, l’idée est d’ajouter une signature d’ordre supérieur avant qui doit rendre compte des dérivations possibles. On ne rentrera pas ici dans les détails techniques proposés par de Groote [dG16], mais il utilise notamment le résultat de Pentus [Pen97] : toute grammaire de Lambek peut être transformée en une grammaire algébrique de même langage. Il s’agit même d’une équivalence (dite faible). Réintroduisons rapidement cette notion.

Une grammaire algébrique comprend

  • un alphabet fini de symboles non terminaux

  • un alphabet fini de symboles terminaux , et on prend

  • un ensemble de productions notées

  • un symbole distingué

et est munie d’un système de réécriture de règle le passage au contexte de : . On note la clôture réflexive transitive de . Le langage de la grammaire algébrique est alors . On dit enfin qu’un symbole non terminal K (de même pour les productions ) est accessible s’il existe une dérivation .

Avec les productions de la grammaire algébrique de Pentus, de Groote construit une ACG par composition , après avoir opéré quelques autres transformations (lexicalisation, réduction de l’ordre du lexique). Cela lui assure, notamment grâce au résultat de Kanazawa et Salvati [KanSal12], que les -termes de correspondent aux dérivations initiales de Lambek (dans ). Par conséquent, cette méthode constitue une première réponse à mon sujet.

Néanmoins, la construction précédente est insatisfaisante. En effet, les productions de Pentus sont très nombreuses et redondantes, et constituent une grammaire algébrique très ambiguë (c’est-à-dire qu’il existe beaucoup de dérivations possibles d’un même mot). Particulièrement, un grand nombre de productions sont non pertinentes d’un point de vue linguistique (exemple dans le dernier paragraphe de la section V.1).

Malgré tout, l’idée est bonne. Il peut donc être intéressant de passer de même par une grammaire algébrique, mais plutôt par une méthode plus algorithmique qui permettrait de construire pas à pas les productions utiles.

Iv Transformation des règles en coupure

iv.1 Suppression des éliminations

Reprenons l’idée de Pentus de transformer une grammaire de Lambek en grammaire algébrique. Pour cela, il remarque que la règle de coupure correspond exactement à la réécriture, dans les grammaires algébriques, sur des productions de la forme pour un axiome . Mais contrairement à lui, adoptons une méthode plus constructive qui puisse donner plus de "sens linguistique" aux productions créées. Il s’agit donc de transformer les règles d’élimination et d’introduction en coupures, en transformant les axiomes (et en en ajoutant).

Dans un premier temps, supprimons les éliminations. L’idée est encore d’aplatir les types, mais dans le séquent directement. Formellement, pour un lexème de type décomposée de manière unique en , on appelle mot aplati le mot à trou , et son type de renvoi . Cela forme des nouveaux axiomes (appelés axiomes propres) sur lesquels on peut couper, de la même manière qu’on élimine .

Malheureusement, cela ne suffit pas à engendrer le langage du système initial à partir de l’ordre 4. Il faut rajouter des axiomes propres non lexicaux correspondants aux arguments des fonctions prises en argument. Plus clairement, définissons le signe d’une occurrence d’une sous-formule d’un type en figure [9].

Figure 9: Définition du signe d’une occurrence d’une sous formule

Remarquons que est une relation d’ordre sur . On note (resp. ) l’ensemble des sous-types positifs (resp. négatifs) de la grammaire et

les sous-types strictement positifs. L’ensemble des axiomes propres est alors :

On peut alors monter notre système intermédiaire sans élimination (figure [10]).

(pAx.) ( I) (pAx.) (CUT)
Figure 10: Règles du calcul du système intermédiaire sans élimination
Théorème 1.

Les langages engendrés par et sont les mêmes.

L’annexe B contient une preuve de ce premier théorème. En annexe C, on retrouve l’exemple 0 ayant subi cette transformation.

iv.2 Suppression des introductions

Supprimons maintenant les introductions. L’idée est de se placer à une plus haute introduction (c’est-à-dire sans introduction au-dessus)

( I)

et de réécrire en la preuve au-dessus (réécriture noté ) par induction. L’hérédité consiste à étudier la forme de la coupure. Dans le premier cas, l’hypothèse de récurrence suffit. Mais il ne faut pas oublier le second cas, où est vide et vas dans la prémisse de droite (car ). Cela est résumé en figure [11]. Ce dernier cas nécessite de considérer un autre type de réécriture (noté ) sur la prémisse de droite.

| | (CUT) Cas 1 | | (CUT) Cas 2
Figure 11: Cas de la forme d’une coupure pour la suppression d’une introduction

Formellement, le résultat qu’on cherche à montrer est le suivant :

Lemme 1.

Si est dérivable sans introduction et ne contient que des variables strictement positives (c’est-à-dire dans ), alors (par ) et (par ) le sont sans introduction (par une dérivation de longueur inférieure, avec des variables aussi strictement positives).

Il constitue le cœur du problème et sa preuve est disponible en annexe D. Notamment, pour le cas de base, on a besoin de générer des axiomes supplémentaires à l’aide des opérateurs suivants, définis pour un ensemble de séquents:

correspondant à et respectivement. On peut alors définir le système final (en figure [12]) à partir de l’ensemble d’axiomes propres (potentiellement infini) défini par induction:

(pAx.) (CUT)
Figure 12: Règles du calcul du système final avec seulement la coupure

On a alors le résultat suivant prouvé en annexe E :

Théorème 2.

Les langages engendrés par et sont les mêmes.

Des exemples de traduction vers sont présents en annexe C pour et G pour .

iv.3 Des coupures aux ACG

Ayant tout transformé en coupure, on peut maintenant mettre en place notre (presque******’presque’ car le nombre de symboles non terminaux (et de productions) peut être infini) grammaire algébrique définie en figure [13]. Le théorème suivant découle facilement (en annexe F) :

Théorème 3.

et

Figure 13: Grammaire algébrique à partir de la grammaire de Lambek

Enfin, il nous reste à traduire une grammaire algébrique en ACG. On commence par poser avec la définition par induction :

Le vocabulaire objet est celui des chaînes de caractères , et le lexique , où avec la suites des variables libres de défini par

On a construit . S’ensuit le théorème suivant, dont un preuve peut être trouvée chez [dGPog04].

Théorème 4.

et est isomorphe à l’ensemble des arbres de dérivation de .

On a donc réussi à traduire une grammaire de Lambek en grammaire catégorielle abstraite.

V Algorithme de mise à niveau

v.1 Mise à niveau

Le (seul) problème de la traduction précédente est qu’elle peut générer un nombre infini de symboles non terminaux et de productions. Il ne s’agit donc pas vraiment d’une grammaire algébrique (ni donc de d’une ACG) à proprement parler. Cependant, la grande astuce de notre approche a été le côté itératif et l’utilisation d’opérateurs, qui génèrent en nombre fini si l’ensemble de départ est fini. En fait, on considère un algorithme [1] dit de mise à niveau :

Entrée  : Un ensemble d’axiomes propres pour et un entier
Données : deux ensembles de séquents
Sortie  : Un ensemble d’axiomes propres intermédiaire pour
1 Boucle principale pour  à  faire
2      
3 fin pour
retourner
Algorithme 1 Algorithme de mise à niveau (MaN)

En notant la valeur de après tours de boucle principale, et le système qui prend ses axiomes dans , on peut démontrer le résultat suivant :

Théorème 5.

Les séquents de dérivables sont exactement ceux de contenant au plus introductions imbriquées.

où la notion d’introductions imbriquées est explicitée dans la sous-section suivante. Le preuve est trop longue pour être détaillée, même en annexe.

De plus, la version présentée ici de l’algorithme [1] est simplifiée. En réalité, il est plus intéressant de n’effectuer les opérations que sur les séquents qui peuvent devenir accessibles (au sens de la grammaire algébrique) par ce procédé. On évite ainsi de produire, dans l’exemple 0, (car aucun axiome propre n’a pour argument ) qui pourrait donner des dérivations absurdes comme (Pierre voit le) chat, qui sont présentes chez Pentus. Cela raffine beaucoup l’ensemble final produit, donc s’avère bien mieux que la construction de Pentus.

v.2 Impact des introductions imbriquées et avantages linguistiques

Pour comprendre en quoi notre approche est avantageuse, analysons d’abord le problème de la génération infinie d’axiomes propres. Fixons-nous une grammaire de Lambek dans laquelle il existe un séquent dérivable et un axiome utilisé dans cette preuve qui, par la réécriture du lemme [1], se voit opéré fois. Cet axiome est donc "sur le chemin" des introductions lors de la réécriture, ou on peut encore dire intuitivement qu’il se trouve "entre l’introduction de et la consommation††††††une seule consommation car on est dans des preuves/-termes linéaires de ". Ces introductions sont alors dite imbriquées, définies plus précisément en figure [14].

On dit que les variables (toutes différentes) sont imbriquées, et on note pour imbriquée dans , dans … dans , si toutes les introductions de ces variables se font sur une même branche, dans cet ordre avec au plus haut, et s’il existe un sous-terme contenant toutes ces variables libres. Autrement dit si la dérivation est de la forme :

| ( I) ( I) |

avec étant des variables libres de (ce qui est équivalent à ce cité juste au-dessus).

Figure 14: Définition de l’imbrication d’introductions

La fait qu’une grammaire de Lambek nécessite une infinité d’applications des opérateurs (exemple en annexe G) est donc équivalent à l’existence de séquents avec un -terme contenant un sous-terme ( dans la définition) avec un nombre arbitrairement grand de variables libres. J’ai essayé d’analyser plus finement la condition dans le but de pouvoir la détecter (par exemple par la détection de boucle en fonction de la forme des axiomes propres), mais le temps m’a manqué.

Malgré tout, d’un point de vue linguistique, le besoin d’effectuer une opération correspond à l’extraction d’un complément dans un syntagme. On observe le plus souvent ce phénomène dans les relatives, comme le montre l’exemple 0 en annexe C. Or dans le langage naturel, les relatives sont des "îlots à l’extraction", c’est-à-dire qu’on ne peut rien extraire d’une relative. Par exemple, on ne peut rien extraire de la proposition relative dans la phrase "Pierre qui voit le chat". Notamment, on ne peut pas dire "le chat que Pierre qui voit". C’est pourquoi le phénomène d’imbrication d’introductions arbitraire est hautement improbable dans le cadre où l’on se restreint, d’où la correction totale de l’algorithme [1] après seulement quelques tours de grande boucle (3 suffisent généralement).

Vi Conclusion

En somme, après l’analyse d’une construction déjà effective mais insatisfaisante en pratique d’une traduction d’une grammaire de Lambek en grammaire catégorielle abstraite, j’ai développé et démontré la méthode qui consiste à transformer au fur et à mesure les éliminations et introductions en coupure, pour passer par une grammaire algébrique. Ce principe est intéressant car, linguistiquement, il suffit de faire seulement quelques opérations pour obtenir une traduction plus concise et moins ambiguë.

Malgré tout la méthode n’est intéressante que pour les cas linguistiques, et ne saisit pas toute la puissance des grammaires des Lambek. Bien que la première méthode fonctionne toujours, je pense qu’il y a moyen d’approfondir la recherche sur les imbrications d’introduction pour, si possible, engendrer de manière finie.

Ce résultat reste néanmoins pertinent car il montre comment encoder dans les ACG, de manière plus simple que ce qui existait auparavant, une façon de prendre fortement en considération la syntaxe de la phrase. De plus, on peut envisager de l’étendre à des dérivées des grammaires de Lambek plus utilisées de nos jours (car plus complexes). Enfin, cela apporte une méthode supplémentaire au maniement des systèmes de dérivation.

References

  • [Bar84] H.P. Barendregt, 1984, "The lambda calculus, its syntax and semantics", chez North-Holland, revised edition
  • [dG01] Ph. de Groote, 2001, "Towards Abstract Categorial Grammars", pp. 148-155 dans Association for Computational Linguistics, 39th Annual Meeting and 10th Conference of the European Chapter, Proceedings of th Conference
  • [Lam58] J. Lambek, 1958, "The mathematics of sentence structure", §65:pp.154-170 dans Amer. Math. Monthly
  • [Pen97] M. Pentus, 1997, "Product-free Lambek calculus and context-free grammars", §62(2):pp.648-660 dans Journal of Symbolic Logic
  • [KanSal12] M. Kanazawa, S. Salvati, 2013, "The String-Meaning Relations Definable by Lambek Grammars and Context-Free Grammars", pp.191-208 dans Morrill G., Nederhof MJ. (eds) Formal Grammar. FG 2013, FG 2012. Lecture Notes in Computer Science, vol 8036. Springer, Berlin, Heidelberg
  • [dG16] Ph. de Groote, 2016, "Lambek Categorial Grammars as Abstract Categorial Grammars", lors de LENLS 13, Oct 2016, Tokyo, Japan. 2016, Logic and Engineering of Natural Language Semantics 13
  • [dGPog04] Ph. de Groote, S. Pogodalla, 2004, "On the Expressive Power of Abstract Categorial Grammars: Representing Context-Free Formalisms", §13:pp.421-438 dans Journal of Logic, Language and Information, Kluwer Academic Publishers

Appendix A Problèmes de la traduction naïve

Outre le fait que la traduction naïve ne prend en compte l’orientation, le système de typage dans les ACG étant différent, il permet une inversion de l’ordre des arguments qui n’est pas possible chez Lambek, car le membre de gauche est un mot, et non pas un ensemble. Par exemple, pour une grammaire définie par et , les types étant pris atomiques tous différents, on voit bien en essayant de construire la dérivation qu’on ne peut pas prouver . Effectivement, ne peut pas être sorti car il est entre et .

Impossible (/I) (/I) (/E)

Alors que le -terme d’ACG est constructible.

Appendix B Preuve du théorème 1

Proof.
  • Il suffit de montrer que est admissible dans .

    Pour la coupure, il s’agit du résultat de Grenzen [Lam58].

    Pour les axiomes propres (pAx.), montrons pour par récurrence sur que