Понимание сущностей в Dialogflow

1. Прежде чем начать

В Dialogflow сущности — это механизм для идентификации и извлечения полезных данных из входных данных на естественном языке. В то время как намерения позволяют вашему агенту понять мотивацию, стоящую за конкретным вводом пользователя, сущности используются для выделения конкретных фрагментов информации, которые упоминают ваши пользователи — от адресов до названий продуктов и сумм с указанием единиц измерения. Любые важные данные, которые вы хотите получить из запроса пользователя, будут иметь соответствующую сущность.

Ниже приведён список, описывающий три типа сущностей:

  • Системные сущности, входящие в состав Dialogflow, позволяют агентам извлекать информацию о широком спектре понятий без какой-либо дополнительной настройки. Например, доступны системные сущности для извлечения дат, времени и местоположений из входных данных на естественном языке.
  • Определяемые вами сущности разработчиков извлекают информацию о концепциях, выходящих за рамки тех, которые охватываются системными сущностями. Например, бренд может создать сущность разработчика для распознавания уникального набора названий своих продуктов.
  • Определяемые вами сущности сессии применяются только к конкретной беседе. Например, вы можете создать сущность сессии для представления ограниченных по времени опций, доступных конкретному пользователю при бронировании.

Предварительные требования

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

  1. Создайте расписание встреч с помощью Dialogflow.
  2. Интегрируйте чат-бот Dialogflow с Actions on Google.

Вам также необходимо понимать основные концепции и принципы работы Dialogflow, которые вы можете изучить в следующих видеороликах, входящих в курс «Создание чат-бота с помощью Dialogflow» :

Что вы узнаете

  • Как создавать и использовать системные сущности в Dialogflow
  • Как создавать и использовать сущности разработчиков в Dialogflow
  • Как протестировать агента

Что вы построите

  • Улучшенная версия уже созданного агента Dialogflow.
  • Сущности разработчика в Dialogflow
  • Системные сущности в Dialogflow

Что вам понадобится

  • Для входа в консоль Dialogflow вам потребуется веб-браузер и адрес электронной почты.

2. Как включить и использовать системные сущности в Dialogflow

  1. Перейдите в консоль Dialogflow .
  2. Выберите агента AppointmentScheduler, которого вы создали ранее.

ecedc445a9578e3b.png

  1. Намерения клика.

37ee739b69fa1ae7.png

  1. Нажмите «Запланировать встречу» , чтобы открыть настройки намерения.

Вы заметите обучающие фразы, например, "Запланируйте встречу на 16:00 завтра", где дата и время автоматически извлекаются как @sys.date и @sys.time . Не стесняйтесь добавлять больше обучающих фраз, чтобы увидеть, как Dialogflow автоматически извлекает системные сущности.

7dcdad1372191f90.png

Как вы уже видели, системные сущности позволяют агентам извлекать информацию о широком спектре понятий без какой-либо дополнительной настройки. К распространенным примерам системных сущностей относятся такие данные, как адреса, электронные письма, валюта и номера телефонов. Подробнее см. раздел «Системные сущности» .

3. Как включить и использовать сущности разработчика в Dialogflow

Создание сущностей разработчика

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

  1. Нажмите «Сущности» .

4d8924f1d4edc0d1.png

  1. Нажмите «Создать сущность» .

b77e94e5e47adbc7.png

  1. Введите "AppointmentType" в качестве имени сущности , затем добавьте "Vehicle registration" и "Driver license" в качестве двух ссылочных значений, а также несколько синонимов, как показано на следующем изображении. Нажмите " Сохранить ".

51562b4327dbaf1.png

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

  1. Нажмите « Сохранить ».

Отредактируйте намерение, чтобы учесть недавно созданный объект разработчика.

  1. Намерение клика.
  2. Введите "Назначить встречу для получения водительских прав на 15:00 завтра" в поле "Запланировать встречу".

Автоматическое распознавание водительских прав начнется в 15:00 , а завтра вы увидите их также в качестве сущностей разработчика и системы.

5fb91b31806f06f.png

  1. Введите следующие обучающие фразы:
  2. Приём по поводу продления лицензии назначен на понедельник.
  3. Запишитесь на прием в понедельник в 14:00 для получения водительских прав.
  4. Регистрация транспортного средства назначена на понедельник.

5addff06908c61f8.png

  1. Необходимо сделать поле AppointmentType обязательным, аналогично полям времени и даты. Для этого перейдите в раздел «Действия и параметры» , затем установите флажок в строке AppointmentType .

c43e72c5c1a43f5c.png

  1. Добавьте подсказку, например: «Какие услуги вам нужны? DMV предлагает услуги по выдаче водительских прав и регистрации транспортных средств». Если пользователь не укажет тип записи на прием, будет использована подсказка.
  2. Нажмите « Сохранить ».

4. Протестируйте своего чат-бота.

Вы можете протестировать своего чат-бота в симуляторе Actions или использовать интеграцию с веб-браузером или Google Home, которую вы изучили ранее.

Тестовый пример 1

В этом случае пользователь запрашивает только дату, время и тип встречи, без указания трех необходимых данных, поэтому Dialogflow запрашивает дату, время и тип встречи, используя заданные вами подсказки для заполнения слотов.

  1. Пользователь: "Записаться на прием."
  2. Чат-бот: "Какое число?"
  3. Пользователь: "23 мая."
  4. Чат-бот: "В какое время вы хотели бы прийти?"
  5. Пользователь: "10 утра"
  6. Чат-бот: «Какие услуги вас интересуют? Департамент транспортных средств (DMV) предоставляет услуги по выдаче водительских прав и регистрации транспортных средств».
  7. Пользователь: "Лицензия."
  8. Чат-бот: «Вы готовы к назначению даты регистрации вашего транспортного средства — 23 мая 2019 года в 10:00. До встречи!»

Тестовый пример 2

В этом случае пользователь запрашивает запись на прием, предоставив неполную информацию, поэтому Dialogflow запрашивает дату, время и тип встречи, используя заданные вами подсказки для заполнения временных слотов.

  1. Пользователь: "Мне нужна встреча на завтра в 16:00."
  2. Чат-бот: «Какие услуги вас интересуют? Департамент транспортных средств (DMV) предоставляет услуги по выдаче водительских прав и регистрации транспортных средств».
  3. Пользователь: "Лицензия."
  4. Чат-бот: "Вы готовы к записи на получение водительских прав 24 апреля 2019 года в 16:00. До встречи!"

Тестовый пример 3

В этом случае пользователь предоставляет всю необходимую информацию. Dialogflow обрабатывает информацию и выдает ответ с подтверждением записи на прием.

  1. Пользователь: «Записалась на регистрацию транспортного средства на завтра в 14:00».
  2. Чат-бот: «Вы готовы к назначенному времени регистрации вашего транспортного средства — 24 апреля 2019 года в 14:00:00. До встречи!»

5. Уборка

Если вы планируете пройти другие практические занятия по Dialogflow, то пропустите этот раздел и вернитесь к нему позже.

Удалите агент Dialogflow.

  • Нажмите fe9c61cc27fb9f2e.png рядом с вашим текущим агентом.

520c1c6bb9f46ea6.png

  • На вкладке «Общие» прокрутите вниз и нажмите «Удалить этого агента» .
  • Введите «Delete» в диалоговое окно и нажмите «Delete» .

6. Поздравляем!

Вы создали чат-бота, который обрабатывает пользовательские данные с помощью сущностей разработчика. Теперь вы — разработчик чат-ботов!

Узнать больше

Для получения более подробной информации ознакомьтесь со следующими ресурсами: