Albert Stoop
TURCOFAX*):

een parser waarin morfofonemische alternering in het Turks gecontroleerd wordt door de affixen van een contextvrije affixgrammatica

(Terug naar hoofdmenu)


Inleiding

In dit artikel wordt beschreven hoe de morfofonemische alternering in het Turks gecontroleerd kan worden door de affixen van een contextvrije grammatica. Omdat in dit artikel gesproken wordt over enerzijds suffigering in het Turks en anderzijds affixgrammatica's zal naar het Turkse suffix verwezen worden met de term gebonden morfeem en zal de term affix gebruikt worden voor een gelabelde attribuut-knoop bij een knoop in een contextvrije grammatica.

Voor zover mij bekend bestaan er momenteel drie morfologische parseersystemen voor het Turks: twee ervan zijn beschreven in Köksal (1975) en Nilsson (1985); de derde is gepresenteerd tijdens de Third Conference on Turkish Linguistics in Tilburg, Nederland in 1986 door Hankamer. Zijn artikel hierover is evenwel niet gepubliceerd in de Proceedings. In paragraaf 1 zal een korte beschrijving van de 3 systemen gepresenteerd worden. In paragraaf 2 wordt uitgelegd wat de uitgangspunten voor de parser zijn. In paragraaf 3 wordt de wijze waarop TURCOFAX geconcipieerd is beschreven. Paragraaf 3.6 verklaart welke informatie uit de wortel van de te analyseren woorden geëxtraheerd moet worden, hoe deze genoteerd wordt en hoe deze notatie is geïmplementeerd in de grammatica. In paragraaf 4 wordt de omgeving waarin TURCOFAX werkt beschreven en tot slot wordt in 5 een evaluatie gegeven.

1. Overzicht van andere systemen

1.1 Köksal (1975)

De eerste belangrijke publicatie met betrekking tot het automatisch morfologisch parseren van het Turks is Köksal (1975). In deze dissertatie vormt de haalbaarheid van een automatische morfologische analyse van het geschreven Turks het doel van onderzoek. De grammatica bestaat uit: 
  • een opsomming van morfemen 
  • een verzameling allomorfen hiervan, inclusief morfofonologische varianten 
  • opsomming van herschrijfregels volgens welke de morfemen geordend worden. 

Köksal hanteert een ad hoc notatie voor Turkse wortel- en suffixmorfemen waarin allomorfen herleid worden naar één notatie. Hij noemt deze notatie: Turkish Harmonic Notation. Hij definieert een lexicon van wortelmorfemen en frequent gebruikte stammen van woorden en een lexicon van suffixmorfemen. Uit deze twee lexica worden volgens de in het Turks geldende morfofonemische regels twee lexica gegenereerd waarin alle harmonische allomorfen genoteerd staan. Er ontstaat zo een thesaurus waarin een wortellexicon, een wortelvormenlexicon, een morfeemlexicon en een morfeemvormenlexicon opgenomen zijn.

De morfologische parsering gaat dan als volgt: een lexicaal item wordt aangeboden aan het systeem. Het gesorteerde wortelvormenlexicon wordt geraadpleegd om alle mogelijke wortels op te halen. Deze worden van het te analyseren item verwijderd, waarna het restant van de string op dezelfde manier gereduceerd wordt, maar dan na raadpleging van het morfeemvormenlexicon. In deze geraadpleegde lexica staat een verwijzing naar de basisvorm van wortel of morfeem. Deze basisvorm wordt gebruikt in de notatie van de parsering.

Het volgende voorbeeld:

(1) gezdirecek
       gez-dir-ecek
       wandel-CAUS-FUT
       hij/zij/het zal laten wandelen

wordt via de volgende stappen geanalyseerd:

 
(2) Niveau  Probleem  Deeloplossing
  1 gezdirecek gez
  2 direcek dir
  3 ecek ecek

Na een eerste evaluatie waaruit blijkt dat een aantal overgeneralisaties geproduceerd wordt (bijvoorbeeld: agglutinaties van morfemen die nooit zullen voorkomen). Een aantal overgeneralisaties wordt voorkomen door morfeempatronen op te nemen in het morfeemvormenlexicon en door een grammaticale consistentie-analyse in te bouwen.

1.2 Nilsson (1985)

Een tweede parseersysteem, beschreven in Nilsson (1985; 134 e.v), is een experiment met "an automatic segmentation of Turkish suffixes on purely formal grounds, without the help of any lexical information.'' Er wordt geen label gehangen aan de segmenten van de analyse en ook de relaties van de verschillende segmenten tot elkaar wordt niet getoond. De segmentatie wordt bereikt door instructies die als contextgevoelige herschrijfregels in een computerprogramma zijn vastgelegd. Condities op de herschrijfregels zijn in twee typen onder te brengen: 
  1. beperkingen op de context van het morfeem die er onmiddellijk aan voorafgaat
  2. verandering van toestand die de toepasbaarheid van de herschrijfregels beperkt. 

Nilsson geeft een verklarend voorbeeld:

(3) regel string opdrachten operatie
     
