Dialogflow (Api.Ai) не распознает пользовательский объект - PullRequest
0 голосов
/ 07 декабря 2018

В последнее время я работаю с Dialogflow, чтобы чат-роботы выполняли несколько простых задач.Например, с webhooks и youtube api, где пользователь просит показать ему видео, а затем бот просто отвечает с URL-адресом видео youtube.

EG ПОЛЬЗОВАТЕЛЬ ГОВОРИТ Покажите мне: Нил, молодой урожай Луны

АГЕНТГоворит вот так: https://www.youtube.com/watch?v=n2MtEsrcTTs

Я делаю это с помощью пользовательского объекта, который я назвал «YoutubeQuery». Я установил флажок «Разрешить автоматическое расширение» и снял флажок «Определить синонимы», а затем просто добавил 2 значения «Ночной звонок Кавинского»."and" Indigo Night Tamino "

Entity with example values

В своем намерении я только что сделал пару обучающих фраз, подобных этим:

Training Phrases for my youtube intent

И все работает.

Теперь моя проблема с новым агентом, которого я назвал Orders

Я хочу просто получить идентификаторы заказов отбаза данных firestore, но перед тем, как попасть туда, я столкнулся с огромной проблемой

Я определил сущность идентификатора ордера так же, как и в youtubeQuery.И я добавил несколько примеров идентификаторов заказов, я хочу, чтобы все они начинались с OD и имели 4 цифры после примера (DX0001, DX0009, DX9999) order id's entity

После этого я сделал намерение Intent of GetOrder

Теперь, если я не передам EXACT ID ордеров из traininphrase или примеров идентификаторов, которые я определил в Entity, он всегда будет давать мне ответ с пустым параметром OrderID. Я начинаю свое намерение сговоря «мой заказ», я получаю запрос «Какой у вас идентификатор?

intent start

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

returning empty

Но когда я даю идентификатор, который использовался в обучениитакие фразы, как, например, первая DX0808, она работает ...

Works

Как я могу сделать эту работу, не добавляя все возможные идентификаторы заказа в диапазоне отОт DX0001 до DX9999 в обучающих фразах или в сущности.s работает для моего запроса на YouTube, я могу положить туда все, что он «поймает» значение.Любая помощь, пожалуйста?

1 Ответ

0 голосов
/ 09 декабря 2018

Похоже, что обязательный параметр является проблемой, мое предложение было бы:

  1. Создать намерение получить идентификатор заказа в одном предложении без повторной репликации (отключитьтребуется для идентификатора заказа), и идентификатор всегда присутствует, например: «мой идентификатор - DX0402».Включите ответ на тренинг, где указан только ID, например, "DL3932", напр.ниже:

enter image description here

Установить другое намерение для сценария, когда клиент хочет предоставить идентификатор, но он отсутствует , например.клиент говорит: «мой идентификатор» и заставляет вашего бота запрашивать идентификатор в качестве ответа.«Хорошо, предоставьте мне свой идентификатор»

Если вы сделаете это, в случае, если пользователь не предоставит идентификатор, будет запущено намерение 2, а после предоставления идентификатора вы вызовете намерение 1.

Надеюсь, это имеет смысл.

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