Doctoraalscriptie (1996)
K.U. Nijmegen


Subcategorisatie
Een onderzoek naar SUBCATEGORISATIE en de verwerking ervan in een NLP-systeem.

Simon van Dreumel

Grammatica

De herschrijfregels zorgen voor de opbouw van de structuur. Deze regels moeten de S-frames verwerken in de syntactische structuur. Een S-frame bevat de argumenten die het werkwoord selecteert. Deze argumenten kunnen echter op verschillende argumentposities in de syntactische structuur staan. Hoeveel en welke argumenten er voor kunnen komen in de structuur bij een bepaald werkwoord is vastgelegd in het S-frame, maar de volgorde van de argumenten wordt in de grammatica beregeld.

Er wordt uitgegaan van een soort uniforme structuur die vergelijkbaar is met een dieptestructuur. De vaste argumentpositie voor het externe argument (subject) is [Spec,VP] \footnote{Hier wordt uitgegaan van een subject-interne VP.}, terwijl de vaste argumentposities voor interne argumenten staan onder V', het subcategorisatiedomein van het werkwoord.

De syntactische structuur wordt met behulp van de herschrijfgrammatica opgebouwd. Geabstraheerd van details, zien de herschrijfregels of opbouwregels voor de basisstructuur er als volgt uit:

1. CP —> Spec-CP, C'.
2. Spec-CP —> (XP <+topic>).
3. C' —> C, VP.
4. VP —> Spec-VP, V'.
5. Spec-VP —> NP.
6. V' —> (COMPLEMENTATIE), V.

Hierbij heb ik gebruik gemaakt van de X'-theorie van het GB-kader. Volgens deze theorie bestaat iedere woordgroep (XP) uit een hoofd (X) met een specifier [Spec,XP] en een complementatie of aanvulling van het hoofd in de vorm van complementen via het recursieve tussenniveau [Compl,X']. Hierdoor krijgen we steeds een uniforme interne structuur voor alle woordgroepen.

In de herschrijfregels zien we dat positie SPEC-CP bezet kan worden door een XP. Op deze – oorspronkelijk lege – specifier-positie kan dus een categorie komen te staan, en wel door Topicalisatie: het vooropplaatsen van een element of woordgroep.

Een getopicaliseerd extern argument houdt in dat dit externe argument op de [Spec,CP]-positie staat en verder ontbreekt op de [Spec,VP]-positie, de oorspronkelijk positie van het externe argument in de basisstructuur. Als een intern argument is getopicaliseerd, dan moet dit interne argument ontbreken op de plaats waar het in de basisstructuur zou staan. Het externe argument kan dan niet meer getopicaliseerd worden en staat dus op de basispositie [Spec,VP]. Het kan ook zijn dat er geen argument vooropgeplaatst is. Dan staan alle argumenten op hun basispositie. Dit is bijvoorbeeld het geval bij ja/nee-vragen.

Als argumenten uit de dieptestructuur op een andere plaats staan door bijvoorbeeld topicalisatie, dan wordt dit in mijn implementatie gecontroleerd op het meta-niveau door affixen. Met een affix, vergelijkbaar met het SLASH-feature in GPSG of HPSG, wordt afgedwongen dat wat vooropgeplaatst is, ergens anders in de structuur ontbreekt.

Wat vooropgeplaatst is, ontbreekt dus op de plaats waar het vandaan komt. Als we deze informatie door willen geven in de boomstructuur, dan moeten we met een variabel feature bijhouden welk argument ontbreekt in een woordgroep. Het argument dat ontbreekt, is dan getopicaliseerd.

In wezen is een verplaatsing van het getopicaliseerde element in statische termen uitgedrukt, namelijk de situatie na topicalisatie waar het gaat om twee posities: de gevulde positie, waar het getopicaliseerde element staat na topicalisatie, en de lege positie, waar het element vandaan komt of waar het in de basisstructuur heeft gestaan.

Deze afhankelijkheid tussen de lege positie (het spoor) en het vooropgeplaatste element wordt gecontroleerd via een affix met variabele inhoud (SLASH). In de herschrijfregels is dit als volgt verwerkt:

1. CP —> [Spec,CP]=SLASH, C'(SLASH).
2. C'(SLASH) —> C, VP(SLASH)
3a. VP([ea]) —> [ ], V'([ ]).
3b. VP(SLASH) —> ea, V'(SLASH).
4a. V'([ ]) —> ia, V(SUBCAT=[ea,ia]).
4b. V'([ia]) —> [ ], V(SUBCAT=[ea,ia]).

