Natural language interface
First Claim
1. A method for processing a natural language input provided by a user, the method comprising:
- providing a natural language query input to the user;
performing, based on the input, a search of one or more language-based databases including at least one metadata database comprising at least one of a group of information types comprising;
case information;
keywords;
information models; and
database values; and
providing, through a user interface, a result of the search to the user.
4 Assignments
0 Petitions
Accused Products
Abstract
An NLI is provided that provides truly natural query capability to end users of enterprise databases as defined by its abilities to interpret any style of articulation and to learn from the users in a way that improves both effectiveness and efficiency. The strategy uses a concept referred to herein as search and learn. This approach recognizes implicit enumeration-evaluation as a basic solution paradigm to the problem of natural language queries. Based on this analysis, a reference dictionary is used that integrates enterprise metadata (information models and contextual knowledge) with case-based reasoning. The new design affects two vital functions: (1) the generation of all possible interpretations of a natural query suitable for evaluation, and (2) the reduction of the complexity of keywords and the growth of keywords. According to one aspect of the invention, a reference dictionary is used to search for an optimal solution and the dictionary “learns” from experience, achieving maximum naturalness with minimum enumeration. Compared to conventional approaches, this new approach promises realistic performance and completeness of a solution because the new reference dictionary and learning capability allows for it. In a broader sense, the new approach identifies that the NLI problem is primarily a search problem and relates it to the vast tradition of constrained optimization (e.g., scheduling and traveling salesman). Therefore, the NLI problem can be solved using bounded algorithms, and the use of exponential keywords permutations is avoided.
-
Citations
25 Claims
-
1. A method for processing a natural language input provided by a user, the method comprising:
-
providing a natural language query input to the user;
performing, based on the input, a search of one or more language-based databases including at least one metadata database comprising at least one of a group of information types comprising;
case information;
keywords;
information models; and
database values; and
providing, through a user interface, a result of the search to the user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
12. A method for processing a natural language input comprising:
-
providing a plurality of database objects;
identifying a finite number of permutations of the plurality of database objects, the database objects being stored in a metadata database comprising at least one of a group of information comprising;
case information;
keywords;
information models; and
database values; and
interpreting at least one of the permutations to determine a result of the natural language input.
-
-
25. A method for processing a natural language input comprising:
-
determining, from the natural language input, a plurality of recognized terms, the recognized terms existing in a data dictionary having a logical graph structure;
determining a minimum number of the plurality of recognized terms, and determining vertices associated with the minimum number of the logical graph structure;
determining at least one minimum cost query graph that contains a minimum amount of vertices;
if there are more than one minimum cost query graphs, remove at least one redundant cost query graph and producing a solution set of cost query graphs;
determining, within the solution set, at least one cost query graph that is a complete solution; and
translating the at least one cost query graph to a query language statement.
-
Specification