Zen and The Art of Grammar Maintenance

Motivations
Metagrammars as Logic Programs
XMG Formalism
Zen and The Art of Grammar Maintenance
Denys Duchier
LIFO, Université d’Orléans
6 June 2008 / TAG+9 Tutorial
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Outline
1
Motivations
2
Metagrammars as Logic Programs
3
XMG Formalism
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Factorization and Reuse
N
S
N∗
S
S
N↓
V′
N↓
V⋄
Jean mange une pomme
N↓
′
N↓
V
Cl↓
V′
N↓
V⋄
Jean la mange
Denys Duchier
S
V⋄
la pomme que Jean mange
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Jean mange une pomme
S
N↓
V′
V⋄
S
S
N↓
−→
N↓
S
V′
V′
∧
V⋄
∧
V′
Canonical Subject
Active Verb Form
Canonical Object
Denys Duchier
Zen and The Art of Grammar Maintenance
N↓
Motivations
Metagrammars as Logic Programs
XMG Formalism
Jean la mange
S
S
V′
N↓
Cl↓
V′
S
V⋄ −→
N↓
V′
∧
Cl↓
V′
V⋄
∧
Canonical Subject
Clitic Object
Active Verb Form
Denys Duchier
Zen and The Art of Grammar Maintenance
V⋄
Motivations
Metagrammars as Logic Programs
XMG Formalism
La pomme que Jean mange
N
S
N∗
N↓
N
S
N↓
N∗
V′
S
N↓
V⋄ −→
S
S
S
∧
N↓
V′
V′
∧
Relative Object
Canonical Subject
Active Verb Form
Denys Duchier
Zen and The Art of Grammar Maintenance
V⋄
Motivations
Metagrammars as Logic Programs
XMG Formalism
Jean qui mange la pomme
N
N∗
S
N↓
V′
V⋄
N
N∗
N↓
−→
S
S
N↓
S
V′
V′
∧
V⋄
∧
V′
Relative Subject
Active Verb Form
Canonical Object
Denys Duchier
Zen and The Art of Grammar Maintenance
N↓
Motivations
Metagrammars as Logic Programs
XMG Formalism
Jean qui la mange
N
N∗
S
N
V′
N↓
Cl↓
N∗
V⋄ −→
S
V′
S
N↓
V′
∧
Cl↓
V′
V⋄
∧
Relative Subject
Clitic Object
Active Verb Form
Denys Duchier
Zen and The Art of Grammar Maintenance
V⋄
Motivations
Metagrammars as Logic Programs
XMG Formalism
Outline
1
Motivations
2
Metagrammars as Logic Programs
3
XMG Formalism
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Subject
S
SubjectCanonical
−→
V′
N↓
N
N∗
SubjectRelative
−→
Subject
−→
Denys Duchier
S
N↓
V′
SubjectCanonical
∨ SubjectRelative
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Object
S
ObjectCanonical
−→
V′
N↓
V′
ObjectClitic
−→
V⋄
Cl↓
N
N∗
ObjectRelative
−→
Object
−→
Denys Duchier
S
N↓
S
ObjectCanonical
∨ ObjectClitic
∨ ObjectRelative
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Transitive Active Verb
S
V′
VerbActiveMorph
−→
V⋄
VerbActiveTransitive
−→
Subject
∧ VerbActiveMorph
∧ Object
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Metagrammars as DCGs
a metagrammar is a DCG
terminals are tree descriptions
a metagrammar is the grammar of a grammar
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Metagrammars as DCGs
a metagrammar is a DCG
terminals are tree descriptions
a metagrammar is the grammar of a grammar
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Model-Theoretic View
Set of tree descriptions
|=
Metagrammar
Lexical entry
|=
Set of tree descriptions
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Operational View
a metagrammar is a logic program
its execution accumulates tree descriptions
which are then processed by a solver
resulting in the production of a lexical entry
backtrack to obtain the rest of the lexicon
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Outline
1
Motivations
2
Metagrammars as Logic Programs
3
XMG Formalism
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Type definitions
type CAT={n,v,p}
type PERS=[1..3]
type FLEX=[num:NUMBER, gen:GENDER, pers:PERS]
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Property definitions
property extraction : bool
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Property definitions
property extraction : bool {extra = +}
extra
≡
extraction = +
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Feature definitions
feature num : NUMBER
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Class definitions
class C1
import C2[]
export ?X ?Y
declare ?X ?Y !Z
{
Statement
}
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Restricted imports
class C1
import C2[] as [?X1,...,?Xn]
export ?X ?Y
declare ?X ?Y !Z
{
Statement
}
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Renamings
class C1
import C2[] as [?X1=?Y1,...,?Xn]
export ?X=?U ?Y
declare ?X ?Y !Z
{
Statement
}
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Statements
S
::= S1 ; S2
|
S1 | S2
|
E1 = E2
|
Class[E1 , . . . , En ]
|
hDimi { . . . }
|
S ∗= [f = E, . . .]
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Expressions
E
::=
?X | !X
|
Atom | Int | String
|
@{Atom, . . . , Atom}
|
?X = [f1 = E1 , . . . , fn = En ]
|
E1 .E2
|
E(E1 , . . . , En )
|
E1 |E2
|
(E)
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Dimension-specific description languages
hDimi { . . . }
tree descriptions
hole semantics
AVM, (semi-)lattices
There are currently 3 built-in dimensions: <syn> <sem> <dyn>
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Tree Description Language
<syn> { Syn }
Syn ::= Syn; Syn
|
Syn|Syn
|
node ?X
|
E -> E | E -> E | E -> E
|
E >> E | E >>+ E | E >>∗ E
|
E =E
|
E<E1 , . . . , En >
(p = E, . . .)
+
Denys Duchier
[f = E, . . .]
∗
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Alternative Syntax
dominance
node {
node }
node { ...+ node }
node { ... node }
precedence
node
node
node
node
,,,+ node
,,, node
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Flat Semantics Description Language
<sem> { Sem }
Sem ::= Sem; Sem
| Sem|Sem
| Var : E(E, . . . , E)
| Var : ˜E(E, . . . , E)
| Var << Var
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Mutual Exclusion Sets
mutex SUBJ-INV
mutex SUBJ-INV += CanonicalObject
mutex SUBJ-INV += InvertedNominalSubject
2 classes in the same mutex cannot both be used in the same
derivation
Denys Duchier
Zen and The Art of Grammar Maintenance
Motivations
Metagrammars as Logic Programs
XMG Formalism
Principles
Denys Duchier
Zen and The Art of Grammar Maintenance