NLPx

Tales of Data Science

Чат-боты: обзор и состояние технологий в отрасли

В последнее время (где-то с февраля-марта 2016 года) очень много и часто говорят про чат-ботов. Насколько это модно, стильно и молодежно? Какие перспективы — рыночные и технологические? Кто виноват и что делать? Об этом вы не узнаете, пока не прочитаете весь опубликованный здесь текст.

Если интересно — покорнейше прошу читать дальше. Если нет, то все равно попробуйте прочитать — вдруг понравится?

Состояние мирового рынка чат-ботов и близких технологий

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

график

(График: Business Insider)

График этот, кстати, все подряд пихают в свои тексты и мне, ежели честно, он уже даже надоел — но вдруг кто еще не видел?

График ненавязчиво подводит к той мысли, что 2016 год может считаться годом активизации коммерческой деятельности в сфере мессенджеров (conversational commerce). Под этим стоит понимать использование чатов, мессенджеров или других естественноязыковых интерфейсов (в т.ч. голосового) для связи с людьми, брендами, сервисами. Вероятно, уже сейчас можно говорить о новой парадигме пользовательского взаимодействия с онлайн сервисами — messaging-as-an-interface.

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

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

Кроме Facebook, в направлении развития технологий чат-ботов также активно движутся Google и Apple (кто бы сомневался!). Кроме этого, приблизительные аналоги Facebook M уже были созданы в Китае — например, Xiaolce (кто бы сомневался!).

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

Состояние российского рынка чат-ботов и близких технологий

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

Также необходимо отметить, что компания Яндекс недавно приобрела 21% акций американской компании 200 Labs (Chatfuel), занимающейся разработкой чат-ботов для мессенджеров, в первую очередь мессенджера Telegram. Кроме этого, компания Яндекс разрабатывает своих, пусть и достаточно простых, ботов на основе сервисов Яндекса для Telegram, например, ботов для поиска картинок, перевода слов, анализа пробок. В общем, Яндекс хочет застолбить себе местечко на новом перспективном рынке.

