GASPAR, UN DISPOSITIF EXPERIMENTAL POUR LE TRAITEMENT AUTOMATIQUE DU LANGAGE NATUREL AVEC LA PROGRAMMATION A PROTOTYPES

REPRESENTATION ET CLASSIFICATION EVOLUTIVES DES CONNAISSANCES POUR LE LANGAGE NATUREL

 

Serge Fleury

 

ELI (Equipe Linguistique et Informatique)

Ecole Normale Supérieure de Fontenay-St Cloud

31 avenue Lombart

F-92260 Fontenay aux Roses

e-mail : fleury@ens-fcl.fr

http://www.ens-fcl.fr/~fleury/

 

 

Résumé. Notre travail s'inscrit dans le cadre du Traitement Automatique du Langage Naturel (TALN). Notre démarche vise à la mise en oeuvre d'un dispositif informatique cohérent avec les problèmes posés par les phénomènes linguistiques traités par ce dispositif (en particulier la construction du sens). Nous présentons ici le dispositif GASPAR qui construit des représentations des mots sous la forme d'objets informatiques appelés des prototypes ; GASPAR associe à ces objets les comportements syntaxiques et sémantiques des mots en prenant appui sur des informations extraites à partir d'un corpus. GASPAR a pour première tâche de construire progressivement une représentation informatique des mots, sans présumer de leurs descriptions linguistiques ; il doit ensuite reclasser les mots représentés et mettre au jour, de manière inductive, les classes de mots du sous-langage étudié. Nous montrons comment la programmation à prototypes permet de représenter des mots dynamiquement par apprentissage et par affinements successifs. Elle permet ensuite d'amorcer un début de classement de ces mots sur la base de leurs contraintes syntaxico-sémantiques en construisant des hiérarchies locales de comportements partagés. Ce travail met aussi en avant la nécessité de disposer d'un méta-niveau d'analyse dans un dispositif de TALN pour évaluer ou contrôler les opérations réalisées par les processus mis en place dans ce dispositif. Ce méta-niveau d'analyse doit surtout permettre à l'utilisateur du dispositif d'interpréter les résultats construits par les processus de représentation et de classement mis en place.

Mots clés : Linguistique basée sur corpus, langage à prototype, apprentissage et classement automatique, contrôle, méta-représentation, réflexivité

 

1. Introduction

 

Nous présentons ici la mise en œuvre d'un dispositif expérimental de Traitement Automatique du Langage Naturel qui porte le nom de GASPAR [FLE 97]. Ce dispositif vise à établir une représentation et un classement évolutifs de mots représentés sous la forme d'objets informatiques appelés des prototypes. Nous soulignons d'abord les problèmes posés par la représentation d'unité de langue dans un dispositif de TALN. Puis nous présentons le cadre de représentation choisi pour construire des représentations informatiques des mots et des comportements associés. Nous décrivons également les processus mis en place pour une représentation et un classement automatiques des mots avec GASPAR. Nous introduisons enfin la nécessité de disposer d'un méta-regard sur les informations manipulées par le dispositif pour évaluer et contrôler les différentes opérations réalisées par le dispositif sur les informations traitées.

 

2. Un dispositif de TALN pour représenter la mouvance

 

Le traitement automatique du langage naturel doit passer par une phase de représentation des éléments linguistiques contrainte à figer les connaissances à modéliser. Or un examen des comportements des mots révèle des variations qu'il semble difficile de fixer dans des structures de représentations statiques. La langue évolue en permanence et les résultats acquis par la description linguistique sont toujours remis en question par la prise en compte de nouvelles informations. Il en va de même pour les comportements lexicaux : les savoirs associés aux mots ne sont pas donnés une fois pour toute. Ces derniers peuvent bouger et remettre en cause des représentations construites à un moment donné. Puisqu'il n'est pas satisfaisant de se contenter d'un modèle apriorique pour construire une représentation des comportements des unités lexicales, notre travail de représentation s'inscrit dans une approche expérimentale qui ne présume pas complètement des choses à représenter. L'hypothèse suivie dans ce travail pour la représentation des informations linguistiques consiste à ne pas prédéterminer de manière figée ni les structures définies pour cette représentation ni leurs classements. Nous convenons avec [HAT 91] que "la construction d'une hiérarchie est un processus incrémental" et qu'une hiérarchie "évolue et s'améliore en fonction des résultats obtenus jusqu'à ce qu'une certaine forme de stabilité soit atteinte". Notre démarche met en place un processus de représentation évolutif : les structures de représentation construites devront pouvoir être affinées dès que de nouveaux savoirs seront mis à jour. On peut en effet considérer que les comportements des mots ne sont pas tous prédéfinis mais que ceux-ci "émergent" dans le contexte dans lequel ces mots "agissent". Il n'est donc pas raisonnable de les considérer comme acquis par définition. Il s'agit au contraire de les mettre en lumière ainsi que les corrélations multiples qui existent entre les mots dans un flot continu de discours. Notre démarche consiste en quelque sorte à "faire émerger" les comportements des mots puis à les représenter ou à affiner les représentations existantes et enfin à classer les structures de représentation construites.

 

Notre travail vise à la mise au point d'outils de modélisation adaptés à des problèmes fondamentaux de représentation des connaissances en sémantique lexicale. L'hypothèse suivie dans ce travail est que ces connaissances ne sont pratiquement jamais complètes et intangibles. Au contraire, il faut gérer leur extension et leur modification. Si les descriptions linguistiques se bornent à refléter un savoir partagé sur le monde, en particulier si le lexique est organisé (de manière hiérarchique ou non) sur la base de connaissances (le monde objectif), on perd une grande partie des mécanismes à l'oeuvre dans le langage naturel. L'interprétation permet en effet la mise en oeuvre de processus sémantiques qui créent de nouvelles acceptations et de nouveaux emplois non dérivables de la connaissance encyclopédique. Dans ce cas les parcours (arborescents ou non) n'apprennent rien que l'on ne sache déjà [RAS 95]. Figer les savoirs linguistiques dans des taxonomies figées et non évolutives ne convient guère à la structure sémantique des langues et assez mal à celle des discours de spécialité [BIB 93]. Un travail de représentation des faits de langue doit donc s'attacher à rendre les savoirs de base évolutifs en sachant qu'un ajustement est toujours potentiellement à venir sur ces savoirs. L'enrichissement des connaissances repose dans notre travail sur l'utilisation de corpus dans des domaines de spécialité, ici les comptes rendus d'hospitalisation en médecine coronarienne. Notre travail de représentation et de classement s'appuie sur une recherche initiale au niveau des mots des régularités et des redondances d'utilisation dans des corpus donnés. Nous ne nous imposons ni une représentation prédéfinie des informations linguistiques ni un classement prédéfini de ces informations, mais nous choisissons une démarche qui tente de construire ces représentations puis d'établir progressivement leur classement en tenant compte des informations délivrées par le travail d'acquisition de savoirs à partir de corpus. Ce travail utilise le prototype (dans le cadre de la programmation à prototypes [BLA 94]) comme un outil de représentation de faits linguistiques dans la mesure où nous pensons qu'il peut répondre à certains problèmes que posent ces faits de langue. Cet outil conduit à construire des structures de représentation simples et ajustables pour rendre compte justement des problèmes d'ajustements qui sont à l'oeuvre dans la construction du sens dans le langage naturel.

 

3. Acquisition de savoirs en corpus

 

