【发布时间】:2020-06-16 20:59:33
【问题描述】:
我正在开发一个客户关系聊天机器人。用户可以输入问候语、用户名、电话号码等,
我在 nlu.md 文件中创建了一些训练示例(50 多个名称)来帮助聊天机器人。但问题是,如果未在训练数据 (nlu.md) 文件中指定用户名,则聊天机器人无法将其识别为实体。
我也写了一个正则表达式,但如果我给一个新名称,nlu 引擎仍然无法识别它。
我使用的是 rasa 1.0.7,我有管道:受监督的嵌入
例如
nlu.md 文件:
##regex.names
- [a-zA-Z\s]+$
##intent:inform
- John
- Roshan
- Sanvi
–> have few more
如果用户给出任何新名称意味着,我的实体是空的。还附上 rasa interactive 消息。
您的输入 -> 约翰
[John](姓名)的“通知”意图是否正确,所有实体的标签是否正确? (是/否)
您的输入 -> adrena
您的 NLU 模型将“adrena”分类为意图“通知”并且没有实体,这是正确的吗? (是/否)
当指定了用户名时,我应该怎么做才能让机器人理解?我在某处看到可以使用查找表。但是当我尝试使用查找表时,它仍然无法识别 user_name 不是训练示例的一部分。
我提到的以下链接。
https://forum.rasa.com/t/regex-entity-names/11739/10
How rasa_nlu using lookup_tables for entity extraction?
但我的问题没有运气。我也可以接受任何选择。
谢谢。
【问题讨论】: