230 likes | 414 Views
Text Generation Lab July 3, 2003 Dragomir R. Radev radev@umich.edu Johns Hopkins University Summer School 2003. What is NLG?. Mapping meaning to text Stages: Content selection Lexical selection Sentence structure: aggregation, referring expressions Discourse structure. The system. will.
E N D
Text Generation LabJuly 3, 2003Dragomir R. Radevradev@umich.eduJohns Hopkins University Summer School 2003
What is NLG? • Mapping meaning to text • Stages: • Content selection • Lexical selection • Sentence structure: aggregation, referring expressions • Discourse structure
The system will save the document Mood subject finite predicator object Transitivity actor process goal Theme theme rheme Systemic grammars • Language is viewed as a resource for expressing meaning in context (Halliday, 1985) • Layers: mood, transitivity, theme
Example (:process save-1:actor system-1:goal document-1:speechact assertion:tense future ) Input is underspecified
The Functional Unification Formalism (FUF) • Based on Kay’s (83) formalism • partial information, declarative, uniform, compact • same framework used for all stages: syntactic realization, lexicalization, and text planning
Functional analysis • Functional vs. structured analysis • “John eats an apple” • actor (John), affected (apple), process (eat) • NP VP NP • suitable for generation
Partial vs. complete specification action = eat • Voice: An apple is eaten by John • Tense: John ate an apple • Mode: Did John eat an apple? • Modality: John must eat an apple actor = John object = apple
Unification • Target sentence • input FD • grammar • unification process • linearization process
Sample input ((cat s) (prot ((n ((lex john))))) (verb ((v ((lex like))))) (goal ((n ((lex mary))))))
Sample 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)))))
Sample 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))))))
The SURGE grammar • Syntactic realization front-end • variable level of abstraction • 5600 branches and 1600 alts Lexicalized FD Syntactic FD LinearizerMorphology Lexicalchooser SURGE Text
Path 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 => the feature number for the current node • {^ ^ number} value => the feature number for the node above the current node
Sample 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)))))
Systems developed using FUF/SURGE • COMET • MAGIC • ZEDDOC • PLANDOC • FLOWDOC • SUMMONS
CFUF • Fast implementation by Mark Kharitonov (C++) • Up to 100 times faster than Lisp/FUF • Speedup higher for larger inputs
References • 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, Computational Linguistics, September 1998 • Reiter and Dale, Building Natural Language Generation Systems, 2000