De verplichte argumenten van het werkwoord moeten in de structuur aanwezig zijn, wil die structuur nog grammaticaal zijn. De voorwaarde is dus steeds dat alle argumenten bij het werkwoord gevonden moeten worden in de structuur. Een argument kan getopicaliseerd zijn: het ontbreekt op de basispositie en is op positie [Spec,CP] terechtgekomen. Er moet daarbij rekening gehouden worden met topicalisatie van een argument waarbij het vooropgeplaatste argument niet meer op de basispositie staat.

De informatie van een getopicaliseerd element op de [Spec,CP]-positie moet gelijk zijn aan die de informatie die is meegegeven op de plaats waar dat betreffende element ontbreekt. In de grammatica wordt dit afgedwongen door unificatie van het affix SLASH. Er moet gelijkheid zijn tussen de waarde van SLASH bij positie [Spec,CP] en van SLASH van C' (zie regel 1), via unificatie van SLASH op VP en V' (zie regel 2).

Als een extern argument is getopicaliseerd, staat het op de [Spec,CP]-positie en ontbreekt het in de VP. De positie [Spec,VP] is in dat geval leeg. De informatie van verplaatsing wordt doorgegeven via unificatie van SLASH, en wel vanuit SLASH:[ea] bij VP in regel 3a. Als het extern argument vooropgeplaatst is, dan kan er verder geen ander argument vooropgeplaatst worden. Dit betekent dat er in dat geval geen topicalisatie van een intern argument kan zijn. Er mag dus geen intern argument ontbreken in het V'-domein. Dit wordt beregeld door de lege waarde ([ ]) op te geven aan de affix SLASH bij V' in regel 3a. Het interne argument staat in dat geval op zijn basispositie (regel 4a).

We hebben nu nog twee andere mogelijke structuren: of een intern argument is vooropgeplaatst of er is helemaal geen argument vooropgeplaatst. In beide gevallen kan het externe argument niet vooropgeplaatst zijn. Om die reden blijft het externe argument op de [Spec,CP]-positie staan (zie regel 3b). De waarde van SLASH bij V' in regel 3b wordt in het midden gelaten: óf het is leeg, óf het is gevuld met een waarde van het ontbrekende interne argument. In het eerste geval zouden we een structuur krijgen waarin niets vooropgeplaatst is ([ ] in regel 4a). In het tweede geval is het intern argument vooropgeplaatst ([ia] in regel 4b) waarbij het interne argument ontbreekt in het V'-domein.

Er zijn dus in het totaal drie situaties mogelijk:

  1. het externe argument is getopicaliseerd: hij ziet hem
  2. er is geen element getopicaliseerd: ziet hij hem
  3. het interne argument is getopicaliseerd: hem ziet hij

De invulling van de SLASH-variabele is voor de drie gevallen steeds anders:

  1. SLASH=ea
  2. SLASH=[ ]
  3. SLASH=ia
Hieronder zal ik voor de duidelijkheid de boomstructuren weergeven van de drie situaties:

Interessant wordt het wanneer we zogenaamde Unbounded Dependency-structuren gaan bekijken waar woordgroepen verplaatst zijn naar en via [Spec,CP]-posities. In het Nederlands hebben we wh-verplaatsing van een [+wh]-element (wie, wat, welk ...) dat via [Spec,CP] verplaatst kan worden vanuit een ingebedde zin naar een hogere [Spec,CP]-positie in de hiërarchische structuur.

    wie fotografeert hem?
    wie fotografeert hij?
    zij denkt [dat hij hem fotografeert]
  * zij denkt [dat wie hem fotografeert]
  * zij denkt [dat hij wie fotografeert]
  * zij denkt [wie (dat) hem fotografeert]
  * zij denkt [wie (dat) hij fotografeert]
    wie denkt zij [dat hem fotografeert]?
    wie denkt zij [dat hij fotografeert]?
    zij weet [wie (dat) hem fotografeert]
    zij weet [wie (dat) hij fotografeert]
  * wie weet zij [dat hem fotografeert]?
  * wie weet zij [dat hij fotografeert]?

Het werkwoord weten subcategoriseert voor een NP of een CP. De CP mag een dat-zin of een [+wh]-zin zijn. Een CP is [+WH] wanneer op de Specifier-positie van CP een [+wh]-woordgroep staat. Het werkwoord denken subcategoriseert voor een CP(+dat) en kan niet subcategoriseren voor een CP(+WH).

  wie geloof je [dat zij denkt [dat hem fotografeert]]
  wie geloof je [dat zij denkt [dat hij fotografeert]]
  wie zeg je [dat wij geloven [dat zij denkt [dat hem fotografeert]]]
  wie zeg je [dat wij geloven [dat zij denkt [dat hij fotografeert]]]
  wie denk je [dat X denkt [dat Y denkt [... [dat hem fotografeert] ...]]]
  wie denk je [dat X denkt [dat Y denkt [... [dat hij fotografeert] ...]]]

Hierbij horen de volgende herschrijfregels:

CP(matrix) —> Spec-CP(matrix,SLASH), C'(matrix,SLASH).
C'(matrix,SLASH) —> C(matrix), VP(matrix,SLASH).
VP(matrix,SLASH) —> Spec-VP=ea, V'(matrix,SLASH).
V'(matrix,SLASH) —> ia:CP(subcl,SLASH), V.
Spec-CP(matrix,SLASH) —> [SLASH].

De informatie van SLASH wordt steeds (via Spec-CP) doorgegeven aan CP hoger in de hiërarchie. Dit is duidelijk te zien als we de volgende boomstructuren van Unbounded Dependencies bekijken:

Ook gewone elementen kunnen vooropgeplaatst worden via [Spec,CP]-posities, maar er gelden voor deze vorm van topicalisatie striktere voorwaarden. Zo mag een subject of een extern argument dat geen [+WH]-element is, niet over een zinsgrens verplaatst worden. Of anders gesteld: er mag geen zinsgrens zitten tussen de extractieplaats waar het element vandaan komt, en de [Spec,CP]-positie waar het element naartoe verplaatst is. Een object of een intern argument mag daarentegen wel over zinsgrenzen vooropgeplaatst worden.

  hem denkt zij [dat hij fotografeert]
  hem geloof ik [dat zij denkt [dat hij fotografeert]]
  * hij denkt zij [dat hem fotografeert]
  * hij geloof ik [dat zij denkt [dat hem fotografeert]]

In een boomstructuur weergegeven:

De UBD-structuren zijn in principe goed te implementeren in mijn DCG-grammatica. Dit kan gerealiseerd worden door de informatie van het element dat via [Spec,CP] steeds verder vooropgeplaatst wordt, mee te geven aan iedere CP in de vorm van een variabel SLASH-affix. De vooropplaatsing van een XP uit een willekeurig diep ingebedde zin (in stappen via de Spec-CP-posities naar de matrix- Spec-CP) blijkt alleen mogelijk te zijn bij werkwoorden die zelf subcategoriseren voor een CP-complement als intern argument. Een werkwoord als denken, dat een dat-bijzin als complement kan nemen, is hier een voorbeeld van. In mijn huidige DCG-implementatie heb ik dit nog niet kunnen uitwerken, omdat er problemen optraden zoals linksrecursie bij topdown-parsering waardoor er geen analyse kon worden opgeleverd. Om toch te kunnen laten zien hoe UBD-structuren geïmplementeerd kunnen worden, volgt hieronder een mini-grammatica waarin de genoemde verwerking met behulp van SLASH is toegepast. Hierbij heb ik de werkwoorden denken en zien als voorbeeld genomen.

Met het affix SLASH wordt de informatie van het argument dat vanuit extractieplaats of [Spec,CP]-positie is verplaatst, meegegeven aan respectievelijk VP (het domein van het werkwoord dat voor dit argument subcategoriseert en de plaats waaruit het argument is verplaatst) of CP (de zinsgrens, de directe moeder van Spec-CP, waar een XP verder verplaatst kan worden naar een hogere Spec-CP). Steeds vormt CP(matrix) het eindpunt waar uiteindelijk alle argumenten gecheckt moeten zijn. Er moet rekening gehouden worden met wh-verplaatsing en topicalisatie waardoor UBD-structuren kunnen ontstaan. Om aan alle subcategorisatie-eisen te voldoen van de werkwoorden in de syntactische structuur, moeten allle argumenten op het niveau van CP(matrix) gevonden zijn.

In de grammatica wordt steeds bij de matrix-CP de mogelijke graad van verplaatsing van een ingebedde XP bijgehouden. Dit gebeurt via het affix EMB, dat de waarde 0 of 1 kan aannemen. Verder worden de twee verschillende CP's met de bijbehorende SPEC-CP: uiteengehouden: CP(matrix) en CP(subcl). Dit alles blijkt van belang te zijn. Zo moet een wh-constituent altijd verplaatst worden naar SPEC-CP en mag niet blijven staan op zijn oorspronkelijke argumentpositie [XP,VP/V'], de plaats binnen het het subcategorisatiedomein van het werkwoord waar nagegaan wordt of een argument XP mag voorkomen in de syntactische structuur volgens de subcategorisatie-eisen van het werkwoord. Daarbij mag een XP[+wh] zoals het wh-element wie op iedere SPEC-CP stranden, dus ook op een tussengelegen SPEC-CP van een ingebedde CP. Gewone niet-wh-constituenten zoals XP[–wh] hoeven daarentegen niet verplicht verplaatst te worden. Ze mogen op hun oorspronkelijke argumentpositie blijven staan. Maar als ze verplaatst worden (via SPEC-CP), moeten ze uiteindelijk terechtkomen op SPEC-CP van de matrix-zin. Een tussentijdse stranding van XP[–wh] op SPEC-CP van een ingebedde zin levert ongrammaticaliteit op. Daarbij komt nog de beperking dat alleen het interne argument (object) getopicaliseerd mag worden naar SPEC-CP van de matrix-CP. Verplaatsing van het externe argument NP[–wh] uit de ingebedde zin naar SPEC-CP van de matrix-CP resulteert in ongrammaticaliteit.

