Processing iterative query constructs in relational databases
US-2023083420-A1 · Mar 16, 2023 · US
US12436935B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-12436935-B1 |
| Application number | US-202418933588-A |
| Country | US |
| Kind code | B1 |
| Filing date | Oct 31, 2024 |
| Priority date | Oct 31, 2024 |
| Publication date | Oct 7, 2025 |
| Grant date | Oct 7, 2025 |
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.
Various methods and processes, apparatuses or systems, and media for generating a grounded answer to a query using a corresponding table are disclosed. The present disclosure provides decomposing a complex query into natural-language sub-queries or steps, which are then translated into database manipulation commands to sequentially transform input table into intermediate or simplified tables, until the input table is simplified for performing a final decision query. Each of the sub-queries may be associated with corresponding intermediate or simplified tables to ground the sub-queries.
Opening claim text (preview).
What is claimed is: 1. A method for generating a grounded answer to a query using a corresponding table, the method comprising: receiving, by a processor, the query, wherein the query is provided in a natural language form; receiving, by the processor, the corresponding table, wherein the corresponding table includes a plurality of rows and a plurality of columns; decomposing, by the processor using natural language processing, the query into a plurality of atomic steps provided in natural language form, wherein the plurality of atomic steps configured to be sequentially performed; converting, by the processor, the plurality of atomic steps into a plurality of database manipulation commands; executing, by the processor, a first database manipulation command of the plurality of database manipulation commands, wherein at least one of the plurality of database manipulation commands is configured to perform a table manipulation to generate an intermediate table that is used by another database manipulation command among the plurality of database manipulation commands; generating, by the processor and in response to the executing of the first database manipulation command, a first intermediate table; storing, in a memory, the first intermediate table in association with a corresponding atomic step among the plurality of atomic steps; determining, by the processor whether a second database manipulation command among the plurality of database manipulation commands is a last database manipulation command among the plurality of database manipulation commands; when the second database manipulation command is determined not to be the last database manipulation command: generating, by the processor and in response to the executing of the second database manipulation command and using the first intermediate table, a second intermediate table, and storing, in the memory, the second intermediate table in association with a corresponding atomic step among the plurality of atomic steps; when the second database manipulation command is determined to be the last database manipulation command: setting, by the processor, the first intermediate table as a final intermediate table, and executing, by the processor, a decision query based on the final intermediate table for generating an answer for the query received; and outputting, by the processor, the generated answer along with at least the first intermediate table and the corresponding atomic step. 2. The method according to claim 1 , wherein each of the plurality of atomic steps is constrained to be limited to a single table manipulation operation or condition. 3. The method according to claim 1 , wherein each of the plurality of data manipulation commands is a Structured Query Language (SQL) command. 4. The method according to claim 1 , wherein the other database manipulation command is subsequent to the at least one of the plurality of database manipulation commands. 5. The method according to claim 1 , wherein the converting of the plurality of atomic steps into the plurality of database manipulation commands is performed using a large language model. 6. The method according to claim 1 , wherein, in the outputting, the first intermediate table is provided with highlighting of at least one cell. 7. The method according to claim 1 , wherein, in the outputting, each of the plurality of atomic steps is grounded with an intermediate table. 8. The method according to claim 1 , wherein the first intermediate table includes a modification of the corresponding table provided to the processor. 9. The method according to claim 1 , wherein the final intermediate table includes less data than the corresponding table provided to the processor. 10. The method according to claim 1 , wherein the executing of the first database manipulation command is performed using a lightweight SQL engine. 11. The method according to claim 1 , wherein the outputting includes generating of an attribution map over at least the first intermediate table to indicate contribution in the generating of the answer. 12. The method according to claim 11 , wherein the attribution map includes highlighting of at least one row. 13. The method according to claim 11 , wherein the attribution map includes at least highlighting of at least one cell. 14. The method according to claim 11 , wherein the attribution map uses different highlights to indicate varying levels of importance to the generating of the answer. 15. The method according to claim 10 , wherein the lightweight SQL engine includes a Python sqlite3 package. 16. The method according to claim 1 , wherein the corresponding table is identified based on the query. 17. The method according to claim 1 , wherein the plurality of atomic steps includes at least three atomic steps. 18. The method according to claim 1 , wherein each of the plurality of database manipulation commands, except for the last database manipulation command, generates an intermediate table or further simplifies a preceding intermediate table. 19. A system for generating a grounded answer to a query using a corresponding table, the system comprising: a processor; and a memory operatively connected to the processor via a communication interface, the memory storing computer readable instructions, when executed, causes the processor to perform: receiving the query, wherein the query is provided in a natural language form; receiving the corresponding table, wherein the corresponding table includes a plurality of rows and a plurality of columns; decomposing, using natural language processing, the query into a plurality of atomic steps provided in natural language form, wherein the plurality of atomic steps configured to be sequentially performed; converting the plurality of atomic steps into a plurality of database manipulation commands; executing a first database manipulation command of the plurality of database manipulation commands, wherein at least one of the plurality of database manipulation commands is configured to perform a table manipulation to generate an intermediate table that is used by another database manipulation command among the plurality of database manipulation commands; generating, in response to the executing of the first database manipulation command, a first intermediate table; storing the first intermediate table in association with a corresponding atomic step among the plurality of atomic steps; determining whether a second database manipulation command among the plurality of database manipulation commands is a last database manipulation command among the plurality of database manipulation commands; when the second database manipulation command is determined not to be the last database manipulation command: generating, in response to the executing of the second database manipulation command, a second intermediate table, and storing the second intermediate table in association with a corresponding atomic step among the plurality of atomic steps; when the second database manipulation command is determined to be the last database manipulation command: setting the first intermediate table as a final intermediate table, and executing a decision query based on the final intermediate table for generating an answer for the query received; and outputting the generated answer along with at least the first intermediate table and the corresponding atomic step. 20. A non-transitory computer readable medium configured to store instructions for generating a
Query execution · CPC title
Natural language query formulation · CPC title
Tablespace storage structures; Management thereof · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.