US 12,436,935 B1
System and method for grounding outputs in tabular generative artificial intelligence
Ivan Brugere, Des Plaines, IL (US); Sanjay Kariyappa, Mountain View, CA (US); Shubham Sharma, Manhattan, NY (US); Freddy Lecue, Mamaroneck, NY (US); and Giang Nguyen, Auburn, AL (US)
Assigned to JPMORGAN CHASE BANK, N.A., New York, NY (US)
Filed by JPMorgan Chase Bank, N.A., New York, NY (US)
Filed on Oct. 31, 2024, as Appl. No. 18/933,588.
Int. Cl. G06F 16/22 (2019.01); G06F 16/242 (2019.01); G06F 16/2455 (2019.01)
CPC G06F 16/2282 (2019.01) [G06F 16/243 (2019.01); G06F 16/2455 (2019.01)] 20 Claims
OG exemplary drawing
 
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.