Не обнаруживает параметры, отличные от указанных в объекте - PullRequest
0 голосов
/ 23 мая 2019

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

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

Снимки экрана

Значения слотов сущности пользователя

enter image description here

Значения слота объекта имени канала

enter image description here

Sample Intent

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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

Ответы [ 2 ]

1 голос
/ 23 мая 2019

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

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

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

enter image description here

0 голосов
/ 23 мая 2019

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

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

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

Составные объекты

...