Derivation Trees of a Tree Adjoining Grammar

30 downloads 292 Views 1MB Size Report
Tree Adjoining Grammars. Two-level Syntax. Surface Realization. Test Trees. Conclusion. Derivation Trees of a Tree Adjoining Grammar. Sylvain Schmitz.
Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Derivation Trees of a Tree Adjoining Grammar Sylvain Schmitz LORIA, INRIA Nancy - Grand Est, Nancy, France

MOSTRARE Seminars, April 18, 2008

Conclusion

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Contents Tree Adjoining Grammars Principles Feature Unification Two-level Syntax Derivation Tree Languages Surface Realization Targeting Derivation Trees Feature Unification in Derivation Trees Test Trees Overgeneration “Exhaustive” Generation (work in progress) Conclusion

Test Trees

Conclusion

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Tree Adjoining Grammars Joshi et al. [1975], Joshi and Schabes [1997]

Elementary trees: S Nr D⋄

VP

N↓ V↓

N∗ Nr

le N⋄ radis

N



Adj⋄ creux

Adj⋄

V⋄

gris

est

Test Trees

Conclusion

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Tree Adjoining Grammars Joshi et al. [1975], Joshi and Schabes [1997]

Two operations: S

creux VP

N↓ V↓

Adj⋄ creux

Conclusion

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Tree Adjoining Grammars Joshi et al. [1975], Joshi and Schabes [1997]

Two operations: substitution: S

creux VP

N↓ V↓

radis Adj⋄

creux N⋄

V⋄

radis

est

est

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Tree Adjoining Grammars Joshi et al. [1975], Joshi and Schabes [1997]

Two operations: substitution: S

creux

N⋄ radis

VP

radis

V⋄

Adj⋄

est

creux

est

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Tree Adjoining Grammars Joshi et al. [1975], Joshi and Schabes [1997]

Two operations: adjunction: S

creux VP

N⋄ radis Nr N∗

Adj⋄ gris

radis

V⋄

Adj⋄

est

creux

gris

est

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Tree Adjoining Grammars Joshi et al. [1975], Joshi and Schabes [1997]

Two operations: adjunction: S

creux

Nr

VP

radis

N⋄

Adj⋄

V⋄

Adj⋄

radis

gris

est

creux

gris

est

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Tree Adjoining Grammars Joshi et al. [1975], Joshi and Schabes [1997]

Two operations: adjunction: S Nr D⋄ le

creux VP

Nr N∗

radis

N⋄

Adj⋄

V⋄

Adj⋄

gris

radis

gris

est

creux

le

est

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Tree Adjoining Grammars Joshi et al. [1975], Joshi and Schabes [1997]

Derived and derivation trees: S

creux VP

Nr Nr

D⋄ le

N⋄

radis

V⋄

Adj⋄

gris

Adj⋄ est

creux

le

radis gris

est

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Formal Properties Strings I I

beyond context-free: mildly context-sensitive polynomial time parsing: O(|G| n6 )

Trees I I

beyond regular a restricted class of context-free tree languages: linear and monadic [Kepster and Rogers, 2007]

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Feature-Based TAG Vijay-Shanker and Joshi [1988] S 

bot:

D⋄



 det : +

Nr  det : − 

top:

num : sg

bot:

num : sg

det : + num : x



VP

N↓ [

top: num : x

N∗

] V↓

le

Adj⋄ creux

[

bot: det : −

] N⋄ 

bot:

det : − num : x



Nr

[

bot: num : sg

] V⋄ est

radis 

bot:

det : − num : x



N∗ Adj⋄ gris

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Feature-Based TAG Vijay-Shanker and Joshi [1988] S 

bot:

D⋄



 det : +

Nr  det : − 

top:

num : sg

bot:

num : sg

det : + num : x



VP

N↓ [

top: num : x

N∗

] V↓

le

Adj⋄ creux

[

bot: det : −

] N⋄ 

bot:

det : − num : x



Nr

[

bot: num : sg

] V⋄ est

radis 

bot:

det : − num : x



N∗ Adj⋄ gris

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Feature-Based TAG Vijay-Shanker and Joshi [1988] S 

