Главное Авторские колонки Вакансии Образование
1 213 3 В избр. Сохранено
Авторизуйтесь
Вход с паролем

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

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

Из-за такого положения и огромного количества возможностей многие программисты перебираются в разработку ботов.

Так уж получилось, что рынок чат-ботов находится где-то посередине: на технологическом стыке между приложениями и системами связи. И в этой области сейчас происходит стремительный синтез (я бы даже сказал генетическое скрещивание) алгоритмов, возможностей из нескольких отраслей IT, ранее разделенных. Ведь чат-бот сейчас — это и интерфейс приложения, и система связи, и поиск по базе данных. Мы наблюдаем в прямом эфире за рождением новой химеры информационного века, нового стандарта общения человека с компьютером, и даже компьютера с компьютером.

Почему сейчас?

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

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

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

Простые и популярные

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

Для решения самых простых, распространенных задач существуют платформы, позволяющие создать и запустить чат-бот даже без знаний кодинга. На ум сразу приходит фреймворк Manybot, на основе которого уже создано более 100 000 ботов для Telegram, а также Chatfuel и Botsify — две платформы ориентированные на Facebook Messenger и Telegram. Они позволяют любому желающему запустить рабочий чат-бот своими силами за считанные минуты, используя популярные готовые шаблоны.

Коммерческие решения

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

  1. Реализация понимания ботом речи.
  2. Создание алгоритмов поиска оптимального ответа.
  3. Интеграция со сторонними API.
  4. Написание иных алгоритмов для обработки и выдачи данных.

С первым пунктом сильно помогают сторонние библиотеки. Для распознавания речи можно использовать бесплатный набор инструментов Apache OpenNLP. С его помощью можно решить сразу несколько проблем: разделение потока ввода на предложения, части речи, токенизацию, синтаксический анализ.

Хочется еще упомянуть ориентированный на западный рынок API от Speaktoit — api.ai. С его помощью можно внедрить в чат-бот систему распознавания речи на лету, её транскрипцию в текст, а также научить бота выбирать сценарий диалога. Разработчику также следует обратить внимание на wit.ai — похожий сервис распознавания и обработки устной речи и текста.

Для создания более сложных роботов, обладающих зачатками искусственного интеллекта, можно использовать открытую библиотеку машинного обучения на Javascript ConvNetJS, а также еще две библиотеки с GitHub-a: TextBlob и Nlp_compromise. Они используют так называемую естественную обработку языка, решая сразу множество задач по распознаванию текстовой речи. Для создания web API сейчас проще всего найти библиотеки на следующих языках:

  1. PHP
  2. JavaScript
  3. Java
  4. Python

К слову о машинном обучении. Google экспериментирует с созданием фреймворка seq2seq, основанного на глубинной нейросети. Конечно, это не настоящий ИИ: ответ программы базируется на статистических данных о диалогах тысяч других пользователей. То есть seq2seq определяет наиболее статистически вероятный ответ на основе предыдущего ввода. Программа не обладает собственным мышлением на основе некоего знания мира, она просто косвенно реализует коллективный опыт.

Тем не менее, с простыми задачами seq2seq справляется весьма удачно: при использовании достаточно большой базы диалогов пользователей с техподдержкой она в нескольких случаях помогла решить проблемы незапускающегося браузера и отсутствия подключения, предлагая конкретные действия. Однако совершенно ясно, что работа в этом направлении только началась, т.к. на многие простые вопросы этот фреймворк даёт совершенно несуразные ответы, например: Человек: В чем смысл существования? seq2seq: узнать, что случится, когда мы доберемся до планеты Земля.

Заключительное слово

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

Для разработчиков, в свою очередь, уже на сегодняшний день существует необходимое количество инструментов для раскрытия огромного потенциала чат-ботов. Готовые фреймворки и библиотеки облегчают процесс создания с нуля, что даёт возможность даже небольшой группе программистов создать крупный проект с развитым машинным распознаванием речи. Мѐста для проявления фантазии в новой отрасли пока еще достаточно и даже гиганты IT еще не конца понимают, куда движется рынок, во что следует вкладывать средства.

+1
В избр. Сохранено
Авторизуйтесь
Вход с паролем