Natural language analyzing apparatus and method
First Claim
1. A natural language analyzing apparatus comprising:
- a data base store comprising a data base containing tables;
a grammar store comprising a grammar for a natural language comprising a set of language dependent syntax rules for the natural language, at least one syntax rule having one or more associated semantic routines;
a vocabulary store comprising a vocabulary containing terms of the natural language, definitions of the terms, and morphological information about the terms;
a conceptual model store comprising a conceptual model having (i) a set of language independent records of information defining entities, each entity having a connection to at least one term in the vocabulary, at least one entity having a connection to the data base tables, and each term in the vocabulary being defined by at least one entity, and (ii) a set of records identifying relationships between different entities;
means for inputting a series of words based in the natural language;
parsing means for generating one or more syntactically valid parse trees for the input series of words based on the vocabulary and the syntax rules, and for building, for each parse tree, an executable set of semantic routines based on one or more semantic routines associated with one or more of the syntax rules used to generate the parse tree;
generator means for executing the set of semantic routines generated by the parser to create a language independent representation of the input series of words, wherein executing the semantic routine comprises checking groups of one or more words in the parse trees against the conceptual model for conceptual validity;
output means for producing, from said language independent representation of the input series of words, a natural language output series of words in the same language as the input series of words, said output series of words representing a paraphrase of the input series of words;
confirmation means for requesting confirmation of the conceptual accuracy of the output series of words with reject to the input series of words and for receiving a confirmation from the user if the user determines that the output series of words conceptually matches the input series of words; and
query generator means responsive to the confirmation for producing a data base query from the language independent representation.
0 Assignments
0 Petitions
Accused Products
Abstract
A natural language (NL) analyzing system is provided with the capability to analyze NL expressions and to resolve ambiguities and present them to the user for verification of correct interpretation. A conceptual model of the system, relevant to the application in which the invention is implemented, is created (customizing the system) by the user, and is stored as a conceptual schema. The schema is built of logical facts representing entities (concepts) and relationships between entities, forming a description of the universe of discourse or object system in question. The entities of the schema have at least one external connection, namely to natural language terms in a vocabulary. The schema itself is completely language independent, though the components of it may have "names" expressed in a natural language such as English. There may be a second connection to the entities, namely where the system is used in a query system for relational data bases. In this case the entities of the schema represent objects in the data base, and thus there is a connection between the entities and those objects of the data base. The actual analysis of NL expressions is performed by a natural language engine (NLE) in cooperation with an analysis grammar and the schema. The analysis results in an intermediate, language-independent logic form representation of the input, which is paraphrased back to NL for verification. If the input is a query, there is a translation into a query language such as SQL.
-
Citations
11 Claims
-
1. A natural language analyzing apparatus comprising:
-
a data base store comprising a data base containing tables; a grammar store comprising a grammar for a natural language comprising a set of language dependent syntax rules for the natural language, at least one syntax rule having one or more associated semantic routines; a vocabulary store comprising a vocabulary containing terms of the natural language, definitions of the terms, and morphological information about the terms; a conceptual model store comprising a conceptual model having (i) a set of language independent records of information defining entities, each entity having a connection to at least one term in the vocabulary, at least one entity having a connection to the data base tables, and each term in the vocabulary being defined by at least one entity, and (ii) a set of records identifying relationships between different entities; means for inputting a series of words based in the natural language; parsing means for generating one or more syntactically valid parse trees for the input series of words based on the vocabulary and the syntax rules, and for building, for each parse tree, an executable set of semantic routines based on one or more semantic routines associated with one or more of the syntax rules used to generate the parse tree; generator means for executing the set of semantic routines generated by the parser to create a language independent representation of the input series of words, wherein executing the semantic routine comprises checking groups of one or more words in the parse trees against the conceptual model for conceptual validity; output means for producing, from said language independent representation of the input series of words, a natural language output series of words in the same language as the input series of words, said output series of words representing a paraphrase of the input series of words; confirmation means for requesting confirmation of the conceptual accuracy of the output series of words with reject to the input series of words and for receiving a confirmation from the user if the user determines that the output series of words conceptually matches the input series of words; and query generator means responsive to the confirmation for producing a data base query from the language independent representation. - View Dependent Claims (2, 3, 4)
-
-
5. A method of querying an information store comprising the steps of:
-
generating a computer-readable input representing an input series of words in a natural language; parsing an input expression to generate one or more syntactically valid parse trees for the input series of words based on a vocabulary containing terms of the natural language, definitions of the terms, and morphological information about the terms, and based on syntax rules of a grammar for the natural language, at least one syntax rule having one or more associated semantic routines; building, for each parse tree, an executable set of semantic routines based on the one or more semantic routines associates with the at least one syntax rules having one or more associated semantic routines and used to generate the parse tree; executing the executable set of semantic routines to create a language independent representation of the input series of words based on a conceptual model having (i) a set of language independent records of information defining entities, each entity having a connection to at least one term in the vocabulary, at least one entity having a connection to a data base table, and each term in the vocabulary being defined by at least one entity, and (ii) a set of records identifying relationships between different entities, wherein executing the semantic routine comprises checking groups of one or more words in the parse trees against the conceptual model for conceptual validity; producing, from said language independent representation of the input series of words, a natural language output series of words in the same language as the input series of words, said output series of words representing a paraphrase of the input series of words; requesting confirmation of the conceptual accuracy of the output series of words with respect to the input series of words, and producing a confirmation if the output series of words is conceptually correct; and if the confirmation is produced, producing, in response to the confirmation, a data base query from the language independent representation. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
Specification