AWS Lex-默认插槽类型没有限制

eag*_*e28 2 chatbot amazon-web-services amazon-lex

在AWS Lex中,我使用默认的AMAZON.Country作为插槽类型。但是,当我与测试机器人进行交互时,我可以输入任何值(例如“我不知道”),并且当我检查响应时,JSON表示“国家”的值为“我不知道” 。

插槽类型的目的是将答案限制为现有的国家/地区名称。没有一些随机的句子。知道为什么我没有得到预期的行为吗?

在此处输入图片说明

在此处输入图片说明

Jay*_*tle 5

“插槽类型的目的是限制答案。...”

事实并非如此,这是在开始使用Lex开发时的常见误解。

经验告诉我们,插槽类型的主要目的仅仅是为了提高输入识别和填充什么是大多数人的预期或期望的槽,但它并没有限制,可以填补缝隙的值。

这就是为什么我们Lex开发人员还使用Lambda编写解析和验证代码来自己仔细检查插槽值或inputTranscript的原因。

看起来Lex应该为您做得更好(我想我们所有人都以此为前提),但是一旦您开始进行自己的解析/验证,您就会意识到要真正使机器人更智能,实际上还有更多的控制权更自然


文献资料

Amazon Lex内置插槽类型将Lex开发人员引向Alexa文档。

Amazon Lex支持Alexa Skills Kit中的内置插槽类型。
...请参阅Alexa Skills Kit文档中的插槽类型参考

Alexa Skills Kit中的插槽类型参考中有一条警告消息:

重要信息:内置插槽类型与枚举等效。如果语音理解系统识别出列表之外的值,则仍会返回该值。尽管插槽类型的输入权重于列表中的值,但它不仅限于列表中的项。使用插槽值时,您的代码仍需要包含验证和错误检查。