L'hypothèse suivie ici est qu'il y a peu de sens à vouloir faire de l'acquisition sémantique en dehors d'un sous-langage. Notre travail de représentation et de classement s'appuie sur une recherche initiale au niveau des mots des régularités et des redondances d'utilisation dans des corpus donnés. Le corpus utilisé par GASPAR est celui qui est constitué dans le cadre du projet MENELAS [ZWE 94] pour la compréhension de textes médicaux. Ce corpus est utilisé par le Groupe de Travail Terminologique et Intelligence Artificielle (PRC-GDR Intelligence Artificielle, CNRS). L'unité thématique de ce corpus a trait aux maladies coronariennes. Les informations extraites sont des arbres d'analyse fournis par des outils d'extraction terminologique (LEXTER, AlethIP), ces arbres étant ensuite simplifiés dans le but de déterminer les arbres élémentaires de dépendance qu'il est possible d'associer aux mots (ZELLIG) : sont considérés comme élémentaires les arbres mettant en évidence une relation binaire entre deux mots pleins, nom ou adjectif, dans des schémas comme, par exemple, N Prep N ou N Adj. Cette chaîne de traitements est présentée infra. Notre travail s'inscrit dans une reprise de l'approche harrisienne [HAR 70-88] et vise à automatiser les traitements de représentation des mots et de leur classement (en utilisant des informations extraites à partir de corpus) et à souligner les limites de cette induction de savoirs. Un premier objectif est de construire des représentations informatiques évolutives de mots à partir d'informations extraites sur corpus. Le travail de représentation mis en place ne construit donc pas une représentation prédéterminée du sens attaché aux mots ou aux structures syntaxiques représentées, il doit proposer des amorces d'interprétation qui doivent être affinées par un travail d'interprétation plus fin. Le second objectif est de classer les mots représentés et de tendre vers la détermination de classes sémantiques, de manière inductive. Tout d'abord, il convient de souligner que le classement automatique présenté ici s'appuie principalement sur des contraintes syntaxiques associés aux mots. Dans notre travail, la syntaxe est utilisée pour dégrossir la représentation et le classement des mots mais ne permet pas à elle seule de classer les mots représentés. A l'inverse des approches harrissiennes et statistiques, notre approche ne conduit pas à la détermination de classes sémantiques satisfaisantes mais elle constitue une méthode d'amorçage pour l'élaboration de l'ontologie du domaine, nous suivons sur ce point la démarche suivie par [HAB 96a] : la construction de l'ontologie du domaine étudié nécessite un part d'interprétation. Notre approche de classement des mots est conçu en fait pour aider à accéder aux sens [HAB 97d]. Il est important de souligner que les résultats construits ne sont pertinents que pour les corpus étudiés. Les relations syntactico-sémantiques mises en avant par le travail d'extraction de savoirs sont propres aux corpus examinés, le travail de représentation et de classement des mots sur la base des savoirs reçus est donc lui aussi complètement dépendant de ces corpus. Si on peut envisager d'élaborer une ontologie à partir des résultats construits (un travail d'interprétation sur les résultats construits reste à définir et à faire), celle-ci ne sera elle aussi pertinente que pour le corpus étudié [ZWE 97].

 

La phase d'acquisition d'informations à partir de corpus prend appui sur la systématicité structurelle et sémantique propre aux sous-langages [HAR 70-88] afin de mettre au jour les proximités de cooccurrences entre mots pour dégager les relations sémantiques sous-jacentes. Le point de départ du travail de représentation est donc constitué par le corpus MENELAS. Les informations utilisées par les processus de représentation informatique des mots et des arbres associés sont issues d'une chaîne de traitements composée des logiciels LEXTER, AlethIP et ZELLIG. Le but de ces outils est d'une part d'extraire des informations à partir de corpus (LEXTER, AlethIP) et d'autre part de simplifier ces informations puis de caractériser leurs fonctionnements (ZELLIG). LEXTER prend en entrée des textes arbitrairement longs et produit des arbres d'analyse de séquences nominales en décomposant ces séquences en Tête et Expansion et ce de manière récursive. Il est important de souligner que la démarche de LEXTER est endogène c'est à dire que le travail d'analyse s'appuie uniquement sur les résultats d'analyse déjà construits pour analyser des séquences ambigües. Si le corpus contient la séquence "angine de poitrine instable", on a deux analyses possibles pour cette séquence : (1) [angine de poitrine] instable, (2) angine de [poitrine instable]. LEXTER va prendre appui sur des séquences déjà analysées pour produire une analyse de cette séquence. Si on a la séquence "angine de poitrine" et si l'on n'a pas "poitrine instable", LEXTER produira l'analyse (1). L'approche endogène suivie par LEXTER s'inscrit parfaitement dans le cadre de représentation qui est le nôtre. Le logiciel ZELLIG a ensuite pour tâche de simplifier les arbres d'analyse fournis ici par LEXTER et de mettre en évidence les relations élémentaires de dépendance entre mots pleins, nom ou adjectif, dans des schémas comme, par exemple, N Prep N ou N Adj.

 

 

Figure 1. Une chaîne de traitements automatiques.

 

Les arbres issus de LEXTER sont d'abord transformés en arbres syntagmatiques via le transducteur FRT (un module de ZELLIG) [HAB 97a]. Le programme Cyclade (un autre module de ZELLIG) est ensuite chargé de déterminer les arbres élémentaires via un filtrage de quasi-arbres [HAB 96b]. Ces dépendances élémentaires associent à un élément gouverneur (nommé tête) soit un argument soit un circonstant. "Les dépendances élémentaires ainsi définies n'ont pas forcément de réalisation effective dans le corpus mais ils correspondent à des relations de dépendance vérifiées dans les arbres d'analyse, si l'on passe par une représentation logique de ces arbres et de ces dépendances élémentaires". La figure qui suit présente de manière synthétique le séquencement des activités réalisées par ZELLIG. Il convient de souligner que le dispositif GASPAR nŽutilise quŽune partie des résultats produits par la chaîne de traitements autour de Zellig : en lŽoccurrence, un corpus de mots et dŽarbres simplifiés associés.

 

 

 

Figure 2. ZELLIG, une chaîne de recyclage dŽarbres.

 

 

On résume ici de manière synthétique ce que la chaîne de traitements réalise pour produire les arbres minimaux à partir du corpus initial. Le point de départ est constitué de rapports médicaux.

 

Patient âgé de 70 ans, diabétique, qui a présenté il y a un an une douleur thoracique nocturne probablement en rapport avec un infarctus antéro-septal. Il est toujours symptomatique sous la forme d'un angor d'effort qu'il a lui-même négligé, avec semble-t-il plusieurs épisodes de préchordialgies de repos. La coronographie met en évidence des lésions bitronculaires. L'occlusion de l'IVA est responsable d'une hypokinésie antérieure. Une sténose serrée, diagonale et circonflexe est responsable de l'angor d'effort.

 

LEXTER produit ensuite des arbres d'analyse de séquences nominales en décomposant ces séquences et en les structurant. Sur la séquence "alteration severe de la fonction ventriculaire gauche", on obtient l'analyse suivante.

 

 

Figure 3. LEXTER.

 

Enfin, ZELLIG met en évidence les dépendances élémentaires dans ces arbres d'analyse. À partir de l'arbre précédent, les arbres élémentaires (a, b, c, d) mis au jour sont décrits dans la figure qui suit :

 

 

Figure 4. ZELLIG.

 

GASPAR est une chaîne de traitements automatiques pour la représentation et le classement automatiques de mots et de leurs comportements syntaxico-sémantiques.

 

 

Figure 5. Traitements avant GASPAR.

 

GASPAR dispose, au départ, d'informations extraites à partir d'un corpus (sous la forme d'un fichier texte) : pour chaque mot, GASPAR dispose d'informations morphologiques et sémantiques décrivant ces mots, d'une liste d'arbres élémentaires et d'une liste d'arbres d'analyse associés aux arbres élémentaires (des contraintes peuvent être attachées aux composants des arbres, on y reviendra infra). Ces descriptions sont généralement peu précises ou en tout cas sous-déterminées. GASPAR utilise ces informations pour construire des prototypes afin de représenter les mots et leurs comportements (les arbres associés). Le processus de représentation s'appuie uniquement sur ces informations pour construire des prototypes. Le dispositif GASPAR se fixe plusieurs objectifs. Il doit réaliser une génération automatique des représentations syntaxico-sémantiques associées aux mots, par affinements successifs. Ce travail de représentation prend appui sur des savoirs extraits à partir de corpus. Le sens des mots n'est pas prédéfini dans la représentation construite de ces mots. C'est l'examen des informations contextuelles associées au mot qui doit permettre de proposer des pistes de sens possibles. Il doit ensuite construire des hiérarchies (évolutives) de base de connaissances (évolutives par nature). Notre approche vise à travailler à partir d'informations attachées aux mots. Le système doit construire des représentations informatiques de ces mots, il doit ensuite repérer les partages possibles de ces informations. Cette démarche de représentation ascendante créé initialement des macro-structures approximatives qu'il convient d'affiner progressivement, soit en tenant compte de nouvelles informations issues du travail d'extraction à partir de corpus, soit en tenant compte des informations que la situation contextuelle délivrera. Il s'agit en fait de mettre en place et d'affiner l'équilibre qui existe entre des savoirs localement répartis et des savoirs partagés qui établissent des liens entre les éléments représentés. Pour mener à bien cette tâche, il est clair que le système doit pouvoir manipuler et assimiler un grand nombre d'informations pour réaliser ces objectifs de représentation et de classement. Actuellement, le système GASPAR prend appui sur la micro-syntaxe attachée aux mots pour construire un réseau de pôles de comportements partagés par des ensembles de prototypes. Les classes de mots construites sont des ébauches imparfaites qui permettent un organisation du matériel lexical. Ces classes doivent ensuite aider à affiner le travail de description des mots représentés sous la forme de prototypes. De fait la construction progressive de la description des mots passe par un apprentissage manuel de nouveaux savoirs. C'est à l'utilisateur du dispositif d'interpréter et d'évaluer les objets construits et les résultats produits. Ce travail d'interprétation est d'ailleurs un passage obligé de toutes les approches en classification automatique (en analyse de données par exemple, mais aussi dans des traitements syntaxiques à la Grefenstette [GRE 93-94]). Le système construit s'inscrit d'ailleurs dans une approche qui vise à établir un dialogue entre le dispositif informatique construit et les problèmes posés par les faits linguistiques étudiés. L'intervention manuelle du linguiste s'inscrit parfaitement dans une telle approche. En outre l'environnement de programmation choisi permet à tout moment d'affiner les représentations construites.

 

4. PàP : Programmation A Prototypes

 

L'outil de représentation choisi est la programmation à prototypes (désormais notée PàP) [BLA 94]. La PàP s'est développée à la fin des années 80, à partir des travaux entre autres de Liebermann et de l'équipe d'informaticiens de Stanford et de Sun Microsystems qui ont par la suite développé le langage à prototypes Self [SEL 93-95]. La PàP conduit à penser différemment pour construire une représentation informatique d'un certain domaine de connaissances. Il ne s'agit pas de partir d'une somme de connaissances figées et connues par avance mais de construire progressivement les entités informatiques suivant les connaissances dont on dispose sur le domaine visé. Si les informations à représenter ne sont pas connues de manière définitive, il est possible de commencer le processus de représentation en utilisant les informations déjà recensées puis d'affiner dynamiquement les objets construits dès que de nouvelles informations sont disponibles. Si de nouvelles connaissances sont mises au jour, on peut affiner le processus de représentation déjà amorcé en tenant compte de ces nouvelles informations sans avoir à reconstruire entièrement de nouvelles structures. Notre travail utilise le prototype comme un outil de représentation de faits linguistiques dans la mesure où nous pensons qu'il peut répondre à certains problèmes que posent ces faits de langue. Cet outil conduit à construire des structures de représentation simples et ajustables pour rendre compte justement des problèmes d'ajustements qui sont à l'oeuvre dans la construction du sens dans le langage naturel. La flexibilité du modèle de représentation choisi constitue une propriété fondamentale pour développer des processus de représentation capables de rendre compte des aspects mouvants du domaine décrit. Il convient de préciser que l'approche de la PàP n'a rien à voir avec celle adoptée par les cognitivistes tels que Rosch dans leur présentation de la prototypie [Rosch 75-76].

 

Par la suite nous utilisons les expressions suivantes : on appelle prototype de mot/d'arbre l'objet informatique (le prototype) défini pour représenter un mot/arbre.

 

4.1. Une entité, un prototype

 

A partir d'un élément particulier d'un domaine à représenter, on construit un objet informatique sans passer par un filtre prédéfinitoire (la notion de classe n'existe pas). Si on considère les noms stenose et lesion, ils partagent des informations et des comportements : ils appartiennent à la même catégorie, ils partagent des comportements syntaxiques. Il est donc intéressant d'utiliser la représentation de l'un de ces mots pour représenter l'autre. Si la catégorie syntaxique de stenose n'est pas encore représentée, on définit automatiquement les objets pour la représenter avec les attributs adéquats. On construit donc un objet informatique, le prototype stenose, à partir d'un savoir (de sens commun) que l'on a sur ce nom : stenose est un nom féminin singulier. On crée un objet avec des attributs qui porte ces valeurs.

 

 

Figure 6. Un mot, un prototype.

 

4.2. Représentation d'une entité similaire par clonage et différenciation

 

Une fois que l'on a construit un objet particulier, on utilise deux opérations fondamentales pour représenter d'autres éléments sous la forme de prototypes : le clonage et l'ajustement. L'opération de clonage produit une copie conforme de l'objet cloné. Il convient ensuite d'ajuster le prototype issu du clonage pour représenter adéquatement le nouvel élément. Sur chaque objet créé, on peut à tout moment ajuster sa représentation en ajoutant de l'information ou en retirant, les modifications ne s'appliquant que sur les objets auxquels les messages de modifications sont adressés.

 

 

Figure 7. Copie et ajustement de prototype.

 

Dans notre exemple, l'opération de clonage appliquée au prototype stenose permet l'obtention d'une copie conforme de ce prototype. Pour représenter le nom lesion, on ajuste ensuite les attributs du prototype résultant en donnant à ces derniers les valeurs adéquates. On peut ensuite représenter les contraintes syntaxiques associés à stenose.Si la catégorie de l'arbre élémentaire n'est pas encore représentée, on génère automatiquement un prototype d'arbre pour la représenter avec les attributs adéquats.

 

 

Figure 8. Un arbre, un prototype.

 

Puisque les mots stenose et lesion partagent des arbres élémentaires (les arbres NPivotPrepN2 et NAdj), les prototypes d'arbres déjà construits pour stenose et partagés par lesion seront associés au prototype associé à lesion. On affecte ensuite aux prototypes de mots construits leurs comportements syntaxiques (les prototypes d'arbres associés).

 

4.3. Partage des structures et des comportements communs par délégation

 

La PàP met en place une représentation de savoirs que l'on peut considérer comme peu organisée au départ. Les savoirs représentés sont répartis sur une myriade de structures peu connectées entre elles à priori. La PàP ne rejette pas pour autant toute idée de classification. Elle met en place un système d'héritage simple basé sur la délégation qui permet de factoriser localement des comportements partagés. Dans la mesure où il est possible d'ajuster dynamiquement les prototypes (ajout ou retrait d'attribut), on peut à tout moment construire des liens de délégation. Dans le cas de nos prototypes stenose et lesion, ces deux objets partagent des savoirs, on factorise donc les comportements communs aux représentations de ces deux mots.

 

 

Figure 9. Partage de comportements.

 

4.4. Self

 

Self est le langage qui est utilisé ici pour représenter les mots et leurs comportements. Self est un langage qui permet l'héritage multiple et l'héritage dynamique. Il a été conçu en 1986 par David Ungar & Randall Smith [UNG 86]. La première implémentation a été réalisée à Stanford en 1987, la dernière version (Self-4.0 [SEL 95]) est disponible depuis juillet 1995. Ce langage est désormais développé par Sun Microsystems. Les propriétés fondamentales du langage Self et de l'interface utilisateur sont la concrétude, l'uniformité et la flexibilité. La concrétude se manifeste clairement par le fait qu'un utilisateur manipule directement les objets du monde self et peut en créer de nouveaux à partir d'objets existants en les dupliquant et en les ajustant. L'uniformité se traduit par le fait qu'en Self tout est objet et que tous les objets dialoguent entre eux par envoi de messages. Les attributs des objets peuvent porter des données ou des methodes. De plus la distinction entre l'implémentation d'un programme et son exécution n'existe pas en Self : on peut ajuster dynamiquement les objets. Et enfin, l'environnement graphique de Self est composé d'éléments de base (les morphs) disponibles et réutilisables à volonté. La flexibilité découle directement des aspects de concrétude et d'uniformité de Self.

 

4.4.1. Objets et attributs Self

 

Un prototype ou un objet en Self est une entité composée d'attributs. Ces attributs peuvent porter des données, des méthodes ou pointer sur d'autres objets. La définition structurelle d'un objet peut être modifiée à tout moment. On dispose avec Self de primitives qui permettent d'ajouter ou de supprimer dynamiquement des attributs aux objets. Les mécanismes d'ajout(s) ou retrait(s) dynamique(s) d'attributs permettent de construire des représentations par affinements successifs : on peut à tout moment ajouter à un objet de nouveaux comportements ou modifier les comportements de cet objet. Les objets définis dialoguent entre eux via un mécanisme d'envoi de messages.

 

4.4.2. Héritage et Self : la délégation, une vision dynamique de l'héritage

 

L'héritage dans la PàP se réalise au travers de la notion de délégation. Pour mettre en place l'heritage avec Self :

 

• On commence par créer des objets qui vont porter les comportements partagés.

• On établit ensuite un lien entre ces objets et les prototypes qui délèguent les comportements factorisés en inscrivant dans ces prototypes le chemin de délégation défini. Pour inscrire un chemin de délégation dans un objet on ajoute un attribut parent (nom de l'attribut suivi d'une étoile) qui pointe sur l'objet qui porte les comportements délégués.

 

4.4.3. Un environnement de programmation pour l'expérimentation

 

L'environnement de programmation de Self permet une définition et une modification incrémentales des objets et leur manipulation directe. Dans notre cadre linguistique de travail, l'interface graphique de Self permet de manipuler des objets "vivants" et "évolutifs" capables de rendre compte de certains aspects évolutifs des savoirs ainsi représentés. L'utilisateur peut agir directement sur les objets construits et les faire évoluer à sa guise. Self démarre avec : un prompt interactif dans une fenêtre shell, une interface graphique interactive. L'environnement graphique est appelé le monde Self.

 

 

Figure 10. Interface shell et Trash-Can Self

 

On dispose par défaut dans cet environnement graphique d'un shell permet d'interroger les objets disponibles dans le monde Self et en particulier de les inclure dans l'interface graphique. On y trouve aussi une poubelle qui permet de nettoyer la fenêtre graphique en y déposant les objets que l'on ne souhaite plus y voir figurer. En utilisant la souris dans la fenêtre graphique, on peut accéder à certains outils qui permettent d'agir sur le monde Self. La touche droite de la souris active un menu des opérations sur le monde Self :

 

Les options disponibles permettent en particulier de :

 

Shell

créer un objet shell

Toggle Spy

activer un object qui contrôle les activités du système

Write Snapshot

sauvegarder l'état présent du monde Self

Quit

quitter la session de travail

 

De même, tous les objets de la fenêtre graphique sont réactifs à la souris. On peut ainsi accéder à certains outils qui permettent d'agir sur les objets.

 

 

Les options disponibles permettent en particulier de :

 

Add Slot

ajouter un attribut à l'objet visé

Comment

ajouter des commentaires à l'objet visé

Annotation ...

éditer un objet porteur d'annotations sur l'objet visé

Find Slot ...

créer un objet pour trouver un attribut dans l'objet visé

Structure Editor

créer un éditeur pour l'objet visé

Evaluator

créer un (ou plusieurs) évaluateur(s) pour l'objet visé

 

 

Les options disponibles permettent en particulier de :

 

Duplicate

créer un copie de l'objet visé

Resize

retailler les dimensions de l'objet

Move to Own Window

créer un monde particulier (une nouvelle fenêtre) avec cet objet

Dismiss

faire disparaître l'objet de la fenêtre

Object expander

étendre ou restreindre la présentation des attributs de l'objet

 

On donne ci-dessous une présentation d'un objet tel qu'il apparaît dans la fenêtre graphique. Cette présentation précise les rôles des différents éléments constitutifs de cet objet.

 

 

Figure 12. Objet Self expansé [DUV 95]

 

Pour expanser ou restreindre la présentation des attributs de l'objet, on agit sur les points d'entrée définis. Les évaluateurs constituent des zones d'édition qui permettent d'évaluer des expressions Self dans l'environnement particulier de l'objet. L'objet associé à un évaluateur est le récepteur direct des messages adressés dans cette zone.

 

Accept

La validation de la zone Accept via le bouton de gauche de la souris permet d'activer l'exécution des messages définis dans l'évaluateur

Cancel

La validation de la zone Cancel via le bouton de gauche de la souris permet de désactiver l'évaluateur

 

Il est donc possible de visualiser, manipuler ou modifier les attributs des objets de la fenêtre graphique. Pour cela, on peut tout d'abord activer les "slots expanders" pour avoir accès au contenu des attributs. On peut ensuite agir sur ces contenus.

 

4.5. Le travail sur les gros corpus et les limites des machines qui portent Self

 

Les résultats produits par le dispositif GASPAR sont en fait limités actuellement par les contraintes matérielles imposées par ce langage expérimental sur les machines que nous utilisons. Il faut en effet beaucoup de mémoire et d'espace disque sur les machines qui portent le système Self pour mettre en œuvre cette représentation de la mouvance. Cette incapacité actuelle du système Self à assimiler la génération d'un grand nombre d'objets met surtout en avant les problèmes complexes liés à la mise en oeuvre de ce type de modèle de représentations évolutives. Cette mise en oeuvre de la mouvance dans les outils de représentation coûte chère en ressources pour les systèmes sous-jacents. La mise en œuvre de ce dispositif GASPAR peut être considérée comme une expérience pilote qui offre une image partielle, pour le moment, des traitements réalisés et des résultats à venir.

 

5. Représentation et classification évolutives

 

5.1. Représentation automatique des mots

 

La génération d'un prototype de mot est réalisée de la manière suivante. Si le mot à représenter possède une représentation prototypique, GASPAR conserve l'objet trouvé. Si le mot à représenter ne possède pas de représentation prototypique, et s'il n'existe aucune représentation prototypique de sa famille catégorielle, GASPAR commence par créer de toutes pièces une représentation prototypique de cette nouvelle famille catégorielle, puis il construit une représentation prototypique de ce nouveau représentant de cette famille (en tenant compte des informations fournies pour décrire ce nouvel élément).

 

 

Figure 13. Génération automatique d'un prototype de mot

 

Si le mot à représenter ne possède pas de représentation prototypique et s'il existe déjà une représentation prototypique d'un élément de la même famille catégorielle, GASPAR utilise les opérations de clonage et d'ajustement pour représenter ce nouvel élément (en tenant compte des informations fournies pour décrire ce nouvel élément).

 

 

Figure 14. Génération d'un prototype de mot par clonage et ajustement.

 

5.2. Représentation automatique des arbres associés aux mots

 

Le dispositif GASPAR procède de la même manière pour la représentation des arbres. Pour chaque mot, on dispose d'une liste d'arbre élémentaire à représenter. Avant de représenter ces arbres élémentaires, le dispositif GASPAR vérifie si ces arbres disposent déjà d'une représentation prototypique. Si elle n'existe pas, il la créé automatiquement en tenant compte des informations fournies : constituants et contraintes. Dans la figure qui suit, le dispositif GASPAR construit les structures pour représenter les arbres associés à pontage en tenant compte des informations données pour la description de ces arbres.

 

 

Figure 15. Génération de prototypes d'arbre élémentaire.

 

Puisque les mots pontage et effort partagent des arbres élémentaires (les arbres N1PrepNPivot et NAdj), les prototypes d'arbres déjà construits pour pontage et partagés par effort seront associés au prototype de mot associé à effort.

 

Pour représenter les arbres dŽanalyse, le dispositif GASPAR vérifie là encore si ces arbres disposent déjà d'une représentation prototypique. Si elle n'existe pas, il la créé automatiquement en tenant compte des informations fournies : constituants et contraintes.

 

 

Figure 16. Génération de prototypes d'arbre dŽanalyse.

 

Le dispositif GASPAR affecte ensuite aux prototypes de mots construits leurs comportements. Après la création des prototypes d'arbres élémentaires, il affecte les prototypes d'arbres aux prototypes de mots auxquels ils sont associés. De même, il associe les prototypes d'arbres d'analyse construits aux prototypes d'arbres élémentaires associés. Les figures qui suivent résument le processus de génération mis en place. Le dispositif GASPAR utilise des informations issues d'un travail d'extraction à partir de corpus. À chaque mot sont associées les informations suivantes :

 

 

 

Figure 17. Avant GASPAR.

 

Ces informations peuvent être connues avant la phase de génération automatique des objets ou peuvent être utilisées dès qu'elles sont disponibles pour affiner la représentation des objets construits. Pour chaque mot, le dispositif GASPAR est donc amené à construire :

 

 

Figure 18. Après GASPAR.

 

Le dispositif GASPAR construit aussi les liens qui existent entre chacun des objets construits. Pour chaque mot, le dispositif GASPAR a donc construit un mini-réseau de prototypes décrivant la micro-syntaxe associée à ce mot. La représentation des mots reste bien évidemment sous-déterminée. C'est l'examen des contextes (les arbres associés) qui doit permettre de tracer des pistes de sens. Si de nouvelles informations sont disponibles, on peut ensuite affiner la représentation syntaxico-sémantique des mots et des arbres en utilisant le potentiel dynamique de Self (ajustement dynamique des objets). Dès cette phase de représentation, l'utilisateur peut intervenir pour ajuster les objets construits suivant les nouvelles informations disponibles.

 

5.3. Le réseau de prototypes dévoile une hiérarchie évolutive

 

GASPAR amorce un classement des prototypes de mots en fonction de leurs comportements (les arbres associés aux mots). Il recherche donc les comportements partagés par les prototypes de mots construits. Si on considère les noms stenose et lesion, ils partagent des comportements (les arbres NPivotPrepN2 et NAdj). Si on considère maintenant le nom angioplastie, celui-ci entre dans des constructions du type "indication de angioplastie" (l'arbre N1PrepNPivot). GASPAR construit donc un pôle de comportements partagés qui va porter les arbres élémentaires communs. Il établit un lien de délégation entre ce pôle et les prototypes concernés. Sur notre famille de mots comprenant les noms stenose, lesion et angioplastie, on obtient le mini-réseau suivant :

 

 

Figure 19. Un mini-réseau de comportements partagés.

 

Sur un ensemble plus important de prototypes de mots de même catégorie, il s'agit en fait de déterminer les comportements partagés sur cette famille de prototypes. GASPAR recherche donc les arbres élémentaires communs à un ensemble de prototypes de mots. Si GASPAR trouve des arbres élémentaires communs à un sous-ensemble de prototypes, il construit automatiquement un pôle de comportements partagés qui va porter les arbres élémentaires communs. Il établit ensuite un lien de délégation entre ce pôle et les prototypes concernés. GASPAR met donc en place, automatiquement, un réseau de pôles de comportements partagés en définissant des hiérarchies locales sur des sous-ensembles de prototypes de la famille catégorielle. Ce premier classement s'appuie sur les comportements syntaxiques attachés aux prototypes de mots. Il ne dit rien de plus sur les agrégats de comportements partagés construits.

 

5.4. La classification évolutive est en marche

 

La mise en oeuvre des processus de classement construits confirme les multiplicités de comportement possibles sur les mots. Comme on pouvait s'y attendre, on ne trouve jamais de comportement(s) partagé(s) par tous les membres d'une même famille catégorielle. Il convient donc d'interroger les savoirs représentés de manière plus fine si on veut y découvrir des similarités comportementales [HAB 96]. Les processus construits permettent en fait d'évaluer plusieurs types de recherches de comportements partagés sur les objets construits.

 

(1) Le dispositif GASPAR peut tout d'abord rechercher sur tous les mots d'une même catégorie s'il existe des arbres élémentaires en commun. Si tous les prototypes de mots d'une même catégorie partagent exactement les mêmes comportements (les mêmes prototypes d'arbres élémentaires), l'objet traits qui porte les comportements partagés de cette catégorie est mis à jour : il portera ces comportements communs. Dans tous les cas, les prototypes de mots portent, quant à eux, leurs comportements propres.

 

(2) Le dispositif GASPAR peut ensuite rechercher sur les prototypes pris deux à deux s'ils partagent des arbres élémentaires. Si deux prototypes de mots d'une même catégorie partagent un ou plusieurs comportements (un ou plusieurs prototypes d'arbres élémentaires), un objet traits est automatiquement construit pour porter ces comportements partagés. Dans ce cas, le dispositif GASPAR ajoute automatiquement aux prototypes concernés un attribut parent qui pointe sur ce nouvel objet porteur de comportements partagés.

 

 

Figure 20. Classement des mots deux à deux.

 

Il est possible de réaliser ce type de recherche sur deux mots particuliers ou sur l'ensemble des mots (pris deux à deux et dans chaque catégorie).

 

  1. Le dispositif GASPAR peut aussi évaluer les comportements partagés sur des sous-familles de prototypes de mots de même catégorie. Si plusieurs prototypes de mots d'une même catégorie partagent exactement les mêmes comportements (les mêmes prototypes d'arbres élémentaires), un objet traits est automatiquement construit pour porter ces comportements partagés. Dans ce cas, le dispositif GASPAR ajoute automatiquement aux prototypes concernés un attribut parent qui pointe sur ce nouvel objet porteur de comportements partagés.

 

 

Figure 21. Classement des mots par sous-familles.

 

(4) Le dispositif permet enfin d'évaluer automatiquement les différences comportementales des arbres élémentaires. Il est en effet possible d'établir une recherche sur les arbres élémentaires de même catégorie des comportements partagés (arbres d'analyse) par ces arbres élémentaires. Ce classement utilise une démarche similaire à celle qui est utilisée pour classer les mots. Si plusieurs prototypes d'arbres élémentaires d'une même catégorie partagent exactement les mêmes comportements (les mêmes prototypes d'arbres d'analyse), un objet traits est automatiquement construit pour porter ces comportements partagés. Là encore, le dispositif GASPAR ajoute automatiquement aux prototypes concernés un attribut parent qui pointe sur ce nouvel objet porteur de comportements partagés.

 

 

Figure 22. Classement des arbres élémentaires en sous-familles catégorielles.

 

5.5. Une amorce de classement guidée par la syntaxe

 

GASPAR permet donc d'activer des processus de classement qui proposent des regards multiples et croisés sur les informations représentées. Ces processus construisent des réseaux de hiérarchies locales entre prototypes de mots et prototypes d'arbres ou entre prototypes d'arbres, ces liens multiples constituent autant de pistes de sens à interpréter.

 

 

Figure 19. Des micro-réseaux de prototypes interconnectés.

 

Dans ce qui a été présenté supra, les comportements associés aux représentations prototypiques des mots sont de simples squelettes syntaxiques dépourvus de contraintes particulières. Les processus de classement prennent appui sur ces informations syntaxiques pour regrouper les prototypes de mots. Il est clair que la simple recherche de similitude de comportements syntaxiques entre mots n'est pas suffisante pour une classification cohérente des mots représentés : "/./ des propriétés contextuelles permettent de rapprocher certains mots, mais la syntaxe seule ne permet pas d'identifier les liens sémantiques entre ces unités lexicales. Elle suggère des liens de hiérarchie (générique vs. spécifique) ou des relations conceptuelles (ex. a pour partie ) mais des connaissances extérieures sont nécessaires pour valider la nature de ces liens" [HAB 96a]. La syntaxe doit en quelque sorte dégrossir la représentation mais ne permet pas à elle seule de classer les mots représentés ; la syntaxe est incapable à elle seule de délimiter des classes de mots reflétant une notion. On peut avoir un rapprochement de certains mots suivant certains comportements syntaxiques, mais aucune classification ne se révèle directement à partir des comportements syntaxiques [HAB 96a]. Repérer des similitudes formelles entre les représentations créées est une tâche à la portée de la programmation à prototypes et le classement obtenu ici est une amorce de classement sur lequel un travail d'interprétation reste à faire. Evaluer ces similitudes formelles et interpréter les regroupements restent des tâches auxquelles doit être confronté le linguiste dans la mesure où il est le seul à pouvoir y apporter une réponse précise.

 

5.6. Une démarche expérimentale et en spirale

 

Notre démarche cherche à réaliser une adéquation entre les occurrences linguistiques réalisées et les prédictions de représentations construites. Il ne s'agit pas de produire d'emblée un résultat définif qui réalise cette adéquation de manière parfaite ; mais plutôt de tendre vers cette adéquation, par touches successives, en affinant les prédictions construites. La mise en oeuvre des représentations est donc conçue comme un mécanisme évolutif qui, d'une part, doit tenir compte d'un nombre important de sources de connaissances, et d'autre part, doit être capable d'intégrer de nouvelles informations à chaque étape. GASPAR peut disposer en amont de plusieurs couches d'informations. Si le travail d'extraction de savoirs est capable de mettre en évidence différents types d'informations pour décrire un mot, GASPAR utilise ces informations dès la première phase de génération du prototype construit pour représenter ce mot. On peut aussi envisager de procéder à une acquisition de savoirs en réitérant la phase initiale de recherche d'informations à partir du corpus. On pourrait ainsi moduler et modulariser cette phase d'acquisition de savoirs en activant différents flux de savoirs. Si les informations attachées aux mots ne sont pas disponibles dès la première phase de génération des prototypes associés, il sera toujours possible d'ajuster les représentations construites en utilisant un nouveau flux d'informations disponibles ultérieurement. Il est aussi possible de projeter les résultats transitoires obtenus sur des savoirs établis par ailleurs et d'utiliser les résultats de ces projections pour ajuster les représentations. Le processus de représentation peut donc se développer en réitérant les phases suivantes :

 

représentations à partir de savoirs extraits d'un corpus

projections des résultats

ajustements des représentations

ajustement du classement

 

Ces différentes étapes peuvent induire des phases intermédiaires de travail manuel pour corriger les états de représentation produits [MIK 94]. Si le dispositif GASPAR peut automatiser le classement des prototypes de mots sur la base des comportements qui leurs sont associés, les résultats restent à qualifier, à nommer : dans notre dispositif, c'est l'observateur conscient qui donne le sens. C'est en examinant à la main les objets construits et les rapprochements constatés que l'on pourra leur donner un nom c'est à dire nommer les choses. Il s'agit en fait de tendre vers une cohérence des classes sémantiques issues des processus de classement afin de dégager par affinements successifs des descriptions sémantiques pour les mots représentés.

 

6. GASPAR : présentation

 

6.1. Un analyseur à mots implémenté avec Self-4.0

 

Nous présentons ici les outils mis en place pour l'implémentation de GASPAR , l'analyseur chargé de construire les représentations des mots puis leur classement. L'implémentation s'inscrit dans le cadre défini par la version 4.0 du langage à prototypes Self. GASPAR est un objet défini dans l'objet Self globals (un parent du lobby (la "racine" du monde Self)), il est donc accessible directement à partir du lobby. Les différents outils définis ou à construire sont accessibles à partir de ce point d'entrée que constitue l'objet GASPAR. Tous les prototypes définis sous GASPAR sont donc des attributs définis dans cet objet ou dans ces sous-catégories. L'organisation des objets construits est présentée dans la figure qui suit.

 

 

Figure 20. GASPAR, un prototype complexe

 

Chaque prototype dépendant de GASPAR est catégorisé suivant son rôle dans l'"environnement" de ce dispositif. Les objets traits définis pour les objets associés à GASPAR sont définis dans l'objet Self traits qui porte tous les comportements partagés. Pour accéder à GASPAR et aux outils associés, des interfaces sont disponibles via les attributs menus définis par GASPAR. On peut atteindre les outils cherchés en sélectionnant une option parmi celles présentées. Le dispositif GASPAR est composé de plusieurs modules :

 

  1. Un module de calcul sémantique des séquences du type moulin à N2 avec intervention éventuelle de l'utilisateur pour affiner les résultats [FLE 97].
  2. Un module pour la génération automatique de prototypes de mot et de prototypes d'arbre à partir de savoirs extraits sur corpus.
  3. Un module de classement des prototypes construits ou disponibles.
  4. Un module d'analyse syntaxique [FLE 97].
  5. Un module méta.
  6. Un module d'interprétation pour analyser les résultats construits.
  7. Un browser pour visualiser les données et le résultats.

 

 

Le module méta regroupe différents processus qui sont utilisés par les différents modules mis en place. Il permet d'activer des méta-regards sur les savoirs représentés : il intègre notamment les processus de traçage que l'utilisateur peut activer sur toutes les opérations disponibles dans chaque module. Ces processus de traçage décrivent les différentes étapes des opérations déclenchées. L'utilisateur a aussi la possibilité d'intégrer automatiquement une présentation des résultats construits dans l'interface graphique de Self. Il peut ainsi avoir une présentation complète des représentations manipulées ou construites. Ces objets sont alors manipulables et modifiables à volonté et de manière dynamique. Ce méta-module peut aussi activer des actions de modification dynamique des représentations construites : ces processus peuvent agir de manière transparente pour l'utilisateur. On revient infra sur la présentation de ce module fondamental pour l'interprétation des résultats produits par GASPAR ainsi que sur celle du browser GASPAR. La figure suivante propose une vision synthétique des activités du dispositif GASPAR.

 

 

Figure 21. GASPAR et ses modules.

 

Ce schéma ne rend évidemment pas bien compte du fait que de cette hétérarchie enchevêtrée naît de la représentation. Il met simplement en avant la complexité des mécanismes mis en place et de leurs connexions. La myriade de prototypes qui résultent du travail de génération automatique de prototypes de mots et d'arbres est en effet difficilement réductible à une présentation schématique.

 

6.2. Interface graphique

 

Le dispositif construit a permis la mise en place d'une série d'outils qui ont accompagné les évolutions de l'implémentation en cours de Self. Les différents outils présentés supra sont accessibles via l'interface graphique de Self pour manipuler ou visualiser les différents objets construits. Les outils d'interface construits constituent des raccourcis pour exécuter les différentes actions définies. Il est bien sûr plus facile de manipuler les objets individuellement via l'interface graphique. Dans la figure qui suit, on présente l'environnement de travail mis en place pour travailler avec GASPAR via l'interface graphique de Self.

 

 

Figure 22. Environnement de travail avec GASPAR.

 

On dispose dans cet environnement de travail :

 

d'une fenêtre shell (non présente dans cette figure) dans laquelle on peut activer les différents menus définis par GASPAR ;

de l'interface graphique de Self.

 

La multiplication des objets dans le monde Self est un problème crucial si l'on veut pouvoir évaluer l'état global du système représenté. En particulier dans notre cadre de classification évolutive où l'on peut produire un myriade de prototypes de mots (ou d'arbres) et de pôles de comportements partagés par des sous-ensembles de prototypes de mots (ou d'arbres). L'interface graphique permet ainsi d'atténuer cette impression de dispersion complète des savoirs représentés. Un objet zoom est disponible dans les objets graphiques prédéfinis, il permet de scruter une zone particulière du monde Self (comprenant un nombre limité de prototypes) tout en maintenant une présentation globale du monde Self. On peut ainsi avoir simultanément une vision locale de certains prototypes et la position de cette zone particulière dans l'état global du système. Dans la figure précédente, l'objet radarView permet une présentation du monde Self en zoomant sur une région particulière contenant GASPAR et certains de ses modules. Cette figure présente en fait une représentation graphique associée à l'objet GASPAR qui masque l'implémentation écrite pour définir cet objet et c'est cet objet graphique qui porte l'objet GASPAR. Tous les objets insérés dans la fenêtre graphique (par l'utilisateur ou par les processus construits) sont portés par des objets graphiques (morph). De plus, suivant le type du savoir associé aux objets inclus, un certain nombre de boutons (activables par la souris) ont été définis. Ils permettent d'interroger les objets et de produire une présentation graphique des actions associées. Par exemple, le bouton Comment disponible sur le masque graphique associé à l'objet GASPAR permet la création d'un morph portant un commentaire associé à l'objet GASPAR ; le bouton Display/Edit object permet d'inclure l'objet GASPAR dans la fenêtre graphique.

 

Pour les prototypes représentant des mots, nous avons définis les boutons suivants :

 

Comment

création d'un morph portant le commentaire associé à l'objet représentant ce mot

Arbres associes

création d'un morph pour chaque arbre élémentaire associé à l'objet représentant ce mot

Parent

création d'un morph pour chaque parent associé à l'objet représentant ce mot

Semantique

création d'un ou plusieurs morph décrivant la sémantique associée à l'objet représentant ce mot

Morphologie 

création d'un morph décrivant la morphologie associée à l'objet représentant ce mot

Display/Edit Object

insertion de l'objet dans le monde Self

 

La figure qui suit donne une illustration générale de la présentation graphique d'un prototype de mot.

 

 

Figure 23. Objet GASPAR.

 

Pour les objets traits, nous avons définis les boutons suivants :

 

Shared trees

création d'un morph pour chaque arbre partagé par une ensemble de prototypes et porté par cet objet

Children

création d'un morph pour chaque prototype déléguant un comportement (au moins) à cet objet

Display/Edit Object

insertion de l'objet dans le monde Self

Word List

création d'un morph associé à une étiquette décrivant la liste des mots déléguant un comportement à cet objet

Tree List

création d'un morph associé à une étiquette décrivant la liste des arbres partagés portés par cet objet

 

Pour un prototype d'arbre, nous avons défini les boutons suivants :

 

Comment

création d'un morph portant le commentaire associé à l'objet représentant cet arbre

Arbres associes

création d'un morph pour chaque arbre d'analyse associé à l'objet représentant un arbre élémentaire

Parent

création d'un morph pour chaque parent associé à l'objet représentant cet arbre

Display Down >

création d'un morph pour chaque composant de cet arbre quand celui-ci est issue d'une analyse réalisée via le parser GASPAR [FLE 97]

Display/Edit Object

insertion de l'objet dans le monde Self

 

 

6.3. Ce qui est construit

 

Nous passons maintenant à une présentation des premiers résultats construit avec le dispositif GASPAR. Celui-ci est constitué de différents modules [FLE 97] : un module de représentation à partir d'informations extraites sur corpus, un module de classement des prototypes construits, un module d'analyse automatique, un méta-niveau d'analyse. D'une part, le dispositif GASPAR créé des représentations informatiques de manière automatique. D'autre part, il permet à l'utilisateur d'intervenir à tout moment sur les résultats construits ou sur les données traitées pour les ajuster ou pour les modifier. Il en va ainsi pour le module de représentation automatique des mots. Ce module est constitué d'une chaîne de traitements capable de construire des objets à partir d'informations linguistiques extraites sur corpus. Il permet parallèlement à l'utilisateur d'ajuster les représentations construites si de nouvelles informations sont disponibles.

 

6.3.1. Un dispositif expérimental

 

La génération automatique des prototypes est largement conditionnée par la somme d'informations issue du travail d'extraction réalisé en amont. Les informations utilisées, à ce stade de notre travail, sont nettement insuffisantes pour produire des résultats significatifs. Le classement opéré prend appui sur des caractéristiques grossières à la fois en raison de contraintes matérielles et de la difficulté à récupérer et organiser les informations à représenter.

 

6.3.2. Travail sur corpus de test

 

Le mini-corpus de test utilisé pour mettre en œuvre les processus de représentation des mots contient une cinquantaine de mots et une centaine d'arbres. On présente ici quelques résultats obtenus avec ce corpus et via l'interface graphique de Self. Les figures qui suivent présentent des traces graphiques des prototypes générés lors du processus de génération et des pôles de comportements partagés construits. Dans la figure suivante, on trouve les prototypes construits pour représenter le mot pontage et les deux prototypes d'arbre élémentaire associés : il s'agit des prototypes représentant l'arbre NAdj et l'arbre N1PrepNPivot.

 

 

Figure 27. Génération des prototypes.

 

La figure qui suit donne une trace graphique de pôles de comportements partagés construits sur notre corpus. Elle présente en particulier la classe de mots regroupant les adjectifs marginale, circonflexe, coronaire et carotide. Dans cet exemple, ces adjectifs partagent un arbre élémentaire porté par l'objet traits construit. Il est à noter que la classe produite ici est sémantiquement homogène.

 

 

 

Figure 30. Classes de mots sur corpus de test.

 

6.3.3. Travail sur de "gros corpus"

 

Pour le travail réalisé sur les gros corpus nous avons restreint le nombre de contraintes syntaxiques associées aux mots. Dans un premier temps nous avons travaillé sur des séquences NAdj extraites via LEXTER. À partir de 8754 séquences comportant des groupes nominaux, nous avons extraits 586 mots (des noms) auxquels sont attachés 1413 arbres élémentaires de type : Sn1 -> Nom Adj, Sn2 -> Adj Nom, Sn3 -> Adj XX, Sn4 -> XX Adj. Cette première sélection a donc consisté à ne garder que les arbres binaires portant les feuilles Nom/XX et Adj. De même, à partir de 7766 séquences extraites via AlethIP comportant des groupes nominaux, nous avons extrait 718 mots (des noms) auxquels sont attachés 1680 arbres élémentaires de même type que précédemment.

 

Sur le corpus LEXTER, le processus de génération conduit à la création des prototypes pour représenter les catégories syntaxiques Nom, Adj, XX, Sn1, Sn2, Sn3, Sn4, des objets traits associés et de plus de 2000 prototypes par copie et ajustement. Avec les prototypes créés, le dispositif GASPAR a cherché à repérer ceux qui partageaient exactement les mêmes comportements. Ce processus de classement conduit à la création automatique de 54 pôles de comportements partagés.

 

pôles de mots partageant

un arbre sn -> nom adj

adj

(1) occipital bras aisselle epaule

gauche

(2) exces surcharge

ponderal

(3) octobre juillet juin mai mars avril

dernier

(4) besoin tableau

clinique

(5) staff discussion reunion exerese geste reparation resection revascularisation

medico-chirurgical

(6) equipe solution oedeme parenchyme plage coeur tuberculose vascularisation

chirurgical

(7) sommet base

pulmonaire

(8) bloc sillon

auriculo-ventriculaire

(9) expression positivite seringue

electrique

(10) oreillette ventricule retard

droit, gauche

(11) fait amaigrissement etude

recent

(12) sujet individu

asymptomatique

(13) calcification algie

diffus

(14) ouverture prolapsus

mitral

(15) capture fonction conduction

ventriculaire

(16) fistule frere circulation atherosclerose

coronarien

(18) fourche etage

carotidien

(19) foyer fuite

aortique, mitral

(20) edieux dominance nodule

droit

(21) perforation rupture

septale

(22) frottement reaction epanchement

pericardique

(23) centre soir

meme

(24) gastrectomie alopecie

partiel

gazometrie ponction hypertension coudure

arteriel

(25) cholesterolemie hysterectomie obliteration

total

(26) genou machoire membre siege

inferieur

(27) greffon heterogreffe monopontage

veineux

(29) hematome asthenie

important

(30) triglyceride anatomie ascension

normal

(31) praticien administration milieu

hospitalier

(32) horaire difficulte

particulier

(34) prevention epilepsie epreuve

secondaire

(35) usage decours defibrillation

immediat

(36) vasodilatateur arterite

peripherique

(37) prurit dyspnee

intense

(38) crosse sigmoide

aortique

(39) impasse implication escalade nouvelle

therapeutique

(40) radiographie radio

pulmonaire, thoracique

(41) vitesse marche

rapide

(42) impossibilite raison

technique

(43) acrocyanose nausee

transitoire

(44) reanimation muscle

cardiaque

(45) agregant anti-agregant

plaquettaire

(46) relation lien

etroit

(47) remontee dosage

enzymatique

(48) interpretation interrogatoire analyse

difficile

(49) lacune medecin

present

(51) entrainement sedation medication

adequat

(52) apparition augmentation

brutal

(54) fibrillation sonde pancreatite phase

aigu

 

pôles de mots partageant

un arbre sn -> adj nom

adj

(17) majorite variabilite

grand

(28) ballon extension

petit

(33) intention symptome

premier

(50) accord repermeabilisation suivi

bon

(53) moyenne natif

circonflexe

 

On note tout d'abord dans ces résultats restreints que les noms sont majoritairement plus modifiés à droite qu'à gauche. Les classes produites sont, dans l'ensemble, cohérentes mais ne produisent pas encore des résultats pertinents sur le domaine étudié : certaines classes évidentes ou prévisibles sont mises au jour. La classe de mot associée au pôle n°3 est homogène dans sa relation avec l'adjectif dernier, de même pour la classe n°2 dans sa relation avec l'adjectif ponderal. La classe n°1, où la relation de localisation qualifie un membre ou une région du corps, est homogène ; pour cette classe, on note que les régions qualifiées ne le sont que pour l'adjectif localisant gauche ; à la différence de la classe n°10, celle-ci étant moins homogène. Les classes n°5, 6, 9, par exemple, regroupent quant à elles des noms sémantiquement plus éloignés.

 

Sur le corpus AlethIP, le processus de génération conduit à la création des prototypes pour représenter les catégories syntaxiques Nom, Adj, XX, Sn1, Sn2, Sn3, Sn4, des objets traits associés et de plus de 2500 prototypes par copie et ajustement. Avec les prototypes créés, le dispositif a là aussi cherché à repérer ceux qui partageaient exactement les mêmes comportements. Ce processus de classement conduit à la création automatique de 57 pôles de comportements partagés.

 

pôles de mots partageant

un arbre sn -> nom adj

adj

(1) fonction arteriographie

renal

(2) lobectomie epaule superieur coude galop aisselle bord interne

gauche

(5) lobe importance

moyen

(6) machoire membre genou

inferieur

(7) epilepsie raccordement

secondaire

(8) retard oreillette hanche

droit, gauche

(9) choix periode

prealable

(10) equipe exerese solution cure porte

chirurgical

(11) erreur impossibilite

technique

(13) cholesterol hysterectomie

total

(14) marche action

rapide

(15) role ordonnance palpitation

associe

(16) escalade attitude impasse implication

therapeutique

(17) cineangiocardiographie excitabilite conduction angiographique capture

ventriculaire

(18) rupture perforation grosse

septale

(19) cineique critique pericarde ascension ionogramme

normal

(20) etage fourche endarteriectomie

carotidien

(21) metaplasie fibroscopie ulcere

gastrique

(22) milieu praticien

hospitalier

(24) cliche oppression

thoracique

(25) seringue expression

electrique

(26) evolutivite fait amaigrissement decouverte reapparition

recent

(27) muscle stimulateur transplantation reanimation enzyme

cardiaque

(28) seuil dysfonctionnement

ischemique

(29) col trepied

femoral

(30) myocardiopathie style

dilate

(31) nodule cuisse pedieux jambe

droit

(32) fa angineux asthme psoriasis

ancien

(33) obstruction fistule atherosclerose reperfusion arbre instabilite

coronarien

(35) constriction brulure

precordial

(36) resistance champ coeur sommet parenchyme surinfection plage tuberculose vascularisation

pulmonaire

(37) stripping glaucome

bilateral

(38) ouverture insuffisance

mitral

(39) frottement decollement reaction

pericardique

(40) coudure gazometrie

arteriel

(41) sueur alteration hematome

important

(42) gastrectomie alopecie

partiel

(43) pancreatite pericardite phase

aigu

(44) analyse interrogatoire

difficile

(45) defibrillation usage

immediat

(46) depressif bronchite

chronique

(47) tableau argument besoin

clinique

(48) difficulte horaire

particulier

(51) dosage elevation remontee

enzymatique

(53) proteinurie leuconeutropenie

modere

(54) radiographie radio

pulmonaire, thoracique

(56) realisation cardiologie

moderne

 

pôles de mots partageant

un arbre sn -> adj nom

adj

(3) pronostic fonctionnement suivi fraction

bon

(4) reduction recommandation molecule

nouveau

(12) mesure epreuve centimetre

premier

(23) monsieur confrere

cher

(34) mollet type cote morphologie an

deux

(49) variabilite majorite

grand

(52) cadre age

jeune

(55) sens observateur

meme

(57) dedoublement aggravation avantage

net

 

Là encore, les classes produites sont, dans l'ensemble, homogènes mais peu pertinentes sur le domaine des maladies coronariennes. La classe de mot associée au pôle n°1 est, par exemple, peu significative, la relation avec l'adjectif renal étant marginale, notamment pour fonction. La classe n°3 est moins homogène que la classe précédente (issue de LEXTER) dans sa relation avec le localisant relatif gauche. Par contre, la classe n°6, où la relation de localisation avec inferieur qualifie là encore un membre ou une région du corps, est cohérente. Les classes n°3, 5, 7, 10, par exemple, sont quant à elles peu homogènes.

 

L'examen de la simple relation binaire Nom Adj ne permet pas de décrire complètement le fonctionnement des mots. Pour le moment, à chaque prototype est associée une liste de prototype(s) d'arbre élémentaire ; chacun de ces prototypes décrivant une relation Nom Adj. Pour enrichir ce travail de description du comportement des mots, il convient évidemment de pouvoir examiner d'autres types de relation binaire puis les relations syntaxiques complexes (lien arbre élémentaire arbre d'analyse). Il convient aussi d'examiner en détail tous les types possibles de regroupements de mots : certains mots partagent individuellement plus de comportements avec d'autres mots. L'absence de critères numériques manque aussi pour comparer les fréquences de réalisation des proximités de cooccurrences rencontrées.

 

7. Approche d'un méta-protocole

 

GASPAR permet de guider la mise au point de nouveaux résultats : l'utilisateur peut, à chaque étape, examiner les résultats déjà établis pour ensuite soit sélectionner parmi les outils disponibles ceux qui permettent d'améliorer la qualité des résultats, soit agir directement sur les objets construits pour les modifier ou pour les remodeler. La mise en place de regards croisés sur les savoirs représentés dépend directement du méta-regard de l'utilisateur sur les résultats qu'il génère en activant les outils définis : le méta-regard de l'utilisateur et ses interventions guident le travail d'affinement des résultats construits et leur interprétation.

 

7.1. Un environnement de programmation pour l'expérimentation

 

L'environnement mis en place avec Self facilite les manipulations concrètes et directes sur les entités représentées. Un utilisateur peut "communiquer" avec les agents du programme directement pour les modifier éventuellement sans avoir à connaitre précisément les mécanismes qui permettent ces modifications. Un programme Self est constitué d'entités "vivantes" et non d'entités inertes et immuables. Pour changer un objet, il est inutile de recompiler, il suffit de modifier l'objet suivant les besoins. Notre approche expérimentale s'accorde bien avec la possibilité dans l'environnement programmatique choisi de modifier interactivement les représentations informatiques créées. L'interface graphique de Self permet une visualisation des objets, et l'utilisateur peut "ausculter" les contenus des différents attributs ou des méthodes associés aux objets. Il peut aussi agir sur ces différentes facettes d'un objet. Nous avons déjà indiqué que certaines phases de travail manuel peuvent être réalisées pour affiner les résultats construits quand une action directe sur les représentations produites est nécessaire. Pour construire un programme de TALN capable d'agir dynamiquement sur ces mêmes objets, on doit disposer d'outils qui produisent les mêmes résultats mais qui agissent de manière transparente pour permettre une modification dynamique des représentations construites. Le système GASPAR gère automatiquement les savoirs rencontrés et leurs modifications éventuelles. Il peut sélectionner les savoirs à traiter et agir sur eux. Pour réaliser ce type de sélection, GASPAR utilise les méta-outils mis en place par Self pour interroger la structure d'un objet donné [FLE 97].

 

7.2. Réflexion de structure avec Self

 

Une des caractéristiques de Self est que les objets manipulés sont complètement déterminés par les comportements qui leur sont associés. Cette priorité de représentation permet une extension et une flexibilité dans le développement de nouvelles applications. Self dispose aussi d’une facette fondamentale : on peut souhaiter pouvoir examiner ou manipuler les objets au cours d’un processus de calcul ; on utilise les objets comme des données et non plus seulement comme des entités associées à la représentation d’un concept. Ce type de réflexivité permet de "parler" à propos d’un objet plutôt que de lui parler. Cette action est faite en Self avec des objets appelés miroirs ([WOL 95], [COI 91-93]). Un objet Self est essentiellement un dictionnaire (association attributs et valeurs). Les attributs peuvent être constants ou modifiables, parents ou non. Ces informations sont conservées dans des entités appelées maps. Une réflexion de structure est introduite en Self par des entités appelées miroirs. Ces entités rendent visibles au niveau du langage les informations contenues dans la représentation interne des objets. Un miroir sur un objet x permet essentiellement de faire des requêtes sur la représentation interne de cet objet. Dans la réalité, les miroirs sont des objets qui ne contiennent aucune information en eux-mêmes. Un miroir est simplement un receveur capable de répondre à un ensemble de primitives du système qui donnent accès en lecture aux informations sur l'objet.

 

Prenons un exemple. Si un attribut de même nom est disponible dans un prototype et dans un ou plusieurs de ses parents, Self permet de sélectionner le récepteur auquel on veut adresser une requête sur cet attribut. Il convient pour cela de pouvoir :

 

• 1. Connaître pour un prototype les liens d'héritage qui lui sont associés.

• 2. Récupérer tous ses parents.

• 3. Retenir le destinataire visé.

 

Self permet d'interroger la structure de tous les objets disponibles dans le système : on peut ainsi déterminer si un attribut donné dans un objet est un attribut parental, (i.e. cet attribut induit un lien de délégation entre l'objet visé et un autre objet). En outre, Self offre des primitives qui permettent de "forcer" l'envoi d'un message à un parent donné. On peut donc adresser le message souhaité au parent visé en utilisant, par exemple, la syntaxe suivante :'message' sendTo: Objet DelegatingTo: parentChoisi.

 

7.3. Utilisation des méta-savoirs et contrôle

 

GASPAR active différents outils qui permettent d'agir à un méta-niveau pour évaluer ou contrôler les objets manipulés. GASPAR utilise les méta-processus capables d'évaluer la structure interne des objets construits pour, par exemple, rechercher et sélectionner parmi tous les objets disponibles un objet particulier avec un type donné d'attribut. Il peut ensuite lui appliquer les opérations voulues. Ces opérations, intégrées aux programmes construits, restent évidemment transparentes pour l'utilisateur. Ce dernier constitue, malgré tout, une "entité" de méta-contrôle indispensable pour évaluer les résultats construits. C'est à lui d'interpréter et d'évaluer toutes les mises à jour réalisées : il peut d'ailleurs lui même être à l'origine de modifications sur les savoirs représentés. Puisque l'utilisateur joue un rôle central dans notre approche expérimentale, il est important de souligner que si l'on veut qu'il soit capable d'intervenir pour évaluer ou modifier les objets ou les résultats construits, il doit pouvoir suivre pas à pas les différentes opérations réalisées par les programmes construits pour ensuite évaluer les changements d'états des objets manipulés [HAB 93]. On conçoit donc qu'il soit utile, voire indispensable, de pouvoir suivre ces évolutions potentielles. A cet effet, les processus réflexifs disponibles avec le cadre de représentation choisi ont permis de développer des outils de suivi ou de mise au point de l'analyse. Ces outils présentent, de manière raisonnée, les différents états pertinents des traitements réalisés et des résultats construits à chaque étape.

 

7.4. Limites actuelles des méta-processus

 

Tous les méta-processus définis n'agissent en fait que de manière structurelle par rapport aux objets construits. Ils permettent soit d'ajouter un comportement, soit de retirer un comportement, soit enfin de modifier globalement un comportement. En effet, si on veut affiner un comportement dans un programme et de manière transparente pour l'utilisateur, il est nécessaire de le redéfinir complètement. Les processus disponibles ne sont pas encore capables de modifier partiellement la valeur d'un attribut, et notamment des attributs qui portent des procédures. Si l'on doit modifier ce type d'attribut de manière transparente pour l'utilisateur (et sans passer par l'interface graphique), il convient de modifier globalement la valeur de cet attribut i.e réécrire le code associé et le réaffecter à l'attribut visé. Il est clair qu'une telle mise à jour nécessite une intervention manuelle qui dépasse très souvent les compétences du non spécialiste. Si l'utilisateur peut intervenir dynamiquement et de manière interactive sur tous les objets construits en utilisant l'interface graphique de Self, il reste important de souligner qu'à moins de connaître toutes les finesses de la programmation avec Self, il reste difficile à un utilisateur non spécialiste de ce langage de gérer tout seul ce type de mise à jour. La mise au point de tels outils de mise à jour dynamique et ponctuelle des objets représentés est d'ailleurs loin d'être triviale ([COI 93-95]).

 

