Je leest:

De voorspelbaarheid van taal

De voorspelbaarheid van taal

Auteur: | 12 april 2010

Soms kan het erg moeilijk zijn je gesprekspartner netjes uit te laten spreken, vooral als je al op je klompen aan voelt komen wat hij zal gaan zeggen. Taal is nu eenmaal soms best voorspelbaar. Ontwikkelaars van luisterende en sprekende computers kunnen hier handig gebruik van maken.

Taal is niet bepaald willekeurig. Als je bijvoorbeeld al de letters carnava.. voor je ziet, weet je dat je op de puntjes waarschijnlijk een l kunt verwachten. En na het lezen van br… verwacht je hoogstwaarschijnlijk geen k. Niet alleen op letter-niveau, maar ook op woordniveau is de afloop soms goed te voorspellen. Na ‘met terugwerkende …’ verwacht je ‘kracht’ en na ‘het is veel te …’ volgt waarschijnlijk een bijvoeglijk naamwoord (bv ‘heet’ of ‘kort’) en geen zelfstandig naamwoord (bv ‘fiets’ of ‘brood’).

Medium
Ook al is een woord (of zin) niet compleet, vaak heb je wel een vermoeden wat er staat of wat er gezegd zal worden.

Wij mensen maken zonder dat we het doorhebben handig gebruik van deze voorspelbaarheid. Doordat we verwachtingen hebben over wat onze gesprekspartner zal zeggen, kunnen we hem ook beter verstaan. Als hij vervolgens iets zegt wat we op basis van de context totaal niet hadden zien aankomen, is de kans groter dat we hem niet verstaan. Sprekende en luisterende computers die ook over zulke verwachtingen beschikken, werken – net als mensen – beter dan wanneer elke volgende letter of woord volstrekt willekeurig is.

God shave the queen

Small
worth1000.com

Toen spraak- en taaltechnologen dit halverwege de jaren 80 beseften veranderden zij hun koers. Tot dan toe hadden ze altijd geprobeerd om taal te vatten in regels en woordenlijsten, maar de resultaten hiervan waren niet wat ze ervan gehoopt hadden. In plaats van een theoretisch taalmodel gingen ze werken aan statistische taalmodellen. Deze taalmodellen hebben eigenlijk geen ‘verstand’ van taal, maar kunnen op basis van ervaring berekenen wat de kansen zijn voor verschillende woord- of zinsverlopen.

Onder leiding van Frederic Jelinek ontwikkelden techneuten van het Thomas J. Watson Research Center van IBM de eerste statistische taalmodellen voor het Engels. Deze modellen konden bijvoorbeeld aantonen dat ‘God save the queen’ in het Engels een stuk waarschijnlijker is dan ‘God shave the queen’ of ‘God save the queer’. Een spraakherkenner hoefde vanaf toen niet meer alleen uit te gaan van de klank die hij waarnam, hij kon ook gebruik maken van de kansen op verschillende zinsverlopen.

N-gram

Hoe maken taal- en spraaktechnologen zo’n statistisch taalmodel? Ten eerste hebben ze een hele hoop trainingsmateriaal nodig, zodat de kansberekeningen op voldoende data gestoeld zijn. Deze data moeten de technologen zorgvuldig selecteren; het moet wel geschikt zijn voor de uiteindelijke toepassing. Zo moet een taalmodel dat gebruikt zal worden in een spraakherkenner getraind worden met gesproken taal, soms zelfs met alle onvloeiendheden die spontane spraak ook heeft. En een taalmodel voor vertaalsoftware zal juist moeten trainen met geschreven taal, misschien zelfs specifiek over één onderwerp waar de vertaalsoftware ook voor zal zijn.

Small
h3. Word Salad Wetenschappers van de Universiteit van Tilburg ontwikkelden het statistische taalmodel WOPR. Op basis van dit model kan een computer o.a. zelf zinnen genereren in het Nederlands, Engels of Zweeds. Hij kiest het volgende woord steeds op basis van de voorafgaande woorden. Dit kan natuurlijk ook een punt zijn; dan begint hij gewoon aan een nieuwe zin. Na tien zinnen stopt de demo en kan je met F5 een nieuwe reeks zinnen laten genereren. De Nederlandse versie is getraind op 1 miljoen regels krantentekst. Er is inhoudelijk geen kaas van te maken, maar de demo’s kunnen prima een eind in de ruimte kletsen.

Als het trainingsmateriaal is geselecteerd zullen de woorden zo geteld moeten worden dat woordvoorspelling op basis van de voorafgaande woorden mogelijk is. Hier gebruiken de taalkundigen het n-gram-model voor. De n staat hierin voor het aantal woorden dat in de analyse telkens als eenheid genomen zal worden. Bij een 2-gram (of bigram) zijn dit steeds twee woorden, dus ‘Ik loop’, ‘loop naar’ en ‘naar school’. Bij een 3-gram (of trigram) zijn dit er juist drie, dus ‘ik loop naar’ en ‘loop naar school’. In een n-grammodel wordt de kans op het volgende woord steeds berekend op basis van de n-1 voorafgaande woorden.

Hoe groter n dus is, hoe beter je kunt voorspellen wat het volgende woord zal zijn. Op basis van één woord (in een bigram) is de keus vaak groot, behalve bij woorden als ‘Verenigde’. Op basis van 8 woorden (in een 9-gram) is het vaak al een stuk makkelijker, tenzij het 8e woord net een punt is en er dus een nieuwe zin begint. Toch werkt het niet helemaal zo. In het trainingsmateriaal moeten de verschillende woordvolgordes namelijk wel vaak genoeg voorkomen om een statistisch verantwoord taalmodel te kunnen maken. Hoe groter je dus de n kiest, hoe minder vaak dezelfde eenheid aan woorden voorkomt in je trainingsdata en hoe moeilijker het is om nauwkeurig kansen te berekenen. Taal- en spraaktechnologen kiezen daarom meestal voor de middenweg: het trigram-model. Dit model voorspelt het volgende woord op basis van de 2 voorafgaande woorden.

Entropie

Een goed taalmodel weerspiegelt dus de voorspelbaarheid van een taal. En deze voorspelbaarheid is meetbaar. Informatietheoretici als Claude Shannon hebben hiervoor entropie ontwikkeld: een maat voor onzekerheid. Hoe hoger de entropie van een taal, hoe groter de onzekerheid (en hoe kleiner de voorspelbaarheid). Deze entropie wordt, zoals het informatici betaamt, weergegeven in bits. Eén bit betekent twee mogelijkheden: 1 of 0. Een taal met maar twee letters (A en B) die in elke willekeurige volgorde kunnen voorkomen, heeft dus een entropie van 1: de volgende letter zal óf A zijn óf B. Er is dus één bit nodig om de onbekende letter te coderen.

Small
h3. Toepassing Taal- en spraaktechnologen gebruiken de maten voor entropie en perplexiteit onder andere om de kwaliteit van een taalmodel te bepalen. Zo kunnen verschillende taalmodellen ontwikkeld voor dezelfde toepassing makkelijk met elkaar vergeleken worden.

Als we de leestekens voor het gemak even buiten beschouwing laten, is in het Nederlands de volgende letter altijd één van de 26 letters uit ons alfabet of een spatie; dat zijn dus 27 mogelijkheden. Hier zijn 5 bits voor nodig: 25 = 32, of iets nauwkeuriger 4,75 bits, want 2log 27 = 4,75. Dit betekent dus dat je een rij van 100 willekeurige letters en spaties kunt weergeven met 475 bits. Maar zoals we aan het begin al hebben vastgesteld is taal niet willekeurig, maar voorspelbaar, en moet de entropie van het Nederlands dus lager liggen dan 4,75.

Hoeveel lager precies is onbekend, maar voor het Engels weten we de entropie wel ongeveer: 1,25 bits. Dat betekent dus dat je in het Engels gemiddeld 21,25 = 2,4 keuzemogelijkheden hebt voor de volgende letter. Soms zal het meer zijn, bijvoorbeeld aan het begin van een zin, en soms juist minder, zoals aan het eind van een lang woord. Dit getal wordt in de informatietheorie perplexiteit genoemd. Hoe lager de perplexiteit van een taalmodel is, des te minder keuzemogelijkheden en des te beter het taalmodel is.

Zelf berekenen

De entropie en perplexiteit van een taalmodel kunnen op twee manieren worden berekend: voor woorden (gebaseerd op n-grams) of voor letters. Dit laatste kun je bijvoorbeeld doen via onderstaand spelletje. Typ telkens de volgende letter (of spatie) die je verwacht. Onderaan staan de letters waar je nog uit kunt kiezen en onder de streepjes zie je hoe vaak je gegokt hebt. Met de knop linksonder kun je de entropie berekenen. Hoe langer je het spel speelt, hoe nauwkeuriger deze berekend kan worden.

Dit spel is ontworpen op basis van de Engelse variant, ontwikkeld door David Little en Adriano Garsia. Met dank aan Patrick Wambacq en Antal van den Bosch.

Lees verder

Oeps: Onbekende tag `feed’ met attributen {"url"=>"https://www.nemokennislink.nl/kernwoorden/stevin.atom", “max”=>"5", “detail”=>"normaal"}

Dit artikel is een publicatie van NEMO Kennislink.
© NEMO Kennislink, sommige rechten voorbehouden
Dit artikel publiceerde NEMO Kennislink op 12 april 2010

Discussieer mee

0

Vragen, opmerkingen of bijdragen over dit artikel of het onderwerp? Neem deel aan de discussie.

NEMO Kennislink nieuwsbrief
Ontvang elke week onze nieuwsbrief met het laatste nieuws uit de wetenschap.