close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

Building Natural Language Generation Systems - Wie - iBrarian.net

EinbettenHerunterladen
Building
Natural Language Generation
Systems
Wie man Sprachgenerierungssysteme baut
Robert Dale and Ehud Reiter
Deutsch von Kai-Uwe Carstensen
Stand: 1999
1
Worum es in dem Tutorial geht
•
Design und Konstruktion von Systemen, die
– Verständliche Texte produzieren, in Englisch, Deutsch
oder anderen Sprachen
– … aus einer zugrundeliegenden nicht-linguistischen
Repräsentation von Information …
– … durch Gebrauch von Wissen über Sprache und die
jeweilige Anwendungsdomäne.
Basiert auf:
E Reiter and R Dale [1999] Building Natural Language
Generation Systems. Cambridge University Press.
2
Ziele des Tutorials
• Für Manager:
– Einen breiten Überblick über das Feld und
was heutzutage möglich ist bieten
• Für Implementierer:
– Eine realistische Darstellung verfügbarer
Techniken bieten
• Für Forscher/Studierende:
– Die Themen hervorheben, die Gegenstand
aktueller Sprachgenerierungsprojekte sind
3
Overview
1" "
Eine Einführung in die Sprachgenerierung
"
(natural language generation, NLG)
2 Anforderungsanalyse und Fallstudie
3 Teilaufgaben der NLG
4 NLG in Multimedia und Multimodalen
Systemen
5 Schlussbemerkungen und Verweise
4
Eine Einführung in die NLG
•
•
•
•
•
Was ist Sprachgenerierung?
Beispielsysteme
Typen von NLG Anwendungen
Wann sind NLG Techniken angemessen?
NLG System Architektur
5
Was ist NLG?
Natural language generation is the process of
deliberately constructing a natural language text
in order to meet specified communicative goals.
[McDonald 1992]
6
Was ist NLG?
• Ziel:
– Software, die verständliche und angemessene Texte
produziert
• Input:
– Irgendeine zugrundeliegende nicht-linguistische
Informationsrepräsentation
• Output:
– Dokumente, Reports, Erklärungen, Hilfenachrichten
und andere Texttypen
• Benötigte Wissensquellen:
– Sprachliches, allgemeines Welt- und Domänenwissen
7
Language Technology
Meaning
Natural Language
Understanding
Natural Language
Generation
Text
Text
Speech
Recognition
Speech
Synthesis
Speech
Speech
8
Beispielsystem #1: FoG
• Funktion:
– Produziert textuelle Wetterberichte in Englisch und
Französisch
• Input:
– Graphische/numerische Wetterdarstellung
• Benutzer:
– Environment Canada (kanadischer Wetterdienst)
• Entwickler:
– CoGenTex
• Status:
– In Betrieb seit 1992
9
FoG: Input
10
FoG: Output
11
Beispielsystem #2: PlanDoc
• Funktion:
– Produziert einen Bericht, der die Simulationsoptionen
beschreibt, die ein Ingenieur exploriert hat
• Input:
– Eine Simulationslogdatei
• Benutzer:
– Southwestern Bell
• Entwickler:
– Bellcore und Columbia University
• Status:
– In Betrieb seit 1996
12
PlanDoc: Input
RUNID fiberall FIBER 6/19/93 act yes
FA 1301 2 1995
FA 1201 2 1995
FA 1401 2 1995
FA 1501 2 1995
ANF co 1103 2 1995 48
ANF 1201 1301 2 1995 24
ANF 1401 1501 2 1995 24
END. 856.0 670.2
13
PlanDoc: Output
This saved fiber refinement includes all DLC changes in
Run-ID ALLDLC. RUN-ID FIBERALL demanded that PLAN
activate fiber for CSAs 1201, 1301, 1401 and 1501 in 1995
Q2. It requested the placement of a 48-fiber cable from
the CO to section 1103 and the placement of 24-fiber cables
from section 1201 to section 1301 and from section
1401 to section 1501 in the second quarter of 1995. For
this refinement, the resulting 20 year route PWE was
$856.00K, a $64.11K savings over the BASE plan and the
resulting 5 year IFC was $670.20K, a $60.55K savings over
the BASE plan.
14
Beispielsystem #3: STOP
• Funktion:
– Produziert einen personalisierten Flyer zur Beendigung
des Rauchens
• Input:
– Fragebogen zu Rauch-Einstellungen, Annahmen,
Geschichte
• Benutzer:
– NHS (British Health Service)
• Entwickler:
– University of Aberdeen
• Status:
– Wird einer klinischen Evaluation bzgl. seiner
Effektivität unterzogen
15
STOP: Input
16
STOP: Output
Dear Ms Cameron
Thank you for taking the trouble to return the smoking
questionnaire that we sent you. It appears from your
answers that although you're not planning to stop smoking
in the near future, you would like to stop if it was easy. You
think it would be difficult to stop because smoking helps
you cope with stress, it is something to do when you are
bored, and smoking stops you putting on weight. However,
you have reasons to be confident of success if you did try to
stop, and there are ways of coping with the difficulties.
17
Beispielsystem #4: TEMSIS
• Fuktion:
– Fasst Verschmutzungsinformation für
Umweltbehörden zusammen
• Input:
– Umweltdaten + a spezifische Anfrage
• Benutzer:
– Regionale Umweltbehörden in Frankreich und
Deutschland
• Entwickler:
– DFKI GmbH
• Status:
– Prototyp entwickelt; Anforderungen für Einsatz werden
analysiert
18
TEMSIS: Input Anfrage
((LANGUAGE FRENCH)
(GRENZWERTLAND GERMANY)
(BESTAETIGE-MS T)
(BESTAETIGE-SS T)
(MESSSTATION \"Voelklingen City\")
(DB-ID \"#2083\")
(SCHADSTOFF \"#19\")
(ART MAXIMUM)
(ZEIT ((JAHR 1998)
(MONAT 7)
(TAG 21))))
19
TEMSIS: Output Zusammenfassung
•
•
Le 21/7/1998 à la station de mesure de Völklingen -City,
la valeur moyenne maximale d'une demi-heure
(Halbstundenmittelwert) pour l'ozone atteignait 104.0 µg/
m³. Par conséquent, selon le decret MIK (MIKVerordnung), la valeur limite autorisée de 120 µg/m³ n'a
pas été dépassée.
Der höchste Halbstundenmittelwert für Ozon an der
Meßstation Völklingen -City erreichte am 21. 7.
1998 104.0 µg/m³, womit der gesetzlich zulässige
Grenzwert nach MIK-Verordnung von 120 µg/m³ nicht
überschritten wurde.
20
Typen von NLG Anwendungen
• Automatisierte Dokumenterstellung
– Wettervorhersage, Simulationsberichte,
Briefe, ...
• Verständliche Informationspräsentation
– Medizinische Berichte, Schlüsse eines
Expertensystems, ...
• Lehre
Information für Studierende in CAL (computer
assisted learning) Systemen
• Unterhaltung
– Witze (?), Geschichten (??), Poesie (???)
21
Rolle des Computers
Zwei Möglichkeiten:
#1 Das System produziert eine Dokument ohne menschliche
Hilfe:
• Wettervorhersagen, Simulationberichte, Patientenbriefe
• Zusammenfassungen statistischer Daten, Erklärungen von
Schlüssen eines Expertensystems, kontextsensitive Hilfe,
…
#2 Das System hilft einem menschlichen Autor dabei, ein
Dokument zu verfassen:
• Wettervorhersagen, Simulationberichte, Patientenbriefe
• Kundendienst-Briefe, Patentforderungen, technische
Dokumente, Job-Beschreibungen, ...
22
Wann sind NLG Techniken
angemessen?
Relevante Optionen:
• Text vs Graphik
– Welches Medium ist besser?
• Computer-generiert vs menschliche Autorschaft
– Sind die notwendigen Quelldaten verfügbar?
– Ist Automation ökonomisch gerechtfertigt?
• NLG vs einfache Zeichenketten-Konkatenation
– Wieviel Variation tritt in Output-Texten auf?
– Sind linguistische Beschränkungen und
Optimierungen wichtig?
23
Linguistische Beschränkungen
(Constraints) berücksichtigen
•
•
•
Linguistisch wohlgeformte Texte gehorchen einer Menge
constraints:
– Orthographie, Morphologie, Syntax
– Referenz, Wordwahl, Pragmatik
In NLG Systemen werden die Constraints automatisch
berücksichtigt
– deckt 100% der Fälle ab
“String-concatenation system developers” müssen explizit
dafür sorgen, dass die constraints berücksichtigt werden,
durch sorgfältiges Design und durch ausgiebiges Testen
– A lot of work
– Schwer, die 100%-Abdeckungsmarke zu erreichen
24
Beispiel: Syntax, Aggregation
• Output eines existierenden medizinischen KISystems:
The primary measure you have chosen, CXR shadowing,
should be justified in comparison to TLC and walking
distance as my data reveals they are better overall.
Here are the specific comparisons:
TLC has a lower patient cost TLC is more tightly
distributed TLC is more objective walking distance has a
lower patient cost
25
Beispiel: Pragmatik
• Output eines Systems, das englische Versionen
von Datenbankabfragen liefert :
– The number of households such that there is at least 1
order with dollar amount greater than or equal to
$100.
– Menschen interpretieren dies als Anzahl der
“households which have placed an order >=
$100”
– Tatsächliche Anfrage liefert Anzahl von “all
households in DB if there is any order in the
DB (from any household) which is >=$100”
26
NLG Systemarchitektur
• Die Teilaufgaben in NLG
• Eine lineare “pipelined”
Architektur
• Alternative Architekturen
27
Teilaufgaben in NLG
1 2 3 4 5" "
6 7 Inhaltsbestimmung
Dokumentstrukturierung
Aggregation
Lexikalisation
Generierung referierender Ausdrücke
Linguistische Realisierung
Strukturrealisierung
28
Aufgaben und Architektur in NLG
•
•
•
•
•
•
•
DokumentInhaltsbestimmung
Planung
Dokumentstrukturierung
Aggregation
Mikroplanung
Lexikalisierung
Generierung referierender Ausdrücke
Linguistische Realisierung
OberflächenRealisierung
Strukturrealisierung
29
Sequentielle (Pipelined)
Architektur
Dokumentplanung
Dokumentplan
Mikroplanung
Textspezifikation
Oberflächenrealisierung
30
Andere Architekturen
#1: Variationen der ‘Standard’ Architektur:
• Aufgaben umherschieben
• Feedback zwischen Ebenen erlauben
#2: Eine integrierte
Schlussfolgerungskomponente, die alles macht:
• Alle Aufgaben auf dieselbe Weise
repräsentieren: z.B. als Constraints, Axiome,
Planoperatoren ...
• füttert Spezifikationen in einen ConstraintLöser, Theorembeweiser ...
31
Forschungsfragen
• Wann ist ein Text das beste Mittel, um mit dem
Benutzer zu kommunizieren?
• Wann ist NLG-Technologie besser als
Zeichenketten-Konkatenation?
• Gibt es eine Architektur, die die theoretische
Eleganz integrierter Ansätze mit der Einfachheit
des linearen Ansatzes kombiniert?
• Wie sollten Dokumentenpläne und
Textspezifikationen repräsentiert werden?
32
Überblick
1" "
Eine Einführung in die Sprachgenerierung
"
(natural language generation, NLG)
2 Anforderungsanalyse und Fallstudie
3 Teilaufgaben der NLG
4 NLG in Multimedia und Multimodalen
Systemen
5 Schlussbemerkungen und Verweise
33
Eine Fallstudie in angewandter NLG
• Jeden Monat wird im Newsletter einer Institution
eine Zusammenfassung des monatlichen
Wetters veröffentlicht
• Die Zusammenfassungen basieren auf
automatisch gesammelten meteorologischen
Daten
• Die Person, die diese Zusammenfassungen
schreibt, wird dies in Zukunft nicht mehr tun
können
• Die Institution möchte die Veröffentlichung der
Berichte weiterführen und ist dafür an der
Verwendung von NLG-Techniken interessiert
34
Eine Wetterzusammenfassung
MARSFIELD (Macquarie University No 1)
WIND RUN (at 2m height) (km) (24 hrs to 09:00)
On Campus, Square F9
Mean Max for Mth:
18.1 Warmer than average
Total Wind Run for Mth:
Windiest Day (24 hrs to 09:00):"
"
"
Calmest Day (24 hrs to 09:00):
Mean Max for June (20 yrs):
17.2
SUNRISE & SUNSET
Highest Max (Warmest Day):
23.9 on 01
Lowest Max (Coldest Day):
13. On 12
TEMPERATURES (C)
Mean Min for Mth:08.2 Much warmer than ave
Mean Min for June (20 yrs):
06.4
Lowest Min (Coldest Night):
02.6 on 09
Highest Min (Warmest Night):
13.5 on 24
RAINFALL (mm) (24 hrs to 09:00)
"
Total Rain for Mth:"
"
90.4 on 12 days.
Slightly below average.
Wettest Day (24h to 09:00):
26.4 on 11
Average for June (25 yrs):
109.0 on 10
Total for 06 mths so far:"
"
"
542.0 on 72 days.
Very depleted.
Average for 06 mths (25 yrs):
762.0 on 71 days
Annual Average Rainfall (25 yrs):1142.8 on 131 days
1660
189 on 24,
185 on 26, 172 on 27
09 on 16
Date"
Sunrise"
Sunset"
Difference
01
11
21
30
06:52
06:57
07:00
07:01
16:54
16:53
16:54
16:57
10:02
09:56
09:54
09:56
Jun
Jun
Jun
Jun
(Sunset times began to get later after about June 11)
(Sunrise times continue to get later until early July)
(Soon we can take advantage of the later sunsets)
SUMMARY
The month was warmer than average with average rainfall, but the total
rain so far for the year is still very depleted. The month began with mild
to warm maximums, and became cooler as the month progressed, with
some very cold nights such as June 09 with 02.6. Some other years have
had much colder June nights than this, and minimums below zero in June
are not very unusual. The month was mostly calm, but strong winds
blew on 23, 24 and 26, 27. Fog occurred on 17, 18 after some rain on
17, heavy rain fell on 11 June.
35
Output: Die Wetterzusammenfassung
The month was warmer than average with average rainfall,
but the total rain so far for the year is still very depleted.
The month began with mild to warm maximums, and
became cooler as the month progressed, with some very
cold nights such as June 09 with 02.6. Some other years
have had much colder June nights than this, and minimums
below zero in June are not very unusual. The month was
mostly calm, but strong winds blew on 23, 24 and 26, 27.
Fog occurred on 17, 18 after some rain on 17, heavy rain fell
on 11 June.
36
Die Input-Daten
• Eine Menge von 16 Datenelementen, die
automatisch alle 15 Minuten gesammelt
werden: Luftdruck, Temperatur,
Windgeschwindigkeit, Niederschlag…
• Vorverarbeitet, so dass sich
DailyWeatherRecords ergeben:
((type dailyweatherrecord)
(date ((day ...)
(month ...)
(year ...)))
(temperature ((minimum ((unit degrees-centigrade)
(number ...)))
(maximum ((unit degrees-centrigrade)
(number ...)))))
(rainfall ((unit millimetres)
(number ...))))
37
Andere verfügbare Daten
• Historische Daten: Durchschnittstemperaturen
und -niederschläge für jeden Monat im
Zeitraum der Aufzeichnung (1971 bis jetzt)
• Historische Mittelwerte: Durchschnitttliche
Temperatur- und Niederschlagswerte für die 12
Monate eines Jahres über den Aufzeichnungszeitraum
38
Anforderungsanalyse
Entwickler müssen:
• Die Bedürfnisse des Kunden verstehen
• Eine Funktionalität vorschlagen, die diesen
Bedürfnissen gerecht wird
39
Korpus-basierte
Anforderungsanalyse
Ein Korpus:
• Besteht aus Beispielen von Ausgabetexten und
entsprechenden Inputdaten
• Spezifiziert ‘by example’ die Funktionalität des
vorgeschlagenen NLG-Systems
• Ist eine sehr nützliche Quelle sowohl für das
Design als auch für die Anforderungsanalyse
40
Anforderungsanalyse
Vier Schritte
• Zusammenstellen eines initialen Korpus von
(human-authored) Ausgabetexten und
assoziierten Eingabedaten
• Analyse des Informationsgehalts der Texte
anhand der Inputdaten
• Entwicklung eines Ziel-Korpus
• Kreierung einer formalen Spezifikation
41
Schritt 1: Zusammenstellen eines
initialen Korpus
• Sammeln eines Korpus von (human-authored)
Ausgabetexten und assoziierten Eingabedaten
• Eine Quelle stellen archivierte Beispiele von
human-authored Texten dar
• Wenn keine solche Beispiele vorliegen, werden
Domänenexperten gebeten, welche zu
produzieren
• Das Korpus sollte den gesamten Bereich der
Texte abdecken, die vom NLG-System
produziert werden sollen
42
Initialer Text (April 1995)
SUMMARY
The month was rather dry with only three days of
rain in the middle of the month. The total for the
year so far is very depleted again, after almost
catching up during March. Mars Creek dried up
again on 30th April at the waterfall, but resumed
on 1st May after light rain. This is the fourth time
it dried up this year.
43
Schritt 2: Analyse des
Informationsgehalts der Texte
• Ziel:
– Bestimmen, wo die Information die in den
Texten vorhanden ist, her stammt, sowie das
Ausmaß, in dem das NLG-System diese
Information manipulieren muss
• Resultat:
– Ein detailliertes Verständnis der
Korrespondenzen zwischen Eingabedaten
und Ausgabetexten im initialen Korpus
44
Informationstypen in Texten
•
•
•
•
Nicht-veränderlicher Text
Direkt-verfügbare Daten
Berechenbare Daten
Nicht-verfügbare Daten
45
Nicht-veränderlicher Text
SUMMARY
The month was rather dry with only three days of
rain in the middle of the month. The total for the
year so far is very depleted again, after almost
catching up during March. Mars Creek dried up
again on 30th April at the waterfall, but resumed
on 1st May after light rain. This is the fourth time
it dried up this year.
46
Direkt-verfügbare Daten
SUMMARY
The month was rather dry with only three
days of rain in the middle of the month. The
total for the year so far is very depleted again,
after almost catching up during March. Mars
Creek dried up again on 30th April at the
waterfall, but resumed on 1st May after light rain.
This is the fourth time it dried up this year.
47
Berechenbare Daten
SUMMARY
The month was rather dry with only three days of
rain in the middle of the month. The total for
the year so far is very depleted again, after
almost catching up during March. Mars Creek
dried up again on 30th April at the waterfall, but
resumed on 1st May after light rain. This is the
fourth time it dried up this year.
48
Nicht-verfügbare Daten
SUMMARY
The month was rather dry with only three days of
rain in the middle of the month. The total for the
year so far is very depleted again, after almost
catching up during March. Mars Creek dried up
again on 30th April at the waterfall, but
resumed on 1st May after light rain. This is
the fourth time it dried up this year.
49
Lösung für das Problem
nicht-verfügbarer Daten
• Dem System kann mehr Information verfügbar
gemacht werden: das kann teuer sein
– soll Mars Creek Sensoren erhalten?
• Wenn das System eine Texterstellungshilfe ist,
kann der menschliche Autor diese Information
hinzufügen
– Das System produziert die ersten zwei Sätze,
der Autor fügt die zwei anderen hinzu
• Das Zielkorpus kann überarbeitet werden, so
dass Sätze eliminiert werden, die diese
Information übermitteln
– Nur die ersten zwei Sätze werden produziert
50
Schritt 3: Entwicklung eines ZielKorpus
Unabdingbare Veränderungen:
• Elimination nicht-verfügbarer Daten
• Spezifizierung, welche Text-Teile humanauthored sein werden
Optionale Änderungen:
• Vereinfachen des Textes, um leichter generieren
zu können
• Verbessern der human-authored Texte
• Konsistenz unter den Autoren bewirken
51
Target Text
The month was rather dry with only three days of
rain in the middle of the month. The total for the
year so far is very depleted again.
52
Schritt 4: Funktionale Spezifkation
• Basiert auf einem abgestimmten Zieltextkorpus
• Nennt explizit die Rolle menschlicher Autoren,
wenn vorhanden
• Nennt explizit die Struktur und den Bereich des
Inputs, der verwendet werden soll
53
Initial Text #2
The month was our driest and warmest August in
our 24 year record, and our first 'rainless' month.
The 26th August was our warmest August day in
our record with 30.1, and our first 'hot' August
day (30). The month forms part of our longest dry
spell 47 days from 18 July to 02 September 1995.
Rainfall so far is the same as at the end of July but
now is very deficient.
54
Target Text #2
The month was the driest and warmest August in
our 24 year record, and the first rainless month of
the year. 26th August was the warmest August
day in our record with 30.1, and the first hot day
of the month. Rainfall for the year is now very
deficient.
55
Fallstudie soweit
Wir nehmen an, dass
• Wir die Source-Daten lokalisiert haben
• Wir die Daten vorverarbeitet haben (zu den
DailyWeatherRecords)
• Wir ein initiales Textkorpus erstellt haben
• Wir das Korpus verändert haben (um eine
Menge von Zieltexten hervorzubringen)
56
Ist es wert, NLG zu
verwenden?
• Für eine Zusammenfassung pro Monat wohl
nicht, insbesondere wenn man die
Vereinfachungen betrachtet, die gemacht
werden mussten, um einfach zu machen, Texte
zu generieren
• Allerdings, der Klient ist an einer Pilotstudie
interessiert :
– In Zukunft könnte es einen Wechsel zu
wöchentlichen Zusammenfassungen geben
– Es gibt viele automatische Wetterdatensammlungsdienste, von denen jede die
Technologie verwenden könnte
57
Forschungsfragen
• Entwicklung einer angemessenen
Korpusanalysemethodologie
• Verwendung von ExpertensystemWissensakquisitionstechniken
• Automatisierung von Aspekten der
Korpusanalyse
• Integration der Korpusanalyse in StandardAnforderungsanalyseverfahren
58
Überblick
1" "
Eine Einführung in die Sprachgenerierung
"
(natural language generation, NLG)
2 Anforderungsanalyse und Fallstudie
3 Teilaufgaben der NLG
4 NLG in Multimedia und Multimodalen
Systemen
5 Schlussbemerkungen und Verweise
59
Inputs und Outputs
Tägliche
Wetterdaten
NLG System
AusgabeText
((type dailyweatherrecord)
(date ((day 31)
(month 05)
(year 1994)))
(temperature ((minimum ((unit degrees-c)
(number 12)))
(maximum ((unit degrees-c)
(number 19)))))
(rainfall ((unit millimetres)
(number 3))))
The month was cooler
and drier than average,
with the average
number of rain days,
but ...
60
Die Architektursicht
Inhaltsbestimmung
Dokumentstrukturierung
Dokumentplanung
Mikroplanung
Oberflächen
Realisierung
61
Dokumentplanung
Ziele:
• Bestimmung, welche Information kommuniziert werden
soll
• Bestimmung, wie diese Information strukturiert wird, um
einen kohärenten Text zu ergeben
Zwei übliche Ansätze:
• Methoden verwenden, die auf Beobachtungen bzgl.
typischen Textstrukturen basieren
• Methoden verwenden, die auf Schlüssen über
Diskurskohärenz und dem Zweck eines Textes basieren
62
Inhaltsbestimmung
Basiert auf MESSAGES, vordefinierten
Datenstrukturen, die:
• informationalen Elementen im Text entsprechen
• Zugrundeliegende Daten in einer Weise
zusammensammeln, die für einen sprachlichen
Ausdruck angemessen sind
Kernidee:
• Mit Hilfe der Korpusanalyse die größtmöglichen
Gruppierungen von Informationselementen
identifizieren, die zugleich die erforderliche
Flexibilität im sprachlichen Ausdruck nicht
beeinträchtigen
63
Inhaltsbestimmung in
WeatherReporter
• Routine messages
– MonthlyRainFallMsg,
MonthlyTemperatureMsg,
RainSoFarMsg,
MonthlyRainyDaysMsg
• Werden immer konstruiert, für jede zu
generierende Zusammenfasssung
64
Inhaltsbestimmung in
WeatherReporter
MonthlyRainfallMsg:
((message-id msg091)
(message-type monthlyrainfall)
(period ((month 04)
(year 1996)))
(absolute-or-relative relative-to-average)
(relative-difference ((magnitude ((unit millimeters)
(number 4)))
(direction +))))
65
Inhaltsbestimmung in
WeatherReporter
• Bedeutende Event messages
– RainEventMsg,
RainSpellMsg,
TemperatureEventMsg,
TemperatureSpellMsg
• Werden nur konstruiert, wenn die Daten ihre
Konstruktion rechtfertigen: z.B., wenn es an
mehr als der spezifizierten Anzahl von Tagen in
Folge regnet
66
Inhaltsbestimmung in
WeatherReporter
RainSpellMsg:
((message-id msg096)
(message-type rainspellmsg)
(period ((begin ((day 04)
(month 02)
(year 1995)))
(end ((day 11)
(month 02)
(year 1995)))
(duration ((unit day)
(number 8)))))
(amount ((unit millimetres)
(number 120))))
67
Inhaltsbestimmung
Alternative Strategien:
• Erstelle alle möglichen messages aus den Daten,
wähle dann die zur Verbalisierung, die im
Generierungskontext angemessen sind
• Identifiziere Information, die für den
Generierungskontext benötigt werden, und
konstruiere angemessene messages aus den
Daten
Die Inhaltsbestimmungsaufgabe ist grundsätzlich
eine domänenabhängige Expertensystem-ähnliche
Aufgabe
68
Dokumentstrukturierung mit
Schemata
Grundidee (nach McKeown 1985):
• Texte folgen oft konventionalisierten Mustern
• Diese Muster können mit Hilfe von
‘Textgrammatiken’ erfasst werden, die sowohl
den Inhalt diktieren als auch eine kohärente
Struktur sichern.
• Die Muster spezifizieren, wie ein bestimmter
Dokumentplan durch Verwendung kleinerer
Schemata oder atomarer messages erstellt
werden kann
• Unterschiedliche Grade der Variabilität und
Optionalität können spezifiziert werden
69
Dokumentstrukturierung mit
Schemata
Die Implementierung der Schemata:
• Einfache Schemata können als Grammatiken
implementiert werden
• Flexiblere Schemata werden üblicherweise als
Makros oder als Klassenbibliotheken (class
libraries) konventioneller Programmiersprachen
implementiert, wobei jedes Schema eine
Prozedur ist
• currently the most popular document planning
approach in applied NLG systems
70
Schemata
aus einem Korpus ableiten
Gebrauch des Ziel-Textkorpus:
• Nimm eine kleine Anzahl ähnlicher Korpustexte
• Identifiziere die messages und versuche zu bestimmen,
wie jede message aus den Inputdaten berechnet werden
kann
• Iterativ:
– Schlage Regeln oder Strukturen vor, die erklären,
warum eine message x im Text A ist aber nicht in Text
B – das kann leichter sein, wenn die messages in einer
Taxonomie angeordnet werden
– Diskutiere diese Analyse mit Domänenexperten
• Wiederhole das ganze mit einer größeren Menge an
Korpustexten
71
Dokumentplanung im
WeatherReporter
Ein einfaches Schema:
WeatherSummary →
MonthlyTempMsg
MonthlyRainfallMsg
RainyDaysMsg
RainSoFarMsg
72
Dokumentplanung im
WeatherReporter
Eine komplexere Menge an Schemata:
WeatherSummary →
TemperatureInformation RainfallInformation
TemperatureInformation →
MonthlyTempMsg [ExtremeTempInfo] [TempSpellsInfo]
RainfallInformation →
MonthlyRainfallMsg [RainyDaysInfo] [RainSpellsInfo]
RainyDaysInfo →
RainyDaysMsg [RainSoFarMsg]
...
73
Schemata in der Praxis
Test und andere Maschinerie werden oft explizit
gemacht:
(put-template maxwert-grenzwert "MV01"
(:PRECOND (:CAT DECL-E
:TEST ((pred-eq 'maxwert-grenzwert)
(not (status-eq (theme) 'no))))
:ACTIONS (:TEMPLATE (:RULE MAX-AVG-VALUE-E (self))
". As a result, "
(:RULE EXCEEDS-THRESHHOLD-E (self))
".")))
74
Schemata: Pro und Contra
Vorteile von Schemata:
• Komputationell effizient
• Erlauben beliebige Berechnungen wenn notwendig
• Unterstützen auf natürliche Weise Genre-Konventionen
• Relativ leicht aus einem Korpus zu erlangen
Nachteile
• Beschränkte Flexibilität: erfordern Vorherbestimmung
möglicher Strukturen
• Beschränkte Portabilität: sind normalerweise
domänenspezifisch
75
Dokumentstrukturierung durch
explizites Schließen
Beobachtung:
• Texte sind kohärent aufgrund von Beziehungen ihrer
Teile – Beziehungen wie erzählerische Abfolge,
Elaboration, Rechtfertigung...
Resultierender Ansatz:
• Segmentiere Wissen darüber, was einen kohärenten Text
ausmacht in einzelne Regeln
• Verwende diese Regeln, um dynamisch Texte aus
Einzelelementen aufzubauen, auf der Grundlage von
Schluss-folgerungen über die Rolle dieser Elemente im
ganzen Text
76
Dokumentstrukturierung durch
explizites Schließen
• Typischerweise werden KI-Planungstechniken
verwendet:
– Ziel = gewünschter kommunikativer Effekt
– Plankonstituenten = messages oder
Strukturen, die messages verbinden
(Subpläne)
• Kann explizites Schließen über die Annahmen
des Benutzers involvieren
• Basiert oft auf Ideen der Rhetorical Structure
Theory (RST)
77
Rhetorical Structure Theory
D1: You should come to the Northern Beaches
Ballet performance on Saturday.
D2:" I’m in three pieces.
D3: The show is really good.
D4: It got a rave review in the Manly Daily.
D5: You can get the tickets from the shop next
door.
78
Rhetorical Structure Theory
MOTIVATION
MOTIVATION
ENABLEMENT
EVIDENCE
You should
I’m in ... The show ... It got a ... You can get ...
...
79
Eine RST Relationsdefinition
N = Nukleus
S = Satellit
Relationsname: Motivation
Beschränkungen/Constraints an N:
Präsentiert eine Aktion (unrealisiert), in der der Hörer
der Aktor ist
Constraints an S:
Das Verstehen von S erhöht den Wunsch des Hörers, die
in N präsentierte Aktion durchzuführen
Der Effekt:
Der Wunsch des Hörers, die in N präsentierte Aktion
durchzuführen ist erhöht
80
Dokumentstrukturierung im
WeatherReporter
Drei grundlegende rhetorische Beziehungen:
• SEQUENCE
• ELABORATION
• CONTRAST
Anwendbarkeit von rhetorisch-basierten
Planungsoperatoren werden durch Attribute der
messages determiniert
81
Message Attribute
MonthlyTempMsg
significance=routine
status=primary
status=secondary
MonthlyRainMsg
RainyDaysMsg
RainSoFarMsg
RainAmountsMsg
significance=significant
TempEventMsg
TempSpellMsg
RainSpellMsg
82
Dokumentstrukturierung im
WeatherReporter
SEQUENCE
• Zwei messages können durch eine SEQUENCE
Beziehung verbunden werden, wenn beide das
Attribut
message-status = primary
haben
83
Dokumentstrukturierung im
WeatherReporter
ELABORATION
• Zwei messages können durch eine
ELABORATION Beziehung verbunden werden,
wenn:
– beide dasselbe message-topic haben
– der Nukleus message-status = primary hat
84
Dokumentstrukturierung im
WeatherReporter
CONTRAST
• Zwei messages können durch eine CONTRAST
Beziehung verbunden werden, wenn :
– beide dasselbe message-topic haben
– beide das Merkmal
absolute-or-relative = relative-to-average
haben
– sie verschiedene Werte für
relative-difference:direction haben
85
Dokumentstrukturierung im
WeatherReporter
• Wähle eine Anfangsmessage
• Verwende rhetorische Operatoren, um
messages zu dieser Struktur hinzuzufügen, bis
alle messages verwendet wurden oder keine
weiteren Operatoren anwendbar sind
• Die Anfangsmessage ist irgendeine message mit
message-significance = routine
86
Dokumentstrukturierung mit
Relationsdefinitionen
Der Algorithmus:
DocumentPlan = StartMessage
MessageSet = MessageSet - StartMessage
repeat
– finde einen rhetorischen Operator, der die Anbindung
einer weiteren message an den Dokumentplan erlaubt
– Binde die message an und entferne sie aus MessageSet
bis MessageSet = {} oder keine weiteren Operatoren
anwendbar sind
87
Zieltext #1
The month was cooler and drier than average, with
the average number of rain days, but the total rain
for the year so far is well below average. Although
there was rain on every day for 8 days from 11th
to 18th, rainfall amounts were mostly small.
88
Dokumentstrukturierung im
WeatherReporter
Das Message Set:
MonthlyTempMsg ("cooler than average")
MonthlyRainfallMsg ("drier than average")
RainyDaysMsg ("average number of rain days")
RainSoFarMsg ("well below average")
RainSpellMsg ("8 days from 11th to 18th")
RainAmountsMsg ("amounts mostly small")
89
Dokumentstrukturierung im
WeatherReporter
SEQUENCE
ELABORATION
ELABORATION
MonthlyTmp
Msg
Monthly
RainfallMsg
CONTRAST
RainyDays
Msg
RainSoFar
Msg
CONTRAST
RainAmount
s
Msg
RainSpell
Msg
90
Komplexere Algorithmen
nach [Marcu 1997]:
• Nimm an, dass mehrere Dokumentpläne erstellt
werden können von einer Menge an messages
und Relationen
• Nimm an, das jedem Dokumentplan ein
Gütewert (desirability score) zugewiesen werden
kann
• Bestimme den besten Dokumentplan
91
Dokumentplanung
• Das Resultat ist ein DOCUMENT PLAN: eine
Baumstruktur, bestehend aus messages an den
Blättern nodes
• Nächster Schritt: Realisierung der messages als
Text
92
Forschungsthemen
• Gebrauch von Expertensystemtechniken bei der
Inhaltsbestimmung, z.B. case-based reasoning
• Verfahren zur Integration von Schema- und
Relationen-Ansätzen für die
Dokumentstrukturierung
• Ein besseres Verstehen von rhetorischen
Relationen
• Wissensakquisition -- z.B., Methodologien für
das Kreieren von Inhaltsregeln, Schemata und
Anwendungsbedingungen von Relationen für
bestimmte Anwendungen
93
Ein einfacher Realisierer
• Wir können einen Ausgabesatz pro message im
Dokumentplan produzieren
• Ein spezialisiertes Codefragment für jeden
message-Typ bestimmt, wie eine entsprechende
message realisiert wird
94
Der Dokumentplan
DOCUMENTPLAN
SATELLITE-01
[SEQUENCE]
SATELLITE-02
[SEQUENCE]
NUCLEUS
NUCLEUS
cooler than
average
drier than
average
SATELLITE-01
[ELABORATION]
NUCLEUS
average #
raindays
SATELLITE-01
[CONTRAST]
NUCLEUS
SATELLITE-02
[ELABORATION]
NUCLEUS
SATELLITE-01
[CONTRAST]
rainspell
NUCLEUS
rain so
far
rain
amounts
95
Ein einfacher Realisierer
Für MonthlyTemperatureMsg:
TempString = case (TEMP - AVERAGETEMP)
[2.0 … 2.9]: ‘ very much warmer than average.’
[1.0 … 1.9]: ‘much warmer than average.’
[0.1 … 0.9]: ‘slightly warmer than average.’
[-0.1 … -0.9]: ‘slightly cooler than average.’
[-1.0 … -1.9]: ‘much cooler than average.’
[-2.0 … -2.9]: ‘ very much cooler than average.’
endcase
Sentence = ‘The month was’ + TempString
96
Eine Message pro Satz
•
Resultat:
The month was cooler than average.
The month was drier than average.
There were the average number of rain days.
The total rain for the year so far is well below average.
There was rain on every day for 8 days from 11th to 18th.
Rainfall amounts were mostly small.
•
Zieltext:
The month was cooler and drier than average, with the average number
of rain days, but the total rain for the year so far is well below average.
Although there was rain on every day for 8 days from 11th to 18th,
rainfall amounts were mostly small.
97
Einfache Schablonen (Templates)
Probleme mit einfachen Templates in diesem
Beispiel:
• MonthlyTemp and MonthlyRainfall erscheinen
nicht immer im selben Satz
• Wenn sie im selben Satz erscheinen, dann nicht
immer in derselben Reihenfolge
• Jedes kann auf verschiedene Weise realisiert
werden: z.B. ‘very warm’ vs ‘warmer than
average’
• Zusätzliche Information kann in denselben Satz
inkorporiert werden oder auch nicht
98
Mikroplanung
Ziel:
• Einen Dokumentplan in eine Abfolge von Sätzen
oder Phrasenspezifikationen umwandeln
Aufgaben:
• Paragraph- und Satzaggregation
• Lexikalisierung
• Referenz
99
Die Architektursicht
Dokumentplanung
Mikroplanung
Linguistisch
e
Realisierung
100
Interaktionen bei der
Mikroplanung
Referring
Expression
Generation
Input
Messages
Protophrase
Specification
s
Lexicalisatio
n
Phrase
Specifications
Aggregatio
n
101
Sequentielle (pipelined) Mikroplanung
Referring Expression Gen'n
Aggregation
Lexicalisation
Input
Messages
Phrase
Specification
s
102
Aggregation
Kombinationen können auf Folgendem basieren:
• Informationsgehalt
• Möglichen Formen der Realisierung
Einige Möglichkeiten:
• Einfache Konjunktion/Verknüpfung
• Ellipse
• Einbettung
• Mengeneinführung
103
Beispiele
Ohne Aggregation:
– Heavy rain fell on the 27th.
Heavy rain fell on the 28th.
Mit Aggregation durch einfache Konjunktion:
– Heavy rain fell on the 27th and heavy rain fell on the
28th.
Mit Aggregation durch Ellipse:
– Heavy rain fell on the 27th and [] on the 28th.
Mit Aggregation durch Mengeneinführung:
– Heavy rain fell on [the 27th and 28th].
104
Ein Beispiel: Einbettung
Ohne Aggregation:
– March had a rainfall of 120mm.
It was the wettest month.
Mit Aggregation:
– March, which was the wettest month, had a rainfall of
120mm.
105
Auswahlheuristiken
Es gibt normalerweise viele Wege, um eine
gegebene message-Menge zu aggregieren: wie
wählt man aus?
• konform gehen mit Genre-Konventionen and
-regeln
• Strukturelle Eigenschaften be(ob)achten
– Z.B., aggregiere nur messages, die
Geschwisterknoten im Dokumentplanbaum
sind
• Pragmatische Ziele berücksichtigen
106
Pragmatik: STOP Beispiel
• Den Text freundlicher gestalten, indem
Empathie hinzugefügt wird:
– It’s clear from your answers that you don’t feel too
happy about being a smoker and it’s excellent that
you are going to try to stop.
• Den Text lesbarer/leichter für schlechte Leser
machen:
– It’s clear from your answers that you don’t feel too
happy about being a smoker. It’s excellent that you
are going to try to stop.
107
Aggregation im
WeatherReporter
Sensibel gegenüber rhetorischen Relationen:
• Stehen zwei messages in einer SEQUENCE Relation
zueinander, können sie auf derselben Ebene
zusammengefügt werden
• Wenn eine message eine ELABORATION einer anderen ist,
können sie entweder auf derselben Ebene miteinander
verknüpft werden, oder erstere kann als Teilsatz/-phrase
eingebettet werden
• Wenn eine message einen CONTRAST zu einer anderen
darstellt, können sie entweder auf derselben Ebene
miteinander verknüpft werden, oder erstere kann als
Teilsatz/-phrase eingebettet werden
108
Eine Aggregationsregel
S
NUCLEUS
Msg1
SATELLITE-01
[CONTRAST]
NUCLEUS
S+
Conj
S
S
R(Msg2)
Msg2
although
R(Msg1)
109
Lexikalisierung
• Der Prozess der Auswahl von Wörtern, um die
Information in den messages zu kommunizieren
• Methoden:
– Templates
– Entscheidungsbäume
– Graphersetzungsalgorithmen
110
Lexikalische Auswahl
Wenn verschiedene Lexikalisierungen möglich sind, beachte:
• Benutzerwissen und -einstellungen
• Konsistenz mit vorherigem Gebrauch
– In einigen Fällen ist es das Beste, die Lexeme zu
variieren
• Die Interaktion mit anderen Aspekten der Mikroplanung
• Pragmatik
– It is encouraging that you have many reasons to stop.
[genauere Bedeutung]
– It’s good that you have a lot of reasons to stop. "
"
[niedrigerer Lese-Level]
111
WeatherReporter: Variationen in der
Beschreibung von Niederschlag
Variationen in der syntaktischen Kategorie:
S: NP:
AP:
[rainfall was very poor indeed]
[a much worse than average rainfall]
[much drier than average]
Variationen in der Semantik:
Absolut:"
[very dry]
"
[a very poor rainfall]
Komparativ:" [a much worse than average rainfall]
"
[much drier than average]
112
WeatherReporter:
Aggregation und Lexikalisierung
Viele verschiedene Resultate sind möglich:
•
The month was cooler and drier than average.
There were the average number of rain days, but the total rain
for the year so far is well below average. There was rain on
every day for 8 days from 11th to 18th, but rainfall amounts
were mostly small.
•
The month was cooler and drier than average.
Although the total rain for the year so far is well below average,
there were the average number of rain days. There was a small
mount of rain on every day for 8 days from 11th to 18th.
113
Generierung referierender
Ausdrücke
Wie identifizieren wir spezifische Domänenobjekte
und -entitäten?
Zwei Sachen:
• Initiale Einführung eines Objekts
• Nachfolgende Referenzen auf ein bereits
salientes Objekt
114
Initiale Referenz
Zur Einführung eines Objekts in den Diskurs:
• Verwende den Namen
– Jeremy
• Beziehe dich auf ein bereits eingeführtes/
salientes Objekt
– Jane's goldfish
• Gib den Ort des Objekts an
– the goldfish in the bowl on the table
Wenig verstanden; mehr Forschung ist notwendig
115
Nachfolgende Referenz
Einige Möglichkeiten:
• Pronomina
– It swims in circles.
• Definite NPs
– The goldfish swims in circles.
• Eigennamen, möglicherweise abgekürzt
– Jeremy swims in circles.
116
Wahl der Referenzform
Einige Vorschläge aus der Literatur:
• Verwende ein Pronomen, wenn es sich auf eine
im letzten Teilsatz erwähnte Entität bezieht und
es dort keine andere Entität gibt, auf die es sich
beziehen könnte
• Sonst verwende einen Namen, wenn er kurz ist
• Sonst eine definite NP
Es ist außerdem wichtig, den Genrekonventionen
zu entsprechen -- z.B. gibt es mehr Pronomina
in Zeitungsartikeln als in technischen
Dokumenten (Manuals)
117
Beispiel
I am taking the Caledonian Express tomorrow. It
is a much better train than the Grampian Express.
The Caledonian has a real restaurant car, while the
Grampian just has a snack bar. The restaurant
car serves wonderful fish, while the snack bar
serves microwaved mush.
118
Generierung referierender
Ausdrücke im WeatherReporter
• Bezug auf Monate:
– June 1999
– June
– the month
– next June
• Relativ einfach, kann somit bei der
Dokumentplanung hard codiert werden
119
Forschungsfragen
• Wie treffen wir Mikroplanungsentscheidungen?
• Wie führen wir Aggregation auf höherer Ebene
durch, wie z.B. Paragraph-Bildung aus Sätzen?
• Wie lexikalisieren wir, wenn die
Domänenkonzepte nicht direkt Wörtern
entsprechen?
• Was ist die beste Weise, um eine initiale
Referenz auf Objekte durchzuführen?
120
Realisierung
Ziel:
Textspezifikationen in einen tatsächlichen Text
umwandeln
Zweck:
Die Besonderheiten der jeweiligen Sprache vom
Rest des NLG-Systems verstecken
121
Realisierungsaufgaben
Strukturrealisierung:
• Wahl eines Markup, um die Dokumentstruktur
zu vermitteln
Linguistische Realisierung:
• Einfügen von Funktionswörtern
• Auswahl der korrekten flektierten Form von
Inhaltswörtern
• Anordnung der Wörter im Satz
• Orthographische Regeln anwenden
122
Strukturrealisierung
• Füge Dokumentmarkup hinzu
• Ein Beispiel: Mittel zum Paragraphen-Markup:
<P>
– HTML
(blank line)
– LaTeX \par
– RTF – SABLE (speech) <BREAK>
• Hängt vom jeweiligen
Dokumentenpräsentations-system ab
• Wird üblicherweise mit einfachen
Abbildungsregeln durchgeführt
123
Linguistische Realisierung
Techniken:
• Bi-direktionale Grammatik-Spezifikationen
• Grammatik-Spezifikationen sind auf die
Generierung abgestimmt
• Template-basierte Mechanismen
124
Bi-direktionale GrammatikSpezifikationen
• Kernidee: eine Grammatikspezifikation wird
sowohl für Parsing als auch für Generierung
verwendet
• Können als eine Menge von deklarative
Abbildungen zwischen Syntax und Semantik
dargestelt werden
• Verschiedene Prozesse jeweils für Analyse und
Generierung
• Theoretisch elegant
• Wird gegenwärtig manchmal in MÜ-Systemen
verwendet, aber fast nie in NLG-Systemen
125
Probleme mit dem
Bi-direktionalen Ansatz
• Output eines NLU-Parsers (eine semantische
Form) ist sehr verschieden vom Input eines NLG
Realisierers (eine Textspezifikation)
• Es ist die Frage, ob Lexikalisierung in die
Realisierung integriert werden sollte
• In der Praxis schwierig, große bidirektionale
Grammatiken zu verwalten
• Schwierigkeiten mit der Behandlung fixer
Redewendungen/Phrasen
126
Generierungsspezifische
Grammatik-Spezifikationen
• Die Grammatik bietet eine Menge an Optionen
für die Generierung
• Die Auswahl wird jeweils auf der Basis der
Input- Textspezifikation getroffen
• Die Grammatik kann nur für NLG verwendet
werden
• Lauffähige Software ist verfügbar
– Bateman's KPML
– Elhadad's FUF/SURGE
– CoGenTex’s RealPro
127
Beispiel: KPML
• Linguistischer Realisierer, der auf der
Systemisch-funktionalen Grammatik basiert
• Nachfolger von Penman
• Verwendet die Nigel Grammatik fürs Englische
• Kleinere Grammatiken sind für einige andere
Sprachen verfügbar
• Beinhaltet eine
Grammatikentwicklungsumgebung
128
Systemische Grammatik
• Betont die funktionale Organisation von Sprache
• Oberflächenformen werden als Konsequenzen
der Auswahl einer Menge abstrakter Merkmale
aufgefasst
• Jede Wahl entspricht minimalen grammatischen
Alternativen
• Die Vermittlung durch eine intermediäre
abstrakte Repräsentation erlaubt es, dass die
Spezifikation des Textes graduell akkumuliert
wird
129
Ein systemisches Netzwerk
Bound Relative
Declarative
…
Indicative
Major
Imperative
Mood
Present-Participle
Minor
Polar
Interrogative
Wh-
Past-Participle
Infinitive
130
KPML
How it works:
• Auswahl durch INQUIRY SEMANTICS
• Für jedes Auswahlsystem in der Grammatik wird
eine Menge von Prädikaten (sog. CHOOSERS)
definiert
• Diese Tests sind Funktionen vom internen
Zustand des Realisierers und des umgebenden
Generierungssystems auf eines der Merkmale
im System, mit dem der Chooser assoziiert ist
131
KPML
Realisierungstatements:
• Kleine grammatische Constraints an jedem
Auswahlpunkt (choice point) bauen eine
grammatische Spezifikation auf
• 〈Insert SUBJECT〉: ein Element, das als Subjekt
fungiert, wird vorhanden sein
• 〈Conflate SUBJECT ACTOR〉: die Konstituente,
die als Subjekt fungiert, ist dieselbe wie die, die
als Aktor fungiert
• 〈Order FINITE SUBJECT〉: FINITE muss direkt vor
SUBJECT erscheinen
132
Realisierungs-Statements
Agentive
〈Insert Agent〉
〈Insert Actor〉
Passive
〈Preselect Actor Nominal Group〉
〈Insert Passive〉
〈Conflate Actor Agent〉
〈Classify Passive BeAux〉
〈Insert AgentMarker〉
〈Insert PassParticiple〉
〈Lexify AgentMarker by〉
〈Classify PassParticiple EnParticiple〉
〈Order AgentMarker Agent〉
Agentless
Active
133
An SPL input to KPML
(l / greater-than-comparison
:tense past
:exceed-q (l a) exceed
:command-offer-q notcommandoffer
:proposal-q notproposal
:domain (m / one-or-two-d-time :lex month :determiner the)
:standard (a / quality :lex average determiner zero)
:range (c / sense-and-measure-quality :lex cool)
:inclusive (r / one-or-two-d-time
:lex day
:number plural
:property-ascription (r / quality :lex rain)
:size-property-ascription
(av / scalable-quality :lex the-av-no-of)))
The month was cooler than average with the average number of rain days.
134
Beobachtung
•
•
•
•
Diese Ansätze sind auf breit-abdeckende sprachlich
ausgefeilte Behandlungen ausgerichtet
Die meisten der existierenden Anwendungen benötigen
diesen Grad an sophistication nicht: das meiste von dem,
was gebraucht wird, kann durch Schablonen oder sogar
vorgefertigten Text (canned text) erreicht werden
Viele Anwendungen brauchen jedoch eine tiefere
Behandlung einiger sprachlicher Aspekte
Lösung: die Integration von Textschnipseln, Schablonen
und prinzipienbasierter Realisierung in einem System
135
Busemann's TG/2
• Integriert canned text, templates and
kontextfreie Regeln
• Alles wird durch Produktionsregeln
ausgedrückt, deren Aktionen durch
Bedingungen determiniert werden, die von der
Inputstruktur erfüllt werden müssen
• Inputstrukturen sind in GIL spezifiziert, die
Generation Interface Language; erlaubt ein
portables Interface
• Der Output kann leicht formatierende Elemente
enthalten
136
TG/2 Überblick
Input
Structure
Translation
GIL Structure
The Generator
Engine
Test rules
Select a rule
Apply the rule
TGL
Production
Rules
Output string
137
Eine GIL Inputstruktur
[(COOP wertueberschreitung)
(TIME [(PRED dofc)
(NAME [(DAY 31)
(MONTH 12)
(YEAR 1996)])])
(POLLUTANT so2)
(SITE "Völklingen-City")
(THRESHOLD-VALUE [(AMOUNT 1000)
(UNIT mkg-m3)])
(DURATION [(DAY 30)])
(SOURCE [(LAW-NAME vdi-richtlinie-2310)
(THRESHOLD-TYPE mikwert)])
(EXCEEDS [(STATUS yes)
(TIMES 4)])]
138
Eine TGL Regel
(defproduction threshold-exceeding "WU01"
(:PRECOND (:CAT DECL
:TEST ((coop-eq 'threshold-exceeding)
(threshold-value-p)))
:ACTIONS (:TEMPLATE
(:OPTRULE PPTime (get-param 'time)
(:OPTRULE SITEV (get-param site)
(:RULE THTYPE (self)
(:OPTRULE POLL (get-param 'pollutant)
(:OPTRULE DUR (get-param 'duration)
"(" (:RULE VAL (get-param 'threshold-value))
(:OPTRULE LAW (get-param 'law-name)) ")"
(:RULE EXCEEDS (get-param 'exceeds)) "."
:CONSTRAINTS (:GENDER (THTYPE EXCEEDS) :EQ))))
139
TG/2 Output
On 31-12-1996 at the measurement station at
Völklingen-City, the MIK value (MIK-Wert) for
sulphur dioxide over a period of 30 days (1000
µg/m³ according to directive VDI 2310 (VDIRichtlinie 2310)) was exceeded four times.
140
Pro und Contra
• No free lunch: jedes existierende Tool erfordert
eine steile Lernkurve
• Ansätze wie TG/2 können für die meisten
Anwendungen ausreichend sein
• Linguistisch-motivierte Ansätze erfordern
einiges an theoretischem Einlassen und
Verstehen, versprechen aber breitere
Abdeckung und Konsistenz
141
Morphologie und
Orthographie
Realisierer muss in der Lage sein,
• Wörter zu flektieren
• Die üblichen orthographischen Regeln
anzuwenden (apply standard orthographic
spelling changes)
• Satzzeichen hinzuzufügen
• Die üblichen Interpunktionsregeln hinzuzufügen
(to add standard punctuation rules)
142
Forschungsfragen
• Wie können verschiedene Techniken (und
linguistische Formalismen) miteinander
verbunden werden?
• Was sind die Kosten und Vorteile der
Verwendung von Templates gegenüber der von
“tieferen” Realisierungstechniken?
• Wie beeinflussen Layout-Fragen die
Realisierung?
143
Overview
1" "
Eine Einführung in die Sprachgenerierung
"
(natural language generation, NLG)
2 Anforderungsanalyse und Fallstudie
3 Teilaufgaben der NLG
4 NLG in Multimedia und Multimodalen
Systemen
5 Schlussbemerkungen und Verweise
144
Dokumenttypen
•
Einfaches ASCII (z.B. Emailnachrichten)
– Relativ einfach: nur Wörter und Interpunktion
•
Gedruckte Dokumente (z.B. Zeitungen, technische
Dokumente)
– Typografie, Grafiken müssen berücksichtigt werden
•
Onlin-Dokumente (z.B. Web pages)
– Hypertextverweise beachten
•
Gesprochene Sprache (z.B. Radiosendungen, Information
über das Telephon)
– Prosodie berücksichtigen
•
Visuelle Präsentation (z.B. TV-Sendungen, MS Agent)
– Animation, Gesichtsausdrücke
145
Typographie
•
•
•
Zeicheneigenschaften (kursiv, fett, Farbe, Font)
– Kann verwendet werden, um Emphase oder andere
Aspekte des Gebrauchs von Sprache anzuzeigen:
typographische Unterscheidungen tragen Bedeutung
Layout (Aufzählungen, Abschnittts- und
Kapitelüberschriften)
– Ermöglicht Strukturierung, kann den
Informationszugang erleichtern
Spezielle Konstrukte bieten fortgeschrittenere Ressourcen
– Kastentext, Randbemerkungen, ...
146
Typographisch-flacher Text
When time is limited, travel by limousine, unless
cost is also limited, in which case go by train.
When only cost is limited a bicycle should be used
for journeys of less than 10 kilometers, and a bus
for longer journeys. Taxis are recommended
when there are no constraints on time or cost,
unless the distance to be travelled exceeds 10
kilometers. For journeys longer than 10
kilometers, when time and cost are not important,
journeys should be made by hire car.
147
Strukturierter Text
When only time is limited:
travel by Limousine
When only cost is limited:
travel by Bus if journey more than10 kilometers
travel by Bicycle if journey less than10 kilometers
When both time and cost are limited:
travel by Train
When time and cost are not limited:
travel by Hire Car if journey more than10 kilometers
travel by Taxi if journey less than10 kilometers
148
Tabellendarstellung
When only time is limited
When only cost is limited
When time and cost are not
limited
When both time and cost are
limited
If journey
<10km
travel by
Limousine
travel by
Bicycle
travel by
Taxi
travel by
Train
If journey
>10km
travel by
Limousine
travel by
Bus
travel by
Hire Car
travel by
Train
149
Bildliche Darstellung
Is time limited?
Yes
Yes
No
Is cost
limited?
Is cost
limited?
Yes
No
No
Is travelling distance
more than 10 miles?
travel
by
Train
travel
by
Limousin
e
Is travelling distance
more than 10 miles?
Yes
No
Yes
No
travel
by
Bus
travel
by
Bicycle
travel
by
Hire Car
travel
by
Taxi
150
Text und Graphik
• Was ist besser? Hängt ab von:
• Typ der kommunizierten Information
– Expertise des Benutzers
– Überlieferungsmedium
• Bester Ansatz: beides verwenden!
151
Ein Beispiel von WIP
152
Ähnlichkeiten
zwischen Text and Graphik
•
•
•
•
Beide enthalten Subsprachen
Beide erlauben konversationelle Implikaturen
Struktur ist in beiden wichtig
Beide drücken Diskursrelationen aus
Brauchen wir eine Medien-unabhängige Theorie
der Kommunikation?
153
Hypertext
• Generate Web pages!
– Dynamic hypertext
• Models of hypertext
– browsing
– question-space
– dialogue
• Model-dependent issues
– click on a link twice: same result both times?
– discourse models for hypertext
154
Beispiel: Peba
155
Sprachausgabe
•
•
Die NLG Perspektive: erweitert die Ausgabemöglichkeiten
– Kommunizieren über Kanäle gesprochener Sprache
(z.B., Telefon)
– Information hinzufügen (Z.B. Emotion, Wiichtigkeit)
Die Sprachsynthese-Perspektive: Betonung trägt
Information
– Benötigt Information über syntaktische Struktur,
Informationsstatus, Homographen
– Wird momentan durch Textanalyse erlangt
– Könnte von einem NLG-System automatisch erlangt
werden: concept-to-speech
156
Beispiele
• John took a bow
– Schwer durch Textanalyse zu bestimmen,
welche Lesart von bow gemeint ist, und
somit, wie es ausgesprochen wird
– Ein NLG-System weiß das jedoch
• John washed the dog
– Sollte den Teil betonen, der neu ist
– Ein NLG-System weiß, welcher das ist
157
Überblick
1" "
Eine Einführung in die Sprachgenerierung
"
(natural language generation, NLG)
2 Anforderungsanalyse und Fallstudie
3 Teilaufgaben der NLG
4 NLG in Multimedia und Multimodalen
Systemen
5 Schlussbemerkungen und Verweise
158
Angewandte NLG in 1999
• Viele NLG-Anwendungen werden untersucht
• Wenige Programme tatsächlich im Einsatz
– Aber wenigstens gibt es ein paar: 1989 gab
es noch keine
• Langsam gibt es wiederverwendbare Software
und spezialisierte Software-Firmen
• Mehr Betonung auf die Mischung einfacher und
komplexer Verfahren
• Mehr Betonung auf Evaluation
• We believe the future is bright
159
Ressourcen: SIGGEN
SIGGEN (ACL Special Interest Group for
Generation)
• Web site at
http://www.dynamicmultimedia.com.au/siggen
–
–
–
–
–
resources: software, papers, bibliographies
conference and workshop announcements
job announcements
discussions
NLG people and places
160
Ressourcen: Conferences and
Workshops
• International Workshop on NLG: every two years
• European Workshop on NLG: every two years,
alternating with the International Workshops
• NLG papers at ACL, EACL, ANLP, IJCAI, AAAI ...
• See SIGGEN Web page for announcements
161
Ressourcen: Firmen
Some software groups with NLG experience:
• CoGenTex: see http://www.cogentex.com
– FoG, LFS, ModelExplainer, CogentHelp
– RealPro and Exemplars packages available
free for academic research
• ERLI: see http://www.erli.com
– AlethGen, MultiMeteo system
162
Ressourcen: Bücher
Ehud Reiter and Robert Dale [1999]
Building Natural Language Generation Systems
Cambridge University Press
Don’t miss it!
163
Document
Kategorie
Kunst und Fotos
Seitenansichten
2
Dateigröße
619 KB
Tags
1/--Seiten
melden