Contextual auto-completion for assistant systems
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 from the first user, wherein the first user input comprises a partial request;
sending, to the client system, instructions for presenting one or more suggested intent auto-completions corresponding to one or more first candidate hypotheses corresponding to the partial request, wherein each of the one or more first candidate hypotheses comprises an intent-suggestion, and wherein each suggested intent auto-completion comprises the partial request and the corresponding candidate hypothesis;
receiving, from the client system, an indication of a selection by the first user of a first suggested intent auto-completion of the one or more suggested intent auto-completions and a second user input;
sending, to the client system, instructions for presenting one or more suggested slot auto-completions corresponding to one or more second candidate hypotheses corresponding to the second user input, respectively, wherein each of the one or more second candidate hypotheses comprise a slot-suggestion, and wherein each suggested slot auto-completion comprises the second user input and the corresponding candidate hypothesis;
receiving, from the client system, an indication of a selection by the first user of a first suggested slot auto-completion of the one or more suggested slot auto-completions; and
executing, via one or more agents, one or more tasks based on the first suggested intent auto-completion and the first suggested slot auto-completion selected by the first user.
2 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes receiving a user input including a partial request from a client system of a first user, analyzing the user input to generate one or more candidate hypotheses based on a personalized language model where each of the candidate hypotheses includes one or more of an intent-suggestion or a slot-suggestion, sending instructions for presenting one or more suggested auto-completions corresponding to one or more of the candidate hypotheses, respectively, to the client system, where each suggested auto-completion comprises the partial request and the corresponding candidate hypothesis, receiving an indication of a selection by the first user of a first suggested auto-completion of the suggested auto-completions from the client system, and executing one or more tasks based on the first suggested auto-completion selected by the first user via one or more agents.
66 Citations
19 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 from the first user, wherein the first user input comprises a partial request; sending, to the client system, instructions for presenting one or more suggested intent auto-completions corresponding to one or more first candidate hypotheses corresponding to the partial request, wherein each of the one or more first candidate hypotheses comprises an intent-suggestion, and wherein each suggested intent auto-completion comprises the partial request and the corresponding candidate hypothesis; receiving, from the client system, an indication of a selection by the first user of a first suggested intent auto-completion of the one or more suggested intent auto-completions and a second user input; sending, to the client system, instructions for presenting one or more suggested slot auto-completions corresponding to one or more second candidate hypotheses corresponding to the second user input, respectively, wherein each of the one or more second candidate hypotheses comprise a slot-suggestion, and wherein each suggested slot auto-completion comprises the second user input and the corresponding candidate hypothesis; receiving, from the client system, an indication of a selection by the first user of a first suggested slot auto-completion of the one or more suggested slot auto-completions; and executing, via one or more agents, one or more tasks based on the first suggested intent auto-completion and the first suggested slot auto-completion selected by the first user.
-
-
2. The method of claim 1, further comprising analyzing, based on a personalized language model, the first user input to generate the one or more first candidate hypotheses corresponding to the partial request, wherein the analysis comprises:
analyzing, based on the personalized language model, the first user input to determine one or more candidate intents.
-
3. The method of claim 2, further comprising:
-
sending, to the client system, a request for additional information from the first user; receiving, from the client system, an additional user input by the first user response to the request; and disambiguating, based on the additional user input, the one or more candidate intents to determine a top candidate intent to provide as a suggested intent auto-completion for one of the first candidate hypotheses.
-
-
4. The method of claim 1, further comprising analyzing, based on a personalized language model, the second user input to generate the one or more second candidate hypotheses corresponding to the second user input, wherein the analysis comprises:
analyzing, based on the personalized language model, the second user input to determine one or more candidate slots.
-
5. The method of claim 4, further comprising:
-
sending, to the client system, a request for additional information by the first user; receiving, from the client system, an additional user input by the first user response to the request; and disambiguating, based on the additional user input, the one or more candidate slots to determine a top candidate slot to provide as a suggested slot auto-completion for one of the second candidate hypotheses.
-
-
6. The method of claim 2, wherein the personalized language model is trained based on a plurality of training data comprising one or more of:
-
newsfeed posts associated with the first user; newsfeed comments associated with the first user; messages in one or more messaging interfaces associated with the first user; data characterizing one or more domains; dialog states of one or more dialog sessions associated with the first user; user profile data associated with the user;
ortask states associated with one or more tasks.
-
-
7. The method of claim 1, wherein the one or more first candidate hypotheses are ranked based on a dialog state of a dialog session associated with the first user input.
-
8. The method of claim 1, wherein the one or more first candidate hypotheses are associated with one or more confidence scores, respectively, wherein the one or more confidence scores are calculated by a personalized language model, and wherein the one or more first candidate hypotheses are ranked based on their respective confidence scores.
-
9. The method of claim 8, further comprising:
-
receiving, from the client system, an additional user input, wherein the additional user input is appended to the first user input; updating, for the one or more first candidate hypotheses, the one or more confidence scores based on the additional user input; and re-ranking the one or more first candidate hypotheses based on the updated confidence scores.
-
-
10. The method of claim 8, further comprising:
applying a sliding window to the first user input, wherein a length of the sliding window determines a percentage of the first user input to use as a model input to the personalized language model.
-
11. The method of claim 10, further comprising:
-
determining if at least one confidence score of the one or more confidence scores associated with the one or more first candidate hypothesis is smaller than a threshold score; and upon determining that at least one confidence score is smaller than the threshold score, adjusting the length of the sliding window.
-
-
12. The method of claim 1, wherein analyzing the first user input to generate the one or more first candidate hypotheses corresponding to the partial request is further based on one or more context-specific language models.
-
13. The method of claim 12, further comprising:
-
accessing, by a dialog engine, a dialog state of a dialog session associated with the first user input; selecting a particular context-specific language model from the one or more context-specific language models based on the dialog state; and generating the one or more first candidate hypotheses based on a personalized language model and the selected context-specific model.
-
-
14. The method of claim 12, wherein the one or more context-specific language models are trained based on context-specific data comprising one or more of:
-
data associated with presences of the first user at particular locations; data associated with interactions of the first user with particular users;
ordata associated with registrations of the first user at particular events.
-
-
15. The method of claim 1, further comprising analyzing, based on a personalized language model, the first user input to generate the one or more first candidate hypotheses corresponding to the partial request, wherein the analysis is further based on one or more global language models, wherein the one or more global language models are trained based on data associated with a plurality of users of an online social network.
-
16. The method of claim 1, further comprising analyzing, based on a personalized language model, the first user input to generate the one or more first candidate hypotheses corresponding to the partial request, wherein the analysis is further based on one or more global context-specific language models.
-
17. The method of claim 1, wherein each of the one or more first candidate hypotheses corresponds to a subsequent entry associated with the first user input.
-
18. 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 from the first user, wherein the first user input comprises a partial request; send, to the client system, instructions for presenting one or more suggested intent auto-completions corresponding to one or more first candidate hypotheses corresponding to the partial request, wherein each of the one or more first candidate hypotheses comprises an intent-suggestion, and wherein each suggested intent auto-completion comprises the partial request and the corresponding candidate hypothesis; receive, from the client system, an indication of a selection by the first user of a first suggested intent auto-completion of the one or more suggested intent auto-completions and a second user input; send, to the client system, instructions for presenting one or more suggested slot auto-completions corresponding to one or more second candidate hypotheses corresponding to the second user input, respectively, wherein each of the one or more second candidate hypotheses comprise a slot-suggestion, and wherein each suggested slot auto-completion comprises the second user input and the corresponding candidate hypothesis; receive, from the client system, an indication of a selection by the first user of a first suggested slot auto-completion of the one or more suggested slot auto-completions; and execute, via one or more agents, one or more tasks based on the first suggested intent auto-completion and the first suggested slot auto-completion selected by 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, from a client system associated with a first user, a first user input from the first user, wherein the first user input comprises a partial request; send, to the client system, instructions for presenting one or more suggested intent auto-completions corresponding to one or more first candidate hypotheses corresponding to the partial request, wherein each of the one or more first candidate hypotheses comprises an intent-suggestion, and wherein each suggested intent auto-completion comprises the partial request and the corresponding candidate hypothesis; receive, from the client system, an indication of a selection by the first user of a first suggested intent auto-completion of the one or more suggested intent auto-completions and a second user input; send, to the client system, instructions for presenting one or more suggested slot auto-completions corresponding to one or more second candidate hypotheses corresponding to the second user input, respectively, wherein each of the one or more second candidate hypotheses comprise a slot-suggestion, and wherein each suggested slot auto-completion comprises the second user input and the corresponding candidate hypothesis; receive, from the client system, an indication of a selection by the first user of a first suggested slot auto-completion of the one or more suggested slot auto-completions; and execute, via one or more agents, one or more tasks based on the first suggested intent auto-completion and the first suggested slot auto-completion selected by the first user.
- one or more processors; and
Specification