Computer system and method for converting a conversational statement to computer command language
First Claim
1. A method of processing a natural language into a command language in a system comprising a character input means, a processor and a storage device storing a dictionary and a knowledge data base including a plurality of predefined meaning structure changing rules and a plurality of predefined chained functions structures defining expressions representative of the natural language and the command language, the method comprising:
- (a) a step of inputting a character string having a natural language form representing a request for a computer operation through said input means, and storing said character string in a stack;
(b) a step performed with said processor of parsing the inputted character string into character sub-strings in accordance with said dictionary by comparing portions of the inputted character string with definitions stored in said dictionary;
(c) a step of with the processor, analyzing syntax of each of said character sub-strings by searching the knowledge data base to select corresponding chained functions structures representative of the character sub-strings;
(d) a step performed with said processor of retrieving knowledge stored in the knowledge data base in accordance with the corresponding chained functions structures selected by the analyzing syntax step (c), the retrieved knowledge defining concepts and structure of knowledge data elements representative of each syntax analyzed sub-string;
(e) a step of with said processor, character string analyzing at least one of said syntax analyzed sub-strings by searching the retrieved knowledge described by the corresponding chained functions structures including the knowledge data elements from the corresponding chained functions structures, by matching at least one of the knowledge data elements with at least one of equivalent knowledge data elements of other chained functions structures in the knowledge data base;
(f) a step of with said processor, generating an intermediate meaning structure representing each of said character string analyzed sub-strings from step (e) by combining the corresponding chained functions structures and the knowledge data elements from other chained functions structures matched in accordance with the character string analyzing step (e); and
(g) a step of with said processor, generating at least one of a new character string in the natural language, an intermediate representation for obtaining a command language, and the command language which is equivalent to said syntax analyzed sub-string on the basis of said generated intermediate meaning structure, said new character string being stored in said stack, and said intermediate representation being stored in said knowledge database, and when the command language is generated, executing the command language, and when the command language is not generated, selecting a different one of said character strings from the stack and recursively repeating the processing until all of the character strings in said stack have each been subject to the generating step (g).
1 Assignment
0 Petitions
Accused Products
Abstract
An input device (12) receives a natural language or conversational statement in the form of a character string (1). A processor (14) performs a natural language analysis (2) to convert the input natural language into a command language instruction for a computer program. A morphological analysis (3) compares words of the input character string with contents of a dictionary (10) to convert the input words into preselected words indicated by the dictionary which are output as another character string. In a semantic or syntax analysis (4; FIG. 9), one of the inputted and another character strings are analyzed to generate a corresponding chained functions structure (FIGS. 2, 3). From knowledge (FIG. 5, 7) described by the plurality of chained function structures and from rules stored in knowledge memory (11), a new character string is generated. If the new character string is in command language, the command is executed (7). If the new character string is not in command language, it is reanalyzed (8, 9) to generate yet another character string. In this manner, instructions can be input by a user in any of a multiplicity of national languages in conversational format and converted into appropriate command instructions for an executed computer program.
120 Citations
29 Claims
-
1. A method of processing a natural language into a command language in a system comprising a character input means, a processor and a storage device storing a dictionary and a knowledge data base including a plurality of predefined meaning structure changing rules and a plurality of predefined chained functions structures defining expressions representative of the natural language and the command language, the method comprising:
-
(a) a step of inputting a character string having a natural language form representing a request for a computer operation through said input means, and storing said character string in a stack; (b) a step performed with said processor of parsing the inputted character string into character sub-strings in accordance with said dictionary by comparing portions of the inputted character string with definitions stored in said dictionary; (c) a step of with the processor, analyzing syntax of each of said character sub-strings by searching the knowledge data base to select corresponding chained functions structures representative of the character sub-strings; (d) a step performed with said processor of retrieving knowledge stored in the knowledge data base in accordance with the corresponding chained functions structures selected by the analyzing syntax step (c), the retrieved knowledge defining concepts and structure of knowledge data elements representative of each syntax analyzed sub-string; (e) a step of with said processor, character string analyzing at least one of said syntax analyzed sub-strings by searching the retrieved knowledge described by the corresponding chained functions structures including the knowledge data elements from the corresponding chained functions structures, by matching at least one of the knowledge data elements with at least one of equivalent knowledge data elements of other chained functions structures in the knowledge data base; (f) a step of with said processor, generating an intermediate meaning structure representing each of said character string analyzed sub-strings from step (e) by combining the corresponding chained functions structures and the knowledge data elements from other chained functions structures matched in accordance with the character string analyzing step (e); and (g) a step of with said processor, generating at least one of a new character string in the natural language, an intermediate representation for obtaining a command language, and the command language which is equivalent to said syntax analyzed sub-string on the basis of said generated intermediate meaning structure, said new character string being stored in said stack, and said intermediate representation being stored in said knowledge database, and when the command language is generated, executing the command language, and when the command language is not generated, selecting a different one of said character strings from the stack and recursively repeating the processing until all of the character strings in said stack have each been subject to the generating step (g). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer system for running a computer program that is controlled by a command language, the computer system comprising:
-
input means for inputting a character string which represents command language in natural language; storage means for storing a dictionary and a knowledge data base including a plurality of meaning structure changing rules and a plurality of chained function structures; a processor for recursively processing each inputted character string into the command language, the processor comprising; means for retrieving at least one of the meaning structure changing rules which is representative of the inputted character string from the storage means and applying the retrieved rules to change the inputted character string to another character string; a syntax analyzing means for analyzing syntax of at least one of the inputted and another character strings by searching the knowledge data base to retrieve at least one of the chained function structures which corresponds to the inputted character string; a knowledge retrieving means for retrieving knowledge from said knowledge data base described by the corresponding chained function structures, the retrieved knowledge defines a structure of knowledge data elements representative of the inputted character string; a character string analyzing means for analyzing at least one of the inputted and the another character strings by searching (1) the retrieved knowledge described by said corresponding chained function structures and (2) the knowledge data elements from the corresponding chained function structures, the analyzing including matching at least one of the knowledge data elements with at least one knowledge data element of other chained function structures; means for generating an intermediate meaning structure by combining said corresponding chained function structures and said other chained function structures matched in accordance with the search performed by the character string analyzing means; and means for generating at least one of a new character string in the natural language, an intermediate representation for obtaining the command language for controlling the computer program, and the command language for controlling the computer program on the basis of said generated intermediate meaning structure, wherein when a command language is not generated, the processor selects a different one of said at least one of the inputted and the another character strings, and recursively repeats the processing until the inputted character string is converted into the command language. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A method of controlling a computer system which is controlled by a command language, with conversational statements of a natural language, the method comprising:
-
with an input terminal, inputting a conversational statement to request a preselected operation in a program running on the computer system; with a processor of the computer system, converting the conversational statement into an intermediate word string using a network walk process on a plurality of nodes, each of the plurality of nodes representing values in accordance with a priori information stored in a knowledge computer memory, the stored a priori information includes at least grammatical information, dictionary information, context of the running program, and available operations of the running program, such that the intermediate word string expresses similar concepts to the conversational statement but with words from the dictionary information selected within the context of the running program; with the processor, from the node values of the network walk process generating a chained functions structure character string representing a correspondence between the character string and the intermediate word string; with the processor, converting the chained functions structure into a command language command; controlling the running program with the command language command.
-
Specification