CPC G06F 16/245 (2019.01) [G06F 16/285 (2019.01); G06F 40/216 (2020.01); G06F 40/284 (2020.01); G06F 40/295 (2020.01); G06F 40/35 (2020.01); G06F 40/56 (2020.01); G10L 15/1822 (2013.01); G10L 15/22 (2013.01); G06F 3/16 (2013.01); G06F 3/167 (2013.01); G06Q 30/0601 (2013.01)] | 18 Claims |
1. A computer-implemented method of processing input queries for performing one or more commands, the method comprising:
receiving, by a communication system, a first query, wherein the first query includes a command requiring one or more parameters for performance;
determining a query type of the first query based on the command, wherein the query type is selected from a group comprising a functional query type, an entity query type, and clarification question type;
processing, in response to determining that the first query is the functional query type, the first query to determine a type of function for at least one command of the first query by ranking candidate types of functions for the at least one command;
identifying a template based on the type of function for the at least one command, wherein the template comprises the at least one command and at least one placeholder for an entity associated with performing the at least one command;
after receiving the first query and before performing the command, receiving a second query including an entity and anaphora;
in response to determining that a third query is received in response to a request for clarification:
classifying the third query as a clarification question type for the command;
creating a feature vector indicating a relevance of the second query and the third query to the first query;
based on the feature vector and the determination, processing the second query and the third query to associate the entity with the parameter required for performing the command of the first query;
in response to determining that the third query is not received in response to a first clarification question:
determining whether a query type of the third query is a functional query type or an entity query type;
determining, in response to determining that the third query is the function query type, a subsequent command by performing a plurality of natural language processing techniques to determine a rank of candidate commands and selecting the subsequent command in response;
performing the subsequent command and the command with the entity in place of the at least one placeholder in view of the subsequent command; and
providing one or more results of the performed commands.
|