Могу ли я извлечь параметр, основанный на позиции терминов в вопросе? - PullRequest
1 голос
/ 08 февраля 2020

Я хотел бы выполнить действие на основе указанного пользователем номера c, извлеченного из текстового запроса: «Открыть номер договора XYZ». Где «XYZ» - это значение параметра, которое мне нужно. Нет очевидных границ для содержания XYZ. Это может быть истинное число или строка. Может ли тип сущности основываться на термине позиция в запросе? Я ожидаю, что диалог может соответствовать цели на основе первой части фразы: «Номер открытого контракта». Как я могу получить значение параметра, которое следует за этой фразой?

1 Ответ

0 голосов
/ 08 февраля 2020

В теории да. Для этого конкретного случая использования вы можете использовать системный объект @sys.any. Просто добавьте много обучающих фраз, которые могут помочь вашему агенту обнаружить его.

Например:

Training phrases with sys.any entity

Убедитесь, что пометьте номер контракта (или id) в учебных фразах, чтобы его можно было правильно определить в качестве параметра.

Actions and Parameters with contract Id

Теперь вы можете использовать значение, обнаруженное в ваших ответах

Responses

Пример обнаруженного намерения

Intent detected

Имейте в виду, что использование любого из них не является идеальным (может привести к непреднамеренному поведению); однако, если вы добавите большое количество обучающих фраз и используете контексты для обработки потока разговоров, это должно работать нормально.

Дополнительное предложение. Если в идентификаторе контракта есть какой-либо распознаваемый шаблон, вы можете использовать регулярные выражения вместо @ sys.any, что также повысит точность.

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