IP Library › Granted Patent US 11,790,890
Granted Patent B2
US 11,790,890 · App. 17/521,472 · Granted Oct 17, 2023

Learning offline voice commands based on usage of online voice commands

Inventors: Vikram Aggarwal (Palo Alto, CA); Moises Morgenstern Gali (San Francisco, CA)
Assignee: GOOGLE LLC
G10L15/07G10L15/19G10L15/22G10L15/30G10L15/32G10L2015/228
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,790,890
App. No.
17/521,472
Granted
Oct 17, 2023
Kind
B2
Abstract

Methods, systems, apparatus, including computer programs encoded on a computer storage medium, for a user device to learn offline voice actions. In one aspect, the method includes actions of detecting, by the user device, an utterance at a first time when the user device is connected to a server by a network, providing, by the user device, the utterance to the server using the network, receiving, by the user device and from the server, an update to the grammar of the user device, detecting, by the user device, a subsequent utterance of the utterance at a second time when the user device is not connected to the server by a network, and in response to detecting, by the user device, the subsequent utterance of the utterance at the second time, identifying, by the user device, an operation to perform based on (i) the subsequent utterance, and (ii) the updated grammar.

Claims (63)

1. A method comprising:

receiving, via a vehicle computing device of a vehicle, an utterance of one of more terms provided by a user and received by the vehicle computing device while the vehicle computing device is connected to a network,

wherein the utterance comprises a user request to change a state of an additional device that is controlled by a control system of the vehicle;

providing, via the vehicle computing device and in response to receiving the utterance, data representing the utterance to a server using the network;

determining, by the server and in response to receiving the utterance, that the vehicle computing device can change the state of the additional device responsive to the utterance without requesting data from the server;

in response to receiving the utterance:

initiating, by the server, the changing of the state of the additional device; and

providing, by the server, and based on determining, by the server, that the vehicle computing device can change the state of the additional device responsive to the utterance without requesting data from the server, an update to a grammar stored locally on the vehicle computing device,

wherein the update is generated based on the data representing the utterance,

wherein providing the update causes the grammar stored locally on the vehicle computing device to associate the one or more terms of the utterance with one or more rules stored locally on the vehicle computing device, the one or more rules being associated with changing the state of the additional device, and

wherein prior to the update, the grammar stored locally on the vehicle computing device does not associate the one or more terms of the utterance with the one or more rules stored locally on the vehicle computing device; and

subsequent to the vehicle computing device receiving the update to the grammar stored locally on the vehicle computing device:

receiving, via the vehicle computing device, a second utterance provided by the user, wherein the second utterance corresponds to a second user request to change the state of the additional device that is controlled by the control system of the vehicle;

determining, using the update to the grammar stored locally on the vehicle computing device, that the vehicle computing device can change the state of the additional device without requesting data from the server; and

initiating, via the vehicle computing device, the changing of the state of the additional device.

2. The method of claim 1 , wherein providing, by the server, the update to the grammar stored locally on the vehicle computing device includes providing the one or more terms to the first user device.

3. The method of claim 2 , further comprising:

associating the one or more terms with a predetermined time period, wherein the predetermined time period indicates a maximum period of time the one or more terms will be included in the grammar absent receiving a subsequent utterance of the one or more terms by a user to change the state of the additional device.

4. The method of claim 1 , further comprising:

generating, by the server, a data object that, when executed, causes the vehicle computing device to initiate changing the state of the additional device responsive to the utterance.

5. The method of claim 4 , wherein providing, by the server, the update to the grammar stored locally on the vehicle computing device further comprises providing the generated data object to the vehicle computing device.

6. The method of claim 1 , wherein the update to the grammar enables the vehicle computing device to execute a data object that initiates changing the state of the additional device in response to subsequently receiving the second utterance, and without requesting information from the server.

7. The method of claim 1 , wherein determining, by the server, that the vehicle computing device can change the state of the additional device responsive to the utterance without requesting data from the server comprises:

determining that the vehicle computing device can generate an action comprising a data object that, when executed, causes the vehicle computing device to initiate changing the state of the additional device responsive to receiving a subsequent instance of the utterance.

8. The method of claim 1 , further comprising:

identifying, by the server, a user profile that is associated with the vehicle computing device;

identifying, by the server and based on the user profile, a second computing device that is registered to a user of the vehicle computing device; and