bot:

D⋄



 det : +

Nr  det : −

top:

num : sg



bot:

num : sg

det : + num : sg

[

bot: det : −

N∗



radis

le



bot:



bot:

det : − num : x

det : − num : x





VP

] N⋄

Nr

N∗ Adj⋄ gris

[ [

top: num : sg bot: num : sg

] ] V⋄

Adj⋄

est

creux

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Feature-Based TAG Vijay-Shanker and Joshi [1988] S 

bot:

D⋄



 det : +

Nr  det : −

top:

num : sg



bot:

num : sg

det : + num : sg

[

bot: det : −

N∗



radis

le



bot:



bot:

det : − num : x

det : − num : x





VP

] N⋄

Nr

N∗ Adj⋄ gris

V⋄

Adj⋄

est

creux

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Feature-Based TAG Vijay-Shanker and Joshi [1988] S 

bot:

D⋄ le

 det : +  : sg  num  det : − N

top:

 det : +

Nr  det : −

num : sg



bot:

num : sg

bot:

N∗



bot:

VP

r

num : x

det : − num : x

N⋄ Adj⋄

V⋄

Adj⋄

radis gris

est

creux

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Feature-Based TAG Vijay-Shanker and Joshi [1988] S 

bot:

D⋄ le

 det : +  : sg  num  det : − N

top:

 det : +

Nr  det : −

num : sg



bot:

num : sg

bot:

N∗



bot:

VP

r

num : x

det : − num : x

N⋄ Adj⋄

V⋄

Adj⋄

radis gris

est

creux

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Feature-Based TAG Vijay-Shanker and Joshi [1988] S  det : +  : sg   num det : + bot: num : sg Nr  det : −  Nr D⋄ bot: num : sg top:

le bot:

det : − num : sg

N⋄ Adj⋄ radis gris

VP V⋄

Adj⋄

est

creux

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Semantics Through Unification Gardent and Kallmeyer [2003]

S N↓x

Nrx D⋄ le

N∗x l4 : le(x)

N⋄r

Nr x

radis l2 : radis(r)

VP V↓

Adj⋄

l1 : creux(x)

creux

V⋄ est

N∗x Adj⋄ l3 : gris(x)

gris

Yields flat semantics: l1 : creux(r) ∧ l2 : radis(r) ∧ l3 : gris(r) ∧ l4 : le(r)

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Semantics Through Unification Gardent and Kallmeyer [2003]

S N↓x

Nrx D⋄ le

N∗x l4 : le(x)

N⋄r

Nr x

radis l2 : radis(r)

VP V↓

Adj⋄

l1 : creux(x)

creux

V⋄ est

N∗x Adj⋄ l3 : gris(x)

gris

Yields flat semantics: l1 : creux(r) ∧ l2 : radis(r) ∧ l3 : gris(r) ∧ l4 : le(r)

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Two-level Syntax Pogodalla [2004], Shieber [2006], and many others

I

derivation trees as intermediate representations

I

morphisms / transductions into 1. derived trees (or strings) 2. semantics

I

inverse morphisms / transductions for parsing and generation

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Derivation Tree Language (1) (reduced) Regular tree grammar

S N↓

VP V↓

SI − → creux(SA , NI , VPA , VI , AdjA )

Adj⋄ creux N⋄

NI − → radis(NA )

radis V⋄

VI − → est(VA )

est Nr D⋄

NA − → le(NA , DA )

N∗

le Nr N∗

NA − → gris(NA , AdjA )

Adj⋄ gris

AdjA − → ε(), DA − → ε(), NA − → ε(), SA − → ε(), VA − → ε(), VPA − → ε()

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Derivation Tree Language (1) (reduced) Regular tree grammar

S N↓

VP V↓

SI − → creux(SA , NI , VPA , VI , AdjA )

Adj⋄ creux N⋄

NI − → radis(NA )

radis V⋄

VI − → est(VA )

est Nr D⋄

NA − → le(NA , DA )

N∗

le Nr N∗

NA − → gris(NA , AdjA )

Adj⋄ gris

AdjA − → ε(), DA − → ε(), NA − → ε(), SA − → ε(), VA − → ε(), VPA − → ε()

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Derivation Tree Language (1) (reduced) Regular tree grammar

S N↓

VP V↓

SI − → creux(SA , NI , VPA , VI , AdjA )

Adj⋄ creux N⋄

NI − → radis(NA )

radis V⋄

VI − → est(VA )

est Nr D⋄

NA − → le(NA , DA )

N∗

le Nr N∗

NA − → gris(NA , AdjA )

Adj⋄ gris

AdjA − → ε(), DA − → ε(), NA − → ε(), SA − → ε(), VA − → ε(), VPA − → ε()

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Derivation Tree Language (1) (reduced) Regular tree grammar

S N↓

VP V↓

SI − → creux(SA , NI , VPA , VI , AdjA )

Adj⋄ creux N⋄

NI − → radis(NA )

radis V⋄

VI − → est(VA )

est Nr D⋄

NA − → le(NA , DA )

N∗

le Nr N∗

NA − → gris(NA , AdjA )

Adj⋄ gris

AdjA − → ε(), DA − → ε(), NA − → ε(), SA − → ε(), VA − → ε(), VPA − → ε()

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Derivation Tree Language (1) (reduced) Regular tree grammar

S N↓

VP V↓

SI − → creux(SA , NI , VPA , VI , AdjA )

Adj⋄ creux N⋄

NI − → radis(NA )

radis V⋄

VI − → est(VA )

est Nr D⋄

NA − → le(NA , DA )

N∗

le Nr N∗

NA − → gris(NA , AdjA )

Adj⋄ gris

AdjA − → ε(), DA − → ε(), NA − → ε(), SA − → ε(), VA − → ε(), VPA − → ε()

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Derivation Tree Language (1) (reduced) Regular tree grammar

S N↓

VP V↓

SI − → creux(SA , NI , VPA , VI , AdjA )

Adj⋄ creux N⋄

NI − → radis(NA )

radis V⋄

VI − → est(VA )

est Nr D⋄

NA − → le(NA , DA )

N∗

le Nr N∗

NA − → gris(NA , AdjA )

Adj⋄ gris

AdjA − → ε(), DA − → ε(), NA − → ε(), SA − → ε(), VA − → ε(), VPA − → ε()

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Derivation Tree Language (1) (reduced) Regular tree grammar

S N↓

VP V↓

SI − → creux(SA , NI , VPA , VI , AdjA )

Adj⋄ creux N⋄

NI − → radis(NA )

radis V⋄

VI − → est(VA )

est Nr D⋄

NA − → le(NA , DA )

N∗

le Nr N∗

NA − → gris(NA , AdjA )

Adj⋄ gris

AdjA − → ε(), DA − → ε(), NA − → ε(), SA − → ε(), VA − → ε(), VPA − → ε()

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Derivation Tree Language (1) (reduced) Regular tree grammar

S N↓

VP V↓

SI − → creux(SA , NI , VPA , VI , AdjA )

Adj⋄ creux N⋄

NI − → radis(NA )

radis V⋄

VI − → est(VA )

est Nr D⋄

NA − → le(NA , DA )

N∗

le Nr N∗

NA − → gris(NA , AdjA )

Adj⋄ gris

AdjA − → ε(), DA − → ε(), NA − → ε(), SA − → ε(), VA − → ε(), VPA − → ε()

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

From Derivations to Derived Trees Macro tree transducer [Shieber, 2006]

S N↓

VP V↓

qI (creux(x1 , x2 )) − → S(qI (x1 ), VP(qI (x2 ), Adj(creux)))

Adj⋄ creux N⋄

qI (radis(x)) − → qA (x, N(radis))

radis V⋄

qI (est()) − → V(est)

est Nr D⋄

qA (le(x), y) − → qA (x, N(D(le), y))

N∗

le Nr N∗

qA (gris(x), y) − → qA (x, N(y, Adj(gris))) qA (ε(), y) − →y

Adj⋄ gris

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

From Derivations to Derived Trees Macro tree transducer [Shieber, 2006]

