a principle compiler for extensible dependency grammar · 3 to 4 eat 5 spaghetti 6 today j f v t j...

Post on 18-Oct-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

A Principle Compiler forExtensible Dependency

GrammarBachelor Thesis

Programming Systems Lab

Jochen Setz, 24.05.2007

Betreuer: Ralph Debusmann

A Principle Compiler for Extensible Dependency Grammar – p.1/14

Extensible Dependency Grammar

Grammatikformalismus fürDependenzgrammatik

A Principle Compiler for Extensible Dependency Grammar – p.2/14

Extensible Dependency Grammar

Grammatikformalismus fürDependenzgrammatik

Modell: Tupel von Dependenzgraphen

A Principle Compiler for Extensible Dependency Grammar – p.2/14

Extensible Dependency Grammar

Grammatikformalismus fürDependenzgrammatik

Modell: Tupel von Dependenzgraphen

Dependenzgraphen heißen Dimensionen

A Principle Compiler for Extensible Dependency Grammar – p.2/14

Extensible Dependency Grammar

Grammatikformalismus fürDependenzgrammatik

Modell: Tupel von Dependenzgraphen

Dependenzgraphen heißen Dimensionen

alle Dimensionen haben die gleicheKnotenmenge

A Principle Compiler for Extensible Dependency Grammar – p.2/14

Extensible Dependency Grammar

Grammatikformalismus fürDependenzgrammatik

Modell: Tupel von Dependenzgraphen

Dependenzgraphen heißen Dimensionen

alle Dimensionen haben die gleicheKnotenmenge

⇒ Modelle = Multigraphen

A Principle Compiler for Extensible Dependency Grammar – p.2/14

XDG Beispiel

SYN:

1

Mary

2

wants

3

to

4

eat

5

spaghetti

6

today

advsubj vinf

objpart

SEM:

1

Mary

2

wants

3

to

4

eat

5

spaghetti

6

today

agth

ag pat

th

A Principle Compiler for Extensible Dependency Grammar – p.3/14

Prinzipien

Wohlgeformtheitbedingungen des Multigraphen

A Principle Compiler for Extensible Dependency Grammar – p.4/14

Prinzipien

Wohlgeformtheitbedingungen des Multigraphen

Beispiele:

Baumheit (eine Wurzel / keine Zyklen /keine oder eine Mutter pro Knoten)

A Principle Compiler for Extensible Dependency Grammar – p.4/14

Prinzipien

Wohlgeformtheitbedingungen des Multigraphen

Beispiele:

Baumheit (eine Wurzel / keine Zyklen /keine oder eine Mutter pro Knoten)

Valenz (Anzahl und Art der ein-/ausgehendenKanten)

A Principle Compiler for Extensible Dependency Grammar – p.4/14

Prinzipien

Wohlgeformtheitbedingungen des Multigraphen

Beispiele:

Baumheit (eine Wurzel / keine Zyklen /keine oder eine Mutter pro Knoten)

Valenz (Anzahl und Art der ein-/ausgehendenKanten)

Projektivität (keine kreuzenden Kanten)

A Principle Compiler for Extensible Dependency Grammar – p.4/14

Prinzipien in FOL

Prinzipien in First Order Logic (FOL)formalisiert

A Principle Compiler for Extensible Dependency Grammar – p.5/14

Prinzipien in FOL

Prinzipien in First Order Logic (FOL)formalisiert

Z.B. Baumheit auf Dimension d:

NoCycles = ∀v : ¬(v →+d v)

OneRoot = ∃1v : ¬∃v′ : v′ →d v

ZeroOrOneMother =∀v : (¬∃v′ : v′ →d v)∨ (∃1v′ : v′ →d v)

A Principle Compiler for Extensible Dependency Grammar – p.5/14

XDK

A Principle Compiler for Extensible Dependency Grammar – p.6/14

Parser (Grundidee)

Multigraphen kodiert durch endliche Mengenvon Integern

A Principle Compiler for Extensible Dependency Grammar – p.7/14

Parser (Grundidee)

Multigraphen kodiert durch endliche Mengenvon Integern

jeder Knoten v mit einem Index undverschiedenen Mengen assoziiert, z.B.:

mothers: Mutterknoten von v

daughters: Töchter von v

up: Vorfahren von v

daughtersL: Menge von Tupeln, jedes Tupel hat das

gleiche Label

A Principle Compiler for Extensible Dependency Grammar – p.7/14

Parser (Grundidee)

Multigraphen kodiert durch endliche Mengenvon Integern

jeder Knoten v mit einem Index undverschiedenen Mengen assoziiert, z.B.:

mothers: Mutterknoten von v

daughters: Töchter von v

up: Vorfahren von v

daughtersL: Menge von Tupeln, jedes Tupel hat das

gleiche Label

Prinzipien: Constraints auf diesen Mengen

A Principle Compiler for Extensible Dependency Grammar – p.7/14

Implementierung von Prinzipien

Prinzipien müssen von Hand alsMozart/Oz-Constraints implementiert werden

A Principle Compiler for Extensible Dependency Grammar – p.8/14

Implementierung von Prinzipien

Prinzipien müssen von Hand alsMozart/Oz-Constraints implementiert werden

⇒ nur Experten in Mozart/Oz und XDK könnenneue Prinzipien schreiben, nicht aber typischeAnwender wie z.B. Linguisten

A Principle Compiler for Extensible Dependency Grammar – p.8/14

