Я разрабатываю чат-бота с использованием 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» и проверка извлеченной сущности внутри пользовательских действий в базе данных поставщика и контракта. Но я не думаю, что это было бы правильным использованием естественного языка.
Пожалуйста, предложите, я буду очень благодарен за то же самое. Привет.