7.5. Mettre en place la génération de nouveaux savoirs

 

Notre travail vise à permettre aux objets créés d'apprendre par ajustements successifs de nouvelles connaissances. Dans la phase de génération dynamique des représentations associées aux mots présentée supra, les prototypes de mots apprennent dynamiquement les informations syntactico-sémantiques qu'il est possible de leur associer. Cet apprentissage est réalisé sous la forme d'une relation d'apprentissage d'un maître à un élève. Le maître en l'occurrence se matérialise tout d'abord sous la forme des informations initiales recueillies sur un corpus donné. Le classement produit peut aussi conduire l'utilisateur à intervenir directement sur les résultats construits pour affiner ces résultats. Cet apprentissage via l'acquisition de connaissances proposées par un maître ne suffit pas [PIT 95]. Un programme de TALN doit pouvoir construire de nouvelles connaissances à partir des connaissances connues. Cette dernière assertion pose d'ailleurs des problèmes qui dépassent notre cadre de travail.

 

Création de pôles de comportements

 

La phase de travail qui consiste à repérer les savoirs communs puis à définir et à créer les pôles de comportements partagés peut être assimilée à une première étape dans la construction de nouveaux savoirs. Celle-ci reste à affiner et à développer. Ces regroupements de savoirs partagés par un ensemble de prototypes de mots ou de prototypes d'arbres ne sont en effet pas identifiés ou nommés. L'opération qui consiste à évaluer la ressemblance comportementale entre les mots ne qualifie pas les ressemblances constatées.

 

