Markov-Ketten: Nonsens-Texte würfeln
Eine Markov-Kette schaut sich an, welche Zeichen in einem Text aufeinander folgen, und würfelt daraus neuen Text. Der Trick: Sie merkt sich die letzten paar Zeichen als Kontext — das ist der Grad — und wählt das nächste Zeichen passend dazu aus. Übergänge, die im Originaltext häufig vorkommen, werden auch häufiger gewürfelt.
Je größer der Grad, desto mehr Kontext behält die Kette — und desto echter klingt das Ergebnis. Bei Grad 0 kommt reiner Buchstabensalat heraus, bei Grad 3 oder 4 schon fast lesbares Deutsch.
Starte das Programm und sieh selbst, wie aus Zufall Sprache wird:
Zum Experimentieren:
- Ändere die Grade in der Schleife ganz unten — zum Beispiel nur
(2,), oder geh hoch bis(0, 1, 2, 3, 4, 6). - Tausch den
KORPUSgegen einen eigenen Text: einen Liedtext, einen Wikipedia-Absatz, ein Gedicht. Je länger der Text, desto besser lernt die Kette. - Bei sehr hohem Grad gibt die Kette irgendwann den Originaltext fast wörtlich wieder. Warum wohl?
Diese Demo gehört zu Kapitel 2 von „Künstliche Intelligenz verstehen" (Noack/Sanner, Rheinwerk). Das Buch setzt die Idee in JavaScript und p5.js um — hier läuft dieselbe Idee in Python, dank Counter und random.choices sogar etwas kürzer.