Het .syn formaat

Bestanden van het type .syn bevatten syntactisch geannoteerde data en zijn te vinden in /data/annot/text/syn van de annotatie-DVD die deel uitmaakt van versie 1.0. Deze bestanden zijn gemaakt met behulp van het programma @nnotate dat gebruik maakt van het NeGra-annotatieformaat. Hieronder vindt men een korte beschrijving van het formaat. Voor uitgebreide informatie over @nnotate en het NeGra-formaat wordt verwezen naar de @annotate-website. Het .syn-formaat kent ook een XML-variant die te vinden is in /data/annot/xml/tig en staat beschreven in de .tig-formaatschrijving.


%% sample fn123456
%%
#FORMAT 3
...
%% word tag morph edge parent secedge comment
#BOS 8 ...
welke VNW11 U521b DET 500
films N2 T107 HD 500
hebben WW2 T302 HD 501
zij VNW1 U501u SU 501
? LET T007 -- 0
#500 NP -- WHD 502 OBJ1 501
#501 SV1 -- BODY 502
#502 WHQ -- -- 0
#EOS
...
%% 432 sentences (2530 tokens, 926 phrases)

Elk .syn-bestand bevat een header van drie regels. Commentaarregels worden vooraf gegaan door twee procenttekens ('%%'). De eerste regel duidt het fragmentnummer aan ('%% sample fn123456') en wordt gevolgd door een lege commentaarregel. De derde regel is een aanduiding voor de NeGra-formaatversie ('#FORMAT 3'). Hierna volgt de eerste zin. Elke zin wordt vooraf gegaan door een commentaarregel die de veldnamen herhaalt ('%% word tag morph...'), gevolgd door een BEGIN_OF_SENTENCE ('#BOS 8...'). Het eerste getal direct achter #BOS is het volgnummer van de zin. Een zin wordt afgesloten met een END_OF_SENTENCE ('#EOS').

In het eerste veld (het 'word'-veld) staat de woordvorm in het geval van een terminale knoop en het knoopnummer in het geval van een non-terminale knoop. In het tweede veld (het 'tag'-veld) staat de POS-tag (woordsoort) in het geval van een terminale knoop en het knooplabel (de syntactische categorie) in het geval van een non-terminale knoop. Wat betreft de POS-tags moet vermeld worden dat dit niet de (officiële) POS-tags zijn zoals die als resultaat van de POS-tagging worden opgeleverd, maar een afgeleide set hiervan. Het aantal officiële POS-tags is namelijk zo groot dat de parser veel te veel data nodig heeft om iets te leren. Vandaar dat een vereenvoudigde POS-tagset wordt gebruikt. De officiële POS-tags staan in het derde veld (het 'morph'-veld), dat niet door de parser gebruikt wordt. In het vierde veld (het 'edge'-veld) staat het edge-label, de naam van de syntactische functie die de knoop vervult binnen de constituent waar hij direct onder hangt. Het nummer van deze moederknoop staat in het vijfde veld (het 'parent'-veld). Dit nummer verwijst naar een nummer in het eerste veld (maar dan op een andere regel), waar de moederknoop op zijn beurt beschreven wordt. Sommige constituenten, bijvoorbeeld relatieve NP's, vervullen een dubbele syntactische functie, één binnen de constituent waarin ze staan en één binnen de constituent waaruit ze verplaatst zijn. De naam van de syntactische functie die zo'n constituent vervult in de knoop waaruit hij verplaatst is, staat in het zesde veld (het 'secedge'-veld) en in het zevende veld (het 'comment'-veld) staat het nummer van de knoop waarin hij deze functie vervult.

In het bovengenoemde voorbeeld beschrijft de eerste regel de meest linkse terminale knoop van de (vraag)zin 'welke films hebben zij?'. In het eerste veld staat de woordvorm: 'welke', in het tweede de (vereenvoudigde) POS-tag van 'welke': 'VNW11', in het derde de officiële (momenteel niet gebruikte) POS-tag: 'U521b', in het vierde de syntactische functie die 'welke' vervult binnen de NP 'welke films': 'DET' en in het vijfde het nummer van de NP 'welke films': '500'. Knoop 500 op zijn beurt wordt beschreven in de zesde regel. Het eerste veld vermeldt het nummer: '500', het tweede de syntactische categorie: 'NP', het derde veld is leeg (aangezien het om een non-terminale knoop gaat), het vierde vermeldt de syntactische functie die de NP vervult in knoop 502 (d.i. de hele zin): 'WHD' (d.i. complementeerder/hoofd van een vraagzin), het vijfde het nummer van de knoop waarbinnen de NP deze functie vervult: '502', het zesde de syntactische functie die de NP daarnaast vervult in knoop 501 (d.i. de subclause waaruit hij verplaatst is) en het zevende het nummer van de knoop waarbinnen de NP deze functie vervult: '501'.

De laatste regel van het .syn-bestand bevat statistische gegevens over het fragment ('%% 432 sentences...'), te weten een telling van het aantal zinnen, het aantal tokens/woorden en het aantal frases in het fragment.