Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method for processing a natural language query, the method comprising: obtaining a natural language query originated by a user; parsing the natural language query to obtain a query term; identifying a grid range in a data table as relevant to the query term; preparing a table summary by extracting a plurality of characteristics from the grid range in the data table; determining a logic operation to apply on the plurality of characteristics to derive a result corresponding to the query term; translating the logic operation into a formula executable on the data in the data table, wherein translating the logic operation into the formula comprises: selecting a formula build operation from a plurality of formula build operations based on the logic operation, wherein the formula build operation corresponds to a type of formula; and executing the formula build operation to generate the formula based on the table summary and the logic operation; applying the formula to the data in the data table to generate the result in response to the natural language query; responsive to receiving negative feedback to the result, automatically processing the negative feedback and preparing a new table summary or determining a new logic operation based on the query term; determining an alternative interpretation of the natural language query based on at least one of the new table summary or the new logic operation; and generating an alternative result based on the alternative interpretation.
2. The method of claim 1 , wherein the natural language query is submitted by the user via a user interface at a client device.
3. The method of claim 2 , wherein the natural language query is manually or vocally entered by the user.
4. The method of claim 1 , wherein the natural language query is received at a server from a client device via a hypertext transfer protocol (HTTP) post request.
5. The method of claim 1 , wherein the natural language query is originated in a first language and is then translated into a second language.
6. The method of claim 1 , wherein the identifying a grid range is performed at a client device when the data table is stored at the client device; and the identifying a grid range is performed at a server after receiving the natural language query at the server when the data table is stored at the server.
7. The method of claim 1 , wherein the data table includes any data table stored at a client device, a remote server, or a cloud.
8. The method of claim 1 , wherein the plurality of characteristics include any of dimensions, dimension filters and metrics, wherein dimensions comprise string, date, and time headers and metrics comprise headers corresponding to cells with numerical values.
9. The method of claim 1 , wherein the result is presented to the user via a visualization format including any of an answer statement, a chart, or a data plot.
10. The method of claim 1 , further comprising: obtaining user feedback after the result is provided to the user; and storing the formula associated with the natural language query or the query term when the user feedback is positive.
11. The method of claim 1 , wherein the result is translated into a respective language when the natural language query is received in the respective language from the user.
12. A system for processing a natural language query, the system comprising: a communication interface configured to: receive a parse request including a natural language query from a client device, and send a response including a formula calculating a result to the natural language query to the client device; a table detection module configured to generate a table summary by extracting a plurality of data entities from one or more data tables identified as relevant to the natural language query; and a query interpretation module configured to: determine a logic operation to apply on the plurality of data entities to derive the result to the natural language query; and translate the logic operation into a formula executable on the data table, wherein to translate the logic operation into the formula the query interpretation module is to: select a formula build operation from a plurality of formula build operations based on the logic operation, wherein the formula build operation corresponds to a type of formula; execute the formula build operation to generate the formula based on the table summary and the logic operation; responsive to receiving negative feedback to the result, automatically process the negative feedback and generate a new table summary via the table detection module or determine a new logic operation via the query interpretation module; determine an alternative interpretation of the natural language query based on at least one of the new table summary or the new logic operation; and generate an alternative result based on the alternative interpretation.
13. The system of claim 12 , wherein the parse request further includes a grid range from a data table.
14. The system of claim 12 , further comprising: an analytics module configured to generate a structured database query based on the natural language query.
15. The system of claim 12 , further comprising: a data entity extracting module configured to: extract the plurality of data entities from the table summary; and provide the plurality of data entities in a table format to the query interpretation module.
16. The system of claim 15 , wherein the plurality of data entities include any of dimensions, dimension filters and metrics.
17. The system of claim 12 , further comprising: an answer panel at a client device, wherein the answer panel include a user interface for a user to input the natural language query manually or vocally.
18. The system of claim 12 , further comprising: a formula calculator module configured to calculate a result in response to the natural language query based on the formula and the data table.
19. A computer-readable non-transitory storage medium storing processor-executable instructions for a processor, the instructions to cause the processor to: obtain a natural language query originated by a user; parse the natural language query to obtain a query term; identify a grid range in a data table as relevant to the query term; prepare a table summary including a plurality of data entities based on the grid range; determine a logic operation to apply on the plurality of data entities to derive a result corresponding to the query term; translate the logic operation into a formula executable on the data table, wherein to translate the logic operation into the formula the processor is to: select a formula build operation from a plurality of formula build operations based on the logic operation, wherein the formula build operation corresponds to a type of formula; and execute the formula build operation to generate the formula based on the table summary and the logic operation; apply the formula to the data in the data table to generate the result in response to the natural language query; responsive to receiving negative feedback to the result, automatically process the negative feedback and prepare a new table summary or determine a new logic operation based on the query term; determine an alternative interpretation of the natural language query based on at least one of the new table summary or the new logic operation; and generating an alternative result based on the alternative interpretation.
20. The method of claim 1 , wherein the formula is a mathematical formula.
Unknown
May 4, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.