providing, by the server, an update to an additional grammar stored locally on the second computing device based on the one or more terms.

9. The method of claim 1 , wherein the additional device comprises one of: a speaker, a headset, a thermostat, an air conditioner, or a window.

10. The method of claim 1 , wherein determining, by the server, that the vehicle computing device can change the state of the additional device responsive to the utterance without requesting data from the server includes:

determining whether data from the server is required to disambiguate the utterance and to initialize changing the state of the additional device.

11. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving, by a vehicle computing device of a vehicle, an utterance of one of more terms provided by a user and received by the vehicle computing device while the vehicle computing device is connected to a network,

wherein the utterance comprises a user request to change a state of an additional device that is controlled by a control system of the vehicle;

providing, by the vehicle computing device and in response to receiving the utterance, data representing the utterance to a server using the network;

determining, by the server and in response to receiving the utterance, that the vehicle computing device can change the state of the additional device responsive to the utterance without requesting data from the server;

in response to receiving the utterance:

initiating, by the server, the changing of the state of the additional device; and

providing, by the server, and based on determining, by the server, that the vehicle computing device can change the state of the additional device responsive to the utterance without requesting data from the server, an update to a grammar stored locally on the vehicle computing device,

wherein the update is generated based on the data representing the utterance,

wherein providing the update causes the grammar stored locally on the vehicle computing device to associate the one or more terms of the utterance with one or more rules stored locally on the vehicle computing device, the one or more rules being associated with changing the state of the additional device, and

wherein prior to the update, the grammar stored locally on the vehicle computing device does not associate the one or more terms of the utterance with the one or more rules stored locally on the vehicle computing device; and

subsequent to the vehicle computing device receiving the update to the grammar stored locally on the vehicle computing device:

receiving, by the vehicle computing device, a second utterance provided by the user, wherein the second utterance corresponds to a second user request to change the state of the additional device that is controlled by the control system of the vehicle;

determining, by the vehicle computing device and based on the update to the grammar stored locally of the vehicle, that the vehicle computing device can change the state of the additional device without requesting data from the server; and

initiating, by the vehicle computing device, the changing of the state of the additional device.

12. The system of claim 11 , wherein providing, by the server, the update to the grammar stored locally on the vehicle computing device includes providing the one or more terms to the first user device.

13. The system of claim 12 , the operations further comprising:

associating the one or more terms with a predetermined time period, wherein the predetermined time period indicates a maximum period of time the one or more terms will be included in the grammar absent receiving a subsequent utterance of the one or more terms by a user to change the state of the additional device.

14. The system of claim 11 , the operations further comprising:

generating, by the server, a data object that, when executed, causes the vehicle computing device to initiate changing the state of the additional device responsive to the utterance.

15. The system of claim 14 , wherein providing, by the server, the update to the grammar stored locally on the vehicle computing device further comprises providing the generated data object to the vehicle computing device.

16. The system of claim 11 , wherein the update to the grammar enables the vehicle computing device to execute a data object that initiates changing the state of the additional device in response to subsequently receiving the second utterance, and without requesting information from the server.

17. The system of claim 11 , wherein determining, by the server, that the vehicle computing device can change the state of the additional device responsive to the utterance without requesting data from the server comprises:

determining that the vehicle computing device can generate an action comprising a data object that, when executed, causes the vehicle computing device to initiate changing the state of the additional device responsive to receiving a subsequent instance of the utterance.

18. The system of claim 11 , the operations further comprising:

identifying, by the server, a user profile that is associated with the vehicle computing device;

identifying, by the server and based on the user profile, a second computing device that is registered to a user of the vehicle computing device; and

providing, by the server, an update to an additional grammar stored locally on the second computing device based on the one or more terms.

19. The system of claim 11 , wherein the additional device comprises one of: a speaker, a headset, a thermostat, an air conditioner, or a window.

20. The system of claim 11 , wherein determining, by the server, that the vehicle computing device can change the state of the additional device responsive to the utterance without requesting data from the server includes:

determining whether data from the server is required to disambiguate the utterance and to initialize changing the state of the additional device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2021
From: AGGARWAL, VIKRAM; GALI, MOISES MORGENSTERN
To: GOOGLE LLC
Reel/Frame 058057/0611 →
Continuity (2)
Continuation 15862615 · Jan 4, 2018
Related Publication 20220059078A1 · Feb 24, 2022