confirmamazon-lexaws-lex

Is there any configuration required in AWS to the confirm intent to accept utterances like "yes it is" or "yes got it"


When trying to use these utterances the bot takes the confirm status as none instead of confirmed.

Example:

"confirmationStatus": "Confirmed", "sourceLexNLUIntentInterpretation": null }, "inputTranscript": "yes" } 


"confirmationStatus": "None", "sourceLexNLUIntentInterpretation": null }, "inputTranscript": "yes it is" } 

Has anyone ever faced this with AWS Lex?

Tried to clean up any slots that would expect "yes it is" or similar utterances.

Expected:

"confirmationStatus": "Confirmed", "sourceLexNLUIntentInterpretation": null }, "inputTranscript": "yes" } 

Actual:

"confirmationStatus": "None", "sourceLexNLUIntentInterpretation": null }, "inputTranscript": "yes it is" } 

Solution

  • Amazon suggests using confirmIntent or confirmSlot for yes/no questions. But because of the limitations of the input recognition, I chose to use a slot instead.

    I created a custom slotType that resolves values to either "Yes" or "No" and uses a long list of synonyms for each, to capture the many ways to answer. It allowed me to also catch thumbs up/down emojis, as well as just "y" or "n" for lazy users.

    Users do tend to throw more colloquial phrases at bots in an attempt to trip them up, so I also added phrases like, "you bet", "nailed it", "not a chance in hell", etc.