leidenlanguageblog

Van lettersoep tot sonnet

Van lettersoep tot sonnet

Kan je met AI binnenkort de pennenvruchten van Shakespeare evenaren?

Wat er tegenwoordig allemaal met Artificiële Intelligentie kan op het vlak van taal is verbluffend: met slechts een paar regels programmeercode kan je op je eigen computer een zogenaamd ‘neuraal netwerk’ aanleren om gloednieuwe 17de eeuwse sonnetten te schrijven.

Tegenwoordig komt er haast om de haverklap weer een nieuw taalmodel op de markt dat door deep learning – om een term die even heel sexy was te gebruiken – ertoe in staat is om bijna foutloos tweets of zelfs hele nieuwsartikelen te schrijven. Ik volg die ontwikkelingen altijd met hele grote belangstelling. Het is alleen zo jammer dat die taalmodellen bijna nooit gemaakt zijn om te schrijven in de talen van vroeger.

Het is natuurlijk niet zo dat er helemaal niets gebeurt met Artificiële Intelligentie en historische taal. In 2019 bracht het Rijksmuseum, in samenwerking met medewerkers van de Universiteit Leiden, een reconstructie van de stem van Rembrandt naar buiten, en in 2020 kwam er het wonderlijke (en onbedoeld hilarische) nieuws dat Britse wetenschappers erin geslaagd waren om te laten horen hoe de stem van een drieduizend jaar oude mummie geklonken zou hebben. Maar het is niet zo dat die mummie dan ook meteen weer nieuwe zinnen gaat produceren. Op de vraag hoe de taal van die 3000 jaar oude mummie dan klonk, is het enige antwoord dat we voorlopig hebben “eeeeih”.

Toch bestaan er ook systemen die woorden en nieuwe zinnen kunnen vormen in talen van het verleden. Maar hoe leren ze dat? Om daarachter te komen, ging ik zelf eens aan de slag met een simpel neuraal netwerkje dat nieuwe Shakespeariaanse sonnetten kan maken.

Leeralgoritmes

Er bestaan op het internet natuurlijk al jaren websites die beweren dat ze nieuwe Shakespeariaanse sonnetten voor je kunnen maken. Je wordt dan gevraagd om een paar willekeurige woorden in te vullen (twee kleuren, je lievelingsdier en je beste eigenschap), en dan krijg je een ‘nieuw’ sonnet:

[1] Shall I compare thee to a [yellow] [cat]?
[2] Thou art more [pink] and more [intelligent].
[…]

Het neurale netwerkje waar ik mee aan de slag ging – laten we haar ‘Shakesbot’ noemen – werkt daarentegen helemaal anders. Waar je op zulke websites zelf woorden moet invoeren die dan in een vast, vooraf gemaakt patroon worden gezet, zeg je tegen een leeralgoritme als Shakesbot in feite alleen: “Hier zijn een hoop sonnetten. Maak me er nu ook maar een.”

Als je aan onze Shakesbot 154 sonnetten van Shakespeare geeft als voorbeeld, dan gaat ze daar meteen mee aan de slag om nieuwe, al dan niet geslaagde sonnetten te produceren. En bij de eerste pogingen gaat dat echt heu-le-maal mis. Wanneer Shakesbot begint met het verwerken van de voorbeelden te weet ze namelijk nog absoluut niets over taal – laat staan over sonnetten – behalve dat ze gebruik mag maken van letters, leestekens en spaties. Het eerste Shakesbot-sonnet moet dus begrepen worden als een vrijwel willekeurige gok over welke letters en tekens op elkaar kunnen volgen:

e dtiaatucewemtritdh cdse otr.erh tm
yo ac slh
ryesah u hadateha hbchltoas oq

t h mea tu snntwarwgnyna,hutdsmhdwse:huoh,ghcdvnstn i
n?,lslhii,ewsn ee ,osst p,atrogo esenreitoooeti uul
mfa ms ross
m
fanl ssbsgl es
sir hpst ei ,tamekd irehon ear taa',oeoter c wlmr-utoothberii ymp qmrt hu,eej
saidohnecn hnwmert frwmesetoroo ftcrargtatao xoy srr eed

Als sonnet is dat op z’n zwakst gezegd nogal avant-garde, maar het is toch iets van een vertrekpunt dat het leeralgoritme dan kan vergelijken met voorbeeldsonnetten. En vervolgens doet Shakesbot weer een nieuwe poging, die hopelijk wat beter loopt.

Shakespeare leren in 90 minuten

Ongeveer 38 minuten en 32 probeersels later lijkt Shakesbot geleerd te hebben dat er maar één spatie tussen een reeks letters moet komen, en er duiken ook steeds meer lettercombinaties op die op echte zestiende-eeuwse Engelse woorden lijken (thou en thy en zelfs word!). Maar toch is het nog wat lettersoep: het algoritme heeft bijvoorbeeld nog niet geleerd dat de letters m en r niet na elkaar kunnen voorkomen, en de regellengte laat ook te wensen over.

oud be out on beath hou the hourt the seeld dos beare sede then thing ou thee the mile,
and in the wind to thy nove stouch nour mroul,
in in seat thou his thy word,
thou so his the cealle the maine
whese love the brich my ake the eame the suest.

fand in the beatl be ay me wart the ive the ared
be the bed hear or the beate,
ben chis she i bending,
doad that love thee sint a dour i mime i se thou hom sate saarthind ar woml whis this
ming tare searlos that hand the the wime ans in in thy ca mees mime hat on and bind
shoull and

Na ongeveer 58 pogingen is het voorstel van Shakesbot nog steeds verre van een pakkend sonnet. Maar ze heeft inmiddels wel al beter begrepen dat een sonnet 14 dichtregels heeft, van vergelijkbare lengte:

And do to me that thing the one greate
the beast be alive with though the more,
and thee the heart brace the grieved a toone
to the crowne on thine ass on thee that weest,
hence wher the dead sine my beard.

The love that I ow that I make the trees wet,
thou arte not my farte but thee hour of thee

The will rich the beauty the fevered fare,
and chase an the chin grace though my beard,
what the heart still the soul thee,
the fast steed whince thee and my seed,
and that what she calls the court in shame when thee soul
the saintes of thou shaved heart, as the steed,
the

Toegegeven, er is hier geen grammaticale zin te bekennen. En verder is het ook wat vreemd dat Shakesbot besloten heeft dat beard, steed en ook ass en fart goede woorden zijn voor een Shakespeariaans sonnet. Maar toch: bijna alles in dit sonnet zou een echt zestiende-eeuws woord kunnen zijn.

Uiteindelijk heeft het de simpele Shakesbot slechts een uur en 20 minuten gekost om van lettersoep tot (een weliswaar mislukt) vroegmodern sonnet te gaan. Je kan je dus wel voorstellen dat wat lijviger algoritmes die veel langer en met veel meer voorbeelden aan het leren gaan veel betere resultaten opleveren – zoals de makers van Deep-speare al lieten zien. En zelf ben ik inmiddels ook aan de slag met een grootschalig neuraal netwerk, MacBERTh. Dat maakt weliswaar geen nieuwe sonnetten, maar helpt me wel om het Engels van vroeger efficiënter te onderzoeken. En wie weet wat er binnenkort nog allemaal mogelijk wordt. Talen uit het verleden hebben, kortom, een mooie toekomst.