Kan een robot een tekst schrijven

De computer is dom. Maar hij blijft niet dom. In het begin heeft de computer geen enkel idee wat een woord betekent. Maar laat hem honderdduizenden teksten analyseren, en op het einde zal hij weten dat ‘balpen’, ‘schrijven’, ‘stylo’, ‘pen’, ‘potlood’ semantisch met elkaar verwant zijn. Die analyse doet de computer aan een razendsnel tempo. In deze blog gaan we in slow motion na wat een computer eigenlijk doet met een woord om de betekenis te achterhalen.

Stap 1: woorden worden tokens

Voor een machine bestaan er geen woorden. Elk woord is een formele representatie die is samengesteld uit een eindig aantal letters uit een alfabet. Allemaal data eigenlijk. Een woord wordt een token. Een zin een sequentie bestaande uit een set van tokens. Vanaf nu gaat het enkel over tokens (woorden) en sequenties (zinnen). De taal als exacte wetenschap. Een machine learning computer (ML-bot) gaat dus in een eerste fase honderdduizenden teksten verwerken en analyseren.

Stap 2: tokens worden geclassificeerd naar betekenis

Elk token wordt gepresenteerd op een wiskundige manier: als een punt op een x-y -as. Elk token heeft een unieke plaats in het assenstelsel. Elk woord krijgt dan zo’n punt op x-y -as en ziet eruit als twee dimensies, maar in realiteit zijn dat honderdduizenden dimensies die erachter schuilen. Het resultaat van die tokens stuurt de computer door naar een neuraal netwerk, waar een nieuwe berekening start.

En dit doet hij duizenden keren na elkaar waarbij op een bepaald moment soortgelijke tokens dichter bij elkaar schuiven in de matrix. Zo zullen de tokens pen, stylo, balpen, schrijfstok, potlood … dichter bij elkaar liggen. Ze behoren als het ware tot hetzelfde semantische veld.

De machine weet nu dat die woorden ongeveer hetzelfde betekenen. Op basis van die input leert de computer wat de betekenis is van elk woord uit je zin. Vervolgens haalt hij als het ware de grootste gemene deler boven, en classificeert hij een bepaald set van woorden onder dezelfde betekenis. Op onderstaande afbeelding kun je zien dat het woord ‘king’ en ‘queen’ op dezelfde manier gelinkt zijn als ‘man’ en ‘woman’, ze verschillen namelijk op dezelfde manier (namelijk: geslacht).

semantische representatie van 'man' en 'vrouw'
Figuur 1. semantische representatie van ‘man’ en ‘vrouw’

Belangrijk: De machine doet alles zelf. Er is geen menselijke tussenkomst om de betekenis vast te leggen.

Stap 3. Een woord krijgt pas betekenis door zijn positie in de zin

De betekenis van een token heeft de computer ondertussen achterhaald. Maar je weet ook: een woord krijgt pas een betekenis in combinatie met andere woorden in de zin. Zo zal het woord ‘ezel’ in combinatie met ‘schilderen’ in een ander semantisch veld liggen dan hetzelfde woord ‘ezel’ maar dan in combinatie met ‘boerderij’.

Om de betekenis van een zin te achterhalen wordt er op een sequentiële manier berekend. Zo werkt het: de machine begint met de berekening van de eerste token (eerste woord van de zin). Als hij dat afgerond heeft dan gaat hij die output meenemen in de berekening van de tweede token (tweede woord van de zin). Daarna gaat hij naar de derde … enz. Zo krijg je een sequentiële berekening van al de tokens (de hele zin).

Stel dat we deze zin hebben:
De (1) nieuwe (2) medewerker (3) start vandaag op het werk

Eerst volgt de analyse van ‘de’. ‘De’ wordt gedefinieerd als een vaak voorkomend inhoudsloos woord vlakbij een adjectief of substantief. Nadien komt ‘nieuwe’. De computer heeft geleerd dat ‘nieuwe’ hier kan fungeren als adjectief voor een substantief. En dat de hoofdbetekenis van een zin vaak zit in een substantief. Zo gaat hij naar ‘medewerker’ (3) enz. …

Op basis van die sequentiële berekening maakt de machine ook een onderscheid tussen inhoudsrijke en inhoudsloze woorden. Zo zal het eerste token (De) dichtbij het nulpunt op de matrix liggen omdat het weinig betekenis heeft.

De semantisch rijke woorden krijgen een specifieke richting, waarbij de machine weet dat de hoofdbetekenis van de zin komt van deze woorden. ‘De’ komt voor in zoveel verschillende contexten dat het geen specifieke betekenis heeft. Werkwoorden en substantieven zijn vaak inhoudsrijke woorden. Maar ook een woord zoals ‘gratis’ is al veel specifieker en krijgt een dominantere waarde in de berekening.

Laten we er nog even dieper op ingaan. Want soms zijn kleine nietszeggende woorden, net veelzeggend voor de hele context. Denk aan de structuurwoorden bij neven- en onderschikkingen: en, dus, maar, want … zijn inhoudsloze woorden, maar kunnen wel de betekenis van de zin bepalen. Zo is ‘maar’ een tegengesteld voegwoord dat de betekenis van het woord een compleet andere draai kan geven.

Voorbeeld: De opleiding is gratis, maar niet vandaag.

Klopt, hier is ‘maar’ een belangrijk woord – maar dat heeft hij geleerd doorheen de training. Hoe weet hij dat dit een dominant woord is? Dat hangt af van de taak die je hem gegeven hebt. Je traint de machine op een taak. Het woordje ‘maar’ kan hij al vrij goed voorspellen. Zo is hij getraind op zinnen waarbij het woordje ‘maar’ is weggelaten. Aan de robot de uitdaging om telkens het juiste voegwoord toe te voegen.

De machine voegt zowel semantiek als syntaxis toe. Zo herkent hij niet enkel dat ‘gaan’ een werkwoord is maar de bijbehorende vervoegingen ‘gaat’, ‘ga’ clustert hij samen.


AI AI HOERA!?

Meer van dit? Kom op donderdag 21 november naar AI AI Hoera!? De Scriptorij conferentie over de impact van artificiële intelligentie op copy en communicatie. En Scriptorij bestaat 15 jaar! De plaatsen zijn beperkt. Snel zijn is de boodschap.

Meer lezen? Kom hier alles te weten over

Of herbeleef de conferentie in tekst en beeld