lc  rc sc rs verplaats
0 0 1 2 4
14 3 21 21 2
0 0 29 0 2
5 3 23 25 2
0 0 29 0 2
0 0 29 0 2
4 3 25 28 2
0 0 29 0 2
0 0 29 30 5
0 0 30 31 5
 
  1 #G*ÖZLERIMDE# Ö;Ö+;
  2 #GÖ+ZLERIM*DE# DE;=DE;
  3 #GÖ+ZLERIM*=DE# M;M;
  4 #GÖ+ZLER*IM=DE# IM;=IM;
  5 #GÖ+ZLE*R=IM=DE# R;R;
  6 #GÖ+ZL*ER=IM=DE# E;E;
  7 #GÖ+Z*LER=IM=DE# LER;=LER;
  8 #GÖ+*Z=LER=IM=DE# Z;Z;
  9 #GÖ+*Z=LER=IM=DE# +;;
  10 #GÖ*=Z=LER=IM=DE# =;=;

(4) gözlerimde
       göz-ler-im-de
       oog-PLUR-POSS.1.PERS-LOC
       in mijn ogen

De asterisk geeft de wijze van scannen van de string weer. Eerst wordt verplicht een stamvocaal gezocht. Deze wordt gevonden in regel 1 en gemarkeerd door +. Hierna verandert de interne toestand ( = rs). De asterisk wordt verplaatst naar het einde van het lexicale item en het laatste morfeem wordt gemarkeerd door middel van = (regel 3). Hierna beweegt de asterisk zich letter voor letter naar links en markeert een volgend morfeem wanneer een segmentatie-regel uitgevoerd kan worden. Dit is afhankelijk van de toestand waarin lc ( = left context), rc ( = right context) en sc ( = state condition) zich bevinden. De resulterende toestand wordt weergegeven als rs ( = resultative state).

1.3 Hankamer (1986)

Turkse morfologie kan echter beschreven worden in een reguliere grammatica (finite state grammar). Het derde systeem dat hier besproken wordt (Keçi van Hankamer 1986), is een implementatie van een reguliere grammatica in C. Keçi analyseert door synthese: 

"Parsing proceeds as follows: the parser begins in a designated initial state. It can transit to one of the states corresponding to a basic stem category by recognizing an initial substring of its input as a surface realization of one of the roots in its roots lexicon. The root category determines a class of affixes that are permitted in next position. The parser searches an affix lexicon for an affix that is in the permitted class and matches the surface string at the current point. If one is found, a pointer is advanced to the new current point in the word and the parser jumps to the new state, corresponding to the derived stem category, determined by the affix. This process iterates. If the end of the input string is reached and the parser is in a designated final state, the string is succesfully parsed. Morphophonemic alternation is accounted for by a phonological component which mediates between the lexical and surface forms of morphemes. Both roots and affixes are listed in the lexicon in a basic ("lexical'') form, which is subjected to a set of phonological rules which convert lexical representations of candidate morphemes into forms consistent with surface environment.'' (Hankamer 1986; 3) 

Keçi moet informatie uit de wortel van het te analyseren woord halen om een correcte analyse te kunnen geven:

  • Informatie met betrekking tot de wortel. Welk cluster van letters kan als wortel optreden? Om dat te achterhalen wordt een lexicon geraadpleegd waarin alle mogelijke wortels zijn opgenomen. 
  • De lexicale categorie waartoe de wortel behoort dient bekend te zijn. 
Ook deze informatie is in het wortellexicon aanwezig.

Daarnaast is er een bestand aanwezig waarin een netwerk van lexicale categorieën opgenomen is. Dit netwerk kan beschouwd worden als een bottom-up parsing-systeem. Laten we een imaginair1 voorbeeld bekijken: 

(5)   V0V0::d{\i}r:CAUS 
        V0V1::yacag:FUT 
        V0V1:::
        V1WW::: 

De syntaxis van deze regels geeft het volgende weer:

de eerste 2 letters geven aan aan welke categorie het gebonden morfeem gehecht mag worden; de volgende 2 letters geven de resulterende categorie weer, nadat het gebonden morfeem aangehecht is. Achter de dubbele punt is de onderliggende representatie van het gebonden morfeem genoteerd, gevolgd door de glosse ervan.

Wanneer het lexicale item: 

(6) gezdirecek
       gez-dir-ecek
       wandel-CAUS-FUT
       hij/zij/het zal laten wandelen

wordt aangeboden aan keçi, wordt de wortel gez met de categorie V0 gevonden in het lexicon. In het morfeemlexicon worden 3 mogelijke gebonden morfemen gevonden die aan de wortel gehecht mogen worden: d{\i}r, yacag en een leeg. Vergelijking van de eerste en de laatste met de originele invoerstring slaagt dankzij de morfofonemische alternatie die in Keçi geprogrammeerd is, terwijl yacag faalt. De morfofonemische alternatie van d{\i}r (dat dir wordt) is afhankelijk van de laatste vocaal en de laatste letter van de wortel. Omdat z van gez stemhebbend is, blijft de d van d{\i}r gehandhaafd; hij zou anders in een t veranderd zijn. De vocaal {\i} van het gebonden morfeem wordt veranderd in een i, omdat de laatste vocaal van gez een e is. Deze bewerking wordt uitgevoerd in de functie Vowel.harmony.

