Methods and system for providing real-time business intelligence using natural language queries
First Claim
1. A system, comprising:
- a processor; and
a memory operatively coupled to the processor, the memory storing processor-readable instructions executable by the processor to;
receive a natural language based question relating to a user desired data analytics variable via a user interface;
extract a plurality of key words including a first key word relating to the user desired data analytics variable and a second key word from the natural language based question;
generate each of a language dependency graph and a data dependency graph in parallel, the data dependency graph being generated based on, and including, relationships between the plurality of key words and a plurality of search terms in a plurality of data sources, the language dependency graph being generated based on, and including, relationships between the plurality of key words and natural language sentence structure determined using a natural language typed-dependency graph that maps each key word node of a plurality of key word nodes included in the natural language typed-dependency graph to a portion of the remaining key word nodes of the plurality of key word nodes based on sentence structure rules;
merge the language dependency graph and the data dependency graph to form an inter-dependency graph including a mapping between the plurality of key words and (1) a set of previously stored query terms and (2) a set of operational commands, based on the relationships included in the data dependency graph and the relationships included in the language dependency graph, the set of previously stored query terms being stored in a data table from a data source from the plurality of data sources;
store the inter-dependency graph in an index file linked to the plurality of data sources;
determine a previously stored query term for the second key word based on a mapping of the second key word and the previously stored query term that is included in the inter-dependency graph;
determine a computational operation for the first key word based on a mapping of the first key word and the computational operation that is included in the inter-dependency graph; and
translate the natural language based question into a formatted query string based on the index file, the computational operation, and the previously stored query term,the user desired data analytics variable being derived by applying the computational operation on a query result relating to the previously stored query term.
6 Assignments
0 Petitions
Accused Products
Abstract
The methods and systems for providing real-time business intelligence using natural language queries facilitate a user to search within a data warehouse using a natural language question. Such business intelligence platform may receive a natural language based question, extract one or more key words from the natural language based question, determine a first dependency graph of the one or more key words based on a relationship among the one or more key words, determine a second dependency graph of the one or more key words based on previously stored search indices, merge the first and the second dependency graphs to generate an integrated dependency graph, and generate a formatted search string based on the integrated dependency graph.
-
Citations
20 Claims
-
1. A system, comprising:
-
a processor; and a memory operatively coupled to the processor, the memory storing processor-readable instructions executable by the processor to; receive a natural language based question relating to a user desired data analytics variable via a user interface; extract a plurality of key words including a first key word relating to the user desired data analytics variable and a second key word from the natural language based question; generate each of a language dependency graph and a data dependency graph in parallel, the data dependency graph being generated based on, and including, relationships between the plurality of key words and a plurality of search terms in a plurality of data sources, the language dependency graph being generated based on, and including, relationships between the plurality of key words and natural language sentence structure determined using a natural language typed-dependency graph that maps each key word node of a plurality of key word nodes included in the natural language typed-dependency graph to a portion of the remaining key word nodes of the plurality of key word nodes based on sentence structure rules; merge the language dependency graph and the data dependency graph to form an inter-dependency graph including a mapping between the plurality of key words and (1) a set of previously stored query terms and (2) a set of operational commands, based on the relationships included in the data dependency graph and the relationships included in the language dependency graph, the set of previously stored query terms being stored in a data table from a data source from the plurality of data sources; store the inter-dependency graph in an index file linked to the plurality of data sources; determine a previously stored query term for the second key word based on a mapping of the second key word and the previously stored query term that is included in the inter-dependency graph; determine a computational operation for the first key word based on a mapping of the first key word and the computational operation that is included in the inter-dependency graph; and translate the natural language based question into a formatted query string based on the index file, the computational operation, and the previously stored query term, the user desired data analytics variable being derived by applying the computational operation on a query result relating to the previously stored query term. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A processor-implemented method, comprising:
-
receiving a natural language based question; extracting a plurality of key words from the natural language based question; mapping the plurality of key words to a set of previously stored query terms and a computational operation connecting the set of previously stored query terms; determining a first dependency graph of the plurality of key words based on, and including, a grammatical relationship among the plurality of key words determined using a natural language typed-dependency graph that maps each key word node of a plurality of key word nodes included in the natural language typed-dependency graph to a portion of the remaining key word nodes of the plurality of key word nodes based on sentence structure rules; determining a second dependency graph of the plurality of key words based on, and including, the mapping of the plurality of key words to the set of previously stored query terms and the computational operation; merging the first and the second dependency graphs to generate an integrated dependency graph including a mapping between the key words and (1) the set of previously stored query terms and (2) a set of operational commands, based on the grammatical relationship included in the first dependency graph and the mapping in the second dependency graph, the integrated dependency graph being saved in an index file linked to a plurality of data sources; and generating a formatted search string from the natural language based question based on (1) at least one operational command, from the set of operational commands, that is mapped to the plurality of key words, (2) the set of previously stored query terms, and (3) the index file. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory processor-readable medium storing code representing processor-executable instructions, the code comprising code to cause the processor to:
-
receive a natural language based question relating to a user desired data analytics variable via a user interface; extract a plurality of key words from the natural language based question; generate an inter-dependency graph of the plurality of key words and previously stored query terms from a plurality of data sources based on each of (1) a first dependency graph generated based on relationships between the plurality of key words and natural language sentence structure determined using a natural language typed-dependency graph that maps each key word node of a plurality of key word nodes included in the natural language typed-dependency graph to a portion of the remaining key word nodes of the plurality of key word nodes based on sentence structure rules and (2) a second dependency graph including relationships between the plurality of key words and the previously stored query terms, the inter-dependency graph including a computational operation to derive the user desired data analytics variable and being saved in an index file linked to the plurality of data sources, the inter-dependency graph including a mapping between the plurality of key words and (1) a set of previously stored query terms and (2) a set of operational commands that includes the computational operation, based on the relationships included in the first dependency graph and the relationships included in the second dependency graph; translate the natural language based question into a formatted query string of previously stored query terms based on (1) the operational command, (2) the set of previously stored query terms, and (3) the index file; send a query request to a data source from the plurality of data sources based on the formatted query string; obtain a query result from the data source in response to the query request; and derive an output value for the user desired data analytics variable based on the query result and the computational operation. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification