IP Library Granted Patent US 12,118,371
Granted Patent B2
US 12,118,371 · App. 17/557,790 · Granted Oct 15, 2024

Assisting users with personalized and contextual communication content

Inventor: Scott Martin (Mill Valley, CA)
Assignee: Meta Platforms, Inc.
G06F9/453G06F3/011G06F3/013G06F3/017G06F3/167G06F7/14G06F16/176G06F16/2255G06F16/2365G06F16/243G06F16/24552G06F16/24575G06F16/24578G06F16/248G06F16/285G06F16/3323G06F16/3329G06F16/3344G06F16/338G06F16/4393G06F16/90332G06F16/90335G06F16/9038G06F16/904G06F16/951G06F16/9535G06F18/2411G06F40/205G06F40/295G06F40/30G06F40/40G06N3/006G06N3/08G06N20/00G06Q50/01G06V20/10G06V40/172G06V40/28G10L15/02G10L15/063G10L15/07G10L15/16G10L15/1815G10L15/1822G10L15/183G10L15/187G10L15/22G10L15/26G10L17/06G10L17/22H04L12/2816H04L41/20H04L41/22H04L43/0882H04L43/0894H04L51/02H04L51/216H04L51/52H04L67/306H04L67/535H04L67/5651H04L67/75H04W12/08G06F2216/13G10L13/00G10L13/04G10L2015/223G10L2015/225H04L51/046H04L67/10H04L67/53
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 12,118,371
App. No.
17/557,790
Granted
Oct 15, 2024
Kind
B2
Abstract

In one embodiment, a method includes receiving one or more voice inputs from a first user, determining a first language register associated with the first user based on the one or more voice inputs, selecting a second language register for a voice response based on the one or more voice inputs, generating the voice response based on the second language register, and providing the voice response in response to the one or more voice inputs.

Claims (54)

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

receiving one or more voice inputs from a first user;

determining a first language register associated with the first user based on the one or more voice inputs;

selecting a second language register for a voice response based on the one or more voice inputs;

generating, by a selected language-register model from a plurality of language-register models corresponding to a plurality of language registers, respectively, the voice response based on the second language register, wherein the selected language-register model corresponds to the second language register, wherein the plurality of language-register models are each trained based on a plurality of groups of training samples, respectively, and wherein the plurality of groups of training samples correspond to the plurality of language registers, respectively; and

providing the voice response in response to the one or more voice inputs,

wherein the plurality of language register models are each personalized with respect to the first user, and wherein the voice response is personalized with respect to the first user.

2. The method of claim 1 , wherein the first language register and the second language register are the same language register.

3. The method of claim 1 , wherein the first language register and the second language register are different language registers.

4. The method of claim 1 , wherein the plurality of language register models are trained based on a word-embedding model.

5. The method of claim 4 , wherein the word-embedding model is based on a convolutional neural network.

6. The method of claim 1 , wherein the plurality of groups of training samples are associated with the first user, the training samples in each of the plurality of groups comprising one or more of news feed posts, news feed comments, a user profile, or messages.

7. The method of claim 6 , wherein the plurality of groups corresponds to one or more criteria, wherein the one or more criteria comprise one or more of age, relationship, location, education, interest, or native language, and wherein each group is associated with a language register model for the group.

8. The method of claim 1 , further comprising:

identifying an intent and one or more slots associated with the one or more voice inputs;

determining an action based on the identified intent;

executing the action to retrieve information associated with the one or more slots from one or more information sources;

accessing a plurality of language-generation templates stored in a data store, wherein each language-generation template comprises one or more slots corresponding to the one or more slots; and

selecting a language-generation template from the plurality of language-generation templates based on the identified intent.

9. The method of claim 8 , wherein the one or more information sources comprise one or more of:

one or more first-party agents; or

one or more third-party agents.

10. The method of claim 8 , wherein the voice response is generated further based on the retrieved information and the selected language-generation template.

11. The method of claim 10 , wherein generating the voice response comprises:

generating a list of candidate words based on the second language register and the retrieved information;

pruning the list of candidate words; and

inserting, from the pruned list of candidate words, one of the candidate words into each slot of the selected language-generation template.

12. The method of claim 1 , wherein determining the first language register or selecting the second language register is further based on a machine-learning model.

13. The method of claim 1 , wherein the first user is in a current dialog session with a second user, and wherein the current dialog session comprises a message thread between the first user and the second user.

14. The method of claim 13 , wherein the voice response is operable to allow the first user to select the voice response, wherein the method further comprises:

receiving a selection of the voice response from the first user; and

inserting the voice response in the message thread between the first user and the second user.

15. The method of claim 1 , wherein the first user is in a current dialog session with an assistant xbot, and wherein the current dialog session comprises a message thread between the first user and the assistant xbot.

16. The method of claim 15 , further comprising:

inserting the voice response in the message thread between the first user and the assistant xbot.

17. The method of claim 1 , further comprising identifying the second language register, wherein the identifying comprises:

generating a first feature vector representing the one or more voice inputs;

accessing a plurality of second feature vectors representing the plurality of language registers stored in a data store;

calculating a plurality of similarity scores between the first feature vector and the respective second feature vector; and

identifying the second language register based on the plurality of similarity scores.

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

receive one or more voice inputs from a first user;

determine a first language register associated with the first user based on the one or more voice inputs;

select a second language register for a voice response based on the one or more voice inputs;

generate, by a selected language-register model from a plurality of language-register models corresponding to a plurality of language registers, respectively, the voice response based on the second language register, wherein the selected language-register model corresponds to the second language register, wherein the plurality of language-register models are each trained based on a plurality of groups of training samples, respectively, and wherein the plurality of groups of training samples correspond to the plurality of language registers, respectively; and

provide the voice response in response to the one or more voice inputs,

wherein the plurality of language register models are each personalized with respect to the first user, and wherein the voice response is personalized with respect to the first user.

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 one or more voice inputs from a first user;

determine a first language register associated with the first user based on the one or more voice inputs;

select a second language register for a voice response based on the one or more voice inputs;

generate, by a selected language-register model from a plurality of language-register models corresponding to a plurality of language registers, respectively, the voice response based on the second language register, wherein the selected language-register model corresponds to the second language register, wherein the plurality of language-register models are each trained based on a plurality of groups of training samples, respectively, and wherein the plurality of groups of training samples correspond to the plurality of language registers, respectively; and

provide the voice response in response to the one or more voice inputs,

wherein the plurality of language register models are each personalized with respect to the first user, and wherein the voice response is personalized with respect to the first user.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2021
From: MARTIN, SCOTT
To: FACEBOOK, INC.
Reel/Frame 058448/0135 →
CHANGE OF NAME Recorded Dec 21, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058562/0040 →
Continuity (4)
Continuation 16996196 · Aug 18, 2020
Continuation 15966455 · Apr 30, 2018
Provisional Application 62660876 · Apr 20, 2018
Related Publication 20220113998A1 · Apr 14, 2022