In this session we start exploring the insides of an NLG system; and we start particularly with tactical generation.This is the part that creates the surfaces forms of sentences and phrases that end up being seen (or heard). To do this, we will explore a concrete NLG-system, starting with a simple example. Fundamental to the notion of generation is the concept of choice. Grammars for NLG must present their knowledge as an organised set of choices that can be made in order to achieve communicative goals. Because the notion of choice is also fundamental to a particular kind of linguistic description called systemic-functional linguistics, there have been many large NLG efforts and systems that use systemic-functional grammar. This will be the kind of grammar that we explore here, too.
A simplified, introductory version of a program for generating using systemic-functional grammars can be started up by clicking here. This might take a little time to start the first time that it is clicked, since it has to download the program onto your computer in order to start running it. Once it has been started, an introductory tutorial can be found here.
Some
other simple introductory 'grammars' can be found here:
these are a compressed archive file; the archive should be downloaded and
then unzipped as we have seen elsewhere in the course. The result of this
operation is a folder that contains one file and another folder called 'INTRODUCTORY-RESOURCES'.
Two of these are already in the version of the generation program that you
have been using: the third is called TRANSITIVITY and this is the one you
want. This contains some basic sentence patterns of
English. To use, you should copy the entire INTRODUCTORY-RESOURCES folder
to a floppy; then in the generation program you should go the the Development
window and select File from the menu bar along the top. You then select
Toggle Local/Nonlocal Resources: this tells the program to look on
your floppy instead of anywhere else. You can then click on File and
Load Resources and you should get a list that includes the option TRANSITIVITY.
Select this and this grammar will be loaded. You can generate with it by selecting
Traverse Grammar.When you have switched to Local resources you should be able
to change any changes you have made in a grammar as well by typing Store
Resources into the main root window (i.e., not the Development window). What
structures can you generate with the grammar TRANSITIVITY? If you wonder what
sentences these structures correspond to, try looking at the Example Manager.
After looking at and modifying some very simple grammars of English, or parts of English, we can also look at something more substantial. One tool containing a very large English grammar can be used by downloading the following two files two some temporary folder: first, 'launching program' that gets this started, and the program itself. This program is called the grammar explorer: it lets you explore a generation grammar to see what it does; two extra files should be placed in the same directory: allegro.ini and kpmlconf. An introductory tutorial to the grammar explorer can be found here.