Чат-боты: введение от разработчика

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

Чат-боты были популярной темой в течение определённого времени, и много людей сегодня увлечены ими. Некоторые даже верят, что за подобными ботами будущее и рано или поздно они заменят приложения. Однако находятся и те люди, которые считают, что боты как идея обречены на провал.

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

Что это?

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

Если вы помните о CleverBot, вы наверняка знаете о том, что они - далеко не новинка. Актуальными же их делает ряд вещей:

  1. Огромное количество времени, которое люди проводят, набирая текст в различных мессенджерах (будь то ВКонтакте, Facebook, Slack и т.д) делает эти самые мессенджеры быстро растущим сегментом на рынке приложений. Люди используют их не только для дружеских переписок, но и в интересах развития бизнеса.
  2. Быстрое развитие технологий искусственного интеллекта, машинного обучения позволяет современным чат-ботам вести себя максимально приближённо к тому, как ведут себя люди.

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

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

Как они работают?

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

Бэкенд: Чат-боты могут быть разработаны на любом языке программирования, с помощью которого можно создать web API. Для большинства это будут либо Node.js, либо PHP, однако существует множество библиотек для создания чат-ботов, написанных на Java или Python. Бэкенд получает сообщение, думает, что ответить, и возвращает пользователю ответ.

Фронтенд: Это может быть любой мессенджер: от популярных вроде Facebook Messenger, Slack, Telegram до простеньких Realtime Chat With Node.js. Вы не ограничены одной платформой: один и тот же бот может работать, по сути, везде.

Связывая первое и второе: Ваш веб-сервер установит так называемые вебхуки - основанные на URL соединения между вашим ботом и чат-платформой. Вебхуки позволят вам безопасно отправлять и получать сообщения через простые HTTP-запросы. Все известные мессенджеры предоставляют разработчикам детальные гайды о том, как связать своего бота с их платформой.

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

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

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

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

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

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

Начало работы с чат-ботами

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

  • BotKit - самый популярный набор инструментов для создания ботов. Он open-source и, к тому же, неплохо документирован.
  • Claudia - этакий конструктор чат-ботов, созданный для использования непосредственно в AWS Lambda.
  • Bottr - очень простой фреймворк, написанный на Node.js с готовым приложением для тестирования. Если вы хотите поиграться с ним минут 10, рекомендуем.

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

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

  • wit.ai - сервис, который принимает текст или голосовые сообщения и использует обработку естественного языка, чтобы помочь вам управлять ответами на запросы пользователей.
  • Chatfuel - инструмент для Facebook Messenger или Telegram ботов. Никакого программирования.
  • motion.ai - сервис для создания чат-ботов с поддержкой от ряда платформ.
  • api.ai - сервис, использующий обработку естественного языка для того, чтобы помочь вам создавать ботов, а ботам - определять возможные сценарии разговора.

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

Загляните в Botlist или Telegram Bot Store и вы увидите, что разработчики уже сделали немало ботов и тысячи из них уже доступны.

Заключение

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

Мы надеемся, что эта статья помогла вам и у нас получилось провести вам небольшой экскурс в мир чат-ботов.

Другие статьи по теме

Простой Telegram бот на Python всего за 1 час.

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