CPC G06F 16/3329 (2019.01) [G06F 16/3344 (2019.01); G06F 40/205 (2020.01); G06F 40/295 (2020.01); G06F 40/30 (2020.01); G06F 40/40 (2020.01)] | 20 Claims |
1. A method of generating for a natural language question a logical form, the method comprising:
receiving, via a communication interface, the natural language question;
identifying, via a named entity recognition procedure, a first entity from the natural language question;
enumerating, by an enumerator based on the first entity, a plurality of primitives indicative of entities or entity relations in a database or a knowledge base;
ranking, by a ranker module, the plurality of primitives based on their respective relevance to the natural language question;
selecting a subset of top-ranked primitives based on the ranking;
generating, by a neural network based generator, the logical form based on the natural language question and the subset of the plurality of primitives, wherein the logical form is executable on the database or the knowledge base and includes one or more of the plurality of primitives and one or more operations upon the one or more of the plurality of primitives;
transmitting, via the communication interface, the logical form to a database system or a knowledge base system; and
receiving, via the communication interface, a query result in response to the natural language question based on the logical form.
|