Voor yacag gelden dezelfde conventies. De laatste letter van gez is geen vocaal, dus de y van het gebonden morfeem wordt verwijderd. Vowel.harmony verandert beide a's in e, terwijl g wordt veranderd in k. Dit alles leidt tot de volgende situatie: 

  1. gezdir, dat behoort tot categorie V0
  2. gezecek, dat de vergelijking met de initiële substring van gezdirecek niet kan doorstaan
  3. gez, dat behoort tot categorie V1.

Gezdir van categorie V0 kan gevolgd worden door de drie eerder genoemde gebonden morfemen. Deze keer slaagt yacag wel na de morfofonemische herstructurering. Het resultaat gezdirecek behoort tot de categorie V1. V1 kan slechts door de categorie WW gevolgd worden. Dan is het einde van het netwerk bereikt. Nadat het originele lexicale item vergeleken is met het samengestelde en identiek is bevonden, slaagt de ontleding. De resultaten zijn dan:

(6`) gez-dir-ecek :V0-V0-V1-WW

(6``) gez-ecek :V0-V1, faalt

(6```) gez :V0-V1-WW, faalt

Voorbeelden (6``) en (6```) falen, omdat de slotcategorie WW is bereikt zonder dat de resulterende strings identiek zijn aan de invoerstring gezdirecek.

Hankamer legt dus alleen de diepte-morfemen van het Turks in een reguliere grammatica vast; de vocaalharmonie en de consonantalternering worden tijdens de heropbouw van de string onder analyse door een aantal harmonisatie-regels uitgevoerd. In de parser die in dit paper wordt voorgesteld zijn deze harmonisatie-regels in de herschrijfgrammatica zelf vastgelegd. Deze grammatica vormt de invoer voor de parser generator van Hans Meijer (cf Meijer (1987)) die de parser TURCOFAX, hetgeen een acroniem is voor TURkish COntext Free AffiX grammar, genereert. Uit efficiëntie-overwegingen zijn de regels evenwel niet in een reguliere, maar in een contextvrije grammatica vastgelegd.

2. Keçi als uitgangspunt voor TURCOFAX

TURCOFAX is een top-to-bottom parser die gebaseerd is op de reguliere grammatica van Hankamer. De keuze voor het gebruik van Keçi als uitgangspunt is te danken aan het feit dat een reguliere grammatica van de Turkse morfologie elektronisch beschikbaar gesteld werd door Hankamer. Ook het wortellexicon van Hankamer kon zonder wijzigingen geïmplementeerd worden. Veel editwerk kon dus voorkomen worden. Het bovengenoemde netwerk werd als volgt gereorganiseerd:

(7)  WW : V1.
       V1 : V0, FUT;  V0.
       V0 : V0, CAUS.

De dubbele punt staat voor het productieteken; alternatieven worden gescheiden door puntkomma's en concatenatie wordt weergegeven door de komma.

De linkersymbolen uit de herschrijfgrammatica geven de resulterende categorie van het lexicale item weer. Dus, in ons voorbeeld (7), staat V1 voor de resulterende categorie, nadat ofwel het FUT-suffix ofwel niets aan de V0-categorie is toegevoegd.

Volgens deze regels krijgt gezdirecek de volgende analyse:

FIGUUR 1

	               	 WW
                          |
                          V1
               	__________|________
              	V0               FUT
         _______|________         |
         V0            CAUS       |
         |               |        |
         gez            dir     ecek

Deze regels zijn te ruw om een correcte parsering van Turkse lexicale items te krijgen. In de volgende paragraaf wordt besproken hoe de morfofonemische alternatie gecontroleerd kan worden in een affixgrammatica en welke affixen nodig zijn om correcte analyses te kunnen genereren.

3. De Organisatie van TURCOFAX

3.1 Affixgrammatica's

Voordat de structuur van de grammatica wordt besproken, wordt uitgelegd wat een affixgrammatica is. Een affixgrammatica is een grammatica waarin bij de symbolen geparametriseerd zijn met affixen die weer herschreven worden in een gewone contextvrije grammatica: de metagrammatica. Een affixgrammatica bestaat uit dus twee delen: de productieregels en de meta-grammatica. De meta-grammatica beschrijft hoe de affixen van de symbolen vervangen moeten worden om de grammatica in zijn uiteindelijke vorm te krijgen, waarbij een interpretatie voor een affix op een plaats in de regel onverbiddelijk ook op de overige plaatsen van dat affix in dezelfde regel gekozen moet worden. Een voorbeeld uit Van Bakel (1984; 21):

(8)   X<featurea,featureb>  : Y<featurea>, Z<featureb>.
        featurea  :: "p'' ; "q''.
        featureb  :: "A'' ; "B''.

De meta-grammatica (dat zijn de regels waarin het productieteken een dubbele punt is), bepaalt welke waarden de affixen in de productieregel van de grammatica kunnen hebben. De grammatica ziet er in zijn uiteindelijke vorm als volgt uit:

(8`)   X<p,A>  : Y<p>, Z<A>.
         X<q,A>  : Y<q>, Z<A>.
         X<p,B>  : Y<p>, Z<B>.
         X<q,B>  : Y<q>, Z<B>.

3.2 Turkse morfologie

