IP Library › Granted Patent US 10,854,206
Granted Patent B1
US 10,854,206 · App. 16/229,828 · Granted Dec 1, 2020

Identifying users through conversations for assistant systems

Inventors: Xiaohu Liu (Bellevue, WA); Baiyang Liu (Issaquah, WA); Rajen Subba (San Carlos, CA); Benoit F. Dumoulin (Palo Alto, CA)
Assignee: Facebook, Inc.
G10L17/22G06K9/00288G10L15/07G10L15/1822
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,854,206
App. No.
16/229,828
Filed
Dec 21, 2018
Granted
Dec 1, 2020
Kind
B1
Art Unit
2652
USPC
704/275
Abstract

In one embodiment, a method includes receiving from a client system a user request from a first user, determining a necessity for resolving the first user to a known entity to execute one or more tasks associated with the user request based on privacy restrictions associated with the user request, determining a set of candidate entities for the first user based on one or more machine-learning models, each candidate entity being associated with a respective confidence score greater than a threshold score, sending instructions for prompting the first user to select a candidate entity from the set of candidate entities, resolving the first user to a selected candidate entity responsive to receiving a selection from the first user, and executing the one or more tasks associated with the user request based on a user profile associated with the selected candidate entity.

Claims (49)

1. A method comprising, by one or more computing systems:

receiving, by the one or more computing systems from a client system, a user request from a first user;

determining, by the one or more computing systems based on privacy restrictions associated with the user request, a necessity for resolving the first user to a known entity to execute one or more tasks associated with the user request;

calculating, by the one or more computing systems using one or more machine-learning models, a plurality of confidence scores for a plurality of candidate entities for the first user;

sending, from the one or more computing systems to the client system, instructions for prompting the first user to select a candidate entity from a set of candidate entities from the plurality of candidate entities, wherein each candidate entity in the set of candidate entities is associated with a respective confidence score greater than a threshold score;

resolving, by the one or more computing systems, the first user to a selected candidate entity responsive to receiving a selection from the first user; and

executing, by the one or more computing systems responsive to the user request, the one or more tasks associated with the user request based on a user profile associated with the selected candidate entity.

2. The method of claim 1 , further comprising:

determining, based on a natural-language understanding module, one or more intents and one or more slots associated with the user request.

3. The method of claim 2 , wherein the privacy restrictions are determined based on the one or more intents or the one or more slots.

4. The method of claim 2 , wherein executing the one or more tasks is further based on the one or more intents and the one or more slots.

5. The method of claim 1 , wherein the one or more machine-learning models comprise one or more of a facial-recognition model or a speech-recognition model.

6. The method of claim 5 , wherein the facial-recognition model is trained based on facial data associated with prior user interactions with the client system.

7. The method of claim 5 , wherein the speech-recognition model is trained based on speech data associated with prior user interactions with the client system.

8. The method of claim 1 , further comprising:

receiving, from the client system, an indication that the first user has selected a candidate entity from the set of candidate entities.

9. The method of claim 1 , further comprising:

detecting, based on one or more sensors of the client system, a presence of one or more second users.

10. The method of claim 9 , wherein the first user is associated with an authenticated user identifier (ID), and wherein each of the one or more second users is associated with a proxy user ID.

11. The method of claim 10 , wherein the authenticated user ID is associated with a first set of functions provided by the client system, and wherein the proxy user ID is associated with a second set of functions provided by the client system, wherein the second set of functions is a subset of the first set of functions.

12. The method of claim 11 , wherein the first set of functions is a full set of functions provided by the client system, and wherein the second set of functions is a restricted set of functions provided by the client system.

13. The method of claim 1 , further comprising:

determining one or more tasks associated with the user request.

14. The method of claim 1 , further comprising:

generating, based on one or more sensors of the client system, faceprint data associated with the user request;

generating, based on the one or more sensors of the client system, voiceprint data associated with the user request;

updating the user profile by storing the selected candidate entity in association with the faceprint data in the user profile; and

updating the user profile by storing the selected candidate entity in association with the voiceprint data in the user profile.

15. The method of claim 14 , further comprising:

re-training the one or more machine-learning models based on the updated user profile.

16. The method of claim 15 , further comprising:

receiving, from the client system, a new user request from the first user; and

automatically resolving the first user to the selected candidate entity based on the re-trained one or more machine-learning models.

17. The method of claim 1 , wherein sending instructions for prompting the first user to select a candidate entity from the set of candidate entities to the client system comprises:

initiating, via an assistant xbot, a conversation between the assistant xbot and the first user.

18. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

receive, by one or more computing systems from a client system, a user request from a first user;

determine, by the one or more computing systems based on privacy restrictions associated with the user request, a necessity for resolving the first user to a known entity to execute one or more tasks associated with the user request;

calculate, by the one or more computing systems using one or more machine-learning models, a plurality of confidence scores for a plurality of candidate entities for the first user;

send, from the one or more computing systems to the client system, instructions for prompting the first user to select a candidate entity from a set of candidate entities from the plurality of candidate entities, wherein each candidate entity in the set of candidate entities is associated with a respective confidence score greater than a threshold score;

resolve, by the one or more computing systems, the first user to a selected candidate entity responsive to receiving a selection from the first user; and

execute, by the one or more computing systems responsive to the user request, the one or more tasks associated with the user request based on a user profile associated with the selected candidate entity.

19. A 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, a user request from a first user;

determine, based on privacy restrictions associated with the user request, a necessity for resolving the first user to a known entity to execute one or more tasks associated with the user request;

calculate, using one or more machine-learning models, a plurality of confidence scores for a plurality of candidate entities for the first user;

send, to the client system, instructions for prompting the first user to select a candidate entity from a set of candidate entities from the plurality of candidate entities, wherein each candidate entity in the set of candidate entities is associated with a respective confidence score greater than a threshold score;

resolve the first user to a selected candidate entity responsive to receiving a selection from the first user; and

execute, responsive to the user request, the one or more tasks associated with the user request based on a user profile associated with the selected candidate entity.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2019
From: LIU, XIAOHU; LIU, BAIYANG; SUBBA, RAJEN; DUMOULIN, BENOIT F.
To: FACEBOOK, INC.
Reel/Frame 047972/0499 →
Continuity (1)
Provisional Application 62660876 · Apr 20, 2018
Cited By (19)
US 12,190,864 US 12,198,413 US 12,249,014 US 12,321,428 US 12,353,897 US 12,374,097 US 12,374,330 US 12,379,894 US 12,406,316 US 12,443,797 US 12,475,698 US 12,495,098 US 12,561,032 US 12,567,404 US 12,573,391 US 12,592,017 US 12,625,557 US 12,670,671 US 12,694,221