| CPC G06F 16/2282 (2019.01) [G06F 16/243 (2019.01); G06F 16/2455 (2019.01)] | 20 Claims |

|
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.
|