Title: Fall 2004
1EECS 595 / LING 541 / SI 661
Natural Language Processing
- Fall 2004
- Lecture Notes 6
2Natural Language Generation
3What is NLG?
- Mapping meaning to text
- Stages
- Content selection
- Lexical selection
- Sentence structure aggregation, referring
expressions - Discourse structure
4Systemic grammars
- Language is viewed as a resource for expressing
meaning in context (Halliday, 1985) - Layers mood, transitivity, theme
5Example
- (process save-1actor system-1goal
document-1speechact assertiontense future - )
- ? Input is underspecified
6The Functional Unification Formalism (FUF)
- Based on Kays (83) formalism
- partial information, declarative, uniform,
compact - same framework used for all stages syntactic
realization, lexicalization, and text planning
7Functional analysis
- Functional vs. structured analysis
- John eats an apple
- actor (John), affected (apple), process (eat)
- NP VP NP
- suitable for generation
8Partial vs. complete specification
action eat
actor John
object apple
- Voice An apple is eaten by John
- Tense John ate an apple
- Mode Did John ear an apple?
- Modality John must eat an apple
- prolog p(X,b,c)
9Unification
- Target sentence
- input FD
- grammar
- unification process
- linearization process
10Sample input
((cat s) (prot ((n ((lex john))))) (verb ((v
((lex like))))) (goal ((n ((lex mary))))))
11Sample grammar
((alt top (((cat s) (prot ((cat
np))) (goal ((cat np)))
(verb ((cat vp) (number prot
number))) (pattern (prot verb
goal))) ((cat np) (n ((cat
noun) (number number)))
(alt (((proper yes)
(pattern (n))) ((proper no)
(pattern (det n))
(det ((cat article)
(lex the))))))) ((cat vp)
(pattern (v)) (v ((cat verb))))
((cat noun)) ((cat verb))
((cat article)))))
12Sample output
((cat s) (goal ((cat np) (n ((cat noun)
(lex mary) (number goal
number))) (pattern (n)) (proper
yes))) (pattern (prot verb goal)) (prot ((cat
np) (n ((cat noun) (lex
john) (number verb number)))
(number verb number) (pattern (n))
(proper yes))) (verb ((cat vp)
(pattern (v)) (v ((cat verb)
(lex like))))))
13Comparison with Prolog
- Similarities
- both have unification at the core
- Prolog program FUF grammar
- Prolog query FUF input
- Differences
- Prolog first order term unification
- FUF arbitrarily rooted directed graphs are
unified
14The SURGE grammar
- Syntactic realization front-end
- variable level of abstraction
- 5600 branches and 1600 alts
Lexicalized FD
Syntactic FD
LinearizerMorphology
Lexicalchooser
SURGE
Text
15Systems developed using FUF/SURGE
- COMET
- MAGIC
- ZEDDOC
- PLANDOC
- FLOWDOC
- SUMMONS
16CFUF
- Fast implementation by Mark Kharitonov (C)
- Up to 100 times faster than Lisp/FUF
- Speedup higher for larger inputs
17References
- Cole, Mariani, Uszkoreit, Zaenen, Zue (eds.)
Survey of the State of the Art in Human Language
Technology, 1995 - Elhadad, Using Argumentation to Control Lexical
Choice A Functional Unification Implementation,
1993 - Elhadad, FUF the Universal Unifier, User Manual,
1993 - Elhadad and Robin, SURGE a Comprehensive Plug-in
Syntactic Realization Component for Text
Generation, 1999 - Kharitonov, CFUF A Fast Interpreter for the
Functional Unification Formalism, 1999 - Radev, Language Reuse and Regeneration
Generating Natural Language Summaries from
Multiple On-Line Sources, Department of Computer
Science, Columbia University, October 1998
18Path notation
- You can view a FD as a tree
- To specify features, you can use a path
- feature feature feature value
- e.g. prot number
- You can also use relative paths
- number value gt the feature number for the
current node - number value gt the feature number for the
node above the current node
19Sample grammar
((alt top (((cat s) (prot ((cat
np))) (goal ((cat np)))
(verb ((cat vp) (number prot
number))) (pattern (prot verb
goal))) ((cat np) (n ((cat
noun) (number number)))
(alt (((proper yes)
(pattern (n))) ((proper no)
(pattern (det n))
(det ((cat article)
(lex the))))))) ((cat vp)
(pattern (v)) (v ((cat verb))))
((cat noun)) ((cat verb))
((cat article)))))
20Unification Example
21Unify Prot
22Unify Goal
23Unify vp
24Unify verb
25Finish
26Readings for next time