Een opvallend feature in de morfologie van het Turks is vocaalharmonie. Een gebonden morfeem dat gehecht wordt aan een woord ondergaat de vocaalharmonie, wat betekent dat de vocalen van het suffix veranderen onder bepaalde condities, afhankelijk van de aard van de laatst voorkomende klinker van het woord. Turkse vocalen kunnen in een drie-dimensionaal coördinatie-systeem ingedeeld worden. (Lewis (1984; 15), Köksal (1975; 35-38), Lees (1961)). De dimensies zijn <rond>, <hoog> en <achter>. 

(a) Als de eerste vocaal van een woord een achtervocaal is, is iedere volgende vocaal ook een achtervocaal; als de eerste een voorvocaal is, is iedere volgende ook een voorvocaal.

(b) Als de eerste vocaal niet gerond is, zijn de daaropvolgende vocalen dat ook niet.

(c) Als de eerste vocaal rond is, zijn de volgende vocalen ofwel gerond en laag ofwel niet gerond en hoog.

Vocaalharmonie van gebonden morfemen kan verdeeld worden in een tweevoudige en een viervoudige vocaalharmonie. De tweevoudige vocaalharmonie werkt alleen voor e en a in gebonden morfemen: <-achter>-vocalen worden gevolgd door e; <+achter>-vocalen door a. De viervoudige vocaalharmonie voorziet in i en ü na niet-geronde en geronde voorvocalen, en {\i} en u na niet-geronde en geronde achtervocalen2 .

De relevante features zijn achter, rond en hoog: De tweevoudige vocaalharmonie beïnvloedt de vocalen die <-rond> en <-hoog> (e, a) zijn; De viervoudige vocaalharmonie beïnvloedt de vocalen die <+hoog> zijn: (u, ü, i, {\i}). Het gebonden morfeem yacag ondergaat de tweevoudige vocaalharmonie voor beide a's; het gebonden morfeem d{\i}r ondergaat de viervoudige vocaalharmonie. Voor het CAUS-suffix d{\i}r betekent dit dat het gerealiseerd kan worden als dir, d{\i}r, dür en dur, terwijl de d stemloos wordt in het geval hij direct voorafgegaan wordt door een stemloze consonant: ç, f, h, k, p, s, \c{s}, t. Dit voorbeeld geeft een impressie van de informatie uit de wortel die de parser nodig heeft voor een correcte analyse: de laatste vocaal en de laatste letter van de wortel (een stemhebbende of stemloze consonant of een vocaal).

3.3 Voorbereiding van de herschrijfregels

Afdalend vanaf de top van de grammatica, moeten we twee waarden toekennen aan het onderliggende niveau in de boomstructuur:
FIGUUR 2

	               	 WW
                          |
                          V1<vowel,final-char>
               	__________|___________________
          V0<vowel,final-char>               FUT
         _______|_____________                |
   V0<vowel,final-char>     CAUS              |
         |                   |                |
         gez                dir              ecek

Het zal duidelijk zijn dat final-char en vowel op niveau V1 verschillen van final-char en vowel op de beide V0-niveaus. In feite moesten deze affixen er uitzien als in figuur 3:

FIGUUR 3

	               	 WW
                          |
                          V1<e,k>
               	__________|___________________
              V0<i,r>                        FUT
         _______|_____________                |
       V0<e,z>              CAUS              |
         |                   |                |
         gez                dir              ecek

De realisatie van de vocalen en de laatste letter van ieder gebonden morfeem is afhankelijk van de karakteristieken van de wortel of van het eraan voorafgaande morfeem. Daarom is het nodig om een link te leggen tussen de aard van de gebonden morfemen en de hen dominerende categorie.

FIGUUR 4

	               	 WW
                          |
                          V1<2vowhar,k>
               	__________|______________________________________
           V0<4vowhar,r>                           FUT<from-+4vowhar+-to-+2vowhar,k>
         _______|__________________                              |
   V0<2vowhar,z>      CAUS<from-+2vowhar+-to-+4vowhar,r>         |
         |                        |                              |
         gez                 d<4vowhar>r              <2vowhar>c<2vowhar>k

In FIGUUR 4 kan duidelijk waargenomen worden hoe de informatie doorgegeven wordt aan de relevante knopen. Voor de overzichtelijkheid van de uitleg zal de problematiek met betrekking tot de consonantalternering - die overigens op soortgelijke wijze aangepakt wordt - op deze plaats weggelaten worden. Het 2vowhar-affix refereert aan de vocalen e en a; het 4vowhar-affix aan de vocalen i, ü, {\i} en u. Laten we de boom van boven naar beneden doorlopen: onder WW zit V1 die als affix <2vowhar> en <k> bij zich heeft. Daaronder zit V0 met als affixen <4vowhar> en <r> en een zusterknoop FUT met als affixen <from-4vowhar-to-2vowhar> en <k>. Deze <k> is doorgegeven door de dominerende knoop V1, net als het to-2vowhar-deel uit het eerste affix. Het from-4vowhar-deel uit dit eerste affix is op zijn beurt gerelateerd aan het <4vowhar>-affix van de zusterknoop V0, etcetera. Op deze wijze wordt de boom van boven naar beneden opgebouwd, terwijl de affixen in feite van beneden naar boven hun waarden doorgeven. Immers, de e van de wortel gez bepaalt de waarde van het eerste affix van de laagste V0; deze wordt via de CAUS-knoop die de viervoudige vocaalharmonie ondergaat naar de bovenliggende V0 doorgegeven, terwijl deze zijn invloed op zijn beurt uitoefent op de FUT-knoop die weer tweevoudige vocaalharmonie ondergaat.

