MAURICE QU~.ZEL-AMBRUNAZ - PIERRE GUILLAUME 
ANALYSE AUTOMATIQUE DE TEXTES 
PAR. UN SYSTEME D'\]~TATS FINIS 
1. PRI~SENTATION 
Toute proc6dure de reconnaissance ou de g6n6ration automatique 
de langues naturelles, c'est-~t-dire toute proc6dure qui fair passer d'un 
niveau de langue ~t un autre niveau, repose sur la notion de module. 
Le module lui-m~me comporte deux facettes, l'une est le type 
logique caract6ris6 par une classe de languages reconnus et traduits, 
l'autre, est le contenu concret des donndes linguistiques destin6es 
la repr6sentation d'une langue particuli~re. Le type logique du module 
valable pour plusieurs langues est concr6tis6 par un syst~me informa- 
tique contenant le m6talangage d'dcriture de la grammaire et des di- 
verses donn6es et contenant aussi l'algorithme d'exploitation de ces 
donn6es. 
Le syst~me A.T.E.r., d6crit en d6tail par ailleurs, est tin support in- 
formatique permettant la reconnaissance et la transduction des lan- 
gages d'6tats-finis. I1 ne constitue 6videmment qu'un maillon dans 
une chalne de modules texte-signification ou signification-texte (en 
traduction automatique par exemple) et d'autres modules plus puis- 
sants sont n~cessaires. Cependant, l'analyse de langues naturelles qui 
n'exige pas une puissance sup6rieure est d~j~t appr6ciable. En effet, elle 
comprend l'analyse morphologique et tree partie de l'analyse syntaxique. 
Pour r6aliser ces t,~ches, un syst~me d'6tats-finis est 6videmment beau- 
coup plus efficace qu'un syst~me trop puissant. Ainsi le syst~me A.T.E.F. 
est principalement utilis6 pour l'identification des roots, l'analyse mor- 
phologique et le d6but d'une analyse syntaxique de langue naturelle. 
Un tel texte se pr6sente sous la forme d'tme suite de caract~res o~.l 
le ~ blanc ~)joue le r61e particulier de s6parateur de formes. Ces formes 
constituent k leur tour les 616ments d'entr6e du module. L'dtape de 
morphologie dolt permettre leur substitution par des quantitds signi- 
ficatives pour le module suivant. 
25 
386 MAURICE QUI~ZEL-AMBRUNAZ- HERRE GUILLAUME 
Une premiere strat6gie possible consisterait en une simple consul- 
tation d'tm dictionnaire de formes. Une r&lisation bas~e sur ce principe 
se heurte rapidement ~t des contraintes dues au volume du dictionnaire 
actif. Une autre strat6gie inclut l'utilisation de dictionnaires de racines 
et d'a~xes. Chaque ~l~ment de ces dictionnaires pourra constituer un 
segment dans la forme origine. 
Le r61e de la morphologie est alors de trouver ~t l'int6rieur d'uue 
forme, en fonction de r~gles de coh6rences entre segments, les d6com- 
positions acceptables. Ces r~gles 6rant de type Stats-finis, on doit dis- 
poser d'un automate r6gulier en vue de la reconnaissance de telles 
unit6s. Le module associ6 au syst~me A.T.~.r. comporte un tel automate, ' 
qui est tm transducteur d'6tats finis. Lots de la d6finition d'un tel mo- 
dule on peut choisir entre deux types de r6alisations: les r~gles de tran- 
sition de cet automate peuvent faire pattie int6grante de la description 
en machine de l'algorithme. Cette solution, favorable k l'e~cacit6 glo- 
bale du module, ne permet pas d'effectuer ais6ment des modifications 
portant sur les r~gles. De fa~on ~t pr6server l'aspect polyvalent du sys- 
t~me et k garder une souplesse d'emploi indispensable k des applica- 
tions vari~es, on a pr6f~r6 dissocier le fonctionnement de l'algorithme 
des r~gles. Ce second type de r6alisation adopt6 pour A.T.~.F. implique 
un automate devant pouvoir accepter routes les r~gles de coherence 
constituant une grammaire valide. L'utilisateur a un contr61e aussi 
complet que possible du fonctionnement d'un tel syst~me. 
Le module est pr6vu pour permettre le traitement en parall~le d'un 
second niveau d'analyse. Au cours de la segmentation d'tme forme on 
a acc~s aux rdsultats de la d6composition des 4 formes la pr6c6dant, et 
k la forme suivante. Ceci peut permettre d'orienter la segmentation 
de la forme en cours, et de restreindre les combinaisons entre les so- 
lutions associ6es ~ ces formes. 
On fair ainsi intervenir des propri6t6s d'accords syntaxiques d'6tats 
finis. Les donndes externes accessibles ~l l'utilisateur sont constitu6es 
par; 
-- les d~clarations de variables 
les formats 
-- la grammaire 
-- les dictionnaires. 
ANALYSE AUTOMATIQUE DE TEXTES 387 
2. LES DONN\]~ES 
2.1. Les d&larations & variables. 
Par leur interm6diaire, l'utilisateur ddfinit les noms de variables et 
les valeurs associ6es. 
Les variables. 
I1 appartient h l'utilisateur de se d~finir toutes les quantit~s qu'il 
juge n~cessaires h la segmentation et ~t son interpr&ation. 
Ces quantit6s sont repr6sent6es par des ensembles de valeurs. Ces 
valeurs se regroupent en classes disjointes auxquelles on associe un nom 
(nonl de variable). Si une variable ne peut prendre qu'une valeur uni= 
que parmi celles qui sont d~clar&s, elle est dite exclusive. Sinon, elle 
est dite non exclusive et la valeur effective est prise dans l'ensemble 
des parties des valeurs d6clar6es. 
Une r6partition en variables morphologiques et syntaxiques est 
d&ermin~e par leur utilisation. Celles qui sont introduites/t partir du 
lexique sont de nature morphologique. Celles qui permettent d'inter= 
pr6ter la segmentation sont de nature syntaxique. 
Darts les formats elles d&erminent une valeur d'6tat associ6e ~t chacun 
de ceux-ci. Dans la grammaire, elles sont r6f6renqables en vue de tests 
de correspondances de valeurs et de leurs modifications. Le contr61e 
des dictionnaires se fait par utilisation d'une variable sp6cialis6e (va= 
riable non exclusive DICT). La valeur de cette variable correspond 
aux diff6rents dictionnaires valid6s ~t un moment de la segmentation. 
Une variable pr6ddclar6e (variable exclusive UL) d6signe l'entrde 
du lexique repr6sentative de la racine de la forme. 
Variables morphologiques. 
SaG : = 
PREP • = 
SDNA := 
SDN : = 
PDI~P := 
PDP~N := 
DICT • = 
-EXC- 
(D, S, B, e). 
-NEX- 
(IN, IM, IL, IB,). 
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11). 
(MF.NT, Tr.1, IT, m, F TF1, fUR, F SSE, ABLE, roLE, 
ATION, ITION). 
(AM, AN, VA, VAM, VN). 
(N, NAM, NAN, NVA, NVAM). 
(1, 2, 3). 
388 MAURICE QUI~.ZEL-AMBRUNAZ- PIERRE GUILLAUME 
Variables syntaxiques. 
CAT 
DRV 
NEG 
GNR "= (MAS, FEM). 
NBR "= (SIN, PLU). 
-EXC- 
:= (VRB, NMC, NMP, PRP, AJQ, AJP, AJD, ART, ADV, 
PR , CN\]). 
:= (AJAV, AJNM, VBAJ, VBNM, VBAJAV). 
:= (NG). 
-NEX- 
2.2. Les formats. 
A chaque 616ment des dictionnaires on doit associer un certain 
hombre de valeurs qui caract&isent son comportement vis-~t-vis du 
mod61e. Ces valeurs sont utilisables d'une part pour d&erminer les 
accords possibles entre segments, d'autre part, pour repr&enter les 
caract&istiques syntaxiques associ&s ~t ces segments. Les classes ainsi 
introduites dans le lexique s'av6rent &re en nombre r6duit par rapport 
aux 616ments de celui-ci. Elles sont repr&entables par un couple de 
formats: morphologique et syntaxique. Les formats morphologiques 
sont utilis& comme arguments pour la recherche des r~gles ~t appliquer 
en vue de l'accord des segments. Les valeurs qui leur sont associ&s 
sont prises parmi les valeurs des variables de type morphologiques. 
Les formats syntaxiques permettront de compl&er les valeurs r6sultant 
du d6coupage de la forme. 
Formats syntaxiques. 
PS 
SA534 
SA534 
SS2 
VS3 
01 =----.~"~ NEG -E- NG. 
01 =----.*~ CAT -E- AJQ, PDRP -E- AM -U- AN, PDRN -E- 
02 N -U- NAM -U- NAN, SDN -E- ITE1, PREF -E- IR. 
01 =----.~' DRV -E- AJNM, CAT -E- NMC, GNR -E- FEM, 
SDNA -E- 2. 
01-----= .*~ GNR. -E- FEM, NBR. -E- SIN. 
Formats morphologiques. 
BA4 
D3 
PM4 
SM3 
01 == ."~ SEG -E- B, SDNA -E- 4. 
01 == .~"~ SEG -E- D, SDNA -E- 3 -U- 4 -U- 11. 
01 -~= .~'~ SEG -E- P, PREF -E- IR. 
01 == .'."~ SEG -E- S, SDN -E- ITE1. 
ANALYSE AUTOMATIQUE DE TEXTES 389 
2.3. La grammaire. 
Elle est form& par un ensemble de rhgles d&rivant la fonction de 
transition de l'automate. Chacune de ces rhgles est potentiellement 
applicable ~, tout instant. Chaque segment extrait d'une forme conduit, 
par l'interm6diaire des dictionnaires, ~ un ou plusieurs formats mor- 
phologiques. 
Un format morphologique introduit un jeu de valeurs de variables 
r6f&en~ables dans l'automate comme valeur argument (A). Les valeurs 
de variables provenant du d6but de segmentation de la forme constituent 
l'&at courant (C). La partie affectation de rhgle permettra de faire 
4voluer cet 4tat courant. L'application d'une rhgle est subordonn&/l 
la r&lisation de plusieurs conditions. Chacun des formats morpholo- 
giques associ4 au segment permet de sdlecter dans la grammaire un pre- 
mier sous-ensemble de rhgles. Celui-ci est constitu4 par les rhgles oh 
le nom de format figure en partie gauche. Les conditions s'expriment 
comme des relations entre variables des ~tats argument et courant: on 
guide de cette fagon la segmentation (coh&ence morphologique). 
L'introduction des 4tats r&ultants de la segmentation des formes 
pr4c~dentes (d&ign&s par P1, P2, P3, P4) pcrmet d'op&er sur un 
contexte 41argi (coh&ence syntaxique). Les chalnages entre d&oupages 
6voluent en cons6quence. On peut 6galement faire intervenir les valeurs 
associ&s 5. la forme suivante (S). Ce type de condition sera pris en charge 
lots de l'analyse de cette forme. 
Exemple de condition d'application de r~gle. 
SEG(C) -E- S -ET- 
(PDI~P(A) -INC- VA -ET- DRV(C) -E- VBAJ 
-OU- PDRP(A) -INC- VAM -ET- DRV(C) -E- VBA\]AV 
-OU- PDKP(A) -INC- VN -ET- DKV(C) -E- VBNM 
-OU- PDKN(A) -INC- NVA -ET- DRV(C) -E- VBAJ -ET- SCHAINE 
(A, o, 1)-Nr- ' ' 
-OU- PDKN(A) -INC- NVAM -ET- D1KV(C) -E- VBAJAV -ET- 
SGHAINE (A, O, 1)-NE-'') 
Les affectations se font ~. partir des valeurs arguments, courantes 
et 4ventuellement pr4c6dentes, vers les valeurs des &ats courants et 
suivants. Elles transmettent les valeurs le long des chalnes de ddcoupag:s 
pourvu que leur traitement entre dans le cadre du module d'6tats finis. 
390 MAURICE QUI~ZEL-AIMBRUNAZ- PIERRE GUILLAUME 
Exemple d'affectation de variables. 
DtLV: = VBAJAV 
ContrSle de la segmentation. 
Un certain hombre de fonctions standard permettent d'intervenir 
au niveau de l'algorithme de segmentation. Soit en affectant une priorit6 
absolue au segment en cours (-AKtLET-), soit par l'arr& de tout nouveau 
ddcoupage si l'on estime avoir obtenu l'unique r6sultat d6sir6 (-FINAL-), 
soit en ne prenant pas en compte les segments plus courts que le segment 
actif (-STOP-). 
Contrdle des dictionnaires et de la valeur de l'unitd lexicale. 
L'utilisation des dictionnaires est de type 6tat-fini. La segmentation 
correspond doric ~. tm langage r6gulier sur le vocabulaire terminal des 
dictionnaires r6f6rences. Une utilisation standard: d4sinence, base, pr6- 
fixe a 6t6 int6gr6e ~t l'algorithme. L'utilisateur peut garder n&nmoins 
le contr61e de ses dictionnaires k partir de la grammaire en utilisant la 
variable DICT. L'ensemble des dictionnaires valides en ddbut de d& 
coupage des formes dolt figurer dans la grammaire. 
Affectation de la valeur d'unit~ lexicale. 
Elle se fera de fa~on standard ~ partir de la seule entree du lexique 
comportant tree r4f~rence d'unit6 lexicale (dictionnaire de type base). 
Sinon l'affectation de cette valeur peut ~tre impos4e par la grammaire. 
(utilisation de la variable exclusive UL). 
Exemple: UL(C): ='UL100' 
Segmentation impossible. 
Si aucune segmentation valide n'est trouv6e pour une forme, on 
cr6e une r6f6rence k un format morphologique parficulier (MODINC). 
Celui-ci peut figurer en partie gauche d'un ensemble de r~gles consti- 
tuant une sous-grammaire. Elle dolt contenir tree r~gle dont l'appli- 
cation est inconditionnelle (MOTINC), qui assure un rdsultat pout toute 
forme iigurant dans le texte d'entrde. En parall~le est cr66e une entr6e 
dam un dictionnaire temporaire associ6 au texte trait6, i1 est d'aiUeurs 
possible de cr6er el1 cours de traitement de telles r6f6rences qui trouvent 
ANALYSE AUTOMATIQUE DE TEXTES 391 
leur utilit6 lors de la reconnaissance des noms propres, par exemple 
(-TRANS-). 
Mots compos& et tournures. 
De fa~on a permettre la reconnaissance des mots compos&, une 
fonction (-SOL-) s'interpr&ant par l'extraction d'une solution correspon- 
dant ~t l'&at courant a &6 introduite. Inversement, l'utilisation d'un 
dictionnaire de tourmtres fig&s peut conduire ~t associer une seule so- 
lution ~. ms groupe de formes (TOURN). 
Autres fonaions. 
Fonction d'~limination: elle correspond k l'~limination de l'ensemble 
des solutions associ&s ~t la forme et permet de garder tree repr&entation 
oh des 61~ments non significatifs sont supprim&. Un certain hombre 
de fonctions permettent l'acc6s aux chahaes litt&ales constituant les 
formes. Lettr transformation se traduit par des rdductions du nombre 
des articles du lexique (cas des redoublements de consonnes). 
Exemple de r~gles grammaticaIes. 
VAR(C) : = VAR(A), GNR (C): = MAS, NBR(C) : = SIN, DICT(C) 
"=3 
RP1 " PM1 - PM2 = PM3 = PM4 == 
VAREM (C) := VAREM(A), NEG(C)'= NG/ 
SEG(C) -E- B -ET- PREF(C) -E- PREF(A) 
-ET- (DRV(C) -E= DRVO -ET= PDRN(C) -INC= N 
-OU- DRV(C) -E- AJAV -ET- PDRN(C) -INC- NAM 
-OU- DRV(C) -E- AJNM -ET- PDRN(C) =INC- NAN 
-OU- DRV(C) =E= VBAJ =ET= PDRN(C) -INC- NVA 
-OU= DRV(C) -E- VBAJAV -ET- PDRN(C) =INC- NVAM). 
RD31 : D3 ---- 
VAREM(C) : -- VAREM(A), VAKNM(C) • = VARNM(A)-U- 
VARNM(C) / 
GNR(A) -E- FEM -ET- NBR(A) -E= SIN -ET- 
SEG(C) -E= S -ET- (DRV(C) =E- AJAV -OU- DKV(C) -E- 
AJNM) / 
TCHAINE(0, 'LL', 'L'), TCHAINE(0, 'NN', 'N'), TCHAINE(0, 
'ss', 's'), 
TCHAINE(0, 'TT', 'T'). 
RS21 : SM3 
VAR(C) : -- VAR(A), NBR(C) : = SIN / SEG(C) -E= SEG0 / 
TCHAINE(0, 'AL', 'ELLE'). 
392 MAURICE QUI~ZEL-AMBRUNAZ- PIERRE GUILLAUME 
RA5 : BA3 - BA4 - BA6 - BA7 - BA8 - BA9 - BA10 - BAli 
VAKEM(C) : = VA1KEM(A), VA1KNM(C) : = VA1KNM(A) -U- 
VAlkNM(C), DICT(C) := 3, -AKR_ET- / 
SDNA(C) 4- SDNA(A) SDNA0 -rT- DRY(C) -Nr- 
DtkV0 
-ET- (PDRP(A) -INC- AM -OU- PD1KP(A) -INC- AN 
-OU- (PD1KN(A) -INC- NAM -OU- PD1KN (A) -INC- NAN) 
-ET- SCHAINE (A, 0, 1)-mE-''). 
2.4. Les dictionnaires. 
I1 en existe de deux types: les dictionnaires d'affixes n'introduisant 
pas de r6fdrence au lexique (UL) et les dictionnaires de bases associant 
celles-ci des unit& lexicales. Chaque article du dictionnaire est com- 
pos6 d'un segment auquel sont associ& un format morphologique et 
un format syntaxique, 6ventuellement un nora d'unit6 lexicale. 
CHEV == BN9 (SN3, CHEVAL). 
Au nombre de six au maximum, on peut leur adjoindre un diction- 
naire de tournures du type base mais contenant plusieurs formes par 
article. 
De faqon interne, l'organisation des dictionnaires est bas& sur l'uti- 
lisation d'une fonction de hash-coding d&ermin& par le premier ca- 
ract~re du segment et la longueur de celui-ci. 
On d&ermine ainsi un certain hombre de classes. A l'int~rieur une 
organisation s6quentielle monotone permet une recherche dichotomique 
des articles par l'automate. 
Exemples: entr&s d'un dictionnaire de type base 
RE1EL == BA4 (SA534, KE1EL). 
IK 
entrdes d'un dictionnaire d'a~xes (prdfixes) 
-- PM4 (PS). 
entr&s d'un dictionnaire d'affxes (ddsinences) 
E ---- D3 (VS3). 
ITE1 ---- SM3 (SS2). 
TEl ---- SM2 (SS2). 
ANALYSE AUTOMATIQUE DE TEXTES 393 
3. L'ALGORITHME 
3.1. Son principe. 
L'alg0rithme a pour r61e de segmenter les formes constituant le 
texte d'entr~e. Le sens de la segmentation est constant pour une langue 
donnde et s'effectue k partir de l'extrdmit6 droite ou gauche de la forme. 
Ce param~tre sens de l'analyse doit atre pr~cis~ au moment du trai- 
tement des donn~es linguistiques. 
A ehaque &ape de la segmentation, la chalne de caract~res restant 
analyser sert d'argument pout la recherche des segments dans les 
diff6rents dictionnaires valid&. Cette chalne sera d&ign~e par A. Les 
segments pris en compte sont ceux qui constituent les sous-chalnes 
initiales de la chalne A. L'ordre selon lequel ils sont retrouvds est fonction 
du dictionnaire off ils figurent, et ~ l'int&ieur d'un dictionnaire de leur 
taille (ordre d6croissant). Pour tm m~me segment, les formats associ& 
sont trait& dans l'ordre off ils apparaissent dans la grammaire. I1 en 
est de m~me pour l'applieation des r~gles. 
3.2. Son contrSle. 
La fonction -INIT- a pour r61e de r~initialiser l'automate et doit 
8tre not& en pattie affection de r~gle grammaticale. Elle se traduit 
par l'annulation des liaisons &ablies avec les solutions pr&6dentes. On 
ddcoupe ainsi le texte cn unit& syntaxiquement autonomes ~quivalentes 
des phrases. 
La fonction -AKRET- permet d'ignorer toute nouvelle sous-seg- 
mentation. 
La fonction -HNAL- donne tree priorit6 absolue au d&oupage en 
cours. 
3.3. Modalitds de fonctionnement. 
Les rEsultats de l'analyse d'un texte peuvent ~tre destines ~ fournir 
uniquement tree entr& au module suivant. Dans ce cas aucun r~sultat 
exteme des d6coupages n'est fourni. 
Pour la raise au point du module lui-mSme, on peut obtenir deux 
types de sortie des r&ultats: 
394 MAI.mlCE QU\]~ZEL-AMBRUNAZ- PIERRE GUILLAUME 
un d&ail complet des applications des r~gles et des grandeurs 
calcul&s 
une sortie du d6coupage des formes et des valeurs associ~es 
seulement. 
4. REALISATION~ APPLICATION DU SYSTEME 
Le syst~me A.T.E.F. a gt6 impl6mentd sur ordinateur IBM 360/67. 
I1 utilise un mode de fonctionnement conversationnel par l'interm6diaire 
des syst~mes d'exploitation cv et CMS. 
La gestion des programmes et fichiers constituant le systbme A.T.E.s. 
est effectude par un moniteur de procedures de commandes conversa- 
tionnelles (composant ExEc de CMS). 
L'intdraction utilisateur-syst~me est du type question-r~ponse. Elle 
est prise en charge par l'interface conversationnel du moniteur. 
Deux composants principaux correspondent d'une part ~ la pr6- 
paration des donn~es (DICMOR) et d'autre part au traitement des textes (MoRPHo). 
Les programmes ont 6t~ r~dig~s en langage d'assemblage de fa~on 
atteindre des performances optimales. 
Le syst~me op6rationnel depuis juillet 1972 a pcrmis la raise au 
point des analyses morphologiques des langues russe, franqaise, japo- 
naise et a11emande. Des applications sur des langages tels que les roots 
compos~s en chimie sont en cours. 
ANALYSE AUTOMATIQUE DE TEXTES 395 
,o 
W 
Z 
W 
0 
0 
z 
~ Z z ~ ~ 
~ z 
>>z > z ~ 
z .... ~ .... z 
z ~ w ~ O0 - OOZ 
~ wwO ww~ 
• . ~ ~ % 
w ~ ~ 
o o 
z ~ .. 
0 
-- z 
0 
~8~ ~ 
~,,~ w ~ .... 
-- O~ w~ 
mOO 
z 
z z ~- 
z 
m~ z 
oe~ em 5 
...... Z .... 
000 OOZ 
~Z ~ 
~ ~z 
...... ~ 
~ e 
B ° 
d 
Z z 
a 
Z Z 
z 
Z 
Z 
Z 
.... ~ ..~ ,. 
~ ~z 
22~ 2~ 
C 
.... ~ ..~ .. 
~ m W m 
~ z 
j W~ 
~Z 
-- ~Z 
z z z z z~ w~ 
~ --WW ~ ~ "~__""~ ..~., ~..www~ww~..ww~~ 
~£~ ~ ~o~ ~o~ o 
44 

