Centonista

Zobacz wszystkich autorów.

Autor programu: Marcin Ciura

Na etapie przygotowywania danych Centonista wydobywa z korpusu tekstów zestroje akcentowe, czyli wyrazy lub zbitki wyrazów o wspólnym akcencie. Za szczególny zestrój uważa również kropkę stojącą na końcu zdania. Dla każdego zestroju zapamiętuje jego najczęstszy zapis małymi lub wielkimi literami, rym, położenie sylab akcentowanych i nieakcentowanych oraz zestroje, które gdzieś w korpusie występują bezpośrednio po nim.

Na etapie pisania Centonista losuje jeden z kilku szablonów rytmu i rymów, opartych na co melodyjniejszych polskich wierszach. Dla każdego szablonu rytmu w wersie buduje acykliczny graf skierowany zestrojów akcentowych zgodnie z ich dopuszczalnym sąsiedztwem oraz położeniem akcentów. Następnie losuje rymy i na podstawie wyżej wymienionych grafów skierowanych tworzy dla każdego wylosowanego rymu chudszy graf, kończący się wyłącznie zestrojami o takich samych końcówkach. W końcu przechodząc losowo przez te chudsze acykliczne grafy skierowane, skleja zestroje akcentowe w wersy. Jeśli zestroje na końcach rymujących się wersów tworzą banalne rymy, stosuje nawroty. Gdyby liczba nawrotów przekroczyła pewien próg, rymy losuje się na nowo i proces się powtarza. W końcu niektóre kropki zamienia się na przecinki, aby zdania się nie wydawały zbyt krótkie.

Kod źródłowy: https://github.com/turniej/centonista/tree/b5632721bb887edf46445e8a13553a43866b96c2

Twórz-że!

Utwory w konkursie (zobacz wszystkie)

Ostatnio opublikowane utwory: