Method and system of classification in a natural language user interface
First Claim
1. A computer-implemented method of processing queries for performing one or more functions, the method comprising:
- receiving a first query of a plurality of user queries, by a communication system, wherein the first query defines at least one command, wherein the at least one command is classified as a type of function;
after receiving the first query, receiving a second query of a plurality of user queries, by the communication system, wherein the second query includes at least one entity;
determining the type of function for the 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;
identifying, by the communication system, an association between the at least one extracted entity from the second query and the at least one placeholder in the template for the at least one command of the first query;
substituting, by the communication system, the at least one placeholder in the template with the at least one extracted entity from the second query based on the association; and
performing, by the communication system, the at least one command from the first query based at least in part on the at least one extracted entity from the second query according to the template.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system are provided for processing natural language user queries for commanding a user interface to perform functions. Individual user queries are classified in accordance with the types of functions and a plurality of user queries may be related to define a particular command. To assist with classification, a query type for each user query is determined where the query type is one of a functional query requesting a particular new command to perform a particular type of function, an entity query relating to an entity associated with the particular new command having the particular type of function and a clarification query responding to a clarification question posed to clarify a prior user query having the particular type of function. Functional queries may be processed using a plurality of natural language processing techniques and scores from each technique combined to determine which type of function is commanded.
24 Citations
23 Claims
-
1. A computer-implemented method of processing queries for performing one or more functions, the method comprising:
-
receiving a first query of a plurality of user queries, by a communication system, wherein the first query defines at least one command, wherein the at least one command is classified as a type of function; after receiving the first query, receiving a second query of a plurality of user queries, by the communication system, wherein the second query includes at least one entity; determining the type of function for the 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; identifying, by the communication system, an association between the at least one extracted entity from the second query and the at least one placeholder in the template for the at least one command of the first query; substituting, by the communication system, the at least one placeholder in the template with the at least one extracted entity from the second query based on the association; and performing, by the communication system, the at least one command from the first query based at least in part on the at least one extracted entity from the second query according to the template. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computing device comprising:
-
at least one processor; and at least one memory storing computer-executable instructions that when executed by the at least one processor cause the computing device to; receive, by a communication system, a first query of a plurality of user queries, wherein the first query defines at least one command for controlling the user interface, wherein the at least one command is classified as a type of function; after receiving the first query, receive, by the communication system, a second query of a plurality of user queries, wherein the second query includes at least one entity; determine the type of function for the at least one command of the first query by ranking candidate types of functions for the at least one command; identify 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; identify, by the communication system, an association between the at least one extracted entity from the second query and the at least one placeholder in the template for the at least one command of the first query; substitute, by the communication system, the at least one placeholder in the template with the at least one extracted entity from the second query based on the association; and perform, by the communication system, the at least one command from the first query based at least in part on the at least one extracted entity from the second query according to the template.
-
-
23. A tangible computer storage medium storing computer-executable instructions that when executed by at least one processor cause a computing device to:
-
receive, by a communication system, a first query of a plurality of user queries, wherein the first query defines at least one command, wherein the at least one command is classified as a type of function; after receiving the first query, receive, by the communication system, a second query of a plurality of user queries, wherein the second query includes at least one entity; determine the type of function for the at least one command of the first query by ranking candidate types of functions for the at least one command; identify 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; identify, by the communication system, an association between the at least one extracted entity from the second query and the at least one placeholder in the template for the at least one command of the first query; substitute, by the communication system, the at least one placeholder in the template with the at least one extracted entity from the second query based on the association; and perform, by the communication system, the at least one command from the first query based at least in part on the at least one extracted entity from the second query according to the template.
-
Specification