Conversational agent
First Claim
1. A computing device comprising one or more processors and one or more non-transitory storage devices storing instructions that, when executed by the one or more processors, configure the computing device to:
- receive a user query from an input device, wherein the user query includes a user intent and at least one command, the user intent being associated with a set of functions to be carried out by the computing device;
derive, using a natural language processing (NLP) engine, the user intent from the user query;
identify, using the NLP engine, at least one domain and the at least one command associated with the user intent derived, wherein the NLP engine includes at least one conditional random field (CRF) for performing entity extraction on the user query to identify at least one entity associated with the at least one command and wherein the command is associated with the domain; and
execute the command associated with the user intent, wherein the command is configured to direct the computing device to carry out a function selected from the set of functions to generate output from a component of the computing device, wherein the component is selected from one of a speaker, a display screen, and a network interface device.
3 Assignments
0 Petitions
Accused Products
Abstract
A method, system, and computer program product provide a conversation agent to process natural language queries expressed by a user and perform commands according to the derived intention of the user. A natural language processing (NLP) engine derives intent using conditional random fields to identify a domain and at least one task embodied in the query. The NLP may further identify one or more subdomains, and one or more entities related to the identified command. A template system creates a data structure for information relevant to the derived intent and passes a template to a services manager for interfacing with one or more services capable of accomplishing the task. A dialog manager may elicit more entities from the user if required by the services manager and otherwise engage in conversation with the user. In one embodiment, the conversational agent allows a user to engage in multiple conversations simultaneously.
84 Citations
19 Claims
-
1. A computing device comprising one or more processors and one or more non-transitory storage devices storing instructions that, when executed by the one or more processors, configure the computing device to:
-
receive a user query from an input device, wherein the user query includes a user intent and at least one command, the user intent being associated with a set of functions to be carried out by the computing device; derive, using a natural language processing (NLP) engine, the user intent from the user query; identify, using the NLP engine, at least one domain and the at least one command associated with the user intent derived, wherein the NLP engine includes at least one conditional random field (CRF) for performing entity extraction on the user query to identify at least one entity associated with the at least one command and wherein the command is associated with the domain; and execute the command associated with the user intent, wherein the command is configured to direct the computing device to carry out a function selected from the set of functions to generate output from a component of the computing device, wherein the component is selected from one of a speaker, a display screen, and a network interface device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of processing a user query performed by a computing device, the method comprising:
-
receiving the user query from an input device, wherein the user query includes a user intent and at least one command, the user intent being associated with a set of functions to be carried out by the computing device; deriving, using a natural language processing (NLP) engine, the user intent; identifying, using the NLP engine, at least one domain and the at least one command associated with the user intent derived, wherein the NLP engine includes at least one conditional random field (CRF) for performing entity extraction on the user query to identify at least one entity associated with the at least one command and wherein the command is associated with the domain; and executing the command associated with the user intent, wherein the command is configured to direct the computing device to carry out a function selected from the set of functions to generate output from a component of the computing device, wherein the component is selected from one of a speaker, a display screen, and a network interface device. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer program product comprising a non-transitory storage device storing instructions for configuring a computing device to:
-
receive a user query from an input device, wherein the user query includes a user intent and at least one command, the user intent being associated with a set of functions to be carried out by the computing device; to derive, using a natural language processing (NLP) engine, the user intent; identify, using the NLP engine, at least one domain and the at least one command associated with the user intent derived, wherein the NLP engine includes at least one conditional random field (CRF) for performing entity extraction on the user query to identify at least one entity associated with the at least one command and wherein the command is associated with the domain; and execute the command associated with the user intent, wherein the command is configured to direct the computing device to carry out a function selected from the set of functions to generate output from a component of the computing device, wherein the component is selected from one of a speaker, a display screen, and a network interface device.
-
Specification