Search code examples
chatbotamazon-lexalexa-voice-service

Lex not recognizing VOICE input for AMAZON.EmailAddress


The input for an email address works for while testing with "Test bot" or via SMS message input. But for the voice command, it has trouble recognizing for example "[email protected]" So do I spell it out to Lex by " T O N Y @ G M A I L DOT C O M" or say "[email protected]"? If I say "[email protected]" it seems to recognize that.

Any help would be appreciated.


Solution

  • There is sometimes a formatting problem between how Amazon Connect/Lex interprets Voice-To-Text before attempting to fill a specialized slotType like email. So you should check how Lex is receiving each one of your voice inputs using AWS CloudWatch.

    And because of this, you will probably need to build your own email parsing and validation code in Lambda and fill the slot yourself, focusing on parsing the Voice-To-Text output format variations.

    This is why your direct text inputs are working because Lex can parse them easily. But I'm sure you will see some strange formatting in voice input emails that won't work well in Lex's AMAZON.EmailAddress slotType parser.

    Once you can view how Voice-To-Text interprets your tests, you should be able to see a pattern that you can build your own simple parser for and then your Lambda can then handle both text and voice inputs well.