Pascal Vaillant PVI : PROTHÈSE VOCALE INTELLIGENTE

4. Le module de génération

4.1 Le lexique TAG

La langue dans laquelle les messages sont générés est modélisée par un « lexique-grammaire » qui englobe tant l'information lexicale que l'information grammaticale servant à la production de phrases.

Le formalisme utilisé pour la représentation est celui des grammaires d'arbres adjoints (ou « TAG » : Tree Adjoining Grammar ) [Joshi et coll.  1975; Abeillé 1993]. Chaque entrée lexicale est représentée dans ce formalisme par au moins un arbre élémentaire dont l'une des feuilles, appelée l'ancre , est instanciée. Cette ancre correspond à l'élément lexical : c'est le mot français qui exprime cette entrée. L'arbre syntaxique élémentaire au sein duquel elle s'inscrit correspond à la tournure en laquelle elle s'emploie. Ainsi aucun lexème n'est-il représenté dans le dictionnaire sans un minimum d'information sur les structures grammaticales dans lesquelles il s'insère.

Un exemple minimal d'arbre élémentaire correspondant à une entrée lexicale est montré fig. 12. Il s'agit du groupe nominal lexicalisant le concept ' papa '.

Fig. 12 :L'arbre élémentaire correspondant au lexème  "Papa"
GN - Papa

4.1.1 Les arbres élémentaires et l'opération de substitution

Tous les exemples ne sont pas aussi simples que celui qui précède. L'intérêt de stocker l'information lexicale dans des arbres syntaxiques est de disposer, au niveau même de l'entrée lexicale, de la connaissance sur la façon dont la langue opère pour exprimer les relations microsémantiques du sémème avec son contexte.

Il s'agit en somme de répondre à la question suivante : connaissant un concept, comment l'exprimer dans un syntagme français correct ; et si ce concept est prédicatif, comment exprimer dans un syntagme français correct ce concept et ses relations actancielles ?

Les arbres élémentaires correspondant à des sémèmes prédicatifs contiennent la réponse à cette question sous la forme de noeuds non instanciés  qui peuvent s'unifier avec des syntagmes correspondant aux actants. L'opération d'unification mise en oeuvre est appelée substitution  (fig. 13.a).

Fig. 13 :Les deux opérations définies sur les arbres dans le modèle TAG
a. Subst : arbre A2 de tête X greffé sur une feuille X
de A1 ; b. Adj : arbre A2 de tête X ayant aussi une feuille X,
INTERCALÉ au niveau d'un noeud X non-terminal de A1

Ainsi le sémème ' donner ' s'exprime-t-il souvent en français par le verbe " donner " [4] dans une tournure du type : «  X donne Y à Z » ; où X, Y et Z sont des groupes nominaux exprimant respectivement l'actant agent , l'actant objet  et l'actant récepteur  du sémème. L'entrée du lexique correspondant à cette tournure est l'arbre élémentaire représenté fig. 14.

Fig. 14 :Un arbre élémentaire correspondant à la tournure  « X donne Y à Z »
[P: [GN: ?(agnt)][GV: [V: DONNER][GN: ?(objt)][GP:
[Prep: À][GN: ?(rcpt)]]]]

Si l'agent de " donner " se trouvait être " papa ", une unification de l'arbre élémentaire exprimant " papa " (dont la tête est un noeud de type GN) serait possible avec le GN non instancié correspondant à l'agent, X, dans l'arbre fig. 14. L'opération de substitution , à partir de ces deux arbres élémentaires, donnerait alors l'arbre représenté fig. 15.

Fig. 15 :L'arbre correspondant à  « Papa donne Y à Z »(il reste deux places à substituer)
[P: [GN: PAPA][GV: [V: DONNER][GN: ?(objt)][GP: [Prep:
À][GN: ?(rcpt)]]]]

Le lexique contient parfois plusieurs arbres élémentaires pour une seule entrée ; ces différents arbres correspondent à des tournures différentes en lesquelles le sémème peut se lexicaliser. Ainsi les deux arbres rangés sous l'entrée " voir " (fig. 16.a. et b.) permettent-ils d'exprimer tous deux le sémème " voir " avec un agent et un objet ; mais le premier convient à un objet pouvant s'exprimer sous forme de groupe nominal (par exemple «  Papa voit le chat »), tandis que le second convient à un objet pouvant s'exprimer sous forme de phrase (par exemple «  Papa voit que le chat mange »).

Fig. 16 :Deux arbres élémentaires pour le sémème "voir"
a. [P: [GN: ?(agnt)][GV: [V: VOIR][GN: ?(objt)]]] ; b.
[P: [GN: ?(agnt)][GV: [V: VOIR][PS: [Conj: QUE][P: ?(objt)]]]]

