我正在为合同经理组织使用 Rasa 开发聊天机器人。我面临的问题很少,在论坛和 Rasa 博客上阅读了很多内容后,我无法得出解决方案。我有几个类似的意图和类似的例子 -
“inform_supplier_start_date” and “inform_contract_start_date”.
“inform_supplier_email” and “inform_customer_email” and “inform_reviewer_email”
现在的问题是,对于这两种意图类别,nlu.md 中的例句是相同的。我的确切意思是——
##intent:inform_suppler_start_date
-what is the supplier [Microsoft] (supplier_name) start date
-[EON Digital] (supplier_name) start date
##intent:inform_contract_start
1) start-date of [O2 Mobile phones] (contract_name)
2) [O2 Mobile phones] (contract_name) start date
该模型无法区分和识别正确的意图。由于这些意图中的单词相似,因此它变得混乱并识别出错误的意图。
我需要识别正确的意图,因此,在自定义操作中,我可以查询数据库并获得供应商和合同的相应结果。
我有很多这样的字段,示例数据和用户查询将是相同的。例如-
customer_email & supplier_email & reviewer_email
total_spend_contract & total_spend_supplier & total_spend_customer
contract_number_for_supplier & contract_number_of_contract & contract_number_organisation
我到底应该做什么来获得正确的分类。我正在考虑的一种解决方案是将“supplier_start_date”和“contract_start_date”之类的意图合并为一个“start_date”,并在供应商和合同数据库的自定义操作中检查提取的实体。但我认为这不是自然语言的正确用法。
请提出建议,我将对此非常感激。问候。