Innovationsbot und Tracery

Screenshot von Cheap Bots, Done Quick!
(Aktualisiert: )

tl;dr

Ich habe einen Bot programmiert, der Headlines zu Innovationsdingen generiert und ich halte ihn für sehr lustig. Bis zum Ende der API war er auf Twitter, jetzt ist er auf Mastodon.

Die Idee

Wenn es in Deutschland etwas zu wenig gibt, dann ist es die Forderung nach Innovation.

Mit zu wenig meine ich natürlich in einer Frequenz, die mit der Erwähnung des Wetters bei einem unangenehmen Gespräch und dem Erscheinen der Tageszeitung mithalten kann. Egal, ob Eröffnung einer Grundschule, Pressemitteilung zur Entscheidung im Stadtrat oder wahllose Wortmeldung durch jedwede politische Funktion: Die Berichterstattung und der politische Diskurs kann nicht genug davon bekommen, Gründer*innen ins Rampenlicht zu stoßen und nicht müde zu werden, dass die Industrienation Deutschland es immer noch drauf hat.

Dabei klingen die meisten Meldungen zur neuesten Innovation recht willkürlich. Frei nach dem Motto: Steht dein Dorf kurz vor der volkommenen Manie, formuliere doch ’ne Innovationsstrategie. Irgendwo ist immer was und lieber würden sich die Spiegel Online, Heise und Handelsblatt-Autor*innen ins Knie schießen, als nicht auch noch das letzte Start-up zum Ridesharing auf 3000 Worte zu besprechen.

Meine Überzeugung ist es, dass diese journalistischen Ressourcen besser eingesetzt werden könnten als über GmbHs zu berichten, die schon kurz nach Abgabe des Textes wieder pleite sind. Deshalb wurde es Zeit für eine Innovation auf dem Innovationsmarkt.

Auftritt Innovationsbot

Der Innovationsbot sollte aus Satzbestandteilen immer wieder neue Überschriften liefern, die der Innovation im deutschsprachigen Raum frönen. Dazu musste ich zunächst genug generelle Überschriften finden und diese um diverse Adjektive, Orte und Akteure ergänzen.

In einem ersten Ansatz habe ich zunächst wieder versucht, einen eigenen Bot in Python zu bauen. Hier erwies sich aber der Aufbau der Grammatik als schwieriger als gedacht aka es war nervig zu programmieren und wäre so eintönig gewesen, dass ich kurz davor war, wieder mein Interesse zu verlieren. Ich war mir außerdem sicher, dass es schon eine Lösung für den formelhaften Aufbau von Sätzen geben müsste … und den gab es dann auch.

Auftritt Tracery

Tracery1 von Kate Compton2 ist eine “story-grammar generation library for javascript” und mittlerweile in Version 0.73 verfügbar. Die Sprache funktioniert im Endeffekt durch Variablen im Text, die durch weitere Texte/Variabeln und definierende Regeln ausgefüllt werden können. Dazu gibt es Tools wie die Großschreibung und den Plural eines gegebenen Wortes automatisiert einzufügen, jedoch ist das eher auf die englische Sprache begrenzt. Es gibt ein recht gutes Tutorial4 und einen visuellen Editor5 zum Ausprobieren. Jedoch wurde das Git3 schon seit ein paar Jahre nicht aktualisiert. Der Code scheint jedoch immer noch einwandfrei zu laufen.

So konnte ich recht schnell meine Grammatik erstellen und ebenfalls recht einfach ergänzen. Nun war der nächste Schritt das Hosting des Bots.

Auftritt Cheap Bots Done Quick

Meine Erfahrung mit Node.js und sonstigen Server-Tools auf Javascript-Basis hält sich in Grenzen. Generell habe ich, offen gesagt, auch weiterhin eine gewisse Abneigung gegen Javascript und versuche es so gut wie möglich zu meiden. Cheap Bots Done Quick6 kam mir da ganz gelegen. Basierend auf Tracery hat v buckenhan7 hier einen Editor erstellt, der mit einem Twitter-Account verbunden werden kann und in gewählter Frequenz oder auf Reply einen Text generiert.

Irgendwann gab es leichte Performance-Probleme, da ich unter anderem als Variable-Werte ein ganzes Wörterbuch eingefügt habe, was der Webseite nicht so gefiel. Dies lies sich aber durch die Bearbeitung in einem normalen Texteditor und Copy-and-paste leicht beheben.

Das Ergebnis: https://twitter.com/Innovationsbot
Die Grammatik: https://cheapbotsdonequick.com/source/Innovationsbot

Update Twitter API

Cheap Bots Done Quick ist mit den Änderungen in der Twitter API leider offline gegangen. Der letzte Tweet wurde am 27. März vom Twitter Innovationsbot-abgesetzt. Der Bot hatte bedauerlicherweise nur drei Follower, auch wenn einige Banger unter den Tweets waren, wie die hier:



Generell mussten einige Wörter auch noch mal aus der Wörterbuch-Liste aussortiert werden, die Minderheiten oder Weltereignisse beschrieben, da die Sätze teilweise doch etwas arg wurden. In einem fließenden Übergang ging es jedoch weiter mit Cheap Bots Toots Tweet8. Ein doch etwas gewagteres Wortspiel, welches aber eigentlich genau die gleiche Lösung für Mastodon bis hin zu selben UI abbildet. Der einzige Grund, warum ich es nicht früher gemacht hatte war, dass ich nicht daran gedacht habe, dass es eine ähnliche Lösung geben könnte und Crossposting war ein TODO, welches niemals erfüllt werden sollte.

Jetzt ist der Bot erreichbar unter: https://botsin.space/@innobot
Der Source-Code kann hier nachgeschaut werden: https://cheapbotstootsweet.com/source/?url=https://botsin.space/@innobot.

Ich hoffe auf viele weitere spannede Innovationen.