Adaptive natural language computer interface system
First Claim
1. A processing system for providing a natural language interface between a user and a computer program that must be provided with user instructions and/or data couched in a formal computer language, comprising:
- input means for input of user messages couched in natural language;
processing means connecting to the input means for mapping the user message into corresponding formal computer language expressions based upon stored information including classes of words, and based upon the frequency of use characteristics of the classes;
means connecting to the processing means for presenting the formal computer language to the computer program; and
adaptive means connecting to the input means and to the processing means for modifying stored information in response to user supplied information.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for computer translation between a natural language, such as English, and a second language, such as the command language of a computer operating system, a job control language, a robot control language, a numerical control machine program language or subset of another natural language.
The system for an operating system interface performs semantic processing of natural language requests by applying cryptographic techniques and indexes to guide an Artificial Intelligence search and inference mechanism in a mapping process from the user request to the target command set. Other cryptographic characteristics such as frequency distribution of classes of words and letters are used to allocate and retrieve the information in the knowledge base. The system also utilizes a high speed cryptographic filter to reduce computational overhead. A crypto-signature is computed in this filtering process to permit fast and efficient pattern matching access and to interface the virtual memory system. Interpretation of requests having insufficient information or ambiguities is achieved by the use of information theory concepts of entropy and key equivocation in conjunction with a conversational mode.
The system also rewrites the knowledge provided by the user in a form of Extended-Microinstructions, that participate in the inductive mapping process and code generation for the desired secondary language. The Extended-Microinstructions define the structure, parameters, and order of execution of a series of general purpose procedures used in the mapping process of the natural language to the command set.
520 Citations
18 Claims
-
1. A processing system for providing a natural language interface between a user and a computer program that must be provided with user instructions and/or data couched in a formal computer language, comprising:
-
input means for input of user messages couched in natural language; processing means connecting to the input means for mapping the user message into corresponding formal computer language expressions based upon stored information including classes of words, and based upon the frequency of use characteristics of the classes; means connecting to the processing means for presenting the formal computer language to the computer program; and adaptive means connecting to the input means and to the processing means for modifying stored information in response to user supplied information. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A processing system for providing a natural language interface between a user and a computer program that must be provided with user instructions and/or data couched in a formal computer language, comprising:
-
input means for input of user messages couched in natural language; processing means connecting to the input means for mapping the user message into corresponding formal computer language expressions based upon stored information including classes of words, and based upon the frequency of use characteristics of the classes; means connecting to the processing means for presenting the formal computer language to the computer program; and wherein the processing means further comprises cryptographic filter means for high speed determination of a crypto-signature of tokens derived from the user message utilizing cryptographic characteristics of the tokens.
-
-
7. A processing apparatus for performing translations between a predetermined natural language containing tokens comprising words and/or phrases and a second language comprising:
-
input means for input of user messages in said predetermined natural language comprising tokens of said natural language; processing means connecting to said input means for identifying words and/or phrases of said second language stored in the memory corresponding to respective tokens in said predetermined natural language user message based on cryptological characteristics corresponding to the length of said tokens of said predetermined natural language, said processing means comprising parsing means for parsing the user message into tokens of at least a first order, and wherein the processing means indentifies formal computer language words and/or phrases corresponding to the tokens, and filter means for providing high speed determination of the existence of stored information corresponding to each token; means connecting to said processing means for generating a message in said second language utilizing the identifiee second language words and/or phrases; wherein the processing means comprises access means for identifying words of the formal computer language corresponding to the tokens based upon word length categories and frequency of use characteristics; and wherein the processing means further comprises self-modifying means for modifying the filter means and access means based upon statistical information gathered during usage of the apparatus.
-
-
8. A processing apparatus for performing tranlations between a predetermined natural language and a second formal computer language in which messages destined for a particular computer program must be expressed, comprising:
-
input means for input of user messages in said predetermined natural language comprising words and/or phrases of said natural language; processing means connecting to the input means for identifying words and/or phrases of said second formal computer language stored in the memory corresponding to respective words and/or phrases in said predetermined natural language user message based on cryptological characteristics corresponding to the length of said words and/or phrases of said predetermined natural language; means connecting to the processing means for generating a message in said second formal computer language utilizing the identified second language words and/or phrases and for presenting the second formal computer language message to the computer program; wherein the computer program has associated with it a data storage system including files of data the structure and organization of which data storage system has associated with it certain names and structures which must be understood by one wishing to query, manipulate, or otherwise access said data storage system, and which data storage system is queried, manipulated, or otherwise accessed by said computer program; and wherein the apparatus further comprises means connecting to said processing means for scanning said data storage system to obtain information about said data storage system'"'"'s names and structure and for thereafter enabling said processing means to recognize and to accept said data storage system'"'"'s names as part of the predetermined natural language and to translate them into the second formal computer language in a manner that reflects the information gathered concerning said file system'"'"'s structure.
-
-
9. A processing apparatus for performing translations between a predetermined natural language containing tokens comprising words and/or phrases and a second language comprising:
-
input means for input of user messages in said predetermined natural language comprising tokens of said natural language; processing means connecting to said input means for identifying words and/or phrases of said second language stored in the memory corresponding to respective tokens in said predetermined natural language user message based on cryptological characteristics corresponding to the length of said tokens of said predetermined natural language, said processing means comprising parsing means for parsing the user message into tokens of at least a first order, and wherein the processing means identifies second language words and/or phrases corresponding to the tokens, and filter means for providing high speed determination of the existence of stored knowledge corresponding to each token; means connecting to said processing means for generating a message in said second language utilizing the identified second language words and/or phrases; wherein the processing means comprises access means for identifying words of the second language corresponding to the tokens based upon word length categories and frequency of use characteristics; and wherein the processing means further comprises code generating means for generating classifications of words, and patterns of words of the user messages according to function within the user message and for generating a code representative of the classifications. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A processing apparatus including a memory for providing a natural language interface between a user and a computer program that must be provided with user instructions and/or data couched in a formal computer language, said natural language including tokens formed from words and/or phrases, comprising:
-
input means for input of user computer program requests couched in natural language; processing means connecting to the input means for identifying at least first order tokens from the user request and for identifying formal computer language terms corresponding to the tokens based upon classes of words determined by word length, and based upon the frequency of use characteristics of the classes; means connected to said processing means for assembling a formal computer language command responsive to the identified formal computer language terms; wherein the processing means further comprises filter means for high speed elimination of tokens not stored in the memory utilizing word length and frequency of use characteristics of selected characters of the tokens; and wherein the processing means further comprises access means for allocating to storage prestored tokens and for accessing the prestored tokens contained in a user request based upon word length categories and frequency of use characteristics. - View Dependent Claims (16, 17, 18)
-
Specification