Methods, apparatus, and data structures for annotating a database design schema and/or indexing annotations
First Claim
1. An apparatus comprising:
- a processor;
a memory operatively coupled to the processor, the memory containing processor executable components comprising;
an authoring tool to annotate components of a database design schema thereby generating annotations;
an indexer for indexing the annotations, which are generated by the authoring tool, responsive to a plurality of classifications that are based on information contained in a dictionary and concordance, wherein the indexer comprises;
a normalizer for assigning a normalized weight to words of each annotation, based on classifications associated with the words, such that the normalizer assigns more weight to more distinct words than to less distinct words; and
a query translator for performing operations comprising;
accepting a natural language query;
converting the natural language query to a command query using the database design schema and indexed annotations generated by the authoring tool; and
presenting the command query to a database management process for interrogating a database;
wherein converting the natural language query to the command query comprises;
parsing the natural language query;
determining whether a word or phrase of the natural language query matches the indexed annotations;
for a matching word or phrase of the natural language query, generating a group of fragments, wherein the fragments comprise components of the database design schema associated with matching indexed annotations;
for the matching word or phrase of the natural language query, ranking the group of fragments to generate a group of ranked fragments according to ranking criteria; and
chaining the fragments from a plurality of groups of ranked fragments together to generate the command query.
1 Assignment
0 Petitions
Accused Products
Abstract
An authoring tool (or process) to facilitate the performance of an annotation function and an indexing function. The annotation function may generate informational annotations and word annotations to a database design schema (e.g., an entity-relationship diagram or “ERD”). The indexing function may analyze the words of the annotations by classifying the words in accordance with a concordance and dictionary, and assign a normalized weight to each word of each of the annotations based on the classification(s) of the word(s) of the annotation. A query translator (or query translation process) to (i) accept a natural language query from a user interface process, (ii) convert the natural language query to a formal command query (e.g., an SQL query) using the indexed annotations generated by the authoring tool and the database design schema, and (iii) present the formal command query to a database management process for interrogating the relational database.
-
Citations
18 Claims
-
1. An apparatus comprising:
-
a processor; a memory operatively coupled to the processor, the memory containing processor executable components comprising; an authoring tool to annotate components of a database design schema thereby generating annotations; an indexer for indexing the annotations, which are generated by the authoring tool, responsive to a plurality of classifications that are based on information contained in a dictionary and concordance, wherein the indexer comprises; a normalizer for assigning a normalized weight to words of each annotation, based on classifications associated with the words, such that the normalizer assigns more weight to more distinct words than to less distinct words; and a query translator for performing operations comprising; accepting a natural language query; converting the natural language query to a command query using the database design schema and indexed annotations generated by the authoring tool; and presenting the command query to a database management process for interrogating a database; wherein converting the natural language query to the command query comprises; parsing the natural language query; determining whether a word or phrase of the natural language query matches the indexed annotations; for a matching word or phrase of the natural language query, generating a group of fragments, wherein the fragments comprise components of the database design schema associated with matching indexed annotations; for the matching word or phrase of the natural language query, ranking the group of fragments to generate a group of ranked fragments according to ranking criteria; and chaining the fragments from a plurality of groups of ranked fragments together to generate the command query. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method comprising:
-
operating on a computer a system to annotate a database design schema to facilitate a natural language interface to stored information via operations comprising; annotating components of the database design schema thereby generating annotations; indexing the annotations in response to a plurality of classifications based on information contained in a dictionary and concordance; assigning a normalized weight to words of each annotation, based on classifications associated with the words, such that more weight is assigned to more distinct words than to less distinct words; accepting a natural language query; converting the natural language query to a command query using the database design schema, and indexed annotations generated by the authoring tool, wherein the converting comprises; parsing the natural language query; determining whether a word or phrase of the natural language query matches the indexed annotations; for a matching word or phrase of the natural language query, generating a group of fragments, wherein the fragments comprise components of the database design schema associated with matching indexed annotations; for the matching word or phrase of the natural language query, ranking the criteria of fragments to generate a group of ranked fragments according to ranking criteria; and chaining the fragments from a plurality of groups of ranked fragments together to generate the command query; and presenting the command query to a database management process for interrogating a database. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. One or more computer-readable storage media having one or more computer executable modules embodied thereon, the computer-executable modules encoded for execution on a computer to configure the computer to perform operations comprising:
-
annotating components of a database design schema thereby generating annotations; indexing the annotations, responsive to a plurality of classifications that are based on information contained in a dictionary and concordance; assigning a normalized weight to words of each annotation, based on classifications associated with the words, such that more weight is assigned to more distinct words than to less distinct words; accepting a natural language query; converting the natural language query to a command query using the database design schema, and indexed annotations generated by the authoring tool, wherein the converting comprises; parsing the natural language query; determining whether a word or phrase of the natural language query matches the indexed annotations; for a matching word or phrase of the natural language query, generating a group of fragments, wherein the fragments comprise components of the database design schema associated with matching indexed annotations; for the matching word or phrase of the natural language query, ranking the group of fragments to generate a group of ranked fragments according to ranking criteria; and chaining the fragments from a plurality of groups of ranked fragments together to generate the command query; and presenting the command query to a database management process for interrogating a database. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification