Не обнаруживает параметры, отличные от указанных в объекте
Я пытаюсь создать действие Google для Rocket Chat, и имя пользователя и имя канала являются важными параметрами для завершения намерения. Однако, когда я пытаюсь сказать что-либо, кроме перечисленных значений сущностей, Помощник не распознает его.
Я использую Dialogflow V2 для разработки, и я уже добавил около 30-40 значений сущностей и обучающих фраз, но распознаются только те из них, которые перечислены в списке значений слотов сущностей, а другие пытаются просто дать пустое значение в ответ. Я приложил несколько фотографий моих намерений и организаций вместе с ответом для перечисленных и не перечисленных значений ниже.
Скриншоты
Имя пользователя Entity Slot Значения
Значения слотов каналов
Образец намерения
Параметры, используемые в Намерении
Ответ при использовании значения параметра из списка
Ответ при использовании значения параметра, не включенного в список
Я попытался использовать обязательную настройку в параметрах с подсказками настройки, если значение не передано, но оно просто перепроверяет 3-4 раза, и затем помощник падает.
2 ответа
Тип сущности намеренно является фиксированным перечислением. Если вы никогда не создавали определенные "действия разработчиков" в качестве типа имени канала, он не будет обрабатываться как объект.
Если вы хотите обработать любое имя канала, вы должны заменить свою сущность на тип @sys.any. Это позволит вам захватить любое значение и обработать его.
При использовании этого, будьте готовы сделать большое тестирование и создать много обучающих фраз, чтобы гарантировать, что вы захватываете только тот текст, который хотите захватить, и ничего вокруг него.
Вы можете рассмотреть возможность использования составных объектов. Вы можете создать новую сущность, которая содержит сущность имени канала и сущность sys.any. Например, вы можете создать объект с именем "CreateChannel" и вставить эти объекты create @sys.any:anyChannelName
а также create @Channelname:Channelname
как значение. (Не забудьте отключить кнопку "Определить синонимы"). Затем вы можете использовать эту сущность в качестве обучающей фразы.
Теперь вы можете получить любое значение в качестве параметра, независимо от того, является ли это объектом "имя канала" или нет, и можете быть уверены, что пользователь хочет создать канал.
Для дополнительной информации: