Esther Seyffarth
esther.seyffarth@uni-duesseldorf.de
@ojahnn
… damit nicht der Eindruck entsteht, dass digitale Kreativität nur etwas für gelernte Computerwissenschaftler/Männer über 50 ist…
Bots + Fan Fiction?
Or Whether Doth My Mind, Being Crowned With You
No Longer Mourn For Me When I Am Dead;
So Shall I Live, Supposing Thou Art True.
Sweet Love, Renew Thy Force. Be It Not Said
Thy Gift, Thy Tables, Are Within My Brain!
How Like A Winter Hath My Absence Been;
Let Me Confess That We Two Must Be Twain,
Like As To Make Our Appetites More Keen.
If My Dear Love Were But The Child Of State
Shall I Compare Thee To A Summer's Day?
Love Is My Sin, And Thy Dear Virtue Hate,
But Do Thy Worst To Steal Thyself Away.
So Am I As The Rich, Whose Blessed Key
When Most I Wink, Then Do Mine Eyes Best See.
Wir können die Sprache von ottos mops mit Regeln beschreiben.
# Phrasenstrukturregeln zu den Beispielen der letzten Folie hier eintragen!
"Satz" --> "Subjekt" + "Verbphrase"
"Subjekt" --> "otto" | "ottos mops"
"Objekt" -->
"Verbphrase" -->
"Verb" -->
Wie lauten die Regeln für "Objekt", "Verbphrase" und "Verb"?
Rekursion erlaubt uns, mit endlich vielen Regeln unendlich viele Sätze zu beschreiben.
ottos mops trotzt
otto: fort mops fort
ottos mops hopst fort
otto: soso
otto holt koks
otto holt obst
otto horcht
otto: mops mops
otto hofft
ottos mops klopft
otto: komm mops komm
ottos mops kommt
ottos mops kotzt
otto: ogottogott
Aufgabe: Schreiben Sie eine Phrasenstrukturgrammatik für ottos mops.
(Ottos Äußerungen dürfen Sie vorerst ignorieren.)
# Produktionsregeln hier eintragen!
.
.
.
.
.
.
.
Von der generativen Grammatik ist es kein weiter Weg zur Textgenerierung.
Wir erstellen unseren ersten Bot mithilfe von Tracery.
Aufgabe: Setzen Sie die ottos-mops-Grammatik in Tracery um! Verwenden Sie dazu den visuellen Editor unter http://www.brightspiral.com/tracery/.
Können Sie das Vokabular erweitern?
Sie können Ihre Lösung mit der Beispiellösung vergleichen, z.B. mit JSON Diff.
Cheap Bots Done Quick ist ein Dienst, der Tweets aus Tracery-Grammatiken generiert und auf Twitter veröffentlicht.
Ursprünglich war eine weitere technische Themeneinheit geplant. Wir können aber auch stattdessen kreativ werden.
Je vielseitiger das Vokabular eines Bots ist, desto überraschender werden die Ergebnisse.
Praktisch wäre es, wenn wir riesige Wortlisten direkt in die Tracery-Grammatik importieren könnten...
“Es gibt kein richtiges Leben im falschen.”
{
"origin": [
"Es gibt kein richtiges #np# im falschen."
],
"np": [
"Leben",
"Essen",
"Geld",
"Flugzeug",
"Haus",
"Moped",
"Fahrrad",
"Auto",
"Brathähnchen"
]
}
Wie kann die Kategorie np
erweitert werden?
Daten sind im Internet leicht zu finden - aufbereiten müssen wir sie allerdings selbst.
Wir arbeiten im Folgenden mit der Wortliste, die hier erreichbar ist. Aber mit Ihren neuen Fähigkeiten können Sie bald auch andere Quellen verwenden.
(Download: Wortliste als Textdatei)
Reguläre Ausdrücke sind, ähnlich wie Phrasenstrukturregeln, Beschreibungsmechanismen für Klassen von Sequenzen.
Während Phrasenstrukturregeln komplette Sequenzen beschreiben, drücken reguläre Ausdrücke stattdessen (beliebig spezifische) Bedingungen aus.
Nagelfeile
der Band die Band das Band meine Band
Das Pferd frißt keinen Gurkensalat
Das Pferd frißt keinen Gurkensalat
Das Pferd frißt keinen Gurkensalat
Das Pferd frißt keinen Gurkensalat
wer? weg? wem? wen?
wer?
weg
wem
wen
Postbote Twitterbot Ruderboot
Postbote Ruderboot Raubtier
ha haha hahaha hahahaha hahahahaha hahahahahaha
ha haha hahaha hahahaha hahahahaha hahahahahaha
Mississipi
Veränderungen Beraterin vererben
Veränderungen
Beraterin
vererben
Verwenden Sie die "Suchen und ersetzen"-Funktion, um mithilfe von regulären Ausdrücken alle Einträge der Wortliste zu löschen, die Maskulina oder Feminina sind.
(Download: Wortliste, nur Neutra)
Formatieren Sie die Datei mithilfe von regulären Ausdrücken so, dass nur noch Substantive ohne zusätzliche Informationen aufgelistet werden.
(Download: Wortliste, nur Nomen)
Verwandeln Sie die Liste in ein JSON-Objekt, das dem Tracery-Format entspricht.
Fügen Sie das neue Vokabular im CBDQ-Code ein und twittern Sie einige neue Adorno-Zitate.
Tipp: Ersetzen Sie die Zeilenumbrüche in der Liste durch die Zeichen, durch die Einträge in JSON-Objekten voneinander getrennt werden.
CBDQ bietet Ihnen die Möglichkeit, auf Tweets anderer Nutzer/innen an Ihren Account automatisch zu antworten.
Erstellen Sie eine "Magic 8-Ball"-Funktion, bei der Ihr Bot auf alle Tweets, die ein Fragezeichen enthalten, mit einer von 20 möglichen Antworten reagiert.
Was macht den Charakter eines literarischen Werkes aus? Können Sie eine CBDQ-Grammatik entwerfen, die nach einem bestimmten Text klingt, ohne dass die Tweets wortwörtlich dem Original entnommen sind?
Beispiel für einen "Remix"-Bot: Bototio
Wenn die Gruppen Ihre Bots vorstellen, können die anderen Teilnehmenden raten, welches Werk die Inspirationquelle ist.
Mit CBDQ können wir jederzeit neue Tweets generieren.
Um stattdessen vorgefertigte Tweets in einer bestimmten Reihenfolge zu posten, sind Tools wie AutoChirp nützlich.
Ihre TSV-Datei können Sie entsprechend der Beispieldatei formatieren. Ich empfehle eine Verarbeitung in Notepad++ mit eingeschalteten Steuerzeichen! ¶