IP Library Granted Patent US 10,157,615
Granted Patent B2
US 10,157,615 · App. 15/915,599 · Granted Dec 18, 2018

Forming chatbot output based on user state

Inventors: Bryan Horling (Belmont, MA); David Kogan (Natick, MA); Maryam Garrett (Cambridge, MA); Daniel Kunkle (Boston, MA); Wan Fen Nicole Quah (Cambridge, MA); Ruijie He (Roxbury Crossing, MA); Wangqing Yuan (Wilmington, MA); Wei Chen (Belmont, MA); Michael Itz (Somerville, MA)
Assignee: GOOGLE LLC
G10L15/22G06F17/30867G10L15/1815G10L15/30G10L15/26
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,157,615
App. No.
15/915,599
Granted
Dec 18, 2018
Kind
B2
Abstract

Techniques are described herein for chatbots to achieve greater social grace by tracking users' states and providing corresponding dialog. In various implementations, input may be received from a user at a client device operating a chatbot, e.g., during a first session between the user and the chatbot. The input may be semantically processed to determine a state expressed by the user to the chatbot. An indication of the state expressed by the user may be stored in memory for future use by the chatbot. It may then be determined, e.g., by the chatbot based on various signals, that a second session between the user and the chatbot is underway. In various implementations, as part of the second session, the chatbot may output a statement formed from a plurality of candidate words, phrases, and/or statements based on the stored indication of the state expressed by the user.

Claims (38)

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

receiving, at a first client device that executes a first portion of a virtual assistant, input from a user, wherein the input is received during a first session between the user and the virtual assistant, and the input is based on user interface input generated by the user via one or more input devices of the client device;

semantically processing, by the virtual assistant, the input from the user to determine a state expressed by the user to the virtual assistant;

storing, by the virtual assistant in memory hosted on a cloud infrastructure that is accessible to the first client device and at least a second client device of the user, an indication of the state expressed by the user during the first session for future use by the virtual assistant;

determining, by the virtual assistant based on one or more signals, that a second session between the user and the virtual assistant that is distinct from the first session is underway, wherein the one or more signals include the user invoking at least a second portion of the virtual assistant on the second client device;

forming, by a third portion of the virtual assistant that executes on the cloud infrastructure or the second portion of the automated assistant, based on the stored indication of the state expressed by the user, a natural language output from a plurality of candidate words, phrases, or statements, wherein the natural language output raises the state expressed by the user during the first session; and

outputting, by the virtual assistant via one or more output devices of the second client device, as part of the second session, the natural language output.

2. The method of claim 1 , wherein the natural language output formed from the plurality of candidate words, phrases, or statements comprises a greeting selected from a plurality of candidate greetings.

3. The method of claim 1 , wherein the state expressed by the user is a negative sentiment, and the natural language output formed from the plurality of candidate words, phrases, or statements comprises an inquiry of whether the user or other individual about which the state was expressed has improved.

4. The method of claim 1 , wherein the natural language output is formed on the cloud infrastructure.

5. The method of claim 1 , wherein the natural language output is formed at the second client device.

6. The method of claim 1 , wherein the one or more signals further include detection of one or more intervening interactions between the user and the client device other than dialog between the user and the virtual assistant.

7. The method of claim 1 , wherein the one or more signals further include passage of a predetermined time interval since a last interaction between the user and the virtual assistant.

8. The method of claim 1 , wherein the one or more signals further include detection of a change in a context of the user since a last interaction between the user and the virtual assistant.

9. The method of claim 1 , wherein the virtual assistant obtains the plurality of candidate words, phrases, or statements from prior message exchange threads between multiple individuals.

10. A system comprising one or more processors and memory operably coupled to the one or more processors, wherein the memory stores instructions that, in response to execution by the one or more processors, cause the one or more processors to perform the following operations:

receiving, at a first client device that executes a first portion of a virtual assistant, input from a user, wherein the input is received during a first session between the user and the virtual assistant, and the input is based on user interface input generated by the user via one or more input devices of the client device;

