Assisting users with personalized and contextual communication content
First Claim
1. A method comprising, by one or more computing systems:
- receiving, from a client system associated with a first user, a first user input by the first user, wherein the first user input is associated with a current dialog session;
identifying a first language register associated with the first user based on the first user input;
accessing a plurality of language-register models associated with a plurality of language registers stored in a data store, wherein the plurality of language-register models are each personalized with respect to the first user;
selecting a first language-register model from the plurality of language-register models based on the identified first language register; and
generating a first communication content responsive to the first user input, the first communication content being personalized for the first user based on the selected first language-register model.
2 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes receiving, from a client system associated with a first user, a first user input by the first user, wherein the first user input is associated with a current dialog session, identifying a first language register associated with the first user based on the first user input, accessing a plurality of language-register models associated with a plurality of language registers stored in a data store, selecting a first language-register model from the plurality of language-register models based on the identified first language register, and generating a first communication content responsive to the first user input, the first communication content being personalized for the first user based on the selected first language-register model.
114 Citations
22 Claims
-
1. A method comprising, by one or more computing systems:
-
receiving, from a client system associated with a first user, a first user input by the first user, wherein the first user input is associated with a current dialog session; identifying a first language register associated with the first user based on the first user input; accessing a plurality of language-register models associated with a plurality of language registers stored in a data store, wherein the plurality of language-register models are each personalized with respect to the first user; selecting a first language-register model from the plurality of language-register models based on the identified first language register; and generating a first communication content responsive to the first user input, the first communication content being personalized for the first user based on the selected first language-register model.
-
-
2. The method of claim 1, further comprising:
-
identifying an intent and one or more slots associated with the first user input; 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 the data store, wherein each language-generation template comprises one or more slots corresponding to the one or more slots associated with the first user input; and selecting a language-generation template from the plurality of language-generation templates based on the identified intent.
-
-
3. The method of claim 2, wherein the one or more information sources comprise one or more of:
-
one or more first-party agents;
orone or more third-party agents.
-
-
4. The method of claim 2, wherein generating the communication content for the first user is further based on the retrieved information and the selected language-generation template.
-
5. The method of claim 4, wherein generating the communication content for the first user comprises:
-
generating a list of candidate words based on the identified 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.
-
-
6. The method of claim 1, further comprising:
-
receiving, from the client system, a second user input by the first user, wherein the second user input is associated with the current dialog session; identifying a second language register associated with the first user based on the second user input; accessing the plurality of language-register models associated with the plurality of language registers stored in the data store; selecting a second language-register model from the plurality of language-register models based on the identified second language register; and generating a second communication content responsive to the second user input, the second communication content being personalized for the first user based on the selected second language-register model.
-
-
7. The method of claim 1, wherein the first language register is identified based on a machine-learning model.
-
8. The method of claim 1, wherein the first user is in the 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.
-
9. The method of claim 8, further comprising:
-
sending, to the client system, instructions for presenting the generated first communication content to the first user, wherein the generated first communication content is operable to allow the first user to select the generated first communication content; receiving, from the client system, a selection of the generated first communication content from the first user; and inserting the generated first communication content in the message thread between the first user and the second user.
-
-
10. The method of claim 1, wherein the first user is in the 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.
-
11. The method of claim 10, further comprising:
inserting the generated first communication content in the message thread between the first user and the assistant xbot.
-
12. The method of claim 1, wherein the first user input comprises one or more of:
-
a character string; an audio clip; an image;
ora video.
-
-
13. The method of claim 1, wherein the generated first communication content comprises one or more of:
-
a character string; an audio clip; an image;
ora video.
-
-
14. The method of claim 1, wherein the plurality of language-register models are trained based on a word-embedding model.
-
15. The method of claim 14, wherein the word-embedding model is based on convolutional neural network.
-
16. The method of claim 1, wherein each language-register model is trained based on a plurality of training samples associated with the first user, the training samples comprising one or more of news feed posts, news feed comments, a user profile, or messages.
-
17. The method of claim 16, further comprising clustering the plurality of training samples into one or more groups of training samples based on one or more criteria.
-
18. The method of claim 17, wherein the one or more criteria comprise one or more of age, relationship, location, education, interest, or native language.
-
19. The method of claim 17, further comprising training, for each group, a language-register model for the group based on the training samples associated with the group.
-
20. The method of claim 1, wherein identifying the first language register comprises:
-
generating a first feature vector representing the first user input; accessing a plurality of second feature vectors representing the plurality of language registers stored in the data store; calculating a plurality of similarity scores between the first feature vector and the respective second feature vector; and identifying the first language register based on the plurality of similarity scores.
-
-
21. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
-
receive, from a client system associated with a first user, a first user input by the first user, wherein the first user input is associated with a current dialog session; identify a first language register associated with the first user based on the first user input; access a plurality of language-register models associated with a plurality of language registers stored in a data store, wherein the plurality of language-register models are each personalized with respect to the first user; select a first language-register model from the plurality of language-register models based on the identified first language register; and generate a first communication content responsive to the first user input, the first communication content being personalized for the first user based on the selected first language-register model.
-
-
22. 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 associated with a first user, a first user input by the first user, wherein the first user input is associated with a current dialog session; identify a first language register associated with the first user based on the first user input; access a plurality of language-register models associated with a plurality of language registers stored in a data store, wherein the plurality of language-register models are each personalized with respect to the first user; select a first language-register model from the plurality of language-register models based on the identified first language register; and generate a first communication content responsive to the first user input, the first communication content being personalized for the first user based on the selected first language-register model.
- one or more processors; and
Specification