Building Applied Natural Language Generation
Building Applied Natural Language Generation
Abstract
In this article, we give an overview of Natural Language Generation (nlg) from an applied
system-building perspective. The article includes a discussion of when nlg techniques
should be used; suggestions for carrying out requirements analyses; and a description of
the basic nlg tasks of content determination, discourse planning, sentence aggregation,
lexicalization, referring expression generation, and linguistic realisation. Throughout, the
emphasis is on established techniques that can be used to build simple but practical
working systems now. We also provide pointers to techniques in the literature that are
appropriate for more complicated scenarios.
1 Introduction
Natural language generation (nlg) is the subeld of articial intelligence and
computational linguistics that is concerned with the construction of computer sys-
tems that can produce understandable texts in English or other human languages
from some underlying non-linguistic representation of information.1 Natural lan-
guage generation systems combine knowledge about language and the application
1
Our focus here is on the production of text, but work in natural language generation is
also concerned with systems that can communicate using speech. Many of the techniques
we discuss here carry across to such systems; however, discussion of the particular prob-
lems that arise and the solutions that are appropriate in the production and synthesis
of human-like speech is beyond the scope of this article.
2 Reiter and Dale
domain to automatically produce documents, reports, explanations, help messages,
and other kinds of texts.
In this article, we look at nlg from an applied system-building perspective. We
describe the tasks that must be performed by a language generation system, and
discuss possible algorithms and supporting representations for performing each task.
We also suggest techniques, often based on corpus analysis, that can be used to
acquire the various kinds of knowledge needed in order to build such nlg systems.
Prior to consideration of these technical issues, we discuss when nlg technology is
likely to be appropriate, and when alternative or simpler techniques may provide a
more appropriate solution. Throughout, our focus is on the use of well-established
techniques that can be used to build simple but practical working systems today; we
also provide pointers to ideas in the research literature that are likely to be relevant
to the development of more sophisticated nlg systems in the future. Our intention
is that the overview we present here should be useful both for software developers
who are considering using nlg techniques in their systems, and for researchers
interested in developing applied nlg technology.
The article is structured as follows. Section 2 brie
y summarises some of the
many ways in which nlg can be used, and discusses when nlg is and is not appro-
priate. Section 3 discusses requirements analysis and system specication. Section 4
surveys the dierent tasks that nlg systems perform, and describes some of the
architectures that can be used to perform these tasks. Sections 5, 6, and 7 provide
a more detailed look at the system components in an architecture that distributes
these tasks across the three areas of text planning, sentence planning, and linguistic
realisation. Finally, Section 8 presents a summary and some concluding remarks,
and provides some pointers to the research literature on natural language genera-
tion.
It can take a considerable amount of eort to build a target text corpus with
which both the developers and the users feel comfortable. However, this is time
well spent, and a good corpus makes it much easier to develop a good nlg system.
2 3
66message-id: msg01 7
7
66relation: IDENTITY 7
7
(1) a. 66 2 3 7
64arguments: 4 arg1: NEXT-TRAIN 7
575
arg2: CALEDONIAN-EXPRESS
b. The next train is the Caledonian Express
2 3
66 message-id: msg02 7
66relation: DEPARTURE 7
2 377
(2) a. 66 departing-entity: CALEDONIAN-EXPRESS 7
7
66 66 7
7 7
64arguments: 64 departure-location: ABERDEEN 7 7
575
departure-time: 1000
b. The Caledonian Express leaves Aberdeen at 10am
3
From a philosophical point of view, much could be (and has been) written about the
ontological status of these categories. These issues are beyond the scope of the present
work.
4
Here, we represent each message as an attribute{value matrix. Each describes some
relation that holds between those entities or concepts specied as the arguments of that
relation. Note that messages do not necessarily correspond one-to-one to sentences;
similarly, it is not necessarily the case that the domain entities, relations and concepts
that occur here will correspond one-to-one to lexical items in the resulting text.
10 Reiter and Dale
2 3
66message-id: msg03 7
7
66relation: NUMBER-OF-TRAINS-IN-PERIOD
2 3 7
7
66 7
7
(3) a. 66 66 source: ABERDEEN 7 7 7
66 66 destination: GLASGOW 7 7
7
7 7
66arguments: 66 number: 20 7
7 7
7
4 4 5 5
period: DAILY
b. There are 20 trains each day from Aberdeen to Glasgow
Root
J
sequenceJ
J
J
JJ
J^
NextTrainInformation
, @
, elaboration@@
,
, @
,, @@R
[NUMBER-OF-TRAINS-IN-PERIOD] [IDENTITY] [DEPARTURE]
4.1.4 Lexicalization
Lexicalization is the process of deciding which specic words and phrases should
be chosen to express the domain concepts and relations which appear in the mes-
sages. This covers questions such as how the event represented in the DEPARTURE
message should be expressed: the words leave and depart are both possibilities.
In many cases lexicalization can be done trivially by hard-coding a specic word
or phrase for each domain concept or relation; for example, we might simply specify
that a DEPARTURE message should always be expressed by the word leave. In
some cases, however,
uency can be improved by allowing the nlg system to vary
the words used to express a concept or relation, either to achieve variety or to
accommodate subtle pragmatic distinctions (for example, depart is perhaps more
formal than leave). Lexicalization is especially important, of course, when the nlg
system produces output texts in multiple languages.
Goal
?
Text
Planner
?
Text Plan
?
Sentence
Planner
?
Sentence Plans
?
Linguistic
Realiser
?
Surface Text
5 Text Planning
In this section, we describe in more detail the two tasks we take to be involved in the
process of text planning. Section 5.1 addresses the subtask of content determination;
and Section 5.2 addresses the subtask of discourse planning.
6 Sentence Planning
In this section, we describe in more detail the three tasks we take to be involved in
the process of sentence planning. Section 6.1 addresses the subtask of sentence ag-
gregation; Section 6.2 looks at lexicalization; and Section 6.3 addresses the subtask
of referring expression generation.
20 Reiter and Dale
6.1 Sentence Aggregation
6.1.1 The task
Sentence aggregation is the task of combining two or more messages into one sen-
tence. In terms of the representations we are using here, the sentence aggregation
process takes as input a tree-structured text plan whose leaf nodes are messages, and
produces as output a new text plan whose leaf nodes are combinations of messages
that will eventually be realised as sentences. The aggregation system must decide
both what messages to aggregate to form each sentence, and also what syntactic
mechanism should be used to combine the messages.
As a simple example of sentence aggregation, consider again the example in
Figure 2, where the text plan contains three messages, roughly corresponding to
the following three clauses:
(8) a. there are 20 trains each day from Aberdeen to Glasgow
b. the next train is the Caledonian Express
c. the Caledonian Express leaves at 10am
Given this input, a few (by no means all) possible aggregation strategies are:
1. No aggregation: realise each message as a single sentence. The resulting text,
assuming some process that performs pronominalization, will be as follows:
(9) There are 20 trains each day from Aberdeen to Glasgow. The next
train is the Caledonian Express. It leaves at 10am.
2. Combine the last two messages using a relative clause. This strategy pro-
duces either of the following texts, depending on where the relative clause is
attached:
(10) a. There are 20 trains each day from Aberdeen to Glasgow. The
next train is the Caledonian Express, which leaves at 10am.
b. There are 20 trains each day from Aberdeen to Glasgow. The
next train, which leaves at 10am, is the Caledonian Express.
3. Combine the rst two messages with the conjunction and. This results in the
following text:
(11) There are 20 trains each day from Aberdeen to Glasgow, and the
next train is the Caledonian Express. It leaves at 10am.
4. Combine all three messages using a conjunction and a relative clause. This
results in the following text:
(12) There are 20 trains each day from Aberdeen to Glasgow, and the
next train is the Caledonian Express, which leaves at 10am.
Although aggregation does not change the information content of a text, it does
contribute to readability and
uency: compare the rst and second alternatives
above, for example.
Building Applied Natural Language Generation Systems 21
6.1.2 Types of sentence aggregation
There are several kinds of sentence-formation aggregation, including the following.
Simple conjunction: The simplest form of aggregation is to use a connective
such as and to produce a sentence plan which communicates more than one
message.
Ellipsis: If the two messages being aggregated have a common constituent, it may
be possible to elide the repeated constituent. For example, messages which
might be independently realised as John went to the bank and John deposited
$50 can be aggregated to produce a sentence plan that is realised as John
went to the bank and deposited $50. See (Quirk and Greenbaum 1972) for a
discussion of the types of ellipsis that are possible in English.
Set Formation: If the messages being grouped together are identical except for a
single constituent, it may be possible to replace these with a single sentence
plan that contains a conjunctive constituent. For example, three messages
that would otherwise be realised independently as John bought an apple, John
bought a banana and John bought a pear can be combined into a sentence plan
realised as John bought an apple, a banana and a pear. Sometimes there are
alternative, usually domain-dependent, ways of describing sets. For example,
instead of explicitly enumerating the set Sunday, Monday, Tuesday, Wednes-
day, Thursday, Friday, and Saturday, the set of elements could be replaced
by a single concept corresponding to the expression every day of the week.
Embedding: This involves embedding one clause as a constituent of another. Rel-
ative clauses (see Section 6.1.1 for examples) are perhaps the most common
form of embedding.
In some cases it may be necessary to add cue words such as also or as well to increase
uency where aggregation was possible but nevertheless was not performed; see
Dalianis and Hovy (1996).
6.2 Lexicalization
6.2.1 The tasks of lexicalization and referring expression generation
Lexicalization and the generation of referring expressions are tasks which focus
on the problem of choosing which words should be used to pick out or describe
particular domain concepts or entities. For our present purposes, we will take the
view that lexicalization is the task of choosing words to express a concept or relation,
while referring expression generation is the task of choosing words to identify a
particular domain entity.
Consider the following message:
2 3
66 message-id: msg02 7
66relation: DEPARTURE 7
2 377
(13) 66 departing-entity: CALEDONIAN-EXPRESS 7
7
66 66 7
7 7
64arguments: 64 departure-location: ABERDEEN 7 7
575
departure-time: 1000
This message mentions one domain relation, DEPARTURE, and three domain en-
tities: the train CALEDONIAN-EXPRESS, the location ABERDEEN, and the time
1000. This message could be realised in a number of ways including the following:
We could use the word departs for the DEPARTURE relation, the phrase The
Caledonian Express for CALEDONIAN-EXPRESS, the name Aberdeen for AB-
ERDEEN, and 10am for the time of departure. This would result in the fol-
lowing sentence:
(14) The Caledonian Express departs from Aberdeen at 10am.
Alternatively, we could use the word leaves for DEPARTURE, the pronoun it
for CALEDONIAN-EXPRESS, the deictic expression here for ABERDEEN, and
the temporal expression in ve minutes for the departure time. This would
result in the following sentence:
(15) It leaves here in ve minutes.
As the above examples show, lexicalization involves nding a word or phrase that
can communicate a concept such as DEPARTURE to the hearer, while the generation
of referring expressions involves nding a noun phrase that identies an entity such
as CALEDONIAN-EXPRESS to the hearer in the current discourse context.
Like aggregation, good lexicalization and referring expression generation are es-
sential for producing texts that are
uent and easily readable. A poorly lexicalized
text may still be understandable, but readers will need to work harder to extract
its meaning.
Although lexicalization and referring expression generation are related tasks, and
Building Applied Natural Language Generation Systems 23
in principle nlg systems should probably use an integrated algorithm which carries
out both tasks, in practice these tasks have generally been discussed separately in
the research literature. We return to the task of referring expression generation in
Section 6.3, and focus rst on lexicalization.
6
This example is from (Stede 1996).
24 Reiter and Dale
6.3 Referring Expression Generation
Referring expression generation is most commonly viewed as a description task, with
the goal of including enough information in the description to enable the hearer to
unambiguously identify the target entity. The amount of information needed to
do this will depend on the current discourse context. For example, consider the
italicised phrases in the following text:
(16) The next train is the Caledonian Express. It leaves at 10am. Many tourist
guidebooks highly recommend this train.
Here, the entity CALEDONIAN-EXPRESS is initially referred to by name (the Cale-
donian Express), which is a standard way of introducing a named object into a
discourse. The second reference to CALEDONIAN-EXPRESS uses the pronoun it;
this is again a standard way of referring to an object which has been mentioned
recently. The nal reference is a denite description (this train), which is a standard
way of referring to an entity when it has already been introduced, but where the
context rules out the use of a pronoun. Generating each form of reference raises
dierent issues.
Initial Introduction: Relatively little research has been carried out on the gener-
ation of initial references to objects. Two common strategies are to simply give
the name of the object (if it has a name), as was done in the CALEDONIAN-
EXPRESS example above; and to describe the physical location of an object,
as in the wrench in the blue toolbox.
Pronouns: Pronoun use, and in particular, pronoun interpretation, has been ex-
tensively studied in the natural language processing literature. There is less
work on pronoun generation. From a practical perspective, a simple algorithm
that works surprisingly well in many cases is to use a pronoun to refer to an
entity if the entity was mentioned in the previous clause, and there is no other
entity in the previous clause that the pronoun could possibly refer to.7 This
is a fairly conservative algorithm, in the sense that it will not generate a pro-
noun in many cases where one could be used; but it has the advantage that
it does not often inappropriately insert a pronoun. Of course, in some cases
pronouns must be used for syntactic reasons; this is usually handled by the
linguistic realisation module.
Denite Descriptions: More research has been done on generating denite de-
scriptions; see for example (Dale 1992; Dale and Reiter 1995). From a practical
perspective, a simple but useful algorithm is to begin by including in the de-
scription a base noun describing the object (for example, train), and then (if
necessary) add adjectives or other modiers to distinguish the target object
from all other objects mentioned in the discourse. For example, if the discourse
has just discussed the Caledonian Express and no other trains, then the train
7
Entities which might otherwise be considered potential referents can often be ruled out
on easily-computable grounds: for example, it is not generally used to refer to people,
and cannot be used to refer to plural entities.
Building Applied Natural Language Generation Systems 25
can be used to refer to the Caledonian Express. However, if the discourse has
also mentioned the 1015am train from Aberdeen to Edinburgh, then a denite
description for CALEDONIAN-EXPRESS should include extra information to
distinguish this from the other train; so, we might build the description the
Glasgow train. A corpus analysis can be used to determine which modiers
are most commonly added to denite descriptions in the application domain.
7 Linguistic Realisation
7.1 The Task
Linguistic realisation is the task of generating grammatically correct sentences to
communicate messages. From a knowledge perspective, the realiser is the module
where knowledge about the grammar of the natural language is encoded. Some
simple examples of this syntactic and morphological knowledge are as follows:
Rules about verb group formation: The earlier stages of the generation pro-
cess may simply specify a tense (for example, past, present, or future), an
overall sentential form (for example, question or imperative), a polarity (for
example, negated), and so forth. It is the job of the realiser to construct an
appropriate verb group based on all these parameters. For example, if the
basic message to be conveyed is concerned with the relationship between the
concept NEXT-TRAIN and the domain entity CALEDONIAN-EXPRESS, we
might have the following variants:
(17) a. Future Tense:
The next train will be the Caledonian Express.
b. Simple Present Tense, Negated:
The next train is not the Caledonian Express.
c. Past Tense, Question:
Was the [last] train the Caledonian Express?
Rules about agreement: English requires certain words to agree in grammatical
number (singular or plural); for example, we say A cat sleeps but Two cats
sleep. The realiser can automatically enforce these rules as it constructs a
sentence.
Rules about syntactically required pronominalisation: In some cases, syn-
tactic rules require pronouns to be used in sentences. For example, we say
John saw himself in the mirror rather than John saw John in the mirror if
the person John saw was John himself.
The above are a small sample of some of the `peculiarities' of English which a
realiser can take care of automatically. This enables the rest of the nlg system to
work with a much simpler and cleaner model of the language, unencumbered by
these details.
In the rest of this section, we will describe a few of the more popular approaches
to linguistic realisation. Space prohibits an exhaustive review of all approaches to
this task.
26 Reiter and Dale
7.2 Realisation as the Inverse of Parsing
The process of linguistic realisation is sometimes viewed as the inverse of the parsing
process found in natural language analysis systems. In a parsing system, a grammar
is used to map from a surface sentence to a representation of the semantic content
of that sentence. Under the inverse parsing model, the task of the realiser is to
go in the opposite direction; that is, the realiser takes as input a representation of
the semantic content of a sentence that is similar to the representations produced
as output by parsers, and produces from this as output a surface sentence that
expresses this semantic content.8 A number of algorithms have been proposed for
this task, of which the best known is the semantic-head-driven algorithm (Shieber
et al. 1990).
The inverse parsing approach in principle allows bi-directional grammars
to be constructed. These grammars are declarative formulations of the correspon-
dences between semantic structures and syntactic structures, which can be used
to produce mappings in either direction. Bi-directional grammars are theoretically
very elegant. They also have the practical advantage of making it easier to build
dialogue systems which can understand the same range of syntactic and lexical
phenomena that they are able to produce, which is likely to help users of such
systems.
However, there are problems with making the inverse parsing approach work in
practice. In particular, the approach assumes that the input to an nlg realiser is
similar to the output of a parser in a natural language analysis system. However,
the representations that are naturally produced by the pre-realisation stages of nlg
(that is, text planning and sentence planning), such as spl, are in fact quite dierent
from the representations currently required by the post-parser components of most
natural language analysis systems. Busemann (1996) discusses this issue and other
problems with inverse parsing.
8
A common terminological misperception is that generation is the inverse of parsing,
but as we have seen in this paper, generation involves very much more than this. If
we are to seek ways of comparing work in language generation and work in language
analysis, then nlg as a whole corresponds to a multi-level language analysis model that
culminates in plan recognition and the incorporation of the results into a world model.
Building Applied Natural Language Generation Systems 27
which taken together determine the syntactic characteristics of the sentence being
constructed. In a linguistic realisation component based on systemic grammar, these
choices are often characterised as queries posed to the intended semantic content
and the wider environment in order to determine what function words should be
added, how words should be ordered, and so on. For a detailed exposition of the
use of systemic grammar in natural language generation, see (Matthiessen and
Bateman 1991). Bateman (1996) describes kpml, a linguistic realiser based on
systemic grammar which has been used in several nlg projects.
An alternative representation of the ideas in sfl can be found in Elhadad and
Robin's (1996) surge, a unication-based systemically-oriented grammar of En-
glish that uses the functional unification formalism (fuf) as its underlying
mechanism.
Both fuf/surge and kpml are in the public domain.9 These are complicated
and sophisticated general purpose systems, with a correspondingly steep learning
curve required in order to use them successfully. For simple applications, simpler
approaches are often more appropriate.
7.5 Templates
Some applied natural language generation systems do not perform syntactic reali-
sation at all; instead, the content determination process directly species messages
as text templates. This has an impact on a number of the tasks we have described
so far:
Content determination and discourse planning proceed as described above
in Section 5, but the end result is a text plan whose leaves are templates
(which may include linguistic annotations, as mentioned in Section 4.3.2).
For example, a text plan might have the following as a leaf node:
(18) hx [root=depart, number=number(x)] at yi
hx=CALEDONIAN-EXPRESS, y=1000i
Sentence aggregation basically works as described in Section 6.1, but it may
not be able to use certain types of aggregation such as ellipsis. This is because
templates do not specify the sentential content at a suciently abstract level
to permit the appropriate manipulations. Some types of aggregation are still
possible with templates, however, as discussed in (Geldof and Van de Velde
1997).
Lexicalization is usually not performed, and instead the content determination
system chooses templates which contain appropriate words to describe domain
concepts. If it is important to not overuse words so as to maintain variety in a
text, it may be necessary to have several templates for the same basic message
and to put in place some mechanism for choosing between them.
Referring expression generation generates slot llers for the template. In the
above example, for instance, the referring expression generation mechanism
might determine that the concept CALEDONIAN-EXPRESS should be realised
by the pronoun it. It can be dicult to generate good referring expressions
in template systems because the nlg system does not know what entities are
mentioned in the canned portion of the template.
Realisation may take care of agreement (e.g., departs instead of depart) and
other aspects of morphology and orthography, but it does not perform any
syntactic processing.
The template approach often makes sense when only limited syntactic variability
is required in the output texts. For example, if all the sentences that are to be
generated are in the simple present tense, then there is no need for a complex real-
isation mechanism that can generate sentences in other tenses. Another advantage
of the template approach is that, for domain experts, templates are usually easier to
understand than mechanisms that manipulate more complex syntactic structures.
This may assist in the knowledge acquisition task.
Building Applied Natural Language Generation Systems 29
8 Conclusions
In this paper, we have:
discussed the pros and cons of building natural language generation systems;
discussed some of the techniques that can be used in determining the require-
ments to be met by such systems;
presented an overview of the tasks that natural language generation systems
need to attend to; and
described in some detail one particular architectural model that accommo-
dates these tasks.
There has been insucient space here to describe all the design issues involved in
building nlg systems, and all the technical problems that arise. For further in-
formation on these issues, the reader may wish to look at the wider nlg research
literature. Much of this is to be found in books arising from various international
and European workshops on Natural Language Generation that have been held over
the last ten years: see (Kempen 1987; McDonald and Bolc 1988; Zock and Sabah
1988; Dale et al. 1990; Paris et al. 1991; Dale et al. 1992; Horacek and Zock 1993;
Adorni and Zock 1996). Unfortunately, there are many workshops which have not
resulted in subsequent publications. Some of the papers presented at these work-
shops are available over the World Wide Web from the Computation and Language
server (http://xxx.lanl.gov/archive/cmp-lg); otherwise, obtaining information
about papers presented at workshops may require contacting the author or someone
else who was present at the workshop. Joining the Association for Computational
Linguistics' Special Interest Group in Natural Language Generation (siggen) is
a good way to keep in touch with upcoming events in the eld. The siggen Web
site (http://www.cs.bgu.ac.il/siggen) gives general information about siggen,
plus conference announcements, papers, jobs, and other news of interest to the nlg
community.
If this article has been successful in its goal, it will have provided the reader with
a better appreciation of what is involved in building an applied natural language
generation system. We would be very interested to receive feedback from readers
who try to make use of the work presented here.
Acknowledgements
The authors would like to thank the three anonymous reviewers of this article, the
many other people who have commented on drafts of the article, and the attendees
of the tutorial on Building Applied Natural Language Generation Systems presented
at the 1997 Applied Natural Language Processing Conference in Washington dc,
for comments and suggestions which have led to improvements in the material
presented here.
References
Adorni, G. and Zock, M. (eds.) 1996. Trends in Natural Language Generation. Lecture
Notes in Articial Intelligence. Berlin: Springer.
30 Reiter and Dale
Allen, J. and Perrault, C. 1980. Analyzing intention in utterances. Articial Intelligence
15: 143{178.
Appelt, D. 1985. Planning English referring expressions. Articial Intelligence 26: 1{33.
Aust, H.; Oerder, M.; Seide, F.; and Steinbiss, V. 1995. The Philips automatic train
timetable information system. Speech Communication 17: 249{262.
Bateman, J. 1996. KPML Development Environment. Technical Report, IPSI, GMD,
Darmstadt, Germany.
Buchanan, B.; Moore, J.; Forsythe, D.; Carenini, G.; Banks, G.; and Ohlsson, S. 1995.
An intelligent interactive system for delivering individualized information to patients.
Articial Intelligence in Medicine 7: 117{154.
Busemann, S. 1996. Best-rst surface realization. In Proceedings of the 8th International
Workshop on Natural Language Generation, pages 101{110.
Caldwell, D. and Korelsky, T. 1994. Bilingual generation of job descriptions from quasi-
conceptual forms. In Proceedings of the Fourth Conference on Applied Natural-Language
Processing, pages 1{6. Association for Computational Linguistics.
Cawsey, A.; Binsted, K; and Jones, R. 1995. Personalised explanations for patient educa-
tion. In Proceedings of the 5th European Workshop on Natural Language Generation,
pages 59{74.
Coch, J. 1996. Evaluating and comparing three text production techniques. In Proceedings
of COLING-1996.
Dale, R. 1992. Generating Referring Expressions: Building Descriptions in a Domain of
Objects and Processes. Cambridge: MIT Press.
Dale, R.; Mellish, C.; and Zock, M. (eds.) 1990. Current Research in Natural Language
Generation. London: Academic Press.
Dale, R.; Hovy, E.; Rosner, D.; and Stock, O. (eds.) 1992. Aspects of Automated Natural
Language Generation. Lecture Notes in Articial Intelligence. Berlin: Springer.
Dale, R. and Reiter, E. 1995. Computational interpretations of the Gricean maxims in the
generation of referring expressions. Cognitive Science 19: 233{263.
Dalianis, H. and Hovy, E. 1996. Aggregation in natural language generation. In G. Adorni
and M. Zock (eds.), Trends in Natural Language Generation, pages 88{105. Lecture
Notes in Articial Intelligence. Berlin: Springer.
Elhadad, M. and Robin, J. 1996. An overview of SURGE: a reusable comprehensive syntac-
tic realisation component. In Proceedings of the 8th International Workshop on Natural
Language Generation (demos and Posters), pages 1{4.
Geldof, S. and Van de Velde, W. 1997. An architecture for template based (hyper)text gen-
eration. In Proceedings of the 6th European Workshop on Natural Language Generation,
pages 28{37.
Goldberg, E.; Driedgar, N.; and Kittredge, R. 1994. Using natural-language processing to
produce weather forecasts. IEEE Expert 9: 45{53.
Goldman, N. 1975. Conceptual generation. In R. Schank (ed.), Conceptual Information
Processing. New York: Elsevier.
Halliday, M. 1985. An Introduction to Functional Grammar. London: Edward Arnold.
Horacek, H. and Zock, M. (eds.) 1993. New Concepts in Natural Language Generation.
London: Pinter.
Hovy, E. 1993. Automated discourse generation using discourse structure relations. Arti-
cial Intelligence 63: 341{386.
Iordanskaja, L.; Kim, M.; Kittredge, R.; Lavoie, B.; and Polguere, A. 1992. Generation
of extended bilingual statistical reports. In Proceedings of the Fifteenth International
Conference on Computational Linguistics (COLING-92), volume 3, pages 1019{1023.
Kasper, R. 1989. A
exible interface for linking applications to Penman's sentence genera-
tor. In Proceedings of the 1989 DARPA Speech and Natural Language Workshop, pages
153{158.
Kempen, G. (ed.) 1987. Natural Language Generation. Martinus Nijho Publishers.
Building Applied Natural Language Generation Systems 31
Kittredge, R.; Korelsky, T.; and Rambow, O. 1991. On the need for domain communication
knowledge. Computational Intelligence 7: 305{314.
Kosslyn, S. 1994. Elements of Graphic Design. New York: W. H. Freeman.
Lavioe, B. and Rambow, O. 1997. A Fast and Portable Realizer for Text Generation Sys-
tems. In Proceedings of the Fifth Conference on Applied Natural Language Processing,
pages 265-268.
Maier, E. and Hovy, E. 1993. Organising discourse structure relations using metafunctions.
In H. Horacek and M. Zock (eds.), New Concepts in Natural Language Generation, pages
69{86. London: Pinter.
Mann, W. and Thompson, S. 1988. Rhetorical structure theory: toward a functional theory
of text organization. Text 3: 243{281.
Marchant, B.; Cerbah, F.; and Mellish, C. 1996. The GhostWriter Project: A demon-
stration of the use of AI techniques in the production of technical publications. In
Proceedings of Expert Systems 1996: Applications Stream, pages 9-25.
Matthiessen, C. 1991 Lexico(grammatical) choice in text generation. In C. Paris, W.
Swartout, and W. Mann (eds.) Natural Language Generation in Articial Intelligence
and Computational Linguistics, pages 249{292. Kluwer Academic Press.
Matthiessen, C. and Bateman, J. 1991. Systemic Linguistics and Text Generation: Expe-
riences from Japanese and English. London: Pinter.
Maybury, M. (ed.) 1993. Intelligent Multimedia Interfaces. AAAI Press.
McDonald, D. and Bolc, L. (eds.) 1988. Natural Language Generation Systems. Berlin:
Springer.
McKeown, K. 1985. Discourse strategies for generating natural-language text. Articial
Intelligence 27: 1{42.
McKeown, K.; Kukich, K.; and Shaw, J. 1994. Practical issues in automatic document
generation. In Proceedings of the Fourth Conference on Applied Natural-Language Pro-
cessing, pages 7{14.
Mel'cuk, I. 1988. Dependency Syntax: Theory and Practice. Albany: State University of
New York Press.
Moore, J. and Paris, C. 1993. Planning text for advisory dialogues: capturing intentional
and rhetorical information. Computational Linguistics 19: 651{694.
Nogier, J-F. and Zock, M. 1992. Lexical choice as pattern-matching. Knowledge-Based
Systems 5: 200-212.
Paris, C.; Vander Linden, K.; Fischer, M.; Hartley, A.; Pemberton, L.; Power, R.; and
Scott, D. 1995. A support tool for writing multilingual instructions. In Proceedings of
Fourteenth International Joint Conference on Articial Intelligence, pages 1398{1404.
Paris, C.; Swartout, W.; and Mann, W. (eds.) 1991. Natural Language Generation in
Articial Intelligence and Computational Linguistics. Kluwer Academic Press.
Pressman, R. 1994. Software Engineering: A Practitioner's Approach. McGraw-Hill.
Quirk, R. and Greenbaum, S. 1972. A University Grammar of English. Longman.
Reiter, E. 1994. Has a consensus nl generation architecture appeared, and is it psycholin-
guistically plausible? In Proceedings of the 7th International Workshop on Natural Lan-
guage Generation, pages 163{170.
Reiter, E.; Cawsey, A.; Osman, L.; and Ro, Y. 1997. Knowledge acquisition for content se-
lection. In Proceedings of the 6th European Workshop on Natural Language Generation,
pages 117{126.
Reiter, E.; Mellish, C.; and Levine, J. 1995 Automatic generation of technical documen-
tation. Applied Articial Intelligence 9: 259-287.
Scott, A.; Clayton, S.; and Gibson, F. 1991. A Practical Guide to Knowledge Acquisition.
Addison-Wesley.
Shieber, S.; van Noord, G.; Pereira, F.; and Moore, R. 1990. Semantic head-driven gener-
ation. Computational Linguistics 16: 30{42.
32 Reiter and Dale
Springer, S.; Buta, P.; and Wolf, T. 1991. Automatic letter composition for customer ser-
vice. In Proceedings of the Innovative Applications of Articial Intelligence Conference
(CAIA-1991), pages 67{83.
Stede, M. 1996. Lexical options in multilingual generation from a knowledge base. In G.
Adorni and M. Zock (eds.), Trends in Natural Language Generation, pages 222{237.
Lecture Notes in Articial Intelligence. Berlin: Springer.
Swartout. W. 1983. XPLAIN: a system for creating and explaining expert consulting
systems. Articial Intelligence 21: 285{325.
Zock, M. and Sabah, G. (eds.) 1988. Advances in Natural Language Generation: An In-
terdisciplinary Perspective (two volumes). London: Pinter.