IP Library Granted Patent US 11,657,094
Granted Patent B2
US 11,657,094 · App. 16/552,559 · Granted May 23, 2023

Memory grounded conversational reasoning and question answering for assistant systems

Inventors: Seungwhan Moon (Seattle, WA); Pararth Paresh Shah (Sunnyvale, CA); Anuj Kumar (Santa Clara, CA); Rajen Subba (San Carlos, CA)
Assignee: Meta Platforms Technologies, LLC
G06F16/90332G06F16/9035G06N3/042G06N3/044G06N3/049G06N3/084G06N5/022G06N20/00
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,657,094
App. No.
16/552,559
Granted
May 23, 2023
Kind
B2
Abstract

In one embodiment, a method includes receiving a query from a user from a client system associated with the user, determining one or more initial memory slots based on the query, accessing a memory graph associated with the user which comprises a plurality of nodes and a plurality of edges connecting the nodes, and wherein one or more of the nodes correspond to one or more episodic memories of the user, respectively, and wherein each edge corresponds to a relationship between the connected nodes, selecting one or more candidate nodes from the memory graph by one or more machine-learning models based on the initial memory slots, generating a response based on the initial memory slots and episodic memories corresponding to the selected candidate nodes, and sending instructions for presenting the response to the client system in response to the query.

Claims (56)

1. A method comprising, by an assistant system:

receiving, from a client system associated with a user via an assistant xbot associated with the assistant system, a query from the user;

determining, based on the query, one or more initial memory slots;

accessing a memory graph associated with the user, wherein the memory graph comprises a plurality of nodes and a plurality of edges connecting the nodes, and wherein one or more of the nodes correspond to one or more episodic memories of the user, respectively, and wherein each edge corresponds to a relationship between the connected nodes;

determining, by one or more machine-learning models based on the initial memory slots and dialog contexts associated with the query, one or more sequence paths of walk steps traversing the memory graph;

selecting, by the one or more machine-learning models based on the one or more sequence paths of walk steps, one or more candidate nodes from the memory graph;

generating a response based on the initial memory slots and episodic memories corresponding to the selected candidate nodes; and

sending, to the client system in response to the query via the assistant xbot, instructions for presenting the response.

2. The method of claim 1 , wherein the one or more candidate nodes are selected from the one or more nodes corresponding to the one or more episodic memories of the user.

3. The method of claim 1 , wherein one or more nodes of the plurality of nodes correspond to one or more entities, respectively.

4. The method of claim 1 , wherein the memory graph is built based on a knowledge graph comprising a plurality of nodes corresponding to a plurality of entities, respectively.

5. The method of claim 4 , wherein the plurality of nodes of the memory graph comprise:

a plurality of nodes corresponding to a plurality of entities from the knowledge graph; and

a plurality of nodes corresponding to a plurality of episodic memories of the user.

6. The method of claim 4 , further comprising:

building a synthetic memory graph generator; and

generating, by the synthetic memory graph generator, one or more nodes in the memory graph, wherein each of the one or more nodes is connected to one or more entities associated with the knowledge graph.

7. The method of claim 1 , wherein the query is associated with a context, and wherein selecting the one or more candidate nodes is further based on the context associated with the query.

8. The method of claim 1 , wherein the one or more machine-learning models comprise at least a long-short term memory (LSTM) model.

9. The method of claim 1 , further comprising:

determining relevance between the initial memory slots and each of the plurality of nodes in the memory graph, wherein selecting the one or more candidate nodes is further based on the relevance.

10. The method of claim 1 , further comprising:

generating a query encoding for the query based on a long-short term memory (LSTM) model; and

generating a memory encoding for each node corresponding to an episodic memory in the memory graph based on one or more of a graph embeddings projection model or a LSTM model.

11. The method of claim 10 , wherein selecting the one or more candidate nodes comprises inputting the generated query encoding and each generated memory encoding to the one or more machine-learning models, and wherein the one or more machine-learning models generate the one or more sequence paths of walk steps attending to the one or more candidate nodes within the memory graph.

12. The method of claim 11 , further comprising:

inputting the generated query encoding, each generated memory encoding, and the one or more sequence paths of walk steps to the one or more machine-learning models, wherein the one or more machine-learning models generate one or more answer candidates, wherein the answer candidates are ranked in an order based a compatibility between the query and the respective answer candidate, and wherein the compatibility is determined by the one or more machine-learning models.

