1. Aspekte der Natural Language Generation
Esther Seyffarth,
Ronja Laarmann-Quante
TaCoS 25, 15./16.05.2015, München
2. TaCoS 25, München 21/05/15 2
Anwendungsbereiche der NLG
sehr formale Texte • Automatische Wetterberichte
• Automatische Routenbeschreibung (Navi)
etwas formale Texte • Produktbeschreibung (E-Commerce)
• SEO-Text auf Webseiten
• Automatische Zusammenfassung
sehr informelle Texte • Chatbot zur Unterhaltung (z.B. ELIZA)
• Twitterbot (als Kunstform oder zur Verbreitung von
Informationen)
• Spam?
• Handy-Sprachsteuerung (z.B. Siri, Google Now)
3. TaCoS 25, München 21/05/15 3
Wichtige Eigenschaften natürlicher Sprache
• Um Sprache generieren zu können, müssen wir zunächst
herausfinden, was die „Natürlichkeit“ natürlicher Sprache
konkret ausmacht.
• Die Ergebnisse der Sprachgenerierung sollen idealerweise
nicht wie generierte Texte wirken!
• Tricks, um die wahrgenommene „Natürlichkeit“ zu
erhöhen:
• Schreibfehler
• Interjektionen
• Ungenauigkeit im Ausdruck
• …
4. TaCoS 25, München 21/05/15 4
Beispiel: Eigenschaften von Chatsprache
1. Freie Plauderchats
marc30: ich mal wieder nich...
quaki: was hast denn zori??
quaki: erzähl
Lantonie: Das hast du dir verdient, zori?
TomcatMJ: oh man wat fürn krawall hier draußen...*guck*
zora: nur einsen *brustschwell*
stoeps: ree :-)))
Quelle: Dortmunder Chatkorpus (http://www.chatkorpus.tu-dortmund.de/)
Phonetisch motivierte
Abweichungen
Aktionswörter
Akronyme
Emoticons
5. TaCoS 25, München 21/05/15 5
Beispiel: Eigenschaften von Chatsprache
2. Professionelle Chats
BENUTZER: vielen Dank.
AUSKUNFT: Bittesehr. Haben Sie weitere Fragen?
BENUTZER: noch eine frage:
AUSKUNFT: Ja?
BENUTZER. ich studiere in essen an einer fachhochschule (FOM) kann ich
bücher aus der lehrbuchsammlung überhaupt ausleihen?
AUSKUNFT: Nur wenn Sie in der FH Dortmund, Bochum, Gelsenkirchen oder
Hagen studieren
Quelle: Dortmunder Chatkorpus (http://www.chatkorpus.tu-dortmund.de/)
Tokenisierungsfehler
Kleinschreibung
6. TaCoS 25, München 21/05/15 6
Beispiel: Eigenschaften von Chatsprache
3. Plauderchats im Medienkontext
totty: Renie, wenn du mir endlich ne Erhöhung gestatten würdest, wäre
och vieles einfacher ;-))
Revoluzzer: @heiland: KLAR DOCH, wenn eine Frau arbeitet und nen Kind hat
ist das gleich ne Rabenmutter
Revoluzzer: so sieht's aus im Vaterland
Heiland11: In meiner generation nicht
Gonzman: @revo so krass sehe ich das aba auch net
Quelle: Dortmunder Chatkorpus (http://www.chatkorpus.tu-dortmund.de/)
Vollgroßschreibung
Adressierungen
7. TaCoS 25, München 21/05/15 9
Exkurs: Maschinen mit Persönlichkeit
• Einem Computer das Verstehen von Sprache
beizubringen, ist Zukunftsmusik. (Warum?)
• Wir können aber Regeln definieren, die es so aussehen
lassen, als würde der Computer „wissen“, worum es geht:
George: I‘m George.
ELIZA: Do you believe it is normal to be George?
George: I don‘t know. I‘ve been George all my life.
ELIZA: Tell me more about that.
• Alle pragmatischen Aspekte menschlicher Unterhaltungen
können vom Computer höchstens simuliert werden.
8. TaCoS 25, München 21/05/15 10
Generierte Texte: E-Commerce
Mit dem UE48H6270 erhalten Sie einen LED-Fernseher von
Samsung mit einer Display-Diagonale von 121 cm (48 Zoll).
Der Samsung UE48H6270 bietet brillante 3D-Bilder in
scharfer Full HD-Auflösung sowie eine kabellose
Datenübertragung. Das sparsame Display des LED-
Fernsehers garantiert eine reflexionsarme Darstellung mit
warmen und natürlichen Farben. Die Full HD-Auflösung auf
dem Samsung UE48H6270 bietet ideale Voraussetzungen,
um auf dem LED-Fernseher Kinofilme in brillanter Qualität zu
genießen.
9. TaCoS 25, München 21/05/15 11
Generierte Texte: SEO
Delikate Spezialitäten bei einem Lieferdienst in 80538
München bestellen
Ein zuverlässiger Tipp sind die leckeren Gerichte Rigatoni
Spinaci, Hummerkrabben in Erdnusssauce oder Gebratener
Reis mit Hühnerfleisch. Nur selten zu finden, aber dennoch
einen Versuch wert: Häagen Dazs Cookies und Cream, 500
ml. Der Mindestbestellwert im Durchschnitt bei Essen
Zustellservices in 80538 München beträgt 22 Euro.
10. TaCoS 25, München 21/05/15 12
Generierte Texte: Automatische Zusammenfassung
Bundeswehr in Kongo
Die Parlamentsarmee
Die Überlegungen , ein Kontingent der Bundeswehr zur
Absicherung der Wahlen nach Kongo zu schicken , stehen
unter keinem guten Stern .
Für Angela Merkel stand wohl auch schnell fest , dass die
Bundesrepublik das den Einsatz führende Land sein würde .
Der Verteidigungsminister , obwohl in die Überlegungen
eingebunden , tat jedoch so , als sei die Entscheidung längst
noch nicht gefallen .
11. TaCoS 25, München 21/05/15 13
Generierte Texte: Automatische Zusammenfassung
( 23.03.2006 )
Bundeswehr in Kongo
Die Parlamentsarmee
Die Überlegungen , ein Kontingent der Bundeswehr zur Absicherung der Wahlen nach Kongo zu
schicken , stehen unter keinem guten Stern .
Für die Bundeskanzlerin war relativ früh klar , dass Deutschland sich einem entsprechenden Wunsch der
UN nicht würde entziehen können .
Für Angela Merkel stand wohl auch schnell fest , dass die Bundesrepublik das den Einsatz führende
Land sein würde .
Aus beidem hat sie kein Hehl gemacht .
Der Verteidigungsminister , obwohl in die Überlegungen eingebunden , tat jedoch so , als sei die
Entscheidung längst noch nicht gefallen .
Das rächt sich nun .
In beiden Regierungsfraktionen gibt es heftigen Widerstand gegen eine nicht schlüssig vermittelte
Operation der Bundeswehr in Westafrika .
Die Bundeswehr aber ist eine Parlamentsarmee .
Nur die Abgeordneten können Auslandseinsätze anordnen .
Die Soldaten haben jedoch einen moralischen Anspruch darauf , dass der Bundestag mit großer Mehrheit
hinter dem Auftrag steht .
Schließlich geht es um ihr Leben .
Beim derzeitigen Stand der Debatte fehlen also die Voraussetzungen für eine Kongomission .
apz
12. TaCoS 25, München 21/05/15 14
Automatische Zusammenfassung
• Idee: Text ≠ Aneinanderreihung irgendwelcher Sätze
• U.a. semantische Relationen zwischen Wörtern
• Lexikalische Kette (Morris & Hirst, 1991): Sequenz von
Wörtern, zwischen denen semantische Relationen
bestehen
Für die Bundeskanzlerin war relativ früh klar , dass Deutschland sich einem entsprechenden
Wunsch der UN nicht würde entziehen können . Für Angela Merkel stand wohl auch schnell
fest , dass die Bundesrepublik das den Einsatz führende Land sein würde .
= thematische Einheit
13. TaCoS 25, München 21/05/15 15
Automatische Zusammenfassung
Anwendung für die automatische Textzusammenfassung
nach Barzilay und Elhadad (1997):
1. Bestimmung thematischer Einheiten eines Textes mithilfe
lexikalischer Ketten (z. B. mithilfe von Wiktionary)
„Was wird thematisch im Text behandelt?“
2. Gewichtung der Ketten, Bestimmung von starken Ketten
„Worum geht es im Text hauptsächlich?“
3. Extraktion von Sätzen als Repräsentanten für die jeweilige
thematische Einheit
„Welche Sätze spiegeln konkret das jeweilige Thema wider?“
14. TaCoS 25, München 21/05/15 16
Lexikalische Ketten
( 23.03.2006 )
Bundeswehr in Kongo
Die Parlamentsarmee
Die Überlegungen , ein Kontingent der Bundeswehr zur Absicherung der Wahlen nach Kongo zu
schicken , stehen unter keinem guten Stern .
Für die Bundeskanzlerin war relativ früh klar , dass Deutschland sich einem entsprechenden Wunsch der
UN nicht würde entziehen können .
Für Angela Merkel stand wohl auch schnell fest , dass die Bundesrepublik das den Einsatz führende
Land sein würde .
Aus beidem hat sie kein Hehl gemacht .
Der Verteidigungsminister , obwohl in die Überlegungen eingebunden , tat jedoch so , als sei die
Entscheidung längst noch nicht gefallen .
Das rächt sich nun .
In beiden Regierungsfraktionen gibt es heftigen Widerstand gegen eine nicht schlüssig vermittelte
Operation der Bundeswehr in Westafrika .
Die Bundeswehr aber ist eine Parlamentsarmee .
Nur die Abgeordneten können Auslandseinsätze anordnen .
Die Soldaten haben jedoch einen moralischen Anspruch darauf , dass der Bundestag mit großer Mehrheit
hinter dem Auftrag steht .
Schließlich geht es um ihr Leben .
Beim derzeitigen Stand der Debatte fehlen also die Voraussetzungen für eine Kongomission .
apz
15. TaCoS 25, München 21/05/15 17
Sätze in der Zusammenfassung
( 23.03.2006 )
Bundeswehr in Kongo
Die Parlamentsarmee
Die Überlegungen , ein Kontingent der Bundeswehr zur Absicherung der Wahlen nach Kongo zu
schicken , stehen unter keinem guten Stern .
Für die Bundeskanzlerin war relativ früh klar , dass Deutschland sich einem entsprechenden
Wunsch der UN nicht würde entziehen können .
Für Angela Merkel stand wohl auch schnell fest , dass die Bundesrepublik das den Einsatz führende
Land sein würde .
Aus beidem hat sie kein Hehl gemacht .
Der Verteidigungsminister , obwohl in die Überlegungen eingebunden , tat jedoch so , als sei die
Entscheidung längst noch nicht gefallen .
Das rächt sich nun .
In beiden Regierungsfraktionen gibt es heftigen Widerstand gegen eine nicht schlüssig vermittelte
Operation der Bundeswehr in Westafrika .
Die Bundeswehr aber ist eine Parlamentsarmee .
Nur die Abgeordneten können Auslandseinsätze anordnen .
Die Soldaten haben jedoch einen moralischen Anspruch darauf , dass der Bundestag mit großer
Mehrheit hinter dem Auftrag steht .
Schließlich geht es um ihr Leben .
Beim derzeitigen Stand der Debatte fehlen also die Voraussetzungen für eine Kongomission .
apz
X X
X
X X
X
X X
X X
X
X
Precision: 0.8
Recall: 0.57
F-Score: 0.67
16. TaCoS 25, München 21/05/15 18
Einfachste Textgenerierungsprojekte
• Im simpelsten Fall kann ein generierter Text die Form
haben, dass Inhalte nach fest vorgegebenen
Zusammensetzungsregeln kombiniert werden.
17. TaCoS 25, München 21/05/15 19
Einfachste Textgenerierungsprojekte (2)
• Bei einer ausreichend großen Datenbasis kann diese
Methode zu überraschenden und sogar
zufriedenstellenden Ergebnissen führen!
Quelle: Twitterbot @VergleichBot: https://twitter.com/vergleichbot
18. TaCoS 25, München 21/05/15 20
Einfachste Textgenerierungsprojekte (3)
• Zusätzlich zu einem Satz-Template, das mit Inhalten
befüllt wird, kann man auch weitere Bedingungen
definieren, die die Inhalte erfüllen müssen.
Quelle: Twitterbot @ParsExToto: https://twitter.com/parsextoto
19. TaCoS 25, München 21/05/15 21
Komplexere Textgenerierungsprojekte
• Im National Novel Generation Month schreibt man
zwischen 1. und 30. November ein Programm, das einen
Roman von 50.000 Wörtern erzeugt.
• Weitere Spielregeln gibt es nicht. Der Roman kann auch
aus 50.000 Wiederholungen des Wortes „meow“
bestehen. (Siehe Einreichung #50 des NaNoGenMo
2014.)
• Weil die Mindestanforderung so simpel ist, lädt der
NaNoGenMo dazu ein, beliebig herumzuexperimentieren
und kreativ zu sein.
20. TaCoS 25, München 21/05/15 22
NaNoGenMo
• Um einen Text von 50.000 Wörtern zu erzeugen, brauchen
wir eine Datenbasis, anhand derer wir unserem Programm
Sprache „beibringen“ können.
• Viele Teilnehmer/innen haben 2014 Tweets als Korpus
verwendet.
It's 3:00pm and I'm in my pj's. That's allowed on a Sunday, right? It's
3:01PM and Raymond Felton is still a Knick. Obama's America. It's
3.02pm and all I have achieved today is getting out of bed, and that
was only about 20 minutes ago. It's 3:03pm and I haven't had anything
to eat all day! I'm kindaaaa hungry but idk what I wanna eat. It's
3:04pm and I haven't had lunch.... It's 3:05pm and all finished , what to
do for the next 3 hours ... any suggestions?
21. TaCoS 25, München 21/05/15 23
NaNoGenMo
• Markov-Ketten sind ein beliebtes Mittel zur Generierung
von Texten – wenn sie etwas abgedreht klingen dürfen…
Zährechen irstie Ton sicheit vortenundeute dießen mehr Kon mus
ab. kund Verg ver etkrischte, dig das eine Proch geriser in den
Zorne eilichte war plinste sich hiellen Ton, ung, esagen Wohl, und
diegen zug inen häft und esen hier geängmalecht =Grobendir ja
Jundemeheugen Hiem ertgeniche sal da Bruchkeinsen Jer Oberr
Seine abert. Un Gevorstanntwobarde, derze.
22. TaCoS 25, München 21/05/15 24
Ressourcen, Ressourcen, Ressourcen!
• Es gibt im Internet sehr viele sehr gute Ressourcen für die
freie Textgenerierung. Einige davon stellen wir im
folgenden vor.
• Die Ressourcen sind nach ihrer Form thematisch sortiert:
• Wortlisten
• (ungewöhnliche) Textkorpora
• APIs
• Interessante Datensätze
24. TaCoS 25, München 21/05/15 26
Wortlisten
• Deutsche Wortliste (ohne Annotationen):
http://sourceforge.net/projects/germandict/?source=typ_re
direct
anilinblau
bescherend
Dynamikforderungen
Flugbenzintanks
Kinderglücksspielen
Satellitenempfangsanlagen
Zeittiefe
25. TaCoS 25, München 21/05/15 27
Wortlisten
• Datenbank mit einigen Wörtern (NN, ADJ, V) der Wortliste:
https://github.com/noeddl/parsextoto/blob/master/parsextot
o.sqlite
26. TaCoS 25, München 21/05/15 28
Wortlisten
• CMU Pronouncing Dictionary:
http://www.speech.cs.cmu.edu/cgi-bin/cmudict
• Download als Textdatei möglich, das Dictionary ist aber
auch im NLTK unter dem Namen gutenberg.cmudict
enthalten
SLANTING S L AE1 N T IH0 NG
SLAP S L AE1 P
SLAPDASH S L AE1 P D AE2 SH
SLAPE S L EY1 P
SLAPHAPPY S L AE1 P HH AE2 P IY0
SLAPPED S L AE1 P T
SLAPPEY S L AE1 P IY0
SLAPPING S L AE1 P IH0 NG
SLAPS S L AE1 P S
SLAPSTICK S L AE1 P S T IH2 K
27. TaCoS 25, München 21/05/15 29
Wortlisten
• WordNet: http://wordnet.princeton.edu/wordnet/download/
• Zugriff auch über das NLTK möglich (Python)
00046577 02 r 01 extremely 0 001 01565884 a 0101 |
to an extreme degree; "extremely cold"; "extremely
unpleasant"
00046695 02 r 01 drop-dead 0 001 ;u 07059049 n 0000
| extremely; "she was drop-dead gorgeous"
00046791 02 r 01 beyond_measure 0 000 | in excess or
without limit; "amazed beyond measure"
28. TaCoS 25, München 21/05/15 30
Wortlisten
• Corpora, von Darius Kazemi:
https://github.com/dariusk/corpora
{
"description": "A list of beer categories.",
"beer_categories": [
"belgian and french ale",
"british ale",
"german ale",
"german lager",
"international ale",
"international lager",
"irish ale",
"north american ale",
"north american lager",
"other lager",
"other style"
]
}
29. TaCoS 25, München 21/05/15 31
Wortlisten
• Wiktionary Verzeichnisse
http://de.wiktionary.org/wiki/Kategorie:Verzeichnisse
• Häufigste Vor- und Nachnamen Deutschlands
• Fachbegriffe verschiedenster Bereiche
• Homophone
• Substantive, deren Stammvokal im Plural umgelautet wird
• Disney-Figuren
• Tierlaute
• …
31. TaCoS 25, München 21/05/15 33
Textkorpora
• Enron-Email-Korpus: http://www.cs.cmu.edu/~./enron/
• 500.000 Mails von 150 Personen; Teil der Untersuchung
während des Enron-Skandals 2001
• Achtung: Sehr großer Download!
Dear Questia Series B Preferred Shareholder,
The Board of Directors has adopted resolutions
extending the Series Coffering in order to attempt
to secure additional investors. This is noticethat
the proxy holder of your shares intends to vote in
favor of theresolutions, and of your right to revoke
your proxy with respect to thisvote.
33. TaCoS 25, München 21/05/15 35
Textkorpora
• SMS Spam Collection:
http://www.dt.fee.unicamp.br/~tiago/smsspamcollection/
ham Siva is in hostel aha:-.
ham Cos i was out shopping wif darren jus now n i
called him 2 ask wat present he wan lor. Then he
started guessing who i was wif n he finally guessed
darren lor.
spam FreeMsg: Txt: CALL to No: 86888 & claim your
reward of 3 hours talk time to use from your phone
now! ubscribe6GBP/ mnth inc 3hrs 16 stop?txtStop
spam Sunshine Quiz! Win a super Sony DVD recorder
if you canname the capital of Australia? Text MQUIZ
to 82277. B
34. TaCoS 25, München 21/05/15 36
Textkorpora
• Dortmunder Chatkorpus: http://www.chatkorpus.tu-
dortmund.de/
<message id="386" type="utterance"
creator="Omnibook" color="blue">
<messageHead>
<nickname>Omnibook</nickname>
</messageHead>
<messageBody>
Der Bundestag und die Bundesregierung
ähnelt einem Maratonlauf der Orientierungslosen -
wie sollen die das Land regieren??????
</messageBody>
</message>
35. TaCoS 25, München 21/05/15 38
APIs
• JWPL: Wikipedia API für Java
• https://www.ukp.tu-darmstadt.de/software/jwpl/
36. TaCoS 25, München 21/05/15 39
APIs
• JWKTL: Wiktionary API für Java
• https://code.google.com/p/jwktl/
38. TaCoS 25, München 21/05/15 41
APIs
• Twitter API: https://dev.twitter.com/streaming/overview
• Bequemer Zugriff mit dem Python-Modul tweepy
• Liefert Informationen über Tweet-Inhalt, erwähnte User,
Geodaten, Uhrzeit, Endgerät, Hashtags, Anzahl der
Retweets und Favs, …
• Ermöglicht auch das Posten von Tweets, sodass dies
automatisiert und völlig ohne menschliches Zutun erfolgen
kann!
39. TaCoS 25, München 21/05/15 42
APIs
• Gmail API:
https://developers.google.com/gmail/api/quickstart/quickst
art-python
• Python-Wrapper: https://github.com/charlierguo/gmail
• Zugriff auf das eigene Gmail-Konto
• Personalisiertes Korpus!
Oberstübchen ausbreiten wie von ergebener
Schicksalhaftigkeit." > > Und wie läuft es bei mir.
Ihr so zwischen Donnerstag und Samstag in Lübeck,
und Du mit Euren Hühnerverkleidungen im Kreis tanzt.
Fragen= ihres letzten Willens diskutiert, darunter
auch die Gesellschaft zur Stärkung der Wasserkocher
tut ganz unschuldig und funktioniert.
40. TaCoS 25, München 21/05/15 44
APIs
• List of News Media APIs:
https://en.wikipedia.org/wiki/List_of_news_media_APIs
• Unter anderem vertreten: BBC, ZEIT, Financial Times…
41. TaCoS 25, München 21/05/15 45
Datensätze
• Open Data (Deutschland): https://www.govdata.de/
• Straßennamen
• Kindernamen
• Barrierefreie Toiletten (GPS-Daten)
• Studienabschlussstatistiken
• …
• Open Data (USA): http://www.data.gov/
• Consumer Complaint Database
• Baby names
• National Stock Number Extract
• Crimes
• Climate Data
• …
42. TaCoS 25, München 21/05/15 46
Datensätze
• Weitere Datensätze finden:
• Google-Suche nach Datensätzen:
https://cse.google.com/cse/publicurl?cx=00272023771706647689
9:v2wv26idk7m
• 100+ Interesting Data Sets for Statistics http://rs.io/100-
interesting-data-sets-for-statistics/
43. TaCoS 25, München 21/05/15 47
TL;DL
• Das Wichtigste an der Textgenerierung sind die
Beispieltexte/Ressourcen!
• Textgenerierung als Kunstform kann viel Spaß machen!
• Jede/r kann Texte generieren!
• Obwohl die menschliche Sprache unvorstellbar kompliziert
ist, können wir mit einfachsten Methoden Texte
automatisch erzeugen!
• Twitterbots sind vielseitig einsetzbar!
44. TaCoS 25, München 21/05/15 48
Quellen
1) Interessanter Blogeintrag zu unfreundlichen Bots:
https://stronglang.wordpress.com/2015/03/09/artificial-belligerence/
2) Barzilay, R. & Elhadad, M. (1997). Using lexical chains for text
summarization. In: Proceedings of the ACL'97/EACL‚ 97 Workshop
on Intelligent Scalable Text Summarization.
3) Morris, J. & Hirst, G. (1991). Lexical cohesion computed by thesaural
relations as an indicator of the structure of text. Computational
Linguistics, 17(1), 21-48.
4) Dale, R., Geldof, S., & Prost, J. P. (2005). Using Natural Language
Generation in Automatic Route. Journal of Research and practice in
Information Technology, 37(1), 89.
5) Reiter, E., Sripada, S., Hunter, J., Yu, J., & Davy, I. (2005). Choosing
words in computer-generated weather forecasts. Artificial Intelligence,
167(1), 137-169.
Hinweis der Redaktion
Rot: automatisch
Grün: Goldstandard (Menschen)
Arbeitet mit Dumps -> bessere Performance, dafür statisch
Zugriff auf Text, Links, Kategorien…
Beispiel für Nutzung von Kategorien: Alle deutschen Städte herausfinden