Language generation from flow diagrams
US-2017039192-A1 · Feb 9, 2017 · US
US11243948B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11243948-B2 |
| Application number | US-201916536172-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 8, 2019 |
| Priority date | Aug 8, 2019 |
| Publication date | Feb 8, 2022 |
| Grant date | Feb 8, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments described herein provide a mechanism that translates a natural language question to a database query format that may be applied to a data table to generate an answer to the natural language question. The system may identify key terms from a natural language question and classify the key terms as variable names or operation names. The natural language question is than translated into a format of question template containing variable names and operation names. In this way, the system may map the template question to a database query which can be applied to operate on a relational database to identify a cell value that represents an answer to the natural language question.
Opening claim text (preview).
What is claimed is: 1. A system for providing a response to a natural language question based on document tables, the system comprising: a communication interface that receives a natural language question; a memory containing machine readable medium storing machine executable code; and one or more processors coupled to the memory and configurable to execute the machine executable code to cause the one or more processors to: identify a first key phrase in the natural language question; classify the first key phrase as relating to one or more pre-stored variable names; identify a second key phrase in the natural language question; classify the second key phrase as relating to a pre-stored operation name indicating a logic to be applied upon the one or more pre-stored variable names; determine a query template based on a relationship represented by a third phrase connecting the first key phrase and the second key phrase in the natural language question; translate the natural language question to a structured query based on the query template using the one or more pre-stored variable names and the pre-stored operation name; apply the structured query to a first relational data table; and obtain a value according to the structured query on the first relational data table as a response to the natural language question. 2. The system of claim 1 , wherein the one or more processors coupled to the memory and configurable to execute the machine executable code to cause the one or more processors to classify the first key phrase as relating to one or more pre-stored variable names by: retrieving a database of variable names; selecting, via a classification network, the pre-stored variable name as most relevant to the first key phrase from the database of variable names; and replacing the first key phrase in the natural language question with the pre-stored variable name. 3. The system of claim 1 , wherein the one or more processors coupled to the memory and configurable to execute the machine executable code to cause the one or more processors to classify the second key phrase as relating to the pre-stored operation name: retrieving a database of operation names; selecting, via a classification network, the pre-stored operation name as most relevant to the second key phrase from the database of operation names; and replacing the second key phrase in the natural language question with the pre-stored operation name. 4. The system of claim 1 , wherein the one or more processors coupled to the memory and configurable to execute the machine executable code to cause the one or more processors to determine the query template by: after replacing the first key phrase with the pre-stored variable name and the second key phrase with the pre-stored operation name: identifying the third phrase connecting the pre-stored variable and the pre-stored operation name in the natural language question; identifying a fourth phase remaining in the natural language question; searching, a database of query templates, based on a combination of the third phrase and the fourth phrase. 5. The system of claim 1 , wherein the one or more processors coupled to the memory and configurable to execute the machine executable code to cause the one or more processors to further: select the first relational data table from a repository of relational data tables based at least on the pre-stored variable name. 6. The system of claim 5 , wherein the one or more processors coupled to the memory and configurable to execute the machine executable code to cause the one or more processors to further: determine whether the selected first relational data table includes a column that provide the value in response to the structured query; when the selected first relational data table does not include a column that provides the value in response to the structured query: search for a second relational data table that contains the column providing the value; determine whether the second relational data table and the selected first relational data table are appendable; and merge the first relational data table and the second relational data table into an aggregated table when the first relational data table and the second relational data table are appendable. 7. The system of claim 6 , wherein the one or more processors coupled to the memory and configurable to execute the machine executable code to cause the one or more processors to determine whether the second relational data table and the selected first relational data table are appendable by: determining whether the first relational data table and the second relational data table have at least one header name in common; determining that the first relational data table and the second relational data table are unappendable if the first relational data table and the second relational data table have no header name in common; When the first relational data table and the second relational data table have at least one header name in common: identifying a first number of cells in a first column under the one at least header name from the first relational data table and a second number of cells in a second column under the one at least header name from the second relational data table, wherein the first number of cells and the second number of cells have same cell values. 8. The system of claim 7 , wherein the one or more processors coupled to the memory and configurable to execute the machine executable code to cause the one or more processors to merge the second relational data table and the selected first relational data table into an aggregated table by: adding one or more header names from the second relational data table to the first data table; for a first respective row where each cell from the first number of cells corresponds to: identifying a second respective row containing a respective matching cell from the second relational table; determining, from the second respective row, one or more cells that belong to the added one or more header names; and appending values from the one or more cells to the first respective row under the added one or more header names. 9. The system of claim 1 , wherein the one or more processors coupled to the memory and configurable to execute the machine executable code to cause the one or more processors to further: identify a text document relating to the natural language question based on key work search; determine an unstructured table from the text document; convert the unstructured table into a one-dimensional table. 10. The system of claim 1 , wherein the one or more processors coupled to the memory and configurable to execute the machine executable code to cause the one or more processors to further: identify a first unstructured table and a second unstructured table relating to one or more key phrases in the natural language query; determine whether the first unstructured table and the second unstructured table have a same header pattern; and add non-overlapping rows from the first unstructured table to the second unstructured table when the first unstructured table and the second unstructured table have the same header pattern. 11. A method for providing a response to a natural language question based on document tables, the method comprising: receiving, via a communication interface, a natural language question; identifying, via a processor, a first key phrase in the natural language question; classifying the first key phrase as relating to one or more pre-stored variable names; identifying a second key phrase in the natural language question; classifying the second key phrase as relating t
Natural language query formulation · CPC title
Merging, i.e. combining at least two sets of record carriers each arranged in the same ordered sequence to produce a single set having the same ordered sequence · CPC title
Methods or arrangements for processing data by operating upon the order or content of the data handled (logic circuits H03K19/00) · CPC title
Clustering or classification · CPC title
Translation of natural language queries to structured queries · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.