Ard Sprenger (2000)
Een computationele grammatica voor het corpus gesproken Nederlands
Master's thesis, Rijksuniversiteit Groningen.
[ Paper (PDF, 371 kb) ]

1. Inleiding

In deze scriptie staat de ontwikkeling van een computationele grammatica centraal. Een kenmerk van dergelijke grammatica's is dat ze het een computerprogramma mogelijk maken om te bepalen welke structuren er aan een bepaalde invoer kunnen worden toegekend. Dit soort computerprogramma's worden ook wel 'parsers' genoemd.

De meeste computationele grammatica's bestaan uit twee delen: uit een woordenboek en uit een aantal grammaticaregels. Van elk woord in het woordenboek is ook een hoeveelheid taalkundige informatie vastgelegd. Deze informatie is nodig om te bepalen of een grammaticaregel al dan niet kan worden toegepast. In het ideale geval zijn alle woorden die de grammatica als invoer te verwerken krijgt, ook aanwezig in het woordenboek.

Een probleem van dit soort grammatica's is dat ze meestal niet zomaar op willekeurige teksten kunnen worden toegepast. Zo komt het vaak voor dat er bepaalde zinsstructuren van de invoer niet kunnen worden geanalyseerd, omdat de grammatica niet genoeg regels bevat. Bestaat een grammatica echter uit ontzettend veel regels, dan ontstaat het probleem dat er te veel ambiguïteiten worden geïntroduceerd en dat de parser te traag wordt. Andere problemen ontstaan er wanneer de invoer woorden bevat die niet in het woordenboek voorkomen, en wanneer de grammatica niet robuust is (de parser kan dan geen belangrijke zinsdelen vinden als de zin niet als geheel geparsed kan worden).

Deze laatste twee aspecten van dit probleem zullen in deze scriptie nader worden onderzocht aan de hand van de volgende onderzoeksvragen:

  1. In hoeverre is het mogelijk om met een regelgebaseerde grammatica robuust te parsen?
  2. Is het nuttig om een grammatica te implementeren die gebruik maakt van 'getagde invoer'? (hierbij is de taalkundige informatie van de afzonderlijke woorden al bij de invoer aanwezig)

Het antwoord op de eerste onderzoeksvraag zal ik proberen te vinden door een grammatica te ontwikkelen die alleen bepaalde zinsdelen ('chunks') analyseert, in plaats van hele zinnen. Er zal hierbij gebruik worden gemaakt van getagde invoer, meer bepaald van het geannoteerde taalmateriaal van het Corpus Gesproken Nederlands (CGN).

Wat betreft de tweede onderzoeksvraag: het is te verwachten dat er op deze manier geen problemen meer zullen ontstaan met onbekende woorden, simpelweg omdat er geen gebruik zal worden gemaakt van een woordenboek (de invoer bevat immers al de taalkundige informatie). Een bijkomend voordeel is dat ambigue woorden (zoals bijvoorbeeld het woord vlieg) in de woordtags al zijn gedisambigueerd. In dit geval is het dus meteen al duidelijk of gaat om een werkwoord of om een zelfstandig naamwoord.

De scriptie is als volgt opgebouwd: in het volgende hoofdstuk wordt er een algemene inleiding geven van het soort taalkunde dat gebruik maakt van een grote hoeveelheid teksten (corpustaalkunde). Hierbij zal het begrip 'corpustaalkunde' verder worden uitgediept, zal de historische ontwikkeling ervan worden behandeld en zullen er enkele toepassingen van corpustaalkunde aan bod komen. Ook wordt er een klein overzichtje gegeven van enkele bekende corpora.

In het derde hoofdstuk worden er een drietal Nederlandse corpora wat grondiger met elkaar vergeleken. Het betreft hier het Eindhoven corpus, het Parole corpus en het Corpus Gesproken Nederlands. Deze corpora hebben gemeenschappelijk dat ze alledrie voorzien zijn van woordsoortinformate. Daarom zal de aandacht hierbij vooral gericht zijn op de verschillen die er bestaan tussen de tagsets van de drie corpora.

Om een antwoord te vinden op de eerste onderzoeksvraag, zal er in hoofdstuk vier een chunker gemaakt worden. Het is hier de bedoeling dat deze chunker een analyse geeft van de belangrijkste zinsdelen waaruit de invoer bestaat. Naast de chunkergrammatica, zal er in dit hoofdstuk ook aandacht besteed worden aan enkele onderliggende ontleedstrategieën die bij het parsen van zinnen kunnen worden gebruikt.

In hoofdstuk vijf wordt er geprobeerd een algemene grammatica van het Nederlands te schrijven op basis van het getagde taalmateriaal van het CGN. Hierbij wordt er dus onderzocht in hoeverre de tweede onderzoeksvraag positief kan worden beantwoord. Ook zal er in dit hoofdstuk een vergelijking worden gemaakt met een grammatica die gemaakt is voor een wat beperkter taalaanbod, namelijk een grammatica voor het 'Openbaar Vervoer Informatie Systeem' (OVIS). Het zal blijken dat veel technieken die gebruikt worden door de OVIS-grammatica, ook gebruikt kunnen worden door de CGN-grammatica. Tot slot van dit hoofdstuk zal er een poging gedaan worden om aan de boomstructuren die door de parser geproduceerd worden, zogenaamde 'dependentielabels' toe te voegen. Hierdoor komen de boomstructuren wat meer overeen met de boomstructuren die binnen het CGN aanwezig zijn. In het laatste hoofdstuk zal er een korte evaluatie van mijn scriptie worden gegeven.