Met de DCG-implementatie heb ik proberen duidelijk te maken hoe de subcategorisatie-eisen bij topicalisatie van argumenten gecontroleerd dient te worden. Ook heb ik proberen aan te tonen dat andere UBD-structuren, zoals wh-verplaatsing en topicalisatie van [Spec,CP] naar [Spec,CP], in wezen verwerkt kunnen worden in een DCG-implementatie \footnote{Eerlijk gezegd denk ik dat voor een efficiënte verwerking van deze structuren een DCG niet zo geschikt is. Het vergt namelijk veel backtrack-ruimte. Bovendien zou een cyclische afwerking (Top-down) ervan nodig zijn, hetgeen beter in een transformationeel systeem als GRAMTSY gerealiseerd kan worden.}.

Hieronder zal ik de grammatica globaal in onderdelen uitwerken. Alleen de delen die relevant zijn voor subcategorisatie komen hier aan bod.

Er wordt allereerst uitgegaan van een CP-structuur (zie Barriers van Chomsky). Er zijn drie CP-typen te onderscheiden: een hoofdzin (finiet), een ondergeschikte bijzin (finiet of infiniet) en een betrekkelijke bijzin. De grammatica parseert finiete hoofdzinnen. Het beginsymbool is dan ook een finiete hoofdzin: cp(main,fin,...).

Bij werkwoord-subcategorisatie draait het om alle projecties van het hoofd V: V', \iibar{V} en VP. Op de basispositie van V of in het verbale cluser wordt het S-frame opgehaald uit het lexicon. Dit kan eventueel gebeuren via het affix STEM als het finiete hoofdwerkwoord na Verb Second (V2) op de tweede positie is terechtgekomen. In dat geval wordt de basisvorm van het finiete hoofdwerkwoord doorgegeven, zodat deze op de basispositie van V beschikbaar is.

In het geval waar werkwoordelijk deel en partikel van een scheidbaar samengesteld werkwoord gescheiden zijn in de structuur doordat het werkwoord na V2 op de tweede plaats terecht is gekomen, moet op de basispositie van V het partikel en het werkwoordelijk deel samengevoegd worden tot het oorspronkelijke samengestelde werkwoord. Er is namelijk een uniek S-frame bij dit samengestelde werkwoord. De samenvoeging van partikel en het werkwoordelijk deel via 'concat(PRT,V_STEM,COMPOUND_STEM)' levert de geconcateneerde stringwaarde op als inhoud voor de variabele COMPOUND_STEM. Via stringconcatenatie wordt met andere woorden het oorspronkelijke samengestelde werkwoord, inclusief partikel, verkregen. Bij dit samengestelde werkwoord hoort een uniek S-frame. Het S-frame wordt dus pas opgezocht als het oorspronkelijke (samengestelde) werkwoord is bepaald.

Hieronder wordt besproken hoe VP en V' zijn uitgewerkt in SUBCATSY. Ik wil beginnen met VP. Er zijn drie situaties mogelijk voor VP:

  1. finiet
  2. infinitief met te
  3. infinitief zonder te

In de diepte- of basisstructuur staat het externe argument op SPEC-VP. Dit externe argument kan verplaatst worden door topicalisatie. In de bijzinsvolgorde blijft het externe argument echter op de basispositie staan. In geval van een imperatiefzin is er sprake van een impliciet extern argument met het kenmerk van de tweede persoon.

Bij een infinitiefzin met controle treedt PRO op als verzwegen subject dat gecontroleerd wordt door het argument dat in het S-frame van het controlewerkwoord is aangegeven als controleur (ctrl). De semantische features van de controleur worden via C meegenomen om de de semantische invulling van PRO na te gaan. Voor de behandeling van controlestructuren verwijs ik naar hoofdstuk 1, paragraaf Controlewerkwoorden.
De uitwerking ervan is te zien in Bijlage B en de resultaten zijn te vinden in Bijlage C.

