Intelligent assistant for home automation
First Claim
1. A user device comprising:
- one or more processors;
memory; and
one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for;
receiving an audio input representing a user request for an electronic device to perform an action,wherein the audio input is in natural language form, andwherein the audio input is ambiguous with respect to defining the electronic device for performing the action;
determining one or more possible electronic device characteristics corresponding to the audio input;
retrieving a data structure representing a set of electronic devices of a predetermined location;
determining, based on the data structure, one or more candidate electronic devices from the set of electronic devices, the one or more candidate electronic devices corresponding to the audio input;
determining, based on the one or more possible electronic device characteristics and one or more actual electronic device characteristics of the one or more candidate electronic devices, a user intent corresponding to the audio input; and
providing a command that causes an electronic device of the one or more candidate electronic devices to perform the action corresponding to the user intent.
0 Assignments
0 Petitions
Accused Products
Abstract
This relates to systems and processes for using a virtual assistant to control electronic devices. In one example process, a user can speak an input in natural language form to a user device to control one or more electronic devices. The user device can transmit the user speech to a server to be converted into a textual representation. The server can identify the one or more electronic devices and appropriate commands to be performed by the one or more electronic devices based on the textual representation. The identified one or more devices and commands to be performed can be transmitted back to the user device, which can forward the commands to the appropriate one or more electronic devices for execution. In response to receiving the commands, the one or more electronic devices can perform the commands and transmit their current states to the user device.
-
Citations
28 Claims
-
1. A user device comprising:
-
one or more processors; memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for; receiving an audio input representing a user request for an electronic device to perform an action, wherein the audio input is in natural language form, and wherein the audio input is ambiguous with respect to defining the electronic device for performing the action; determining one or more possible electronic device characteristics corresponding to the audio input; retrieving a data structure representing a set of electronic devices of a predetermined location; determining, based on the data structure, one or more candidate electronic devices from the set of electronic devices, the one or more candidate electronic devices corresponding to the audio input; determining, based on the one or more possible electronic device characteristics and one or more actual electronic device characteristics of the one or more candidate electronic devices, a user intent corresponding to the audio input; and providing a command that causes an electronic device of the one or more candidate electronic devices to perform the action corresponding to the user intent. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for controlling an electronic device using a virtual assistant on a user device having one or more processors and a memory, the method comprising:
at the user device; receiving an audio input representing a user request for an electronic device to perform an action, wherein the audio input is in natural language form, and wherein the audio input is ambiguous with respect to defining the electronic device for performing the action; determining one or more possible electronic device characteristics corresponding to the audio input; retrieving a data structure representing a set of electronic devices of a predetermined location; determining, based on the data structure, one or more candidate electronic devices from the set of electronic devices, the one or more candidate electronic devices corresponding to the audio input; determining, based on the one or more possible electronic device characteristics and one or more actual electronic device characteristics of the one or more candidate electronic devices, a user intent corresponding to the audio input; and providing a command that causes an electronic device of the one or more candidate electronic devices to perform the action corresponding to the user intent. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
22. A non-transitory computer-readable storage medium comprising instructions for one or more programs for execution by one or more processors of a user device, the one or more programs including instructions which, when executed by the one or more processors, cause the user device to perform the method of:
-
receiving an audio input representing a user request for an electronic device to perform an action, wherein the audio input is in natural language form, and wherein the audio input is ambiguous with respect to defining the electronic device for performing the action; determining one or more possible electronic device characteristics corresponding to the audio input; retrieving a data structure representing a set of electronic devices of a predetermined location; determining, based on the data structure, one or more candidate electronic devices from the set of electronic devices, the one or more candidate electronic devices corresponding to the audio input; determining, based on the one or more possible electronic device characteristics and one or more actual electronic device characteristics of the one or more candidate electronic devices, a user intent corresponding to the audio input; and providing a command that causes an electronic device of the one or more candidate electronic devices to perform the action corresponding to the user intent. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
Specification