В настоящей статье приводится обзор систем, использующих чат-боты, в зависимости от сферы и целей их применения. Рассматриваются платформы и сервисы для их создания и интеграции с мессенджерами и приложениями.
Ключевые слова: социальные сети, мессенджер, чат-бот, интерфейс для разработки
В настоящее время повсеместно можно наблюдать, как в нашу жизнь активно входят различные системы информационных услуг, в том числе чат-боты. Ранее, популярность чат-ботов относилась, в большинстве своем к ботам, используемым в рутинных задачах — сбор ресурсов, использование ботов в компьютерных играх (при том, что это запрещено правилами), торговля на игровых рынках и т.п.. За счет этого наблюдался прогресс в разработках: для бота было важно иметь модель поведения максимально приближенную к человеческой. Сейчас же их применение значительно расширилось.
Мессенджеры и компании, внедряющие чат-ботов
На данный момент крупными разработчиками чат-ботов являются такие компании как Facebook, Slack, Discord, Telegram, Kik, Microsoft.
На сегодняшний день Facebook Messenger используют около миллиарда человек из 1,8 миллиардов всех фейсбукеров. Приложение интегрировано с системой обмена сообщениями на основном сайте Facebook (Facebook Chat) и построено на базе открытого протокола обмена данными — MQTT, созданного для передачи данных на удалённых локациях, где требуется небольшой размер кода и есть ограничения по пропускной способности канала. Сейчас компания дает возможность бизнесу создавать чат-ботов, которые смогут выполнять простейшие функции по заказу товаров и услуг, посредством общения с пользователями. Ботов можно запускать через мобильные приложения, а также через виджеты на сайтах. Facebook уже позволяет отправлять пользователям не обычный текст, а использовать интерактивные карточки с изображениями, ссылками, кнопками и другими элементами, с которыми можно взаимодействовать.
В основу технологии легли разработки компании Wit.ai, которую соцсеть приобрела в январе 2015 года. А собственный бот Facebook — Bot Engine -позволяет "научить" ботов вести себя различным образом в зависимости от ситуации.
Slack Bot Users
Slack чат — кроссплатформенное приложение ориентированное на корпоративное пользование. Боты в этой системе — помощники в организации корпоративных встреч и планов, помощники в аналитике, в выполнении рутинных задач и инструменты для контроля рабочего процесса. Столкнуться с ботами можно сразу же в начале использования приложения: они сразу же выступают в качестве помощников. Slackbot также будет появляться всякий раз, когда вы будите создавать новое приложение или службу. Пользователи SlakBot Users имеют многие из тех же качеств, как и их человеческие аналоги: они имеют профильные фотографии, имена и биографии, они существуют в каталоге команды, они могут напрямую обмениваться сообщениями. Так же боты могут быть приглашены или исключены из каналов и частных групп. В качестве платформы для разработки и интеграции Slack ботов могут выступать платформы — BeepBoopHQ, Microsoft Bot Framework. В качестве создания ботов может быть использован практически любой язык программирования.
Telegram Bot API
Боты в Telegram представляют из себя специальные аккаунты, которые автоматически обрабатывают и отправляют сообщения, играют роль интерфейса к сервису, работающего на удаленном сервере. Это приложение, запущенное со стороны пользователя и осуществляет отправку запросов к Telegram Bot API. Bot API представляет из себя HTTP-интерфейс для работы с ботами.
Система Telegram мультиплатформенна, что позволяет работать с системой не зависимо от рабочего места. Для работы бота требуется выделенные домен с SSL сертификатом, в связи с тем, что Telegram работает по протоколу MTProto, который предполагает использование нескольких протоколов шифрования.
Сейчас доступна улучшенная версия API для самостоятельного создания ботов Telegram Bot API 2.0. Для создания ботов может быть использован практически любой язык программирования: PHP, Python, Java, С#, Ruby. При этом вы можете создать своего собственного бота для Telegram вообще не обладая навыками программирования. Достаточно воспользоваться служебным аккаунтом @BotFather для регистрации нового бота и получения уникального id, затем посредством аккаунта @Paquebot вы сможете привязать своего бота к @Paquebot и начать рассылать сообщения всем подписчикам вашего нового бота.
KIK bot
Бот канадской фирмы KIK представляет собой автоматизированный аккаунт на платформе чата KIK, который запрограммирован на общение с пользователями. KIK messenger известен своими функциями сохранения анонимности пользователей, регистрируя пользователя в системе без предоставления номеров телефонов. Приложение регистрирует IP-адреса пользователей для определения их положения. Однако, из-за анонимности функций приложение подвергается критике: небезопасное использование несовершеннолетних и слабый функционал родительского контроля. Компания предлагала ботов и ранее для общения и выполнение базовых задач. В 2014 году KIK запустила групповые чаты с использованием ботов, с целью продвижения продуктов и услуг по ключевым словам. Эта функция должна помогать общаться с потенциальными клиентами. Продвигаемые сообщения достигают своей аудитории по геолокации, полу, возрасту. В 2016 KIK добавил бот-магазин, при помощи которого можно заказывать продукты через автоматизированный чат. В бот-магазине добавлен веб-пузырь, позволяющий обмениваться мультимедийным контентом в течении разговора, а также возможность, позволяющую ботам быть активными в групповых чатах. KIK присваивает каждому пользователю уникальный код, похожий на QR-код, для подключения и общения с пользователем либо ботом.
Tay и Xiaoice (Microsoft)
Компания Microsoft уже давно проявляет интерес к созданию технологий на базе искусственного интеллекта. Последним из ее творений в этой области был чат-бот под именем Xiaoice, работающий в социальных сетях Китая и Японии. В основе её технологии лежит положение, что ни одна беседа или картинка не будет полностью уникальной. В своей работе система Xiaoice использует методы глубинного изучения при помощи вычислительных мощностей облачной системы Smart Cloud and Big Data. В этом смысле, Xiaoice — большой дата-проект, построенный на основе поисковой машины Microsoft Bing, чьи данные включают 1 миллиард записей и 21 миллиард связей между этими записями. Был также запущен проект компании в этой же области — Tay AI, выполняющий схожие функции в более распространенных социальных сетях и общающийся с собеседниками на английском языке. Tay в своей основе использует тот же набор технологий, что и оригинальная версия, Xiaoice.
Основные платформы и сервисы создания ботов
Wit.ai
Это открытая и бесплатная платформа которая помогает создавать приложения для распознавания голоса и текста. С помощью этой платформ можно определить контекст или семантику введенного и сказанного предложения. Wit предоставляет API и панель управления для общей настройки диалогов и сущностей.
Microsoft Bot Framework
Microsoft представила свою платформу Microsoft Bot Framework для создания текстовых, аудио и видеоботов для Skype, Slack, Facebook Messenger, Kik, электронной почты Office 365 и других популярных сервисов. Платформа состоит из трех основных частей:
– Bot Builder SDK: набор инструментов с открытым исходным кодом (для разработки доступны Node.js, .NET или REST) для создания и тестирования чат-ботов;
– Bot Framework Developer Portal: сервис для регистрации, подключения к популярным каналам, настройки и тестирования, публикации своего бота;
– Bot Directory: каталог ботов, созданных с помощью Bot Framework и зарегистрированных в Developer Portal, предназначенный для загрузки и проверки ботов, обмена опытом.
К основным преимуществам платформы Bot Framework можно отнести отсутствие привязки к конкретной платформе, наличие открытого исходного кода SDK, развитые средства отладки и тестирования ботов, встроенные средства связи и управления веб-приложениями, поддержка автоматического перевода более чем на 30 языков. При этом платформа Microsoft Bot Framework продолжает активно развиваться.
Howdy’s botkit.
Botkit — это модуль для разработки программного обеспечения для Node.js, поэтому нужно быть готовым писать некоторый код. Написание и запуск приложений Node требует знания командной строки Unix, git и GitHub, а также некоторых основных принципов разработки приложений, таких как управление базой данных и настройка хостинга. Модуль Node — модуль для создания ботов Slack, Facebook Messenger и других платформ. Botkit поддерживает десятки плагинов с открытым кодом, которые обеспечивают интеграцию с популярными инструментами баз данных, API для обработки естественного языка, CRM-решениями и другими распространенными инструментами построения бота.
Api.ai — платформа для распознавание естественной речи.
Textit.in
Графический интерфейс для построения мульти-платформенных ботов голосовых и текстовых сообщений. В основе TextIt лежит движок собственной разработки Flow. С Flows любой может создавать SMS и голосовые приложения без участия программиста или дорогостоящей консалтинговой компании.
Chatfuel
Участник Ycombinator, конструктор ботов от Дмитрия Думика. Один из конструкторов ботов, не требующий знаний программирования. Он бесплатен, может быть интегрирован со сторонними сервисами, работает на платформах Facebook Messenger и Telegram.
IBM’s Watson
IBM Watson представляет собой когнитивную систему, которая способна понимать, делать выводы и обучаться. Для того, чтобы научить систему анализировать сложные смысловые конструкции, с учетом эмоций и прочих факторов, специалисты использовали глубокую обработку естественного языка. А именно — вопросно-ответную систему контентной аналитики (Deep Question*Answering, DeepQA). Если требуется большая точность, то приходится использовать дополнительные методы обработки естественного языка. При анализе определенного вопроса, для того, чтобы дать правильный ответ, система старается оценить как можно более обширный контекст. При этом используется не только информация вопроса, но и данные базы знаний. Сейчас на основе этой облачной API-платформы разрабатываются различные приложения, сервисы и процессы.
Dexter
Сервисом владеет Betaworks. Dexter позволяет разработчикам создавать интегрированные приложения без рутинной работы по построению инфраструктуры. Допустим, для интеграции электронной почты, FB messenger, Slack используются технологии plug-and-play, разработчики лишь настраивают ботов, как они должны работать. Dexter — открытая платформа, все ее пользователи получают выгоду от работы одного разработчика. Люди могут создавать модули, которые не существуют, или просто использовать существующие модули для разработки собственной интеграции.
Как видно, платформ для создания ботов сейчас достаточно и использование того или иного продукта зависит от преследуемых целей:
– боты, выполняющие рутинные операции — для решения простых, однообразных задач, для которых нет необходимости тратить время и ресурсы сотрудников
– боты-помощники — выступают в качестве консультантов, могут поддержать беседу предлагая первичную информацию, узнавать контактные данные и т. п.
– чат-боты, используемые в аналитике — помощники в сборе данных, через общение, распространять корпоративную информацию внутри чата
– "развлекательные" боты для общения с людьми.
Литература:
- Документцаия по использованию // Facebook for developers. URL: https://developers.facebook.com/docs/messenger-platform/guides
- Когнитивная система IBM Watson — будущее действительно здесь // Geektimes. URL: https://geektimes.ru/company/ibm/blog/271306/
- Документцаия по использованию // Telegram Bot API URL: https://tlgrm.ru/docs/bots/api#authorizing-your-bot
- Документцаия по использованию // Kik Bot Support. URL: https://botsupport.kik.com/hc/en-us/articles/225764528-How-do-I-start-making-a-bot-
- Документцаия по использованию // Real Time Messaging API URL: https://api.slack.com/rtm