Instrumenten taaltechnologie
Binnen de taaltechnologie bestaan verschillende benaderingswijzen:
-
De regelgerichte benadering, waarbij de analyse van natuurlijke taaluitingen met behulp van taalkundige regels centraal staat. Waar in het verleden de nadruk lag op de lexicale, morfologische en syntactische componenten, staan de laatste jaren het semantische niveau en (voor spraaktechnologie) het pragmatische niveau erg in de belangstelling. Er is niet één regelgerichte benadering: hier kunnen verschillende taalkundige benaderingen aan ten grondslag liggen.
-
De probabilistische benadering, waarbij de analyse plaats vindt op basis van statistische procedures die (vaak) zijn ontwikkeld op basis van (grote) tekstcorpora.
-
Een combinatie van (a) en (b), waarbij bijvoorbeeld wordt getracht om ambigue analyses op te lossen m.b.v. statistische technieken. Een bekende toepassing hiervan is de zgn. trigram-analyse, waarbij de woordsoort van een woord wordt vastgesteld door te kijken naar de woordsoorten van de woorden links en rechts ervan en vervolgens te kiezen voor de combinatie die statistisch gezien het meest voor de hand ligt.
Op deze pagina wordt een overzicht gegeven van een aantal instrumenten die worden toegepast in de taaltechnologie. De instrumenten die gemarkeerd zijn met een asterisk (*) zijn beschikbaar in onze faculteit en kunnen worden ingezet in het kader van (scriptie)onderzoek waarvoor tekstcorpora automatisch moeten worden geanalyseerd. Neem hiervoor contact op met Piek Vossen (p.vossen at vu.nl) of Onno Huber (o.huber at vu.nl). N.B. Alle instrumenten worden benoemd met Engelse termen, omdat Engels de voertaal is in dit wetenschapsgebied.
Tokenizers *
Voor een computer is een tekst niets anders dan een stroom van karakters (letters, cijfer en leestekens). Voordat deze geanalyseerd kan worden, moet hij eerst worden opgedeeld (gesegmenteerd) in woorden (tokens). Dit is wat een tokenizer doet. Hoewel dit wellicht eenvoudig lijkt, zitten hier nog wel wat haken en ogen aan. Leestekens hebben bijvoorbeeld vaak meerdere functies (zoals de punten in "Ik vond de informatie over de H.B.S. op blz. 15." en het afbreekstreepje in "lay-out" en in "op-" aan het einde van een regel en "maak" aan het begin van de volgende regel). Bovendien heeft elke taal zijn eigen tokenizer nodig.
Tokenizers worden meestal niet zelfstandig gebruikt, maar als onderdeel van de methoden die hieronder worden besproken.
Met behulp van een tagger kunnen woordsoorten en eventuele andere kenmerken (zoals enkelvoud-meervoud of werkwoordstijd) worden toegekend aan woorden in een zin. Meestal geeft een tagger ook aan wat de stamvorm (het lemma) van een woord is (het lemma van "geverfd" is "verven"); daarom worden ze ook vaak tagger-lemmatizers genoemd.
De basis van een tagger is meestal een lexicon, waarin de betreffende woorden worden opgezocht. Omdat woorden vaak tot meer dan één woordsoort kunnen behoren (denk aan het woord "verf", dat zowel zelfstandig naamwoord kan zijn als werkwoordsvorm), moet een tagger uitgerust zijn om op basis van de context de juiste keuze te maken. Bijkomend probleem is dat teksten veel woorden bevatten die niet in een lexicon voorkomen, zoals eigennamen, plaatsnamen, zeer infrequente woorden, bijzondere samenstellingen, e.d. Ook betekenisvolle eenheden die uit meer dan één woord bestaan (multiwords, zoals het Engelse "after all") kunnen het taggen bemoeilijken.
Taggers die in onze faculteit worden gebruikt, zijn Frog (voor het Nederlands) en TreeTagger (voor meerdere talen, waaronder Engels, Frans en Duits). Voor de analyse van het CGN-corpus is de CGN tagger-lemmatizer gebruikt. Via de link kan de tagger online worden uitgeprobeerd.
Zie voor meer informatie over dit onderwerp het Wikipedia-lemma over Part-of-speech tagging.
Een parser (van het Engelse to parse, ontleden, en het Latijnse pars, deel) is een computerprogramma, of component van een programma, dat de grammaticale structuur van een invoer volgens een vastgelegde grammatica ontleedt (parset). Een parser zet ingevoerde tekst om in een datastructuur. Het resultaat van een bewerking met een parser is meestal een boomstructuur: de syntaxisboom genoemd. (Bron: Wikipedia, zie de link hieronder).
Parsers die in onze faculteit worden gebruikt, zijn Alpino (voor het Nederlands; de website biedt ook een web-demo) en Freeling (voor het Engels en het Spaans). N.B. Het FreeLing-pakket omvat behalve een parser ook modulen voor woordsoort-tagging, multiword detection, named-entity recognition, word-sense disambiguation, WordNet sense annotation en co-reference resolution (het laatste alleen voor Spaans).
Zie voor meer informatie over dit onderwerp het Wikipedia-lemma over Parsing.
Named-entity recognition
Met behulp van named-entity recognition worden bepaalde elementen in een tekst automatisch geclassificeerd volgens voorgedefinieerde categorieën, zoals namen van personen, organisaties en plaatsen, tijdsaanduidingen, getallen, geldwaarden, e.d. Hiermee is named-entity recognition een belangrijke aanvulling op tagger-lemmatizers, met name in toepassingen op het gebied van information retrieval.
Zie voor meer informatie over dit onderwerp het Wikipedia-lemma over Named-entity recognition.
Word-sense disambiguation
Word-sense disambiguation is een methode met behulp waarvan wordt bepaald wat de betekenis is van woorden die meerdere betekenissen kunnen hebben (zoals "bank" als meubelstuk en als bedrijf waar geldzaken worden gedaan).
Zie voor meer informatie over dit onderwerp het Wikipedia-lemma over Word-sense disambiguation.
Co-reference resolution
Een tekst bevat meestal diverse elementen die verwijzen naar dezelfde entiteit; in taalkundige terminologie hebben ze dezelfde 'referent'. Dit fenomeen is vaak zinsoverschreidend. Een voorbeeld is het tekstfragment "Margriet schudde haar hoofd. Ze had geen zin om zich te haasten", waarin "Margriet", "haar", "Ze" en "zich" verwijzen naar dezelfde persoon. Co-reference resolution is een methode waarmee dergelijke referenties automatisch worden gedetecteerd.
Overige methoden
Naast de hierboven beschreven methoden bestaan er ook methoden voor het realiseren van spraakherkenning, spraakgeneratie en taalgeneratie. Het voert te ver om daar in deze Werkbank aandacht aan te besteden. In de rubriek Toepassingen wordt wel een aantal toepassingen van deze methoden beknopt beschreven.