This paper is an introduction to natural language interfaces to databases (Nlidbs). A brief overview of the history of Nlidbs is first given. Some advantages and disadvantages of Nlidbs are then discussed, comparing Nlidbs to formal query languages, form-based interfaces, and graphical interfaces. An introduction to some of the linguistic problems Nlidbs have to confront follows, for the benefit of readers less familiar with computational linguistics. The discussion then moves on to Nlidb architectures, portability issues, restricted natural language input systems (including menu-based Nlidbs), and Nlidbs with reasoning capabilities. Some less explored areas of Nlidb research are then presented, namely database updates, meta-knowledge questions, temporal questions, and multi-modal Nlidbs. The paper ends with reflections on the current state of the art. * 2 Bim Loqui, Mmi2 > Are they led by JLB or DS? The former. The purpose of this paper is to serve as an introduction to some key concepts, problems, methodologies, and lines of research in the area of natural language interfaces to databases. This paper is by no means a complete discussion of all the issues that are relevant to Nlidbs. The reader is also referred to [29] and [79] for alternative surveys of the same field. 1 A detailed description of a natural language front-end that reflects the current state of the art can be found in [2] and [3] . Although the paper contains hints about the capabilities of existing Nlidbs, it does not contain complete descriptions of particular systems, nor is the purpose of this paper to compare particular Nlidbs. This paper is mainly based on information obtained from published documents. The authors do not have personal hands-on experience with most of the Nlidbs that will be mentioned. Whenever a system's feature is mentioned, this means that the documents cited state that the particular system provides this feature, and it is not implied that other systems do not have similar capabilities. Finally, this paper assumes that the user's requests are communicated to the Nlidb by typing on a computer keyboard. Issues related to speech processing are not discussed. The remainder of this paper is organised as follows: section 2 is a brief overview of the history of Nlidbs 2 ; section 3 discusses the advantages and disadvantages of Nlidbs; section 4 presents some of the linguistic problems Nlidbs have to cope with; section 5 describes architectures adopted in existing Nlidbs; section 6 discusses portability issues related to Nlidbs; section 7 introduces Nlidbs that explicitly restrict the set of natural language expressions the user is allowed to input, so that the user can have a clearer view of what sorts of questions the system can understand; section 8 describes Nlidbs with reasoning modules; section 9 highlights some less explored areas of Nlidb research, namely database updates, meta-knowledge questions, temporal questions, and multi-modal interfaces; finally, section 10 summarises the current state of the art. Prototype Nlidbs had already appeared in the late sixties and early seventies. The bestknown Nlidb of that period is Lunar [106], a natural language interface to a database containing chemical analyses of moon rocks. Lunar and other early natural language interfaces were each built having a particular database in mind, and thus could not be easily modified to be used with different databases. (Although the internal representation methods used in Lunar were argued to facilitate independence between the database and other modules [105] , the way that these were used was somewhat specific to that project's needs. Portability issues are discussed in section 6.) By the late seventies several more Nlidbs had appeared. Rendezvous [27] engaged the user in dialogues to help him/her formulate his/her queries. Ladder [58] could be used with large databases, and it could be configured to interface to different underlying database management systems (Dbmss). Ladder used semantic grammars (discussed in section 5.3), 1 Sections 4 and 5 were greatly influenced by [79] . 2 Section 2 is largely based on information from [29], [79], and [89].
One of the earliest systems for creating natural language interfaces to databases relies on a pattern-matching method, using templates to map natural language sentences to semantic representations, which in turn can be mapped into database schemas REF .
Natural Language Interfaces to Databases - An Introduction
ArXiv
Computer Science