IP Library Granted Patent US 10,694,344
Granted Patent B2
US 10,694,344 · App. 16/585,054 · Granted Jun 23, 2020

Providing a personal assistant module with a selectively-traversable state machine

Inventors: Adrian Diaconu (Mountain View, CA); Jing Qian (Fremont, CA); Jack Whyte (London, GB); Ning Ma (Fremont, CA); Shir Yehoshua (San Francisco, CA)
Assignee: GOOGLE LLC
H04W4/16G06F9/54G10L13/00G10L15/26H04W76/10G10L15/22H04W88/02
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 10,694,344
App. No.
16/585,054
Granted
Jun 23, 2020
Kind
B2
Abstract

Techniques are described herein for leveraging an online semantic processor to generate a finite state machine to be delivered to and implemented on a resource-constrained device. In various implementations, a user request may be received by a personal assistant module. Data indicative of the user request may be uploaded, e.g., by the personal assistant module, to an online semantic processor. Data may be received, e.g., by the personal assistant module, from the online semantic processor. The received data may represent a state machine having a plurality of candidate states of the personal assistant module. Each candidate state may be potentially responsive to the request. Resources local to the resource-constrained device may be analyzed to ascertain signal(s) unavailable to the online semantic processor. The personal assistant module may then transition to a given state of the plurality of candidate states. The given state may be selected based on the signal(s).

Claims (29)

1. A method implemented using one or more processors, comprising:

receiving, by a personal assistant module operated by a resource-constrained device, from an online semantic processor, data representing a state machine comprising a plurality of candidate states of the personal assistant module, wherein at least a first candidate state of the plurality of candidate states comprises an output to be delivered by the personal assistant module that solicits input selecting between two or more distinct software applications that are potentially responsive to a particular natural language request;

analyzing, by the personal assistant module, one or more resources local to the resource-constrained device to ascertain one or more signals unavailable to the online semantic processor, wherein the one or more resources include information, stored locally on the resource-constrained device, about one or more software applications installed on the resource-constrained device; and

transitioning, by the personal assistant module at the resource-constrained device without receiving disambiguating input from a user of the resource-constrained device, past the first candidate state of the plurality of candidate states to a second state of the plurality of candidate states in which at least one of the two or more distinct software applications has been selected, wherein the transitioning is based on the one or more signals unavailable to the online semantic processor.

2. The method of claim 1 , wherein the two or more software applications installed on the resource-constrained device include two or more camera applications configured to capture digital images using a camera of the resource-constrained device.

3. The method of claim 1 , wherein the two or more software applications installed on the resource-constrained device include two or more telephone applications.

4. The method of claim 1 , wherein the two or more software applications installed on the resource-constrained device include two or more media-playing applications.

5. The method of claim 1 , wherein the two or more software applications installed on the resource-constrained device include two or more map applications.

6. The method of claim 1 , wherein the two or more software applications installed on the resource-constrained device include an email application and a text messaging application.

7. The method of claim 1 , wherein the two or more software applications installed on the resource-constrained device include two or more reservation applications.

8. The method of claim 1 , wherein the one or more signals further comprise one or more records of an interaction history between a user and the personal assistant module.

9. The method of claim 8 , wherein the one or more signals further comprise one or more statistics based on the one or more records of an interaction history between a user and the personal assistant module.

10. The method of claim 1 , wherein the one or more signals further comprise position coordinates of the resource-constrained device.

11. At least one non-transitory computer-readable medium comprising instructions that, in response to execution of the instructions by one or more processors, cause the one or more processors to perform the following operations:

receiving, by a personal assistant module operated by a resource-constrained device, from an online semantic processor, data representing a state machine comprising a plurality of candidate states of the personal assistant module, wherein at least a first candidate state of the plurality of candidate states comprises an output to be delivered by the personal assistant module that solicits input selecting between two or more distinct software applications that are potentially responsive to a particular natural language request;

analyzing, by the personal assistant module, one or more resources local to the resource-constrained device to ascertain one or more signals unavailable to the online semantic processor, wherein the one or more resources include information, stored locally on the resource-constrained device, about one or more software applications installed on the resource-constrained device; and

transitioning, by the personal assistant module at the resource-constrained device without receiving disambiguating input from a user of the resource-constrained device, past the first candidate state of the plurality of candidate states to a second state of the plurality of candidate states in which at least one of the two or more distinct software applications has been selected, wherein the transitioning is based on the one or more signals unavailable to the online semantic processor.

12. The at least one non-transitory computer-readable medium of claim 11 , wherein the two or more software applications installed on the resource-constrained device include two or more camera applications configured to capture digital images using a camera of the resource-constrained device.

13. The at least one non-transitory computer-readable medium of claim 11 , wherein the two or more software applications installed on the resource-constrained device include two or more telephone applications.

14. The at least one non-transitory computer-readable medium of claim 11 , wherein the two or more software applications installed on the resource-constrained device include two or more media-playing applications.

15. The at least one non-transitory computer-readable medium of claim 11 , wherein the two or more software applications installed on the resource-constrained device include two or more map applications.

16. The at least one non-transitory computer-readable medium of claim 11 , wherein the two or more software applications installed on the resource-constrained device include an email application and a text messaging application.

17. The at least one non-transitory computer-readable medium of claim 11 , wherein the two or more software applications installed on the resource-constrained device include two or more reservation applications.

18. The at least one non-transitory computer-readable medium of claim 11 , wherein the one or more signals further comprise one or more records of an interaction history between a user and the personal assistant module.

19. The at least one non-transitory computer-readable medium of claim 18 , wherein the one or more signals further comprise one or more statistics based on the one or more records of an interaction history between a user and the personal assistant module.

20. A resource-constrained device comprising one or more processors and memory storing instructions that, in response to execution of the instructions by the one or more processors, cause the one or more processors to:

receive, by a personal assistant module operated by the resource-constrained device, from an online semantic processor, data representing a state machine comprising a plurality of candidate states of the personal assistant module, wherein at least a first candidate state of the plurality of candidate states comprises an output to be delivered by the personal assistant module that solicits input selecting between two or more distinct software applications that are potentially responsive to a particular natural language request;

analyze, by the personal assistant module, one or more resources local to the resource-constrained device to ascertain one or more signals unavailable to the online semantic processor, wherein the one or more resources include information, stored locally on the resource-constrained device, about one or more software applications installed on the resource-constrained device; and

transition, by the personal assistant module at the resource-constrained device without receiving disambiguating input from a user of the resource-constrained device, past the first candidate state of the plurality of candidate states to a second state of the plurality of candidate states in which at least one of the two or more distinct software applications has been selected, wherein the transitioning is based on the one or more signals unavailable to the online semantic processor.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2019
From: DIACONU, ADRIAN; QIAN, JING; WHYTE, JACK; MA, NING; YEHOSHUA, SHIR
To: GOOGLE INC.
Reel/Frame 050633/0948 →
CHANGE OF NAME Recorded Oct 6, 2019
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 051792/0120 →
Continuity (2)
Continuation 15177327 · Jun 8, 2016
Related Publication 20200029182A1 · Jan 23, 2020