UP PREVIOUS NEXT TOP

4.4 Traitement du langage naturel

La disponibilité de procédures paramétrisables d'analyse de réponse est une caractéristique principale des langages-auteur. De telles procédures n'existent pas dans les outils plus universels tels que Hypercard ou Toolbook. La spécificité d'Authorware par rapport à d'autres langages-auteur est la présence d'un nombre important de paramètres: ponctuation, majuscules, mots excédentaires, ordre des mots, espaces, matching partiel et progressif. Toutefois, il s'agit encore d'un traitement assez superficiel des réponses, basé sur l'identification de mots et non de structures. Si le pattern recherché est une phrase, l'auteur peut soit exiger un respect strict de l'ordre des mots du pattern, soit accorder une liberté totale. Il ne peut définir un niveau de contrainte intermédiaire basé sur la syntaxe de la langue. Considérons par exemple que l'auteur veuille identifier la phrase suivante: 'Le chien de ma voisine a mordu Michel'. Authorware offre des possibilités limitées pour discriminer cette phrase parmi d'autres: L'idéal serait de pouvoir accepter comme équivalent à la phrase-cible une phrase telle que 'Michel a été mordu par le chien de ma voisine'. Certaines techniques développées par les chercheurs en intelligence artificielle permettent un tel traitement. Nous les décrivons brièvement ici. Cette section ne présente pas un tableau de l'état de la recherche dans ce domaine, elle se limite à présenter quelques mécanismes élémentaires d'analyse automatique du langage.

La première étape du traitement du langage consiste à identifier la catégorie lexicale de chaque mot. Les connaissances concernant la nature des mots figurent dans un lexique ou dictionnaire. Celui-ci contient en outre des connaissances morphologiques permettant d'identifier les diverses variations d'un même mot, notamment de savoir que 'a mordu' correspond au verbe 'mordre', conjugué à la troisième personne du passé composé et à la voix active. Pour traiter notre exemple, les connaissances suivantes sont nécessaires:

Mot                   Nature                Connaissances                              
                                            Morphologiques                             
le                    article défini        masculin singulier       le                
de                    préposition                                    de                
ma                    adjectif possessif    1p.s., féminin           mon               
                                            singulier                                  
chien                 nom commun            masculin singulier       chien             
voisine               nom commun            féminin singulier        voisin            
Michel                nom propre            masculin singulier       Michel            
a mordu               verbe transitif       3 p.s, passé comp.,      mordre            
                                            voix active                                

La deuxième étape consiste à identifier des structures syntaxiques. Ces structures sont décrites en termes de catégories lexicales et permettent de décrire une grande variété de phrases. Voici quelques règles qui définissent une grammaire élémentaire:

1) article + nom commun => groupe nominal

2) adjectif possessif + nom commun => groupe nominal

3) nom propre => groupe nominal

4) article + nom commun + prép. + groupe nominal => groupe nominal

5) verbe transitif + groupe nominal => groupe verbal

6) verbe intransitif => groupe verbal

7) groupe nominal + groupe verbal => phrase

La règle 1 peut se lire comme suit "un article puis un nom commun forment un groupe nominal". La règle 2 reconnaît 'ma voisine' comme groupe nominal. La règle 3 identifie 'Michel' comme étant un groupe nominal. Par contre, si l'utilisateur tape 'mon Michel', aucune de ces règles n'identifierait cette réponse comme étant grammaticalement correcte. On peut intégrer dans ces règles des contraintes morphologiques afin de rejeter une réponse telle que 'mon voisine'. Après avoir appliqué la règle 2 à 'ma voisine', il est possible d'appliquer la règle 4 au groupe de mots 'Le chien de <groupe nominal>'. La figure 4.11 illustre la réduction progressive de la structure initiale jusqu'à l'identification d'une structure de phrase élémentaire (règle 7). Ces connaissances lexicales et grammaticales sont mises en oeuvre par une procédure de pattern matching plus élaborée que celle utilisée par Authorware.

La grammaire définie est aussi arbitraire que le pattern défini par l'auteur avec Authorware. On peut définir des grammaires pour des sous-langages, des grammaires fausses, des grammaires pour l'analyse d'expressions algébriques, etc. La procédure d'analyse teste simplement si une réponse correspond à une grammaire, elle n'implique pas que cette grammaire ait une valeur absolue. On peut par exemple analyser une phrase allemande avec une syntaxe française afin de détecter si un francophone qui apprend l'allemand reproduit dans cette langue certains aspects de sa langue maternelle. La procédure d'analyse à partir d'une grammaire formelle n'implique pas non plus que les règles décrites correspondent à une réalité psychologique, c'est-à-dire que l'être humain utilise des règles semblables pour sa compréhension de l'énoncé. La mise en oeuvre d'un système de règles est expliqué dans le module 8.

Figure 4.11 : Analyse d'une phrase simple

L'identification de la réponse du sujet peut se faire au moyen de règles de transformation. Ces règles définissent des classes de phrases équivalentes à la réponse-cible (du point de vue de l'auteur). La règle ci-dessous permet de transformer une phrase exprimée à la voix passive en son équivalent à la voix active:

sujet (X) + verbe à la voix passive (Y) + 'par' + complément d'agent (Z)

=>