Dit betekent dat (2 x 4 =) 8 verschijningen van de categorie CAUS gerealiseerd worden in deze minigrammatica, waar er slechts twee correct zijn in het geval dat de laatste vocaal voorafgaande aan het gebonden morfeem <-rond> en <+hoog> is. In feite moet het CAUS-label gerealiseerd worden in een van de volgende 2 verschijningen: 

(9a) CAUS<from-<-r,-h,-a>-to-<-r,+h,-a>-,r>.
(9b) CAUS<from-<-r,-h,+a>-to-<-r,+h,+a>-,r>.

De overige 6 verschijningen worden niet herschreven, want zij zijn niet welgevormd: 

(9c) * CAUS<from-<-r,-h,-a>-to-<+r,+h,+a>-,r>.
(9d) * CAUS<from-<-r,-h,-a>-to-<+r,+h,-a>-,r>.
(9e) * CAUS<from-<-r,-h,-a>-to-<-r,+h,+a>-,r>.
(9f) * CAUS<from-<-r,-h,+a>-to-<+r,+h,+a>-,r>.
(9g) * CAUS<from-<-r,-h,+a>-to-<+r,+h,-a>-,r>.
(9h) * CAUS<from-<-r,-h,+a>-to-<-r,+h,-a>-,r>.

±r staat voor rond>, ±h staat voor hoog>, en ±a staat voor achter>. Men moet in gedachte houden dat, hoewel deze onwelgevormde affixen in de herschrijfgrammatica voorkomen aan de rechterzijde van een productieteken, zij nooit aan de linkerzijde voorkomen en dus nooit verder herschreven kunnen worden. Het parseren zal hier dus falen. Dus, verschijningen als: 

(9c`) * gezdurecek
(9d`) * gezduracak
(9e`) * gezdürecek
(9f`) * gezdüracak
(9g`) * gezd{\i}recek
(9h`) * gezd{\i}racak 

 worden door de parser verworpen. Voor het gemak van de lezer zullen we niet de features rond, hoog en achter in de grammatica gebruiken, maar de vocaal waarnaar zij als combinatie verwijzen. Hierbij wordt de volgende tabel gehanteerd:

 
Rond
+ -
Hoog Hoog
- + - +
Achter Achter Achter Achter
+ - + - + - + -
(o) (ö) u ü a e {\i} i

 

3.4 Vocaalharmonie in contextvrije regels

Natuurlijk zal de laatste klinker van een wortel niet altijd de features <-rond,-hoog> bevatten. Iedere klinker kan verwacht worden op deze plaats. De kracht van TURCOFAX is juist gelegen in de herschrijving van de contextgevoelig opgestelde regels van de vocaalharmonie in contextvrije vorm. Laten we het Turkse morfeem FUT eens nader bekijken. Dit morfeem ondergaat de tweevoudige vocaalharmonie. In de <from-x-to-y>-notatie is de regel correct in twee gevallen: 
  • x is <-achter> en y is <-achter,-hoog,-rond> 
  • x is <+achter> en y is <+achter,-hoog,-rond>  

X vertegenwoordigt dus de vocalen: e, i, ü resp. a, {\i}, u en y de vocaal e resp. a. In de metaregels zijn dus herschrijfregels nodig voor deze vier categorieën. Bij ieder morfeem dat de tweevoudige vocaalharmonie ondergaat worden deze x en y gekozen. (zie de minigrammatica verderop).

Op dezelfde wijze kunnen de herschrijfregels voor de viervoudige vocaalharmonie opgesteld worden. In de <from-x-to-y>-notatie moeten nu drie situaties beschreven worden: 

  • x is <-achter,-rond> en y is <-achter,+hoog,-rond> 
  • x is <+achter,-rond> en y is <+achter,+hoog,-rond> 
  • x is <+rond> en y is <+hoog,+rond> 

X vertegenwoordigt dus de vocalen: e, i resp. a, {\i} resp. ü, u en y de vocaal i resp. \i resp. ü, u. In de metaregels zijn dus herschrijfregels nodig voor deze vijf categorieën. Bij ieder morfeem dat de viervoudige vocaalharmonie ondergaat worden deze x en y gekozen. (zie de minigrammatica verderop).

Analoog aan de behandeling van de vocalen, kan de laatste letter behandeld worden om consonantalternering te controleren in de grammatica. Relevant hiervoor is of deze letter een vocaal, een stemloze consonant of een stemhebbende consonant is.

3.5 Een minigrammatica

De basisvorm van de voorbeeldgrammatica is (10):

(10) WW : V1<vowhar1>.
        V1<vowhar2> : V0<vowhar1> , FUT<from-vowhar1-to-vowhar2>.
        V0<vowhar2> : V0<vowhar1> , CAUS<from-vowhar1-to-vowhar2>.
        V0<vowhar2> : "(V0", <vowhar2>, DOTS, "$|$)", characters.

