Contextual auto-completion for assistant systems
Abstract
In one embodiment, a method includes receiving a first user input from a first user, wherein the first user input comprises a partial request, presenting one or more suggested intent auto-completions corresponding to the partial request, receiving a selection by the first user of a first suggested intent auto-completion of the suggested intent auto-completions and a second user input, presenting one or more suggested slot auto-completions corresponding to one or more candidate slot-hypotheses corresponding to the second user input, respectively, wherein each of the candidate slot-hypotheses comprise a slot-suggestion, and wherein each suggested slot auto-completion comprises the second user input and the corresponding candidate slot-hypothesis, receiving a selection by the first user of a first suggested slot auto-completion of the suggested slot auto-completions, and presenting execution results of one or more tasks corresponding to the first suggested intent auto-completion and the first suggested slot auto-completion.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method comprising, by a client system:
receiving a first user input from a first user, wherein the first user input comprises a partial request;
presenting one or more suggested intent auto-completions corresponding to the partial request;
receiving 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;
presenting one or more suggested slot auto-completions corresponding to one or more candidate slot-hypotheses corresponding to the second user input, respectively, wherein each of the one or more candidate slot-hypotheses comprise a slot-suggestion, and wherein each suggested slot auto-completion comprises the second user input and the corresponding candidate slot-hypothesis;
receiving a selection by the first user of a first suggested slot auto-completion of the one or more suggested slot auto-completions; and
presenting execution results of one or more tasks corresponding to the first suggested intent auto-completion and the first suggested slot auto-completion.
2. The method of claim 1 , wherein the one or more suggested intent auto-completions correspond to one or more candidate intent-hypotheses, wherein the one or more candidate intent-hypotheses correspond to the partial request, wherein each of the one or more candidate intent-hypotheses comprises an intent-suggestion, and wherein each of the one or more suggested intent auto-completions comprises the partial request and the corresponding candidate intent-hypothesis.
3. The method of claim 2 , further comprising analyzing, based on a personalized language model, the first user input to generate the one or more candidate intent-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.
4. The method of claim 3 , further comprising:
presenting, at the client system, a request for additional information from the first user; receiving, at the client system, an additional user input by the first user responsive 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 an intent-suggestion for one of the candidate intent-hypotheses.
5. The method of claim 3 , wherein analyzing the first user input to generate the one or more candidate intent-hypotheses corresponding to the partial request is further based on one or more context-specific language models.
6. The method of claim 5 , 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 candidate intent-hypotheses based on the personalized language model and the selected context-specific model.
7. The method of claim 5 , 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; or
data associated with registrations of the first user at particular events.
8. The method of claim 3 , wherein analyzing the first user input to generate the one or more candidate intent-hypotheses corresponding to the partial request 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.
9. The method of claim 3 , wherein analyzing the first user input to generate the one or more candidate intent-hypotheses corresponding to the partial request is further based on one or more global context-specific language models.
10. The method of claim 1 , further comprising analyzing, based on a personalized language model, the second user input to generate the one or more candidate slot-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.
11. The method of claim 10 , further comprising:
presenting, at the client system, one or more slot-suggestions corresponding to the one or more possible slots; and
receiving, at the client system, a selection by the first user of one of the one or more slot-suggestions, wherein the selected slot suggestion is provided as a slot-suggestion for one of the candidate slot-hypotheses.
12. The method of claim 10 , further comprising:
presenting, at the client system, a request for additional information by the first user; receiving, at the client system, an additional user input by the first user responsive 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 slot-suggestion for one of the candidate slot-hypotheses.
13. The method of claim 10 , 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 first user; or
task states associated with one or more tasks.
14. The method of claim 10 , wherein the one or more candidate slot-hypotheses are associated with one or more confidence scores, respectively, wherein the one or more confidence scores are calculated by the personalized language model, and wherein the one or more candidate slot-hypotheses are ranked based on their respective confidence scores.
15. The method of claim 14 , further comprising:
receiving, at the client system, an additional user input, wherein the additional user input is appended to the second user input;
updating, for the one or more candidate slot-hypotheses, the one or more confidence scores based on the additional user input; and
re-ranking the one or more candidate slot-hypotheses based on the updated confidence scores.
16. The method of claim 10 , further comprising:
applying a sliding window to the second user input, wherein a length of the sliding window determines a percentage of the second user input to use as a model input to the personalized language model.
17. The method of claim 16 , further comprising:
determining if at least one confidence score of the one or more confidence scores associated with the one or more candidate slot-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.
18. The method of claim 1 , wherein each of the one or more candidate slot-hypotheses corresponds to a subsequent entry associated with the second user input.
19. One or more computer-readable non-transitory non-volatile storage media embodying software that is operable when executed to:
receive a first user input from a first user, wherein the first user input comprises a partial request;
present one or more suggested intent auto-completions corresponding to the partial request;
receive 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;
present one or more suggested slot auto-completions corresponding to one or more candidate slot-hypotheses corresponding to the second user input, respectively, wherein each of the one or more candidate slot-hypotheses comprise a slot-suggestion, and wherein each suggested slot auto-completion comprises the second user input and the corresponding candidate slot-hypothesis;
receive a selection by the first user of a first suggested slot auto-completion of the one or more suggested slot auto-completions; and
present execution results of one or more tasks corresponding to the first suggested intent auto-completion and the first suggested slot auto-completion.
20. A system comprising: one or more processors; and a non-transitory non-volatile memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:
receive a first user input from a first user, wherein the first user input comprises a partial request;
present one or more suggested intent auto-completions corresponding to the partial request;
receive 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;
present one or more suggested slot auto-completions corresponding to one or more candidate slot-hypotheses corresponding to the second user input, respectively, wherein each of the one or more candidate slot-hypotheses comprise a slot-suggestion, and wherein each suggested slot auto-completion comprises the second user input and the corresponding candidate slot-hypothesis;
receive a selection by the first user of a first suggested slot auto-completion of the one or more suggested slot auto-completions; and
present execution results of one or more tasks corresponding to the first suggested intent auto-completion and the first suggested slot auto-completion.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.