ЛУИС: Добавление шаблонов к намерениям не дает никакого эффекта - PullRequest
1 голос
/ 21 апреля 2020

Я следовал тому, что описано в учебнике

  • Сначала я добавил объект Pattern.any enter image description here
  • Далее Я добавил шаблон для требуемого намерения enter image description here
  • Я уже создал намерение, как показано, и теперь я нажимаю на поезд enter image description here
  • Когда я проверяю, цель не попадает enter image description here

Есть идеи, чего не хватает?

Ответы [ 2 ]

2 голосов
/ 21 апреля 2020

TL; DR : чтение паттернов делает c и улучшением обнаружения вашей сущности .


Проблема

Проблема с вашим примером, который вы опубликовали здесь, заключается в том, что LUIS не удалось обнаружить сущность command_params, поэтому он не может даже соответствовать ни одному из этих 3 шаблонов, которые вы показали.

Как указано в Добавление общих форматов высказываний шаблонов шаблонов для улучшения предсказаний :

Чтобы сопоставить шаблон с высказыванием, сначала необходимо создать сущности внутри высказывание должно соответствовать сущностям в шаблонном высказывании. Это означает, что сущности должны иметь достаточно примеров в примерах высказываний с высокой степенью прогнозирования, прежде чем шаблоны с сущностями будут успешными. Тем не менее, шаблон не помогает предсказать сущности, а только намерения.

Хотя шаблоны позволяют предоставлять меньшее количество примеров высказываний, если объекты не обнаружены, шаблон не соответствует.

Поэтому вам нужно поработать над созданием вашей сущности command_params, чтобы ее можно было обнаружить до использования шаблона.


Ваша сущность

Я не уверен, Pattern.any - правильный тип сущности, который вы можете использовать, так как это сущность, которая используется для значений переменной длины - может быть, они очень длинные, например .

Я не знаю, к какому типу значений может относиться ваша сущность, но я подозреваю, что, вероятно, было бы лучше go маршрут , создающий простой объект + список фраз (использует машинное обучение) или список сущностей , если значения сущностей являются известным набором (точное сопоставление с образцом), в зависимости от значений параметров вашей команды.

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

Кроме того, если вам нужна помощь в понимании того, как улучшить обнаружение сущности в целом, см. этот ответ StackOverflow .

1 голос
/ 21 апреля 2020

Шаблоны чрезвычайно буквальны. Если часть фразы не совпадает точно, цель не будет распознана. (Примечание: вы можете добавить эти фразы непосредственно в намерение, а не в шаблон, в этом случае он будет распознавать намерение, но не сущности. Может быть полезно, если у вас есть диалоговое окно, предлагающее пользователям пропустить сущности.)

В вашем случае для написания шаблона вам нужно будет написать command create $mytest, который должен распознавать намерение, а также сущность mytest . Поскольку вы не включили символ $ в тест, ни намерение, ни сущность не были распознаны.

У вас есть возможность пометить символ как необязательно через скобки [] Хотя я имел смешанный успех с этим. Ваши фразы указаны c достаточно, чтобы это могло работать в вашем случае. Таким образом, вместо этого вы можете создать свои шаблоны, например command create [$]command_params, где оба command create $mytest и command create mytest будут работать и иметь правильную сущность. Обратите внимание, что если кто-то наберет что-то вроде command create $mytest please, он выберет всю фразу mytest, пожалуйста, в качестве вашей сущности. (Если кто-нибудь знает, как создать шаблон, который избегает этого, это было бы фантастически c!).

...