Raising-To-Object (RTO), of AcI, vormt een belangrijk onderdeel in de taalkundige discussie. Voor de behandeling ervan verwijs ik naar hoofdstuk 1, paragraaf RTO-werkwoorden. Om bij RTO de binaire vertakking (binary branching) te handhaven, is een extra derde VBAR-niveau geïntroduceerd: VBAR3. [Spec,VBAR3] is de positie waar de IA[np] terechtkomt na RTO. Als de structuur niet binair vertakkend hoeft te zijn, dan kan de als object verheven NP in de matrixzin op de objectpositie staan. Maar doordat nu voor een analyse met een VP-intern subject gekozen is, is het lastiger vast te stellen waar de NP na RTO-verplaatsing aangehecht moet worden. Het is in de huidige literatuur niet helemaal duidelijk wat precies de structurering van RTO-constructies is in een CP-structuur met binaire vertakking. Meestal wordt er ook niet verder op ingegaan. De hier gekozen structurering met een extra derde recursieve laag is een mogelijke kandidaat voor het representeren van RTO-constructies, maar dit verdient nader onderzoek.

Samengevat zijn er dus drie situaties mogelijk voor een VP:

  1. finiet:
    VP[+fin]: NP, VBAR2.   (subject op basispositie)
    VP[+fin]: t, VBAR2.   (getopicaliseerd subject)
    VP[+imp]: 0, VBAR2.   (impliciet subject bij imperatief)

  2. infinitief met te (controle):
    VP[+inf,+te]: PRO, VBAR2.   (gecontroleerd PRO-subject)

  3. infinitief zonder te (RTO of AcI):
    VP[+inf,–te]: NP, VBAR3: IA, VBAR2. (subject op basispositie)
    VP[+inf,–te]: t, VBAR3: IA, VBAR2. (getopicaliseerd subject)
    VP[+inf,–te]: NP, VBAR3: t, VBAR2. (getopicaliseerd verheven object)

In de SUBCATSY-grammatica maak ik een onderscheid tussen V'2 (vbar2) en V1 (vbar1). De eerste (recursieve) categorie vbar2 kan alleen interne argumenten zoals NP, PP, VP, IP en CP nemen, terwijl de laatste (recursieve) categorie vbar1 alleen het verbale cluster omvat. Dit is gedaan om de volgorde tussen de twee groepen vaste te houden: 1. interne argumenten en 2. verbaal cluster. In het verbale cluster kan bovendien niet zomaar een argument binnendringen, het is een cluster dat alleen voor werkwoorden 'toegankelijk' is \footnote{Dit even los gezien van controle-werkwoorden, waar scrambling mogelijk is van argumenten.}.

    hij zou haar een boek [hebben gegeven]
  * hij zou haar [hebben een boek gegeven]
    ... dat hij haar een boek [zou hebben gegeven]
  * ... dat hij haar [zou een boek hebben gegeven]
  * ... dat hij haar [zou hebben een boek gegeven]

Met deze twee aparte vbar-lagen waarmee de scheiding tussen de plaats van argumentposities (vbar2) en het verbale cluster (vbar1) wordt aangegeven, kan de generering of analysering van ongrammaticale zinnen voorkomen worden. Het verbale cluster komt achteraan in de basisstructuur: op vbar1-niveau. Op vbar2-niveau worden de interne argumenten of andere complementen van het werkwoord gevonden.

In het S-frame staat de informatie van subcategorisatie vermeld, namelijk welke argumenten worden vereist. Via de V-projectielijn worden de argumenten van het hoofd V gecontroleerd.

In de grammatica wordt het SUBCAT-frame opgesplitst in het externe argument (SUBJ) en de rest (COMPLIST). Op basis van de complementenlijst (COMPLIST) is de volgende subtypering te maken:

  intransitief: —  (geen complementen)
  monotransitief: IA1 (dit kan ook een adjunct-argument zijn: AD1)
  ditransitief: IA1, IA2 (dit kan ook een adjunct-argument zijn: AD2)
  predicatief: PRED

