Der folgende Artikel fasst die Entstehung des BeefGenerators und frühe Gedanken hinter dem Miniprojekt zusammen.
Neulich las ich einen Tweet, der mein Blut kochen ließ: Es wurde die Frage gestellt, wie man das eine machen können, aber dann so inkonsequent sei, das andere nicht zu tun. Ich war sauer. Sauer auf mich, auf den Tweet, die Welt. Da waren zwei Themen in einem Tweet, die gar nicht zusammengehörten, aber irgendwie doch und ich konnte mich nicht einmal entscheiden, ob die Frechheit nun war, die verschiedenen Themen zu einer Gesamtforderung „wer a sagt muss auch b machen“ zusammenzufassen oder meine Ignoranz, den Zusammenhang nicht zu sehen. Einen Tag später konnte ich mich an den eigentlichen Inhalt des Tweets nicht mehr erinnern, wohl aber an das Gefühl, das er hinterlassen hatte. Und zugleich fragte ich mich, ob die Kombination von Aussagen nicht ganz generell geeignet ist, für Emotionswallungen oder gar „Beef“ zu sorgen, durch lange Auseinandersetzungen um einen Satz, der nun so oder so gelesen werden kann.
Gerade erst hatte ich wieder über die Kombinatorik von Ramon Llull gelesen, einem mallorquinischen Philosophen, der im 13. Jahrhundert ein mechanisches System zum Kombinieren von Aussagen zur Wahrheitsfindung erarbeitete, der »Ars magna«. Ohne auf diese logische Maschine en detail einzugehen, lässt sich zusammenfassen, dass Llull Begriffe und Konzepte durch einen „brute force“ Ansatz kombinieren wollte, um alle nur möglichen Erkenntnisse zu finden. Was ein wenig wie ein Vorbild so mancher heutiger “KI” Systeme wirkt und in nicht ganz unähnlicher Form in Gullivers Reisen noch einmal auftauchen wird, sollte mir als Vorlage für ein Experiment gelten: Den BeefGenerator.
Ausgehend von der Idee, zwei Teilaussagen zufällig zu kombinieren, sollten herausfordernde Aussagen automatisiert erstellt werden, die eine Reaktion auslösen: Ein emphatisches Zustimmen, ein vehementes Ablehnen, ein kritisches Nachfragen. Das Muster sollte einem einfachen Paradigma folgen: Eine eher positiv belegte Aussage wird mit einer eher negativen Aussage gegenübergestellt: »Wie kann man das eine tun – aber das andere nicht?« Dabei sollten die beiden Teilaussagen möglichst in keinem direkten Zusammenhang stehen und der Satz fordernd wirken.
Nach einigen Experimenten mit Worten, Teilsätzen, Grammatikproblemen und Aussagelogiken ergab sich ein sehr triviales System: Für je ein Thema wird ein Aussagenpaar erstellt, wie diese zwei Beispiele zeigen:
- positiv: »Wie kann man vegan leben« – negativ: »aber vegane Ernährung ablehnen«
- positiv: »Wie kann man gegen Automobilität sein« – negativ: »und trotzdem Auto fahren«
Thema 1 und 2 können nun kombiniert werden. Ein einfacher Algorithmus stellt dabei sicher, dass ein Thema nie mit sich selbst kombiniert wird. In diesem Fall entstehen also zwei mögliche Aussagen:
- Wie kann man vegan leben, und trotzdem Auto fahren?
- Wie kann man gegen Automobilität sein, aber vegane Ernährung ablehnen?
Ja, wie kann man nur, fragt man sich vielleicht. Oder ist empört über die Zusammenstellung der Themen. Man sieht eine logische Konsequenz und bejaht emphatisch oder lehnt ab und findet es schlicht eine Frechheit. Oder man interpretiert es als Satire, die salopp Meinungen überspitzt, die man eh nicht teilt. Auf Basis dieser einfachen Methode ist mit wenigen Dutzend Themen eine Aussagendatenbank entstanden, die aktuell um die 2.000 Kombinationsmöglichkeiten ermöglicht. Abgerundet werden die Fragen durch verschiedene Fragezeichen-Emoji-Kombinationen am Ende. Manche Zusammenstellungen wirken sehr treffend, andere abstrus, aber es macht teilweise Spaß, sich von den Aussagen überraschen zu lassen, teils fühlt man sich erwischt beim Aufregen. Die Datenbank bleibt aktuell noch unter Verschluss, da sonst das Erforschen weniger Spaß macht.
Technologisch ist der Beefgenerator, um ganz modern und thematisch passend voll „in der Cloud“ zu laufen, als Cloudflare Worker umgesetzt. Es gibt also keinen klassischen Webserver mehr. Der Beef kommt aus der Wolke. Die Logik besteht aus wenigen Zeilen Javascript, die nicht mehr tun, als zufällig zwei Teilsätze auszuwählen und ein Satzende anzufügen. Dazu kommt für das Design ein wenig komprimiertes CSS auf Basis von – ebenso thematisch passend – Twitters Bootstrap Framework und einigen Optimierungen, die die Seite recht schnell laden lassen.
Verbessern ließe sich der BeefGenerator neben einer Erweiterung der Aussagen zum Beispiel noch durch eine weitere Kombinationsmöglichkeit am Satzbeginn. Zur Zeit beginnt jede Frage mit “Wie kann man…”. Dies ließe sich ersetzen durch das Auswählen von Möglichkeiten zum Beispiel aus »Äh, wie kann man«, »Wie, bitteschön, kann man«, »Sagt mal, wie kann« und so weiter. Die Aussagen blieben unberührt aber sprachlich würde ein wenig mehr Vielfalt simuliert.
tl;dr: Der BeefGenerator zeigt, wie einfach automatisiert bestimmte Trigger-Pattern erstellt werden, die instantan für hochkochende Emotionen oder Diskussionen sorgen könnten. Vielleicht ist das ja auch ein Anlass, die eigene Aufregung zu hinterfragen, wenn ein paar Zeilen Programmcode bereits ausreichen, um einen den Abend zu verderben.
p.s.: Vielen Dank an die Beta-Tester:innen für das inhaltliche, konzeptionelle und technologische Feedback!
Dir hat der Blogpost gefallen? Dann lade mich doch auf einen Kaffee ein! (Paypal-Link).