sujet (Z) + verbe à la voix active (Y) + complément d'objet direct (X)

Cette règle permet de déterminer que la réponse 'Michel a été mordu par le chien de la voisine' correspond à la réponse cible 'Le chien de ma voisine a mordu Michel'. Il convient pour cela de substituer (le chien de ma voisine) à X, (mordre) à Y et (Michel) à Z.

(Michel) (a été mordu) (par ) (le chien de la voisine)

=>

(le chien de ma voisine)(a mordu)(Michel)

Ces règles permettent de fournir le feed-back associé à la phrase-cible identifiée. Par exemple, le concepteur déterminera que la phrase 'C'est le chien de ma voisine qui a mordu Michel' est une bonne description de l'image présentée et il fournira le feed-back 'Très bien' à toute phrase équivalente. Cette association d'une classe de réponses à un feed-back unique constitue cependant une forme assez rigide d'interaction. On peut faire mieux en associant une représentation du contenu de la phrase. Ainsi, l'énoncé utilisé plus haut contient certaines informations: il s'agit d'une agression (mordre); l'agression a eu lieu dans le passé; l'auteur de l'agression est un chien (chien-A); la victime de l'agression est une personne (personne-A); personne-A s'appelle Michel; le chien appartient à une personne (personne-B); personne-B est de sexe féminin; personne-B est voisine d'une personne C, auteur de la phrase;

On peut représenter ces entités et leurs relations par des structures de données. Chaque entité est définie par une certain nombre de paires attribut-valeur. Par exemple, une personne peut être décrite par la liste '(nom Paul) (age 35) (taille 178) (sexe masculin) ...'. L'ensemble des objets qui sont définis par les même attributs forment une classe. On dit qu'ils constituent des exemples de cette classe. Les trois personnes (A,B,C) évoquées dans l'analyse ci-dessus constituent trois exemples de la classe 'personnes'. La classe 'personnes' constitue une sous-classe de la classe des animaux. La figure 4.12. illustre les entités décrites, les relations entre elles ainsi que la hiérarchie des classes. Certains langages informatiques, dits 'orientés-objet', disposent d'instructions permettant de définir des classes, d'en créer des exemples, de définir des traitements spécifiques pour les exemples des différentes classes, etc.

Cet ensemble d'objets interconnectés porte le nom de 'réseau sémantique'. Les langages informatiques disposent d'instructions permettant de retrouver la valeur de l'attribut d'un objet (par exemple 'valeur-de person-A nom'). Si le logiciel dispose de règles permettant de traduire des questions formulées en langue naturelle en instructions de lecture du réseau sémantique, il pourra répondre à des questions telles que: " Est-ce un chien qui a mordu Michel? ". " A qui appartient le chien qui a mordu Michel? ", " Ma voisine a-t-elle un chien? ",...

Un réseau sémantique est constituée de symboles et connections entre symboles. Ces connections permettent de rechercher un symbole à partir d'un autre, par exemple, de trouver 'voisine' à partir de 'chien'. Cette performance peut donner à l'utilisateur l'illusion que le système a compris sa question. L'ordinateur ne comprend en réalité aucun de ces symboles. Remplacez le symbole 'voisine' par le symbole 'hk%*3Bz' et le réseau fonctionnera exactement de la même manière. Aucun de ces symboles ne possède de signification réelle pour l'ordinateur. Les connaissances sémantiques de l'ordinateur peuvent se comparer avec la situation d'un sujet ne parlant pas Chinois, enfermé seul dans une pièce et qui veut apprendre le chinois au moyen d'un dictionnaire Chinois-Chinois. La définition d'un mot dans ce dictionnaire renvoie vers d'autres symboles aussi incompréhensibles que le premier. L'association de symboles dénués de sens ne fournit pas une véritable compréhension de ces symboles, mais simplement de produire une réponse en fonction d'un message complexe.

Les aspects sémantiques et pragmatiques de la langue constituent un obstacle fondamental au traitement automatique du langage naturel. Considérons par exemple les phrases suivantes: "Jean a prêté sa voiture à Paul. Il l'a chaleureusement remercié." Nos connaissances nous permettent de déterminer que le pronom 'il' réfère à Paul et non à Jean. Nous savons que 'prêter' est une action généreuse qui implique une reconnaissance de l'emprunteur vers le prêteur. Considérons un autre exemple, inspiré de Dix. et al (1993): "Paul a frappé le garçon avec un bâton en bois. Christine a frappé le garçon avec un bonnet en laine." A nouveau, seule une construction du contexte sémantique nous permet de comprendre que 'avec le bâton en bois' concerne l'acte de frapper, alors que 'avec le bonnet en laine' concerne le garçon frappé. La résolution des ambiguïtés propres au langage courant repose sur une grande quantité d'informations spécifiques au contexte du message. Ceci explique que des systèmes relativement robustes n'aient pu être développés que dans des domaines bien circonscrits, par exemple la traduction automatique des bulletins d'avalanche. Par contre, toutes les prévisions concernant le développement de systèmes génériques de compréhension du langage naturel se sont révélées largement optimistes.

Figure 4.12 : Réseau sémantique permettant d'organiser les connaissances contenues dans la phrase 'Le chien de ma voisine a mordu Michel'