Я создаю чат-бота корпоративного уровня, для которого действительно важен пользовательский опыт. Наши пользователи могут упомянуть полезную информацию в любой части разговора. Поэтому я нахожу способ сопоставить каждое сообщение с определенным намерением, которое может извлечь различные сущности из любого сообщения, например, когда вы вводите обучающую фразу в намерение, оно помечает все известные сущности в нем. Таким образом, когда пользователь упомянул что-то в разговоре, чат-бот может сохранить его в профиле пользователя, чтобы собрать как можно больше информации и не задавать вопрос об этом позже, что делает его глупым. Но я не могу придумать, как создать такое намерение.
Я пробовал следующие способы создания цели:
1.Фраза обучения 1: "@ sys.any @ entity_1 @ sys.any"
Учебная фраза 2: "@ sys.any @ entity_2 @ sys.any"
....
И он может извлечь только одну сущность из сообщений, которые содержат несколько сущностей, потому что другие сущности сопоставляются как часть @ sys.any. @ sys.any настроен на жадное сопоставление, и это создает много проблем.
2.
Обучающая фраза: "@ sys.any @ entity_1 @ sys.any @ entity_2 @ sys.any @ entity_3 @ sys.any"
Это работало хорошо, когда в сообщении присутствуют все три сущности. Но ему не удается сопоставить эти сообщения с 1 или 2 объектами, даже если это единственное намерение в агенте.
Я думаю, что объединение методов 1 и 2 может работать, но у меня есть 30-50 сущностей, которые необходимо извлечь. Это создаст огромное количество комбинаций обучающих фраз. И их будет очень сложно поддерживать.
Я открыт для предложений по любым другим направлениям, которые могут работать. Заранее спасибо.