De volgende regels herschrijven de Turkse morfemen:

(10`) FUT<from-eiü-to-e> : <e>, "c'', <e>, "k".
         FUT<from-a{\i}u-to-a> : <a>, "c'', <a>, "k''.
         CAUS<from-ei-to-i> : "d'', <i>, "r''.
         CAUS<from-üu-to-üu> : "d'', <üu>, "r''.
         CAUS<from-a{\i}-to-{\i}> : "d'', <{\i}>, "r''.

De volgende regels zijn de metaregels. Zij herschrijven de categoriale affixen:

(10``) vowhar1 ::  "i''; "{\i}''; "u''; "ü''; "e''; "a''.
          vowhar2 :: "i''; "{\i}''; "u''; "ü''; "e''; "a''.
          eiü ::  "e''; "i''; "ü''.
          a{\i}u ::  "a''; "{\i}''; "u''.
          e ::  "e''.
          a ::  "a''.
          ei ::  "e''; "i''.
          üu ::  "ü''; "u''.
          a{\i} ::  "a''; "{\i}''.
          i ::  "i''.
          {\i} ::  "{\i}''.

In de metaregels is een aantal regels geformuleerd, die aan de rechterkant van het productieteken identiek zijn: vowhar1 vs vowhar2. De noodzaak hiervoor ligt in het gegeven dat niet alle vocaalaffixen aan elkaar gerelateerd mogen zijn. Laten we als voorbeeld de regel bekijken die V1 herschrijft:

(11) V1<vowhar2> : V0<vowhar1> , FUT<from-vowhar1-to-vowhar2>.

Deze regel staat garant voor 6 *  6 = 36 herschrijfregels, waaronder de volgende herschrijvingen:

(11`) V1<i> : V0<i> , FUT<from-i-to-i>.
         V1<{\i}> : V0<i> , FUT<from-i-to-{\i}>.
         V1<u> : V0<i> , FUT<from-i-to-u>.
         V1<ü> : V0<i> , FUT<from-i-to-ü>.
         V1<e> : V0<i> , FUT<from-i-to-e>.
         V1<a> : V0<i> , FUT<from-i-to-a>.

In deze regels is vowhar1 vervangen door alle mogelijke herschrijvingen, terwijl voor vowhar2 een vaste waarde is gekozen: i. Wordt regel V1 nu echter als volgt herschreven:

(11``) V1<vowhar1> : V0<vowhar1> , FUT<from-vowhar1-to-vowhar1>.

dan zijn slechts 16 herschrijfregels af te leiden. Bij substitutie van de affixen zoals boven vermeld kunnen alleen de volgende herschrijvingen plaatsvinden:

