SLP Notizen
Teil III: Semantik
Kapitel 15: Semantische Analyse
Inhalt
- Syntaxgesteuerte semantische Analyse
- Kompositionalitätsprinzip: Bedeutung des Ganzen
ist aus den Teilbedeutungen der Teile zusammengesetzt
- syntax-driven: Syntaktische Strukturen tragen ebenfalls
Bedeutungen bzw. erzeugen semantische Strukturen
- zwei mögliche Architekturen:
- Pipeline: zu gegebenen Syntaxbäumen wird die
Semantik erzeugt
- Integration: Semantik wird in einem Schritt mit dem
Syntaxbaum erzeugt
- lexikalische und syntaktische Ambiguität wird
hier nicht weiter behandelt, d. h. zu einem Satz werden mehrere ambige
Repräsentationen erzeugt
- semantische Regeln können syntaktischen Regeln
zugeordnet werden: Rule-to-Rule Hypothesis
- die Bedeutungen müssen kompositional sein
- A → α1
... αn
{f(αj.sem,
..., αk.sem)}
- die semantische Funktion f berechnet A.sem aus den
Bedeutungen der Konstituenten αi
- Terminale Regeln selektieren die Semantik der Lexeme: Noun -> Pizza {Pizza} | Luigi {Luigi}
- also gegebenenfalls mehrere ambige Regeln
- einfache NPs selektieren die Semantik ihres Kopfes: NP -> Noun {Noun.sem}
- Lambda-Ausdrücke erlauben die Erzeugung von "Prozeduren" für Verben, die auf ihre Argumente angewendet werden können:
- Verb -> serviert {λxλy∃e Isa(e, Serving) ∧ Server(e, y) ∧ Served(e, x)}
- erzeugt ein "Serving" mit den leeren Argumentstellen Server und Dish
- Phrasen wenden Lambda-Ausdrücke an:
- VP -> Verb NP {Verb.sem(NP.sem)}
- im Beispiel: "Serving" mit gefüllter Argumentstellen Dish und freiem Server
- S -> NP VP {VP.sem(NP.sem)}
- im Beispiel: "Serving", Dish: Pizza, Server: Luigi
- komplexe Terme erlauben Quantoren innerhalb von Termen, die mit einer einfachen Regel in echte PL umgeschrieben werden können:
- <Quantifier variable body>
- Rewrite-Regel: P(<Quantor x Körper>) -> Quantor x Körper Operator P(variable), wobei Operator ∧ für ∃ und → für ∀ benutzt wird.
- wann genau und in welcher Reihenfolge soll die Rewrite-Regel angewendet werden? -> Ambiguität
- damit sind komplexere NPs möglich:
- NP Det Nominal {<Det.sem x Nominal.sem(x)>}
- Det -> a {∃}
- Nominal -> Noun {λx Isa(x, Noun.sem)}
- "A restaurant" {∃x Isa(x, Restaurant)}
- Zusammenfassung:
- normale PL-Ausdrücke für Lexeme
- λ-Ausdrücken für einige Lexeme (zum Beispiel Verben)
- "Durchkopieren" in einfachen Phrasen (NP)
- Applikation von λ-Ausdrücken in Phrasen
- komplexe Terme um quantifizierte Ausdrücke zwischenzeitlich als Terme behandeln zu können
- Quantoren-Skopus:
- bei mehreren Quantoren entsteht Ambiguität: N Quantoren, O(N!) Anordnungen
- Heuristiken, Wahrscheinlichkeiten der Anordnung
- Regeln für ein Fragment des Englischen (TODO)
- Integration der semantischen Analyse in den Earley Parser
- für Regeln für die alle Konstituenten vorliegen wird die Semantik errechnet und mitgespeichert
- Vorteil: reduziert die Ambiguität, weil ungültige Parses gleich aussortiert werden
- Nachteil: Berechnung vieler Teilsemantiken, die später nicht genutzt werden
- Idiome, übertragener Sinn und Kompositionalität
- Redewendungen sind nicht kompositional, Lösungsansätze:
- Grammatikregeln die direkt Lexeme enthalten: NP -> the tip of the iceberg {Beginning}
- spätere Disambiguierung entscheidet, ob es sich tatsächlich um die Redewendung handelt
- Problem: Redewendungen haben ebenfalls eine Struktur
- idiomsspezifische Konstituenten (NP -> TipNP of IcebergNP), wodurch gewisse Variabilität entsteht
- riesige, komplexe Grammatiken, fürchterlich zu maintainen
- Robuste semantische Analyse
- semantische Grammatiken
- normal kontextfreie Grammatiken
- nicht die erzeugte syntaktische Struktur ist von Belang, sondern die erzeugte Semantik
- syntaktische Struktur wird möglichst flach gehalten und
bei der semantischen Auswertung ignoriert. Nutzung hauptsächlich
zur "Flexibilisierung" der Grammatik
- praktische Anwendung Dialogsysteme: JSGF, SRGS
- nicht generalisierbar, muss für jeden Anwendungsfall neu entworfen werden
- Information Extraction
- die präzise Semantik ist unwichtig, stattdessen geht es darum, Informationen zu einem bestimmten Thema zu gewinnen
- relativ einfache und unflexible Maske/template soll gefüllt werden
- Message Understanding Conferences
- Fastus: Kaskade von endlichen Automaten
- Tokenization
- multi words, Zahlen, Eigennamen
- einfache Phrasen
- komplexe Phrasen
- semantische Patterns -> jeweils in eigene Templates einfüllen
- Merging -> teilgefüllte Templates zusammenführen
- schnell, theoretisch nicht besonders mächtig
letzte Änderung: 5. August 2006.
mail AT timobaumann.de