Affiner les processus autodescriptifs des objets

 

Les objets construits doivent évaluer leurs fonctionnements et leurs comportements par rapport aux autres objets. Il convient donc de mettre en place des processus fins pour permettre aux objets construits de donner une bonne description d'eux-mêmes afin qu'ils puissent comparer cette description à celles des autres objets. Si deux objets (représentant des mots ou des arbres) doivent "dialoguer" pour évaluer leurs descriptions respectives et celles de leurs comportements, il convient que ces objets puissent activer des processus capables de produire ces descriptions. De plus, dans la mesure où les objets construits sont susceptibles d'évoluer, il convient que les processus d'autodescription des objets construits puissent être affinés dynamiquement pour tenir compte de ces évolutions potentielles. Self permet la mise en place de mécanismes qui réalisent cette description des attributs d'un objet donné à tout moment de son existence dans le système. La mise en oeuvre de telles opérations sur tous les objets du système construit reste à faire. De même il convient de poursuivre la mise en place de processus capables d'interroger plus précisément les attributs (de comportements) attachés aux mots et à ceux des arbres associés si l'on veut donner du sens aux savoirs ainsi représentés.

 

 

8. Une interface pour linguiste

 

Notre travail vise aussi à penser et à mettre en œuvre une interface graphique qui permette à l'utilisateur d'évaluer et d'interpréter les résultats. Ce développement constitue une voie de travail de grande ampleur qui ne peut être développé ici. Self offre d'ailleurs des solutions intéressantes pour réaliser cette interface. Nous présentons ici une des composantes de lŽinterface graphique de GASPAR qui propose une présentation des données traitées et des résultats construits par GASPAR.

 

