Ein Vortrag aus dem Seminar „Sprachgesteuerte Geräte“ (Modelleisenbahn)
von
Martin EllrodtSven Magg
Oder:
Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
2
Von Sven Magg Inhalt
• Parsing von natürlicher Sprache (Martin)
– verschiedene Parsingansätze (Martin)
– PS-Grammatik (Martin)
– Chunk-Parsing (Martin)
• Parserdurchlauf für „Weiche drei schalten“ (Sven)
– neues Domänenmodell (Sven)
– Chart-Parsing (Sven)
– Erweiterungen an den Parserdateien (Martin)
• Zusammenfassung
© Martin Ellrodt
- „Parsen“ : in künstlichen und natürlichen Sprachen
- Generative Grammatiken:
C - Grammatik (Categorial Grammar)zwei Regeln, viele Kategorien
LAG (Linksassoziative Grammatik)wenige Regeln, wenige Kategorien
PS - Grammatik (Phrasenstruktur Grammatik)viele Regeln, wenige Kategorien
© Martin Ellrodt
Grundprinzipien der PS-Grammatik:
S
NP VP
DET N V NP
Der Hund liest
DET N
ein Buch
© Martin Ellrodt
- Ermittlung der Strukturen durch Distributionstests
- Probleme: diskontinuierliche ElementeLösungsversuch: Transformationsgrammatik
- Komplexitätsgrade der Grammatiken
- Unterformalismus „Chunk-Parsing“
© Martin Ellrodt
Chunks: Definition lt. Steve Abney
Vorteile: - Modularisierung
- Trennung syntaktischer und lexikalischer Ebenen
- Chuchu-Chunk-Parser arbeitet linear
Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
7
Von Sven Magg Parserkomponenten
Keyboard_parser
Morphologie
Lattice_loader_agent
chuchu_lexicon.txt
chuchu_grammar.txt
chuchu_domain.ciclop
chuchu_lexconcepts.ciclop
chuchu_dep.txt
chuchu_caseframes.txt
11.07.2001 Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
8
Von Sven Magg Chart erstellen
Weiche einsschalte
n
Weiche eins schalten
Weiche eins schalten
N VCN
Aus Lexikon:weiche N:morphfeat case = nom,morphfeat number = sing,morphfeat gender = fem:Weiche:[w;Weiche(w)]ENDENTRY
weiche N:morphfeat case = akk,morphfeat number = sing,morphfeat gender = fem:Weiche:[w;Weiche(w)]ENDENTRY
eins CN::CN:["1";CN("1")]ENDENTRY
schalten V:morphfeat conjug = inf:Schalten:[s;Schalten(s)]ENDENTRY
N
Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
9
Von Sven Magg Chart Parsing
Grammatik-Regeln:
NP: N (1)
NP: N CN (2)
NP: N EN (3)
PP: NP P
VP: V
N
Weiche
N
NP1
NP1
NP2
NP2
NP3
NP3
PP
PP
eins
CN
NP2
NP2
PP
© Martin Ellrodt
Grammatik
NP: N CN: head = N: role = has-value: NP = N: lambda <N>,<CN>;(<N> and (all has-value <CN>)): lambda <N>,<CN>;((delta([<N>]))((delta([<CN>]))(lambda<x>,<y>;([{};has-value(<y>,<x>)]))));
- die Grammatik ist beim syntaktischen Parsen nur für die Chunks zuständig!- Erweiterung um Regel „N: N EN:“, Zeitangaben
Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
11
Von Sven Magg
Weiche eins schalten
N CN V
VPNP
Grammatik-Regeln:
NP: NNP: N CNNP: N EN
VP: V
NP
Chart erstellen
N
NPNP
Weiche eins schalten
NP VP
NP
Chunk 16 Chunk 15
Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
12
Von Sven Magg
chunk16
syntax: NP: morphfeat: case: nom
gender:femnumber:sing
intension: SWITCHextension: ["3",head: const0;CN("3"),Weiche(const0),has-value(const0,"3")]pragmatic intension: SWITCHpragmatic extension: ["3",head: const0;CN("3"),Weiche(const0),has-value(const0,"3")]generation: weich
syntax: NP: morphfeat: case: akk
gender:femnumber:sing
intension: SWITCHextension: ["3",head: const1;CN("3"),Weiche(const1),has-value(const1,"3")]pragmatic intension: SWITCHpragmatic extension: ["3",head: const1;CN("3"),Weiche(const1),has-value(const1,"3")]generation: weich
Chunk 16
Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
13
Von Sven Magg Chunk 15
chunk15
syntax: VP: morphfeat: conjug:infintension: Schaltenextension: [head: const2;Schalten(const2)]pragmatic intension: SETSWITCHpragmatic extension: [head: const2;SETSWITCH(const2)]generation: schalten
© Martin Ellrodt
Dependencies
DIROBJ is DPDP morphfeat case = akk,DIROBJ = DP.
DIROBJ is NPNP morphfeat case = akk,DIROBJ = NP.
- Erweiterung um Hilfsverben, Zeitangaben
Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
15
Von Sven Magg
Die AgendaHolen der Valenzen
Aus chuchu_dep.txt:
SUBJ is NPDP morphfeat case = nom,SUBJ = NP.
DIROBJ is NPNP morphfeat case = akk,DIROBJ = NP.
Ab jetzt werden die Chunks in einer Schleife abgearbeitet!
CHUNK16:
NP [nom]
NP [akk]
SUBJ
DIROBJ
SUBJ
DIROBJ
4 offeneValenzen
Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
16
Von Sven Magg
VP_1 becomes VP with TVZ tvz VP_1 morphfeat vprefix = TVZ morphfeat vprefix.
VP has DIROBJ dirobj VP dirobj = DIROBJ.
VP has ADVERBIAL adverbial VP adv = ADVERBIAL.
VP has INDIROBJ indirobj VP indirobj = INDIROBJ.
VP has FREEDAT freedat VP freedat = FREEDAT.
VP has GENOBJ genobj VP genobj = GENOBJ.
VP has PREPOBJ prepobj VP prepobj = PREPOBJ.
CHUNK15:
VP 7 offeneValenzen
TVZ
DIROBJ
ADVERBIAL
INDIROBJ
FREEDAT
GENOBJ
PREPOBJ
Holen der Valenzen
© Martin Ellrodt
Kasusrahmen
schalten subj agens Objekt has-aim OBL, dirobj patiens Weiche has-part OBL.
weiche attrib name CN has-name OBL.
- Erweiterung um Hilfsverben, Zeitangaben
Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
18
Von Sven Magg
Bearbeitung der Valenzen
Caseframes vorhanden?
Keineaktiven
Valenzenmehr!
SUBJ
DIROBJ
SUBJ
DIROBJ
Chunk16:
Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
19
Von Sven Magg
Bearbeitung der Valenzen
TVZ
DIROBJ
ADVERBIAL
INDIROBJ
FREEDAT
GENOBJ
PREPOBJ
Chunk15
schalten subj agens Objekt has-aim OBL, dirobj patiens Weiche has-part OBL.
Lexikalisches Konzept „Weiche“=
Domänenkonzept SWITCH+
SETSWITCH (all has-part SWITCH)
Patiens-Rollefür
Chunk16
Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
20
Von Sven Magg Semantikgenerierung
new reading: syntax: NP: morphfeat: case: akk
gender:femnumber:sing
intension: SWITCHextension: ["3",head: const1;CN("3"),Weiche(const1),has-value(const1,"3")]pragmatic intension: SETSWITCHpragmatic extension: ["3",head: const1;CN("3"),Weiche(const1),has-value(const1,"3"),has-point(const2,const1)]generation: weich
sem role: patiens for: Schalten["3",const1,head: const2;CN("3"),Schalten(const2),Weiche(const1),has-value(const1,"3"),patiens(const2,const1)]
["3",const1,head: const2;CN("3"),Weiche(const1),has-value(const1,"3"),has-part(const2,const1),SETSWITCH(const2)]# meanings for: Schalten: 1
Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
21
Von Sven Magg Zusammenfassung
Was haben wir gelernt?
• Parsing von natürlicher Sprache– verschiedene Parsingansätze
– PS-Grammatik
– Chunk-Parsing
• Parserdurchlauf für „Weiche drei schalten“ – neues Domänenmodell
– Chart-Parsing
– Erweiterungen an den Parserdateien
Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
22
Von Sven Magg
ENDE
Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
23
Von Sven Magg
Morphology parser result:
Eintrag: weiche (3) Def. 1: Nfeatures:morphfeat:gender:fem
number:singcase:akk
grundform:weicheconcept description:
semantics:
concept:
head:
head word:
Def. 3: Vfeatures:morphfeat: conjug:imperativ
number:singgrundform:weichenconcept description:
semantics:
concept:
head:
head word:
1 Einträge sind im Lexikon enthalten.
Def. 2: ADJfeatures:morphfeat: gender:neut
number:singcase:akkdekl:dektypiigrade:pos
grundform:weichconcept description:
semantics:
concept:
head:
head word:
Morphologie für „weiche“
Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
24
Von Sven Magg
Morphologie für „schalten“
Morphology parser result:
Eintrag: schalten (2) Def. 1: Vfeatures:morphfeat: conjug:infgrundform:schaltenconcept description:
semantics:
concept:
head:
head word:
Def. 2: Vfeatures:morphfeat: tense:praeteritum
mood:indperson:dreinumber:plur
grundform:scheltenconcept description:
semantics:
concept:
head:
head word:
1 Einträge sind im Lexikon enthalten.
Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
25
Von Sven Magg Domänenmodell
CNSTRINGOBJECTLOCATION
STATION
has-value intValue
TRAINPART
has-value intValue
RAILPART
has-value intValuehas-value stringValuehas-engine ENGINE
has-waggon WAGGON
TRAIN
has-speed intValuehas-length intValue
ENGINE
has-value intValuehas-value stringValuehas-part RAILPART
BLOCK
has-length intValue
WAGGON
has-pos stringValue
SWITCH
Seminar ChuChuSprachgesteuerte Geräte (Modelleisenbahn)
26
Von Sven Magg Domänenmodell
ACTION VALUE
has-value CN
intValue
has-value STRING
stringValue
has-value STRING
timeValue
has-aim TRAIN
START
has-aim TRAIN
STOP
has-aim TRAINhas-origin STATIONhas-dest STATION
has-value timeValue
TRAVEL
SETNAME
has-aim OBJECT
SET
has-aim TRAINhas-step intValue
SETSPEED
has-part SWITCHhas-pos stringValue
SETSWITCH
has-aim TRAINhas-value stringValue
SETNAME-TRAIN
has-aim STATIONhas-value stringValue
SETNAME-STATION
Attribute:
has-stephas-speedhas-valuehas-dest
has-originhas-length
has-pos
Rollen:
has-enginehas-part
has-waggonhas-aim
© Martin Ellrodt
Lexikon
schalten V:morphfeat conjug = inf:Schalten:[s;Schalten(s)]ENDENTRY
- semantisches Lexikon durch DRS (DiskursRepräsentationsStruktur)- Erweiterung um: „fahren, Bahnhof, Zug, vom, zum, von, nach, Hamburg, Erlangen, Prag, sollen, um, Uhr“ & Zahlen von 1 bis 60
Top Related