Book contents
3 - The Architecture of a Natural Language Generation System
Published online by Cambridge University Press: 25 August 2009
Summary
A piece of software as complex as a complete natural language generation system is unlikely to be constructed as a monolithic program. In this chapter, we introduce a particular architecture for nlg systems, by which we mean a specification of how the different types of processing are distributed across a number of component modules. As part of this architectural specification, we discuss how these modules interact with each other and we describe the data structures that are passed between the modules.
Introduction
Like other complex software systems, nlg systems are generally easier to build and debug if they are decomposed into distinct, well-defined, and easily-integrated modules. This is especially true if the software is being developed by a team rather than by one individual. Modularisation can also make it easier to reuse components amongst different applications and can make it easier to modify an application. Suppose, for example, we adopt a modularisation where one component is responsible for selecting the information content of a text and another is responsible for expressing this content in some natural language. Provided a well-defined interface between these components is specified, different teams or individuals can work on the two components independently. It may be possible to reuse the components (and in particular the second, less application-dependent component) independently of one another.
- Type
- Chapter
- Information
- Building Natural Language Generation Systems , pp. 41 - 78Publisher: Cambridge University PressPrint publication year: 2000
- 1
- Cited by