我在各种不同情况下遇到过这个问题。
我将分享一个例子。
我有几个FAQ意图。一个回答“什么是命名实体识别”这些是它的话语:
另一个回答“什么是光学字符识别?”这是它的话语:
当我进入时,“什么是ocr?”它按预期工作,并显示OCR的答案。但是当我改为在所有大写字母中输入OCR时,同样的问题(什么是OCR?)。它切换到NER意图并向我展示“什么是NER?”的答案。
任何人都可以回答为什么会这样做吗?而且比这更重要的是,我该怎么做才能使它按预期工作。
请记住,这只是一个例子。我也在许多其他类似场景中遇到过这种情况。
还有一种情况是,意图话语似乎甚至远远不匹配。但它仍然转向错误的意图。
根据Lex和Alexa documentation,自定义插槽类型中的首字母缩略词应该写成所有大写字母(OCR)中的单个单词或由句点和空格分隔的小写字母(o.c.r。)。
在表的底部,您可以看到Fire HD7
,Fire h. d.
,Fire HD
和Fire HD 7
的示例,它们证明了这一点 - 两个有效选项将解析为相同的Slot Value Output。
假设根据最佳实践设置了话语,如果你提供声音输入,重要的是要注意话语对诸如你的声音中的变形,单词之间的间距/空格,重音等事物都很敏感。
至于提高准确性的即时步骤,您可以随时尝试进一步分解您的意图,而不是有两个意图,每个自定义槽值(NER,命名实体识别,OCR和光学字符识别)的每个排列都有一个。人们很容易理解短语的第一个字母映射到首字母缩略词中的字母,但是当教授聊天机器人以了解这些短语是同义词时,那就更难了。