Nederlandse Taalkunde Driemaandelijks tijdschrift nummer 2, 1998 |
Elektronisering van de ANS
Peter-Arno Coppen en Walter Haeseryn
1 InleidingIn november 1997 is de tweede editie van de Algemene Nederlandse Spraakkunst, kortweg de ANS, verschenen. Zeker voor vakgenoten hoeft het geen betoog dat de totstandkoming van die herziene editie geenszins een eindpunt betekent. Het spreekt vanzelf dat de beschrijving die de ANS wil bieden up to date gehouden moet worden: niet alleen dienen voorkomende taalontwikkelingen geregistreerd te worden, maar ook moet de steeds toenemende kennis van de grammatica van het Nederlands als resultaat van recent wetenschappelijk onderzoek geïntegreerd worden, onder meer ter opvulling van lacunes in de beschrijving. Niet minder belangrijk voor een werk als de ANS, dat een breed publiek wil bedienen, is de voortdurende zorg die aan de presentatie en de toegankelijkheid van de grammaticale informatie besteed moet worden. Een regelmatige herziening is dus onontbeerlijk als de ANS van blijvende waarde wil zijn.
Het actualiseren van de informatie en het streven naar een zo groot mogelijke toegankelijkheid en bruikbaarheid noemen we het beheer van het ANS-materiaal in ruime zin. Het bedoelde permanente beheer kan uiteraard het efficiëntst uitgevoerd worden als er een optimaal gebruik gemaakt wordt van moderne hulpmiddelen zoals de computer.
Sinds vorig jaar loopt in Nijmegen een project voor de 'elektronisering' van de ANS. Dat project, dat gezamenlijk gefinancierd wordt door de Nederlandse Taalunie en de Faculteit der Letteren van de KUN, wordt uitgevoerd in een samenwerking tussen de afdeling Nederlands en de afdeling Taal en Spraak. Het onmiddellijke doel van het project is het totstandbrengen van een op een breed gebruikerspubliek gerichte elektronische versie van de ANS die direct afgeleid is van de huidige herziene editie. Die elektronische versie (in de vorm van een hypertekstdocument) moet dan het basisbestand gaan vormen vanwaaruit verdergewerkt wordt aan de ANS. Een belangrijk voordeel van het werken met een elektronisch bestand is dat er veel sneller updates gemaakt kunnen worden dan bij een publicatie in drukvorm.
Bij de uitvoering van het project willen we ons voordeel doen met expertise die elders bij vergelijkbare ondernemingen opgebouwd is. Voorzover ons bekend is, wordt in het buitenland op twee plaatsen aan soortgelijke grammaticaprojecten gewerkt. In Londen is bij de Survey of English Usage (University College of Londen, Department of English Language and Literature) een Internet Grammar of English (IGE) ontwikkeld, waarvan de eerste publieksversie recent beschikbaar gekomen is (informatie verkrijgbaar op het adres http://www.ucl.ac.uk/internet-grammar/). In Mannheim wordt sinds een paar jaar op de grammatica-afdeling van het Institut für deutsche Sprache (IDS) gewerkt aan het project Grundlagen eines grammatischen Informationssystems (GRAMMIS) (adres http://www.ids-mannheim.de/grammis/).
Beide projecten vertonen overeenkomsten, maar er zijn ook belangrijke verschillen tussen de twee. Het Britse project betreft een on line raadpleegbare grammaticacursus in hypertekstformaat die in de eerste plaats bedoeld is voor universitaire studenten. De cursus is nieuw opgezet, dat wil zeggen dat hij niet op een bestaand boek gebaseerd is. De IGE behandelt woordsoorten, constituenten en zinnen en zinsdelen. Ieder van deze onderdelen is opgebouwd uit een hele reeks op verschillende manieren aan elkaar gekoppelde 'bladzijden' (tekstsegmenten van wisselende grootte). Op tal van plaatsen zijn interactieve oefeningen ingevoegd. Via de index van termen en begrippen kan naar een bepaald tekstfragment en in voorkomend geval naar relevante oefeningen gesprongen worden. Een glossarium van grammaticale termen dat vanuit het hoofdmenu en vanuit diverse bladzijden op te roepen is, completeert het geheel.
Het GRAMMIS-project is heel wat ambitieuzer van opzet. Het gaat om het ontwikkelen van een multimediaal informatiesysteem waar bijv. ook een geluidscomponent deel van moet uitmaken en waar databanken aan gekoppeld kunnen worden. Basis van de grammaticale informatie vormt de eind vorig jaar verschenen nieuwe Grammatik der deutschen Sprache (Zifonun, Gisela, Ludger Hoffmann, Bruno Strecker et al., uitgegeven bij Walter de Gruyter, Berlin/New York, 1997, 3 delen). De thans beschikbare testversies bevatten hypertekstdocumenten over de woordsoorten en over de complementen van werkwoorden, telkens gebaseerd op het overeenkomstige tekstgedeelte uit de genoemde grammatica. Aan elke component is ook een lexicale databank gekoppeld: een bank met functiewoorden enerzijds en een beknopte bank met gegevens over werkwoordvalenties anderzijds. GRAMMIS bevat verder een elektronisch glossarium van grammaticale termen en een reeks oefeningen, onder meer in spelvorm (met animatie). In een nieuw deelproject worden parallel aan elkaar een boek en een hypertekstdocument over connectoren ontwikkeld. Voor meer informatie over het GRAMMIS-project zij onder meer verwezen naar een aantal bijdragen in de bundel Hypermedia für Lexikon und Grammatik (Storrer, Angelika & Bettina Harriehausen (Hrsg.), Gunter Narr Verlag, Tübingen, 1998).
Het Nijmeegse project vertoont inhoudelijk het meest verwantschap met het GRAMMIS-project, in die zin dat het ook bij de elektronisering van de ANS gaat om een conversie van een bestaande tekst naar een hypertekst met een nieuwe codering. Wat de vormgeving betreft willen we ons echter juist richten naar het Britse model van de IGE.
2 De omzetting van het ANS-materiaal naar een nieuw formaatVoor een nieuwe codering van het moederbestand komen in principe drie mogelijkheden in aanmerking:
- 1. Er kan een speciale software-omgeving worden ontwikkeld voor de presentatie van het materiaal.
- 2. Het materiaal kan worden omgecodeerd naar een formaat dat geschikt is voor bestaande software.
- 3. Er kan een tussencode worden ontworpen van waaruit automatische conversie naar willekeurig welk formaat kan plaatsvinden.
De eerste strategie is gekozen in het Duitse GRAMMIS-project. De voordelen zijn evident: speciale software kan rekening houden met alle eigenaardigheden van grammaticale beschrijving. Voorbeeldzinnen, schema's, opsommingen, bibliografische verwijzingen, regels en uitzonderingen, terzijdes, ze kunnen allemaal door aparte stukjes software behandeld worden. Ook de nadelen springen onmiddellijk in het oog: software-ontwikkeling vereist aparte investeringen, en het onderhoud ervan is een permanente zorg. Ook al zullen de vandaag ontwikkelde programma's "millennium-proof" zijn, niets is bestand tegen de toekomstige ontwikkeling van de besturingssystemen op de verschillende platforms. Misschien zullen programma's die nu onder Windows95 draaien het nog uithouden tot Windows2005, maar er zal onherroepelijk ooit een variant ontstaan waarbij dat niet meer het geval is. En daaruit volgt meteen het tweede nadeel: speciaal ontwikkelde software is bijna noodzakelijkerwijs platformafhankelijk. Dat wil zeggen, het koppelt de software aan een besturingssysteem zoals Windows95, of UNIX, of MacOS. Grote groepen gebruikers zullen daardoor worden afgesneden.
De derde mogelijkheid is vanuit theoretisch oogpunt erg aantrekkelijk. Een speciaal ontworpen codering kan geschieden in logische categorieën die aansluiten op de organisatie van de grammatica. Zo ligt het voor de hand om coderingen te verzinnen voor de in de vorige alinea genoemde termen zoals 'voorbeeldzin', of 'terzijde'. Aldus wordt de logische structuur van het grammaticamateriaal in de codering versleuteld, in plaats van dat de codering alleen de lay-out beregelt. In het ideale geval moet de lay-out immers volgen uit de logische structuur. Met een voorbeeld: het verschijnsel samentrekking in voorbeeldzinnen kan worden weergegeven door het samengetrokken zinsdeel in een andere kleur weer te geven (bv. grijs in plaats van zwart), of door er een streep door te zetten. Een goede manier om te garanderen dat door het hele document heen dezelfde conventie wordt gehanteerd is om een codering 'samentrekking' te hanteren en deze bij de weergave te vertalen naar de benodigde lay-outcodes. Commandogestuurde tekstverwerkers, zoals bv. LaTeX, werken op deze manier.
Een nadeel van de derde mogelijkheid is dat de te ontwikkelen conversiesoftware aan dezelfde gebreken onderhevig is als de speciale software uit mogelijkheid 1.
De tweede mogelijkheid lijkt vooral te prefereren vanuit een praktisch oogpunt. Aansluiting bij bestaande software, vooral als het goed gedocumenteerde en ondersteunde software betreft, vermijdt de ontwikkeling van speciale software of codering. Bij voorkeur zou deze software dan ook platformonafhankelijk moeten zijn. Een mogelijk nadeel, dat de codering van het materiaal in lay-outtermen in plaats van in logische categorieën moet gebeuren, zou kunnen worden opgeheven als een bestaand softwarepakket wordt gekozen dat de mogelijkheid tot macrocodering biedt.
Er zijn drie voor de hand liggende coderingssystemen voor elektronische publicatie die in zeer brede kring gebruikt worden. Het betreft het zogeheten PDF (Portable Document Format), het Windows Helpformaat, gebaseerd op een RTF-codering (Richt Text Format), en het HTML (Hyper Text Markup Language), dat gebruikt wordt voor codering van internetdocumenten. Al deze coderingen kunnen met gemakkelijk verkrijgbare software geïnterpreteerd worden, en ze zijn redelijk eenvoudig. Het is zelfs over het algemeen mogelijk om vanuit gangbare tekstverwerkers een document te converteren naar het gewenste formaat.
Toch zijn niet al deze mogelijkheden even aantrekkelijk: het PDF-formaat is bijvoorbeeld gericht op het paginaformaat. Dat wil zeggen dat een paginaverdeling als op papier op het scherm wordt gerepresenteerd. Dat is aardig met het oog op papieren publicatie, maar het hindert het gebruik op het scherm: de gebruiker is gebonden aan de paginagrenzen die ook in het boek gelden. In aanmerking genomen dat papieren publicatie zelfs in een optimistische schatting slechts eenmaal per decennium zal geschieden, is een dergelijke concessie ongewenst.
Het RTF in combinatie met het Windows Helpformaat is weer platformafhankelijk: het werkt alleen op Windowsgebaseerde pc's. Gebruikers van UNIX of MacIntosh zijn dan van het gebruik van de ANS uitgesloten. Ook dat is niet wenselijk.
Het HTML-formaat lijkt aldus de beste keuze. De wereldwijde verspreiding garandeert een stevige ondersteuning, en software voor het interpreteren ervan (de zogeheten 'browsers'; voorbeelden zijn Internet Explorer, Netscape en Mosaic) is vrij verkrijgbaar. Zelfs als het bedrijf MicroSoft voor haar Windows-systemen een monopolie zou verwerven op een van deze browsers, zouden browsers voor andere besturingssystemen beschikbaar blijven.
Daar komt bij, dat de HTML-codering steeds uitgebreid wordt met nieuwe mogelijkheden. In de laatste ontwikkelingen kunnen HTML-documenten worden voorzien van macro's in een complete programmeertaal (het zogeheten Javascript), die niet alleen HTML-codes kunnen produceren, maar zelfs allerlei multimediale applicaties kunnen starten (geluid, animatie).
De Internet Grammar of English heeft gekozen voor de HTML-codering, met uitgebreide Javascript-toepassingen. De grammatica is voorzien van animaties die transformaties in de zin illustreren, en van oefeningen voor de gebruiker met directe feedback. Dat hier een tamelijk bewerkelijke Javascript-codering voor nodig is, is meteen duidelijk als we de broncode van deze uitbreidingen bekijken.
Toepassing van al te veel toeters en bellen lijkt ons voor het eerbiedwaardige ANS-materiaal niet erg verstandig. Zowel de Britse als de Duitse zuster van de ANS hebben voor een meer cursusmatige opzet gekozen, waarbij oefeningen voor de gebruiker met meer of minder animatie worden verlevendigd. Zo blinken de Duitse oefeningen uit door over het scherm rondvliegende ballonnetjes of vliegtuigjes waarop de te benoemen woordjes moeten worden aangeklikt. Een dergelijke aanpak komt erg kinderlijk over en lijkt niet geschikt voor de ANS-doelgroep. Wel kunnen we de mogelijkheden van JavaScript gebruiken om een eigen logische codering te ontwerpen. Dat hoeft geen complete coderingstaal te worden, maar op de ANS toegesneden functies zoals boven al aangestipt: een tekstblok dat de functie van een opmerking heeft, kan gecodeerd worden als 'opmerking'. De JavaScript-code moet resulteren in de juiste HTML-codering. Deze strategie is te vergelijken met het gebruik van zogeheten 'style sheets' (CSS), waarin de lay-out buiten het document om kan worden geadministreerd, maar gaat nog een stapje verder. Terwijl we met de style sheets enkel de parameters van bestaande HTML-codes kunnen controleren, kunnen we met JavaScript-functies als het ware nieuwe codes componeren. Op deze manier realiseren we in feite toch een soort tussencode, speciaal voor ANS-doeleinden. De gewenste consistentie van het document is hiermee gegarandeerd.
In het Nijmeegse project hebben we dus gekozen voor de HTML-lijn, met de aantekening dat gestreefd moet worden naar logische codering van het materiaal. Op deze manier nemen we uit elke mogelijkheid het beste over, en we vermijden de gesignaleerde valkuilen.
Deze strategie opent een aantal publicatieperspectieven voor de elektronische ANS. Uiteraard kan het eenmaal omgecodeerde materiaal op een cd-rom worden verzameld en, eventueel samen met een vrij beschikbare browser, worden verkocht. Met de bestaande browsers kunnen immers net zo goed lokale bestanden worden bekeken als bestanden op het internet zelf. Daarnaast kan gedacht worden aan publicatie op het internet. Ook daarvoor bestaan diverse opties: het materiaal kan geheel of gedeeltelijk aan iedereen beschikbaar worden gesteld, of via een abonnement aan particulieren of instellingen. Een voordeel van het rechtstreeks publiceren op het internet is de actualiteit: iedere wijziging staat in principe onmiddellijk alle gebruikers ter beschikking.
3 Iets over de organisatie van het materiaalHoewel in het project 'Elektronisering van de ANS' nog geen definitieve beslissingen over de vormgeving zijn genomen, kunnen we hier wel al een indruk geven van de overwegingen die bij het opzetten van een elektronische grammatica van belang zijn.
De huidige ANS in WordPerfect is in feite een groot document van zo'n 1900 bladzijden. Elektronische codering moet zonder twijfel resulteren in de opdeling van dit document in onafhankelijke subdocumenten. Het ligt voor de hand dat de bestaande hoofdstuk- en paragraafindeling de basis voor deze opdeling moeten vormen. Dat zou kunnen betekenen dat ieder hoofdstuk of iedere (sub)paragraaf in een apart bestand moet worden verzameld. Het lijkt niet zo handig om het materiaal in één groot bestand te handhaven, omdat een browser het hele document in z'n geheugen moet kunnen laden.
Opsplitsing van het document in deelbestanden leidt echter tot problemen met betrekking tot de administratie van de nummering van (sub)paragrafen. Enigszins vereenvoudigd weergegeven is die problematiek als volgt: hoofdstukken en paragrafen worden op dit moment automatisch doorgenummerd. Wordt ergens een paragraafje tussengevoegd, dan schuift alles daarachter op. Interne verwijzingen naar paragrafen kunnen automatisch worden bijgewerkt. Dat het huidige document van deze tekstverwerkingsmogelijkheden geen gebruik maakt, is voor de problematiek niet echt relevant.
Splitsen we nu het document in deelbestanden op, en verlaten we de traditionele tekstverwerker, dan doemt het probleem van de administratie van nummering en verwijzingen levensgroot op: niet alleen zouden we elke hernummering met de hand moeten doorvoeren, maar we moeten ook nog eens honderden deelbestanden nakijken op verwijzingen. Het is duidelijk dat dit de dagelijkse redactie er niet eenvoudiger op maakt.
Bovendien kunnen we ons in een elektronisch document afvragen: wat heeft het voor zin om een gebruiker omstandig te verwijzen naar paragraaf 6·3·2·1 als deze verwijzing door een muisklik gerealiseerd kan worden? Wat voegt het paragraafnummer voor informatie toe?
Een mogelijke oplossing voor de nummering van paragrafen is, om gebruik te maken van de directorystructuur voor bestanden. We zouden kunnen beginnen met de omcodering van de bestaande paragraaforganisatie naar een directorystructuur, waarbij we voor het gemak de nummering overbrengen naar de directorynamen. Zo zal dan op het hoofdniveau een onderverdeling in vier subdirectories worden gemaakt (de vier delen van de ANS), die van 1 tot 4 genummerd worden. In subdirectory 1 zitten 12 subdirectories die de 12 hoofdstukken van deel 1 bevatten. De getallen als namen voor de subdirectories zijn handig voor de redactie, omdat de volgorde van de hoofdstukken in principe vastligt. Zouden we de directories van logische namen voorzien (bijvoorbeeld de titels van de hoofdstukken), dan moet de onderlinge volgorde op een andere wijze worden gecodeerd.
Onder de genoemde strategie zou uiteindelijk iedere einddirectory één paragraaf bevatten. Zo zou bijvoorbeeld subparagraaf 6·3·2·1 uit deel 1 (over betekeniscategorieën van adjectieven die alleen attributief gebruikt worden) terechtkomen in subdirectory 01/06/03/02/01 (de nullen zijn toegevoegd omdat de alfabetische volgorde dan samenvalt met de numerieke volgorde).
Maar wat winnen we nu met deze manoeuvre? Welnu, de hernummering van paragrafen wordt aanzienlijk vereenvoudigd. Stel bijvoorbeeld dat de redactie zou besluiten om tussen paragraaf 6·2 en 6·3 een paragraaf toe te voegen. Dan zou in subdirectory 01/06, waar op dit moment vier subdirectories gesitueerd zijn (01 tot en met 04), subdirectory 04 moeten worden gewijzigd in 05, 03 in 04, en de nieuwe subdirectory zou 03 moeten worden genoemd. De namen van diepere subdirectories kunnen gehandhaafd worden. Immers, 01/06/03/02/01 wordt nu automatisch 01/06/04/02/01. Anders gezegd: hernummeringen van paragrafen hebben slechts een lokaal effect: alleen de nummering op het niveau van de nieuwe paragraaf hoeft te worden aangepast.
Handhaving van de oorspronkelijke paragraafnummering in de directorystructuur lost het nummeringsprobleem voor de redactie op, en dient nog steeds het doel van de traditionele uitgave: bij omzetting van de elektronische ANS naar de papieren ANS kan de directorystructuur weer eenvoudig worden vertaald naar conventionele paragraafnummering.
Het verwijzingsprobleem is hiermee echter nog niet opgelost. Immers, als tussen paragraaf 6·2 en 6·3 een nieuwe paragraaf wordt toegevoegd, moeten alle verwijzingen naar de paragrafen 6·3, 6·4 en al hun subparagrafen worden aangepast.
De oplossing voor dit probleem kan worden gezocht in de programmering van een "dynamische verwijzing". De gedachte hierachter is dat een verwijzing niet zozeer een paragraafnummer betreft, maar juist de inhoud van de betreffende paragraaf. De uitdaging is, om een inhoudelijke aanduiding te herleiden tot het actuele nummer van een paragraaf.
Binnen het ANS-project denken we momenteel over de volgende oplossing: in elke subdirectory die andere subdirectories bevat, voegen we een bestandje toe met een vertaaltabel van inhoudelijke aanduidingen naar paragraafnummers. Met een voorbeeld: in de al genoemde directory 01/06/ staat het volgende vertaaltabelletje:
Inleiding 01 Indeling 02 Syntactische subklassen 03 Vormkenmerken 04Een verwijzing naar Syntactische subklassen kan met deze tabel eenvoudig herleid worden tot 03. Verwijzingen elders in de tekst kunnen dus gebruik maken van de logische aanduidingen uit de tabellen in plaats van de nummering. Om het voorbeeld compleet te maken, een verwijzing als:
Deel een/Adjectief/Syntactische subklassen/Attributief/Betekeniscategorieën
kan in een aantal lokale inspecties van tabelbestandjes herleid worden tot 01/06/03/02/01.
Voegen we nu tussen 02 en 03 een paragraaf toe (bijvoorbeeld Semantische subklassen), dan moeten we op dat lokale niveau niet alleen de directorynummers veranderen, maar ook het tabelbestandje aanpassen tot iets als:
Inleiding 01 Indeling 02 Semantische subklassen 03 Syntactische subklassen 04 Vormkenmerken 05Hierna kunnen alle bestaande verwijzingen intact blijven. Immers, de volgende keer dat een gebruiker
Deel een/Adjectief/Syntactische subklassen/Attributief/Betekeniscategorieën
aanklikt, wordt dit automatisch herleid tot 01/06/04/02/01. De verwijzing is dynamisch in plaats van statisch: ze wordt pas berekend als ze wordt aangeklikt.
Uiteraard hoeft de gebruiker met deze interne codering niet lastiggevallen te worden. We zagen net al dat een aanduiding als 6·3·2·1 voor de gebruiker geen enkele informatie biedt. In het elektronische document dat de gebruiker op het scherm ziet, zijn betekenisloze aanklikpunten voldoende. Dat zal hier en daar wel enige redactionele aanpassing van de tekst vereisen, maar dat zou hoe dan ook onvermijdelijk zijn.
In conventionele tekstverwerkers, die gericht zijn op papieren publicatie, is dynamische verwijzing en naamgeving onmogelijk. Veranderlijke gegevens moeten als het ware gecompileerd worden tot een statisch document. De aard van het elektronische document biedt hier meer mogelijkheden tot flexibiliteit.
Samenvattend kunnen we constateren dat versleuteling van de structuur van het materiaal in een directorystructuur met lokale vertaaltabellen vanuit logische naamgeving de organisatie van het oorspronkelijke document niet aantast, de redactie van het elektronische document vereenvoudigt, en het resultaat een dynamisch karakter geeft. Hiermee zijn de grote problemen natuurlijk nog niet opgelost (wat is de aard van de verschillende informatieblokken in de ANS-tekst en hoe moeten deze worden georganiseerd?), maar het voorbeeld toont wel aan hoe zorgvuldige analyse van een probleem uiteindelijk tot een heldere oplossing kan leiden. Wat we in ieder geval moeten weerstaan is de verleiding om zo snel mogelijk zoveel mogelijk materiaal om te coderen. Eerst nadenken.
Peter-Arno Coppen & Walter Haeseryn*Met dank aan Matthias Hüning voor commentaar bij de eerste versie.
* respectievelijk Afdeling Taal en Spraak en Afdeling Nederlands van de KU Nijmegen, Postbus 9103, 6500 HD Nijmegen.
E-mail: P.A.Coppen@let.kun.nl; W.Haeseryn@let.kun.nl
[ Naar het begin van deze pagina ] [ Naar de DigiTaal-openingspagina ] © 1998, P.A. Coppen & W. Haeseryn
Pagina aangemaakt op 06/07/1998 door Matthias Hüning