我按照教程中描述的步骤操作
有什么遗漏的地方吗?
回答:
模式非常字面化。如果短语的一部分不完全匹配,意图就不会被识别。(注意:你可以直接将这些短语添加到意图中,而不是在模式中,这样它会识别意图但不识别实体。如果你有对话来提示用户提供缺失的实体,这可能会有帮助。)
在你的例子中,你编写的模式需要写成command create $mytest
,这样应该能识别意图和实体mytest。因为你在测试中没有包含$
字符,所以意图和实体都没有被识别。
你可以通过使用方括号[]来标记一个字符为可选,不过我在这方面的成功率参差不齐。你的短语足够具体,可能在你的情况下会有效。所以你可以将你的模式改成command create [$]command_params
,这样command create $mytest
和command create mytest
都能工作,并且具有正确的实体。请注意,如果有人输入类似command create $mytest please
的内容,它会将整个短语mytest please作为你的实体。(如果有人知道如何创建一个避免这种情况的模式,那就太棒了!)