Ce modèle de stockage lexicalisé des connaissances grammaticales réemploie deux fois une information quasiment identique lorsque deux verbes, par exemple, s'expriment avec la même tournure («  X donne Y à Z », «  X prête Y à Z »). Mais vue la disponibilité immédiate de l'information qu'il apporte, il ne pourrait devenir rentable de tenter de faire des économies sur ce point que si l'on avait à gérer d'importantes classes de verbes à emploi similaire. Ce n'est pas le cas dans l'application PVI.

4.1.2 Les arbres auxiliaires et l'opération d'adjonction

Le modèle TAG prévoit une opération d'unification complexe capable de rendre compte des modifications et des ajouts : l' adjonction  [Abeillé 1993]. Cette opération consiste en quelque sorte en deux substitutions simultanées ; plus précisément, elle permet d'intercaler un arbre, dit auxiliaire , au niveau d'un noeud intermédiaire d'un arbre syntaxique. La tête de l'arbre auxiliaire s'unifie au niveau de ce noeud intermédiaire, tandis qu'en un noeud particulier, le pied  de l'arbre auxiliaire, se rebranche la partie de l'arbre d'origine située en aval du noeud intermédiaire (fig. 13.b).

La modélisation sous forme d'arbres élémentaires auxiliaires convient particulièrement aux entrées lexicales qui ne constituent pas en elles-mêmes des têtes sémantiques, mais qui apportent juste une modification à un autre sémème : adverbes, adjectifs ... Ainsi l'arbre élémentaire correspondant à " peut-être " est-il représenté fig. 17.

Fig. 17 :L'arbre élémentaire auxiliaire correspondant à "peut-être"
[V: [V: *(pied)][Adv: PEUT-ÊTRE]]

Dans le cas des adjectifs, on peut trouver sous la même entrée lexicale à la fois un arbre élémentaire « initial », utilisé lorsque l'adjectif est la tête sémantique d'une phrase, (fig. 18.a), et un arbre élémentaire auxiliaire, utilisé lorsque l'adjectif n'est le modifieur d'un actant plus important dans le message (fig. 18.b).

Fig. 18 :Deux arbres élémentaires pour l'adjectif "gentil"
a. [P: [GN: ?(qual)][GV: [V: ÊTRE][Adj: GENTIL]]] ; b.
[N: [Adj: GENTIL][N: *(pied)]]

4.1.3 Arbres non terminaux

Il convient de noter que notre modèle du lexique TAG n'est pas entièrement lexicalisé, contrairement à ceux que Schabes ou Abeillé utilisent pour l'analyse [Schabes et coll.  1988]. Il contient des arbres non-terminaux que nous utilisons pour factoriser des tournures grammaticales systématiques ; ainsi le complément instrumental peut, dans le cas général - s'il n'est pas spécifié dans l'arbre élémentaire du verbe auquel il s'applique - s'exprimer par un groupe prépositionnel «  avec X ». Cette tournure est représentée dans le lexique par l'arbre de la figure 19, auquel le groupe nominal complément d'instrument est substitué (noeud en bas à droite), tandis que l'arbre dérivé est lui-même adjoint à un autre arbre, au niveau du noeud correspondant au prédicat.

Fig. 19 :La formation du complément d'instrument avec "avec"
[GV: [GV: *(pied)(prédicat)][GP: [Prep: AVEC][GN:
?(instr)]]]

De même, au cours de la génération, il est possible qu'un prédicat, considéré comme annexe relativement à un autre, et normalement exprimable par un arbre P (phrase) complet uniquement, vienne s'adjoindre sous la forme d'une proposition subordonnée relative enchâssée dans un groupe nominal à la phrase du prédicat « principal ». Ceci est rendu possible par l'existence de procédures de transformation régulière d'arbre P en arbre CP (complément propositionnel), du type :

  «  le chat mange la viande » --> « [le chat] qui mange la viande »
  «  le chat mange la viande » --> « [la viande] que le chat mange »

Nous reviendrons sur ces mécanismes en § 4.2.2. Il reste que ce lexique TAG non entièrement lexicalisé se révèle d'une particulière souplesse pour les besoins d'un module de génération.

4.1.4 Les règles d'accord

Les mécanismes d'unification de traits proposés dans le modèle TAG n'ont pas été ici implantés rigoureusement. Les phénomènes d'accord sont implantés de façon plus « efficace », mais moins « propre », sous la forme de buts PROLOG gelés ([PrologIA 1993], § 2.2, p. R 2-9).