Nous avons adapté le browser disponible dans Self-4.0 afin de créer un point dŽentrée pour la présentation de GASPAR. Ce browser permet une présentation de GASPAR et de ses composants. Il permet aussi de rendre accessible les données traitées par GASPAR au gré de leurs évolutions. Il permet enfin une présentation des résultats construits par GASPAR. Ces résultats sont mis à jour automatiquement par les programmes développés dans ce dispositif. Les classes de mots construites sur les corpus traités constituent à ce jour les premiers résultats disponibles via cette interface.

 

 

 

 

9. Perspectives

 

Nous avons présenté une approche qui vise à établir une représentation dynamique de savoirs lexicaux suivie d'une classification progressive des savoirs décrits. La démarche proposée permet d'envisager une classification hiérarchisée, même si celle-ci reste évolutive. Cette démarche s'accommode assez bien avec le modèle de représentation des connaissances retenu. La PàP encourage une approche de représentation faite de petits sauts successifs qui améliore la qualité de la représentation produite ; d'autre part, cette démarche s'accorde aussi avec la nécessaire approche artisanale que constitue le travail du linguiste dans sa volonté de décrire les comportements des faits de langue [MIL 89]. Concrètement ce travail a permis de produire un premier dispositif qui représente et classe les mots et leurs comportements. Les informations utilisées, à ce stade de notre travail, sont nettement insuffisantes pour produire des résultats significatifs. Le classement opéré prend appui sur des caractéristiques grossières à la fois en raison de contraintes matérielles et de la difficulté à récupérer et organiser les informations à représenter. De nombreux prolongements restent à faire. Sur le plan technique, la couverture des gros corpus doit être réalisée. Ce travail doit nous permettre d'améliorer la qualité du travail de représentation initié par les processus construits. La confrontation de ces résultats avec les connaissances du linguiste ou avec des bases de connaissances extérieures est prometteuse. Les aspects conceptuels n'ont pas été articulés aux phénomènes traités dans les processus construits ; une étude théorique et technique de ces articulations avec les autres niveaux de savoirs représentés doit conduire à étendre et affiner le travail de représentation amorcé. Le traitement de connaissances extra-linguistiques peut aussi compléter et affiner les processus mis en place. Ce travail a aussi permis de tracer des pistes pour une réflexion sur les problèmes complexes liés aux traitements automatiques des faits (évolutifs) de langue. Notre approche des problèmes de classification, d'apprentissage, de réflexivité doit être étendue. Ces notions dépassent très largement le cadre linguistique étudié ici et la confrontation de nos choix et de nos résultats avec les travaux établis par ailleurs doit constituer une voie de recherche fructueuse.

 

