Сервисы Pavel Borevich
5 601

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

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

В закладки

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

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

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

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

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

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

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

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

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

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

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

Нажимаем Create agent.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Default Welcome Intent

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

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

Create Intent

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

Add training phrases

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

Add responses

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

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

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

Интеграции

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

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

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

#инструкции #чатботы

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Pavel Borevich", "author_type": "self", "tags": ["\u0447\u0430\u0442\u0431\u043e\u0442\u044b","\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438"], "comments": 25, "likes": 33, "favorites": 290, "is_advertisement": false, "subsite_label": "services", "id": 71166, "is_wide": false, "is_ugc": true, "date": "Tue, 11 Jun 2019 14:36:58 +0300" }
{ "id": 71166, "author_id": 238460, "diff_limit": 1000, "urls": {"diff":"\/comments\/71166\/get","add":"\/comments\/71166\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/71166"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 200396, "last_count_and_date": null }

25 комментариев 25 комм.

Популярные

По порядку

Написать комментарий...
5

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

Ответить
0

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

Ответить
0

Спасибо, что предложили своё решение. Нужно будет его попробовать для интеграции с ВК

Ответить
1

ок, будут вопросы — пишите в телеграм, постараюсь помочь.

Ответить
0

Павел, а можно как-то перехватить сообщения бота и ответить осмысленно, если бот не понимает?)

Ответить
0

Можно, на это предусмотрены отдельные события в dialogflow.
Перехватываете такое событие, настраиваете оповещение, что нужен ответ специалиста, отвечаете сами. Но это не простая интеграфия, как в этой статье

Ответить
0

Алексей, а как Вас найти в телеграмме?

Ответить
0

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

Ответить
2

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

Ответить
0

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

Ответить
0

Телега

Ответить
1

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

Ответить
1

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

Ответить
1

Помимо соц.сетей и телеги,куда еще можно прикрутить?
Просто на сайт можно?

Ответить
1

Можно куда угодно, dialogflow условно отвечает за понимание вопроса и выбор ответа из списка.

Ответить
1

Хороший пост :)

Ответить
1

Спасибо, интересно!

Ответить
1

Обязательно ли быть организацией, чтобы запустить проект? Как понял здесь: https://cloud.google.com/dialogflow/docs/setup - надо регистрироваться в клауд именно как бизнес пользователь

Ответить
0

Нет, для запуска вам ничего не нужно кроме аккаунта в Google

Ответить
1

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

Ответить
0

Да, у меня как-будто согласовано с Тиньковым получилось написать :-) Но это не так, причина этого поста — обсуждение в другом посте про примеры использования

Ответить
1

Ещё можете бесплатно создавать чат-боты на платформе intellectdialog.com, есть связки с Vk,Telegram, Viber, Facebook, WhatsApp через chat-api, instagram через i2crm, онлайн консультант. Есть нативная интеграция с AMO CRM и куча всего через Albato, можно выгружать Лиды в Comagic и Slack. Так же есть нативная интеграция бота WhatsApp с лид.формами в instagram, vk, Facebook. В конструкторе чат ботов можно прописывать внешние запросы, так что можно интегрировать с чем угодно.

Ответить
0

Есть ещё хороший сервис чат-ботов recast.ai

Ответить
0
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Команда калифорнийского проекта
оказалась нейронной сетью
Подписаться на push-уведомления
{ "page_type": "default" }