【问题标题】:AWS Lex - Default slot type has no limitsAWS Lex - 默认插槽类型没有限制
【发布时间】:2018-06-22 14:04:25
【问题描述】:

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

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

【问题讨论】:

  • 我认为这是 Lex 模型的问题。所以我们现在对此无能为力。顺便说一句,我正在寻找一个接受所有字符串的内置插槽。谢谢你.. :)

标签: amazon-web-services chatbot amazon-lex


【解决方案1】:

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

这实际上不是真的,并且是开始使用 Lex 开发时的常见误解。

经验告诉我们,槽类型的主要目的只是提高输入识别并用最期望或最需要的内容填充槽,但它确实限制可以填充槽的值.

这就是为什么我们 Lex 开发人员也在 Lambda 中编写解析和验证代码,以自己仔细检查槽值或 inputTranscript。

看起来 Lex 应该为您做得更好,(我想我们都开始假设了)但是一旦您开始进行自己的解析/验证,您就会意识到您实际上需要进行多少控制您的机器人更聪明、更自然。


文档

Amazon Lex Built-In Slot Types 将 Lex 开发人员推荐给 Alexa 文档。

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

Slot Type Reference in Alexa Skills Kit中有警告信息:

重要提示:内置插槽类型不等同于枚举。如果口语理解系统识别到列表之外的值,仍会返回。尽管槽类型的输入根据列表中的值加权,但它不仅限于列表中的项目。使用槽值时,您的代码仍需要包含验证和错误检查。

【讨论】:

  • 没错,Lex 最棒的地方就是槽验证。
猜你喜欢
  • 2018-08-09
  • 1970-01-01
  • 1970-01-01
  • 2017-11-08
  • 2017-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-11
相关资源
最近更新 更多