10. Bibliographie

 

[BAC 92] Bachimont Bruno, Le contrôle dans les systèmes à base de connaissances, Hermès, 1992

[BAC 95] Bachimont Bruno, "Ontologie régionale et terminologie : quelques remarques méthodologiques et critiques" 1995.

[BEN 95] Bentch Peter A., Savitch Walter J., "An occurrence-based model of word categorization", Annals of Mathematics and Artificial Intelligence 14, J.C Baltzer AG, Science Publishers, 1995.

[BIB 93] Biber Douglas, "Using register-diversified corpora for general language studies", Computational Linguistics, volume 19, numéro 2, p. 219-241, 1993.

[BLA 94] Blascheck G. , Object-Oriented Programming with Prototypes, Springer-Verlag, Berlin, 1994.

[BOU 93] Bourigault Didier, "An endogeneous Corpus-Based Method for Structural Noun Phrase Disambiguation", Actes EACL, 1993.

[BOU 94] Bourigault Didier, LEXTER, un logiciel d'EXtraction de TERminologie. Application à l'extraction des connaissances à partir de textes, Thèse en mathématiques, informatique appliquée aux sciences de l'homme, Ecole des Hautes Etudes en Sciences Sociales, Paris, 1994.

[COI 93] Cointe Pierre, Malenfant Jacques, Dony C., Mulet Philippe, "Etude de la réflexion en Self, un langage à prototypes", LITP, 1991.

