Чатботы набирают сейчас обороты и много людей интересуются – “что же это такое”. Некоторые верят что боты для чатов это что-то крутое, что в скором времени заменит множество приложений. В то время как другие предполагают что это просто игрушка, обреченная на провал.

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

Что такое чатботы?

Чатбот это сервис или инструмент с которым вы можете общаться посредством мессенджера. Чатботы понимают что вы пытаетесь ему сказать и отвечают как задумал его разработчик или выполняют нужные действия.

Если вы знаете что такое cleverbot – вы знаете что понятие чатботом не такое уже и новое. Но что же делает чатботы такими актуальными сейчас?

  1. Все большее количество людей проводит время в социальных сетях, общается с помощью различных мессенджеров (facebook messenger, slack, viber, telegram, … ). Этот рынок растет семимильными шагами. Различным организация все проще общаться с потенциальными клиентами с помощью различных мессенджеров
  2. Развитие искуственного интелекта, машинного обучения  и распознавание языков позволяет ботам общаться на достойном уровне все с большим количеством людей, имитировать настоящих человеков.

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

Это позволяет использовать ботов для разнообразных целей, таких как продажи, поддержка пользователей, новости, игры и много других вещей, о которых вы даже и не думали. Хороший чатбот не будет многофункциональным – бот который показывает вам последние новости не должен заниматься доставкой из китайского ресторана. Он должен уметь что-то одно, о уметь хорошо!

Как работают чатботы?

Большинство людей не будут делать чатботов из фреймворков или писать их с нуля. Есть множество сервисов, которые помогут в создании ботов. Но что бы что-то делать ннам нужно понимать основы.

Бекенд (backend): Чатботы могут использовать большинство соврменных языков програмирования, которые поддерживают вуб API. Для большинства людей это будет или PHP или Node.js. но есть множество библиотек, написанных на Java или Pyton. Бекенд получает информацию, обрабатывает её и отправляет обратно.

Фронтенд (frontend): Это может быть людей популярный мессенджер (facebook messenger, telegram, skype, viber…) или любой другой интерфейс чата. Например что-то построенное на node.js. Главное что бы можно было в режиме реального времени получать и отправлять сообщения. Вы не привязаны к одной платформе – один и тот же бот можно подключать к различным мессенджерам посредством API

Подключение обоих: на вашем вебсервере должна быть возможность установки вебхуков – соединений, основаных на URL, которые соединяют вместе ваших ботов (бекенд) и платформу чата (фронтенд). Вебхуки позволяют вам безопасно отсылать и получать сообщения через обычные HTTP запросы. Все современные мессенджеры содержат детализированные инструкции как соединить ваших ботов и собственно этот сервис.

Теперь боты подключены и могут слушать и отвечать пользователям. Все что осталось – подключить им мозги.

Умные и тупые боты

В зависимости от выбраного пути создания ботов, мы можем разделить их на две разных категории – основанные на командах (тупые боты) и обучающиеся (умные боты).

Командные боты – боты, созданые вокруг специфических слов, которые они могут распознать. Каждая команда заранее запрограмирована и с помощью разнообразных трюков может быть распознана ботом. Когда пользователь скажет что-то из заранее заданого сценария – бот выдаст заранее заготовленный ответ. Если же пользователь сделает что-то, чего нет в сценарии – все пропало) Бот не будет знать как действовать.

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

Обучающиеся боты – боты, которые опираются на искуственный интелект, что бы общаться с пользователями. Вместо того, что бы давать заранее заготовленные ответы такие боты будут давать адекватные ответы. Они поддерживают нить разговора, контекст и запоминают что они раньше говорили. В точности как человек!

Работа с обработкой разговорной речи и машинным обучением не из простых задач для начинающего разработчика. К счастью вам не прийдется делать все самому. Есть множество прескрасных библиотек (ConvNetJS, nlp_compromise, TextBlob) и сервисов (wit.ai, api.ai) которые могут вам помочь научить вашего бота общению.

Как начать работать с чатботами?

Если мне удалось заинтересовать вас и вы хотите начать делать ваш первый чатбот – я дам несколько подсказок, как лучше это сделать. В зависимости от того, сколько работы вы можете (или хотите) выполнить при создании – вы можете использовать как готовые сервисы, так и фреймворки для создания ботов.

  • BotKit – самый популярный набор инструментов для создания чатботов. Он опенсорсный и очень хорошо документирован
  • Claudia – чатбот, который использует вычислительные мощности AWS Labmda от амазона
  • Bottr – очень простой Node.js фреймворк с приложением для тестирования. Замечатльный, если вы хотите потратить не больше 10 минут)

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

Если вы хотите пропустить процес разработки, вы можете доверится одному из сервисов по созданию ботов:

  • wit.ai – сервис, который осуществляет прием тестовых и голосовых данных и использует NLP для создания правильного ответа
  • Chatfuel – сервис для мессенджера фейсбука и телеграма. Не нужно знать программирование ;)
  • motion.ai – полноценный сервис по созданию ботов с подддержкой большинства платформ мессенджеров
  • api.ai – сервис по распознаванию разговорного общения, помогает вашим ботам больше “понимать”.

Некоторые примеры:

 

 

Оригинал статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

пять × 3 =