Generation Miriam Butt January 2004. The Two Sides of Generation 1) Natural Language Generation (NLG) Systems which take information from some database.

Slides:



Advertisements
Similar presentations
Programming Languages Third Edition Chapter 6 Syntax.
Advertisements

Translator Architecture Code Generator ParserTokenizer string of characters (source code) string of tokens abstract program string of integers (object.
December 2003CSA3050: Natural Language Generation 1 What is Natural Language Generation? When is NLG an Appropriate Technology? NLG System Architectures.
Grammar Development Platform Miriam Butt October 2002.
Grammars, Languages and Parse Trees. Language Let V be an alphabet or vocabulary V* is set of all strings over V A language L is a subset of V*, i.e.,
For Friday No reading Homework –Chapter 23, exercises 1, 13, 14, 19 –Not as bad as it sounds –Do them IN ORDER – do not read ahead here.
Section 4: Language and Intelligence Overview Instructor: Sandiway Fong Department of Linguistics Department of Computer Science.
For Monday Read Chapter 23, sections 3-4 Homework –Chapter 23, exercises 1, 6, 14, 19 –Do them in order. Do NOT read ahead.
Natural Language Generation: Discourse Planning
Natural Language Generation Research Presentation Presenter Shamima Mithun.
Natural Language and Speech Processing Creation of computational models of the understanding and the generation of natural language. Different fields coming.
NLP and Speech Course Review. Morphological Analyzer Lexicon Part-of-Speech (POS) Tagging Grammar Rules Parser thethe – determiner Det NP → Det.
C. Varela; Adapted w/permission from S. Haridi and P. Van Roy1 Declarative Computation Model Defining practical programming languages Carlos Varela RPI.
References Kempen, Gerard & Harbusch, Karin (2002). Performance Grammar: A declarative definition. In: Nijholt, Anton, Theune, Mariët & Hondorp, Hendri.
CS 330 Programming Languages 09 / 13 / 2007 Instructor: Michael Eckmann.
1 Kakia Chatsiou Department of Language and Linguistics University of Essex XLE Tutorial & Demo LG517. Introduction to LFG Introduction.
Natural Language Generation Ling 571 Fei Xia Week 8: 11/17/05.
(2.1) Grammars  Definitions  Grammars  Backus-Naur Form  Derivation – terminology – trees  Grammars and ambiguity  Simple example  Grammar hierarchies.
Lecture 1, 7/21/2005Natural Language Processing1 CS60057 Speech &Natural Language Processing Autumn 2005 Lecture 1 21 July 2005.
Introduction to Natural Language Generation
Invitation to Computer Science 5th Edition
The College of Saint Rose CIS 433 – Programming Languages David Goldschmidt, Ph.D. from Concepts of Programming Languages, 9th edition by Robert W. Sebesta,
9/8/20151 Natural Language Processing Lecture Notes 1.
Martin KayCL Introduction1 Martin Kay Stanford University Ling 138/238.
ICS611 Introduction to Compilers Set 1. What is a Compiler? A compiler is software (a program) that translates a high-level programming language to machine.
Computational Linguistics Yoad Winter *General overview *Examples: Transducers; Stanford Parser; Google Translate; Word-Sense Disambiguation * Finite State.
April 2008Historical Perspectives on NLP1 Historical Perspectives on Natural Language Processing Mike Rosner Dept Artificial Intelligence
For Friday Finish chapter 23 Homework: –Chapter 22, exercise 9.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Chapter 10: Compilers and Language Translation Invitation to Computer Science, Java Version, Third Edition.
Tree-adjoining grammar (TAG) is a grammar formalism defined by Aravind Joshi and introduced in Tree-adjoining grammars are somewhat similar to context-free.
Winter 2007SEG2101 Chapter 71 Chapter 7 Introduction to Languages and Compiler.
Natural Language Processing Rogelio Dávila Pérez Profesor – Investigador
A Procedural Model of Language Understanding Terry Winograd in Schank and Colby, eds., Computer Models of Thought and Language, Freeman, 1973 발표자 : 소길자.
Grammar Engineering: What is it good for? Miriam Butt (University of Konstanz) and Martin Forst (NetBase Solutions) Colombo 2014.
College of Science and Humanity Studies, Al-Kharj.
Research Topics CSC Parallel Computing & Compilers CSC 3990.
1 CSI 5180: Topics in AI: Natural Language Processing, A Statistical Approach Instructor: Nathalie Japkowicz Objectives of.
Ambiguity in Grammar By Dipendra Pratap Singh 04CS1032.
1 Introduction to Computational Linguistics Eleni Miltsakaki AUTH Fall 2005-Lecture 4.
October 2005CSA3180 NLP1 CSA3180 Natural Language Processing Introduction and Course Overview.
Linguistic Essentials
What you have learned and how you can use it : Grammars and Lexicons Parts I-III.
CPE 480 Natural Language Processing Lecture 4: Syntax Adapted from Owen Rambow’s slides for CSc Fall 2006.
COP 4620 / 5625 Programming Language Translation / Compiler Writing Fall 2003 Lecture 1, 08/28/03 Prof. Roy Levow.
Daisy Arias Math 382/Lab November 16, 2010 Fall 2010.
Rules, Movement, Ambiguity
For Monday Read chapter 24, sections 1-3 Homework: –Chapter 23, exercise 8.
For Friday Finish chapter 24 No written homework.
For Monday Read chapter 26 Last Homework –Chapter 23, exercise 7.
Compilation With an emphasis on getting the job done quickly Copyright © – Curt Hill.
Natural Language Processing Chapter 1 : Introduction.
For Friday Finish chapter 23 Homework –Chapter 23, exercise 15.
CPSC 422, Lecture 27Slide 1 Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 27 Nov, 16, 2015.
◦ Process of describing the structure of phrases and sentences Chapter 8 - Phrases and sentences: grammar1.
NLP. Introduction to NLP (U)nderstanding and (G)eneration Language Computer (U) Language (G)
C H A P T E R T W O Linking Syntax And Semantics Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
For Monday Read chapter 26 Homework: –Chapter 23, exercises 8 and 9.
Final Review  Syntax  Semantics/Pragmatics  Sociolinguistics  FINAL will be part open book, and part closed book  Will use similar tasks as Problem.
NATURAL LANGUAGE PROCESSING
Chapter 4 Syntax Analysis.
Compiler Lecture 1 CS510.
LING/C SC/PSYC 438/538 Lecture 21 Sandiway Fong.
Compiler Design 4. Language Grammars
Compilers B V Sai Aravind (11CS10008).
Syntax Analysis - 3 Chapter 4.
Chapter 10: Compilers and Language Translation
Artificial Intelligence 2004 Speech & Natural Language Processing
Compiler design Review COMP 442/6421 – Compiler Design
Presentation transcript:

Generation Miriam Butt January 2004

The Two Sides of Generation 1) Natural Language Generation (NLG) Systems which take information from some database and figure out how to present it to a human. Very little linguistics involved. 2) Generation as an inverse of Parsing. This is used mostly in the context of Machine Translation and involves quite a lot of linguistics (morphology, syntax, possible also semantics and discourse).