[COI 95] Cointe Pierre, Mulet Philippe, Malenfant Jacques, "Towards a methodology for Explicit Composition of Meta-Objects", Actes OOPSLA, SIGPLAN Notices, 1995.

[DUV 95] Duvall Robert, "The Self Environment : a Tutorial", CS196b : Object-Oriented Programming Languages for Computer Science Education, Brown University, 1995.

[FLE 97] Fleury Serge, Polas Fritas : Prototypes Oriented Language Has Freed Us. La programmation à prototypes, un outil pour une linguistique expérimentale. Mise en œuvre de représentations évolutives des connaissances pour le traitement automatique du langage naturel, Thèse de doctorat, Paris 7-Denis Diderot, 1997.

[GRE 93] Grefenstette Gregory, "Automatic Thesaurus Generation from Raw Text using Knowledge-Poor Techniques", 9th Annual Conference of the university of Waterloo, Centre for the New Oxford English Dictionary and Text Research, Oxford, 1993.

[GRE 94] Explorations in Automatic Thesaurus Discovery, Kluwer Academic Publisher, Dordrecht, The Netherlands, 1994.

[HAB 93] Habert Benoît, Fleury Serge, "Vers des analyseurs réflexifs", TAL, volume 34, numéro 1, 1993.

[HAB 96a] Habert Benoît, Nazarenko Adeline, "La syntaxe comme marche-pied de l'acquisition de connaissances : bilan critique d'une expérience", Journées d'Acquisition de Connaissances, 1996.