(11```) V1<i> : V0<i> , FUT<from-i-to-i>.
           V1<{\i}> : V0<i> , FUT<from-{\i}-to-{\i}>.
           V1<u> : V0<i> , FUT<from-u-to-u>.
           V1<ü> : V0<i> , FUT<from-ü-to-ü>.
           V1<e> : V0<i> , FUT<from-e-to-e>.
           V1<a> : V0<i> , FUT<from-a-to-a>.

Een parsering van gezdirecek is dan onmogelijk, omdat in de herschrijfregel van V0 de volgende herschrijving niet bestaat:

(12) V0<i> : V0<e> , CAUS<from-i-to-e>.

De vocalen en consonanten die invloed op elkaar hebben, worden dus door dezelfde metaregel herschreven; zij die geen invloed op elkaar mogen hebben worden door een gelijkwaardige metaregel herschreven.

De volgende boomstructuur toont het resultaat van het parseren van het voorbeeld gezdirecek met behulp van bovenstaande grammatica:

FIGUUR 5

	               	 WW
                          |
                          V1<e>
               	__________|__________________________
               V0<i>                           FUT<from-i-to-e>
         _______|__________________                 |
        V0<e>                 CAUS<from-e-to-i>     |
         |                        |                 |
   (V0e...|)gez                 d<i>r            <e>c<e>k

 

3.6 Pre-editing van de invoer

Het volgende probleem doet zich nu voor: hoe weet de grammatica welke de relevante features van de wortel zijn? Om daar achter te komen is een pre-editor ontworpen. Deze zoekt in een lexicon naar alle mogelijke wortels, telt het aantal letters waaruit de wortel bestaat en zoekt naar de laatste letter en de laatste vocaal van de wortel. Deze kunnen overigens dezelfde zijn. Ons voorbeeld gezdirecek wordt als volgt voorbewerkt: 

(13) (V0e...|)gezdirecek 

V0 staat voor de categorie waartoe gez behoort, e vertegenwoordigt de laatste vocaal van de wortel en het aantal punten geeft de lengte van de wortel aan3. Dus deze representatie betekent: van het lexicale item gezdirecek, zijn de eerste drie letters (de drie punten) een wortel die behoort tot de categorie V0 met de features <-rond,-hoog,-achter> (e). Lexicale uitzonderingen op de vocaalharmonie (b.v. saat-i (=  horloge+ACC), harb-i (=  oorlog+ACC)) dienen in het lexicon gemarkeerd te zijn. Hoewel a de laatste vocaal van de wortel is, genereert de pre-editor toch de code: i

(14a) * (N0a....|)harbi

(14b) (N0i....|)harbi

In enkele gevallen is meer informatie nodig, bijvoorbeeld bij causatief- en passiefconstructies. Dir is het meest voorkomende causatief gebonden morfeem, maar het wordt niet gebruikt bij polysyllabische wortels, die eindigen op een vocaal of r of l (Lewis 1984; 146). Deze informatie wordt eveneens door de pre-editor gebruikt om de input voor de parser te bewerken. De overige causatieve uitzonderingen dienen echter in het lexicon als wortel opgenomen te worden.

Op dezelfde wijze kunnen verschillende passieve gebonden morfemen behandeld worden, omdat ook hier de vorm van het gebonden morfeem afhankelijk is van de aard van de laatste letter direct voorafgaand aan de gebonden morfeem.

Om woordvormen als \c{s}ehir (=  stad) te herkennen, waar de wortel \c{s}ehr is, kan dezelfde procedure die Keçi gebruikt, gehanteerd worden door de pre-editor. Hankamer (1986; 6): 

"This epenthetic vowel must harmonize with the preceding vowel of the root, so after the vowel is inserted the vowel harmony rule is applied to it. Thus \c{s}ehr becomes \c{s}ehir, but o\u{g}l becomes o\u{g}ul,etc.'' 

4. De Omgeving van TURCOFAX

De grammatica TURCOFAX moet aangeboden worden aan de parser-generator van Dr. Hans Meijer (cf. Meijer 1986). Deze parser-generator produceert parsers van contextvrije grammatica's.

Een probleem is dat de parser-generator geen links-recursieve structuren aankan, terwijl de Turkse morfologie uitsluitend met links-recursieve herschrijfregels beschreven wordt. (vb. uit de minigrammatica: V0 wordt herschreven tot V0, gevolgd door CAUS).

Dit probleem wordt ondervangen door een SPITBOL programma REVGRAM (reverse grammar) dat alle herschrijfregels omdraait. Het resultaat is een rechtsrecursieve affixgrammatica, die gemakkelijk door de parser generator verwerkt kan worden. Deze methode is eerder gebruikt in Stoop (1987) om AMATURKA om te draaien, een contextvrije oppervlaktegrammatica voor de Turkse syntaxis. Een consequentie is dat de invoerstring ook omgedraaid moet worden voordat de parser kan gaan analyseren. Deze omkering wordt door de pre-editor uitgevoerd.

De basisvorm van de grammatica (zie boven) bevat twee typen regels: 

  • herschrijfregels van lexicale categorieën 
  • metaregels, die de affixen uit het eerste type regels herschrijven. 

Voordat de grammatica aan de parser-generator aangeboden kan worden, moeten deze affixen uitgeschreven ('expanded') worden door het computerprogramma BLOWUP. BLOWUP is ontworpen door Dr. P.A. Coppen (toen nog: afdeling Computerlinguïstiek, K.U. Nijmegen) om de Nederlandse contextvrije affixgrammatica AMAZON (cf. Van Bakel 1984; 21-22) en de Turkse contextvrije affixgrammatica AMATURKA (cf. Stoop 1987) op te blazen.

De TURCOFAX-grammatica telt 459 regels en 34 metaregels. De opgeblazen versie bevat 1681 regels.

Nadat de lexicale items zijn geparseerd, moeten de resulterende structuren opnieuw omgedraaid worden. Dit wordt gedaan m.b.v. de translator-interpretator GRAMTSY, ook ontwikkeld door Dr. P.A. Coppen. GRAMTSY is een programma dat kan werken met boomstructuren, waarop transformationele regels worden losgelaten. Het vraagt een gelabelde haakjesstructuur als input en transformeert deze volgens de contextgevoelige regels die de gebruiker van het programma zelf kan schrijven. (Voor een beschrijving: zie Coppen (te verschijnen)).

5. Evaluatie van TURCOFAX

Als we TURCOFAX met Köksal (1975) vergelijken, dan vallen twee zaken op: op de eerste plaats levert Köksal uitsluitend 1 of 0 analyses van het aangeboden lexicale item. Is deze analyse toevallig incorrect, dan is daar niets anders aan te doen dan het aanpassen van de grammaticale consistentie-analyse. Is een lexicaal item op meerdere manieren te analyseren, dan kan dat niet door het systeem. Een tweede punt van verschil is dat de structuur van het geanalyseerde lexicale item niet gegenereerd wordt tijdens de analyse. Een derde punt is dat alle taalkundige noties en acties in de programmeertaal COBOL zijn geïmplementeerd. Een linguïst die aanpassingen wil aanbrengen in het programma zal ook COBOL moeten kennen.

Dezelfde punten kunnen opgesomd worden in vergelijking met Nilsson (1985). Ook hier zijn de contextgevoelige regels in een programmeertaal vastgelegd. Het verschil met Köksal is dat slechts een segmentering wordt nagestreefd en geen analysering. Köksal maakt dan nog gebruik van een lexica; Nilsson doet dat niet.

Bij Hankamer wordt de segmentering van de lexicale items door middel van glossen weergegeven. Hij gebruikt een wortellexicon en heeft een bestand waarin de volgorde van morfemen in een reguliere grammatica zijn vastgelegd. Deze grammatica is eenvoudig te bewerken door een linguïst wanneer deze dat nodig acht. Slechts de morfofonemische alternering is de enige linguïstische procedure die door Hankamer in een programmeertaal vastgelegd.

Juist deze alternering is in TURCOFAX ook in taalkundige noties vastgelegd. Dat daarvoor de machtiger vorm van een contextvrije grammatica is gekozen in plaats van de vorm van een reguliere grammatica heeft alles te maken met efficiëntie: het herschrijven van de grammatica in een reguliere vorm zal door de parser-generator van Meijer ongedaan gemaakt worden, omdat deze alle regels die beginnen met hetzelfde linkersymbool verzamelt en opslaat in een contextvrije vorm voordat een parser gegenereerd wordt.

Over de mogelijkheid van morfologisch parseren van andere talen op deze op een contextvrije of zelfs reguliere wijze kan men kort zijn: slechts agglutinerende talen kunnen op deze manier geparseerd worden en dan alleen wanneer de herschrijfregels ofwel linksrecursief ofwel rechtsrecursief geschreven kunnen worden. Dus in het geval van talen die zowel productieve prefixen als suffixen hebben, kan linksrecursiviteit niet uitgesloten worden en kan de parser-generator geen parser genereren.

In zijn huidige vorm kan de parser geen samenstellingen en getallen (een uitzondering is gemaakt voor de basiscijfers) aan. In het Turks bevindt de kern van de samenstelling zich altijd in het rechterdeel van de samenstelling. Het linkerdeel is een basisstam of een linksrecursief patroon van samenstellingen. Het omdraaien van de grammatica zoals boven beschreven met REVGRAM zou dus correcte analyses van samenstellingen moeten kunnen opleveren. Ditzelfde verhaal gaat op voor getallen die ook linksrecursie tonen. Beide structuren zijn evenwel niet ingebouwd: in principe hebben we alleen de herschrijfregels van Keçi ingebouwd. We kunnen ons overigens afvragen of samenstellingen, zowel die van nomen plus nomen als nomen plus werkwoord, morfologisch of syntactisch van aard zijn. Nilsson (1985; 101-102) beargumenteert dat samenstellingen op dezelfde wijze geanalyseerd kunnen worden als ingebedde zinnen. Zij stelt dus dat samenstellingen syntactisch gestructureerd zijn en niet morfologisch.

In principe zijn genoemde structuren wel te implementeren.

Albert Stoop, herfst 1992

  *)

NOTEN

       Ik wil Prof. Jorge Hankamer van de Universiteit van Santa Cruz, Californië, bedanken voor de broncode van zijn morfologische parser keçi.
          terug naar tekst 

  1. Imaginair, omdat de eigenlijke grammatica te groot is om als voorbeeld te dienen. terug naar tekst
  2. De vocalen o en ö staan niet onder invloed van van de vocaalharmonie en de vocalen die op hen volgen gedragen zich volgens regel (c). terug naar tekst
     
  3. Met behulp van deze puntjesnotatie analyseert de parser de lengte van de wortel. Deze oplossing is afkomstig van Dr. P.A. Coppen van de vakgroep Taal en Spraak van de Universiteit van Nijmegen. De wortel wordt geparseerd door de punten te tellen. Iedere keer dat een punt door de parser herkend wordt, wordt simultaan een letter van de wortel geparseerd: zijn er geen punten meer, dan is tevens de wortel gevonden. Cf. Coppen (1991). terug naar tekst

 

References

  1. Coppen, P.A. 1987.
    Tools for Computational Linguistics. Verslagen Computerlinguïstiek, 5, Vakgroep Computerlinguïstiek, KU Nijmegen.
  2. Coppen, P.A. 1991.
    Specifying the Noun Phrase, Amsterdam, 1991.
  3. Hankamer, Jorge. 1984.
    Turkish Generative Morphology and Morphological Parsing. Paper presented at the Second International Conference on Turkish Linguistics, Istanbul.
  4. Hankamer, Jorge. 1986.
    Finite State Morphology and Left to Right Phonology. Paper presented at the Third Conference on Turkish Linguistics, Tilburg.
  5. Köksal, A. 1975.
    A First Approach to a Computerized Model for the Automatic Morphological Analysis of Turkish (unpublished Ph.D.Thesis), Hacettepe University, Ankara.
  6. Lewis, G.L. 1984 (1967).
    Turkish Grammar. Oxford University Press.
  7. Lees, Robert B. 1961.
    The Phonology of Modern Standard Turkish.. Indiana University.
  8. Meijer, Hans 1986.
    Pro Grammar: A Translator Generator., Ph. D. Thesis, Catholic University Nijmegen.
  9. Nilsson, B. 1985.
    Case Marking Semantics in Turkish, Doctoral Dissertation, Department of Linguistics, University of Stockholm.
  10. Stoop, A.M. 1987.
    The Place TRANSIT Takes in the World of Machine Translation and Tools for Developing It, in: Boeschoten, H. and Verhoeven L. (eds): Studies on Modern Turkish. Proceedings on the Third Conference on Turkish Linguistics, Tilburg, 157-176.
  11. Van Bakel, J.J.A. 1984.
    Automatic Semantic Interpretation, A Computer Model of Understanding Natural Language, Dordrecht.