Alliteratiefilter
In het plaatje het resultaat van een script dat zinnen controleert op alliteratie, in dit geval van de transcripties van de troonredes van 2014 en 2015. Ik heb de input beperkt tot zinnen tot 14 lettergrepen, maar evengoed is duidelijk dat de koning niet extreem graag allitereert in zijn eerste troonredes.
De code van de quick & dirty alliteratie-check in Python:
def alliteration_check(sentence):
firstletters = []
for word in (sentence):
if word not in ['de', 'van', 'het']:
firstletters.append(word[0])
if len(firstletters) > len(list(set(firstletters))):
return True
Het script veronderstelt dat je zinnen als list van woorden invoert. Het zet de eerste letters van de woorden één voor één in een nieuwe list genaamd ‘firstletters’. Een uitzondering wordt gemaakt voor algemene korte woordjes zoals ‘de’, ‘van’ en ‘het’. Door van de list een set te maken, verwijder je dubbele resultaten. Door de lengte van de oorspronkelijke lijsten van ‘firstletters’ te vergelijken met de van duplicaten geschoonde lijsten, weet je welke zinnen dubbele beginletters oftewel alliteraties bevatten. Deze krijgen het resultaat ‘True’, voor verder gebruik in een programma.
Het resultaat met de troonrede van 1989:
hiermee worden goede vorderingen gemaakt
op een aantal terreinen doet ons land het zelfs beter
dat is 2 procent per jaar in de periode 1984–1989
voortzetting van deze groei is van groot belang
het mediabeleid staat sterk in de belangstelling
Juliana’s rede van 1975 levert slechts deze heptameter op:
een wetsontwerp geluidhinder wordt spoedig ingediend
1969 levert het mooie distichon:
de vrijheid was herwonnen de democratie hersteld
het vertrouwt daarbij uw steun te verwerven