Natural Language Generation The discussion here is based mainly slides from Robert Dale and on Reiter and Dale (2000). Definition: NLG is the process of deliberately constructing natural language text in order to meet specified communicative goals. Architecture: see handout.

Natural Language Generation Example of NLG: Winograd’s 1971 SHRDLU (see handout, pp. from Haugeland). This is a problem solving AI system which has an internal data base of blocks in certain configurations. SHRDLU mimics a robot who knows how to perform certain actions (basic Prolog-style reasoning) and also can answer questions (interact with a human). But, no real linguistic structures are needed for this (cf. Eliza).

Natural Language Generation Example of NLG: The famous ELIZA program ( emacs demo ). See handout for a sample dialog and the Prolog code that generates the dialogs. There is no real linguistics involved, all that is done is a predefinition of certain utterances. I.e., you create templates in which lexical items can be plugged into dynamically.

Natural Language Generation Example of NLG: FOG, a weather forecast system (bilingual in English and French), see handout. This system takes some raw metereological data and composes weather forecasts. Again, mainly templates are used, but some (non-linguistic) decisions as to how to bundle information must be made. In addition, some discourse planning (faintly linguistic) is involved.

Natural Language Generation Example of NLG: the toy implementation of WeatherReporter uses a document (or discourse) plan to organize its information (see handout of R&D 82-85). Again, the text is basically “canned”.

Generating with Grammars Another approach to generation is to use a linguistic grammar to produce well-formed sentences. Some Syntactic Formalisms which support Generation: TAG (Tree Adjoining Grammars) HPSG (Head-Driven Phrase Structure Grammar) LFG (Lexical-Functional Grammar)

Generation in LFG Some papers on the topic: Wedekind (1988), Momma and Dorre (1987). Shemtov’s (1997) dissertation is the basis for the current XLE implementation. Basic Input to Generator: an f-structure (Prolog format) Basic Idea: The grammar should be bidirectional: if you have written a parser, you should be able to use the grammar in reverse for generation. This is not trivial.

Generation in LFG Some papers on the topic: Wedekind (1988), Momma and Dorre (1987). Shemtov’s (1997) dissertation is the basis for the current XLE implementation. Basic Input to Generator: an f-structure (in Prolog format) Basic Idea: Any LFG grammar should be bidirectional: if you have written a parser, you should be able to use the grammar in reverse for generation. This works, but is not trivial.

The English Grammar Uses the same grammar (bidirectionality) Uses OT (Optimality Theory) to control certain (unwanted) parses such as mismatched subject-verb agreement or optional punctuation (either prefer to have it or prefer it is gone). Uses a different tokenizer to make sure only to generate a single space between words, etc. Can generate either from an f-structure, or directly from an input sentence.

English Generation with XLE Loosing Distinctions: To disappear pull it. Pull it to disappear.  Generation is not simply copying: Falling, pull it.  Pull it, falling. Gaining Distinctions (ambiguity): The monkey saw the cat with the telescope.  With the telescope... The monkey saw... XLE The boat sailed into the harbour.... harbor. 

English Generation with XLE Generating from Underspecified Input: XLE allows you specify what kind of information you might want to throw away from your f-structure. John sleeps  All Tense/Aspect Variations (John is sleeping, John slept, etc.) For Example: you could decide to generate from an f- structure without its Tense/Aspect information (see documentation).

References Momma, Stefan and Jochen Dorre Generation from f- structures. In Ewan Klein and Johan van Benthem (eds.) Categories, Polymorphism, and Unification, Wedekind, Jürgen Generation as Structure Driven Derivation. Proceedings of COLING 1988, Budapest. Reiter, Ehud and Robert Dale Building Natural Language Generation Systems. Cambridge: Cambridge University Press. Shemtov, Hadar Ambiguity Management in Natural Language Generation. PhD thesis, Stanford University.