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

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
Granted
Dec 1, 2020
Kind
B1
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 →