2

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" } 
Avinash Singh
  • 4,970
  • 8
  • 20
  • 35
Nitin Malode
  • 87
  • 1
  • 7
  • Is "yes it is" included in your confirm utterances? I expect that would clear up this issue. – Dylan May 13 '19 at 18:49
  • The confirm intent is being called from Lambda and not Lex directly. How to add the utterances in this case when it is getting triggered from Lamda? – Nitin Malode May 14 '19 at 08:47

1 Answers1

0

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.

Jay A. Little
  • 3,239
  • 2
  • 11
  • 32