7 Resolving incomplete requests through disambiguation
This chapter covers
- Incomplete user requests: what they are, why they happen, and how and why you complete them
- Disambiguation: what it is, why it's important, and how and when to implement its different approaches
- Why dialog management is needed to accommodate users' different mental models
- Code samples for disambiguation, multi-turn dialogs, and using webhooks
In human conversations, people are basically only as clear as they think they need to be, no more, no less. People assume their listener is following, so they take shortcuts which lead to incompleteness. Or they’re vague, which leads to ambiguity. In human dialog, as we’re sure you know, this happens all the time. When they’re not clear, the listener might ask for clarification. Or, the listener “fills in the blanks” in their head. Sometimes they’re correct, sometimes there’s misunderstanding. The same situation happens in VUI dialogs, which is why ambiguity resolution is one of the most important topics in voice development.
7.1 Incomplete requests
Take another look at some of the sample fully specified user utterances in chapter 6:
- “Get a table at Nana's Kitchen tonight at 7 o'clock for six people.”
- “Pay 240 dollars and 63 cents on my credit card bill from my checking account.”
- “Who played the character Natasha in the 1956 movie version of War and Peace?”
- “Play Enter Sandman by Metallica from Spotify in the living room.”