Gerlof Bouma (2002)
Automatische pronomenresolutie voor het Nederlands
Master's thesis, Rijksuniversiteit Groningen.
[ Paper (PDF, 365 kb) ]

Inleiding

Aanvankelijk reed Lance Armstrong als enige uit de US Postal-ploeg in een groepje dat de achtervolging op Virenque en zijn medevluchters had ingezet. In zijn gezelschap Joseba Beloki, Igor Gonzalez de Galdeano en José Azevedo uit de ONCE-formatie. In zijn eentje deklasseerde Armstrong de drie Spanjaarden. Toen hij zich van Beloki ontdeed, ging Armstrong er zo snel vandoor dat het leek alsof de Bask stilstond.
(aangepast uit NRC-Handelsblad, 22 juli 2002)
In het bovenstaande fragment, uit een verslag van de veertiende etappe van de Tour de France, is een veelvoorkomend patroon te zien. Personen worden eerst met naam en toenaam genoemd, en vervolgens worden omschrijvingen en voornaamwoorden gebruikt.

Stel dat we een computersysteem maken dat vragen kan beantwoorden uit dit tekstfragment -- een zogenaamd Question Answering (QA) systeem. In het begin hebben we het dan makkelijk:

'Welke US Postal-renner reed mee in de achtervolging?'
-- 'Lance Armstrong'
Uit de eerste zin valt er een persoon te destilleren, van wie gezegd wordt dat hij bij US Postal rijdt, en dat hij in een groepje zat dat de achtervolging had ingezet. Stellen we echter vervolgens de vraag 'Uit welke ploeg kwamen de mannen in Armstrongs gezelschap?', dan lopen we aan tegen voornoemd patroon. Het antwoord zit natuurlijk verstopt in "In zijn gezelschap (. . .) van Once", maar om dit als relevante informatie te kunnen herkennen moeten we 'zijn' kunnen lezen als 'Armstrongs'. Algemener: wil je alle mogelijke vragen op basis van dit fragment kunnen beantwoorden, dan moet je in staat zijn om de 'verkorte verwijzingen' zoals 'hij' en 'zijn', maar ook 'de drie Spanjaarden' en 'de Bask', op te lossen.

Bij de vakgroep Alfa-informatica aan de Rijksuniversiteit Groningen wordt Alpino (Bouma et al. 2000) ontwikkeld. Alpino is een grote grammatica voor de analyse van Nederlandse zinnen uit echte tekst. Een mogelijke toepassing van Alpino is het gebruiken van de analyses die het geeft voor QA.

Bij het ontwerpen van zo'n QA-systeem moeten een aantal deelproblemen aangepakt worden. Een daarvan is het probleem dat ik hierboven schetste, het interpreteren van verkorte verwijzingen of anaforenresolutie. Deze scriptie zal gaan over de computationele resolutie van een speciaal type anaforen: de voornaamwoorden. Aan het eind van dit onderzoek staat een implementatie van een automatisch pronomenresolutiesysteem dat werkt op basis van de gegevens die Alpino ons verstrekt.

De rest van deze inleiding zal ik weiden aan een beschrijving van soorten anaforen en pronomina, en het definieren van een paar termen rondom anaforen. Daarnaast zal ik het probleem afbakenen, door de groep pronomina vast te stellen, die het systeem zal proberen op te lossen.

In hoofdstuk 1 wordt een aantal factoren, dat algemeen beschouwd wordt als belangrijk voor pronomenresolutie, besproken. De factoren worden gepresenteerd aan de hand van Nederlandse voorbeelden, en waar nodig en mogelijk wordt de specifieke interpretatie van de factoren voor het Nederlands behandeld. In het tweede deel van het hoofdstuk ga ik in op de vraag welke informatie er, vanuit een computationeel oogpunt, voorhanden is.

Hóe de factoren samengevoegd worden in een resolutiesysteem is het onderwerp van hoofdstuk 2. Eerst geef ik een aantal voorbeelden van bestaande architecturen, en bespreek kort hun voor- en nadelen. Dan zal ik een architectuur voordragen om als basis voor de implementatie te dienen. Ook geef ik, tot slot, een concrete formulering van de factoren, zoals die in het systeem gebruikt zullen worden.

Het derde hoofdstuk is een verslag van de evaluatie van de implementatie. Voor deze evaluatie is er een (bescheiden) corpus aangelegd door een aantal Volkskrantartikelen te annoteren, waarop de prestaties van de implementatie beoordeeld kunnen worden. Belangrijk is om te beseffen dat hier een automatisch resolutiesysteem wordt geëvalueerd. Dat wil zeggen dat er nergens ingegrepen wordt -- fouten in de voorbewerking of fouten gemaakt door Alpino werken dus door in het presteren van het systeem.

(INGEKORT)