Как создать намерение извлечь объекты из любого сообщения с помощью Dialogflow? - PullRequest
0 голосов
/ 05 июля 2019

Я создаю чат-бота корпоративного уровня, для которого действительно важен пользовательский опыт. Наши пользователи могут упомянуть полезную информацию в любой части разговора. Поэтому я нахожу способ сопоставить каждое сообщение с определенным намерением, которое может извлечь различные сущности из любого сообщения, например, когда вы вводите обучающую фразу в намерение, оно помечает все известные сущности в нем. Таким образом, когда пользователь упомянул что-то в разговоре, чат-бот может сохранить его в профиле пользователя, чтобы собрать как можно больше информации и не задавать вопрос об этом позже, что делает его глупым. Но я не могу придумать, как создать такое намерение.

Я пробовал следующие способы создания цели:

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 сущностей, которые необходимо извлечь. Это создаст огромное количество комбинаций обучающих фраз. И их будет очень сложно поддерживать.

Я открыт для предложений по любым другим направлениям, которые могут работать. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...