Un but gelé, en PROLOG, est un but qui conditionne le résultat final du but qui l'appelle, mais qui n'entrave pas le déroulement de la résolution des buts suivants. Il reste en attente de résolution tant qu'une certaine variable, que l'on précise lors de l'appel, n'est pas instanciée. Lorsque la variable s'instancie, la résolution du but reprend normalement, et conduit à une réponse définitive (solutions possibles ou échec).

Le but gelé permet donc en quelque sorte de fournir une instruction au système, en lui laissant la possibilité de ne s'en préoccuper que lorsqu'il aura réuni les données suffisantes pour le faire.

Dans le cas qui nous intéresse, les règles d'accord sont codées sous la forme de conditions posées à l'émergence même d'une solution au prédicat de base de données. Ainsi, alors qu'un arbre initial simple, comme celui de " papa " (fig. 12), est une solution inconditionnelle au prédicat de base de données arbre :

arbre(<lex_papa,n>,<<GN,
                        <<Nom,<lex_papa,n>>>>,
                    nil>) ->;

un arbre initial, en revanche, qui subordonne des groupes devant s'accorder, sera codé avec une condition gelée (donc en partie droite de la clause de Horn) correspondant à l'instanciation de l'accord. Ainsi pour " donner " (fig. 14) :

arbre(<lex_donner,n>,<<Ph,
                          <<GN,_n0>,
                           <GV,
                               <<Vb,<lex_donner,n>>,
                                <GN,_n1>,
                                <GP,_n2>>>>>,
               
<agent,<GN,_n0>>.<objet,<GN,_n1>>.<recepteur,<GP,_n2>>.nil>)
->
  freeze(_n0,nominatif(_n0))
  freeze(_n1,accusatif(_n1))
  freeze(_n2,datif(_n2))
  freeze(_n0,accord(<GN,_n0>,<Vb,<lex_donner,n>>));

On voit dans cet exemple quatre buts gelés :

La règle accord/2 est une règle complexe, qui s'oriente vers des actions différentes selon qu'il s'agit d'accorder un verbe avec un nom, un adjectif avec un nom ... Elle sait dans quel cas il s'agit d'accorder en personne et en nombre (verbes), en genre et en nombre (adjectifs) ...

Dans tous les cas, les données qui s'instancient tout d'abord sont celles qui ont un ancrage lexical : ainsi le nom commun a-t-il de façon univoque, dans le lexique morphologique (§ 4.3.2), un trait de genre et un trait de personne (c'est toujours la troisième) [5]. Dès que cet ancrage lexical est trouvé, les buts accord en attente se dégèlent successivement, au fur et à mesure de l'instanciation des traits morphosyntaxiques sur les noeuds terminaux de l'arbre, pour arriver en fin de compte à une instanciation de ces traits sur l'ensemble de l'arbre.

---> Les seuls phénomènes d'unification relativement complexes qui justifient le modèle des traits d'unification amont et aval en TAG [Vijay-Shanker & Joshi 1988] sont les opérations d'adjonction qui modifient la structure de traits des lemmes situés sous le noeud où se fait l'adjonction. Ainsi le passé composé est-il modélisé par une adjonction de verbe auxiliaire sur un noeud V. Certains traits de nombre et de personne sont reportés sur le participe passé, qui change en revanche de mode verbal ; l'auxiliaire, lui, reçoit les traits de personne et de nombre du sujet, ainsi que le mode verbal du verbe principal avant l'adjonction. Ce phénomène, l'accord des participes, n'est actuellement pas correctement modélisé dans PVI.

4.2 La hiérarchisation du réseau en arbres

La génération de phrases en français à partir d'une représentation du sens consiste en fin de compte à transformer un graphe en un (ou plusieurs) arbres. Ce processus, qui est donc une hiérarchisation  de graphe, est décrit dans les paragraphes qui suivent.

4.2.1 Le premier parcours du graphe

Une première passe permet d'engendrer à partir du graphe un premier arbre syntaxique, qui correspond à l'expression simple du premier prédicat et de ses arguments, sans ajout ni modifieur.

Il faut rappeler que le graphe se présente sous la forme d'une liste de structures prédicat-liste d'arguments ; ainsi un graphe relativement complexe comme celui de la figure 20 («  Papa voit que le gentil chat a mangé la viande ») est-il représenté linéairement par la séquence [VOIR : agent = PAPA, objet = MANGER], [GENTIL : qualifie = CHAT], [MANGER : agent = CHAT, objet = VIANDE], [AVANT : quand = MANGER] :

voir(agent(papa).objet(manger).nil).gentil(qualifie(chat).nil).\
  manger(agent(chat).objet(viande).nil).avant(quand(manger).nil).nil
Fig. 20 :Graphe conceptuel résultant de l'analyse dePAPA /VOIR /CHAT /GENTIL /MANGER /AVANT /VIANDE
Représentation en 2D du graphe

La première passe de hiérarchisation correspond donc à la recherche d'un arbre de couverture  du graphe, dont le noeud tête, celui par lequel commence le parcours du graphe, est le premier prédicat de la liste (celui qui arrive en tête dans l'ordre de topicalité). Ainsi, la première passe sur le graphe [MANGER : agent = CHAT, objet = VIANDE], [AVANT : quand = MANGER] donne-t-elle l'arbre correspondant à la phrase «  le chat mange la viande ». La première passe sur le graphe [VOIR : agent = PAPA, objet = MANGER], [GENTIL : qualifie = CHAT], [MANGER : agent = CHAT, objet = VIANDE], [AVANT : quand = MANGER] donne l'arbre correspondant à la phrase «  Papa voit que le chat mange la viande ».

