Не обнаруживает параметры, отличные от указанных в объекте

Я пытаюсь создать действие Google для Rocket Chat, и имя пользователя и имя канала являются важными параметрами для завершения намерения. Однако, когда я пытаюсь сказать что-либо, кроме перечисленных значений сущностей, Помощник не распознает его.

Я использую Dialogflow V2 для разработки, и я уже добавил около 30-40 значений сущностей и обучающих фраз, но распознаются только те из них, которые перечислены в списке значений слотов сущностей, а другие пытаются просто дать пустое значение в ответ. Я приложил несколько фотографий моих намерений и организаций вместе с ответом для перечисленных и не перечисленных значений ниже.

Скриншоты

Имя пользователя Entity Slot Значения

Значения слотов каналов

Образец намерения

Параметры, используемые в Намерении

Ответ при использовании значения параметра из списка

Ответ при использовании значения параметра, не включенного в список

Я попытался использовать обязательную настройку в параметрах с подсказками настройки, если значение не передано, но оно просто перепроверяет 3-4 раза, и затем помощник падает.

2 ответа

Решение

Тип сущности намеренно является фиксированным перечислением. Если вы никогда не создавали определенные "действия разработчиков" в качестве типа имени канала, он не будет обрабатываться как объект.

Если вы хотите обработать любое имя канала, вы должны заменить свою сущность на тип @sys.any. Это позволит вам захватить любое значение и обработать его.

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

Вы можете рассмотреть возможность использования составных объектов. Вы можете создать новую сущность, которая содержит сущность имени канала и сущность sys.any. Например, вы можете создать объект с именем "CreateChannel" и вставить эти объекты create @sys.any:anyChannelName а также create @Channelname:Channelname как значение. (Не забудьте отключить кнопку "Определить синонимы"). Затем вы можете использовать эту сущность в качестве обучающей фразы.

Теперь вы можете получить любое значение в качестве параметра, независимо от того, является ли это объектом "имя канала" или нет, и можете быть уверены, что пользователь хочет создать канал.

Для дополнительной информации:

Композитные объекты

Другие вопросы по тегам