Можно отметить также проект русского обучаемого онлайн чат-бота (http://chatbot.tw1.ru/), находящегося в топе Яндекса по запросу “чат-бот”. Технологически достаточно примитивен, но забавен, особенно его «эротическая» версия — http://sexbot.tw1.su/.

Все остальные организации, занимающиеся предоставлением услуг создания чат-ботов сильно меньше по размеру и влиянию. Среди них можно, например, назвать, такие, как Speaktoit, Textocat и DialTech.

Speaktoit — это американский стартап, основанный бывшим сотрудником Наносемантики, (https://assistant.ai/). Стартап предлагает персонального ассистента (бота), использующего голосовой интерфейс, под основные мобильные платформы (Андроид, iOS и т.д.). Бот распознает 9 языков, в том числе английский и русский. Бот решает задачу предоставления нужной информации через универсальный интерфейс (по голосовому запросу пользователя) из различных сервисов (например, Википедия, записная книжка, прогноз погоды и т.д.) – эдакая альтернатива Siri. Что более интересно, этот стартап предлагает API (Voice recognition + Natural language understanding + Text-to-speech) для создания интеллектуальных голосовых интерфейсов для приложений/устройств/веб-сервисов (https://api.ai/).  Стартап ориентирован в первую очередь на западную аудиторию — и это очевидно.

Компания Textocat предлагает свою версию чат-бота на основе своих технологий для продажи товаров и услуг через мессенджеры. В настоящее время ими совершено два внедрения этого чат-бота для Telegram в сетях кафе местного значения (Казань) (http://textocat.ru/ecommerce-bot.html). Кроме того, они предлагают open-source технологический стек базовых функций обработки текста, реализованный для платформы Apache UIMA под названием TextoKit (http://textocat.ru/textokit.html).

DialTech предлагает платформу для создания/хостинга чат-ботов на русском языке (http://dialtech.io/).

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

Технологии рынка чат-ботов

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

Для чат-ботов такого типа используются только технологии базовой обработки естественного языка:

  • Сегментация (разбиение на предложения)
  • Лемматизация/стемминг
  • Выделение ключевых слов и/или именованных сущностей

И технологии создания регулярных грамматик типа “входной паттерн – шаблон реакции” (например, AIML):

  • Регулярные выражения
  • Переменные/массивы для запоминания контекста
  • Условия, циклы, рекурсии и т.д.

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

К примеру, специалисты из Google создали фреймворк seq2seq, который может быть использован для генерации диалогов. Оригинальная статья: http://arxiv.org/pdf/1506.05869v2.pdf

Существует несколько версий реализации данного фреймворка, например, для TensorFlow (https://www.tensorflow.org/versions/r0.7/tutorials/seq2seq/index.html) или Python (https://github.com/farizrahman4u/seq2seq)

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

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

Доступные фреймворки и технологии для создания чат-ботов

Чат-боты для мессенджеров:

Существует множество библиотек для разных языков программирования, а также API для создания чат-ботов в Slack

Также существуют библиотеки и API для создания ботов в Telegram. Примеры существующих ботов можно посмотреть, например, здесь: https://vc.ru/p/telegram-bots-business

Фреймворки для создания чат-ботов

API для построения чат-ботов и услуги по их созданию предоставляют такие иностранные компании как Pandorabots (http://www.pandorabots.com/) и Synthetic Intelligence Network (http://simlbot.com/):

Pandorabots предоставляет доступ к своему API на базе достаточно простого XML-подобного скриптового языка AIML (Artificial Intelligence Markup Language), который реализует все технологии, необходимые для создания простых коммерческих чат-ботов. Стоимость использования API Pandorabots – от 9$ до 999$ в зависимости от количества поддерживаемых ботов.

Synthetic Intelligence Network предлагает язык SIML (Synthetic Intelligence Markup Language), концептуально схожий с AIML и созданный на базе него, а также свою собственную среду разработки ботов — Syn Chatbot Studio под .net (https://www.chatbots.org/ai_zone/viewthread/1903/)

Также достаточно известными фреймворками для создания собственных ботов являются Errbot на Python (http://errbot.io/en/latest/) и Hubot (https://hubot.github.com/) на CoffeeScript под Node.js. При этом написанные боты как для Errbot, так и Hubot могут быть портированы на Slack, Telegram, IRC и т.д.

Фреймворки для обработки естественного языка

Для обработки естественного языка на уровне, необходимом для создания чат-бота для облегчения работы консультантов-людей в каком-либо сервисе, в базовом виде могут подойти многие open-sorce технологии. Подобный фреймворк также может быть создан на основе, например, Apache OpenNLP).

Еще не забываем про существующие API, которые обеспечивают выделение сущностей и всякое подобное с прицелом на использование для чат-ботов — уже упоминавшийся здесь api.ai и wit.ai.

Ограниченное применение для реализации чат-ботов может найти инструментарий Yandex SpeechKit Cloud, предлагающий доступ как к речевым технологиям, так и распознавания именованных сущностей следующих типов: (Дата и время, ФИО, адрес)

Выводы:

По рынку:

  1. Чат-боты – это очень перспективное направление. Их активное использование в мессенджерах и в качестве т.н. цифровых ассистентов в смартфонах с большой вероятностью приведет к популяризации UX-парадигмы messaging-as-an-interface. Уже сейчас ключевые вендоры (Facebook, Google, Apple) занимаются разработкой чат-ботов персональных помощников.
  2. На российском рынке пока не наблюдается бума чат-ботов. Единственным на сегодняшний день крупным игроком на этом рынке является Наносемантика, однако существует некоторое количество как российских, так и американских стартапов, которые выходят на рынок. Весьма вероятно, что в дальнейшем количество таких стартапов будет только увеличиваться, как и число потенциальных потребителей их услуг (например, онлайн-магазины, службы технической поддержки и т.д.). Также нельзя сбрасывать со счетов крупные технологические компании (например, Яндекс, Mail.ru), которые могут неожиданно войти на этот рынок с помощью приобретенных стартапов или своих собственных разработок.

По технологиям:

  1. Создание чат-бота, даже с учетом использования последних технологических разработок, подразумевает очень большое человеческое участие на всех этапах разработки (в первую очередь для задания шаблонов реакций на пользовательское поведение).
  2. Создание коммерческого чат-бота (например, для разгрузки онлайн-консультантов при ответах на наиболее часто задаваемые вопросы) не требует сложных технологий – достаточно будет базовых технологий обработки языка.
  3. Существует достаточное количество фреймворков и API, которые могут быть использованы для создания чат-ботов. Кроме того, фреймворк для обработки языка для коммерческого чат-бота можно, в принципе, создать самостоятельно на базе различных программных библиотек с открытым исходным кодом.

Источники

  1. http://www.businessinsider.com/the-messaging-app-report-2015-11?IR=T
  2. https://medium.com/chris-messina/2016-will-be-the-year-of-conversational-commerce-1586e85e3991
  3. http://www.computerworld.com/article/3018162/emerging-technology/the-dark-side-of-the-coming-chatbot-revolution.html
  4. http://www.cnews.ru/news/top/2016-03-25_razrabotchik_chatbotov_oboshelsya_yandeksu_v_3
  5. https://yandex.ru/blog/company/98459

11,722 просмотров всего, 15 просмотров сегодня

Чат-боты: обзор и состояние технологий в отрасли
4.57 7 votes

Leave a Reply

Be the First to Comment!

avatar
wpDiscuz