Interactive information processing system using natural language

Abstract: In an information processing system for executing processing according to information input using a natural language, models of a dialogue between the user and the system according to the processing fields are stored, the processing field of the input information is specified, and questions for obtaining responses (inputs of necessary data) using simple expressions from the user are provided according to the model. Language expressions which the user can use for inputting commands are thereby limited, and processing is executed according to the obtained responses.

Description: BACKGROUND OF THE INVENTION 1. Field of the Invention This invention relates to an information processing system which allows the user to input data and instructions for various kinds of processing without using complicated commands. 2. Description of the Prior Art Heretofore, in an information processing system, such as a computer or the like, instructions for executing a program desired by the user must have been previously defined commands, such as "run", "compile" and the like, or must have had the form of a set of program statements described in a computer language, such as Basic, Fortran or the like. Recently, methods have been studied wherein commands are input using a natural language by providing a processing unit capable of understanding a natural language in an interface of an information processing system. However, when using program statements as instructions in the above-described conventional information processing system, a high-level knowledge of programming is required of the user. Even when using only pre-defined commands, it is necessary to understand and memorize the commands. On the other hand, when commands are input using a natural language, and an apparatus is arranged to understand the natural language, the user need not learn a computer language since he can utilize a commonly used language. However, it is rather difficult from a technical point of view to construct (particularly when the object of the use is general) an interface which makes it possible to input commands by a natural language. US-A-4689737 describes a computer system including text input and display devices. A display manager receives text from the input device and causes the display device to display that text on a first or auricle display level. Text input by a user is compared with a synonymics list. Failure to match with a synonymic text segment results in generation of an error message. However, if a match is found, an associated task list is referenced to produce a vector corresponding to this synonymic text segment to allow control of the system to be passed temporarily to the particular task element pointed to by the vector. The paper by J Sprowl et al entitled "An Expert System for Drafting Legal Documents" published in the AFIPS Conference Proceedings 1984 National Computer Conference discloses an expert system which, upon finding a bracketed variable in a document, transforms the variable name into a question to ask a user. An answer supplied by a user is input into the document in place of the variable name. If a variable has not been defined, the system checks to see if a procedure exists to enable computation of the variable. If not the system asks a further question defined as a replacement by the document designer or, if no such question exists, asks a default question by building a question from the variable name. According to one aspect of the present invention, there is provided an information processing system in accordance with claim 1. The present invention also provides an information processing method in accordance with claim 3. An embodiment of the present invention provides an information processing system which can perform processing in specified fields by inputting commands using a natural language. An embodiment of the present invention provides an information processing system which can input commands according to interactive processing using a natural language. An embodiment of the present invention provides an information processing system which can process various kinds of commands input using a natural language without having a high proficiency in understanding the natural language. Embodiments of the present invention will now be described, by way of example, with reference to the accompanying drawings, in which: FIG. 1 is a system block diagram of an information processing apparatus according to an embodiment of the present invention; FIG. 2 is a flowchart for preparing a letter; FIG. 3 is a flowchart for data check; and FIG. 4 illustrates a dialogue between a user and a system. An embodiment of the present invention will now be explained with reference to the drawings. FIG. 1 is a block diagram of an information processing system embodying to the present invention. In FIG. 1, an input unit 1 (IN) comprises a keyboard, a mouse and the like, and is used for the input of information/commands from the user. A read-only memory 2 (ROM) stores various kinds of processing procedures including processing procedures shown in flowcharts of FIGS. 2 and 3 (to be described later), fixed data and the like. A random access memory 3 (RAM) includes areas used as work memories. Data base 4 (DB) stores kinds, attributes, meanings, related information and the like of various kinds of information, and can update its contents. In the present embodiment, a model of a dialogue between a user and a system (to be described later) according to the present invention is also stored in the DB. A central processing unit 6 (CPU), for example, reads data from the ROM, RAM, DB and the like, determines data, and controls respective units. An output unit 5 (OUT), which comprises a display unit, a printer and the like, provides the user with questions, and outputs results of processing. An explanation will now be provided of the processing operation of the information processing system of the present invention, using a system of preparing a letter according to information from the user. In this system, information relating to the property and contents of the letter to be written is obtained from the user, and the letter is prepared in accordance with the information. In the above-described system, the present invention is applied in the form of obtaining various kinds of information (the receiver, the sender, the object of the letter, and the like) to be utilized in preparing the letter from the user in response to individual questions for each information, according to a model of questions from a system and responses from a user for preparing a letter. It is thereby possible to receive responses from the user in the form of short answers, and to prevent inputs of sentences of a natural language (for example, ordinary long English sentences) by the user. Accordingly, the system need not truly understand a natural language to extract useful information from sentences. Next, an explanation will be provided of specific processing with reference to flowcharts shown in FIGS. 2 and 3, illustrating a dialogue between a user and a system shown in FIG. 4. First, in FIG. 4, processing for preparing a letter is started according to "letter" in item 1 ○. Next, in item 2 ○,a message "Hello! Can I write/help you to write any letter?" is displayed, and asks about the sender of the letter to be prepared by displaying a message "May I know, who the letter shall be from ?". In general, the user = the sender, but the sender does not always coincide with the user, since a secretary may, for example, write a letter in place of her employer (the above-described items belong to step S1). Next, in item 3 ○, "Aruna" input as a variable "reply_name" is set to a variable "sender_name" as a response to the question (steps S2 - S3). The system then executes a subprogram "data_chk" (step S4). The flow of "data_chk" is shown in FIG. 3. Suppose that the following entries are found at step S101. Name Aruna Surname Rohra Affiliation Canon Inc. Working on nl processing - - - - - - In the present case, since "Aruna", serving as reply_name, is present in the data base as Name, properties required for variables coincide with each other. In the foregoing entries, "nl processing" indicates "natural language processing". The above-described information is stored in a work memory (step S103). In item 4 ○, together with a message "Thank you", the receiver of the letter is obtained by asking the following question: "Whom shall the letter be addressed to?" (step S5). A message "Schank" in item 5 ○, serving as the reply for the question, is provided as "reply_name", is set to "receiver_name", and "data_chk" is executed again (step S8). Since the value "Schank" of "reply_name" is not found in the data base at step S101, a message "Sorry, I don't know that person" is displayed in item 6 ○, and a question "Is that his surname?" is asked according to the knowledge possessed by the data base that a person is often called by his surname in a letter. Since an answer "Yes" for the question is obtained in item 7 ○, a question "What's his name?" is asked in item 8 ○, and an answer "Roger" in item 9 ○ is obtained. Based on knowledge about first names. the system concludes that Roger is a male, and so can be represented by the word "he" in the letter. Accordingly, in item a message "I see" is displayed. If an input first name is an unknown first name, and the system cannot determine the sex of the person, the system asks the user about the sex of the person, and adds obtained information to the data base as knowledge. In item the system requests information for preparing a data base for Roger according to a question "Where does he work? Could you please give me his address as well, so that I don't have to ask you for it later?". In item an address "Yale University. Dept. of Computer Science Yale, New Haven, Conneticut, USA" is input (the data base may be structured so that "New Haven, Conneticut. USA" is obtained from "Yale University". Furthermore, if it is structured so that the correct address can be obtained, the address may be used as the address of the receiver). In item a message "Thank you" is displayed. Subsequently, in order to input a "work", the system presumes, from the model for preparing a letter that the sender and the receiver have in general a common interest, that, in this case, nl processing is the field of work, that is, the "work" of the receiver is the same as that of the sender. Hence, the system asks a question "I presume he works on nl processing. OK?". Since the question is affirmed by "Yes" in item the information is stored as his work in the data base, and is also stored in a work memory (the above-described items belong to steps S102, S104 and S105). Subsequently, in item the object of the letter is asked by the question "What is the letter to be about?". At that time, objects stored in "goals_list" of the data base are shown by "It would be easy for me to know, which one of the following - Get Information, Visit him, Schedule a meeting, ---", and the user is anticipated selecting one of the provided objects. Since an answer "Visit him" in item is present in "goals_list" (steps S10 - S11), a message "OK. I'll try to write the letter now; please wait" is displayed in item At step S13, the preparation of the letter is executed according to the input information. If an input in item is not present in "goals_list", the fact is displayed (step S12), and another input is awaited. As explained above, according to the present invention, since the user can input information in the form of short answers using a commonly-used language even if he does not have knowledge about commands, an input method is simplified. Also on the system side, since a "true" analysis of a natural language is not needed, it is possible to reduce the amount of programs which have previously been needed for processing a natural language input.

Claims: An information processing apparatus comprising: input means (1) for enabling a user to input information/commands; data base means (4) for storing kinds/attributes, meanings and related information for various kinds of information which can be input using said input means; retrieving means for retrieving information from said data base means relating to information input using said input means; processing means (6) for performing processing on the information/commands input using said input means and information retrieved from said data base means; work memory means (3) for storing information to be processed by said processing means; storage means (4) for storing questions to be supplied to the user in order to obtain information in the form of answers from the user, wherein each of the questions requires a respective kind of information as an answer and requests a brief answer in the form of a word or a phrase; and output means (5) for outputting a question from amongst the questions stored in said storage means to the user, characterised by: check means for checking whether an answer input by a user to a question output from said output means is registered in said data base means; first control means for controlling said retrieving means to retrieve attributes, meanings and related information for the input answer from the data base if the input answer is registered in said database means; comparison means for comparing the retrieved attribute of the input answer with an attribute of an expected answer to the question; second control means for controlling said output means to provide the user with a further question in order to obtain an attribute and related information of the input answer as a further answer from the user if the input answer is not registered in said data base means; register means for creating a new entry in said data base means (4) for an input answer which is not registered in said data base means and for registering such an input answer together with the attribute and the related information input as a further answer by the user in the new entry; and third control means for controlling said work memory means (3) to store the retrieved attributes, meanings and related information of the input answer when the retrieved attribute of the input answer coincides with the attribute of the expected answer at the result of comparison by said comparison means. An information processing apparatus according to claim 1, wherein said processing means is arranged to prepare a text in which data provided by the input information and the retrieved information are incorporated. An information processing method comprising: retrieving information relating to information input by a user from a data base means (4) storing kinds/attributes, meanings and related data for various kinds of information which can be input to the data base; storing the input information/commands and information retrieved from said data base means in work memory means (3); processing information stored in a work memory means; outputting a question from amongst questions stored in storage means (4) in order to obtain information in the form of answers from the user, wherein each of the questions requires a respective kind of information as an answer and requests a brief answer in the form of a word or a phrase, characterised by: checking whether an answer input by a user is registered in said data base means; retrieving attributes, meanings and related information for the input answer from the data base if the input answer is registered in said data base means, and comparing the retrieved attribute of the input answer with an attribute of an expected answer to the question; providing the user with a further question in order to obtain an attribute and related information as a further answer from the user if the input answer is not registered in said data base means, creating a new entry in said data base means for the input answer and registering the input answer together with the attribute and the related information input as a further answer by the user in the new entry; and storing the retrieved attributes, meanings and related information of the input answer in work memory means (3) when the retrieved attribute of the input answer coincides with the attribute of the expected answer. An information processing method according to claim 3, which comprises processing the input information and the retrieved information to prepare a text in which data provided by the input information and the retrieved information are incorporated.

Inventors: MATSUOKA HIROSHI, ROHRA ARUNA, MATSUOKA, HIROSHI, ROHRA, ARUNA, MATSUOKA, HIROSHI, C/O CANON KABUSHIKI KAISHA, ROHRA, ARUNA, C/O CANON KABUSHIKI KAISHA
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1991
Main classification: G06F17
IPC codes: G06F17, G06F15