Как создать приложение чат бот
Суперпростой способ создать бота, не зная программирования.
Уровень: начинающий
Материал рассчитан на тех, кто в жизни не написал ни строчки кода. Если вы уже в курсе основ программирования, прочитайте лучше о чистых функциях.
Многие слышали про чат-ботов и роботов для общения: им пишешь, они отвечают, получается диалог с машиной. Чат-бот может рассказать анекдот, поискать за вас в интернете, забронировать столик в ресторане и что угодно ещё, чему его обучат создатели.
Иногда такое общение выглядит как общение с человеком. Может даже показаться, что там работает искусственный интеллект — и иногда так действительно бывает. Но часто всё проще: это алгоритм, который умеет распознавать некоторые ваши слова и давать ответы по заранее заготовленным шаблонам. Чем алгоритм более разветвлённый, тем естественнее и полезнее бот.
Давайте сделаем собственного чат-бота с очень простым алгоритмом. Позже вы сможете усложнить его, как захотите. Но сначала — самая база для тех, кто никогда не писал код.
Обычно, чтобы создать какую-то программу, нужно выполнить несколько действий: например, скачать программу-обработчик языка, завести проект, написать задуманную программу, скомпилировать. И только потом ей можно пользоваться. Но мы пойдём по более простому пути: напишем программу, работающую прямо в браузере, через который вы читаете эту статью. Сделать это можно лишь на компьютере, на телефоне придётся пользоваться ботом.
Мы будем решать задачу на языке JavaScript — это язык программирования, который встроен в ваш браузер и на котором написать код можно прямо сейчас, ничего не устанавливая.
Чтобы сделать что-то на JavaScript, нужно открыть консоль. Почти во всех современных браузерах это делается сочетанием клавиш Shift + Ctrl + J или Cmd + Alt + J. Справа или снизу появится дополнительное окно, в котором уже будет что-то происходить:
Если у вас не открылась консоль, зайдите в верхнее меню и поищите слово «Консоль». Обычно этот пункт прячется в разделе «Инструменты разработчика».
Когда вы открываете консоль, она сразу готова выполнять ваши команды. Если в неё вставить программу, написанную на JavaScript, и нажать Enter, ваш браузер её реализует. Если в коде есть ошибки, консоль сама подсветит их. Можно отправлять в неё программу кусками или даже построчно: браузер будет помнить всё, что происходило в вашей программе, пока вы не перезагрузите страницу.
Первая строка
В консоли можно не только писать код, но и выводить туда результаты. Давайте для начала сделаем самую простую программу, которая отобразит в консоли слово «Привет!». Для этого используем команду console.log('Привет!');
Вставим её в консоль и нажмём Enter:
Поздравляем, вы только что написали свою первую программу для компьютера! Она очень простая: компьютер всего лишь говорит «Привет!». Но оцените момент: это вы его научили так говорить. Попробуйте научить его и другим словам.
Вот мы и начали создавать своего чат-бота, который нас уже поприветствовал в консоли. Теперь сделаем так, чтобы мы тоже могли ему что-нибудь ответить. Для этого нам понадобятся переменные.
Переменные
Переменная — это ячейка в памяти компьютера, где можно что-то хранить и менять. Дело в том, что компьютеру для вычислений нужно сказать: «Вот тут данные у нас меняться не будут, а вот тут будут, выдели память». И система выделит достаточно памяти, чтобы хранить всё, что будет лежать внутри переменной. В последнюю можно записать новое значение, а можно узнать, что уже лежит внутри неё.Чтобы дать понять компьютеру, что у нас сейчас будет переменная, нужно сказать ему слово var, после которого вписать название переменной — так нам проще к ней обращаться. Например, следующая строка создаст переменную name и положит в неё слово «Код»:
Название тут может быть практически любым, главное, чтобы оно начиналось с буквы. По-русски переменные называть нельзя, только буквами латинского алфавита. Можно было бы использовать вариант imya или zovut, но программисты считают, что чем проще название переменной, тем лучше.
Теперь посмотрим содержимое элемента. Следующая команда выведет то, что сейчас записано в переменной name:
Можно посмотреть, какое сегодня число. Это внутренняя системная переменная. Строго говоря, это не совсем переменная, но для начала давайте считать так:
Но это мы всё смотрим во внутренности компьютера. А нам нужно спросить что-то у пользователя. Чтобы мы могли ввести новые данные в нашу программу, используем команду prompt()
Вставьте в консоль команду var name = prompt('Как вас зовут?'); и посмотрите, что произойдёт. Компьютер выведет окно и будет ждать, пока вы внесёте туда своё имя. Интерфейс выглядит красиво: давайте в диалоге общаться с компьютером не через консоль, а через такие появляющиеся окошки. Для этого напишем новые команды:
Пусть компьютер проявит вежливость и скажет, что ему приятно с нами познакомиться. Чтобы он смог обратиться к нам по имени, используем переменную name — в ней как раз хранится то, что мы ответили компьютеру:
Чтобы вывести осмысленную фразу, мы взяли начало 'Привет, ', затем с помощью плюсика соединили со значением переменной name , которая хранит наше имя, а потом ещё одним плюсиком добавили к фразе концовку. Чтобы компьютер знал, что мы хотим вывести на экран текст, а не числа, используются кавычки. Компьютер воспринимает как текст то, что внутри кавычек. И выводит точно в том виде, в котором написано.
Расчёт дня рождения
Давайте соединим все наши команды в одну программу и допишем несколько новых фраз:
Обратите внимание: у нас появился новый вопрос и новая переменная hobby, в которой хранится информация об увлечении. А ещё — комментарии, которых можно добавлять сколько угодно. JavaScript не обращает внимания на то, что написано после двух косых черт:
Теперь у вас есть всё, что нужно, чтобы написать свою версию чат-бота для общения. Если продолжите решать наши задачки, то сможете научить компьютер по-разному реагировать на ваши ответы и даже вести осмысленный диалог.
Что ещё посмотреть
Вот кое-что, что может вам пригодиться при создании первого чат-бота.
performance.now() — эта команда возвращает время в миллисекундах с момента открытия текущей страницы. Можно поделить на 1 000, и вы узнаете, сколько секунд вы сидите на какой-то странице. Если поделить на 60 000 — сколько минут.
setTimeout() — позволяет выполнить любой код через определённое время. Например, вы можете задать вопрос и предоставить ровно минуту на размышление, после чего появится окно для ответа.
setInterval() — то же самое, что и предыдущее, но выполнение кода повторяется с равномерным интервалом, например раз в 5 минут. Если вы хотите научить чат-бота, чтобы он раз в час напоминал попить воды, эта команда — то, что нужно.
Как пользоваться этими штуками, мы расскажем в одной из будущих статей, но вы всегда можете самостоятельно поискать в интернете, как они работают. Пользуясь этими тремя возможностями JavaScript, получится создать неплохого бота, который будет следить за вашей продуктивностью и интервалами работы. Подписывайтесь на «Код», чтобы не пропустить новые разборы.
В условиях современного рынка существует множество трендов и тенденций. Некоторые из них молниеносно появляются и также быстро исчезают, а некоторые задерживаются и укореняются на более долгое время.
Одним из таких трендов являются чат-боты. Но так как тема эта довольно сложная, сегодняшняя ситуация примерно похожа на ситуацию с SMM продвижением — все хотят, но не понимают зачем, как и сколько это должно стоить.
В этой статье мы расскажем что такое чат-боты, зачем они нужны, как создать чат-бота без навыков программирования и покажем как можно применить бота в маркетинге.
Разработка чат-бота производиться с участием программиста и без него. Первый вариант — самый простой, о котором мы поговорим в этой статье реализуется при помощи специальных программ — конструкторов. Они бывают платные и бесплатные, все зависит от необходимого вам функционала. Второй вариант сложнее, дороже, но стоит отметить что чат-бот, написанный программистом, всегда «умнее», чем созданный через конструктор.
Сегодня вы можете найти 1 ООО ООО советов о том, как написать чат-бота, в какой программе это лучше сделать, как найти подходящий сервис, но мало кто пишет о том, какие цели стоит ставить перед чат-ботом. А зря, от этого ведь зависит рациональность инвестирования времени и средств в разработку, а также результат маркетинговых активностей.
- Автоматизация работы службы поддержки.
- Разгрузка колл-центра и ответственных менеджеров.
- Построение воронки продаж.
- Привлечение и получение лидов.
Все понимают, что бот — это программа. Чтобы создать программу, нужен программист. Чтобы привлечь программиста, нужны средства. Но что делать, если чат-бот необходим, а денег на программиста просто нет.
Мы знаем как вам помочь. В этой части статьи мы расскажем как создать чат-бота бесплатно.
Зачастую, этих возможностей хватает с головой, чтобы закрыть потребности малого и среднего бизнеса.
Для того, чтобы внести еще большую ясность, мы составили таблицу, в которой наглядно показали плюсы и минусы создания чат-ботов с привлечением программистов и без них.
Таблица — Преимущества и недостатки создания чат-бота через конструктор ботов и при помощи программиста.
Если у вас есть время и средства — подключайте программиста.
Если времени и средств особо нет, читайте нашу статью и подключайте чат-бота самостоятельно.
Отвечаем на главный вопрос, который интересует большинство из зашедших на эту страницу пользователей: как создать чат-бота, если не умеешь программировать и при виде кода впадаешь в панику?
Как вы уже поняли, нужен конструктор ботов. Но, если вы введете в Google запрос «какой конструктор ботов выбрать» — в ответ получите 1К ссылок, с самыми разнообразными по функционалу и возможностям конструкторами.
Мы немножко познакомим вас с темой и подскажем как получить то, что нужно именно вам.
- Facebook messenger
- Telegram
- Viber
Начнем по порядку.
Это, пожалуй, самая популярная тема, волнующая большую половину пользователей. Для начала, давайте проведем оценку рынка.
Мы тестировали несколько сервисов для создания чат-ботов и можем с уверенностью отдать предпочтение платформе ManyChat.
- Простой и интуитивно понятный интерфейс, несмотря на то, что он англоязычный.
- Широкие возможности аналитики внутри самого сервиса.
- Возможность добавлять виджеты на сайт.
- Совместимость с Facebook.
- Широкий функционал в бесплатной версии.
- Адекватная стоимость платной подписки.
- Наличие подробной справки и обучающего видео и текстового материала.
- Заходим на сайт сервиса и кликаем Get Started Free.
- Попадаем на окно авторизации через Facebook.
- Кликаем Sign In With Facebook.
- Устанавливаем галочку на пункте I agree to Many Chat’s Terms of Service and Private Policy.
- Кликаем Sign In With Facebook.
- Вводим логин и пароль от вашего аккаунта в Facebook (если вход не произошел автоматически).
- На следующем экране выбираем какие именно страницы вы хотите подключить к Many Chats
- Далее, загрузится основной экран с синим осьминогом, на котором ваш необходимо согласиться или отказаться от получения рассылки от сервиса и нажать кнопку Get Started.
- После этого, попадаем в дашборд. Это такой себе командный пункт из которого вы будете управлять своим чат-ботом.
Для начала поздороваемся.
Шаг 3. Ответ на непонятный вопрос
Этот ответ отправляется ботом автоматически, если он не понимает что нужно ответить на заданный вопрос.
Шаг 4. Ключевые слова
Можете попробовать самостоятельно: Бот Mnews — это ссылка на нашего бота.
- ключевое слово: красный — действие бота: стоп
- ключевое слово: желтый — действие бота: приготовься
- ключевое слово: зеленый — действие бота: начинай движение
Шаг 5. Статистическое меню в Messenger
Это то меню, которое видит пользователь при входе в диалог с вами в Messenger. Вот, как оно выглядит:
Это меню — важный момент, которому стоит уделить внимание. Сюда нужно вынести кратко главную информацию, которую вы хотите сообщить пользователю и добавить призывов к действию.
- адрес вашего сайта
- СТА для совершения действия, например, личной консультации
- Заходим в дашборд, пункт Automation
- Переходим в пункт Main Menu
Лайфхак: да, у вас есть всего лишь 2 пункта в бесплатной версии, но в каждом из этих пунктов, можно сделать несколько подпунктов. Таким образом, количество информации, которую вы можете показать пользователю увеличивается.
- зайдите в дашборд
- в левом меню найдите пункт Broadcasting и кликните по нему
- в выпадающем меню кликните по пункту Broadcasts
Настройка стала +/- ясно/понятно. Но вот главный вопрос — где взять подписчиков для бота? Для этого ManyChats располагает отличным инструментом, который называется Growth Tools.
- заходим в дашборд
- в левом меню находим пункт Growth Tools и кликаем на него
- далее, в правом верхнем углу жмем кнопку New Growth Tools и попадаем в меню редактирования нового инструмента роста
инструмент Bar
инструмент Modal
инструмент Slide-In
инструмент Page Take Over
инструмент Button
инструмент Box
Они все выполняют важную функцию — вызывают пользователя на диалог и перенаправляют его в Messenger. Различаются только дизайном.
Первым делом, разберемся с вкладкой Initial State.
- отображение описания
- вид кнопки
- цвета попапа
- размер попапа
- дополнить попап изображением
- прописать нужный текст
Переходим на вкладку Submitted State.
Переходим на вкладку Opt-In Actions.
Здесь игра в дизайнера и копирайтера заканчивается и стартует настоящий хардкор.
Если вы еще не создавали никаких последовательностей, а скорее всего так и есть, самое время это сделать.
На всякий случай укажем, что если все-таки у вас есть подходящая последовательность, то ее можно подтянуть к подтверждению подписки на бота вот так:
- кликаем в поле Add Subscriber to Sequence
- в выпадающем списке выбираем необходимую последовательность
- кликаем кнопку Next
Теперь, разберем тот случай, когда подходящей последовательности нет.
Что делать? Создать новый поток (Flow). Это довольно просто. При создании любого виджета, сервис автоматически создает поток, который называет именем виджета, чтобы вы не путались.
Чтобы отредактировать созданный шаблон Flow, кликаем кнопку Edit рядом с названием:
После того, как вы вдоволь наиграетесь с инструментарием и настроите свой лучший flow, переходите к следующему шагу.
Кликаем на вкладку Setup
- Кликаем на кнопку Install JavaScript Snippet
- На вкладке Authorize Website вписываем адрес своего сайта и жмем кнопочку Add, затем Next
- На вкладке Install ManyChat Snippet копируем код и вставляем его на ваш сайт перед закрывающим тегом
- Возвращаемся в пункт редактирования и включаем виджет.
- Идем на сайт тестировать все.
Боты facebook messenger — отличный инструмент для построения эффективной воронки продаж и коммуницирования с аудиторией.
Перейдем к не менее интересному вопросу — чат бот телеграмм.
Чат бот telegram интересный и эффективный инструмент.Инструкция: Как сделать чат-бота Telegram без кодинга
- Устанавливаем приложение Telegram. Ссылка на скачивание: ссылка
- Регистрируемся в приложении
Для легкого и быстрого создания бота, мы будем использовать сервис Manybot.
- Переходим по ссылке: ссылка
- Кликаем кнопку «Создать бота»:
- если вы работаете с десктопа, откроется окно переадресации в приложение Telegram, в котором нужно нажать «Открыть».
- открываем Telegram и кликаем кнопку «Добавить нового бота» в меню Manybot:
- следуя инструкции, переходим к @BotFather. Это «царь-бот» в Telegram. Любого нового бота, можно создать только обратившись к нему. Что мы собственно говоря и сделаем. Переходим к @BotFather:
- Сообщаем @BotFather о том, что хотим создать нового бота командой /newbot:
- Дальше, @BotFather спросит как вы хотите назвать своего бота. Мы назовем его TestBot.
- Теперь, даем боту юзернейм, по которому вы сможете найти бота в поиске:
- Бот создан. Теперь нужно скопировать токен для дальнейших действий:
- Возвращаемся в ManyBot и отправляем боту скопированный токен и жмем кнопку «Я скопировал токен»:
Дальнейшие действия зависят от задач, которые перед вами стоят. Если вам достаточно бота, ОК, берите ссылку и размещайте в местах, где ее смогут увидеть ваши потенциальные подписчики.
Если вы ведете канал в Telegram и хотите наладить постинг и добавить дополнительные возможности к своим постам, сделайте следующее.
- зайдите в канал
- найдите пункт управления каналом (три вертикальные точки справа вверху)
- кликните по ним и в выпадающем меню выберите: управление каналом — администраторы — добавить администратора:
- Далее, в поиске найдите вашего бота по юзернейму, который мы присваивали ранее и назначьте его админом:
- Находим в Telegram специального бота, который называется @Controllerbot
- Далее, подключаем бота. Для этого копируем токен, полученный ранее в @Controllerbot:
- Создаем пост. Для этого, кликните на кнопку «Создать новый пост». Вас автоматически переадресует в ваш созданный бот:
- Отправляем непосредственно то, что хотим опубликовать:
- Выбираем, что нужно добавить к посту (мы выбрали реакции):
- Кликаем кнопку «Далее» и выбираем необходимое действие:
Мы выбрали «Опубликовать». Вот, что получилось:
Для того, чтобы сделать опрос в Телеграм, находим бота @vote:
- выбираем опрос какого типа мы хотим создать: публичный или анонимный. Мы выбрали Public:
По окончанию, отправляем боту сигнал о завершении настроек в виде команды /done
Компания Just Apple производит и продает оборудование для сладкого фастфуда. Клиенты компании часто задают однотипные вопросы, и сотрудники тратят много времени на ответы. Чтобы сократить временные издержки, компания запустила чат-бота. Теперь основную информацию о работе компании и характеристиках оборудования клиенты получают от робота. На примере компании Just Apple расскажу, как использовать бота в бизнесе, и как я без опыта в программировании за два часа запустила бота в Telegram.
Что такое чат-бот
Чат-боты — это виртуальные программы-помощники, которые берут на себя рутинные операции в бизнесе: отвечают на вопросы, формируют заказы, рассылают уведомления. Иногда пользователь не сразу понимает, кто отвечает на вопросы: реальный человек или бот — настолько детально продумано его поведение.
По данным исследования агентства Accenture, 60% респондентов уже используют чат-боты в своей работе, 7% — планируют внедрить их. Оставшиеся 33% — не знают о возможностях этой технологии или не применяют ее.
Чат-бота для бизнеса можно внедрить на разных площадках:
- в социальных сетях ВКонтакте, Одноклассники, Facebook, Twitter, Instagram;
- в мессенджерах Telegram, WhatsApp, Skype, Viber;
- на сайте компании.
Если робот не может ответить на вопрос клиента, он предлагает оставить номер телефона и отправляет уведомление сотруднику компании. При первой возможности сотрудник связывается с клиентом и отвечает на его вопросы.
Существуют чат-боты для бизнеса, которые собирают с клиентов первичную информацию. Например, чат-бот туристической фирмы узнает у клиента направление, дату заезда и выезда, количество человек, возраст и предпочтения. Анализирует полученные ответы и предлагает путевку с учетом требований. Более продвинутые программы способны самообучаться, например, голосовой помощник «Алиса» от Яндекс — она не только отвечает на заданные вопросы, но и может поддержать беседу.
За два года работы чат-бота на рассылку подписалось 1500 пользователей — для нашей узкоспециализированной компании это неплохой показатель. Сейчас планируем запустить аналогичных ботов в Telegram и WhatsApp».
Василенко Антон Андреевич, основатель компании Just Apple
Для чего нужны чат-боты
Автоматизация общения с клиентами. Робот работает в режиме нон-стоп и круглые сутки может отвечать на вопросы клиентов. Если у бота нет ответа на вопрос, а оператор не на связи — робот собирает контакты потенциальных покупателей через форму обратной связи.
Можно настроить другие опции, например, во ВКонтакте через чат-бота можно принимать платежи. Если банковская карта пользователя привязана к платежной системе VK Pay, пользователь оплачивает заказ прямо во ВКонтакте без перехода на сторонние ресурсы. Это повышает безопасность платежа, а, значит, и лояльность клиентов.
Сколько стоит создание чат-бота
Услуги разработчика. Созданием и запуском чат-ботов занимаются разработчики. Они разрабатывают логику бота с учетом поставленных задач и создают виртуального помощника. Стоимость их услуг зависит от сложности поставленных задач. Например, создание сложной многоуровневой программы, ее интеграция с платежной системой и CRM стоит от 100 000 ₽.
Но если нужен простой бот для бизнес-сообщества — цена разработчика будет в несколько раз дешевле.
Стоимость услуг фрилансера на разработку и создание простых чат-ботов. В стоимость разработки входит визуальное проектирование бота, в создание — его настройка и запуск Стоимость услуг фрилансера на разработку и создание простых чат-ботов. В стоимость разработки входит визуальное проектирование бота, в создание — его настройка и запускТарифы онлайн-конструктора. Существует множество конструкторов чат-ботов для бизнеса, например, Robochat , BotHelp , Botmother , SendPulse . С помощью конструктора можно самостоятельно запустить робота. Большинство сервисов платные, но у каждого конструктора есть бесплатная демоверсия с ограниченным набором функций. Например, можно бесплатно создать до трех чат-ботов на 1000 подписчиков, используя самые простые шаблоны.
Тарифы конструктора SendPulse на создание и поддержку чат-ботов Тарифы конструктора SendPulse на создание и поддержку чат-ботовКак я бесплатно создала чат-бота в Telegram
«Бота ВКонтакте я сделал самостоятельно: прошел бесплатное обучение, посмотрел информацию в интернете и обучающие видео. Одновременно работал над ботом. В общей сложности на создание потратил около недели.
Но прежде чем заниматься программированием, мы прописали шаги клиента, продумали автоответы на частые вопросы».
Василенко Антон Андреевич, основатель компании Just Apple
Я решила убедиться, что бота для бизнеса можно запустить без навыков программирования, эксперимент проводила в Telegram.
Составила перечень типовых вопросов. Представила, что у меня маркетинговое агентство. Так как фирма гипотетическая, самым сложным оказалось продумать путь клиента: какие вопросы он может задавать, как перемещается от заинтересованности к заказу.
Чтобы составить список вопросов, поставила себя на место клиента. Подумала, о чем бы я спросила менеджера перед заказом, и накидала 10 вопросов. В реальности вопросов, конечно, больше, но для эксперимента — достаточно.
Однако задача бота не просто отвечать на вопросы клиента, а вести его по воронке продаж. Без реального бизнеса невозможно правильно построить путь клиента — необходимо знать, как именно он принимает решение о покупке, кто может оказывать на него влияние, какое количество касаний необходимо, какие рекламные каналы задействованы. Предпринимателю это важно, но для эксперимента я решила этим пренебречь и создать робота с минимальным набором функций. Считаю, если разобраться с основными принципами создания бота, то позже можно добавить функции и усложнить меню.
Создала бота с помощью @Manybot. В Telegram есть бесплатный робот, который помогает запускать чат-ботов. Чтобы его найти, в поисковой строке мессенджера набрала @Manybot. В открывшемся окне нажала кнопку «Запустить», выбрала язык и активировала команду «Добавить нового бота».
Чтобы запустить собственного бота, нужно следовать командам @Manybot Чтобы запустить собственного бота, нужно следовать командам @ManybotКак только активировала команду «Добавить нового бота», получила пошаговую инструкцию — что делать дальше. Инструкция состоит из четырех шагов:
Я отправила скопированный API токен, и @Manybot создал канал с моим чат-ботом и прислал ссылку на него Я отправила скопированный API токен, и @Manybot создал канал с моим чат-ботом и прислал ссылку на негоВажно: уникальный API токен нельзя никому сообщать — с его помощью злоумышленники могут получить доступ к управлению вашим ботом.
Как настроила чат-бота для работы
За 5 минут я создала собственный чат-бот для бизнеса, теперь нужно его настроить.
Посмотрела инструкции. Для настройки можно воспользоваться инструкциями @Manybot — чтобы их получить, нужно активировать команду «Инструкции». Они помогают:
- настроить аватарку и описание бота;
- настроить внешний вид меню;
- подключить автопостинг;
- сделать бота без главного меню;
- сделать выпадающий список команд;
- создать форму обратной связи;
- создать форму для пользовательского контента;
- принимать заказы.
Поменяла аватарку и описание бота. После изучения инструкций я зашла в созданный чат-бот и запустила его. Чтобы поменять аватарку или задать описание, нужно использовать помощника @BotFather. Например, если хотите поменять аватарку, отправьте помощнику команду /setuserpic. Помощник предложит выбрать бота, аватарку которого вы хотите изменить. У меня только один бот, поэтому в списке был только он. Затем помощник просит прислать новое фото для профиля и сообщает, что команда выполнена.
Настроила меню. Чтобы робот начал нормально работать, нужно настроить пользовательское меню. Для этого использовала команду /commandes и выбрала функцию «Настроить меню». Для простого чат-бота всплывающих подсказок достаточно, но если хотите создать сложное меню или расположить команды, например, в два столбика — можно дополнительно посмотреть видеоуроки на YouTube — ссылка на уроки доступна в инструкции.
Если переходить на уроки по ссылкам, вы сразу попадете на эпизод, посвященный конкретной настройке. Например, мне нужно было настроить внешний вид команд. По инструкции я этого сделать не смогла и перешла по ссылке на видеоурок. Его продолжительность 11 минут, но я сразу попала на седьмую минуту, где инструктор объясняет, как настроить внешний вид меню. После просмотра стало понятно, что делать.
Для настройки меню нужно выбрать команду «Настроить главное меню» Для настройки меню нужно выбрать команду «Настроить главное меню»Задала команды для пользователей. Для своего чат-бота я создала простое меню из четырех команд:
- команда /comp — если пользователь хочет узнать информацию об агентстве;
- команда /pricelist — если пользователь хочет посмотреть цены на маркетинговые услуги;
- команда /contacts — если пользователь хочет получить контакты агентства;
- команда /grafik — если пользователь хочет уточнить режим работы.
Переместила созданные команды в главное меню чат-бота. У меня получился перечень команд, которые выполняет робот, но они не связаны с пользовательским меню.
Чтобы меню заработало, нужно переместить команды в меню бота. Для этого нужно нажать кнопки «Пользовательские команды» — «Настроить главное меню» — «Добавить пункт меню» и выбрать созданную команду.
Аналитики Gartner утверждают, что к 2020 году 85% взаимодействий клиентов с сервисами сведется к общению с чат-ботами. В 2018 году они уже обрабатывают около 30% операций. В этой статье мы расскажем, как создать своего чат-бота на Python.
Возможно, вы слышали о Duolingo: популярном приложении для изучения иностранных языков, в котором обучение проходит в форме игры. Duolingo популярен благодаря инновационному стилю обучения. Концепция проста: от пяти до десяти минут интерактивного обучения в день достаточно, чтобы выучить язык.
Н есмотря на то что Duolingo позволяет изучить новый язык, у пользователей сервиса возникла проблема. Они почувствовали, что не развивают разговорные навыки, так как обучаются самостоятельно. Пользователи неохотно обучались в парах из-за смущения. Эта проблема не осталась незамеченной для разработчиков.
Команда сервиса решила проблему, создав чат-бота в приложении, чтобы помочь пользователям получать разговорные навыки и применять их на практике.
Итак, что такое чат-бот?
- предоставление информации о рейсе;
- предоставление пользователям доступа к информации об их финансах;
- служба поддержки.
История чат-ботов восходит к 1966 году, когда Джозеф Вейценбаум разработал компьютерную программу ELIZA. Программа подражает манере речи психотерапевта и состоит лишь из 200 строк кода. Пообщаться с Элизой можно до сих пор на сайте.
Как работает чат-бот?
Существует два типа ботов: работающие по правилам и самообучающиеся.
- Бот первого типа отвечает на вопросы, основываясь на некоторых правилах, которым он обучен. Правила могут быть как простыми, так и очень сложными. Боты могут обрабатывать простые запросы, но не справлятся со сложными.
- Самообучающиеся боты создаются с использованием основанных на машинном обучении методов и определенно более эффективны, чем боты первого типа. Самообучающиеся боты бывают двух типов: поисковые и генеративные.
Генеративные боты могут самостоятельно создавать ответы и не всегда отвечают одним из предопределенных вариантов. Это делает их интеллектуальными, так как такие боты изучают каждое слово в запросе и генерируют ответ.
В этой статье мы научимся писать код простых поисковых чат-ботов на основе библиотеки NLTK.
Создание бота на Python
Предполагается, что вы умеете пользоваться библиотеками scikit и NLTK. Однако, если вы новичок в обработке естественного языка (NLP), вы все равно можете прочитать статью, а затем изучить соответствующую литературу.
Обработка естественного языка (NLP)
Краткое введение в NLKT
Загрузка и установка NLTK
- Установите NLTK: запустите pip install nltk.
- Тестовая установка: запустите python, затем введите import nltk.
Инструкции для конкретных платформ смотрите здесь.
Установка пакетов NLTK
Импортируйте NLTK и запустите nltk.download(). Это откроет загрузчик NLTK, где вы сможете выбрать версию кода и модели для загрузки. Вы также можете загрузить все пакеты сразу.
Предварительная обработка текста с помощью NLTK
Основная проблема с данными заключается в том, что они представлены в текстовом формате. Для решения задач алгоритмами машинного обучения требуется некий вектор свойств. Поэтому прежде чем начать создавать проект по NLP, нужно предварительно обработать его. Предварительная обработка текста включает в себя:
Пакет NLTK включает в себя предварительно обученный токенизатор Punkt для английского языка.
Набор слов
- словаря известных слов;
- частот, с которыми каждое слово встречается в тексте.
Например, если словарь содержит слова и мы хотим составить вектор предложения “Learning is great”, получится вектор (1, 1, 0, 0, 1).
Метод TF-IDF
Пример
Теперь предположим, что у нас 10 миллионов документов, и слово телефон появляется в тысяче из них. Коэффициент вычисляется как 1+log(10 000 000/1000) = 4. Таким образом, TD-IDF равен 0,05 * 4 = 0,20.
TF-IDF может быть реализован в scikit так:
Коэффициент Отиаи
Подробное объяснение и практический пример TF-IDF и коэффициента Отиаи приведены в посте по ссылке.
Пришло время перейти к решению нашей задачи, то есть созданию чат-бота. Назовем его «ROBO».
Обучение чат-бота
В нашем примере мы будем использовать страницу Википедии в качестве текста. Скопируйте содержимое страницы и поместите его в текстовый файл под названием «chatbot.txt». Можете сразу использовать другой текст.
Импорт необходимых библиотек
Чтение данных
Выполним чтение файла corpus.txt и преобразуем весь текст в список предложений и список слов для дальнейшей предварительной обработки.
Давайте рассмотрим пример файлов sent_tokens и word_tokens
Предварительная обработка исходного текста
Теперь определим функцию LemTokens, которая примет в качестве входных параметров токены и выдаст нормированные токены.
Подбор ключевых слов
Определим реплику-приветствие бота. Если пользователь приветствует бота, бот поздоровается в ответ. В ELIZA используется простое сопоставление ключевых слов для приветствий. Будем использовать ту же идею.
Генерация ответа
Чтобы сгенерировать ответ нашего бота для ввода вопросов, будет использоваться концепция схожести текстов. Поэтому мы начинаем с импорта необходимых модулей.
- Импортируйте векторизатор TFidf из библиотеки, чтобы преобразовать набор необработанных текстов в матрицу свойств TF-IDF.
- Кроме того, импортируйте модуль коэффициента Отиаи из библиотеки scikit
Этот модуль будет использоваться для поиска в запросе пользователя ключевых слов. Это самый простой способ создать чат-бота.
Наконец, мы задаем реплики бота в начале и конце переписки, в зависимости от реплик пользователя.
Вот и все. Мы написали код нашего первого бота в NLTK. Здесь вы можете найти весь код вместе с текстом. Теперь давайте посмотрим, как он взаимодействует с людьми:
Получилось не так уж плохо. Даже если чат-бот не смог дать удовлетворительного ответа на некоторые вопросы, он хорошо справился с другими.
Заключение
Хотя наш примитивный бот едва ли обладает когнитивными навыками, это был неплохой способ разобраться с NLP и узнать о работе чат-ботов. «ROBO», по крайней мере, отвечает на запросы пользователя. Он, конечно, не обманет ваших друзей, и для коммерческой системы вы захотите рассмотреть одну из существующих бот-платформ или фреймворки, но этот пример поможет вам продумать архитектуру бота.
По результатам исследования Google, 65% клиентов предпочитают не звонить, а писать компаниям, чтобы уточнить детали или сделать заказ. Кроме того, людям удобно пользоваться чат-ботами, потому что с ними можно не стесняться и узнать ответы на вопросы, которые живому консультанту задать было бы неловко. К такому выводу пришла команда Kia после 6 месяцев работы их онлайн-помощника.
Готовы перенимать опыт крупных компаний и создать свой первый чат-бот? Тогда вооружайтесь терпением, идеями, временем и внимательно читайте инструкции Дарины Даниленко, СЕО Why.Agency — агентства, которое помогает бизнесам строить коммуникацию через чат-боты.
В конце мы поделимся ссылкой на простой демобот, сделанный по этому гайду.
С чего начать создание чат-бота?
Дарина:
«Боты состоят из заранее продуманных сценариев. Кроме обычных сервисных ботов, которые могут сообщать, что ваша еда уже в пути, можно создавать целую вселенную, общаться с клиентами, лучше узнавать их запросы — и использовать это в дальнейшей коммуникации.
Чтобы сделать чат-бота в большинстве популярных мессенджеров, не обязательно быть программистом — понимания бизнес-процессов будет достаточно.
Я всегда советую начать с создания смысла: определите, чем ваш бот будет полезен клиентам и бизнесу. Какие задачи вы ставите перед этой сущностью? И только потом прописывайте логику бота, работайте над его сценарием и реализацией.
В статье идет речь о медийных ботах, но эта инструкция применима к любому помощнику в мессенджерах».
Вспомогательные сервисы
Сегодня мы попробуем создать чат-бот на pipe.bot, который позволяет оформлять карты в майндмэпах от coggle.it.
Обе площадки доступны в платной и бесплатной версии. Объема функций free trial достаточно для того, чтобы сделать двух простых ботов.
Разберем весь процесс поэтапно на примере создания помощника в Telegram.
Подготовка
Регистрируемся на упомянутых выше сервисах. Дальше:
Чтобы объединить карты из Coggle и Pipe, зайдите в Pipe и выберите нужную папку с картами. После этого нажмите Connect.
Главные знания и формулы
Вот базовые команды, с которыми вы будете работать:
Метки @start и @end — с них начинается и ими заканчивается каждый сценарий. @start — это сигнал для бота о том, что взаимодействие началось, @end используем для завершения конкретного сценария или всего диалога.
В рамках одного бота могут существовать несколько сценариев или активностей.
//Ответ — это кнопка в боте, которая будет выступать в качестве реплики вашего клиента. Перед ней должны стоять две черточки.
@link — метка. С ее помощью можно определять, на каком этапе взаимодействия пользователь «отпал», путешествовать по боту и переключать разные ветки сценария.
Анна Римська,
Head of Talent Management, Adidas
Ольга Тарасевич,
HR-директор в Work.ua
%colour — переменная. Это определенное качество, по которому мы можем оценить пользователя, добавить его в базу. Например, если у вас бот зоомагазина, то с помощью этой метки можно разбить пользователей на владельцев собак, кошек и хомячков.
%colour=red — значение переменной. То есть какое это явление. %Colour=red — читать как «его цвет — красный».
%%name — открытый ответ. При стандартном взаимодействии пользователь может только нажимать на кнопки, отвечая по заданному вами сценарию. Если же нужно получить какую-то личную информацию — например, имя или адрес доставки, — нужно создать для пользователя возможность вводить текст. С этой командой значение переменной введет сам пользователь.
@mapНазвание карты — это команда для вызова другой карты. Важно! Чтобы все работало, название карты нужно указывать точно так, как вы ее назвали — проще всего скопировать и вставить этот текст.
Создаем первую карту
Зайдите на Coggle, создайте свою первую папку и назовите ее. В названиях лучше использовать смайлики — когда папок и карт станет много, это поможет различать их между собой и удобно переключаться между ними.
Теперь создайте свою первую карту.
Вы видите первый прямоугольный блок — здесь внутри нужно ввести название карты. Оно может быть написано на любом языке — главное, чтобы вы сами понимали, о чем речь. Это техническая информация, которую пользователи видеть не будут.
Перед названием также советуем использовать эмодзи. Они помогают не потеряться в дальнейшем.
Лайфхак: есть типы карт, для которых лучше использовать универсальные эмодзи:
Этап 1: Начало сценария
Начните свою карту с метки @start — это позволит вам возвращать пользователей в начало карты и корректно переводить из одной карты в другую.
Простейший сценарий онбординга будет выглядеть так:
В этом сценарии бот представляется человеку, спрашивает его имя и узнает о желании обучаться. Всех, кто прошел этот этап, бот отмечает отдельной функцией — %onboarding=true.
Метки и переходы
Между ветвями сценария могут быть метки. Они добавляются с помощью команды @link, называть их можно как угодно, но одним словом. Желательно, чтобы название соответствовало контексту метки — зачем вы ставите ее именно здесь и что хотите отследить на этом этапе.
Чтобы перебросить человека в вашу метку:
Открытые вопросы
В боте вы можете не только использовать кнопки, но и задавать открытые вопросы. Например, узнать, как зовут человека, какое у него мнение по определенному вопросу, или получить от него личную информацию — возраст, рост, должность, семейное положение — то, что необходимо вашему бизнесу.
Чтобы человек мог ввести ответ — используйте команду %% . Например, %%name, %%position, %%strangeAnimal.
Переменная такого человека будет записываться следующим образом: %name=Роман.
Расставляйте переменные между ветвями сценария, чтобы понять, как далеко человек прошел по сюжету. Например, %onboarding=true — это значит, что пользователь закончил обучающую часть или знакомство с ботом.
С помощью таких меток вы сможете отследить, какие темы человек просмотрел, а где — застрял.
Лайфхак: как правильно организовать структуру бота
Если вы попытаетесь изложить обширную тему в одном сценарии, то карта станет слишком большой, а в метках и переходах можно будет потеряться.
Чтобы этого не происходило, нужно использовать прием «Карта в картах» и дробить каждый отдельный этап общения на одну карту. После того как вы создали все карты, соединяем их в одну, основную.
Чтобы перебросить человека из одной карты на другую — введите команду @mapНазвание карты.
Проверьте, чтобы в команде не было лишних пробелов или дополнительных знаков, иначе она не будет читаться.
Легче всего потренироваться с «картами в картах» в меню. Вот как выглядит типичное меню любого бота.
С помощью карт в картах вы можете создать общую логику бота.
Вот так выглядит наиболее простой вариант. Здесь написано: если человек прошел онбординг — перебросьте его в меню, если не прошел — переведите в онбординг.
Читайте также: