System and method for performing tasks based on user inputs using natural language processing
First Claim
1. A computer-implemented method for automatically performing tasks based on user inputs, the method comprising:
- in response to an input text originated from a user, performing a natural language processing (NLP) operation on the input text to determine a task to be performed in response to a condition relating to an event that may take place at a later time, wherein the condition is satisfied if and when the event takes place at the later time;
determining a first domain associated with the condition based on the NLP operation;
determining a second domain associated with the task to be performed based on the NLP operation;
determining a first application programming interface (API) associated with the first domain and a second API associated with the second domain;
parsing the input text to determine one or more parameters of the first API and the second API;
receiving a notification from a first application via the first API;
examining the notification received from the first API to determine whether the condition has been satisfied; and
in response to determining at the later time, that the condition has been satisfied, transmitting a control command to a second application via the second API, the control command requesting the second application to perform the task.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the invention provide a natural language understanding (NLU) system that performs relatively complex task automations via verbal or voice instructions. Normally, task automations have a trigger condition, and a series of one or more actions that would require a user'"'"'s selection of an option via manual input. This is because the underlying machine logic requires knowledge and classification capabilities from multiple domains that conventional personal assistants are not capable of. Embodiments of the inventive system and methods provide a solution to this complex task by analyzing trigger and action domains, pinpointing appropriate APIs, extracting corresponding API parameters, and automatically fulfilling API calls for the user. The system is configured to parse natural language commands into API calls. It analyzes both the trigger and action APIs and prompts a user for any missing information if necessary.
21 Citations
19 Claims
-
1. A computer-implemented method for automatically performing tasks based on user inputs, the method comprising:
-
in response to an input text originated from a user, performing a natural language processing (NLP) operation on the input text to determine a task to be performed in response to a condition relating to an event that may take place at a later time, wherein the condition is satisfied if and when the event takes place at the later time; determining a first domain associated with the condition based on the NLP operation; determining a second domain associated with the task to be performed based on the NLP operation; determining a first application programming interface (API) associated with the first domain and a second API associated with the second domain; parsing the input text to determine one or more parameters of the first API and the second API; receiving a notification from a first application via the first API; examining the notification received from the first API to determine whether the condition has been satisfied; and in response to determining at the later time, that the condition has been satisfied, transmitting a control command to a second application via the second API, the control command requesting the second application to perform the task. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations, the operations comprising:
-
in response to an input text originated from a user, performing a natural language processing (NLP) operation on the input text to determine a task to be performed in response to a condition relating to an event that may take place at a later time, wherein the condition is satisfied if and when the event takes place at the later time; determining a first domain associated with the condition based on the NLP operation; determining a second domain associated with the task to be performed based on the NLP operation; determining a first application programming interface (API) associated with the first domain and a second API associated with the second domain; parsing the input text to determine one or more parameters of the first API and the second API; receiving a notification from a first application via the first API; examining the notification received from the first API to determine whether the condition has been satisfied; and in response to determining, at the later time, that the condition has been satisfied, transmitting a control command to a second application via the second API, the control command requesting the second application to perform the task. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A data processing system, comprising:
-
a processor; and a memory coupled to the processor to store instructions, which when executed by the processor, cause the processor to perform operations, the operations including; in response to an input text originated from a user, performing a natural language processing (NLP) operation on the input text to determine a task to be performed in response to a condition relating to an event that may take place at a later time, wherein the condition is satisfied if and when the event takes place at the later time, determining a first domain associated with the condition based on the NLP operation, determining a second domain associated with the task to be performed based on the NLP operation, determining a first application programming interface (API) associated with the first domain and a second API associated with the second domain, parsing the input text to determine one or more parameters of the first API and the second API, receiving a notification from a first application via the first API; examining the notification received from the first API to determine whether the condition has been satisfied, and in response to determining, at the later time, that the condition has been satisfied, transmitting a control command to a second application via the second API, the control command requesting the second application to perform the task. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification