File Information

File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/intro/82/j82-3002_intro.xml

Size: 6,137 bytes

Last Modified: 2025-10-06 14:04:20

<?xml version="1.0" standalone="yes"?>
<Paper uid="J82-3002">
  <Title>An Efficient Easily Adaptable System for Interpreting Natural Language Queries 1</Title>
  <Section position="3" start_page="0" end_page="0" type="intro">
    <SectionTitle>
1. Introduction
</SectionTitle>
    <Paragraph position="0"> This paper describes the results of a three-year research project carried out by the two of us. The project was directed towards the goal of providing practical computer systems that will answer questions expressed in precisely defined subsets of natural language. The results of our work are incorporated in a running prototype system, called &amp;quot;Chat-80&amp;quot;.</Paragraph>
    <Paragraph position="1"> Two issues have particularly influenced the approach we have taken, namely efficiency and portability. Given the practical objective, we wanted to achieve rapid, interactive question answering, and we wanted the techniques to be easily adaptable to a variety of applications, with as much of the implementation code as possible being application independent (cf. Konolige 1979).</Paragraph>
    <Paragraph position="2"> There has been no intention to try to handle unrestricted natural language. Given the current state of the art, we accept that users of a practical natural language question answering system will have to learn how to use a restricted natural language subset rele1 This work was carried out in the Department of Artificial Intelligence, University of Edinburgh, Scotland.</Paragraph>
    <Paragraph position="3"> vant to the particular application. The important issue is whether they will find this more convenient than a more formal query language. We believe that, for many purposes, a suitable natural language subset will be much preferred, on grounds of conciseness and ease of typing alone (see the examples in Appendix III, for instance). It is fair to say that our objective is to so constrain natural language that it becomes a formal, but user-friendly, query language.</Paragraph>
    <Paragraph position="4"> The starting point for our work was a question answering system for a small subset of Spanish implemented by Veronica Dahl 1981,1979, following the approach advocated by Colmerauer 1978. We were particularly attracted to Colmerauer's approach for the clear insight it gives into some of the essential problems involved in constructing a practical natural language answering system, especially the problem of correctly interpreting determiners. In addition, it proved very easy to adapt Dahl's program to English (and to a different domain). This was due in large part to the fact that the system is implemented in Prolog (Roussel 1975; Warren, Pereira, and Pereira 1977), a programming language based on first-order logic. To be more specific, the system is largely made Copyright 1982 by the Association for Computational Linguistics. Permission to copy without fee all or part of this material is granted provided that the copies are not made for direct commercial advantage and the Journal reference and this copyright notice are included on the first page. To copy otherwise, or to republish, requires a fee and/or specific permission. 0362-613X/82/030110-13503.00 110 American Journal of Computational Linguistics, Volume 8, Number 3-4, July-December 1982 David H.D. Warren and Fernando C.N. Pereira An Efficient Easily Adaptable System up of rules of the metamorphosis grammar (MG) formalism (Colmerauer 1978), which map directly into the Prolog subset of logic. MGs are an extension of a simpler formalism to which we have given the name definite clause grammars (DCGs) (Pereira and Warren 1980).</Paragraph>
    <Paragraph position="5"> We called the adapted program &amp;quot;Chat&amp;quot;. When running compiled under DEC-10 Prolog (Warren 1979; Pereira, Pereira, and Warren 1978), Chat's speed at analysing English sentences proved very satisfactory (under a tenth of a second of CPU time per sentence).</Paragraph>
    <Paragraph position="6"> Therefore this seemed a promising approach from the point of view of both efficiency and portability. However, we found that Chat has a number of shortcomings, the most serious of which is that the process of answering a question, once it has been analysed, is much too inefficient for any significant application.</Paragraph>
    <Paragraph position="7"> We have therefore written an entirely new program, Chat-80, which, like the original Chat, is implemented entirely in Prolog. The main ways in which  In order to test the approach on a nontrivial domain, Chat-80 includes a database of facts about world geography, and a small vocabulary of English words sufficient for querying the database. This domain has the advantage, for demonstration purposes, that the facts in the database are generally common knowledge, so it is easier to appreciate what is entailed in answering different queries. The database contains basic facts about the world's countries (over 150 of them), oceans, major seas, major rivers, and major cities. The largest relation, 'borders', represents all pairs of countries, oceans, or major seas that are adjacent, and contains therefore over 850 tuples. It should be emphasised that the database is itself implemented as ordinary Prolog; it therefore resides within the normal DEC-10 virtual memory.</Paragraph>
    <Paragraph position="8">  corresponding roughly to: &amp;quot;What does the question mean?&amp;quot;, &amp;quot;How shall I answer it?&amp;quot;, &amp;quot;What is the answer?&amp;quot;. The planning and execution stages are discussed in detail in a companion paper (Warren 1981), so here we will concentrate on the translation stage, which is responsible for the natural language analysis.</Paragraph>
    <Paragraph position="9"> We first describe the way we represent the &amp;quot;meaning&amp;quot; of an English sentence as a logical expression, and then outline how the translation process is formalised, in logic, as a practical Prolog program. Finally, we briefly explain how the logical form is transformed into a Prolog program by the planning phase and how it is then executed.</Paragraph>
  </Section>
class="xml-element"></Paper>
Download Original XML