我在各种不同的情况下都遇到过这个问题。
我将分享一个示例。
我有一些常见问题解答的意图。 一答“什么是命名实体识别” 这些是它的话语:
- 告诉我有关命名实体识别的信息
- 告诉我有关 NER 的信息
- 什么是 NER
- 命名实体识别是什么意思
- 什么是命名实体识别
以及其他答案“什么是光学字符识别?” 这些是它的话语:
- OCR
- OCR 是什么意思
- 你能告诉我什么是 OCR
- 介绍 OCR
- 什么是光学字符识别
- 什么是 OCR
当我输入“什么是 ocr?”时它按预期工作并显示 OCR 的答案。 但是当我输入 OCR 时全部大写,并提出同样的问题(什么是 OCR?)。它切换到 NER 意图并向我显示“什么是 NER?”的答案
谁能回答一下为什么要这样做吗?更重要的是,我该怎么做才能使其按预期工作。
请记住,这只是一个示例。我在许多其他类似场景中也遇到过这种情况。
还有一种情况是意图话语似乎根本不匹配。但它仍然转向了错误的意图。
最佳答案
根据 Lex 和 Alexa documentation ,自定义插槽类型中的首字母缩略词应写为全部大写的单个单词 (OCR) 或以句点和空格分隔的小写字母 (o. c. r.)。
在表格底部,您可以看到 Fire HD7
、Fire h. d.
、Fire HD
和 Fire HD 7
演示了这一点 - 两个有效选项都将解析为相同的插槽值输出。
假设话语是根据最佳实践设置的,如果您提供语音输入,请务必注意,话语对声音的变化、单词之间的节奏/空间、口音等很敏感。
对于提高准确性的直接步骤,您始终可以尝试进一步分解您的意图,而不是有两个意图,而是为自定义槽值的每个排列(NER、命名实体识别、OCR 和光学字符)提供一个意图认出)。人们很容易理解短语的第一个字母映射到首字母缩略词中的字母,但当要教聊天机器人理解这些短语是同义词时,那就有点困难了。
关于amazon-web-services - 尽管输入了准确的话语,AWS Lex 仍匹配错误的意图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55294779/