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/
GASPAR : présentation
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 :
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.
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 |
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.
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.
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.
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.