S N↓

VP V↓

qI (creux(x1 , x2 )) − → S(qI (x1 ), VP(qI (x2 ), Adj(creux)))

Adj⋄ creux N⋄

qI (radis(x)) − → qA (x, N(radis))

radis V⋄

qI (est()) − → V(est)

est Nr D⋄

qA (le(x), y) − → qA (x, N(D(le), y))

N∗

le Nr N∗

qA (gris(x), y) − → qA (x, N(y, Adj(gris))) qA (ε(), y) − →y

Adj⋄ gris

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

From Derivations to Derived Trees Macro tree transducer [Shieber, 2006]

S N↓

VP V↓

qI (creux(x1 , x2 )) − → S(qI (x1 ), VP(qI (x2 ), Adj(creux)))

Adj⋄ creux N⋄

qI (radis(x)) − → qA (x, N(radis))

radis V⋄

qI (est()) − → V(est)

est Nr D⋄

qA (le(x), y) − → qA (x, N(D(le), y))

N∗

le Nr N∗

qA (gris(x), y) − → qA (x, N(y, Adj(gris))) qA (ε(), y) − →y

Adj⋄ gris

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

From Derivations to Semantics? S N↓

VP V↓

Adj⋄

q(creux(x1 , x2 ), r) − → ∧(creux(r), q(x1 , r))

creux N⋄

q(radis(x), r) − → ∧(radis(r), q(x, r))

radis V⋄ est Nr D⋄

q(le(x), r) − → ∧(le(r), q(x, r))

N∗

le Nr N

q(gris(x), r) − → ∧(gris(r), q(x, r)) q(ε(), r) − → true



Adj⋄ gris

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

From Derivations to Semantics? S N↓

VP V↓

Adj⋄

q(creux(x1 , x2 ), r) − → ∧(creux(r), q(x1 , r))

creux N⋄

q(radis(x), r) − → ∧(radis(r), q(x, r))

radis V⋄ est Nr D⋄

q(le(x), r) − → ∧(le(r), q(x, r))

N∗

le Nr N

q(gris(x), r) − → ∧(gris(r), q(x, r)) q(ε(), r) − → true



Adj⋄ gris

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

From Derivations to Semantics? S N↓

VP V↓

Adj⋄

q(creux(x1 , x2 ), r) − → ∧(creux(r), q(x1 , r))

creux N⋄

q(radis(x), r) − → ∧(radis(r), q(x, r))

radis V⋄ est Nr D⋄

q(le(x), r) − → ∧(le(r), q(x, r))

N∗

le Nr N

q(gris(x), r) − → ∧(gris(r), q(x, r)) q(ε(), r) − → true



Adj⋄ gris

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Sentence Generation Pipeline

tactical generation (linguistic knowledge)

strategic generation (domain knowledge) communicative goal

document planner

document plan

microplanner

text specification

surface realizer

sentence

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Surface Realization Algorithms E.g. Carroll et al. [1999], Gardent and Kow [2007], . . .

1. select all elementary trees that subsume parts of the input semantics 2. compute all combinations—tabulate intermediate results 3. extract sentences NP-complete! [Koller and Striegnitz, 2002]

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Generation as Dependency Parsing Koller and Striegnitz [2002]: Topological Dependency Grammar subst

S,r,1

subst

N,r,1

adjN,r adj

N,r

start

atom start creux radis le gris

creux

radis

labels ∅ {substS,r,1 } {substN,r,1 } {adjN,r } {adjN,r }

le

gris

valency {substS,r,1 } {substN,r,1 } {adj∗N,r } ∅ ∅

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Generation as Planning Koller and Stone [2007]: Planning Domain Definition Language

Action start(). Effect: subst(S,r), sem(creux,r), sem(radis,r), sem(le,r), sem(gris,r)

Action creux(r). Precond: sem(creux,r), subst(S,r) Effect: ¬sem(creux,r), ¬subst(S,r), subst(N,r), subst(V)

Action radis(r). Precond: sem(radis,r), subst(N,r) Effect: ¬sem(radis,r), ¬subst(N,r), canadjoin(N,r)