semantically processing, by the virtual assistant, the input from the user to determine a state expressed by the user to the virtual assistant;

storing, by the virtual assistant in memory hosted on a cloud infrastructure that is accessible to the first client device and at least a second client device of the user, an indication of the state expressed by the user during the first session for future use by the virtual assistant;

determining, by the virtual assistant based on one or more signals, that a second session between the user and the virtual assistant that is distinct from the first session is underway, wherein the one or more signals include the user invoking at least a second portion of the virtual assistant on the second client device;

forming, by a third portion of the virtual assistant that executes on the cloud infrastructure or the second portion of the automated assistant, based on the stored indication of the state expressed by the user, a natural language output from a plurality of candidate words, phrases, or statements, wherein the natural language output raises the state expressed by the user during the first session; and

outputting, by the virtual assistant via one or more output devices of the second client device, as part of the second session, the natural language output.

11. The system of claim 10 , wherein the natural language output formed from the plurality of candidate words, phrases, or statements comprises a greeting selected from a plurality of candidate greetings.

12. The system of claim 10 , wherein the state expressed by the user is a negative sentiment, and the natural language output formed from the plurality of candidate words, phrases, or statements comprises an inquiry of whether the user or other individual about which the state was expressed has improved.

13. The system of claim 10 , wherein the natural language output is formed on the cloud infrastructure.

14. The system of claim 10 , wherein the natural language output is formed at the second client device.

15. The system of claim 10 , wherein the one or more signals further include detection of one or more intervening interactions between the user and the client device other than dialog between the user and the virtual assistant.

16. The system of claim 10 , wherein the one or more signals further include passage of a predetermined time interval since a last interaction between the user and the virtual assistant.

17. The system of claim 10 , wherein the one or more signals further include detection of a change in a context of the user since a last interaction between the user and the virtual assistant.

18. 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, at a first client device that executes a first portion of a virtual assistant, input from a user, wherein the input is received during a first session between the user and the virtual assistant, and the input is based on user interface input generated by the user via one or more input devices of the client device;

semantically processing, by the virtual assistant, the input from the user to determine a state expressed by the user to the virtual assistant;

storing, by the virtual assistant in memory hosted on a cloud infrastructure that is accessible to the first client device and at least a second client device of the user, an indication of the state expressed by the user during the first session for future use by the virtual assistant;

determining, by the virtual assistant based on one or more signals, that a second session between the user and the virtual assistant that is distinct from the first session is underway, wherein the one or more signals include the user invoking at least a second portion of the virtual assistant on the second client device;

forming, by a third portion of the virtual assistant that executes on the cloud infrastructure or the second portion of the automated assistant, based on the stored indication of the state expressed by the user, a natural language output from a plurality of candidate words, phrases, or statements, wherein the natural language output raises the state expressed by the user during the first session; and

outputting, by the virtual assistant via one or more output devices of the second client device, as part of the second session, the natural language output.

19. The at least one non-transitory computer-readable medium of claim 18 , wherein the natural language output formed from the plurality of candidate words, phrases, or statements comprises a greeting selected from a plurality of candidate greetings.

20. The at least one non-transitory computer-readable medium of claim 18 , wherein the state expressed by the user is a negative sentiment, and the natural language output formed from the plurality of candidate words, phrases, or statements comprises an inquiry of whether the user or other individual about which the state was expressed has improved.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2018
From: HORLING, BRYAN; GARRETT, MARYAM; QUAH, WAN FEN NICOLE; YUAN, WANGQING; ITZ, MICHAEL; KOGAN, DAVID; KUNKLE, DANIEL; HE, RUIJIE; CHEN, WEI
To: GOOGLE INC.
Reel/Frame 045146/0001 →
CHANGE OF NAME Recorded Mar 8, 2018
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 045528/0544 →
Continuity (2)
Continuation 15277954 · Sep 27, 2016
Related Publication 20180197542A1 · Jul 12, 2018