| CPC G06F 40/284 (2020.01) [G06F 16/243 (2019.01); G06F 16/24522 (2019.01); G06F 40/295 (2020.01); G06F 40/40 (2020.01); G06F 40/42 (2020.01)] | 20 Claims |

|
1. A computer-implemented method comprising:
accessing an utterance;
classifying one or more named entities within the utterance into predefined classes, wherein the classifying results in each of the one or more named entities being assigned a class from the predefined classes, and the predefined classes match table names or attribute names within a database schema;
searching one or more value lists within the database schema using one or more tokens from the utterance, wherein the searching identifies and outputs one or more value matches comprising: (i) any value within the one or more value lists that matches a token from the utterance and (ii) any attribute associated with a matching value;
generating a data structure, according to a predefined format for the data structure, by storing: (i) each of the one or more named entities and the assigned class for each of the one or more named entities, (ii) each of the value matches and the token matching each of the value matches, and (iii) the utterance, wherein the predefined format comprises: (i) the utterance in a first position; (ii) a named entity of the one or more named entities and a position indicator that indicates where in the utterance the named entity can be found in a second position; and (iii) a value match of the one or more value matches and a position indicator that indicates where in the utterance a word or token associated with the value match can be found in a third position;
using a machine learning model to translate the utterance into a logical form based on the data structure; and
executing the logical form as a query on a database associated with the database schema to retrieve a result for the query.
|