12 januari 2012

Taaltechnologie in de praktijk

image for Taaltechnologie in de praktijk image

Om functies als samenvatten, anonimiseren en dergelijke te kunnen uitvoeren zal de taaltechnologische software eerst de zinnen moeten ontleden en de onderlinge samenhang in beeld moeten brengen.

De taaltechnologie
In de taaltechnologie wordt onderscheid gemaakt naar drie niveaus:

Om functies als samenvatten, anonimiseren en dergelijke te kunnen uitvoeren zal de taaltechnologische software eerst de zinnen moeten ontleden en de onderlinge samenhang in beeld moeten brengen.

De taaltechnologie
In de taaltechnologie wordt onderscheid gemaakt naar drie niveaus:

  1. Woordniveau
  2. Zinsniveau
  3. Tekstniveau

Woordniveau
Taaltechnologie op woordniveau bestaat al jaren. Taaltechnologie op woordniveau is mogelijk, doordat losse woorden kunnen worden onderkend door op zoek te gaan naar komma’s, punten, puntkomma’s, vraag- en uitroeptekens en spaties. Zo kunnen tekstverwerkers gebruikers ondersteunen bij het gebruik van synoniemen, automatische woordafbreking en taal- of typefouten.
Ook bestaan er op woordniveau systemen die op basis van een vooraf gedefinieerd patroon paspoortnummers, kentekens, banknummers etcetera kunnen herkennen.
Ook postverwerkende systemen kennen dergelijke toepassingen. Ten eerste wordt ingesteld dat de NAW-gegevens van de afzender zich linksboven in de brief bevinden, zodat de regio waarbinnen de software moet zoeken beperkt blijft. Vervolgens wordt bijvoorbeeld gezocht naar een postcode, die moet voldoen aan het formaat (of patroon) 9999 AA (4 cijfers, 2 letters). Dan is ook bekend dat het woord achter de postcode een plaatsnaam moet zijn – dit kan eventueel nog aanvullend worden gecheckt in een plaatsnamenregister –, en dat hierboven een straatnaam en een huisnummer moet staan.
We spreken van taaltechnologie, maar de taalintelligentie is zeer beperkt.

Zinsniveau: syntaxis
Een grote stap voorwaarts is het ondersteunen van taal op het niveau van zinnen. Losse zinnen kunnen goed worden onderkend, al gaat de problematiek iets verder dan het definiëren van een zin als alle woorden die tussen twee punten in staan (eerste zin van een alinea, opsommingen, etc.).
Om een zin goed te kunnen interpreteren is een syntactische analyse noodzakelijk. Bij syntaxis wordt een zin (redekundig) ontleed, eigenlijk zoals we dit vroeger op school hebben geleerd. Zo bestaat een zin allereerst uit een onderwerp en gezegde. Vervolgens worden deze componenten tot op het woord ontleed. Dit is de topdown benadering. Tegelijkertijd worden de individuele woorden getoetst aan een woordenboek, of de ontleding juist is geschied.
Een voorbeeld: de zin ‘ik zie rook’, wordt ontleed in ‘ik’ (onderwerp) en ‘zie rook’ (gezegde), waarna het laatste verder wordt ontleed naar werkwoord en zelfstandig naamwoord. De controle die dan plaatsvindt, is of ‘ik’ en ‘zie’ van gelijke orde zijn (beide eerste persoon enkelvoud). Voor ‘rook’ krijgt de controle twee antwoorden, namelijk een zelfstandig naamwoord en een werkwoord (verleden tijd). Slechts ‘rook’ in de betekenis van een zelfstandig naamwoord past in de zinsconstructie.
Deze technologie wordt in de praktijk toegepast bij bijvoorbeeld automatische beantwoording van e-mails. Zo kan op een zin uit de oorspronkelijke e-mail ‘ik heb een vraag over de prijs’ volautomatisch een antwoord gegenereerd worden, bijvoorbeeld in de vorm ‘ik begrijp dat u een vraag heeft over de prijs’. ‘Ik begrijp’ is zeer neutraal en wordt dan ook ingezet om te reageren op vragen, problemen, opmerkingen. Nog steeds is de taalintelligentie beperkt.

