IP Library › Granted Patent US 11,514,915
Granted Patent B2
US 11,514,915 · App. 16/175,639 · Granted Nov 29, 2022

Global-to-local memory pointer networks for task-oriented dialogue

Inventors: Chien-Sheng Wu (San Francisco, CA); Caiming Xiong (San Francisco, CA); Richard Socher (San Francisco, CA)
Assignee: salesforce.com, inc.
G10L15/285G06F16/335G06F16/3329G06F16/3347G06N5/00G10L15/22G10L2015/225
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,514,915
App. No.
16/175,639
Granted
Nov 29, 2022
Kind
B2
Abstract

A system and corresponding method are provided for generating responses for a dialogue between a user and a computer. The system includes a memory storing information for a dialogue history and a knowledge base. An encoder may receive a new utterance from the user and generate a global memory pointer used for filtering the knowledge base information in the memory. A decoder may generate at least one local memory pointer and a sketch response for the new utterance. The sketch response includes at least one sketch tag to be replaced by knowledge base information from the memory. The system generates the dialogue computer response using the local memory pointer to select a word from the filtered knowledge base information to replace the at least one sketch tag in the sketch response.

Claims (42)

1. A method for generating responses for a dialogue between a user and a computer, the method comprising:

storing a dialogue history and a knowledge base in a memory, wherein the dialogue history comprises information for a sequence of user utterances and computer responses exchanged during the dialogue, wherein the knowledge base comprises information that can be used in a dialogue computer response;

receiving, at the computer, a new utterance from the user;

generating, in response to the new utterance, a global memory pointer comprising a vector of probabilities that corresponding object words exist in an expected system response based on a last hidden state of an encoder that encodes the dialogue history;

generating a sketch response for the new utterance, the sketch response comprising at least one sketch tag to be replaced by knowledge base information from the memory;

filtering the knowledge base information in the memory using the global memory pointer;

generating, by a decoder, at least one local memory pointer comprising a sequence of pointers into the knowledge base based on a global contextual representation of the new utterance modified by the global memory pointer; and

generating the dialogue computer response using the local memory pointer to select a word from the filtered knowledge base information to replace the at least one sketch tag in the sketch response.

2. The method of claim 1 , wherein the dialogue history comprises a set of embedding matrices for the dialogue history information.

3. The method of claim 1 , wherein the knowledge base comprises a set of embedding matrices for the knowledge base information.

4. The method of claim 1 , wherein generating the global memory pointer comprises:

encoding the new utterance to generate one or more hidden states; and

querying, using the one or more hidden states, the knowledge base information in the memory.

5. The method of claim 1 , wherein the global memory pointer comprises a vector having a plurality of elements, each element associated with an independent probability.

6. The method of claim 1 , wherein the local memory pointer comprises a sequence of pointers, each pointer for selecting a respective word from the filtered knowledge base information to replace a respective sketch tag in the sketch response.

7. A non-transitory machine-readable medium comprising executable code which when executed by one or more processors associated with a computer are adapted to cause the one or more processors to perform a method comprising:

storing a dialogue history and a knowledge base in a memory, wherein the dialogue history comprises information for a sequence of user utterances and computer responses exchanged during the dialogue, wherein the knowledge base comprises information that can be used in a dialogue computer response;

receiving, at the computer, a new utterance from a user;

generating, in response to the new utterance, a global memory pointer comprising a vector of probabilities that corresponding object words exist in an expected system response based on a last hidden state of an encoder that encodes the dialogue history;

generating a sketch response for the new utterance, the sketch response comprising at least one sketch tag to be replaced by knowledge base information from the memory;

filtering the knowledge base information in the memory using the global memory pointer;

generating, by a decoder, at least one local memory pointer comprising a sequence of pointers into the knowledge base based on a global contextual representation of the new utterance modified by the global memory pointer; and

generating the dialogue computer response using the local memory pointer to select a word from the filtered knowledge base information to replace the at least one sketch tag in the sketch response.

8. The non-transitory machine readable medium of claim 7 , wherein the dialogue history comprises a set of embedding matrices for the dialogue history information.

9. The non-transitory machine readable medium of claim 7 , wherein the knowledge base comprises a set of embedding matrices for the knowledge base information.

10. The non-transitory machine readable medium of claim 7 , wherein generating the global memory pointer comprises:

encoding the new utterance to generate one or more hidden states; and

querying, using the one or more hidden states, the knowledge base information in the memory.

11. The non-transitory machine readable medium of claim 7 , wherein the global memory pointer comprises a vector having a plurality of elements, each element associated with an independent probability.

12. The non-transitory machine readable medium of claim 7 , wherein the local memory pointer comprises a sequence of pointers, each pointer for selecting a respective word from the filtered knowledge base information to replace a respective sketch tag in the sketch response.

13. A system for generating responses for a dialogue between a user and a computer, the system comprising:

a memory storing a dialogue history and a knowledge base, wherein the dialogue history comprises information for a sequence of user utterances and computer responses exchanged during the dialogue, wherein the knowledge base comprises information that can be used in a dialogue computer response;

an encoder capable of receiving a new utterance from the user and generating, in response to the new utterance, a global memory pointer comprising a vector of probabilities that corresponding object words exist in an expected system response based on a last hidden state of an encoder that encodes the dialogue history, wherein the global memory pointer is used for filtering the knowledge base information in the memory; and

a decoder capable of generating at least one local memory pointer comprising a sequence of pointers into the knowledge base based on a global contextual representation of the new utterance modified by the global memory pointer and a sketch response for the new utterance, the sketch response comprising at least one sketch tag to be replaced by knowledge base information from the memory;

wherein the system generates the dialogue computer response using the local memory pointer to select a word from the filtered knowledge base information to replace the at least one sketch tag in the sketch response.

14. The system of claim 13 , wherein the dialogue history comprises a set of embedding matrices for the dialogue history information.

15. The system of claim 13 , wherein the knowledge base comprises a set of embedding matrices for the knowledge base information.

16. The system of claim 13 , wherein the global memory pointer comprises a vector having a plurality of elements, each element associated with an independent probability.

17. The system of claim 13 , wherein the local memory pointer comprises a sequence of pointers, each pointer for selecting a respective word from the filtered knowledge base information to replace a respective sketch tag in the sketch response.

18. The system of claim 13 , wherein the memory comprises an end-to-end memory network.

19. The system of claim 13 , wherein the encoder comprises a context recurrent neural network.

20. The system of claim 13 , wherein the decoder comprises a sketch recurrent neural network.

Assignments (2)
CHANGE OF NAME Recorded Aug 4, 2026
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 076118/0548 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2018
From: WU, CHIEN-SHENG; XIONG, CAIMING; SOCHER, RICHARD
To: SALESFORCE.COM, INC.
Reel/Frame 047546/0813 →
Continuity (2)
Provisional Application 62737234 · Sep 27, 2018
Related Publication 20200105272A1 · Apr 2, 2020