System and method for generating answers to natural language questions based on document tables

US11243948B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11243948-B2
Application numberUS-201916536172-A
CountryUS
Kind codeB2
Filing dateAug 8, 2019
Priority dateAug 8, 2019
Publication dateFeb 8, 2022
Grant dateFeb 8, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

  • G06F7/00Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11243948B2 cover?
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…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06F7/00. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 08 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).