Tekstniveau
De laatste stap is een stap die de laatste jaren echt een vlucht heeft genomen. De reden hiervoor is dat met laptops en desktop computers die genoeg power hebben voor games en het bewerken van video’s, er ook genoeg computerkracht is om met taalintelligentie te werken.
Bij tekstniveau wordt er ‘kennis van de wereld’ opgebouwd. Kennis van de wereld kan hierbij letterlijk worden genomen, omdat computers kunnen worden gevoed met letterlijk miljoenen stukken tekst die via internet beschikbaar zijn gesteld. Maar kennis van de wereld kan ook betekenen ‘kennis van een wereld’, indien een klant geïnteresseerd is in opbouw van kennis van een specifiek domein, bijvoorbeeld het juridische domein. Het systeem wordt dan alleen gevoed met juridische teksten, zoals rechtbankvonnissen. Wederom wordt er wel gevraagd om grote aantallen teksten om de kennis van dit juridische domein op te bouwen. Hoe kleiner het domein, hoe lager het aantal voorbeeldteksten, maar ook hoe specifieker de content en uiteraard hoe specifieker de toepasbaarheid van de taaltechnologie.
Het systeem leest teksten en onderkent daarbij patronen van woorden die vaak in elkaars nabijheid worden gebruikt. Zo zal na het voeden van veel teksten het systeem bijvoorbeeld de relatie hebben weten te leggen tussen timmerman, hamer en spijker. Hoe vaker deze combinatie voorkomt en hoe dichter de woorden bij elkaar voorkomen, dus liefst binnen één zin, hoe sterker de correlatie tussen deze woorden wordt.
De regels die worden onderkend steunen op fuzzy logic. In het bovenstaande kan met de zin ‘Jan sloeg de spijker met een hamer in de plank’ worden geconcludeerd dat Jan in deze zin de rol van timmerman vervult, met een waarschijnlijkheid van zo’n 89%. Dit laatste percentage is dus afhankelijk van het aantal keren dat de relatie gelegd kon worden binnen de voorbeeldteksten.
Dergelijke systemen zijn lerende systemen. Doordat de bovenstaande zin ‘Jan sloeg de spijker met een hamer in de plank’ wederom een bevestiging is van de relatie tussen spijker en hamer, zal het systeem een volgende keer wellicht een hoger percentage dan de 89% kunnen hanteren.
De fuzzy rules beïnvloeden elkaar. Als het systeem ook is gevoed met veel teksten waarbij spijkers door middel van klompen in planken worden bevestigd, verlaagt dit de kans dat spijker een relatie heeft met hamers, immers, de relatie tussen spijkers en klompen is ook erg sterk. De mate waarin het systeem dan een eenduidige conclusie kan trekken is hierdoor verminderd.

Nieuwe mogelijkheden
Met deze stand van de taalintelligentie is nu veel mogelijk. Zo kunnen er nu ‘slimme zoekmachines’ worden ingezet1 en kunnen teksten worden geanonimiseerd2 en gepseudonimiseerd. Ook kunnen taaltechnologische systemen nu volautomatisch een samenvatting verzorgen. Deze samenvatting worden vaak geïncorporeerd in zoekmachines om de gebruiker een eerste indruk te geven of de gevonden website inderdaad de content bevat, waarnaar hij of zij op zoek is.
Google heeft tegenwoordig een zeer redelijke kwaliteit van de vertaling van webpagina’s.
Een steeds belangrijkere toepassing van taaltechnologie is metadateren of categoriseren. Zeker nu de OCR-technologie zover is om met een grotere betrouwbaarheid papieren archieven te scannen en om te zetten naar voor computers leesbare karakters. Dit is immers een randvoorwaarde om taaltechnologie te kunnen loslaten op papieren archieven.
Het vraagstuk van categoriseren of metadateren is voor veel organisaties een lastig vraagstuk, omdat men al doende leert. Tijdens het categoriseren kom je erachter dat het opsplitsen, samenvoegen of toevoegen van rubrieken wellicht toch handiger was geweest: voortschrijdend inzicht. In oude systemen moest je dan ofwel opnieuw beginnen, om te bezien of de gemaakte keuzes volgens de oude rubricering nog wel de juiste waren. Of men ging gewoon door, met als consequentie dat er een inconsistentie was in de wijze van rubricering. Met de nieuwe taaltechnologie is dit probleem verholpen, het zijn immers lerende systemen. Als men er halverwege achter komt dat een andere rubricering beter is, dan wordt het systeem getraind met enkele tientallen voorbeelddocumenten voor die nieuwe rubriek. Vervolgens worden al gecategoriseerde documenten simpelweg nogmaals door het systeem gecategoriseerd volgends de nieuwe indeling.
Vervolgens kunnen er ook semantische relaties worden gelegd tussen documenten. Zo is er schrijfondersteuning voor auteurs. De auteur schrijft aan een document, het systeem categoriseert op de achtergrond de onderhavige tekst, nog steeds in opbouw. Tevens legt het systeem de relatie met reeds gecategoriseerde documenten op basis van de content van het onderhanden werk. Zo kan de auteur ‘doorklikken’ naar relevante documenten, voor inspiratie, voor bronvermelding.
Hetzelfde fenomeen wordt gebruikt bij het bezoeken van websites. Er wordt gevolgd aan de hand van welke pagina’s een websitebezoeker aanklikt, welke documenten hij of zij downloadt, hoelang hij ernaar kijkt, wat zijn specifieke interesse is. Dit profiel wordt vergeleken met de aanwezige (metadata van de) content van overige webpagina’s. Bij iedere ‘doorklik’ op de website wordt meer informatie over het profiel van de bezoeker geregistreerd en wordt dus steeds meer op dit profiel toegespitste content (vervolgpagina’s op de website) getoond.

ton@thinklegal.nl, Ton van der Stap is directeur van Think Legal (www.thinklegal.nl).
bart.meily@content2context.com, Bart Meily is directeur van Content2Context, v/h Carp Technologies (www.content2context.nl).



1 Zie Od, jaargang 64, oktober 2010, #10.
2 Zie Od, jaargang 65, maart 2011, #3.