Grammaires locales

Grammaires locales

Définition

Les grammaires locales (Gross, 1993, 1997) sont un formalisme de description de règles syntaxiques ou sémantiques. Depuis leur conception, leur pertinence a été prouvée pour traiter plusieurs problèmes du traitement automatique des langues (tal) liés à la représentation succincte de descriptions linguistiques fines : découpage de phrases, traitements morphologiques, étiquetage, analyse syntaxique de surface, analyses transformationnelles, résolution des ambiguïtés, extraction de l’information, entre autres (Nam et Choi, 1997, Friburger, 2002, Constant, 2003, Traboulsi, 2004, Laporte, 2005, Geierhos et al., 2008, Martineau et al., 2011, Krstev et al., 2013, Ezzat, 2014). Le formalisme de lgs est proche de celui des automates à états finis et plus largement associée à des réseaux de transitions récursifs (rtns) (Woods, 1970, Bates, 1978) et des rtns comportant des sorties (Sastre et Forcada, 2009). Bien qu’il soit aussi fréquemment assimilé au concept de transducteur fini, de part la capacité d’une grammaire locale à gérer des sorties, observons que même si la notion de sortie est comparable à celle de transduction, les grammaires locales et les transducteurs ne sont pas toujours équivalents. En effet, comme souligné par Blanc (2006, p. 62), l’application d’un transducteur sur un texte en entrée produit comme résultat un nouveau texte composé par la concaténation des sorties, tandis qu’avec une grammaire locale, le résultat peut être en plus égal au texte en entrée combiné avec les séquences de sortie. En général dans la littérature, la notion de grammaire locale renvoie à des définitions et des mises en œuvre différentes. D’une part, par la variété de types de grammaires locales concernées, ces type peuvent être divisées selon l’analyse effectuée : lexicale (flexion, prétraitement), syntaxique (locale ou structurelle) ou transformationnelle. D’autre part, par les appellations utilisées pour y faire référence, entre autres : transducteurs finis (Fairon et Watrin, 2003, Sætre, 2003, Ranchhod et al., 2004, Kevers, 2006), automates finis (Traboulsi, 2005), automates lexicaux (Blanc et Dister, 2004), automates syntaxiques (Monnier et al., 2003). Finalement, la notion de grammaire locale dépend aussi de l’outil informatique utilisée, nous pouvons distinguer deux groupes : • Ceux qui ne disposent pas de la capacité de concevoir des grammaires locales à l’aide d’une interface graphique, mais sous la forme d’ensembles de règles de dérivation ou de tableaux de transition d’état. Nous citons par exemple, les grammaires locales du type dag2dag (Sagot et Boullier, 2008) de SXPipe(Sagot et Boullier, 2005), exprimées dans un langage proche de la forme de Backus–Naur (bnf) et analysées à l’aide du système Syntax (Boullier et Deschamp, 1991). De plus, des outils comme 3.2 Définition 3 44 OpenFst (Allauzen et al., 2007), pouvant manipuler des rtns aplatis 1 (Allauzen et Riley, 2012). • Ceux qui offrent la possibilité de développer des grammaires locales à l’aide d’interfaces graphiques, en faisant appel à l’utilisation de ressources linguistiques, comme des dictionnaires électroniques (Maurel, 1993, Courtois et al., 1997, Chrobot et al., 1999) qui décrivent la syntaxe et la morphologie des entrées lexicales et de leurs attributs sémantiques. Ainsi que d’avoir des sorties, d’utiliser des variables, c’est-à-dire, des registres qui stockent des sous-séquences d’une séquence en entrée, et d’établir de contraintes sur les variables, sous la forme d’opérateurs primitifs. Nous énumérons, par exemple, Intex (Silberztein, 1994), Unitex (Paumier, 2003a), NooJ (Silberztein et Tutin, 2005) ou Outilex (Blanc et al., 2006). Dans notre recherche une grammaire locale concerne des grammaires non contextuelles (cf. sous-section 2.4.1) qui décrivent des langues naturelles. Elles sont représentées par des graphes orientés lexicalisés et récursifs. En plus, les grammaires locales peuvent être dérécursivées (cf. section 4.5) et modélisés par des machines à états finis. Les grammaires locales sont aussi enrichies par des registres et des contraintes qui ne font pas partie du modèle des automates finis, mais qu’en vue de traiter certaines opérations classiques des automates peuvent, avec des ajustements, être considérées comme des symboles d’entrée dépourvus de sens 2 . Finalement, bien que les grammaires locales sont restreintes à décrire des langages non contextuels (cf. section 2.4), la possibilité d’ajouter des sorties et de contraintes leur donne la capacité de reconnaître des langages contextuels (cf. section 3.5.8) et de réaliser des opérations transformationnelles. Malgré la puissance inhérente aux automates finis (fsas), ceux-ci ne possèdent pas de mécanisme leur permettant faire appel à d’autres fsas. Pour palier ce problème, tout en conservant certains avantages des modèles d’automates finis classiques, les grammaires locales sont représentées par des rtns (Woods, 1970, Bates, 1978).

Modélisation

Formellement, une grammaire locale peut être définie sous la forme d’automate fini comme étant un 7-tuple G = (Q, Σ, Γ, I, F, E, s), où : • Q est un ensemble fini d’états • Σ est l’alphabet d’entrée constitué d’un ensemble fini de symboles • Γ est l’alphabet de sortie constitué d’un ensemble fini de symboles • I est l’ensemble sous-initial des états qui étiquettent des transitions (soit les appels à des sous-graphes) • F ⊆ Q est l’ensemble des états accepteurs (F 6= ∅) 3.3 Modélisation 3 46 • E ⊆ Q × (Σ ∪ ε) × (Γ ∪ ε) × Q est un ensemble fini de transitions • s ∈ Q est l’unique état initial (du graphe principal) L’automate de la figure 3.2 est équivalent au graphe 3.1, cependant certaines transitions ont été supprimes pour améliorer la clarté. great uncle uncle wife cousin baby cousin cousin in − − law − bro sister sister bro uncle − in adopted sister bro double sister bro cousin german 11 1 10 0 3 2 5 4 7 6 9 8 Figure 3.2 – Reconnaissance de relations filiales Quelques observations Observons qu’une lg peut être vue comme un rtn avec des sorties et que certains symboles non-terminaux des étiquettes d’entrée d’une lg ont une sémantique spéciale, par exemple, pour faire référence à l’appel à un sous-graphe, d’autres à des masques lexicaux, ceci dit, ces symboles non-terminaux peuvent être considérés comme terminaux, c’est-à-dire, dépourvus de sens, et par ce fait, permettre l’application directe, ou avec peu de changements, des algorithmes classiques des automates finis. Notons aussi : (i) Une lg sans sorties (Γ = ∅), c’est-à-dire qui produit le mot vide epsilon (ε), est équivalente à un rtn. (ii) Une lg dérécursivée, c’est-à-dire sans cycles, qui produit comme résultat la concaténation des sorties est équivalente à un fst. (iii) Une lg dérécursivée et sans sorties est équivalente à un fsa. 3 Grammaires locales 47 lg (rtn avec sorties) fsa rtn fst Dérécursivée et sans sorties Sans sorties Dérécursivée Figure 3.3 – Possibles équivalences entre les lgs, rtns, transducteurs finis (fsts) et fsas 3.4 Outils existants Le formalisme des grammaires locales à été implémenté par différents outils pour traiter des problèmes liés au traitement automatique des langues. Par la suite, nous passons brièvement en revue certains de ces outils. 3.4.1 Intex Intex(Silberztein, 1993, 1994, 2000) est un environnement de développement de dictionnaires électroniques, de grammaires et de lexiques-grammaires pour le traitement de corpus : recherche d’expressions dans des textes, indexation des motifs trouvés, concordances et statistique des résultats. Intex est à l’origine de plusieurs caractéristiques utilisées par ses successeurs : • Les opérations de prétraitement du texte dont le découpage en unités lexicales, le découpage en phrases, la normalisation des formes non-ambiguës, et l’application des dictionnaires électroniques du LADL (dela) (Courtois et Silberztein, 1990, Courtois et al., 1997). • L’interface graphique pour construire des graphes. Notamment par l’utilisation de boîtes (les nœuds du graphe) pour associer les étiquettes de transition de l’automate sous-jacent. Ceci en reprenant les conventions proposées originalement par Maurice Gross (Gross, 1987). • L’utilisation de méta-symboles pour reconnaître, ou non, des classes de caractères, par exemple hMOTi, hMAJi, h!DICi ; ainsi que des masques lexicaux afin de faire référence aux informations fournies par les dictionnaires, par exemple, hNi, hVi, hpomme.Ni. • Les politiques pour traiter les sorties de la grammaire : soit par remplacement (mode replace) où les sorties remplacent les entrées reconnues, soit par combinaison (mode merge) où les sorties produites sont insérées dans le texte. Également les 3.4 Outils existants 3 48 politiques permettant de sélectionner le mode de reconnaissance en donnant priorité aux longueurs des séquences reconnues : soit les plus courtes, soit les plus longues. Intex été développé en C++ et distribué avec une licence propriétaire sans possibilité de connaître les détails sur les algorithmes utilisés. 3.4.2 Unitex Unitex 1 Paumier (2003a), est un environnement logiciel libre dédié à l’analyse du langage naturel. Il a été développé par Sébastien Paumier et l’équipe d’informatique linguistique du Laboratoire d’Informatique Gaspard-Monge (ligm). À partir de la version 3.0 Unitex est devenu Unitex/GramLab et continue à être développé au tour d’une communauté regroupant des linguistes et des développeurs. Unitex débute comme une alternative libre à Intex. 3.4.3 NooJ NooJ 2 (Silberztein, 2004, Silberztein et Tutin, 2005) représente l’évolution d’Intex. 3.4.4 Outilex L’analyseur syntaxique d’Outilex 3 (Blanc et al., 2006) est de la famille des analyseurs Earley. 3.4.5 SXPipe les grammaires locales du type dag2dag (Sagot et Boullier, 2008) de SXPipe 4 (Sagot et Boullier, 2005), exprimées dans un langage proche de la bnf et analysées à l’aide du système Syntax (Boullier et Deschamp, 1991). 

Formation et coursTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *