Method and apparatus for a hierarchical object model-based constrained language interpreter-parser
OwnerHazel Shackleton, Christopher Misiakinventors
Life of this patent
Estimating the term…
Abstract
A natural language parser creates parsed commands or output for an external system from user commands entered on a user interface. The parser utilizes symbols arranged in an object-oriented hierarchical manner, and a grammar information and state table to constrain language inputs so that they conform to requirements of the external system. The parser provides feedback to the user via the user interface to assist in the formation of valid output to the external system and reduce the complexity for the user. The parser may be applied to the field of control systems in general, as well as a flight control system for an aircraft.
Claims17
A natural language parser for accepting language input and producing a constrained language output, comprising:
- an input configured to accept user input elements from a user interface comprising one or more of words, partial words, numbers, language symbols, and a send command;
- an output configured to output completed syntactically correct parsed output strings to an external system;
- a symbol table that is structured according to a hierarchical object model comprising multiple symbol objects representing possible valid user input elements, the symbol objects being based on an object-oriented-based hierarchical structure, wherein mapped symbol objects are mapped to the user input elements based on corresponding symbol objects of the symbol table and syntactic rules;
- a grammar information and state table comprising:
- multiple grammar output objects representing legal statements that may be used with the external system, the grammar information and state table providing a rigid set of constraints for the completed parsed output strings and disallowing syntactically incorrect strings, the grammar information and state table being utilized to create mapped output objects based on one or more of the mapped symbol objects in the hierarchically structured symbol table based on semantic rules, the grammar information and state table interacting with the symbol table to disallow syntactically incorrect user input elements;
- and
- a state table configured to reflect a state of a particular output as it is progressively entered by the user;
- the natural language parser further comprising;
- a translator comprising a translation table having an output object to output string mapping, the translator configured to combine information from the translation table and the output object to produce the parsed output strings.
A method for parsing a user-supplied language input and providing a parsed output for an external system, comprising:
- providing a natural language parser comprising a user input that accepts user input elements from a user via a user interface, the parser further comprising an output that outputs parsed output strings to an external system;
- building a symbol table that is part of the parser according to a hierarchical object model structure by entering into the symbol table symbol objects that correspond to valid user input elements and include symbol object type information;
- building a grammar information and state table by providing multiple grammar output objects that correspond to valid parsed output strings of the external system;
- building a translator by providing output strings corresponding to the command objects;
- entering user input elements into the user input by a user;
- converting the user input elements into mapped symbol objects corresponding to the user input elements utilizing the symbol table and syntactic rules;
- converting one or more of the mapped symbol objects into a corresponding mapped output object utilizing the grammar information and state table and based on semantic rules, and updating a state of a mapped output object in the state table;
- constraining user input elements as they are being entered by checking the grammar and information state table, the symbol table, the syntactic rules, and the semantic rules, and providing information back to assist the user in entering proper user input elements;
- receiving a send command as a user input element;
- translating, in response to receiving the send command, the mapped output object into a corresponding parsed output string utilizing the translator;
- and
- sending the parsed output string to the external system.
A method for parsing a user-supplied language input and providing a parsed output for an external system, comprising:
- pre-processing user input elements as input strings by storing pre-processed strings as an unprocessed string, performing number handling, or processing strings by performing next legal string handling;
- processing the unprocessed string by the next legal string handling into a mapped symbol object based on corresponding symbol objects of a symbol table;
- pre-processing input numbers by the number handling and adding a number placeholder to a hold object representing a current state of a command object;
- processing the mapped symbol object that results in at least one of:
- a) combining the mapped symbol object with the hold object, b) providing an error message to the user interface, c) automatically inserting a conjunction or verb, d) providing the user with a choice list of possible next entry values, e) locating and adding a missing object to the current state of the command object, and f) adding the mapped symbol object to the current state of the command object;
- processing a user entered send command that combines any unresolved mapped symbol objects with the current state of the command object, producing a completed valid command object;
- translating the completed valid command object into a parsed output string;
- and
- sending the parsed output string to the external system and resetting the current state of the command object.
Dependencies are inferred from the claim text.