Ce parcours se réalise par appel récursif de la règle de hiérarchisation lorsqu'elle se porte sur des actants qui sont eux-même des prédicats (tels MANGER qui, dans l'exemple ci-dessus, est à la fois l'objet de " voir " et la tête sémantique d'une autre proposition).

En effet, l'opération atomique de conversion de la structure de graphe (§ 3.2) en structure d'arbre syntaxique (§ 4.1) est la sélection, pour un noeud donné du graphe, d'un arbre élémentaire du lexique-grammaire TAG exprimant ce noeud et ses éventuels actants (exemple fig. 21).

Fig. 21 :Sélection d'un arbre TAG élémentaire pour un noeud prédicat du graphe
[X] <-(agnt)- [DONNER] ¶ -(objt)-> [Y] ¶ -(rcpt)-> [Z]
donne l'arbre correspondant à *X donne Y à Z*

À chaque étape de la première passe de hiérarchisation du réseau, le programme transforme donc un noeud, le noeud « courant », en arbre syntaxique élémentaire, puis appelle récursivement la fonction de hiérarchisation sur les noeuds qui se trouvent eux-mêmes au bout des relations casuelles du noeud courant.

Le processus PROLOG essaie ainsi un par un, au noeud n , tous les arbres élémentaires du lexique TAG correspondant à l'entrée n , jusqu'à ce qu'il en trouve un lui permettant d'aboutir avec succès à un arbre de couverture (partielle) du graphe : à chacune de ces sélections, il essaie d'appliquer récursivement le même traitement aux noeuds situés directement en aval de n : n 11 , n 21 , ... n m1 . La génération réussie de l'arbre au niveau n  dépend alors de la génération réussie des arbres lexicalisant n 11 , n 21 , ... n m1 , puis de leur unification réussie sur les noeuds à substituer dans l'arbre de n . Si cette unification ne peut aboutir pour tous les n i1 , alors on essaye, s'il y en a, un autre arbre élémentaire lexicalisant n - et ainsi de suite jusqu'à épuisement de la liste. Ce processus est illustré sur la figure 22.

Fig. 22 :Le processus de génération pour le graphe fig. 20 («  Papa voit que le gentil chat a mangé la viande »).1 est une première ébauche de la phrase principale.2 et3 s'unifient par substitution.6 est une adjonction ultérieure à la première passe
1. X[GN] voit que Y[P]. 2. X <- [GN: Papa]. 3. Y <- [P:
Z mange T]. 6. avoir-V-V* se greffe à *manger*.

Ainsi lorsqu'il tente de lexicaliser le noeud " voir " (fig. 22, opération 1), le programme tente-t-il tout d'abord le premier arbre élémentaire qui lui est fourni par le lexique TAG à l'entrée " voir " : l'arbre représenté fig. 16.a. C'est lorsqu'il échoue à unifier la partie du graphe représentant l'objet de " voir " (" manger " et ses actants) à un noeud de substitution étiqueté GN, qu'il abandonne finalement cet arbre élémentaire pour essayer - avec plus de succès - l'arbre de la fig. 16.b.

Certains actants, lorsque leur type de relation casuelle avec le prédicat n'est pas inclus dans l'une des représentations de l'entrée lexicale de celui-ci, sont également traités dans cette phase de premier parcours, mais avec une méthode différente : ils sont intégrés par substitution à un arbre auxiliaire non-terminal, du type de celui qui représente les compléments d'instrument (fig. 19), et l'arbre dérivé est lui-même adjoint à l'arbre de la phrase en cours au noeud courant (qui représente le prédicat).