Action est(). Precond: subst(V) Effect: ¬subst(V)

Action le(r). Precond: sem(le,r), canadjoin(N,r) Effect: ¬sem(le,r), ¬mustadjoin(N,r)

Action gris(r). Precond: sem(gris,r), canadjoin(N,r) Effect: ¬sem(gris,r), ¬mustadjoin(N,r)

Action end(). Precond: ∀A,u. ¬sem(A,u) ∧¬subst(A,u) ∧¬mustadjoin(A,u)

Conclusion

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Features in RTG I I I I

D: set of feature structures work on terms over N × D rules of form (A, d) − → a((B1 , d10 ), . . . , (Bn , dn0 )) rewrites (s, e) = ⇒ (t, e 0 ) maintain a global environment for substitutions in feature structures s = C[(A, d 0 )], t = C[a((B1 , σ(d10 )), . . . , (Bn , σ(dn0 )))] σ = mgu(d, e(d 0 )), e 0 = σ ◦ e

I

language L(G) = {t ∈ T (F) | ∃e, ((S, >), id) = ⇒∗ (t, e)}

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Derivation Tree Language (2) 

top:

det : + num : x

S 

VP

N↓ [

top: num : x

(SI , >) − → creux NI



 top :

det : + num : x





] V↓

Adj⋄

 , VI [ top : [ num : x ] ]

creux [

bot: det : −

NI [ top : t ] − → radis NA

 top : t

bot : [ det : − ]



] N⋄ radis

[

bot: num : sg

VI [ top : t ] − → est VA

 top : t

bot : [ num : sg ]

est 

bot:

D⋄

NA

h top : t 

bot :

det : − num : sg



i



→ le NA −

h top : t 

bot :

det : + num : sg





bot:



bot :

det : − num : x



i

NA

 top : x 

VA

 top : x 

bot : x bot : x

 h top : t i   det : − → gris NA bot : num − :x → ε() − → ε() −



bot:



Nr 

det : − num : sg

N∗

le 

h top : t

det : + num : sg

i bot:

NA

] V⋄



det : − num : x

det : − num : x





Nr

