我试图通过选择b c d或e来获得用户响应。我已经配置了一个具有这些可能值的插槽并读取了我的nodejs中的插槽。当用户用选项a,c,d,e响应时,在intent.slots.Answer.value中返回ok(尽管选项" a"在插槽值和C,D和E中作为小写返回以大写形式返回)但更大的问题是选项" b"将返回一个额外的点(。),如下所示" b。"虽然我可以解析它,但我不想在我知道是什么导致它之前修补它。我在任何操作之前都完成了slot.log的槽值,它是按照上面的描述。有没有人经历过这个?
答案 0 :(得分:0)
您提供的插槽值将在语言模型构建时使用。但是无法保证这些值将被alexa识别并转发给您的意图。它可以通过alexa理解的任何东西。我猜alexa正在考虑a,c,d和e作为单词,但是在b的情况下,她理解它是一个单独的字母(它被返回为“B”)。为什么?欢迎来到黑盒子Alexa的奥秘:)
我会像这样清理这个值:
value.toLowerCase().replace(/\./, '')
答案 1 :(得分:0)
建立在unnu's answer ......我会使用像One,Two,Three这样的全字选项......