IPD Tichy, Fakultät für Informatik
Programmieren in natürlicher Sprache:
Zeitliches Sortieren
Bachelorarbeit von Tobias Hey
Betreut von Mathias Landhäußer
Motivation
Zeit t The Bunny turns to face the Frog.
The Bunny taps its foot twice.
The Frog ribbits.
The Frog turns to face northeast.
a b c d
Motivation
Problem: Nicht sequenzielle Beschreibungen
The Bunny turns to face the Frog.
Before the Frog ribbits,
the Bunny taps its foot twice.
Then the Frog turns to face northeast.
Zeit t
a c b d
Motivation
Problem: nicht sequenzielle Beschreibungen Lösung: Bestimmung der korrekten
Ausführungsreihenfolge
The Bunny turns to face the Frog.
Before the Frog ribbits,
the Bunny taps its foot twice.
Then the Frog turns to face northeast.
Zeit t
a b c d
Grundlagen
Rahmenarchitektur Alice
Kontext des Gesamtprojektes
Generierung von Animationen aus Anweisungen
GoldenGATE
Editor für Text und Annotationen
Fließbandverarbeitung von NLP-Werkzeugen
Abhängigkeiten zwischen Wörtern
Stanford Parser
Stanford Dependencies
Verwandte Arbeiten
Ordnen von Ereignissen in unsere Zeitrechnung
Aus juristischen Dokumenten [Sch07]
Zeitliche Einordnung durch Einschränkungen
„…entered the United States before December 31, 2005“
Aus Nachrichtenartikeln [PKLS05]
Wissensdatenbank für Beantwortung von Fragen
„What happened in French politics last week?”
Übersetzen von Zeitbeschreibungen in numerische Zeitpunkte und Zeitintervalle
Computational Treatment of Temporal Notions: The CTTN-System [Ohl07]
„noon till evening“ 6 hours
Zeitliches Sortieren - Ansatz
Ziel: Aufheben der Einschränkung auf sequenzielle Beschreibungen
Bestimmen der korrekten Ausführungsreihenfolge Betrachtung von zeitlichen Einordnungen
Ansatz: Einordnungen basieren auf Zeitausdrücken
Hängen ab von
Position im Satz
Folgende Formulierung
Einordnungen zwischen Aktionen relevant
Idee: Bestimmen der Einordnungen durch strukturelle Analyse der
Sätze
Zeitliches Sortieren - Einordnungen
Einordnungen bestehen aus
Zeitausdrücken wie: before, after, then,…
Zeitpunkt auf den sich bezogen wird: Bezugszeit Aktionen die eingeordnet werden: Bezugsaktionen
Bezugszeit und –aktionen hängen ab von
Position des Zeitausdrucks im Satz Zeitausdruck folgende Formulierung
„Before the Bunny hops the Frog ribbits and jumps.“hops ribbits and jumps
„The Bunny hops before the Frog ribbits and jumps.“
„The Bunny hops and before this the Frog ribbits and jumps.“
hops ribbits and jumps
hops ribbits and jumps
„The Bunny hops twice.
Before the Bunny hops twice the Frog ribbits and then jumps away.“
Zeitliches Sortieren - Vorgehen
Aufbau eines initialen Zeitstrahls
Auslesen der Aktionen Sequenziell
„The Bunny hops twice.
Before the Bunny hops twice the Frog ribbits and then jumps away.“
Zeitliches Sortieren - Vorgehen
Aufbau eines initialen Zeitstrahls
Auslesen der Aktionen Sequenziell
Zeit t hops ribbits jumps
„The Bunny hops twice.
Before the Bunny hops twice the Frog ribbits and then jumps away.“
Zeitliches Sortieren - Vorgehen
Satzweises Vorgehen
Referenzen nur auf bereits beschriebene Aktionen Zeit t
hops ribbits jumps
„The Bunny hops twice.
Before the Bunny hops twice the Frog ribbits and then jumps away.“
Zeitliches Sortieren - Vorgehen
Zeitausdrücke haben unterschiedliches Verhalten
Anzahl der Ausdrücke und Aktionen im Satz Relative Position zu Aktionen
Zeit t hops ribbits jumps
„The Bunny hops twice.
Before the Bunny hops twice the Frog ribbits and then jumps away.“
Zeitliches Sortieren - Vorgehen
Zeitausdrücke haben unterschiedliches Verhalten
Anzahl der Ausdrücke und Aktionen im Satz Relative Position zu Aktionen
Zeit t hops ribbits jumps
„The Bunny hops twice.
Before the Bunny hops twice the Frog ribbits and then jumps away.“
Zeitliches Sortieren - Vorgehen
Zeitausdrücke in Nebensätzen
Teilung des Satzes möglich
Zeitausdruck in Teilsatz verhält sich gleich Zeit t
hops ribbits jumps
„The Bunny hops twice.
Before the Bunny hops twice the Frog ribbits and then jumps away.“
Zeitliches Sortieren - Vorgehen
Bestimmung der Bezugszeit und –aktionen
Je nach Position und Formulierung des Zeitausdrucks ggf. Dereferenzierung der Bezugszeit
Zeit t hops ribbits jumps
„The Bunny hops twice.
Before the Bunny hops twice the Frog ribbits and then jumps away.“
Zeitliches Sortieren - Vorgehen
Umordnung des Zeitstrahls
Veränderung gegeben durch Zeitausdruck zwischen Bezugszeit und –aktionen
Zeit t hops ribbits jumps
„The Bunny hops twice.
Before the Bunny hops twice the Frog ribbits and then jumps away.“
Zeitliches Sortieren - Vorgehen
Umordnung des Zeitstrahls
Veränderung gegeben durch Zeitausdruck zwischen Bezugszeit und –aktionen
Zeit t hops
ribbits jumps
„The Bunny hops twice.
Before the Bunny hops twice the Frog ribbits and then jumps away.“
Zeitliches Sortieren - Vorgehen
Umordnung des Zeitstrahls
Veränderung gegeben durch Zeitausdruck zwischen Bezugszeit und –aktionen
Zeit t hops
ribbits jumps
„The Bunny hops twice.
Before the Bunny hops twice the Frog ribbits and then jumps away.“
Zeitliches Sortieren - Vorgehen
Umordnung des Zeitstrahls
Veränderung gegeben durch Zeitausdruck zwischen Bezugszeit und –aktionen
Zeit t hops
ribbits jumps
„The Bunny hops twice.
Before the Bunny hops twice the Frog ribbits and then jumps away.“
Zeitliches Sortieren - Vorgehen
Jede Aktion erhält zeitliche Position als Annotation
Information Gesamtprojekt zur Verfügung stellen Aufbau des Alice-Skriptes aus Teilinformationen
Zeit t hops
ribbits jumps
0 1 2
Evaluation - Aufbau
Video „Bunny“ (Länge: 22s, 15 Aktionen)
4 von 15 Texten mit zeitlichen Einordnungen Evaluation der Robustheit
Video „Dragon“ (Länge: 19s, 11 Aktionen) und „Cheerleader“ (Länge: 18s, 11 Aktionen)
Jeweils 10 Beschreibungstexte gesammelt Zeitliche Verschachtelung gefordert
Evaluation
Zeitliche Einordnungen
Benötigte Umordnungen zum korrekten Zeitstrahl
Fehler in resultierender Reihenfolge können weitere Fehler nach sich ziehen Umordnung setzt Abhängige ebenfalls neu
Evaluation - Ergebnis
Präzision: 95%
Ausbeute: 86%
Nur 9 Umordnungen bei 24 nicht korrekten Einordnungen
Sequenzielle Einordnungen bleiben erhalten Video Texte Einord-
nungen
Erkannte Einordnungen korrekt fehlerhaft
Nicht erkannt
Benötigte Umord- nungen
Bunny 4 16 15 1 0 1
Dragon 10 69 60 1 8 2
Cheerleader 10 81 67 5 9 6
Gesamt: 24 166 142 7 17 9
“The Bunny turns to face the Frog.
Before the Frog ribbits, the Bunny taps its foot twice.
Then the Frog turns to face northeast and jumps away.“
Evaluation - Fehler
Fehler des Stanford Parsers
Nicht erkannte Und-Verknüpfungen
„The Bunny jumps upward three times and then bends forward, lies down on the meadow and eats the mushroom.“
Und-Abhängigkeit nur zwischen jumps, bends und eats
Falsche Satzerkennung Video Texte Einord-
nungen
Erkannte Einordnungen korrekt fehlerhaft
Nicht erkannt
Benötigte Umord- nungen
Bunny 4 16 15 1 0 1
Dragon 10 69 60 1 8 2
Cheerleader 10 81 67 5 9 6
Gesamt: 24 166 142 7 17 9
Evaluation - Fehler
Nicht erkannte Einordnungen
Spezielle Formulierungen wie „In order to“
Referenzen auf bereits beschriebene Aktionen
sehr vielfältig und abhängig von Koreferenzanalyse
Abhängig von Formulierungen
Video Texte Einord- nungen
Erkannte Einordnungen korrekt fehlerhaft
Nicht erkannt
Benötigte Umord- nungen
Bunny 4 16 15 1 0 1
Dragon 10 69 60 1 8 2
Cheerleader 10 81 67 5 9 6
Gesamt: 24 166 142 7 17 9
Zusammenfassung
Einschränkung auf sequenzielle Beschreibungen aufgehoben Zeitliches Sortieren
Zeitliche Einordnungen erkennen
Bezugszeit und Bezugsaktionen bestimmen
Ausführungsreihenfolge ermitteln und annotieren
Hohe Präzision, große Robustheit bei sequenziellen Beschreibungen
86% Ausbeute bedingt durch nicht implementierte Formulierungen
Ausblick
Erweiterung um Funktionalität zur Erkennung:
Weiterer Referenzen auf bereits beschriebene Aktionen Spezieller Formulierungen
Erhöhung der Erkennungsrate
Literatur
Schilder, Frank: Event Extraction and Temporal Reasoning in Legal Documents. In: Annotating, Extracting and Reasoning about Time and Events Bd. 4795. Springer Berlin Heidelberg, 2007, S. 59-71.
Pustejovsky, James ; Knippen, Robert ; Littman, Jessica ; Sauri, Roser: Temporal and Event Information in Natural Language Text. In: Language Resources and Evaluation 39 (2005), Nr. 2-3, S. 123-164
Ohlbach, Hans J.: Computational Treatment of Temporal Notions: The CTTN-System. In: Annotating, Extracting and Reasoning about Time and Events Bd. 4795. Springer Berlin Heidelberg, 2007, S. 72-87
[Sch07]
[PKLS05]
[Ohl07]
Literatur
Stanford Natural Language Processing Group: Online CoreNLP demo. http://nlp.stanford.edu:8080/corenlp/
[Sta]
Behandelte Zeitausdrücke
Zeitausdruck Bezugszeit
before (Satzanfang) 1. Aktion des Satzes
before (Satzmitte) 1. Folgende Aktion
before (mit bereits erwähnter Aktion) bereits erwähnte Aktion
before (Entität + Synonym von started) letzte Aktion dieser Instanz vor dem Zeitausdruck before (that / this) letzte Aktion des vorherigen Satzes / Teilsatzes but first / previously letzte Aktion des vorherigen Satzes / Teilsatzes
after (Satzanfang) 1. Aktion des Satzes
after (Satzmitte) 1. Folgende Aktion
after (mit bereits erwähnter Aktion) bereits erwähnte Aktion
after (Entität + Synonym von finished) letzte Aktion dieser Instanz vor dem Zeitausdruck after (that / this) letzte Aktion des vorherigen Satzes / Teilsatzes
Behandelte Zeitausdrücke
Zeitausdruck Bezugszeit
at the end / finally letzte Aktion des Textes at the beginning / start erste Aktion des Textes Afterwards, then, later (on), there- /
where- / hereupon, thereafter, followed by
letzte vorherige Aktion
By the time / when (Entität + Synonym von finished)
letzte Aktion dieser Instanz vor dem Zeitausdruck
As (first, second, …) Ordinalzahl abhängige Aktion des Textes As (his/her/its first, second, …) Ordinalzahl abhängige Aktion der gemeinten
Instanz
Vorrausgesetzte Annotationen
Dereferenzierung
The Bunny hops twice.
hops = Aktion der Instanz Bunny
Before the Bunny hops twice the Frog ribbits and then jumps away.
Instanz: Bunny Verb: hops
Suche nach letzter Aktion der Instanz Bunny vor dem Ausdruck, die hops Aktion beschreibt
Probleme bei Formulierungen wie:
“She moves to the middle.
When she is in the middle, the cheerleader jumps three times.”
Resultierende Annotation
Text mit nicht behandelten Referenzen
In the background, there is a fountain.
To the left, there is a cheerleader.
To the right, there is a penguin.
The cheerleader is facing the background.
The penguin flaps its wings twice.
After the cheerleader speaks to it, it turns its head right.
After turning its head, the penguin flaps its wings once.
Then it turns right.
After turning, it glides away.
When the scene starts, the cheerleader cheers.
Then she moves to the middle.
When she is in the middle, the cheerleader jumps three times.
Before the last jump, she cheers.
Right after cheering for the very first time, the cheerleader turns to face the penguin.
After her last jump, the scene ends.