N∗ Adj⋄ gris

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Example ((S, ⊤), id) creux(N



top :



det : + num : 0x





  h  det : +  i  det : +   : num : 0x radis NA top , {1t 7→ num : 0x } bot : det : − [

]

     det : +    det : +  top : : 0x  gris NA bot :  num , {11t → 7 } num : 0x det : − num : 11x

     det : +    det : +  top : : 0x le NA bot :  num , {111t 7→ num : 0x , 11x 7→ sg} det : + num : sg

(ε, {1111x 7→



det : + num : sg



, 0x 7→ sg})

 , V [ top : [ num : 0x ] ]), id 

 h i  : [ num : sg ] est VA top , {2t 7→ [ num : sg ]} bot : [ num : sg ] (ε, {21x 7→ [ num : sg ]})

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Example ((S, ⊤), id) creux(N



top :



det : + num : 0x





  h  det : +  i  det : +   : num : 0x radis NA top , {1t 7→ num : 0x } bot : det : − [

]

     det : +    det : +  top : : 0x  gris NA bot :  num , {11t → 7 } num : 0x det : − num : 11x

     det : +    det : +  top : : 0x le NA bot :  num , {111t 7→ num : 0x , 11x 7→ sg} det : + num : sg

(ε, {1111x 7→



det : + num : sg



, 0x 7→ sg})

 , V [ top : [ num : 0x ] ]), id 

 h i  : [ num : sg ] est VA top , {2t 7→ [ num : sg ]} bot : [ num : sg ] (ε, {21x 7→ [ num : sg ]})

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Example ((S, ⊤), id) creux(N



top :



det : + num : 0x





  h  det : +  i  det : +   : num : 0x radis NA top , {1t 7→ num : 0x } bot : det : − [

]

     det : +    det : +  top : : 0x  gris NA bot :  num , {11t → 7 } num : 0x det : − num : 11x

     det : +    det : +  top : : 0x le NA bot :  num , {111t 7→ num : 0x , 11x 7→ sg} det : + num : sg

(ε, {1111x 7→



det : + num : sg



, 0x 7→ sg})

 , V [ top : [ num : 0x ] ]), id 

 h i  : [ num : sg ] est VA top , {2t 7→ [ num : sg ]} bot : [ num : sg ] (ε, {21x 7→ [ num : sg ]})

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Example ((S, ⊤), id) creux(N



top :



det : + num : 0x





  h  det : +  i  det : +   : num : 0x radis NA top , {1t 7→ num : 0x } bot : det : − [

]

     det : +    det : +  top : : 0x  gris NA bot :  num , {11t → 7 } num : 0x det : − num : 11x

     det : +    det : +  top : : 0x le NA bot :  num , {111t 7→ num : 0x , 11x 7→ sg} det : + num : sg

(ε, {1111x 7→



det : + num : sg



, 0x 7→ sg})

 , V [ top : [ num : 0x ] ]), id 

 h i  : [ num : sg ] est VA top , {2t 7→ [ num : sg ]} bot : [ num : sg ] (ε, {21x 7→ [ num : sg ]})

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Example ((S, ⊤), id) creux(N



top :



det : + num : 0x





  h  det : +  i  det : +   : num : 0x radis NA top , {1t 7→ num : 0x } bot : det : − [

]

     det : +    det : +  top : : 0x  gris NA bot :  num , {11t → 7 } num : 0x det : − num : 11x

     det : +    det : +  top : : 0x le NA bot :  num , {111t 7→ num : 0x , 11x 7→ sg} det : + num : sg

(ε, {1111x 7→



det : + num : sg



, 0x 7→ sg})

 , V [ top : [ num : 0x ] ]), id 

 h i  : [ num : sg ] est VA top , {2t 7→ [ num : sg ]} bot : [ num : sg ] (ε, {21x 7→ [ num : sg ]})

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Example ((S, ⊤), id) creux(N



top :



det : + num : 0x





  h  det : +  i  det : +   : num : 0x radis NA top , {1t 7→ num : 0x } bot : det : − [

]

     det : +    det : +  top : : 0x  gris NA bot :  num , {11t → 7 } num : 0x det : − num : 11x

     det : +    det : +  top : : 0x le NA bot :  num , {111t 7→ num : 0x , 11x 7→ sg} det : + num : sg

(ε, {1111x 7→



det : + num : sg



, 0x 7→ sg})

 , V [ top : [ num : 0x ] ]), id 

 h i  : [ num : sg ] est VA top , {2t 7→ [ num : sg ]} bot : [ num : sg ] (ε, {21x 7→ [ num : sg ]})

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Example ((S, ⊤), id) creux(N



top :



det : + num : 0x





  h  det : +  i  det : +   : num : 0x radis NA top , {1t 7→ num : 0x } bot : det : − [

]

     det : +    det : +  top : : 0x  gris NA bot :  num , {11t → 7 } num : 0x det : − num : 11x

     det : +    det : +  top : : 0x le NA bot :  num , {111t 7→ num : 0x , 11x 7→ sg} det : + num : sg

(ε, {1111x 7→



det : + num : sg



, 0x 7→ sg})

 , V [ top : [ num : 0x ] ]), id 

 h i  : [ num : sg ] est VA top , {2t 7→ [ num : sg ]} bot : [ num : sg ] (ε, {21x 7→ [ num : sg ]})

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Example ((S, ⊤), id) creux(N



top :



det : + num : 0x





  h  det : +  i  det : +   : num : 0x radis NA top , {1t 7→ num : 0x } bot : det : − [

]

     det : +    det : +  top : : 0x  gris NA bot :  num , {11t → 7 } num : 0x det : − num : 11x

     det : +    det : +  top : : 0x le NA bot :  num , {111t 7→ num : 0x , 11x 7→ sg} det : + num : sg

(ε, {1111x 7→



det : + num : sg



, 0x 7→ sg})

 , V [ top : [ num : 0x ] ]), id 

 h i  : [ num : sg ] est VA top , {2t 7→ [ num : sg ]} bot : [ num : sg ] (ε, {21x 7→ [ num : sg ]})

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Left Corner Transform Rosenkrantz and Lewis II [1970]

