SBORNÍK PEACÍ FILOZOFICKO FAKULTY BRNĚNSKÉ UNIVERZITY STUDIA WNORA FACULTATIS PHILOSOPHICAE UNIVERSITATIS BRUNENSIS A SS. 1887
KAREL SYNTAKTICKÝ
PALA
ANALYZÁTOR
1.
PRO ČEŠTINU
ÚVOD
V tomto č l á n k u budou p ř e d m ě t e m n a š í pozornosti o t á z k y a u t o m a t i c k é syn t a k t i c k é a n a l ý z y č e s k ý c h v ě t . T o u t o problematikou jsme se z a b ý v a l i j i ž d ř í v e z hlediska p r o c e d u r á l n í g r a m a t i k y (Pala, M a c h o v á , H a v e l , 1978, P a l a , 1982) a její implementace v p r o g r a m o v a c í m jazyce L I S P 1.5 (Vaničková, 1977). Zde se chceme z m í n i t o p o k r a č o v á n í tohoto v ý z k u m u s v y u ž i t í m j i n ý c h i m p l e m e n t a č n í c h p r o s t ř e d k ů ( B e n e š o v s k ý , Š m í d e k , 1984),. n a j i n é m počítači ( P D P 11/34) a v i n t e r a k t i v n í m r e ž i m u . Nejde t u jen o p o u h é p ř e p r o g r a m o v á n í p ř e d c h o z í h o s y n t a k t i c k é h o a n a l y z á t o r u , n o v é i m p l e m e n t a č n í n á s t r o j e vedou t a k é k z a j í m a v ý m p o h l e d ů m n a n ě k t e r é ú s e k y české skladby. V oddíle 2 si v š i m n e m e s t r u k t u r y n o v é h o s y n t a k t i c k é h o a n a l y z á t o r u (budeme jej n a z ý v a t A N A L ) , jeho j e d n o t l i v ý c h částí, slovníku, d á l e se z m í n í m e o v l a s t n í implementaci (oddíl 3) a v z á v ě r e č n é m o d d í l u 4 budeme s t r u č n ě charakterizovat s o u č a s n ý stav a d o s a ž e n é v ý s l e d k y . 2. S T R U K T U R A A N A L Y Z Á T O R U
ANAL
Nově b u d o v a n ý syntaktický analyzátor A N A L m á s výchozím „lispovským" a n a l y z á t o r e m společné n ě k t e r é z á k l a d n í r y s y : a) u obou a n a l y z á t o r ů je j á d r e m nepříliš v e l k á n e k o n t e x t o v á gramatika č e š t i n y (kolem 70 pravidel), b) u obou a n a l y z á t o r ů se p r a v i d l a n e k o n t e x t o v é gramatiky člení p ř i r o z e n ý m z p ů s o b e m do s k u p i n i m p l e m e n t o v a n ý c h jako s a m o s t a t n é procedury, k t e r é m a j í schopnost analyzovat j e d n o t l i v é v ě t n é s l o ž k y a v y t v á ř e t jejich s t r o m o v é struktury, c) s l o v n í k y jsou v obou p ř í p a d e c h d e f i n o v á n y o d d ě l e n ě o d gramatiky a jsou na n í nezávislé. D a l š í p o d s t a t n é r y s y jsou již rozdílné, což p ř i r o z e n ě v y p l ý v á z funkcionální p o v a h y j a z y k a L I S P 1.5 p r o t i síťovému charakteru s y s t é m u T P T a j a z y k a WANDER.
112
KABEL PALA
2.1 Nekontextová gramatika pro češtinu J á d r e m a n a l y z á t o r u A N A L je n e k o n t e x t o v á gramatika češtiny d e f i n o v a n á o b v y k l ý m z p ů s o b e m jako u s p o ř á d a n á č t v e ř i c e : O Í = ( V , V , R, V H ) , kde V T interpretujeme jako t e r m i n á l n í s l o v n í k t v o ř e n ý j e d n o t l i v ý m i t v a r y českých slov, V w je m n o ž i n a n e t e r m i n á l n í c h s y m b o l ů i n t e r p r e t o v a n ý c h jako slovní druhy, s y n t a k t i c k é a g r a m a t i c k é kategorie p o t ř e b n é pro popis č e s k ý c h s y n t a k t i c k ý c h struktur, R je m n o ž i n a n e k o n t e x t o v ý c h p ř e p i s o v a c í c h pravidel t v a r u A -> OD, přičemž p l a t í , že A e V N , n je ř e t ě z z V j r U V T , V N (~| V T = 0 a V H c h á p e m e jako v y z n a č e n ý p o č á t e č n í s y m b o l (jinde t é ž S), j í m ž m u s í z a č í n a t k a ž d á derivace v r á m c i G c . V n a š e m p ř í p a d ě obsahuje m n o ž i n a R celkem 67 n e k o n t e x t o v ý c h pravidel, jimiž se v š a k j e d n o t l i v ě nebudeme z a b ý v a t , spíše si p o v š i m n e m e j e d n o t l i v ý c h skupin pravidel popisujících z á k l a d n í české s y n t a k t i c k é s t r u k t u r y . U č i n í m e to tak, že uvedeme nejprve hrubou interpretaci s y m b o l ů z V-g (ve v ý k l a d u o t y p o v é síti n a s. 8 pak i podrobnou), p r o t o ž e t y t o s y m b o l y se v y s k y t u j í na l e v ý c h s t r a n á c h pravidel v R . N e t e r m i n á l n í s y m b o l y v m n o ž i n ě V w se, o b e c n ě vzato, člení do d v o u s k u p i n : a) s l o v n ě d r u h o v é n e t e r m i n á l n í symboly, jež z l i n g v i s t i c k é h o hlediska ozna čují j e d n o t l i v é slovní d r u h y o d p o v í d a j í c í o b v y k l ý m s l o v n í m d r u h ů m rozlišo v a n ý m v t r a d i č n í c h g r a m a t i k á c h (viz n a p ř . H a v r á n e k — J e d l i č k a , 1960). U v n i t ř j e d n o t l i v ý c h slovních d r u h í i z a v á d í m e v š a k dosti p o d r o b n é subklasifikace d a n é s y n t a k t i c k ý m i vlastnostmi j e d n o t l i v ý c h p o d t ř í d slovních d r u h ů — viz d á l e na s. 0 — 11. b) n e t e r m i n á l n í s y m b o l y i n t e r p r e t o v a n é lingvisticky jako o z n a č e n í v ě t n ý c h složek, jež v t r a d i č n í p o d o b ě závislostní koncepce o d p o v í d a j í z h r u b a v ě t n ý m č l e n ů m . N a rozdíl od v ě t n ý c h členů jsou o v š e m v ě t n é s l o ž k y vymezeny čistě formálně. Pracujeme s následujícími v ě t n ý m i s l o ž k a m i (skupinami) a j i m odpovídajícími n e k o n t e x t o v ý m i p r a v i d l y : (i) s u b s t a n t i v n í s k u p i n y (obecně N G ) , jež lze d á l e členit na: — s u b s t a n t i v n í skupiny v p ř í m ý c h p á d e c h ( = N G ) , — pronominální substantivní skupiny ( = P R O N G ) , — předložkové substantivní skupiny ( P R E P + N G = P R E P G ) , — pronominální předložkové substantivní skupiny ( = P R E P G P ) , — a d j e k t i v n í skupiny ( = A G ) t v o ř e n é d e v e r b a t i v n í m i adjektivy mající m i schopnost v á z a t na sebe s u b s t a n t i v n í s k u p i n y v p ř í m ý c h i předlož kových pádech. (ii) slovesné skupiny (obecně V G ) , k t e r é se d á l e r o z p a d a j í n a d v ě velké podskupiny, a to na: — slovesné s k u p i n y s p l n o v ý z n a m o v ý m slovesem ať u ž v i n f i n i t i v u nebo v u r č i t é m t v a r u ( = V G ) a čítající m a x i m á l n ě t ř i složky, n a p ř . čtu, budu číst, chtěl bych číst ap., T
w
— slovesné složky tvořené Bponovým slovesem být a komplementem typu N G , A G , P R E P G , P R E P G P , A D G ( = V G B ) . (iii) a d v e r b i á l n í skupiny, jež lze d á l e členit podle a d v e r b i í : — místa (= A D G L ) , — času ( = A D G T ) , — z p ů s o b u ( = A D G M ) a podle p o t ř e b y i d á l e .
SYNTAKTICKÝ ANALYZÁTOR PRO ČEŠTINU
113
J e d n o t l i v é a d v e r b i á l n í Bkupiny jsou t v o ř e n y v ý h r a d n ě adverbii nebo jejich kombinacemi ( n a p ř . dnes ráno či tam doma ap.). Adverbiální p ř e d l o ž k o v é p á d y p a t ř í d í k y s v é f o r m ě do s k u p i n P R E P G nebo P R E P G P . (iv) v ě t n é s k u p i n y či p ř í m o v ě t y , j e ž p ř e d s t a v u j í z á k l a d n í t y p y vedlejších v ě t . Z a t í m pracujeme s — V V O , což o d p o v í d á vedlejším v ě t á m p ř e d m ě t n ý m , — V V R , což jsou vedlejší v ě t y p ř í v l a s t k o v é , — V V L , tedy vedlejší v ě t y příslovečné m í s t n í , — W T , t j . vedlejší v ě t y příslovečné časové, — W C , t j . vedlejší v ě t y p ř í č i n n é (s protože), — V V M , t j . vedlejší v ě t y příslovečné z p ů s o b o v é . Klasifikace obsažená v t r a d i č n í c h s k l a d b á c h jsou b o h a t š í , zde n á m jde p ř e d e v š í m o postižení z á k l a d n í c h t y p ů p o s t a č u j í c í c h p r o vymezenou p o d m n o ž i n u češtiny. Nekontextová pravidla z množiny R odpovídají výše u v e d e n ý m skupinám, t a k ž e m á m e p r a v i d l a popisující s t r u k t u r u N G , P R O N G , P R E P G a P R E P G P a A G . O d p o v í d a j í (i). D á l e m á m e p r a v i d l a popisující s t r u k t u r u V G a V G B , t j . p r a v i d l a o d p o v í d a j í cí (ii). Samostatnou s k u p i n u t v o ř í p r a v i d l a c h a r a k t e r i z u j í c í s t r u k t u r u A D G , t j . odpovídající (iii). N e k o n t e x t o v á p r a v i d l a v y m e z u j í c í s t r u k t u r u vedlejších v ě t W o d p o v í d a j í (iv). N a v í c je t ř e b a m í t j e l t ě finální (či p o č á t e č n í ) p r a v i d l o v y m e z u j í c í s t r u k t u r u V H , t j . pravidlo předpisující, j a k lze z j e d n o t l i v ý c h složek ( N G , V G , V G B , P R E P G , P R E P G P , P R O N G , A D G , V V ) složit celou v ě t u (jednoduchou). F o r m u l o v a t předně toto pravidlo je p r o j a z y k s v o l n ý m slovosledem, jako je čeština, dosti o b t í ž n é , proto v s o u č a s n é verzi A N A L pracujeme s a p r o x i m a c í , k t e r á m á v jazyce W A N D E R následující podobu: a) < C O N S T [ A - V G B ] C O N S T b) C O N S T = ( * A — N G A—PRONG A-PREPG A-PREPGP A-ADGT A — A D G L *) J a k je vidět, složky V G nebo V G B jsou ve v ě t ě o b l i g a t o r n í , k d e ž t o d r u h á část pravidla — (b) po3tihuje fakultativnost, s n í ž se ve v ě t ě mohou v y s k y t o v a t o s t a t n í složky. N e j o b t í ž n ě j š í je odhadnout v š e c h n y m o ž n é kombinace v ě t n ý c h složek, proto v (b) je c h a r a k t e r i z o v á n a m n o ž i n a složek, a n i k o l i j e d n o t l i v é pos loupnosti složek. A n i pravidlo C O N S T (a), (b) nelze j e š t ě p o v a ž o v a t z a defini t i v n í řešení, p r o t o ž e nepostihuje beze z b y t k u p r o b l é m y s o p a k o v á n í m v ě t n ý c h složek. 2.2 Procedury SHODA a P Á D Y M n o ž i n a R n e k o n t e x t o v ý c h pravidel sama o s o b ě n e d o s t a č u j e pro a d e k v á t n í a n a l ý z u českých s y n t a k t i c k ý c h s t r u k t u r (a o b e c n ě v ě t • p ř i r o z e n é h o jazyka), neboť nekont9xtová p r a v i d l a n e u m o ž ň u j í p ř e k o n á v a t k o n t e x t o v á omezení.
114
KAREL PALA
V p r ů b ě h u s y n t a k t i c k é a n a l ý z y v š a k p o m ě r n ě č a s t o n a r á ž í m e n a p ř . n a analy t i c k é slovesné t v a r y v y z n a č u j í c í se n e s p o j i t ý m i s l o ž k a m i a ke k o n t e x t u je t ř e b a p r a v i d e l n ě p ř i h l í ž e t p ř i t e s t o v á n í g r a m a t i c k é shody jak u v n i t ř s ú b s t a n t i v n í c h skupin, t a k mezi s u b s t a n t i v n í m i a s l o v e s n ý m i skupinami. K o n t e x t je d ů l e ž i t ý r o v n ě ž p ř i u r č o v á n í v ě t n ý c h funkcí s ú b s t a n t i v n í c h a p ř e d l o ž k o v ý c h skupin. T o tedy z n a m e n á , že n e k o n t e x t o v á g i a m a t i k a Gc m u s í b ý t zesílena d a l š í m i pravidly—procedurami, k t e r á o p e r u j í n a g r a f o v ý c h s t r u k t u r á c h v y t v o ř e n ý c h n e k o n t e x t o v ý m i p r a v i d l y a dovedou p ř e k o n á v a t k o n t e x t o v á o m e z e n í . P r v n í m p ř í k l a d e m je procedura S H O D A , k t e r á testuje shodu u v n i t ř s ú b s t a n t i v n í c h s k u p i n a d á l e pak gramatickou shodu mezi V G a tou N G , k t e r á m á ve v ě t ě funkci g r a m a t i c k é h o p o d m ě t u . Je-li test g r a m a t i c k é shody v d a n é N G n e g a t i v n í , v e l m i č a s t o to z n a m e n á , že a n a l ý z a p r o b ě h l a c h y b n ě a ž e je p o t ř e b a pokusit se o z p ě t n é p r o h l e d á v á n í (backtracking) na nejnižší ú r o v n i . F u n g o v á n í procedury S H O D A je založeno na t e s t o v á n í p r ů n i k u g r a m a t i c k ý c h k a t e g o r i í s p o j e n ý c h s j e d n o t l i v ý m i p r v k y d a n é s u b s t a n t i v n í složky. D a l š í m p ř í k l a d e m je procedura P Á D Y , k t e r á pro k a ž d o u v ě t n o u s u b s t a n t i v n í složku u r č u j e její p á d , a v závislosti na u r č e n é m p á d u jí pak p ř i ř a d í n á l e ž i t o u v ě t n o u funkci. I zde v z n i k a j í konflikty, k t e r é se řeší t e s t o v á n í m p á d ů jednotli v ý c h s k u p i n v r á m c i k o n t e x t u celé a n a l y z o v a n é v ě t y . N e d o c h á z í zde v š a k k p ř e s t a v b ě a n a l y z o v a n ý c h s ú b s t a n t i v n í c h skupin, m ě n í se jen jejich ohodno cení v t e r m í n e c h v ě t n ý c h funkcí. J e š t ě je p o t ř e b a dodat, ž e p ř í m o k p r o c e d u r á m o b s a h u j í c í m j e d n o t l i v á n e k o n t e x t o v á p r a v i d l a jsou p ř i p o j e n y testy n a následující slovní druhy, t j . n a v h o d n ý c h m í s t e c h se testuje, j a k ý slovní d r u h n á s l e d u j e z a p r á v ě analyzo v a n o u složkou. I t y t o testy m a j í k o n t e x t o v ý charakter a velmi r e d u k u j í p o č e t falešných k r o k ů v p r ů b ě h u a n a l ý z y . N a v í c p ř e d s t a v u j í elementy strategie zdola nahoru v r á m c i celkové strategie shora d o l ů . 2.3 Slovník Slovnifc je, jak jsme u ž naznačili, m n o ž i n a V T t e r m i n á l n í c h s y m b o l ů , i m p l e m e n t o v a n á v r á m c i s y s t é m u T P T j a k o speciální sít. V e s l o v n í k u jsou uloženy j e d n o t l i v é slovní t v a r y spolu se v š e m i s v ý m i g r a m a t i c k ý m i kategorie m i a ú d a j e m o Blovním druhu. U o h e b n ý c h slovních d r u h ů u k l á d á m e do slovní k u v š e c h n y t v a r y , t j . n e p o č í t á m e z a t í m s morfologickou a n a l ý z o u , k t e r á se p a t r n ě v y p l a t í a ž p ř i d o s t a t e č n ě v e l k é m rozsahu s l o v n í k u . J e v š a k v i d ě t , že u j e d n o t l i v ý c h s l o v n í c h t v a r ů jsou ve s l o v n í k u u l o ž e n y p r á v ě t y ú d a j e , k t e r é by b y l y z í s k á n y ( v č e t n ě h o m o n y m i í ) morfologickou a n a l ý z o u . S o u č a s n ý p o č e t s l o v n í c h t v a r ů ve s l o v n í k u — B Í t i je 510. P o n e c h á m e - l i stranou i m p l e m e n t a č n í detaily, m a j í j e d n o t l i v á hesla ve s l o v n í k u následující podobu:
115
SYNTAKTICKÝ ANALYZÁTOR PRO ČEŠTINU
a) s u b s t a n t i v n í slovní d r u h y heslo
slovní druh
pád
„programá tor" „článek" „ článek" „předního" „předního" „jA" „tím" „dvou" „dvou"
N N N A A PRPER PROND NtJMK NUMK
NOM NOM AK GEN AK NOM INST GEN LOK
SG SG SG SG SG SG SG PL PL
životn/ neživotn
sem. rys
HUM NEZ NEZ
— — — — — — — — —
rod
číslo
MASK MASK MASK MASK/N MASK
— HUM HUM
— MASK/N
— — —
MASK/N MASK/FEM/N
b) slovesné s l o v n í d r u h y heslo „čte" „četl" „čten" „progra movat" „chtějí" „přestaneš" „budeme" „není" „byla" „byla" „bys"
slovní druh
osoba číslo
VJ VL VPAS
TO TO
—
SG SG SG
VI VM VF VB VB VBL VBL VBC
— TO
— PL
DO PO TO TO TO DO
SG PL SG SG PL SG
čas
způsob
rod
vid
rodn
sem. rys
PRES PRET
IND IND
—
— — IND
ACT ACT PAS
ND ND ND
— MASK
— —
ACT ACT ACT ACT ACT ACT ACT ACT
ND ND DOK ND ND ND ND ND
— — — — — FEM
— —
— PRES PRES FUT PRES PRET PRET PRES
IND IND IND IND IND CON
NEUT
—
—
— NEG — — —
2.4 Hierarchie lingvistických pojmů Specifickou v l a s t n o s t í s y s t é m u T P T je, ž e pro danou a p l i k a č n í oblast v y ž a duje v y t v o ř e n í t z v . t y p o v é sítě, k t e r á obsahuje hierarchii p o j m ů u ž í v a n ý c h v d a n é a p l i k a č n í oblasti. Z l i n g v i s t i c k é h o hlediska' to z n a m e n á v y t v o ř i t formalizovanou taxonomii slovních, s y n t a k t i c k ý c h a g r a m a t i c k ý c h k a t e g o r i í , j e ž p o t ř e b u j e m e p r o popis č e s k ý c h s y n t a k t i c k ý c h struktur a pro a n a l ý z u č e s k ý c h v ě t t y t o struktury obsahujících, a p ř e l o ž i t j i do g r a f o v é s t r u k t u r y (grafu—stromu) — sítě, s n í ž m ů ž e pracovat p o č í t a č . T a t o taxonomie je p a k v y u ž í v á n a s y n t a k t i c k ý m a n a l y z á t o r e m A N A L a u m o ž ň u j e kontrolovat s p r á v n o s t p o j m ů u ž i t ý c h p ř i analýze českých v ě t . J e d n o t l i v é p r v k y v t y p o v é síti jsou t r o j í h o t y p u : a) slovní d r u h y b) s y n t a k t i c k é s l o ž k y (viz v ý k l a d o gramatice G« n a s. 112—113) c) g r a m a t i c k é kategorie. K p r v k ů m t y p u (a) p o z n a m e n á v á m e , ž e jde o o b v y k l o u klasifikaci podle slovních d r u h ů č a s t o v š a k d o p l n ě n o u o dosti p o d r o b n é 'subklasifikace. Stranou jsou p o n e c h á n a citoslovce. N á s l e d u j e p ř e h l e d p o u ž i t ý c h slovních d r u h ů :
116
KAREL PALA
(i) s u b s t a n t i v n í :
N NPR A AV NTJM NUMO NUMK PRON PROND PRONP PRONR PRONQ PRONUN PRPER PREP
— substantivum (obecně) — substantivum, v l a s t n í j m é n o — adjektivum — adjektivum d e v e r b a t i v n í - číslovka — číslovka r a d o v á - číslovka z á k l a d n í — zájmeno — zájmeno ukazovací — zájmeno přivlastňovací — zájmeno vztažné — zájmeno tázací — zájmeno neurčité — z á j m e n o osobní - předložka
(ii) slovesné:
V VJ VB VBC VBL VBI VL VPAS VM VR VF
— sloveso (obecně) — u r č i t ý t v a r p l n o v ý z n a m o v é h o Blovesa — u r č i t ý t v a r slovesa být — k o n d i c i o n á l o v ý t v a r slovesa být — m i n u l é příčestí slovesa být — infinitiv slovesa být — příčestí m i n u l é - příčestí t r p n é — u r č i t ý t v a r m o d á l n í h o slovesa — u r č i t ý tvar reflexívního slovesa — u r č i t ý t v a r fázového slovesa
Analogicky lze m í t V M I , V M L , V R I , V R L , V F I , V F L apod. (iii) 'ostatní:
AD ADQ ADM ADL ADT KON KONK CA CNEB CAL KONS CZE CAB CKD CAZ CPR PRT PRTR
— adverbia (obecně) — adverbia m í r y — adverbia z p ů s o b u — adverbia m í s t a — adverbia času — spojky (obecně) — spojky souřadicí — spojka a — spojka nebo — spojka ale — spojky p o d ř a d i c í — spojka že — spojka aby — spojka když — spojka az — spojka protože — částice (obecně) — částice reflexívní (se
:: K t y p u (b) p o z n a m e n á v á m e , že pracujeme se v š e m i o b v y k l ý m i g r a m a t i c k ý m i kategoriemi j m e n n ý m i i s l o v e s n ý m i .
SYNTAKTICKÝ ANALYZÁTOR PRO ČEŠTINU
(i) g r a m a t i c k é kategorie j m e n n é : R O D , hodnoty M A S K , F E M , N E U T CIS, hodnoty S G , P L P A D , hodnoty N O M — nominativ G E N — genitiv D A T - dativ AK — akuzativ L O K - lokál I N S T - instrumentál (ii) g r a m a t i c k é kategorie slovesné: OS, hodnoty P O — p r v n í DO - druhá T O - třetí C I S , s t e j n é jako u j m e n n ý c h k a t e g o r i í C A S , hodnoty P R E S - p ř í t o m n ý P R E T - minulý FUT - budoucí Z P U S , hodnoty I N D — i n d i k a t i v , o z n a m o v a c í I M P — imperativ, r o z k a z o v a c í C O N — kondicionál, p o d m i ň o v a c í R O D V , hodnoty A C T - r o d č i n n ý P A S — rod t r p n ý V I D , hodnoty N D — vid nedokonavý D O K — vid dokonavý R O D , s t e j n é jako u j m e n n ý c h k a t e g o r i í P N , hodnoty P O Z — sloveso bez negace N E G — sloveso s negací (iii) o s t a t n í kategorie či s é m a n t i c k é r y s y T Y P V , hodnoty D E C L — v ě t a o z n a m o v a c í I M P E — věta rozkazovací . QYN — o t á z k a zjišťovací QW — otázka doplňovací P E R S , hodnoty Z I V , H U M - ž i v o t n o s t N E Z — neživotnost P E R — personálnost N P E — nepersonálnost S T U P , hodnoty P Z — pozitiv u adjektiv a a d v e r b i í K O M P - komparativ " SUP - superlativ " S R N G , hodnoty S U B J - subjekt ve v ě t ě 0B4 — a k u z a t i v n í ( p ř í m ý ) objekt 0B3 — d a t i v n í ( n e p ř í m ý ) objekt 0B2 — g e n i t i v n í objekt INS7 — určení nástroje, prostředku
117
118
KABEL PALA
K t y p u (c), tj. k s y n t a k t i c k ý m s l o ž k á m , p o z n a m e n á v á m e , ž e vzhledem k p o u ž i t í složkové s y n t a k t i c k é koncepce pracujeme s v ě t n ý m i s l o ž k a m i v y m e z e n ý m i čistě formálně. J e j i c h s é m a n t i c k ý status je v p r ů b ě h u a n a l ý z y v ě t y teprve r o z p o z n á v á n a o h o d n o c o v á n s é m a n t i c k ý m i r y s y t y p u S R N G (u nichž p o č í t á m e s p o c h o p i t e l n ý m rozšířením i n v e n t á ř e ) . P o u ž i t é v ě t n é s l o ž k y : (i) s u b s t a n t i v n í , tedy o b e c n ě t y p u N G (viz s. 116) (ii) slovesné, tedy o b e c n ě mající t y p V G (iii) a d v e r b i á l n í , tj. o b e c n ě t y p u A D G (iv) v ě t n é , t j . o b e c n ě t y p u V V (vedlejší v ě t y ) (v) složka V H , t j . t y p u j e d n o d u c h é v ě t y , k o ř e n v ě t n é h o grafu—stromu. U v e d e n ý p ř e h l e d je p o m ě r n ě blízký s k u t e č n é p o d o b ě t y p o v é sítě C Z E C H . W A N , jak je u ž í v á n a p o č í t a č e m P D P 11/34, je v š a k v p o r o v n á n í s ní čitelnější d í k y d o p l n ě n é lingvistioké interpretaoi. J e p a t r n é , ž e t y p o v á s í t m ů ž e b ý t (a t a k é bude) podle p o t ř e b y u p r a v o v á n a a d o p l ň o v á n a zejména o s é m a n t i c k é rysy. 3.
IMPLEMENTACE
I m p l e m e n t a č n í m n á s t r o j e m pro a n a l y z á t o r A N A L je s y s t é m T P T a j a z y k W A N D E R — oba p ů v o d n ě v y v í j e n é (Benešovský, Š m í d e k , 1984) pro t e s t o v á n í s p r á v n o s t i p r o g r a m ů . M á ř a d u v l a s t n o s t í , k t e r é jej činí v h o d n ý m p r o s t ř e d k e m pro b u d o v á n í s y n t a k t i c k ý c h a n e p o c h y b n ě i s é m a n t i c k ý c h a n a l y z á t o r ů přirozeného jazyka. Nejdůležitější z nich s p o č í v á v tom, že T P T i W A N D E R jsou speciálně o r i e n t o v á n y n a p r á c i s g r a m a t i k a m i ( W A N D E R ) , grafy a s í t ě m i ( T P T ) . K t o m u účelu je v nich d e f i n o v á n a ř a d a j e d n o d u c h ý c h procedur, k t e r é se v jiných programovacích jazycích musí v y t v á ř e t poměrně obtížně. D á l e je to okolnost, že s o u č á s t í aplikace T P T je v y t v o ř e n í t y p o v é sítě, o níž jsme se u ž zmínili. F o r m u l o v a t t y p o v o u síť z n a m e n á , ž e u ž i v a t e l si m u s í p ř e s n ě v y m e z i t hierarchii p o j m ů ve s v é a p l i k a č n í oblasti a n a v í c , m u s í s v ý c h p o j m ů u ž í v a t k o r e k t n ě . T y p o v á síť je t o t i ž v y b u d o v á n a tak, že v p r ů b ě h u p r á c e s y s t é m u A N A L kontroluje korektnost u ž i v a t e l o v a z a c h á z e n í s definova n ý m i pojmy v r ů z n ý c h d a t o v ý c h s t r u k t u r á c h s y s t é m u . Dojde-li k u ž i v a t e l e m z a v i n ě n ý m nesrovnalostem, s y s t é m A N A L ohlásí c h y b u . V e l m i d ů l e ž i t o u v l a s t n o s t í s y s t é m u T P T je, že u m o ž ň u j e u ž i v a t e l i práci v i n t e r a k t i v n í m r e ž i m u p r o s t ř e d n i c t v í m obrazovky t e r m i n á l u p ř i p o j e n é h o k p o č í t a č i P D P 11/34. U ž i v a t e l z a d á v s t u p n í českou v ě t u na obrazovce t e r m i n á l u . Nejprve je v y t v o ř e n a t z v . L - s t r u k t u r a v s t u p n í v ě t y , t j . v ě t a se transformuje na l i n e á r n í grafovou s t r u k t u r u , v níž z á k l a d n í m i u z l y jsou slova v s t u p n í v ě t y . N á s l e d u j e lexikální a n a l ý z a a r o z p o z n á n í slovních d r u h ů slov o b s a ž e n ý c h v L — s t r u k t u ř e . J e j í p r ů b ě h se objevuje na obrazovce, u ž i v a t e l — l i n g v i s t a m ů ž e tedy p ř í m o sledovat s p r á v n o s t r o z p o z n á v á n í . Není-li slovo ze v s t u p n í v ě t y ve s l o v n í k u , na obrazovce se v y p í š e „ S l o v o x x x n e n í ve s l o v n í k u " a pokus o ancáýzu k o n č í n e ú s p ě š n ě . J i n a k a n a l ý z a d á l e p o k r a č u j e tak, že s t r a t e g i í shora d o l ů se p o s t u p n ě aplikují p r a v i d l a z Ge a v p ř í p a d ě ú s p ě c h u se vybuduje p ř í s l u š n ý podstrom v celé s t r o m o v é s t r u k t u ř e v s t u p n í v ě t y . P o k u d došlo k c h y b n ý m k r o k ů m , n e p o t ř e b n é
SYNTAKTICKÝ ANALYZÁTOR PRO ČEŠTINU
119
u z l y se r u š í a a n a l ý z a p o k r a č u j e a ž do konce, t j . a ž jsou z p r a c o v á n a v š e c h n a slova v s t u p n í v ě t y . J i ž p ř i b u d o v á n í s t r o m o v é s t r u k t u r y v ě t y se aplikují procedury S H O D A a P A D Y a p o k u d i o n y u k o n č í svou p r á c i ú s p ě š n ě , n a obrazovce t e r m i n á l u se objeví prompt označující, ž e a n a l ý z a v s t u p n í v ě t y p r o b ě h l a ú s p ě š n ě . P o t é je m o ž n o p o u ž í t p ř í k a z u D R A W a p o m o c í programu P E P N E T nakreslit n a obrazovce t e r m i n á l u v ý s l e d n o u stromovou strukturu, k t e r á je s y n t a k t i c k o u a n a l ý z o u z a d a n é v s t u p n í v ě t y . J e s t l i ž e u ž i v a t e l pracoval u t e r m i n á l u delší dobu, m ů ž e v š e c h n y z í s k a n é s t r o m o v é s t r u k t u r y v y t i s k n o u t i na řádkové tiskárně použitím příkazu P L O T . A n a l ý z a j e d n é české v ě t y o 8 — 10 slovech t r v á v s o u č a s n é verzi A N A L n e j v ý š e 20 sec, přičemž a n a l y z á t o r z a b í r á celkem asi 100 K b p a m ě t i ( v n i t ř n í p a m ě ť i disky). S o u h r n n ě je s y n t a k t i c k ý a n a l y z á t o r i m p l e m e n t o v á n j a k o : a) síť — slovník, t j . síť V O C A B . W A N čítající 510 českých slovních t v a r ů , b) síť p ř e d s t a v u j í c í v l a s t n í program s y n t a k t i c k é a n a l ý z y v jazyce W A N D E R , tj. síť A N A L . W A N , c) t y p o v á síť C Z E C H . W A N obsahující již z m í n ě n o u hierarchii p o u ž i t ý c h l i n g v i s t i c k ý c h p o j m ů a v z t a h ů mezi n i m i , d) p r a c o v n í síť W O R K . W A N , d o n í ž se v p r ů b ě h u a n a l ý z y u k l á d a j í dílčí v ý s l e d k y — podstromy j e d n o t l i v ý c h v ě t n ý c h složek a v p ř í p a d ě ú s p ě c h u nakonec i h l a v n í v ý s l e d e k — v ý s l e d n á s t r o m o v á s t r u k t u r a v s t u p n í české v ě t y . 4. S O U Č A S N Ý
STAV A V Ý S L E D K Y
K e konci r. 1985 b y l A N A L schopen pracovat s vymezenou p o d m n o ž i n o u českých v ě t obsahující j e d n o d u c h é české v ě t y skládající se z libovolně složitých s u b s t a n t i v n í c h skupin, a d j e k t i v n í c h skupin, a d v e r b i á l n í c h a s l o v e s n ý c h s k u p i n ( m a x i m á l n ě t ř í s l o ž k o v ý c h ) . D á l e A N A L dovede analyzovat s o u v ě t í z a t í m se spojkami že a aby, p ř i p r a v e n a je a n a l ý z a s o u v ě t í se s p o j o v a c í m i v ý r a z y kdo, co, který, jak, až, kdyžj protože, jestliže, (pak). Testy b y l y p r o v á d ě n y n a t e s t o v a c í m souboru asi o 150 v ě t á c h s ú s p ě š n o s t í 94—95 %. Z í s k á v a n é s t r o m o v é struktury nejsou z a t í m j e d n o z n a č n é , d o p l n ě n í o heuris t i c k é procedury v š a k povede k v ý r a z n é m u o m e z e n í v í c e z n a č n o s t í . I k d y ž v ý s l e d n é s t r o m o v é s t r u k t u r y o d p o v í d a j í spíše p o v r c h o v ý m n e ž h l o u b k o v ý m s t r u k t u r á m , o t á z k a , z d a je p o t ř e b a usilovat o získání h l o u b k o v ý c h struktur, bude v p l n é m rozsahu z o d p o v ě z e n a až p ř i p ř e b u d o v á v á n í A N A L n a s é m a n t i c k ý a n a l y z á t o r , . j e h o ž ú k o l e m bude p ř i ř a z o v a t č e s k ý m v ě t á m z v y m e z e n é podmno žiny s é m a n t i c k é reprezentace v r á m c i t r a n s p a r e n t n í i n t e n z i o n á l n í logiky ( s y s t é m u T I L , T i c h ý 1976).
120
KAREL PALA
LITERATURA 1. BENEŠOVSKÝ, M.—ŠMÍDEK, M.: Testování programů. In: Sborník SOFSEM'84, W S Bratislava 1984. 2. HAVRÁNEK, B.—JEDLIČKA, A.: Česká mluvnice. Praha, SPN 1960. 3. PALA, K.: O procedurální gramatice (pro češtinu). SPFFBTJ, A 30, 1982, s. 103—122. 4. PALA, K.—MACHOVÁ, S.—HAVEL, I. M.: Přirozený jazyk jako prostředek komunikace člověka s počítačem. In: Sborník SOFSEM '78, W S Bratislava 1978. 5. TICHÝ, P.: Intensional logic. Manusoript. University of Otago, 1976, 730 s. 6. VANIČKOVÁ, I.: Syntaktický analyzátor pro české věty. Rigorózní práce, PřF UJEP Brno, 1977. SYNTACTIC ANALÝZER
FOR CZECH
In our previous research in this field we have worked out á procedural grammar for Czech (Pala, 1982) and implemented it as a syntactic analyzer for written Czech sentences in programming language LISP 1.5. In this páper we present a new version of the earlier analyzer and especially its new interactive implementation on the PDP 11/34 computer. The new version is based on the implementation tools quite different from LISP 1.5, particularly, it is based on the systém TPT and language WANDER (Benešovský, Šmídek, 1984). The new approach to implementation has led also to new interesting solutions both in the construction of the analyzer and in the description' of some parta of Czeoh syntax. The analyzer oonsists of the basic set of 67 context-free rules describing the main syntactio structures in Czech, i.e. noun groups, adjective groups, verb groups, adverbial groups, clauses and sentence. It also contains procedures (e.g. SHODA—agreement, PÁDY—cases, etc.) that a^*e able to cope with context of the whole sentence. The main stratégy is from top to bottom, the result of the analysis is a tree-structure of the input Czech sentence displayed on the screen of terminal. There are four parts—nets forming together the analyzer: 1. Net VOCAB.WAN—a dictionary of Czech word forms (about 550 forms), 2. Net ANAL.WAN—the program of the analysis, i.e. context-free rules and all the additional procedures and other rules, 3. Basic net CZECH.WAN containing the hierarchy of all linguistic concepts neceBsary for description Czech syntactic structures, 4. Temporary net WORK.WAN in which the oourse of the analysis and the resulting tree-structures can be stored and from whioh it can be drawn oř printed.
«