[HAB 96b] Habert Benoît, Folch Helka, "Les quasi-arbres : un formalisme logique pour exprimer des requêtes en indexation structurée", Actes Informatique et Langue Naturelle, Nantes, 1996.

[HAB 97a] Habert Benoît, Bourigault Didier, "A Frontier to Root Transducer for the Evaluation of Two Noun Phrase Extractors", Journées Scientifiques et Techniques , FRANCIL, Avignon, 1997.

[HAB 97b] Habert Benoît, Salem André, Nazarenko Adeline, Les linguistiques de corpus, Armand Colin, Paris, 1997.

[HAR 70] Harris Zellig, "La structure distributionnelle", Langages n°20, Larousse, 1970.

[HAR 88] Harris Zellig, "Language and Information", Columbia University Press, New York, 1988.

[HAT 91] Haton Jean Paul, Bouzid Nadjet, Charpillet François, Haton Marie Christine, Lâasri Brigitte, Lâasri Hassan, Maquis Pierre, Mondot Thierry, Napoli Amadeo, Le Raisonnement en Intelligence Artificielle : Modèles, Techniques et Architectures pour les systèmes à base de connaissances, InterEditions, 1991.

[LEM 95] Lemaire Florence, Rechenmann Francois, "Intégration de connaissances terminologiques dans les grandes bases d'objets, exemple en biologie moleculaire", La banque des mots, numéro spécial 7, Terminologie et Intelligence Artificielle, Texte réunis et présentés par G.Otman, 1995.

[LIE 86] Liebermann Henri, "Using Prototypical Objects to implement Shared Behavior in Object Oriented System", Artificial Intelligence Laboratory, MIT, 1986.

[MAE 87a] Maes Pattie, Computational Reflection, Technical Report 87-2. Artificial Intelligence Laboratory, 1987.

[MAE 87b] "Concepts and experiments in computational reflection", Actes OOPSLA, SIGPLAN Notices, Orlando, 1987.

[MAE 87c] Maes Pattie, Nardi D. (responsables), Meta-Level Architectures and Reflection, North Holland, 1987.

[MAL 95] Malenfant Jacques, "On the Semantic Diversity of Delegation-Based Programming Languages", Actes OOPSLA, SIGPLAN Notices, 1995.

[MIK 94] Mikheev Andrei, Mœns Marc, "Acquiring and Representing Background Knowledge for a natural Language Processing System", Actes AAAI, 1994.

[MIL 89] Milner Jean Claude, Introduction à une science du langage, Le Seuil, 1989.

[PIT 95] Pitrat Jacques, De la machine à l'intelligence, Hermès, 1995.

[RES 93] Resnik Philip Stuart, "Selection and Information : a Class-Based Approach to Lexical relationships", (Ph.D Dissertation), University of Pennsylvalia IRCS Report 93-42, 1993.

[ROS 75] Rosch E., "Cognitive representation of semantic categories", in journal of Experimental Psychology , volume 104, 1975.

[ROS 76] Rosch E., "Classification d'objets du monde réel : origine et représentations dans la cognition", in Bulletin de Psychologie, S. Ehrlich, E. Tulving (Editors), numéro spécial : La mémoire sémantique, 1976.

[SEL 95] Self Group 95 : Agesen O., Bak L., Chambers C., Chang B.W., Hölzle U., Madsen O.L, Maloney J., Smith R., Ungar D., Wolczko M, "Self 4.0 Read This First", Sun Microsystems, Inc. and Stanford University, 1995.

[SMI 95] Smith Walter R., "Using a Prototype-based Language for User Interface : The Newton Project's Experience", Actes OOPSLA, p. 61-72, SIGPLAN Notices, 1995.

[UNG 87] Ungar David, SmithRandall B., "SELF : The power of Simplicity", Actes OOPSLA, SIGPLAN Notices, 1987.

[UNG 88] Ungar David, Stein Lynn Andrea, Liebermann Henri, "A shared view of Sharing : The Treaty Of Orlando" , in Object Oriented Concepts, Applications and databases , Won Kim and Fred Lochovsky Editors, ACM Press, 1988.

[UNG 95a] Ungar David, "How to Program Self-4.0", Sun Microsystems, Inc. and Stanford University, 1995.

[UNG 95b] Ungar David, "Programing as an experience : The Inspiration for SELF", Stanford University, 1995.

[UNG 95c] Ungar David, Smith Randall B., Chang Bay-Wei, "Getting Closer to Objects : Object-Focused Programing Environments", in Visual Object Oriented Programing Language, M. Burnett, A. Goldberg & T. Lewis Editors, Prentice-Hall, 1995, p. 185-198, 1995.

[UNG 95d] Ungar David, Smith Randall B., Maloney John, "The Self-4.0 User Interface : Manifesting the System-wide Vision of Concretness, Uniformity and Flexibility," Actes OOPSLA, SIGPLAN Notices, 1995.

[WOL 95] Wolczko Mario, Smith Randall B., Prototype-Based Application Construction Using Self 4.0, Sun Microsystems Inc, 1995.

[ZWE 94] Zweigenbaum Pierre, "MENELAS : an Access System for Medical Records using Natural Language", Computer Methods and Programs in Biomedicine, volume 45, p. 117-120, 1994.

[ZWE 97] Zweigenbaum Pierre, Bouaud Jacques, Habert Benoît, Nazarenko Adeline, "Coopération apprentissage en corpus et connaissances du domaine pour la construction d'ontologies", Journées Scientifiques et Techniques, FRANCIL, Avignon, 1997.