I

top feature structures of root nodes usually empty

I

reverse order of root adjunctions on initial trees

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Derivation Tree Language (3) 

top:

det : + num : x

S 

VP

N↓ [

top: num : x

(S, >) − → creux NI



 top :

det : + num : x





] V↓

Adj⋄

 , VI [ top : [ num : x ] ]

creux [

bot: det : −

N [ bot : [ det : − ] ] − → radis

] N⋄ radis

[

bot: num : sg

] V⋄

V [ bot : [ num : sg ] ] − → est

est 

bot:

D⋄

N

h top : t 

bot :

det : + num : sg



i

 h top : t i   det : − → le N bot : num − : sg





bot:

 h top : t i   det : − N bot : → gris N bot : num − :x  top : t  top : t ]− NI [ → ε N bot : t  : t  top : t ]− VI [ → ε V top bot : t 

det : − num : x



i



bot:



Nr 

det : − num : sg

N∗

le bot:

h top : t

det : + num : sg

det : − num : x







det : − num : x

N

Nr Adj⋄ gris

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Overgeneration Definition Equivalently, if a grammar I assigns incorrect structure to grammatical sentences I accepts agrammatical sentences I generates agrammatical sentences precision score in “precision and recall” metrics.

Conclusion

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Error Mining ´ van Noord [2004], Sagot and Eric de la Clergerie [2006]

Applied to grammatical coverage (“recall”) 1. parse a large corpus of correct sentences 2. failures indicate coverage issues 3. statistical analysis identifies a probable culprit for each failure 4. might attempt to provide corrections

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Error Mining ´ van Noord [2004], Sagot and Eric de la Clergerie [2006]

Applied to grammatical coverage (“recall”) 1. parse a large corpus of correct sentences 2. failures indicate coverage issues 3. statistical analysis identifies a probable culprit for each failure 4. might attempt to provide corrections

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

For Overgeneration? Which test suite for pass/failure? I a TreeBank I a corpus of incorrect sentences I sentences generated from the grammar I I

which input? generation from logic formulae is computationally expensive

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

For Overgeneration? Which test suite for pass/failure? I a TreeBank I a corpus of incorrect sentences I sentences generated from the grammar I I

which input? generation from logic formulae is computationally expensive

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

For Overgeneration? Which test suite for pass/failure? I a TreeBank I a corpus of incorrect sentences I sentences generated from the grammar I I

which input? generation from logic formulae is computationally expensive

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

For Overgeneration? Which test suite for pass/failure? I a TreeBank I a corpus of incorrect sentences I sentences generated from the grammar I I

which input? generation from logic formulae is computationally expensive

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

“Exhaustive” Generation

I

not in terms of elementary trees (about 6,000)

I

in terms of linguistic phenomena I I I

grammar compiled from a meta grammar compilation traces 87 classes match linguistic phenomena

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Meta Grammar [Crabb´e, 2005] S N↓

V

S ∧

Subject

V⋄

V



Active

S N↓

S

V

V

N↓

N↓

V⋄ N↓

Subject, Active, Object

S V⋄

eˆ tre



S

V

PP P par

Subject

=

Object

S ∧

S

Passive

CAgent

N↓

=

N↓

V eˆ tre

V⋄

PP P

N↓

par Subject, Passive, CAgent

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Guided Generation I

use distances from elementary trees to classes

I

generate derivation trees that subsume a target multiset of classes

I

avoid the already generated classes

I

... in progress

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Guided Generation I

use distances from elementary trees to classes

I

generate derivation trees that subsume a target multiset of classes

I

avoid the already generated classes

I

... in progress

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

Concluding Remarks

I

derivation trees capture syntactic dependencies

I

appropriate intermediate level between syntax and semantics

I

not just for TAG

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

References W. S. Brainerd. Tree generating regular systems. Information and Control, 14 (2):217–231, 1969. doi: 10.1016/S0019-9958(69)90065-5. J. Carroll, A. Copestake, D. Flickinger, and V. Poznanski. An efficient chart generator for (semi-)lexicalist grammars. In ENLG’99, pages 86–95, 1999. URL http: //www.cogs.susx.ac.uk/lab/nlp/carroll/papers/ewnlg99.pdf. B. Crabb´e. Grammatical development with XMG. In P. Blache, E. Stabler, J. Busquets, and R. Moot, editors, LACL’05, volume 3492 of Lecture Notes in Computer Science, pages 84–100. Springer, 2005. ISBN 978-3-540-25783-7. doi: 10.1007/11422532 6. J. Engelfriet and H. Vogler. Macro tree transducers. J. Comput. Syst. Sci., 31 (1):71–146, 1985. doi: 10.1016/0022-0000(85)90066-2. C. Gardent and L. Kallmeyer. Semantic construction in feature-based TAG. In EACL’03, pages 123–130. ACL Press, 2003. ISBN 1-333-56789-0. doi: 10.3115/1067807.1067825. C. Gardent and E. Kow. A symbolic approach to near-deterministic surface realisation using Tree Adjoining Grammar. In ACL’07, pages 328–335. ACL Press, 2007. URL http://www.aclweb.org/anthology/P07-1042.

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

A. K. Joshi and Y. Schabes. Tree-adjoining grammars. In G. Rozenberg and A. Salomaa, editors, Handbook of Formal Languages, volume 3: Beyond Words, chapter 2, pages 69–124. Springer, 1997. ISBN 3-540-60649-1. URL http://citeseer.ist.psu.edu/joshi97treeadjoining.html. A. K. Joshi, L. S. Levy, and M. Takahashi. Tree adjunct grammars. J. Comput. Syst. Sci., 10(1):136–163, 1975. doi: 10.1016/S0022-0000(75)80019-5. S. Kepster and J. Rogers. The equivalence of tree adjoining grammars and monadic linear context-free tree grammars. In M. Kracht, editor, MoL 10, 2007. URL http://kracht.humnet.ucla.edu/marcus/mol10/ abstracts/kepser-rogers-mol.pdf. A. Koller and M. Stone. Sentence generation as a planning problem. In ACL’07, pages 336–343. ACL Press, 2007. URL http://www.aclweb.org/anthology/P07-1043. A. Koller and K. Striegnitz. Generation as dependency parsing. In ACL’02, pages 17–24. ACL Press, 2002. doi: 10.3115/1073083.1073088. S. Pogodalla. Computing semantic representation: Towards ACG abstract terms as derivation trees. In O. Rambow and M. Stone, editors, TAG+7, pages 64–71, 2004. URL http://www.cs.rutgers.edu/TAG+7/papers/pogodalla.pdf.

Tree Adjoining Grammars

Two-level Syntax

Surface Realization

Test Trees

Conclusion

D. J. Rosenkrantz and P. M. Lewis II. Deterministic left corner parsing. In 11th Annual Symposium on Switching and Automata Theory, pages 139–152. IEEE Computer Society, 1970. ´ B. Sagot and Eric de la Clergerie. Error mining in parsing results. In ACL’06, pages 329–336. ACL Press, 2006. doi: 10.3115/1220175.1220217. URL http://www.aclweb.org/anthology/P06-1042. S. Schmitz and J. Le Roux. Feature unification in TAG derivation trees. In C. Gardent and A. Sarkar, editors, TAG+9, 2008. URL http://www.loria.fr/∼schmitsy/pub/tagunif.en.pdf. S. M. Shieber. Unifying synchronous tree-adjoining grammars and tree transducers via bimorphisms. In EACL’06. ACL Press, 2006. ISBN 1-932432-59-0. URL http://www.aclweb.org/anthology/E06-1048. G. van Noord. Error mining for wide-coverage grammar engineering. In ACL’04, pages 446–453. ACL Press, 2004. doi: 10.3115/1218955.1219012. URL http://www.aclweb.org/anthology/P04-1057. K. Vijay-Shanker and A. K. Joshi. Feature structures based tree adjoining grammars. In COLING’88, pages 714–719. ACL Press, 1988. ISBN 963-8431-56-3. doi: 10.3115/991719.991783.