Понимание сущностей в 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» в качестве имени объекта , затем добавьте «Регистрация транспортного средства» и «Водительские права» в качестве двух ссылочных значений с несколькими синонимами, как показано на следующем изображении. Нажмите Сохранить .

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:00. До встречи!»

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

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

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

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

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

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

5. Очистка

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

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

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

520c1c6bb9f46ea6.png

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

6. Поздравления

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

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

Чтобы узнать больше, посетите следующие ресурсы: