Lorsque l’on s’attache à l’étude de la structure sémantique d’un texte, plusieurs possibilités transparaissent pour gérer l’information. Dans le même temps, certains impératifs émergent, qui concernent l’utilisation d’une ressource lexicale pour identifier les unités lexico-sémantiques présentes et un système d’indexation pour localiser ces unités. Les choix reposent essentiellement sur l’utilisation que l’on fait de l’information de ce dictionnaire et sur la méthode d’analyse de l’articulation des concepts les uns par rapport aux autres.
Pour agencer les entités les unes vis-à-vis des autres et faire évoluer leur sens en fonction des rapports qu’elles entretiennent entre elles, nous avons choisi d’effectuer une analyse morpho-syntaxique du texte. Cette analyse permet en effet de distinguer de nombreuses relations qui unissent les unités qui composent le texte. La chaîne d’analyse passe par une identification des lexèmes lors de la phase de segmentation du texte (tokenization) et une analyse morphologique de chacun des mots – ces tâches sont effectuées par un module appelé NTM (Normalizer – Tokenizer – Morphological analyzer) ; ensuite par un outil d’analyse syntaxique robuste (XIP : Xerox Incremental Parser) dont les grammaires permettent d’effectuer une désambiguïsation morpho-syntaxique des propositions de l’analyseur morphologique ainsi que de construire des groupes syntaxiques et de définir les relations syntaxiques entre les têtes de ces groupes. Ces opérations sont effectuées par l’entremise de règles spécifiques constituées en grammaires, qui s’appliquent incrémentalement en s’appuyant sur des traits morpho-syntaxiques et sur la disposition contextuelle des unités qui constituent les énoncés. Ce moteur d’analyse est dit robuste, ce qui implique qu’un succès n’est pas nécessaire dans l’analyse de tous les constituants de l’énoncé pour que l’analyseur fournisse un résultat.
Ces deux outils sont développés à XRCE (Xerox Research Centre Europe) Grenoble (XRCE) et fonctionnent actuellement en parfaite symbiose puisqu’elles ont été intégrées au sein d’une seule application qui permet de recevoir un texte (en français dans notre cas, mais l’anglais est également couvert) brut ou formaté et d’en retourner une analyse morphologique et syntaxique. Étant donné que XIP est un outil robuste, il présente une analyse dans tous les cas, qui sera partielle lorsqu’il n’a pu parvenir à un résultat. Nous décrivons ici ces deux étapes d’analyse et les outils qui les accomplissent.
La première étape de cette analyse morpho-syntaxique consiste à segmenter le texte présenté en lexèmes et à en donner les caractéristiques morphologiques possibles. Ces deux tâches sont effectuées simultanément par NTM, un module conçu par Salah Aït-Mokhtar [Aït-Mokhtar, 1998, Trouilleux, 2001] qui repose sur la technologie des automates à états finis. Deux transducteurs ou plus contiennent les données utiles à l’analyse que l’on veut réaliser et fonctionnent en parallèle pour produire le résultat. Ce fonctionnement simultané de deux automates permet d’effectuer dans un même temps la segmentation et l’analyse morphologique.
Un de ces transducteurs est le normaliseur (normalizer), dont le rôle est de transmettre une chaîne de caractères normalisés aux autres transducteurs. La normalisation des caractères se fait selon des règles propres à la langue traitée et aux exigences de l’utilisateur. Pour le français, elles portent essentiellement sur la casse et sur l’accentuation, ainsi que sur le formatage typographique du texte présenté en entrée. Dans notre cas, la base textuelle est au format XML et de nombreux caractères sont présents dans les fichiers sous la forme d’entités. Par exemple, le caractère é est transcrit é ; dans le texte, mais il ne peut être reconnu directement dans le lexique. Le rôle du normaliseur est de transmettre cette entité sous la forme d’un caractère standard aux autres transducteurs.
Ce second 1 transducteur contient les données lexicales permettant de reconnaître chaque lexème et d’en donner toutes les informations d’ordre morphologique correspondantes, ainsi que toute autre information qui y aurait été ajoutée. Il reçoit caractère par caractère une chaîne de caractères normalisés à laquelle il tente de faire correspondre les données dont il dispose pour obtenir les analyses possibles. Cependant, comme NTM obéit au principe de la chaîne la plus longue (longest match), les analyses obtenues sont susceptibles d’être surclassées ensuite par une correspondance d’une chaîne plus longue. En effet, c’est toujours l’analyse conforme à la chaîne la plus longue qui prévaudra, tandis que les précédentes propositions, plus courtes, ne seront pas maintenues. Cette stratégie, qui permet d’identifier les unités lexicale composées de lexèmes plus courts, se révèle très efficace dans la pratique [Aït-Mokhtar, 1998].
Il faut aussi noter l’importance des séparateurs de mots, dont certains – tels que l’espace, les ponctuations, le parenthésage ou les guillemets – sont définis par défaut, mais qui restent paramétrables par l’utilisateur. Ils revêtent une grande importance lors de la mise en application de l’analyse. En effet, le fonctionnement standard 2 de NTM prévoit qu’un découpage et une analyse ne peuvent être validés que si un séparateur de mots limite la chaîne proposée et reconnue. De la sorte, une suite de caractères reconnus mais qui n’est pas limitée par un séparateur n’aboutira pas à une analyse valide.
L’exemple que nous présentons dans la figure 2.2 page précédente illustre les différentes informations que l’analyseur morphologique fournit en sortie. Chaque ligne correspond à une hypothèse d’analyse pour une unité lexicale présentée, et un interligne distingue les hypothèses d’analyse pour chaque unité. Chaque ligne comprend trois champs : le premier contient l’unité lexicale telle qu’elle se présente dans le texte, le deuxième présente la lemmatisation de cette unité correspondant à l’analyse morphologique affichée sous forme d’étiquettes (séparées par +) dans le troisième champ, accompagnée de toute autre information dont nous parlions plus haut.
Au travers de l’exemple, on peut voir l’action du système de normalisation des caractères : par exemple, la majuscule de début de phrase n’est pas conservée lors de l’analyse de Pour et sa lemmatisation en pour, tandis que les entités XML é ; et è ; sont résolues respectivement par é et è pour permettre une analyse ambiguë entre les lemmes élever et élève. Cet exemple nous permet aussi d’illustrer le type d’information que fournit l’analyseur morphologique dans le troisième champ. La dernière étiquette à droite indique la catégorie grammaticale à laquelle appartient l’unité lexicale courante (Adj pour adjectif, Adv pour adverbe, Det pour déterminant, Noun pour nom, PC pour pronom clitique, Prep pour préposition, Verb pour verbe, etc.).
Ainsi, la forme normalisée élève, par exemple, peut s’analyser comme un verbe à travers la forme lemmatisée élever ou comme un nom, élève. Les étiquettes P1, P2 et P3 contiennent l’information relative à la personne, les étiquettes SG et PL celles relatives au nombre et les étiquettes Masc, Fem et InvGen (pour invariable en genre) celles relatives au genre.
L’information temporelle et modale des verbes est spécifiée par les étiquettes SubjP (subjonctif présent), IndP (indicatif présent) et Imp (impératif), complétée par la détermination de l’auxiliaire avec lequel le verbe construit ses formes composées actives. Les pronoms reçoivent une information casuelle : au Nom de nominatif correspond un Acc pour accusatif. Cette information casuelle, qui n’est pas toujours pertinente en français, pourra rester inexploitée.
Les déterminants sont susceptibles de recevoir aussi une information relative à leur caractère défini (Def pour défini et Indef pour indéfini). Le cas de des, préposition contractée avec l’article le, est particulier car il s’agit de fournir l’analyse de deux lexèmes condensés en une seule unité lexicale. Aussi l’étiquette Prep=le indique-t-elle que la préposition lemmatisée en de est contractée avec le lexème le, lequel est un article défini (Def). On voit dans l’exemple que le cas de des article indéfini et celui de des préposition contractée sont étudiés en parallèle, aucun des deux n’excluant l’autre.
Dans son état original, le dictionnaire du français encode une seule information sortant du cadre strict de l’analyse morphologique. Il s’agit de données de sous-catégorisation. Dans notre exemple, on ne retrouve que dans le cas du verbe et du nom cette information relative aux compléments. Le verbe élever comporte les étiquettes se, qui autorise sa pronominalisation, SN, qui marque la transitivité (sous forme d’un syntagme nominal), et contreSN, qui signale la présence d’un complément prépositionnel optionnel composé de la préposition contre et d’un syntagme nominal. De même, le nom élève comporte une étiquette proposant un complément prépositionnel composé de la préposition de et d’un syntagme nominal.
Cet outil présente deux principaux atouts pour la tâche que nous avons à effectuer. D’une part, il est relativement aisé d’insérer dans le transducteur contenant le lexique une information supplémentaire liée au lexique qui pourra être exploitée avec profit par les grammaires de l’analyseur syntaxique. De l’autre, le caractère paramétrable de la normalisation permet de l’adapter aux besoins liés au format XML des textes de la base documentaire que nous avons à notre disposition.
L’analyse linguistique d’un texte visant à sa compréhension au moins partielle requiert un examen élaboré de sa structure syntaxique, car celle-ci permet de mettre en relation les éléments constitutifs du sens de ce texte. Les outils syntaxiques qui fonctionnent efficacement sur de grandes bases de données textuelles francophones ne sont cependant pas très nombreux. Nous disposons toutefois de deux d’entre eux à XRCE (Xerox Research Centre Europe), IFSP et XIP, décrits dans les sections suivantes.
Le premier analyseur s’appelle IFSP pour Incremental Finite-State Parser [Aït-Mokhtar et Chanod, 1997a, Aït-Mokhtar et Chanod, 1997b]. Comme l’indique son nom, il exploite, à l’instar de NTM, la technologie des transducteurs à états finis. Ces transducteurs encodent une information contextuelle constituant les règles permettant d’obtenir les groupes et les relations syntaxiques. Ces règles s’appliquent incrémentalement, c’est-à-dire qu’elles sont successivement mises en œuvre pour obtenir un résultat, les résultats de l’une servant de point de départ à la suivante. De la sorte, toute analyse atteint les possibilités maximales de l’analyseur sans qu’un échec puisse contrarier son fonctionnement. IFSP possède deux niveaux de fonctionnement. Dans un premier temps, à partir du résultat d’une analyse morphologique préalablement désambiguïsée fournie en entrée, l’analyseur syntaxique construit les groupes syntaxiques minimaux (chunks). Vient ensuite l’extraction des dépendances internes et externes à ces groupes syntaxiques.
Les groupes syntaxiques minimaux correspondent aux groupes de la grammaire traditionnelle (groupes nominaux, verbaux et prépositionnels), à cette différence près qu’ils sont tronqués de leur partie droite au-delà de la tête du groupe. Ces groupes minimaux sont nominaux (NP), verbaux (v), adjectivaux (AP) ou prépositionnels (PP). Tous peuvent être incorporés à l’intérieur d’une phrase minimale (SC) qui constitue l’unité de référence phrastique de l’analyseur. La fenêtre de travail quant à elle est la phrase, comprise entre deux ponctuations fortes.
L’exemple 2.3 page § illustre le découpage syntaxique de la phrase en syntagmes minimaux. En particulier, sous sa forme de syntagme minimal, le groupe nominal traditionnel son homologue britannique est limité à droite par sa tête homologue, tandis que l’épithète britannique constitue un syntagme adjectival, au même titre que l’attribut content. Il est cependant possible de reconstituer le groupe nominal traditionnel grâce à la dépendance construite entre homologue et britannique (PADJ(homologue,britannique)). On notera la différence de traitement avec Le nouveau ministre, où l’épithète fait partie du syntagme minimal car elle est placée devant la tête du syntagme.
Les dépendances syntaxiques établissent des liens entre deux ou trois unités lexicales selon le type de dépendance, qui constituent dès lors les arguments de la dépendance. Lorsque ces dépendances concernent non pas des lexèmes, mais des groupes syntaxiques minimaux, c’est la tête du groupe syntaxique qui fait office d’argument, de telle sorte que toutes les dépendances extraites par IFSP associent formellement des lexèmes entre eux.
[##]> echo "Le nouveau ministre du budget est
content de recevoir son homologue britannique." |
ifsp -l french
[SC [NP Le nouveau ministre NP]/SUBJ [PP du budget PP] :v est SC] [AP content AP] [v de recevoir v] [NP son homologue NP]/OBJ [AP britannique AP] SUBJ(ministre,recevoir) SUBJ(ministre,être) DOBJ(recevoir,homologue) ADJ(nouveau,ministre) PADJ(homologue,britannique) ATTR(ministre,content) NNPREP(ministre,de=le,budget)
|
L’exemple 2.3 page précédente reproduit le résultat d’une analyse effectuée par IFSP. Cette analyse comporte deux parties : le découpage de l’énoncé en syntagmes minimaux (SC, NP, PP, v, AP) et la construction des dépendances syntaxique. Les dépendances ainsi construites indiquent que ministre est le sujet (SUBJ) de recevoir et de être, que homologue est l’objet direct (DOBJ) de recevoir, que britannique est l’épithète du nom précédent (PADJ) homologue et nouveau l’épithète du nom suivant (ADJ) ministre, que content est l’attribut (ATTR) de ministre et que budget est rattaché au nom ministre à travers la préposition du (NNPREP).
Malgré les grandes qualités de cet outil, tant par la robustesse que par la rapidité ou le niveau des résultats obtenus, il présente le défaut majeur de la rigidité. En effet, une grammaire sous forme de transducteurs est complexe à modifier, plus encore à enrichir de nouvelles dépendances. Un autre défaut essentiel de cet analyseur pour l’application que nous voulons en faire est qu’il n’est pas capable de gérer les traits que nous désirons associer dans les dépendances aux lexèmes qui en sont les arguments. De fait, ces traits sont un élément prépondérant de la sémantique lexico-syntaxique que nous mettons en œuvre pour aboutir à une compréhension des documents.
Au-delà des possibilités limitées de IFSP, XIP (Xerox Incremental Parser) reprend à son compte le principe de l’incrémentalité qui conférait efficacité et robustesse à IFSP. XIP y ajoute cependant une souplesse d’utilisation et des fonctionnalités qui lui permettent d’envisager l’inclusion d’éléments de sémantique à son analyse [Roux, 1999, Aït-Mokhtar et al., 2002, Hagège et Roux, 2002]. Nous verrons que ces propriétés permettent de projeter l’utilisation de XIP dans une optique syntaxico-sémantique intéressante.
[##]> echo "Le nouveau ministre du budget est
content de recevoir son homologue britannique." |
xip
0>GROUPE{SC{NP{Le AP{nouveau} ministre} PP{du NP{budget}} FV{est}} AP{content} IV{de recevoir} NP{son homologue} AP{britannique} .} SUBJ[NOUN](est,ministre) VARG[DIR](recevoir,homologue) VARG[ADJ,SPRED](est,content) NMOD[RIGHT,ADJ](homologue,britannique) NMOD[LEFT,ADJ](ministre,nouveau) NMOD[NOUN,INDIR](ministre,du,budget) NMOD[ADJ,SPRED](ministre,content) ADJARG[INF,INDIR](content,recevoir)
|
Dans l’exemple 2.4 page ci-contre, on peut voir le résultat d’une analyse syntaxique tel que XIP la restitue. Comme pour IFSP, l’affichage du résultat comporte deux parties distinctes. La première partie montre le découpage de l’énoncé en syntagmes minimaux semblables à ceux que réalise IFSP (SC, NP, AP, PP, mais FV pour le groupe verbal et IV pour la base d’une infinitive). La seconde partie exprime les dépendances syntaxiques. Elles présentent la particularité, par rapport à celles qu’extrait IFSP, d’être peu nombreuses mais de comporter des traits qui permettent de les distinguer entre elles. Le premier mot de la dépendance en indique la nature (SUBJ pour sujet, VARG pour argument d’un verbe, NMOD pour modifieur de nom et ADJARG pour argument d’un adjectif). Les mots entre crochets sont des traits qui portent sur la nature de la dépendance 3. Les arguments des dépendances sont placés entre parenthèses. La principale différence directement détectable avec IFSP repose dans l’utilisation de traits pour distinguer les différentes dépendances de nature pourtant semblable. Ainsi, une même dépendance NMOD décrit la dépendance qui unit un adjectif et un nom, que cet adjectif en soit attribut (trait SPRED) ou épithète (trait LEFT si l’adjectif précède le nom et RIGHT si l’adjectif le suit). L’étude de cet analyseur permet de détecter d’autres fonctionnalités de XIP.
XIP est d’abord composé d’un moteur d’analyse développé par Claude Roux et ensuite d’une grammaire propre à la langue du texte analysé. Le moteur exploite la grammaire constituée d’un ensemble de règles explicites. La grammaire du français disponible dans le formalisme de XIP a été écrite par Jean-Pierre Chanod et Salah Aït-Mokhtar. Elle dérive donc naturellement de celle de IFSP. Cependant, la distinction entre moteur et grammaire permet d’enrichir ou de modifier à volonté cette dernière dans la limite du formalisme proposé par le moteur.
Au travers de sa grammaire décrivant la structure syntaxique des phrases en français, XIP vise comme IFSP à fournir une analyse syntaxique finale en termes de dépendances. Ce résultat ne peut être atteint que par l’intermédiaire d’une phase de constitution des groupes syntaxiques minimaux. Toutefois, contrairement à IFSP, l’étape d’analyse s’effectue désormais dans le cadre de la construction d’un arbre d’analyse partiel constitué de nœuds. Par ailleurs, en ce qui concerne l’étiquetage morphologique et donc le traitement de l’ambiguïté catégorielle, la grammaire française actuellement assignée à XIP préfère l’usage de règles contextuelles de désambiguïsation catégorielle au modèle statistique, dit « modèle de Markov caché » (Hidden Markov model, HMM). IFSP exploitait naguère les choix de ce modèle statistique pour construire ses syntagmes minimaux et établir ses relations syntaxiques.
L’étiquetage morphologique repose donc sur un ensemble de règles de désambiguïsation catégorielle qui constituent la première étape de l’analyse de XIP dès lors que la normalisation, le découpage en mots et l’analyse morphologique ont eu lieu au travers de NTM (ou de tout autre outil d’analyse morphologique qu’on lui préférerait). Lors de l’analyse morphologique, chacune des unités lexicales reçoit autant d’étiquettes morphologiques que son actualisation dans le texte permet d’en trouver. Ces différentes analyses permettent de constituer une classe d’ambiguïté pour chaque unité lexicale. Les règles de désambiguïsation catégorielle prennent en compte les classes d’ambiguïté de chacune des unités lexicales et tentent de réduire ces classes en confrontant chaque proposition aux classes d’ambiguïté du contexte de l’unité analysée.
Nous avons préféré la stratégie à base de règles pour effectuer la désambiguïsation catégorielle à la méthode statistique basée sur un HMM. Ce choix a été motivé par la possibilité, dans les règles, d’exploiter certains traits morphologiques en plus des catégories que les méthodes statistiques utilisent exclusivement. De la sorte, tous les éléments morpho-linguistiques de l’unité lexicale en cours d’analyse ainsi que ceux de son contexte peuvent être exploités pour parvenir à une meilleure désambiguïsation catégorielle. La méthode statistique fondée sur le HMM ne propose qu’une fenêtre contextuelle très limitée de deux mots pour effectuer un choix, et elle ne fonde ce choix que sur l’information catégorielle de sa fenêtre contextuelle. Elle affiche donc des possibilités restreintes par rapport à une méthode à base de règles.
|
Dans l’exemple 2.5 page précédente, nous indiquons les propositions de l’analyseur morphologique et la traduction sous forme de traits qu’en fait XIP afin de manipuler tous les éléments informatifs dont il a besoin pour effectuer son analyse. La règle de désambiguïsation catégorielle permet de restreindre partiellement l’ensemble des propositions d’analyse. En effet, à l’intérieur d’une classe d’ambiguïté dans laquelle sont présents un verbe (verb) et un nom (noun), elle prescrit de ne conserver que les propositions (quelles qu’elles soient, comme le permet le ?) ne dénotant pas un trait verbal (verb :~) lorsque le contexte gauche contient un déterminant (det) non ambigu, c’est-à-dire sans trait dénotant un pronom (pron :~), une préposition (prep :~) ou un adjectif (adj :~). Ce déterminant peut éventuellement 4 être suivi d’un ou plusieurs adjectifs (adj) dont un trait (adj2) indique que cet adjectif peut précéder le lexème dont il est épithète.
L’énoncé présenté permet l’application de la règle de désambiguïsation, car le contexte correspond à sa condition : un déterminant non ambigu (sa) puis des adjectifs (première et grande) sans limitation de nombre (*) précèdent le lexème mesure dont la classe d’ambiguïté contient les catégories nom et verbe. La règle sélectionne dès lors les propositions qui ne dénotent pas le trait verb (verb :~). Une seule proposition d’analyse est donc maintenue 5.
L’utilisation de telles règles de désambiguïsation catégorielles permet de dégager certaines différences par rapport à la méthode statistique HMM. Nous avons déjà mentionné une exploitation du contexte plus adaptée au traitement linguistique qu’une simple fenêtre, car la règle de désambiguïsation permet à la fois de sélectionner dans le contexte les éléments importants pour effectuer un choix catégoriel et de faire varier l’étendue du contexte pris en considération en fonction des besoins (notamment grâce aux expressions de généralisation ?, * et + issues des quantificateurs des expressions régulières). Un autre avantage des règles de désambiguïsation provient de l’exploitation de différents traits linguistiques là où seules les catégorie grammaticale du contexte étaient utilisées par le HMM. Enfin, la méthode HMM utilisait un corpus d’apprentissage pour établir une matrice qui permettait d’effectuer la désambiguïsation catégorielle. En cas de mauvais fonctionnement, il fallait constituer un nouveau corpus et reconstruire une matrice. L’utilisation de règles permet l’adjonction ou la correction aisée d’une ou plusieurs règles lorsque des erreurs sont constatées.
Une des particularités de XIP, dans le contexte de la grammaire utilisée, est de construire un arbre syntaxique partiel pour aboutir aux groupes syntaxiques minimaux nécessaires pour l’extraction des dépendances. Cet arbre syntaxique est composé de nœuds qui peuvent être de deux types : lexicaux ou non lexicaux. Ces nœuds sont porteurs de toute l’information linguistique liée à l’analyse effectuée par XIP excepté les dépendances. En effet, il n’entre pas dans les propriétés des nœuds de décrire les relations qu’ils entretiennent les uns avec les autres.
Les nœuds lexicaux sont ceux qui dominent immédiatement les feuilles de l’arbre syntaxique, c’est-à-dire les unités lexicales. L’information dont ils sont porteurs correspond à la catégorie grammaticale issue de l’analyse morphologique puis de la désambiguïsation catégorielle de l’unité lexicale correspondante. Il s’agit donc d’un simple étiquetage morpho-syntaxique des feuilles intégré à l’intérieur de la structure arborescente.
|
Dans le cadre de la grammaire française, les groupes syntaxiques ou syntagmes construits sont dits minimaux. Il s’agit en effet de construire un arbre syntaxique qualifié de partiel. Cela implique qu’il ne vise pas la description syntaxique de l’ensemble de la structure phrastique, mais uniquement son découpage en unités essentielles, qui sont les syntagmes minimaux. Comme dans IFSP, un groupe syntaxique minimal correspond à un groupe syntaxique traditionnel dont on aurait retranché la partie située à droite de la tête 6. Le choix de construire des syntagmes partiels comme c’est le cas pour les groupes syntaxiques minimaux permet, lors de la construction de l’arbre syntaxique partiel, de ne pas préjuger des relations syntaxiques entre la tête d’un de ces groupes et une unité lexicale qui la suit dans la phrase. L’établissement d’éventuelles relations sera effectué, le cas échéant, lors de la phase d’extraction des dépendances. Un noyau non lexical correspond à l’étiquette syntaxique du groupe syntaxique minimal qu’il domine immédiatement.
|
Une fois construit l’arbre syntaxique partiel, la tâche de XIP consiste à décrire la structure syntaxique de la phrase sous forme de dépendances. Il s’agit là d’un aspect particulièrement important de l’analyse syntaxique, les relations entre syntagmes et entre lexèmes constituant la base des liens sémantiques que nous cherchons à établir entre les concepts sémantiques dont ils sont porteurs. Les dépendances syntaxiques générées par XIP sont les étiquettes des relations établissant un lien entre différents nœuds de l’arbre syntaxique partiel. Selon qu’il s’agit d’un nœud lexical ou non lexical, la dépendance affichera donc un lexème pour lui-même 7 ou bien en tant que tête du syntagme minimal 8 représenté par le nœud.
Dans le formalisme de XIP, les dépendances syntaxiques sont dès lors exprimées selon le format :
PREDICAT(Arg1,Arg2,...,ArgN)
où Arg1,Arg2,...,ArgN correspondent à des nœuds de l’arbre syntaxique partiel entre lesquels est établie la dépendance dont le nom est PREDICAT. Étant donné que les arguments de la relation décrite sont des nœuds qui peuvent être lexicaux ou non lexicaux, le formalisme de XIP les représente, pour des raisons de lisibilité, par le nœud terminal le plus à droite (la tête) dans ceux qui sont dominés par chaque nœud constituant un argument. Dans notre exemple (cf. figures 2.7 page ci-contre et 2.8 page §, le groupe le nouveau bus constitue un syntagme minimal NP, objet direct (VARG[DIR]) de prendre, ce que XIP exprime par une dépendance VARG[DIR](prendre,bus). C’est donc une forme lexicale de surface qui fait office d’argument pour la relation, ce qui permet de grouper dans une même expression deux unités lexicales syntaxiquement liées dans l’énoncé. Les résultats qui apparaissent dans ces exemples ne sont toutefois qu’un affichage. Lorsque XIP manipule une unité lexicale ou une dépendance, l’ensemble des traits qui y sont associés sont présents et peuvent être utilisés et exploités.
Notons encore que le nombre d’arguments d’une dépendance n’est pas limité par le formalisme de XIP. Les dépendances les plus fréquentes possèdent deux ou trois arguments, indiquant ainsi une relation entre ces arguments. La formulation d’une dépendance unaire est toutefois possible, et même fréquente dans la grammaire du français. Cette particularité permet de définir des dépendances informatives liées à une seule unité lexicale, comme on le verra notamment dans la description de l’interrogation de la structure sémantique informationnelle, avec la constitution d’une dépendance FOCUS (cf. section 6.2.2 page §).
27> echo "Nous décidons de prendre le nouveau bus." | xip
SUBJ(décidons,Nous) SUBJ(prendre,Nous) VARG[DIR](prendre,bus) VARG[INF,INDIR](décidons,prendre) NMOD[LEFT,ADJ](bus,nouveau) PREPOBJ[INF](de,prendre) 0>GROUPE{SC{NP{Nous} FV{décidons}} IV{de prendre} NP{le AP{nouveau} bus} .}
|
Outre les réelles qualités de XIP dont nous avons parlé précédemment, à savoir la possibilité de modifier et d’enrichir la grammaire présente – ou de la remplacer – selon les besoins ressentis par l’utilisateur, certaines autres particularités propres à cet outil sont décisives face aux arguments qui doivent mener au choix d’un analyseur syntaxique. Notamment, la possibilité de manipuler des traits au cours de l’analyse est un avantage de premier plan dans la perspective de l’utilisation sémantique que nous désirons en faire. En effet, non seulement le système de gestion des traits permet de dépasser la syntaxe pour tendre vers la sémantique, mais de plus il est loisible d’étendre indéfiniment ou presque la variété de ces traits.
Les traits de XIP ont la forme de couples attribut :valeur. Ils peuvent être attachés soit à une forme lexicale (une feuille de l’arbre syntaxique partiel), soit à un nœud de l’arbre syntaxique, soit encore à une dépendance portant sur un ou des nœuds de cet arbre 9. De la sorte, un trait déterminant un mot, un nœud ou une dépendance peut recevoir des modifications en cours d’analyse en fonction de son environnement, mais il peut également contraindre cette analyse. Pour cela, la grammaire doit tenir compte de ces traits dans sa description de la langue pour les exploiter au mieux de leurs possibilités.
Il faut d’abord savoir que la manipulation d’un trait par la grammaire est soumise à une déclaration préalable de ce trait dans un fichier lu par le moteur avant la grammaire proprement dite. Chacun des traits est composé d’un couple attribut-valeur, cette valeur pouvant bien entendu varier lors de la manipulation du trait. Dès lors, la déclaration d’un trait dans le fichier spécifique s’effectue par la détermination de l’attribut et de l’ensemble des valeurs 10 que cet attribut peut prendre :
attribut1:{valeur1,valeur2,...,valeurN},
attribut2:{valeur1,valeur2,...,valeurN}, ..., attributM:{valeur1,valeur2,...,valeurN} |
On peut donc dire qu’un trait est défini par un attribut (attribut1 pour le trait 1, attribut2 pour le trait 2, attributM pour le trait M) dont les valeurs appartiennent strictement à l’ensemble valeur1, valeur2, ..., valeurN, dans lequel chaque valeur est nécessairement différente de toutes les autres. Dans les faits, l’application d’un trait à un ancrage déterminé ne peut spécifier qu’une seule valeur d’attribut. Lors de la déclaration d’un trait, il est possible de spécifier n’importe quelle valeur pour un attribut déterminé, que ce couple attribut-valeur ait une signification lexicale, morphologique, syntaxique, sémantique ou autre.
L’exemple 2.9 page précédente montre la déclaration de trois traits d’attributs respectifs p1, p2 et p3, dont la valeur peut être positive ou négative. Ce sont des traits morphologiques qui s’appliquent à des verbes ou à des pronoms personnels et qui en dénotent la personne. Ainsi, le pronom personnel il sera porteur d’un trait p3 :+ tandis que la forme dois du verbe devoir dénotera les traits p1 :+, p2 :+.
Il existe toutefois un attribut qui fait exception à ce mode de déclaration et d’utilisation. En effet, il peut arriver que la déclaration de toutes les valeurs possibles pour un attribut ne soit pas envisageable. Dans ce cas, la déclaration du trait ne passe pas par un couple attribut-valeur. L’attribut est fixe ($STACK) et la valeur de cet attribut pourra être n’importe quelle chaîne de caractères. Le domaine de cet attribut n’est donc pas réellement déterminé. Cette particularité est un moyen efficace d’attacher à un point d’ancrage de trait des données dépendant de l’analyse lorsqu’il s’agit d’informations qu’on ne peut anticiper. Ce trait peut aussi s’appliquer plusieurs fois à un même ancrage et posséder une valeur différente – et donc être porteur de plusieurs informations – sans que cela pose problème. Nous verrons au cours de la phase d’enrichissement que l’assignation de synonymes à une unité lexicale exploite cette fonctionnalité (cf. section 5.4 page §).
À côté des attributs entrant dans la composition des traits, il en existe d’autres, appelés « attributs généraux ». Un attribut général est un attribut commun à un ensemble de traits qu’il regroupe. Déclaré comme générique à ces traits, il n’a pas de valeur définie, sinon une caractéristique booléenne indiquant en cours d’analyse si son ancrage possède ou non un des traits dont cet attribut général est le générique. L’intérêt de l’attribut général s’affirme dans la manipulation des traits, et plus précisément dans les conditions d’application de règles XIP sur des traits.
L’utilisation des traits dans XIP est soumise à différents types de conditions. En effet, pour déterminer si un trait est présent ou non sur un point d’ancrage, il s’agit de vérifier la valeur liée à l’attribut de ce trait sur le point d’ancrage. La condition peut ainsi porter sur la valeur d’un attribut général qui englobe le trait visé ou sur la valeur du trait lui-même pour constater la présence de ce trait sur le point d’ancrage. Si la vérification est positive, on dira que cet ancrage dénote le trait dont la valeur est vérifiée. Dès lors, on peut spécifier la dénotation de l’ancrage en posant des conditions sur les traits qui lui sont ou non associés.
|
Dans l’exemple de déclaration de traits de XIP de la figure 2.10 page précédente, nous présentons un attribut général pers générique à trois traits. Ces traits sont d’attributs p1, p2 et p3 qui peuvent recevoir les valeurs + et -. Suivant les règles que nous avons énoncées ci-dessus, et en fonction de cette déclaration de traits, un point d’ancrage de traits peut dénoter les traits suivants :
Il est possible de poser différentes conditions sur un trait au départ du point d’ancrage de ce trait. Quatre types de condition se dégagent qui peuvent être exploités par des règles XIP pour manipuler les traits en fonction de la valeur de leur attribut :
Il nous reste enfin à étudier comment réaliser l’assignation des traits à leur point d’ancrage. Il y a deux modes d’assignation principaux dont le fonctionnement est fonction de la nature de l’ancrage 11.
Le premier de ces modes d’assignation précède toute analyse effectuée par XIP et découle de l’analyse morphologique. Il ne peut donc porter que sur les unités lexicales, puisqu’il n’y a pas d’arbre syntaxique ni de dépendances à ce moment. Les traits assignés aux lexèmes consistent en réalité en une traduction des étiquettes fournies par l’analyseur morphologique. Remarquons que si l’analyseur morphologique fournit des informations d’une tout autre nature que le type d’analyse à laquelle il est dédié, elles peuvent être traduites sans distinction par la grammaire de XIP et assignées sous forme de traits aux lexèmes.
On trouvera un exemple de ce mode d’assignation à la figure 2.5 page §. La catégorie grammaticale est l’étiquette du nœud terminal correspondant. Cette assignation sera effective si la désambiguïsation catégorielle aboutit. La plupart des autres informations morphologiques sont simplement traduites sous forme d’attributs (sg, fem, p1, p2) mais certains subissent un traitement plus important : SubjP ou IndP par exemple sont traduites chacune par deux traits, respectivement subj et pre, ind et pre.
Bien que ce mode d’assignation ne concerne que les unités lexicales du texte traité, l’application de règles de désambiguïsation catégorielle entraîne la sélection d’une seule analyse morphologique, et limite donc les traits affectés à chaque lexème. Toutefois, ces traits seront dès lors affectés au nœud lexical correspondant à chaque lexème dans l’arbre syntaxique partiel, les lexèmes ayant à ce moment reçu une étiquette catégorielle.
C’est au travers du formalisme de règles XIP que l’on applique la seconde méthode d’assignation de traits à un ancrage. Puisque les règles XIP produisent un résultat attaché à des nœuds ou à des dépendances, cette méthode, de par son mode de fonctionnement, ne permet pas l’assignation d’un trait à un lexème. Une règle XIP qui fait référence à un ancrage permet d’assigner un trait à cet ancrage ou de supprimer un trait déjà assigné sur cet ancrage. Pour effectuer cette assignation ou cette suppression, on utilise respectivement les formules [Attribut=Valeur] et [Attribut=~]. Notons qu’il est possible de combiner conditions sur les traits d’un ancrage et assignations de traits sur ce même ancrage. Pour illustrer ce mode d’assignation, nous prenons une règle issue de la partie de la grammaire consacrée à l’extraction des dépendances
if ( VARG[indir,pron,left](#1,#2[dat,acc]) & ~VARG[dir](#1,#) ) VARG[indir=~,dir=+](#1,#2) |
dont nous pouvons dire qu’elle permet de retirer (~) le trait indirect (indir) et d’assigner (+) le trait direct (dir) à une dépendance de type complément de verbe (VARG) si d’une part il existe entre un verbe quelconque (#1, les dépendances impliquant un verbe plaçant toujours le verbe en premier argument) et un argument dénotant les traits datif et accusatif (respectivement dat et acc) une relation de type complément indirect (indir) de verbe (VARG) impliquant un pronom (pron) placé à gauche du verbe (left), et d’autre part il n’y a pas de dépendance de type complément direct (dir) de verbe entre ce même verbe (#1) et un argument quelconque (#).
Situation d’application de la règle ci-dessus :
Julien se détache très tôt du christianisme. VARG[DIR](détache,se) Situation où la règle ci-dessus ne s’applique pas : Antoine se donna la mort dans Alexandrie assiégée. VARG[INDIR](donner,se) VARG[DIR](donner,mort)
|
Nous avons indiqué les différentes qualités qui nous amènent à choisir cet analyseur syntaxique : sa robustesse permettant de traiter toutes les phrases de nos corpus, sa souplesse qui autorise des modifications, corrections et enrichissements de la grammaire, son mode de gestion des traits et dépendances qui admet l’incursion de la sémantique dans son analyse. De plus, le formalisme de XIP nous permet un stockage ordonné et indexé de tous les résultats obtenus, sous forme de nœuds, de traits et de dépendances qui représentent la structure du texte analysé, structure dont la profondeur est fonction du type d’analyse demandé. En particulier, la possibilité d’associer des traits littéraux aux dépendances ($STACK) nous ouvre certaines perspectives d’association entre un nœud et une expression synonymique non négligeables 12. Cet outil nous semble donc adéquat pour le type d’application auquel nous désirons l’assigner.