Пошаговая инструкция по созданию чат-бота на Dialogflow без знаний программирования

Не так давно на vc.ru я увидел материал с обсуждением лучших сервисов по созданию чат-ботов, но в нём не было ни одного бесплатного решения. Поэтому я решил поделиться своим опытом и показать, что для тестирования чат-бота вы можете быстро сделать его с помощью продукта от Google — Dialogflow.

Для решения этой задачи вам понадобится только аккаунт Google и 15–30 минут своего времени, ещё сам дизайн диалога. Нужно понимать, о чём будет говорить бот.

Для тестового примера я буду описывать создание бота, который отвечает на типовые вопросы. Конечно, бота можно интегрировать, связать с другими сервисами, внедрить в него распознавание, но формат этой статьи даст вам решить задачу первого запуска и покажет, насколько это просто.

Для начала заходим на сайт.

И нажимаем на кнопку Sign in для авторизации. Если у вас не авторизован аккаунт, то Google попросит это сделать. И двигаемся дальше, параллельно разрешая приложению Dialogflow использовать наш Google-аккаунт. Мы остаёмся внутри инфраструктуры Google, поэтому беспокоиться о безопасности в этом вопросе — лишнее. В итоге после успешной авторизации нажимаем Go to console.

Первый экран Dialogflow
Первый экран Dialogflow

Система попросит нас авторизоваться ещё раз и согласовать необходимые разрешения.

Понимаю, что большинство пользователей vc.ru с лёгкостью пройдут эти этапы без подсказок, поэтому часть скринов с нажатием кнопки Ok опускаю.

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

Подтверждение вашего согласия на использование сервиса
Подтверждение вашего согласия на использование сервиса

В итоге мы добираемся до экрана, где уже можем создать своего первого бота!

Общий вид Dialogflow до запуска первого бота
Общий вид Dialogflow до запуска первого бота

Нажимаем Create agent.

Экран создания бота
Экран создания бота

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

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

Заполняем поля «Имя» (Agent name) и Default Language — и нажимаем Create. Бот создан!

Мы видим экран, на котором уже создано 2 intent: Default Fallback и Default Welcome.

Два созданных по умолчанию intent-а
Два созданных по умолчанию intent-а

В этот момент наш бот уже умеет отвечать на русском на «Привет» и другие стандартные приветствия и говорить, что он нас не понимает, если ни один intent не подошёл (в нашем случае пока мы либо отвечаем на «привет», либо отвечаем, что не понимаем собеседника).

Для простоты тестирования бота будем использовать веб-версию. Для этого выбираем раздел Integrations и там выбираем первый блок.

Блок «Интеграции»
Блок «Интеграции»

В моём случае ссылка по умолчанию оказалась такая.

Теперь давайте отредактируем текущие intent под наши нужды. В целом мы можем просто воспринимать эти сущности как вопросы-ответы. Да, при усложнении можно между ними настраивать последовательности и взаимосвязи, распознавания и интеграции со внешними сервисами, но цель этой статьи — создать простого бота формата «вопрос-ответ».

Редактирование стандартных intent

Начнём редактирование с intent, который выдаёт информацию, если бот не понимает собеседника, — Default Fallback Intent. Для этого в левом меню нужно вернуться на пункт Intents и нажать на Default Fallback Intent.

В настройках этого блока нас интересует только раздел Responses. Удалите там лишнее, добавьте свои строчки. Система будет выдавать в случайном порядке один из ответов. Поэтому можно дополнить, оставить один вариант.

Default Fallback Intent по умолчанию
Default Fallback Intent по умолчанию

Я для тестовой модели убрал стандартные строки и добавил одну свою тактичную: «Я вас не понимаю, перефразируйте, пожалуйста».

Всё это сразу можно проверить в тестовой веб-версии, только не забывайте нажимать после изменения на кнопку Save.

Перейдём к редактированию intent Welcome. С ответами здесь логика такая же, поэтому этого вопроса здесь касаться не будем: мы описываем все варианты в Response, которые должен отправлять наш бот.

Но кроме Response у нас появляется блок Training phrases, который показывает, на какие слова должен реагировать этот intent. Я оставил в тестовом примере вопросы и ответы без изменения в Default Welcome Intent.

Default Welcome Intent
Default Welcome Intent

Создаём новый intent

И последний шаг в создании бота, который можно повторять до тех пор, пока не будет создано нужно количество intents с вопросами и ответами. Создаём новый intent. Для этого в разделе intents нажимаем Create intent.

Create Intent
Create Intent

Заполняем поля «Название» и Training phrases (Add training phrases).

Add training phrases
Add training phrases

А затем ответы — responses (Add responses).

Add responses
Add responses

Нажимаем Save и можем проверять работу в веб-версии. Там всё сразу же заработало.

Пример работы тестового бота
Пример работы тестового бота

Мы можем создать любое количество intent для решения нашей задачи.

Интеграции

Dialogflow даёт множество возможных интеграций. Запустить его в Telegram предельно просто, использовать его с Facebook чуть сложнее, потому что нужно будет пройти модерацию самой соцсети, и это занимает некоторое время.

Если это будет необходимо — напишите в комментариях, и я сделаю отдельную статью про то, как интегрироваться с сервисами, но в целом это не представляет сложностей, а на время тестирования можно использовать веб-версию, которая запускается в один клик.

Чат-боты — это несложно и часто бесплатно. Находите применения для них, тестируйте и внедряйте в свои процессы.

3636
11
38 комментариев

Было бы интересно почитать про интеграцию телеграмм и тамтам, да и вк тоже😉

5
Ответить

Тамтам и ВК в списке интеграций нет. Или как-то можно VK подключить?

Ответить

Ок, Кирилл. Я чуть позднее напишу продолжение, где опишу простые интеграции. Спасибо за обратную связь

Ответить

Я к своему тоже прикрутил, но очень лень обучать, можете пообщаться @manda_bot
Ещё умеет погоду по координатам показывать.

3
Ответить

Это фб или телега?

Ответить

Спасибо за пост, обязательно попробую сегодня. Небольшое уточнение, говоря Фейсбук вы имели ввиду мессенджер?

1
Ответить

Да, фейсбук мессенджер

1
Ответить