微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何训练聊天机器人的意图 - 基于用例的训练或“合并意图,拆分实体”?

如何解决如何训练聊天机器人的意图 - 基于用例的训练或“合并意图,拆分实体”?

我正在尝试通过 opennlp 构建一个聊天机器人。我使用 OpenNLP 文档分类器作为意图分类器。
我正在基于用例进行培训,(类似于 Google DialogFlow https://cloud.google.com/dialogflow/es/docs/best-practices#intent-naming

goal.create help me generate a goal
goal.create I would like to add a goal
…….
award.create I’d like to give an award to Tim
award.create Can you create an award
…
leaverequest.create …
leaverequest.create …

但是,我公司的一位 NLP 专家告诉我,有一种培训最佳实践可以提高准确性“合并意图,拆分实体。”(https://blog.rasa.com/10-best-practices-for-designing-nlu-training-data/)。因此,最好这样训练:

create  Could you please create a goal
create  help me generate a goal
create  Can you create an award
create  create a leave request
…

然后我需要像这样添加一个带有 if-else 的层:

If intent==’create’ and entity==’goal’: do create_goal
If intent==’create’ and entity==’leaverequest’: do create_leaverequest
…

我认为这不是直截了当的,很难训练并且需要复杂的 if-else。

“合并意图,拆分实体”的最佳实践是否适用于所有 NLP 引擎?是否有任何例外,例如:Opennlp?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。