Cette première passe de hiérarchisation permet ainsi d'aboutir, à partir du premier prédicat du graphe, à une phrase qui est déjà au moins un squelette du message final.

4.2.2 Adjonctions

Cette première passe peut néanmoins laisser des parties de graphe non parcourues. En effet le processus décrit ci-dessus (§ 4.2.1), par nature, ne suit les arcs relationnels que dans le sens des flèches. En d'autres termes, le graphe n'admet pas systématiquement un arbre de couverture connexe.

Dans de tels cas, les différentes parties non connexes du graphe, qui n'ont pas encore été traitées, sont elles-mêmes parcourues tour à tour, dans l'ordre correspondant à la topicalité du message (ordre qui a été préservé dans toutes les phases de traitement depuis l'analyse). Le programme essaye dans cette phase d'exprimer ces parties supplémentaires suivant deux stratégies :

Dans la mesure du possible, l'ordre de topicalité du message est conservé lors de la génération. On en voit un exemple lorsque l'on compare les réponses fournies par PVI à la séquence CHAT / MANGER / OISEAU / GENTIL et à la séquence OISEAU / GENTIL / MANGER / CHAT, respectivement :

> test(chat.manger.oiseau.gentil.nil);
Séquence : chat.manger.oiseau.gentil.nil
Graphe   :
manger(agent(chat).objet(oiseau).nil).gentil(qualifie(oise\
au).nil).nil
Phrase   : Le chat mange le gentil oiseau. (2417 ms)
> test(oiseau.gentil.manger.chat.nil);
Séquence : oiseau.gentil.manger.chat.nil
Graphe   :
gentil(qualifie(oiseau).nil).manger(agent(chat).objet(oise\
au).nil).nil
Phrase   : L'oiseau que le chat mange est gentil. (2317 ms)

Dans les deux cas, l'analyse aboutit au graphe représenté fig. 23 (car les « contraintes » sémantiques conservées dans le dictionnaire d'icônes interdisent que ce soit l'oiseau qui mange le chat). Mais dans le premier cas, la topicalité du message porte d'abord sur l'action de manger  (le prédicat MANGER apparaissait avant le prédicat GENTIL dans la séquence d'entrée), alors que dans le second cas, elle porte d'abord sur l'état de gentil -lesse de l'oiseau.

Fig. 23 :Graphe conceptuel résultant de l'analyse deOISEAU /GENTIL /MANGER /CHAT et deCHAT /MANGER /OISEAU /GENTIL
[CHAT] <-(agnt)- [MANGER] -(objt)-> [OISEAU] <-(qual)-
[GENTIL]

À la génération, le premier parcours de hiérarchisation du réseau va donc aboutir, pour le premier cas, à «  Le chat mange l'oiseau », et pour le second cas, à «  l'oiseau est gentil ». Les prédicats restant sont alors exprimés dans les deux cas par adjonction à la phrase déjà formée ; adjonction d'un adjectif épithète dans le premier cas, adjonction d'une subordonnée relative dans le second cas. Ce qui aboutit finalement aux phrases : «  le chat mange le gentil oiseau », et «  l'oiseau que le chat mange est gentil ».

4.2.3 Génération de plusieurs arbres 

Lorsque le programme a déjà engendré une phrase correspondant au premier parcours du graphe, il essaye, on l'a vu, d'exprimer l'information restante par des adjonctions dans la même phrase. Il dispose en outre d'une autre stratégie, qui est de commencer une nouvelle phrase pour le nouveau prédicat à exprimer.

En fait, comme le langage PROLOG est non-déterministe, toutes les solutions possibles sont systématiquement calculées. Ainsi un graphe comme [VOIR : agent = MOI, objet = CHAT], [GENTIL : qualifié = CHAT] peut-il s'exprimer par la phrase «  je vois le gentil chat », ou, secondairement, par «  je vois le chat ; le chat est gentil » [7]. Bien entendu, l'interface ne peut présenter, elle, qu'une seule sortie à la fois, et c'est donc dans ce cas la première phrase qui sera, seule, affichée et transmise à la synthèse vocale.

Dans certains cas, le choix n'existe pas et le système doit générer son message en plusieurs phrases. Ainsi lorsqu'il faut exprimer deux propositions de même niveau, dont aucune n'est subordonnée à l'autre, et qui ont un actant en commun. Dans un tel cas, on ne dispose, d'une part, ni de la possibilité d'exprimer l'une de ces propositions sous la forme d'une subordonnée relative, ni d'autre part de la possibilité de coordonner des groupes verbaux. Ainsi l'analyse de MOI / MANGER / BOIRE aboutit-elle nécessairement à «  je mange ; je bois ».