In de DCG-regels is eveneens de variatie in complementvolgorde ingebouwd. De plaatsing van de interne argumenten in de syntactische structuur is afhankelijk van de syntactische categorie die ze aannemen (CAT= NP, PP of CP). Zo mag een NP niet achteropgeplaatst worden. Een extraponeerbare PP kan wel achteropgeplaatst worden. En een CP moet achteropgeplaatst worden. Dit wordt beregeld met evaluatie-predikaten, zoals 'is_not_sentential(X)', 'is_prepositional(X)', 'is_sentential(X)' \footnote{Een verdere stap is om de mogelijke posities van een categorie af te leiden uit het feature CASUS dat aangeeft of de betreffende categorie op een casusgemarkeerde positie [+casus] moet staan óf juist niet op een casusgemarkeerde positie kan of mag staan [–casus] in de syntactische structuur. Zo zouden we de volgende opdeling kunnen krijgen:

  1. [+casus] – NP
  2. [–casus] – CP
  3. [±casus] – PP

Hulpwerkwoorden selecteren geen argumenten, maar subcategoriseren voor verbale complementen. Het externe argument wordt in een constructie met een verbale cluster geselecteerd door het hoofdwerkwoord. Welke categorie, welke semantische rol en features bij dit extern argument horen wordt dus niet door het hulpwerkwoord maar door het hoofdwerkwoord van de constructie bepaald. Het S-frame [SUBJ|COMPLIST] moet dus vanuit het hoofdwerkwoord "gepercoleerd" worden naar de plaats waar de argumenten zich in de structuur bevinden, zodat het S-frame gecontroleerd kan worden. Dit wordt bewerkstelligd door het volgende doorgeefmechanisme. Bij het S-frame van ieder hulpwerkwoord wordt een aanvankelijk ongespecificeerde externe argument meegegeven. Als het hoofdwerkwoord in de parsering is herkend, vindt er unificatie plaats. Het hoofdwerkwoord selecteert namelijk een gespecificeerd extern argument. Door unificatie wordt dit geselecteerde externe argument via hulpwerkwoorden doorgegeven, zodat de eisen voor het externe argument gecheckt kunnen worden bij het externe argument op een positie die niet direct bereikbaar is voor het hoofdwerkwoord zelf. Unificatie werkt immers lokaal binnen een herschrijfregel. Voor een concrete uitwerking hiervan verwijs ik naar de grammatica in Bijlage B.

In de grammatica en S-frames gebruik ik syntactische argumenten als type van gesubcategoriseerde elementen. Hierbij maak ik een verschil tussen twee typen argumenten: het externe argument (EA) en het interne argument (IA).

Ieder werkwoord heeft een extern argument met als categorie een NP. In principe gelden er voor de positie van het externe argument geen syntactische beperkingen. Alleen aan de interne argumenten worden syntactische beperkingen opgelegd door het werkwoord, zoals categorieselectie (CAT=...), prepositieselectie (p=PFORM), optionaliteit van het argument of het wel of niet verplicht voorkomen ervan (OCCURR=...). Verder zijn de semantische beperkingen, zoals de toebedeelde thematische rol (ROLE) en semantische features (SEM_FEAT), voor beide typen argumenten van toepassing.

type: affixdomein:


EA(NP,ROLE,SEMFEAT), ROLE= Agent/..
IA(CAT,ROLE,SEMFEAT,OCCURR), CAT= CP/IP/VP/P(pform)/NP/AP/...
ROLE= Dative/Object/...
OCCURR= [±OPT]

Deze argumenten worden gespecificeerd voor hun syntactische categorie (NP, P+NP, PP, VP, IP, CP, etc.) en worden meestal geassocieerd met een unieke semantische of thematische rol (Agent, Dative, Object, Instrumental, Locative, etc.) gecombineerd met semantische features (animate, human, etc).

In het S-frame kan men direct het aantal argumenten zien waarvoor het werkwoord subcategoriseert. Zo telt het S-frame van geven drie argumenten:

  [EA(1), IA(2), IA(3)].

De subtypering van deze argumenten is in termen van categorieselectie en semantische rollen:

  [EA(NP:+Agent), IA(aan/NP:+Dative), IA(NP:+Object)].

Het interne argument met de Datief-rol is optioneel. Er zijn voor dit interne argument twee mogelijke syntactische realisaties in termen van categorieën: NP of PP (= NP met een geadjungeerde datief-prepositie). Zo heeft ook het werkwoord zien twee syntactische realisaties voor het interne argument. De categorie van dit interne argument met de Object-rol kan een NP, VP[–fin] of CP[+fin] zijn:

    ik zie hem
    ik zie hem dansen
    ik zie dat hij danst

In mijn implementatie maak ik gebruik van 'EA' (voor het extern argument) en 'IA' (voor het interne argument). Deze worden gesubtypeerd in termen van syntactische categorie, semantische rol en features.

In één S-frame worden die argumenten tegelijk gespecificeerd:

sframe(..., EA(CATEGORY,ROLE,FEATURES),
IA(CATEGORY,ROLE,FEATURES,OCCURRENCE), ...)

Zo is het volledige S-frame van geven in het DCG-lexicon:

  sframe('geven', [ea(np,agent,ani), ia(np_p(aan),dative,ani,+opt), ia(np,object,ANI,-opt)] ).

De precieze volgorde van complementen wordt bepaald in de grammatica. Voor de meeste PP's geldt een vrijere volgorde.

Verder kunnen allerlei argumenten van het werkwoord verplaatst worden zodat ze niet meer op hun basispositie staan:

  [ik] geef Jan drie boeken
  [Jan] geef ik drie boeken
  [aan Jan] geef ik drie boeken.
  [drie boeken] geef ik aan Jan

Al deze mogelijkheden worden uitgewerkt in de grammaticaregels. Het getopicaliseerd element staat uiteindelijk op de [Spec,CP]-positie. Hier is gekozen voor de besproken SLASH-benadering: het element dat ontbreekt in de VP, is getopicaliseerd – of anders gesteld: het getopicaliseerde element dat op de [Spec,CP]-positie staat, ontbreekt in de VP. Doordat ik met het type IA werk en niet met alleen syntactische categorieën, kan ik soms abstraheren over categorieën. Het is nu mogelijk om aan te geven dat er een intern argument (IA) is getopicaliseerd, los van de categoriale invulling van dit interne argument. Nu hoeft niet iedere afzonderlijke categoriale realisatie van het getopicaliseerde interne argument opgenomen te worden bij Spec-CP maar volstaat de aanduiding:

  Spec-CP(...,ia(CAT),...) —> ia(CAT,...,no_opt).

Hier heeft het affix SLASH als invulling: ia(CAT). De invulling van CAT komt van het S-frame van het werkwoord dat subcategoriseert voor dit interne argument. In de grammatica kan dus op het niveau van Spec-CP geabstraheerd worden van categorieselectie. Hier hoeft alleen aangegeven te worden wat voor type argument getopicaliseerd is: EA of IA. De rest volgt uit de unificatie van de affixen met de waarden uit het S-frame in het lexicon. Een voorwaarde is wel dat als een argument getopicaliseerd is, dit op de [Spec,CP]-positie verplicht is. Optionele (interne) argumenten bij het werkwoord zijn alleen optioneel in hun basispositie.

Optionaliteit van (interne) argumenten is vastgelegd in het S-frame in de vorm van een variabele OCCURR. Deze variabele kan de waarde [+opt] of [–opt] hebben, hetgeen betekent of het interne argument optioneel is of verplicht moet voorkomen in de structuur. Als OCCURR bij een intern argument dus de waarde [–opt] heeft, dan mag dit intern argument niet weggelaten worden in de structuur. Als OCCURR echter de waarde [+opt] heeft, dan mag het interne argument gerealiseerd worden als nulcomplement (het wordt dan lexicaal/fonetisch niet gerealiseerd). Bij OCCURR=[+opt] zijn er dus twee mogelijkheden: niet gerealiseerd (0) of wel gerealiseerd. Als een intern argument door meer dan één categorie gerealiseerd kan worden, dan moet die optionaliteit niet gelden voor al die categorieën afzonderlijk, omdat dan veel ongewenste dubbele analyses worden opgeleverd bij het ontbreken van het interne argument. Het volgende voorbeeld kan dit laten zien:

  geven: ia(np,dative,opt);   ia(pp(aan),dative,opt).

Als het interne argument hier niet gerealiseerd wordt, dan krijgen we twee dezelfde analyse: één waar ia(np) als nulcomplement is gerealiseerd en één waar ia(pp) als nulcomplement is gerealiseerd. Optionaliteit heeft hier echter betrekking op het interne argument zelf: het interne argument wordt óf fonetisch niet gerealiseerd (nulcomplement) óf fonetisch wel gerealiseerd door een van de mogelijke categorieën. Als we onechte ambiguïteit willen uitsluiten, dan moet de uitsplitsing van mogelijke categorieën in de grammatica zelf en niet in het lexicon beregeld worden. Het interne argument geselecteerd door het werkwoord is immers optioneel en niet de mogelijke categorieën die bij dit interne argument horen. In de DCG-implementatie is dit op de juiste wijze verwerkt door een intern argument als geheel optioneel te laten zijn, terwijl één van de mogelijke categorieën, die in het S-frame samengebundeld bij het betreffende optionele interne argument weergegeven zijn, alleen gerealiseerd kan worden als het interne argument niet als nulcomplement is gerealiseerd.

  geven: ia(np_pp,dative,opt) ia(np,object,no_opt)

In de grammatica wordt dit als volgt uitgeschreven:

ia(CAT,ROLE,opt) —> 0;
ia(CAT,ROLE,no_opt).
ia(np_pp,ROLE,no_opt) —> pp; np.
ia(np,ROLE,no_opt) —> np.

Hier staat opt voor optioneel en no_opt voor verplicht. Als een intern argument dus optioneel is, dan kan dit argument al dan niet gerealiseerd worden: nulcomplement (0) of een van de mogelijke categoriale realisaties voor het interne argument aangegeven door het affix CAT bij dit interne argument. In dit geval zijn er dus drie mogelijkheden voor ia(dative) van geven:

  1. geen realisatie (evt. impliciet)
  2. PP-realisatie
  3. NP-realisatie

Voor ia(object) is echter maar één realisatie mogelijk, en wel een verplichte NP-realisatie.

In hoofdstuk 1 in paragraaf Complementen en adjuncten ben ik gekomen tot een classificatie in drie groepen: interne argumenten, adjunct-argumenten en adjuncten. Alleen de eerste twee groepen zijn van belang voor subcategorisatie. In mijn implementatie heb ik het verschil tussen deze twee groepen tot uitdrukking gebracht.

Laten we eerst kijken hoe het adjunct-argument in het lexicon is gespecificeerd.

AD(CAT,ROLE,SEMFEAT,OCCURR), CAT=PP/AdvP
ROLE=Locative/Directional/..
OCCURR=[±OPT]

Dit adjunct-argument, afgekort met AD, kan gerealiseerd worden door een AdvP of PP. Bij de opbouwregels voor de PP zien we dat de P een autonome, locale woordgroep-inherente rol heeft.

PP(ROLE): [Spec,PP], PBAR.
PBAR: P(PFORM,INHERENT_ROLE), NP(INHERENT_ROLE).

Dit is een PP met een interne recursieve structuur. Hier kan [Spec,PP] bezet worden door een bijwoord (Adv) zoals direct/vlak/pal dat de verdere PBAR specificeert: direct/vlak/pal (voor (het huis)).

Een voorzetselvoorwerp kan alleen worden gerealiseerd door een P+NP. Ik beschouw dit als een intern argument met prepositieselectie waar het vaste voorzetsel door het werkwoord geselecteerd wordt en het werkwoord zelf subcategoriseert voor een intern argument IA[np] waaraan een eigen thematische rol wordt toegekend door het werkwoord. Vergelijk dit met het volgende S-frame van een werkwoord dat een dergelijk intern argument selecteert met CAT=np_p en ROLE=object:

    sframe(v, 'wacht', [EA, IA(np_p('op'),object,SEM_FEAT,opt)], ...).

In de grammatica wordt een IA[np_p(PFORM)] uitgeschreven als een P+NP, die we kunnen beschouwen als een afgeleide PP waar de vorm van het door het werkwoord geselecteerde voorzetsel P (PFORM) in het S-frame van het betreffende werkwoord is vastgelegd. Het vaste voorzetsel bij het werkwoord wachten is op: P(PFORM='op').

P_NP(PFORM,ROLE): P(PFORM), NP(ROLE).

P_NP is een NP met een geadjungeerd geselecteerd voorzetsel. We hebben hier niet een echte PP, maar eerder een afgeleide PP. Er is hier geen interne recursieve structuur zoals bij een echte PP met [Spec,PP] en PBAR. Het werkwoord kent de thematische rol toe aan de NP. De invulling van de thematische rol (ROLE) komt dan ook van het werkwoord.

Het verschil tussen intern argument en adjunct-argument vindt bij een PP dus zijn weerslag in de volgende punten: wel of geen [Spec,PP]-positie (gewone PP versus afgeleide PP of oppervlakte-PP), wel of geen prepositieselectie, wel of geen inherente thematische rol. Ze krijgen wel allebei een thematische rol van het werkwoord. Maar er is verschil in de toekenning van die rol aan NP. Deze rol wordt namelijk bij het interne argument direct toegekend aan de NP. Bij het adjunct-argument wordt deze rol echter aan de gehele PP toegekend en niet aan de NP; deze NP krijgt zijn (inherente) rol van P.

Hierboven heb ik geprobeerd enkele belangrijke aspecten van de SUBCATSY-implementatie duidelijk te maken. Deze implementatie dient als voorbeeld voor de wijze waarop subcategorisatie in een natuurlijke-taalverwerkend systeem verwerkt dient te worden. Voor meer details verwijs ik naar Bijlage B waarin de SUBCATSY-implementatie (lexicon, S-frames en grammatica) volledig is afgedrukt.



Voor opmerkingen of vragen over deze pagina kunt u contact opnemen met Simon van Dreumel
Laatst gewijzigd op 25 augustus 2025