13. The method of claim 12 , further comprising:

aggregating, by the one or more machine-learning models, the one or more answer candidates, wherein each answer candidate is associated with a weight, and wherein the weight is determined based on the rank associated with the respective answer candidate.

14. The method of claim 1 , wherein generating the response is further based on one or more language templates.

15. The method of claim 1 , wherein the response comprises one or more of a content file associated with the initial memory slots and episodic memories corresponding to the selected candidate nodes.

16. The method of claim 15 , wherein the content file comprises one or more of textual content, an image, a video clip, or an audio clip.

17. The method of claim 15 , wherein the response is presented in a user interface comprising one or more of a media section or a chat section, wherein the media section surfaces the image or video clip, and wherein the chat section surfaces the textual content.

18. The method of claim 1 , wherein the episodic memories of the user are extracted from one or more of:

a plurality of content objects associated with the user;

social-networking information associated with the user;

contact information associated with the user;

calendar information associated with the user; or

interactions with one or more other users in an online social network.

19. One or more computer-readable non-transitory storage media embodying software that is operable when executed by an assistant system to:

receive, from a client system associated with a user via an assistant xbot associated with the assistant system, a query from the user;

determine, based on the query, one or more initial memory slots;

access a memory graph associated with the user, wherein the memory graph comprises a plurality of nodes and a plurality of edges connecting the nodes, and wherein one or more of the nodes correspond to one or more episodic memories of the user, respectively, and wherein each edge corresponds to a relationship between the connected nodes;

determine, by one or more machine-learning models based on the initial memory slots and dialog contexts associated with the query, one or more sequence paths of walk steps traversing the memory graph;

select, by the one or more machine-learning models based on the one or more sequence paths of walk steps, one or more candidate nodes from the memory graph;

generate a response based on the initial memory slots and episodic memories corresponding to the selected candidate nodes; and

send, to the client system in response to the query via the assistant xbot, instructions for presenting the response.

20. An assistant system comprising: one or more processors;

and a non-transitory memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:

receive, from a client system associated with a user via an assistant xbot associated with the assistant system, a query from the user;

determine, based on the query, one or more initial memory slots;

access a memory graph associated with the user, wherein the memory graph comprises a plurality of nodes and a plurality of edges connecting the nodes, and wherein one or more of the nodes correspond to one or more episodic memories of the user, respectively, and wherein each edge corresponds to a relationship between the connected nodes;

determine, by one or more machine-learning models based on the initial memory slots and dialog contexts associated with the query, one or more sequence paths of walk steps traversing the memory graph;

select, by the one or more machine-learning models based on the one or more sequence paths of walk steps, one or more candidate nodes from the memory graph;

generate a response based on the initial memory slots and episodic memories corresponding to the selected candidate nodes; and

send, to the client system in response to the query via the assistant xbot, instructions for presenting the response.

Assignments (2)
CHANGE OF NAME Recorded Jul 6, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060591/0848 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2019
From: MOON, SEUNGWHAN; SHAH, PARARTH PARESH; KUMAR, ANUJ; SUBBA, RAJEN
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 050286/0757 →
Continuity (2)
Provisional Application 62868658 · Jun 28, 2019
Related Publication 20200410012A1 · Dec 31, 2020
Cited By (41)
US 12,190,069 US 12,210,841 US 12,210,843 US 12,217,009 US 12,217,010 US 12,223,285 US 12,223,286 US 12,223,287 US 12,236,199 US 12,242,812 US 12,242,813 US 12,242,814 US 12,254,049 US 12,254,277 US 12,254,278 US 12,260,181 US 12,260,182 US 12,299,755 US 12,314,660 US 12,321,697 US 12,340,180 US 12,353,827 US 12,393,777 US 12,400,085 US 12,406,146 US 12,430,503 US 12,430,504 US 12,430,505 US 12,456,008 US 12,499,320 US 12,518,107 US 12,518,323 US 12,524,619 US 12,536,447 US 12,554,935 US 12,567,404 US 12,574,627 US 12,585,655 US 12,585,883 US 12,596,881 US 12,670,671