1. Прежде чем начать
Сущности — это механизм в Dialogflow для идентификации и извлечения полезных данных из входных данных на естественном языке. В то время как намерения позволяют вашему агенту понять мотивацию конкретного пользовательского ввода, сущности используются для выбора конкретных фрагментов информации, которые упоминают ваши пользователи — от почтовых адресов до названий продуктов и сумм в единицах измерения. Любые важные данные, которые вы хотите получить по запросу пользователя, будут иметь соответствующую сущность.
В следующем списке описаны три типа сущностей:
- Системные сущности, поставляемые с Dialogflow, позволяют агентам извлекать информацию о широком спектре концепций без какой-либо дополнительной настройки. Например, доступны системные сущности для извлечения дат, времени и местоположений из входных данных на естественном языке.
- Объекты разработчика, которые вы определяете, извлекают информацию о концепциях, выходящих за рамки тех, которые охватываются системными объектами. Например, бренд может создать организацию-разработчика, чтобы распознавать свой уникальный набор названий продуктов.
- Сущности сеанса, которые вы также определяете, применяются только к конкретному диалогу. Например, вы можете создать сущность сеанса для представления зависящих от времени опций, доступных конкретному пользователю при бронировании.
Предварительные условия
Прежде чем продолжить, вам необходимо выполнить следующие лабораторные работы:
Вам также необходимо понять основные концепции и конструкции Dialogflow, которые вы можете почерпнуть из следующих видеороликов, найденных в разделе «Создание чат-бота с помощью Dialogflow» :
Что вы узнаете
- Как создавать и использовать системные сущности в Dialogflow
- Как создавать и использовать объекты разработчика в Dialogflow
- Как протестировать агент
Что ты построишь
- Расширенная версия уже созданного агента Dialogflow.
- Объекты разработчика в Dialogflow
- Системные сущности в Dialogflow
Что вам понадобится
- Веб-браузер и адрес электронной почты для входа в консоль Dialogflow.
2. Как включить и использовать системные объекты в Dialogflow
- Перейдите в консоль Dialogflow .
- Выберите агент AppointmentScheduler, который вы создали ранее.
- Нажмите Намерения .
- Нажмите «Запланировать встречи», чтобы открыть настройки намерений.
Вы заметите обучающие фразы, такие как «Назначить встречу завтра на 16:00», где дата и время автоматически извлекаются как @sys.date и @sys.time . Не стесняйтесь добавлять дополнительные обучающие фразы, чтобы увидеть, как Dialogflow автоматически извлекает системные сущности.
Как вы видели, системные сущности позволяют агентам извлекать информацию о широком спектре концепций без какой-либо дополнительной настройки. Такие данные, как адрес, электронная почта, валюта и номера телефонов, являются одними из распространенных примеров системных сущностей. Дополнительную информацию см. в разделе Системные объекты .
3. Как включить и использовать объекты разработчика в Dialogflow
Создание объектов разработчика
До сих пор вы обращались к своему планировщику встреч в общем виде. Теперь предположим, что ваш планировщик предназначен для офиса государственного департамента транспортных средств, который в основном предлагает водительские права и услуги по регистрации. Создайте эти сущности.
- Нажмите «Объекты» .
- Нажмите «Создать объект» .
- Введите «AppointmentType» в качестве имени объекта , затем добавьте «Регистрация транспортного средства» и «Водительские права» в качестве двух ссылочных значений с несколькими синонимами, как показано на следующем изображении. Нажмите Сохранить .
Вы можете добавить больше строк с большим количеством услуг в качестве типов объектов.
- Нажмите Сохранить .
Изменить намерение, чтобы разместить вновь созданную сущность разработчика.
- Нажмите Намерение .
- Введите «Назначить встречу для получения водительских прав завтра на 15:00» в намерении планирования встречи.
Вы увидите автоматическое распознавание водительских прав в 15:00 и завтра как разработчик и системные объекты.
- Введите следующие обучающие фразы:
- Назначение продления лицензии в понедельник
- Назначьте встречу в 14:00 в понедельник для получения лицензии.
- Запись на регистрацию автомобиля на понедельник
- Вам необходимо сделать AppointmentType обязательным полем, аналогичным времени и дате. Для этого перейдите в раздел «Действия и параметры» , затем установите флажок в строке AppointmentType .
- Добавьте подсказку, например: «Какие услуги вы хотите получить? DMV предлагает услуги по выдаче водительских прав и регистрации транспортных средств». Если пользователь не указывает тип встречи, будет использовано приглашение.
- Нажмите Сохранить .
4. Проверьте своего чат-бота
Вы можете протестировать своего чат-бота в симуляторе Actions или использовать интеграцию с Интернетом или Google Home, о которой вы узнали ранее.
Тестовый пример 1
В этом случае пользователь запрашивает только назначение встречи без трех частей информации, поэтому Dialogflow запрашивает дату, время и тип встречи, используя заданные вами подсказки для заполнения слотов.
- Пользователь: «Назначить встречу».
- Чат-бот: «Какого числа?»
- Пользователь: «23 мая».
- Чат-бот: «В какое время вы хотели бы прийти?»
- Пользователь: «10 утра»
- Чат-бот: «Какие услуги вы хотите получить? DMV предлагает услуги по выдаче водительских прав и регистрации транспортных средств».
- Пользователь: «Лицензия».
- Чат-бот: «Все готово для регистрации вашего автомобиля 23 мая 2019 г. в 10:00:00. До встречи!»
Тестовый пример 2
В этом случае пользователь просит назначить встречу с частичной информацией, поэтому Dialogflow запрашивает дату, время и тип встречи, используя заданные вами подсказки для заполнения слотов.
- Пользователь: «Нужно записаться на завтра на 16:00».
- Чат-бот: «Какие услуги вы хотите получить? DMV предлагает услуги по выдаче водительских прав и регистрации транспортных средств».
- Пользователь: «Лицензия».
- Чат-бот: «Все готово для получения водительских прав 24 апреля 2019 г. в 16:00:00. До встречи!»
Тестовый пример 3
В этом случае всю информацию предоставляет пользователь. Dialogflow обрабатывает информацию и выдает ответ с подтверждением встречи.
- Пользователь: «Назначьте встречу для регистрации автомобиля завтра на 14:00».
- Чат-бот: «Все готово для регистрации вашего автомобиля 24 апреля 2019 г. в 14:00:00. До встречи!»
5. Очистка
Если вы планируете выполнить другие лабораторные работы по коду Dialogflow, пропустите этот раздел и вернитесь к нему позже.
Удалить агент Dialogflow
- Нажмите рядом с вашим существующим агентом.
- На вкладке «Общие» прокрутите страницу вниз и нажмите «Удалить этого агента» .
- Введите «Удалить» в диалоговом окне и нажмите «Удалить» .
6. Поздравления
Вы создали чат-бота, который обрабатывает пользовательские входные данные с помощью объектов разработчика. Теперь вы разработчик чат-бота!
Узнать больше
Чтобы узнать больше, посетите следующие ресурсы:
- Понимание выполнения: как интегрировать Dialogflow с Календарем
- Примеры кода на странице Dialogflow Github .