Implementierung von Prinzipien

Prinzipien müssen von Hand alsMozart/Oz-Constraints implementiert werden

⇒ nur Experten in Mozart/Oz und XDK könnenneue Prinzipien schreiben, nicht aber typischeAnwender wie z.B. Linguisten

⇒ große Lücke zwischen Formalisierung undImplementierung

A Principle Compiler for Extensible Dependency Grammar – p.8/14

Implementierung von Prinzipien

Prinzipien müssen von Hand alsMozart/Oz-Constraints implementiert werden

⇒ nur Experten in Mozart/Oz und XDK könnenneue Prinzipien schreiben, nicht aber typischeAnwender wie z.B. Linguisten

⇒ große Lücke zwischen Formalisierung undImplementierung

provisorische Brücke: umfangreiche Bibliothekvon vorimplementierten Prinzipien

A Principle Compiler for Extensible Dependency Grammar – p.8/14

Idee meiner BA-Thesis

Lücke zwischen Formalisierung undImplementierung schließen

A Principle Compiler for Extensible Dependency Grammar – p.9/14

Idee meiner BA-Thesis

Lücke zwischen Formalisierung undImplementierung schließen

Ziel: Compiler (“PrincipleWriter”), der in FOLgeschriebene Prinzipien in Mozart/Oz-Constraints übersetzt, und ins XDK integriert

A Principle Compiler for Extensible Dependency Grammar – p.9/14

Idee meiner BA-Thesis

Lücke zwischen Formalisierung undImplementierung schließen

Ziel: Compiler (“PrincipleWriter”), der in FOLgeschriebene Prinzipien in Mozart/Oz-Constraints übersetzt, und ins XDK integriert

dadurch XDK attraktiver für typische Anwender,die neue Prinzipien schreiben wollen: nur nochKenntnisse in FOL benötigt

A Principle Compiler for Extensible Dependency Grammar – p.9/14

Idee meiner BA-Thesis

Lücke zwischen Formalisierung undImplementierung schließen

Ziel: Compiler (“PrincipleWriter”), der in FOLgeschriebene Prinzipien in Mozart/Oz-Constraints übersetzt, und ins XDK integriert

dadurch XDK attraktiver für typische Anwender,die neue Prinzipien schreiben wollen: nur nochKenntnisse in FOL benötigt

Nebeneffekt: Formalisierung undImplementierung rücken näher zusammen

A Principle Compiler for Extensible Dependency Grammar – p.9/14

Arbeitspakete

konkrete Eingabesyntax definieren (fertig)

A Principle Compiler for Extensible Dependency Grammar – p.10/14

Arbeitspakete

konkrete Eingabesyntax definieren (fertig)

Mozart/Oz-Constraints für FOL finden(1. Version)

A Principle Compiler for Extensible Dependency Grammar – p.10/14

Arbeitspakete

konkrete Eingabesyntax definieren (fertig)

Mozart/Oz-Constraints für FOL finden(1. Version)

Compiler bauen, der Eingabesyntax inMozart/Oz-Constraints überführt, mit

Typ-Checker,Typ-Inferenz

A Principle Compiler for Extensible Dependency Grammar – p.10/14

Arbeitspakete

konkrete Eingabesyntax definieren (fertig)

Mozart/Oz-Constraints für FOL finden(1. Version)

Compiler bauen, der Eingabesyntax inMozart/Oz-Constraints überführt, mit

Typ-Checker,Typ-Inferenz

Wie gut kann der PrincipleWriteroptimieren, verglichen mit einemExperten?

A Principle Compiler for Extensible Dependency Grammar – p.10/14

Literatur

Ralph Debusmann (2006). ExtensibleDependency Grammar: A Modular GrammarFormalism Based On Multigraph Description.PhD thesis (revised version)

Ralph Debusmann (2007). Scrambling as theIntersection of Relaxed Context-FreeGrammars in a Model-Theoretic GrammarFormalism. ESSLLI 2007 Workshop ModelTheoretic Syntax at 10, Dublin

A Principle Compiler for Extensible Dependency Grammar – p.11/14

Optimierung - ZeroOrOneMother

FOL: ∀v : (¬∃v′ : v′ →d v)∨ (∃1v′ : v′ →d v)

UL:forall V::node:(exists V1::node: edge(V1 V D))|(existsone V1::node: edge(V1 V D))

A Principle Compiler for Extensible Dependency Grammar – p.12/14

Optimierung - ZeroOrOneMother

proc {ZeroOrOneIncomingEdges NodeRecs}{ForAllNodes NodeRecs

fun {$ NodeRec}{Disj{ExistsOneNodes NodeRecs

fun {$ NodeRec1} {Edge NodeRec1 NodeRec d} end}{Nega{ExistsNodes NodeRecs

fun {$ NodeRec1} {Edge NodeRec1 NodeRec d} end}}}end 1}

end

Komplexität: O(n2)

A Principle Compiler for Extensible Dependency Grammar – p.13/14

Optimierung - ZeroOrOneMother

FOL: ∀v : (¬∃v′ : v′ →d v)︸ ︷︷ ︸

|mothers(v)| = 0

∨(∃1v′ : v′ →d v)︸ ︷︷ ︸

|mothers(v)| = 1

Optimiert: ∀v : |mothers(v)| ≤ 1

Komplexität: O(n)

A Principle Compiler for Extensible Dependency Grammar – p.14/14

top related