Ik was een avondje sonnetten uit de DBNL vissen

Door Marc van Oostendorp

Het feit dat de DBNL nu eindelijk een paar duizend bestanden uit het publieke domein heeft geopenbaard in het xml-formaat waarin ze deze ook zelf gebruikt – zonder opmaak, maar met een duidelijke structuur – heeft de oude computerprogrammeur in me wakker gemaakt. Eindelijk ben je niet langer afhankelijk van de tamelijk elementaire zoekmachine die de DBNL heeft.

Niet dat ik nu zo’n geweldige programmeur ben; maar met wat eenvoudige handgrepen heb ik toch al wat aardigs gevonden: de meer dan 200 canonieke sonnetten (dat wil zeggen: sonnetten die geschreven zijn volgens het schema abba abba ccd eed). Ze staan hier, met een verwijzing naar de bestanden waar ze uit komen.

Het is allemaal betrekkelijk primitief. Een eerste script vist uit al die xml-bestanden de sonnetten die uit veertien regels bestaan. Daar zit nog allerlei onzin bij, wat soms wordt in de DBNL bijvoorbeeld de naam van de auteur onder een gedicht als een normale regel behandeld. Echte sonnetten worden dan te lang (15 regels) terwijl sommige eigenlijk 13-regelige gedichten ineens sonnetten worden. Ik weet niet hoeveel dit er alles zijn, maar ik heb de indruk dat het er niet héél veel zijn.

Het tweede script bepaalt van ieder gedicht het rijmschema. Ook dit werkt behoorlijk primitief: twee woorden rijmen als ze op dezelfde letterreeks eindigen, te beginnen bij enige klinker in de twee woorden. Met allerlei spellingvariatie wordt op enkele uitzonderingen na (kruid ruimt op luit) geen rekening gehouden. Ook hier valt er dus een en ander weg.

Desalniettemin vind je met een avondje knutselen al een aardig resultaat, namelijk dat abba abba ccd eed echt de dominante vorm is van het Nederlandse sonnet, In concreto zijn dit de meest voorkomende rijmschema’s van Nederlandse gedichten (de getallen geven absolute aantallen weer):

aabbccddeeffgg 155
aabbccddeeffgh 21
aabbccdeffgghh 12
aabccbddeffegg 13
ababcdcdefefgg 29
abbaabbaccdccd 28
abbaabbaccdede 22
abbaabbaccdeed 220
abbaabbaccdeef 13
abbaabbaccdefd 11
abbaabbacdecde 14
abbaaccaddeffe 17
abbacbbcddeffe 12
abbacddceffegg 34
abbccbbcddeffe 15
abccbbccbddeffe 16
abccddeeffgghh 14

Zoals te zien is zijn er maar twee echt grote patronen: wat ik daarnet het canonieke sonnet heb genoemd, en aabbccddeeffgg, met andere woorden gepaard rijm. De laatste zijn gedichten die je normaliter geen sonnetten zou noemen.

Er zitten ook nogal wat vormen in die lijken op een van deze twee, met een enkele afwijking van een regel die niet lijkt te rijmen: abbaabbaccdeef en abbaabbaccdefd zijn zulke varianten van het canonieke sonnet, aabbccddeeffgh, aabbccddeefghh, aabbccddefgghh en abccddeeffgghh van het gepaarde rijm. Wat hier waarschijnlijk steeds is gebeurd is dat een echt rijmpaar door een of andere spellingvariatie (geleên rijmt op heen) niet is herkend.

Dan zijn er nog wat rijmschema’s die niet van sonnetten lijken, zoals aabccbddeffegg en dan allerlei variaties op het canonieke sonnet, vooral in het laatste sextet. Wat dit mini-onderzoekje goed laat zien is hoe klein de invloed van het zogeheten Shakespeareaanse sonnet op de Nederlandse dichtkunst is geweest. Dat heeft de vorm abbacddceffegg en daarvan vinden we er maar 34 in dit corpus van 560 sonnetten. Een heleboel daarvan blijken bij nadere inspectie uit hetzelfde bestand te komen (de gevonden Shakespeare-sonnetten staan hier).

Ik ben niet ontevreden over wat je met een beetje prutsen voor elkaar kunt krijgen. Maar er zijn nog allerlei wensen. Er is dus het probleem van de spellingvariatie; bovendien bepaal ik nu het rijm zonder te weten waar de klemtoon ligt. Dit betekent dat er als er geen betere kandidaten zijn kan worden beslist dat haren eindigt op vinden, want ze eindigen beiden op –en. Ook kun je wel de titel en de auteur van het boek bepalen waarin het sonnet staat, maar veel lastiger die van de schrijver van het sonnet zelf, als dit iemand anders is dan de auteur van het boek, zoals in bloemlezingen.

Ik wil mijn vaardigheden in dezen graag perfectioneren, maar ik zou ook eigenlijk graag iedereen willen oproepen om dit soort scripts die de DBNL op wat voor manier dan ook doorvlooien met elkaar te delen. Amateurs zoals ik! Of professionals zoals jij!

Ik zal mijn DBNL-Pythonscripts bij elkaar plaatsen op GitHub.