Делаем своего первого чат-бота
Уровень: начинающий
Материал рассчитан на тех, кто в жизни не написал ни строчки кода. Если вы уже в курсе основ программирования, прочитайте лучше о чистых функциях.
Многие слышали про чат-ботов и роботов для общения: им пишешь, они отвечают, получается диалог с машиной. Чат-бот может рассказать анекдот, поискать за вас в интернете, забронировать столик в ресторане и что угодно ещё, чему его обучат создатели.
Иногда такое общение выглядит как общение с человеком. Может даже показаться, что там работает искусственный интеллект — и иногда так действительно бывает. Но часто всё проще: это алгоритм, который умеет распознавать некоторые ваши слова и давать ответы по заранее заготовленным шаблонам. Чем алгоритм более разветвлённый, тем естественнее и полезнее бот.
Давайте сделаем собственного чат-бота с очень простым алгоритмом. Позже вы сможете усложнить его, как захотите. Но сначала — самая база для тех, кто никогда не писал код.
Обычно, чтобы создать какую-то программу, нужно выполнить несколько действий: например, скачать программу-обработчик языка, завести проект, написать задуманную программу, скомпилировать. И только потом ей можно пользоваться. Но мы пойдём по более простому пути: напишем программу, работающую прямо в браузере, через который вы читаете эту статью. Сделать это можно лишь на компьютере, на телефоне придётся пользоваться ботом.
Мы будем решать задачу на языке 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, получится создать неплохого бота, который будет следить за вашей продуктивностью и интервалами работы. Подписывайтесь на «Код», чтобы не пропустить новые разборы.
Источник статьи: http://thecode.media/chat-bot/
Как написать чат-бота для vk.com за 3 минуты
К сожалению, на данный момент нет хороших библиотек на Python2, для того, чтобы быстро создать чат-бота. Ниже я покажу, как легко можно написать примитивного чат бота для VK, используя API VK.
Статья написана для новичков, чтобы показать, что ничего сложного в написании ботов на Python нет.
Авторизация
Нам понадобится библиотека vk_api. Авторизоваться в вк можно двумя способами:
— Как пользователь
— Как сообщество
В первом случае надо будет ввести логин и пароль. Во втором случае в группе надо включить «Сообщения сообщества» и создать ключ доступа к API:
Авторизация в две строчки:
Отправка сообщений
Теперь напишем короткую функцию, которая отправляет сообщение выбранному человеку.
P.S. Сообщество может отправлять сообщения только ранее писавшим пользователям.
В vk.method мы можем вызывать любой метод из VK API и передавать параметры в виде словаря.
В данном случае мы вызываем метод messages.send и в качестве параметров передаем id пользователя и текст сообщения.
Прием сообщений
Отлично! Отправлять сообщения мы научились, осталось научиться их принимать. Для этого нам нужен метод messages.get.
Несколько параметров, на которые стоит обратить внимание:
1) out — если этот параметр равен 1, сервер вернет исходящие сообщения.
2) count — количество сообщений, которое необходимо получить.
3) time_offset — максимальное время, прошедшее с момента отправки сообщения до текущего момента в секундах.
4) last_message_id — идентификатор сообщения, полученного перед тем, которое нужно вернуть последним (при условии, что после него было получено не более count сообщений)
В нашем случае этот метод вернет все полученные сообщения за последние 60 сек, если их конечно было меньше 100, а если больше, то последние 100.
В итоге мы получаем список items:
Если объяснять простыми словами, то items — это то, что можно выделить в диалоге.
Финальный аккорд, делаем вечный цикл, где на каждое сообщение будем отвечать «Привет, Хабр!».
Источник статьи: http://habr.com/ru/post/326312/
8 инструментов для создания личного или делового чат бота
Переписываться любят все. Мессенджеры теперь повсюду, и скорее всего ваш клиент пользуется хотя бы одним из следующих:
- Facebook Messenger
- Skype
- LINE
- Slack
- QQ Mobile
- и множество других…
Я думаю, вы со мной согласны. А если нет, то взгляните на данные Statista об использовании приложений для обмена сообщениями на мобильных устройствах.
Станьте частью нового мира и воспользуйтесь чат ботом. Обслуживание, поддержка и восприятие ваших клиентов полностью изменятся.
Давайте разберемся, что же такое виртуальный собеседник или чат бот. Это программа, предназначенная для поддержания диалога с человеком через чат.
Можно обучить/настроить чат бота, чтобы он отвечал клиентам вместо вас. Чат бот может понять язык человека и сгенерировать логичный ответ.
Возможности для автоматизации с помощью чат бота весьма обширны, например:
- FAQ — c помощью чат бота можно настроить ответы на часто задаваемые вопросы;
- отслеживание доставки заказа — чат бот сможет ответить на вопросы о статусе заказа;
- электронная торговля — с помощью виртуального собеседника можно заинтересовать посетителя вашего сайта и превратить его в вашего клиента.
Вы можете либо разработать программу самостоятельно, либо обратиться к одному из следующих поставщиков услуг.
Платформы для создания ботов:
Morph.ai
Morph.ai позволяет создать виртуального собеседника за считанные минуты. Теперь поддержку и обслуживание ваших клиентов можно осуществлять через диалоговый интерфейс. Чат бот понимает естественный язык, отвечает кратко и по контексту, может обучаться.
Morph.ai дает полную свободу действий по отношению к содержанию и последовательности сообщений, интерфейсу. Реализована поддержка целого ряда сервисов мгновенных сообщений, включая следующие:
- Facebook Messenger
- Slack
- Skype
- LINE
- SMS
Я создал бота для своей страницы на Facebook, и результат меня поразил.
Кроме всего прочего, Morph можно интегрировать в Shopify, Zendesk, Salesforce, Intercom, использовать с API, хуками, так что нет необходимости вручную экспортировать контакты или данные.
В целом конфигурация виртуального собеседника с помощью панели управления не вызывает затруднений, так что не медлите и приступайте к созданию вашего первого бота.
Flow XO
Flow XO позволяет вам создать и разместить чат бота для различных мессенджеров, в том числе Slack и Telegram. Для использования бота не требуются познания в программировании. Flow OX облегчает задачу интегрирования более чем с 90 сервисами:
- Buffer
- GitHub
- Gmail
- JIRA
- Mailgun
- StatusCake
- и многими другими.
Botsify
Botsify представляет возможность создания виртуального собеседника на 100 пользователей в месяц бесплатно. Если вас интересует только чат в Facebook, то стоит попробовать Botsify.
А как быть, если ваш сайт на WordPress? Для таких случаев на Botsify есть специальный плагин. Чтобы оценить пробный вариант, перейдите по ссылке.
Дизайном можете заниматься самостоятельно. Реализована возможность добавления изображений, аудио и других файлов. Доступна интеграция с Medium.
API.AI
При помощи Api.ai создание умного собеседника для Facebook осуществляется за три простых шага.
- Разработка — создайте бота;
- Подключение — настройте интеграцию с любым серверным приложением;
- Запуск — начало работы.
API.AI — полноценное решение для создания обучаемого чат бота, поддерживающее разные платформы, например, Android, HTML, Node.js, iOS, Python, и т.д.
На сегодняшний день программа поддерживает 14 языков и может быть использована с:
- Slack
- Skype
- Cisco Spark
- Kik
- LINE
- Amazone Alexa
- Telegram
- Twilio IP/SMS
- Microsoft Cortana
- Agent Demo
Motion.ai
На Motion.ai вы сможете создать 2 чат бота на 1000 сообщений в месяц совершенно бесплатно. И все это не только для Facebook, но и для SMS, различных веб-сервисов, Slack, Smooch и электронной почты.
Приступить к работе можно бесплатно, предоставляется подробная документация.
Chatfuel
Виртуальный собеседник для Facebook будет готов всего за 7 минут и без необходимости в написании кода. Chatfuel пользуются такие гиганты, как UBER, TechCrunch и т.д.
Возможна интеграция с вашими самыми любимыми сервисами, например, Twitter, YouTube, JSON, Instagram и т.д.
Больше всего поражает подход к ценообразованию.
Платформа для создания чат бота совершенно бесплатная!
Здорово, не правда ли?
Manybot
Может быть ваша аудитория использует Telegram? C помощью Manybot вы сможете создать чат бота для Telegram, не написав ни одной строки кода.
Отправляйте текст, изображения и видео подписчикам. Ограничений по длине сообщений нет. Держите бизнес под контролем с помощью персонализированных команд. Наконец, вы также можете настроить автоматическое обновление блога с помощью RSS.
Recast
Разработайте своего виртуального собеседника на Recast. Если вам необходимо, чтобы один чат бот действовал на разных платформах, то скорее всего Recast вас должен заинтересовать.
Чат бот сможет работать на Facebook, Slack, Skype, Kik, и т.д.
- Rebotify
- Bottr
Надеюсь я помог вам разобраться, как создать виртуального собеседника для бизнеса или личного пользования. У большинства вышеперечисленных приложений есть бесплатные тарифы, так что дерзайте. Я уверен, вам очень понравится.
Источник статьи: http://m.habr.com/ru/company/hosting-cafe/blog/316422/