Lorsque le système crée un arbre correspondant à une nouvelle phrase, alors qu'il en a déjà engendré au moins une pour exprimer le même graphe, il s'assure également que le groupe nominal sujet de cette nouvelle phrase n'a pas déjà été formulé tel quel dans l'une des phrases précédentes. Si c'est le cas, alors dans la nouvelle phrase, ce groupe nominal est transformé en pronom sujet.

4.3 La linéarisation de l'arbre

La phase la plus triviale de la génération, enfin, est de transformer l'arbre, ou la forêt d'arbres syntaxiques, en une chaîne de caractères qui puisse être affichée à l'écran et envoyée au module de synthèse vocale.

Fig. 24 :Arbre engendré par le module de génération pour le graphe fig. 20
[P: [GN: [Nom: PAPA]][GV: [Vb: VOIR][PS: [Cnj: QUE][P:
[GN: [Def: LE][Nom: [Adj: GENTIL][Nom: CHAT]]][GV: [Vb: [Vb:
AVOIR][Vb: MANGER]][GN: [Def: LE][Nom: VIANDE]]]]]]]

4.3.1 Recueil des noeuds terminaux

Un parcours en profondeur de l'arbre permet de construire la liste des noeuds terminaux. Ceux-ci sont des éléments lexicaux du type <Étiquette de catégorie, <Entrée lexicale, <Identificateur, <Liste de traits morphosyntaxiques> > > >.

4.3.2 Les entrées du lexique morphologique

Grâce à ces informations, on peut aller récupérer dans le lexique morphologique la forme de surface qui correspond à la déclinaison adéquate de l'entrée lexicale. Voici un exemple de déclinaisons d'un lemme telles qu'elles se présentent dans le lexique des formes morphologiques :

lexical(<Adj,lex_gentil>,"gentil",adj.mas.sing.nil) ->;
lexical(<Adj,lex_gentil>,"gentille",adj.fem.sing.nil) ->;
lexical(<Adj,lex_gentil>,"gentilles",adj.fem.plur.nil) ->;
lexical(<Adj,lex_gentil>,"gentils",adj.mas.plur.nil) ->;

4.3.3 Élision, majuscules, ponctuation

Enfin, de dernières retouches « cosmétiques » sont apportées à la concaténation des formes de surface trouvées dans le lexique morphologique :  

5. Évaluation et discussion

5.1 Banc d'essai

Une première évaluation du système a été menée suivant le principe du banc d'essai, c'est-à-dire « en laboratoire » : un ensemble de 200 séquences d'icônes, correspondant dans leur structure à des expressions produites spontanément en situation réelle [8] a été soumis à PVI pour interprétation et génération. Concrètement, c'est un fichier contenant la liste des séquences d'identificateurs qui a été fourni en entrée au système. Le but de ce banc d'essai était de tester les performances du programme de traduction sur des entrées formatées, indépendamment de l'interface.

Les résultats fournis par le programme ont été classés en quatre catégories :

  1. Bonne interprétation, bonne génération ;

  2. Bonne interprétation, génération mauvaise ou maladroite ;

  3. Interprétation incomplète ou maladroite ;

  4. Interprétation fausse ou dépourvue de sens.

Les résultats du classement ont été les suivants :

  Catégorie I :   147 séquences ;
  Catégorie II :   15 séquences ;
  Catégorie III :   15 séquences ;
  Catégorie IV :   18 séquences ;

Ceci signifie aue l'ensemble des phrases correctement traitées représente 73,5% du total. Ou encore, si l'on décide de compter comme « acceptables » les séquences qui ont été soit correctement interprétées et générées, soit à la rigueur correctement interprétées mais imparfaitement générées (c'est-à-dire en groupant les catégories I et II), que le taux d'acceptabilité  de PVI, sur ce banc de tests, est de 80,5%.

Ce score sur banc d'essai n'a toutefois absolument pas la valeur d'un taux d'acceptabilité par l'utilisateur, qu'il revient à ce dernier d'évaluer.

5.2 Évaluation sur site

L'évaluation sur site a été conduite par des orthophonistes et des ergothérapeutes au CRRF de Kerpape de décembre 1995 à mai 1996. Un prototype, livré avec une version de test de l'interface, contenant 152 icônes, a été testé par chacun des quatre utilisateurs pendant une période d'un mois. Un retour d'expérience plus qualitatif a pu à cette occasion être recueilli, et a enseigné en premier lieu qu'il restait encore beaucoup à faire pour transformer PVI en un produit acceptable.

Il a tout d'abord été souligné qu'un taux d'erreur donné pouvait paraître beaucoup moins acceptable en conditions réelles d'utilisation que sur banc d'essai. Il faut garder à l'esprit qu'une personne souffrant de handicaps moteurs, qui accède aux icônes par le truchement d'un dispositif de désignation à défilement colonne/ligne, peut passer plusieurs minutes à composer une séquence complète. Il est compréhensible dans ces conditions que toute réponse insatisfaisante soit ressentie par lui comme extrêmement frustrante. Des améliorations ergonomiques ont été suggérées ; nous avons ainsi en fin de compte, dans la dernière version du système, remplacé les messages d'erreur initialement programmés par de simples transcriptions linéaires de la séquence d'entrée brute. Ce type de résultat, s'il ramène finalement à celui que donnerait un simple système de désignation sans traitement intelligent, est en tout cas très largement mieux toléré par les utilisateurs que le « message incompris » des premières versions.

Pour ce qui est du module linguistique proprement dit, un certain nombre d'erreurs sont apparues fréquemment, essentiellement dûes au module d'analyse (sur 34 occurrences d'erreurs pendant les évaluations, 3 seulement étaient attribuables au module de génération, et encore ont-elles pu être corrigées sans difficulté).

En définitive, il reste en effet dans PVI un problème central, qui est celui de l'équilibre (fragile) que la conception du lexique doit permettre d'installer entre la précision d'interprétation et le pouvoir expressif. Les contraintes imposées à l'interprétation par les restrictions de sélection (modélisées ici par les trait sémantiques extrinsèques), peuvent se révéler dans certains contextes trop faibles - et conduire à des affectations d'actants inappropriées -, mais dans d'autres contextes trop fortes - et empêcher l'utilisateur de dire quoi que ce soit d'autre que ce qui a été prévu et prescrit dans un schéma actanciel étroit, toute autre interprétation étant rejetée, quelle que soit la manière dont la séquence est tournée. Toutes les erreurs d'analyse sémantique relevées résultent au fond d'un déséquilibre de ce type.

Ce problème de maniement délicat des unités primitives lexicales nous conduit à évoquer le problème plus vaste de la complexité croissante du lexique. Ajouter du vocabulaire à PVI est une tâche plutôt simple tant qu'il s'agit de personnes, d'animaux familiers, de fruits et légumes ... bref de rajouter des membres à des taxèmes déjà existants. Mais lorsqu'il s'agit de définir de nouveaux prédicats - disons de nouveaux « verbes » pour simplifier -, cette tâche implique de prévoir et de définir les différentes interactions sémantiques possibles de ces verbes avec les autres icônes déjà présentes dans le lexique. Ceci signifie définir des traits de sélection au niveau des verbes que l'on ajoute, mais également retoucher le lexique déjà existant en rajoutant des traits intrinsèques pour toutes les icônes susceptibles d'interagir de manière particulière avec ces verbes. Or ces nouveaux traits peuvent eux-mêmes modifier les interactions de ces icônes avec d'autres verbes déjà existant, etc. En somme, chaque ajout d'un nouveau concept au lexique demanderait dans l'idéal un nouveau cycle complet de contrôle de cohérence et un nouveau re-réglage global.

6. Conclusion

Les principes d'analyse sémantique définis dans le cadre du projet PVI ont fait la preuve de leur intérêt et de leur validité sur un domaine miniature, ce qui est un résultat relativement positif dans le cadre d'un projet de recherche prospective. Les problèmes identifiés pendant le développement et confirmés par l'évaluation, en revanche, rendent inenvisageable le passage immédiat à une phase de développement plus « industriel » et permettent d'identifier les points sur lesquels devraient porter des efforts de robustification.

Retour à Pascal Vaillant PVI : PROTHÈSE VOCALE INTELLIGENTE


NOTES

[4] Il y a aussi le substantif "don ", qui permet de regrouper le concept et ses actants sous un syntagme nominal, à condition qu'il n'y ait pas de nuance aspectuelle ou temporelle à exprimer, et que l'on puisse ou veuille éluder l'un des actants agent ou objet.

[5] Le trait nombre est dans cette version de PVI également toujours fixé - la plupart du temps au singulier -, car la marque du pluriel n'est pas traitée en analyse. Il existe donc également des noms fixés au pluriel, qui correspondent à des collectifs (p.ex. "fruits ").

[6] Le passé est dans cette application systématiquement traduit par un passé composé, et le futur par un futur proche avec l'auxiliaire « aller » : les phrases engendrées aspirent à une ressemblance avec du français oral.

[7] Il n'y a pas dans ce système de nuance entre la ponctuation « ; » et la ponctuation « . ». Le point-virgule dans cet exemple sépare bel et bien deux phrases différentes ; son choix est en fait imposé par les caractéristiques de certains systèmes de synthèse vocale placés en aval, et qui considèreraient le point comme une marque de fin de séquence à synthétiser, oubliant ainsi la deuxième phrase.

[8] On s'est inspiré de séquences fournies par les corpus du centre de Kerpape, en adaptant éventuellement le vocabulaire pour se replacer dans l'ensemble couvert par le lexique d'icônes (e.g. Maman acheter moi classeur  devient Maman donner moi livre ).


BIBLIOGRAPHIE

[Abeillé 1993] Anne Abeillé. Les nouvelles syntaxes. Grammaires d'unification et analyse du français.   Paris : Armand Colin (coll. « Linguistique »), 1993.
[Bratko 1990] Ivan Bratko. Prolog Programming for Artificial Intelligence.   Wokingham (Angleterre) : Addison-Wesley, 1990. 2ième éd.
[Checler 1995] Michaël Checler. Interface Homme-Machine du projet PVI - Prothèse Vocale Intelligente.   Rapport de stage ESIEA, Paris, janvier 1995.
[Eco 1968] Umberto Eco. La structure absente. Introduction à la recherche sémiotique.   Paris : Mercure de France, 1984. (trad. fr. de La struttura assente. La ricerca semiotica e il metodo strutturale.  Milan : Bompiani, 1968).
[Eco 1975] Umberto Eco. Trattato di semiotica generale.   Milan : Bompiani (coll. « Il campo semiotico »), 1975.
[Greimas & Courtés 1979] Algirdas Julien Greimas et Joseph Courtés. Sémiotique. Dictionnaire raisonné de la théorie du langage.   Paris : Hachette (coll. « Hachette Université Linguistique »), 1979.
[Groupe µ 1992] Groupe µ (Francis Edeline, Jean-Marie Klinkenberg et Philippe Minguet). Traité du signe visuel. Pour une rhétorique de l'image.   Paris : Seuil (coll. « La couleur des idées »), 1992.
[Hehner 1980] Barbara Hehner. Blissymbols for use.   Toronto, Ontario (Canada) : The Blissymbolics Communication Institute, 1980.
[Hjelmslev 1968] Louis Hjelmslev. Prolégomènes à une théorie du langage.   Paris : Minuit (coll. « Arguments »), 1968. (trad. fr. d'une trad. angl. de 1953 - éd. orig. Copenhague, 1943).
[Joshi et coll. 1975] A. K. Joshi, L. S. Levy, M. Takahashi. « Tree adjunct grammars ». Journal of Computer and System Sciences.   1975.
[Malmberg 1979] Bertil Malmberg. Le langage. Signe de l'humain.   Paris : Picard (coll. « Empreinte »), 1979.
[Morris 1946] Charles Morris. Signs, Language and Behavior.   New York : Prentice-Hall, 1946.
[Peirce 1978] Charles S. Peirce. Écrits sur le signe.   Paris : Seuil (coll. « L'ordre philosophique »), 1978.   Rassemblés, traduits et commentés par Gérard Deledalle.
[PrologIA 1993] Société PrologIA. PROLOG II+ version 3.1 - Manuel de référence.   Marseille, 1993.
[Rastier 1987] François Rastier. Sémantique interprétative.   Paris : P.U.F. (coll. « Formes Sémiotiques »), 1987.
[Rastier et coll. 1994] François Rastier, Marc Cavazza, Anne Abeillé. Sémantique pour l'analyse.   Paris : Masson (coll. « Sciences Cognitives »), 1994.
[Schabes et coll. 1988] Yves Schabes, Anne Abeillé, Aravind K. Joshi. « Parsing strategies with lexicalized grammars: application to TAG ». In "COLING 88" (Proceedings of the 12 th International Conference on Computational Linguistics).   Budapest (Hongrie), 1988.
[Sowa 1984] John Sowa. Conceptual structures: information processing in mind and machine.   New York (U.S.A.) : Addison-Wesley, 1984.
[Vaillant 1995] Pascal Vaillant. Prothèse Vocale Intelligente : Notice d'utilisation.   Thomson-CSF/LCR, Orsay, juin 1995.
[Vijay-Shanker & Joshi 1988] K. Vijay-Shanker et A. K. Joshi. « Feature structure based tree adjoining grammars ». In "COLING 88" (Proceedings of the 12 th International Conference on Computational Linguistics).   Budapest (Hongrie), 1988.


© Texto! 2001pour l'édition électronique