- PVSM.RU - https://www.pvsm.ru -
Когда еще один плодотворный год подходит к концу, хочется оглянуться назад, подвести итоги и показать, что мы смогли сделать за это время. Библиотеке #DeepPavlov, на минуточку, уже два года, и мы рады, что наше сообщество с каждым днем растет.
За год работы над библиотекой мы достигли:
Что же помогло достичь таких результатов и почему DeepPavlov [1]— это лучший открытый источник для построения разговорного AI? Расскажем в нашей статье.

В последнее время диалоговые системы стали стандартом взаимодействия человека с машиной. Чат-боты нашли применение практически во всех отраслях, упрощая взаимодействие между людьми и компьютерами. Они легко интегрируются в веб-сайты, платформы обмена сообщениями и устройства. Многие компании на сегодняшний день предпочитают делегировать рутинные задачи диалоговым системам, способным обрабатывать несколько пользовательских запросов одновременно, экономя затраты на рабочую силу.
Однако зачастую компании не знают, с чего начать при разработке бота для удовлетворения потребностей своего бизнеса. Исторически же чат-боты можно разделить на две большие группы: на основе правил и на основе данных. Первый тип опирается на предопределенные команды и шаблоны. Каждая из этих команд должна быть написана разработчиком чат-бота с использованием регулярных выражений и анализа текстовых данных. Напротив, управляемые данными чат-боты полагаются на модели машинного обучения, предварительно обученные на данных диалога.
Библиотека с открытым исходным кодом — DeepPavlov [1] предлагает бесплатное и простое в использовании решение для построения диалоговых систем. DeepPavlov поставляется с несколькими предобученными компонентами для решения проблем, связанных с обработкой естественного языка (NLP). DeepPavlov [1]решает проблемы такие как: классификация текста, исправление опечаток, распознавание именованных сущностей, ответы на вопросы по базе знаний и многие другие. А установить DeepPavlov вы можете в одну строку, запустив:
pip install -q deeppavlov
*Фреймворк позволяет обучать и тестировать модели, а также настраивать их гиперпараметры. Библиотека поддерживает платформы Linux и Windows. Попробовать эту и другие модели можно в демо версии библиотеки [5].
В настоящее время современные результаты во многих задачах были достигнуты благодаря применению моделей на основе BERT. Команда DeepPavlov [1] интегрировала BERT в три последующие задачи: классификация текста, распознавание именованных сущностей и ответы на вопросы. В результате мы добились существенных улучшений во всех этих задачах.
BERT для классификации текста
Модель классификации текста на основе BERT DeepPavlov служит, например, для решения проблемы обнаружения оскорблений. Модель включает в себя прогнозирование того, считается ли комментарий, опубликованный в ходе публичного обсуждения, оскорбительным для одного из участников. Для этого случая классификация осуществляется только по двум классам: оскорбление и не оскорбление.
Любая предварительно обученная модель может быть использована для вывода как через интерфейс командной строки (CLI), так и через Python. Перед использованием модели убедитесь, что все необходимые пакеты установлены с помощью команды:
python -m deeppavlov install insults_kaggle_bert
python -m deeppavlov interact insults_kaggle_bert -d
BERT для распознавания именованных сущностей
В дополнение к моделям классификации текста DeepPavlov содержит модель на основе BERT для распознавания именованных сущностей (NER). Это одна из наиболее распространенных задач в NLP и наиболее используемая модель нашей библиотеки. При этом NER имеет множество бизнес-приложений. Например, модель может извлечь важную информацию из резюме, чтобы облегчить работу специалистов по кадрам. Кроме того, NER может использоваться для идентификации соответствующих объектов в запросах клиентов, таких как спецификации продуктов, названия компаний или данные о филиалах компании.
Команда DeepPavlov обучила модель NER на англоязычном корпусе OntoNotes, который имеет 19 типов разметки, включая PER (человек), LOC (местоположение), ORG (организация) и многие другие. Чтобы взаимодействовать с необходимо установить ее командой:
python -m deeppavlov install ner_ontonotes_bert_mult
python -m deeppavlov interact ner_ontonotes_bert_mult [-d]
BERT для ответов на вопросы
Контекстный ответ на вопрос — это задача поиска ответа на вопрос по заданному контексту (например, параграф из Википедии), где ответ на каждый вопрос является сегментом контекста. Например, тройка контекста, вопроса и ответа ниже образует правильный триплет для задачи ответа на вопрос.

Презентация работы вопросно-ответной системы в демо.
Система ответов на вопросы может автоматизировать множество процессов в бизнесе. Например, это может помочь работодателям получить ответы на основе внутренней документации компании. Кроме того, модель поможет проверить способность учащихся понимать текст в процессе обучения. Однако, в последнее время задача ответа на вопросы, основанная на контексте, привлекла большое внимание ученых. Одним из основных переломных моментов в этой области стал выпуск Стэнфордского набора данных для ответов на вопросы (SQuAD). Набор данных SQuAD привел к появлению бесчисленных подходов к решению задачи вопросно-ответных систем. Одной из наиболее успешных является модель DeepPavlov BERT. Она превосходит все остальные и в настоящее время дает результаты, граничащие с человеческими характеристиками.
Чтобы использовать модель QA на основе BERT с DeepPavlov, необходимо:
python -m deeppavlov install squad_bert
python -m deeppavlov interact squad_bert -d
Больше моделей можно найти в документации [6]. А если вам необходимы туториалы, по использованию компонент библиотеки, то ищите их в нашем официальном блоге [7].
Сегодня существует несколько подходов к разработке диалоговых агентов. При разработке разговорных агентов в основном применяется модульная архитектура для целенаправленного диалога, при котором разворачивается сценарий. Однако, зачастую пользователю необходимо сочетать целенаправленный диалог, например, с другой функциональностью — ответами на вопросы или поиском информации, а также поддержанием беседы. Таким образом идеальный диалоговый агент — это персональный помощник, который объединяет в себе разные типы агентов, переключается между своими функциональностями и характерами, в зависимости от того, в какой задаче используется. При этом, агент должен накапливать информацию о своей сущности, подстраивать свои алгоритмы под конкретного пользователя. С другой стороны, он должен иметь возможность интегрироваться с внешними сервисами. Например, делать запросы во внешние базы данных, получать оттуда информацию, обрабатывать ее, выделять важное и передавать пользователю. Для решения этой задачи в октябре 2019 года вышел первый релиз DeepPavlov Agent 1.0 — платформы для создания многозадачных чат-ботов. Агент помогает разработчикам производственных чатботов организовать несколько NLP моделей в одном конвейере.
Подробнее о платформе и возможностях можно прочитать в документации [2].
Чтобы упростить работу с предобученными NLP моделями из DeepPavlov, в сентябрь 2019 года был запущен SaaS сервис. DeepPavlov Cloud позволяет анализировать текст, а также хранить документы в облачном хранилище. Для использования моделей необходимо зарегистрироваться в нашем сервисе [8]и получить токен в разделе Tokens личного кабинета. На данный момент сервис поддерживает несколько предобученных NLP моделей на русском языке и находится в стадии тестирования системы.
Использование таких виртуальных помощников, как Amazon Alexa и Google Assistant, открыло возможности для разработки приложений, которые позволяют нам упростить выполнение многих повседневных задач, таких как заказ такси, бронирование столика в ресторане и многих других Для решения подобных задач используются целенаправленные диалоговые системы.
Оценка состояния диалога (DST — Dialogue State Traking) является основным компонентом в таких диалоговых системах. DST отвечает за перевод высказываний на человеческом языке в семантическое представление языка, в частности, за извлечение намерений (intets) и пар слот-значение (slot, value), соответствующих цели пользователя.
В ходе участия команды в DSTC8 [2] была разработана модель GOLOMB (GOaL-Oriented Multi-task BERT-based dialogue state tracker) — целеориентированная мультизадачная модель на базе BERT для отслеживания состояния диалога. Для предсказания состояния диалога модель решает несколько классификационных задач и задачу поиска подстроки. В скором времени данная модель появится библиотеке DeepPavlov. А пока можно ознакомиться с полной статьей по ссылке [9].

Презентация постера на конференции AAAI-20 в Нью-Йорке (США).
Команда DeepPavlov, состоящая из студентов и аспирантов МФТИ, прошла отбор на участие в конкурсе Alexa Prize Socialbot Grand Challenge 3 [10] – международный конкурс, посвященный развитию технологий разговорного ИИ. Целью конкурса является создание бота, который сможет свободно общаться с людьми на актуальные темы. Из 375 заявок комитет Alexa Prize отобрал 10 финалистов, в том числе нашу команду — DREAM. На данный момент команда перешла четвертьфинал конкурса и борется за выход в полуфинал. Следить за новостями и болеть за наших можно на официальной странице [3], и не забывайте подписываться на твиттер [11].

Состав команды Dream Team.
Как было сказано ранее, DeepPavlov [1] поставляется с несколькими предобученными компонентами, работающими на TensorFlow и Keras. И в этом году команда DeepPavlov стала призером конкурса от компании Google «Powered by TF Challenge» на лучший проект в области машинного обучения, который использует библиотеку TensorFlow. Из более 600 участников конкурса Google выбрал пять лучших проектов, одним из них стала библиотека DeepPavlov. Проект был представлен в официальном блоге TensorFlow [4]. Стоит отметить, что гибкость TensorFlow позволяет нам создавать любую архитектуру нейронной сети, о которой мы только можем подумать. И, в частности, мы используем TensorFlow для бесшовной интеграции с моделями на основе BERT.

Глобальная цель нашего проекта — дать возможность разработчикам и исследователям в области разговорного искусственного интеллекта использовать самые современные инструменты для создания диалоговых систем нового поколения, а также стать значимой на международном уровне площадкой в сфере AI для обмена опытом и обучению state-of-art технологиям.
Для достижения этой цели сотрудники DeepPavlov [1] проводят бесплатные семестровые обучающие курсы для студентов и сотрудников, занимающихся Computer Science. Один из них – курс: «Глубокое обучение в обработке естественного языка»», включающий в себя семинары и воркшопы. Занятия включают такие темы как: построение диалоговых систем, способы оценки диалоговой системы с возможностью генерации ответа, различные фреймворки диалоговых систем, способы оценки величины вознаграждения за счет оптимизации диалоговой политики, типы запросов пользователей, рассмотрение возможности моделирования вызовов call-центра. В 2020 году мы запустили новый набор и уже 900 студентов и сотрудников проходят обучения на бесплатной основе. Следить за новостями и набором на этот и другие курсы можно на нашем сайте [12]. А если вы пропустили курсы, но хотите научится большему — то на нашем youtube [13]канале вы всегда можно найти их в записи.
Сегодня в библиотеке DeepPavlov [14] предоставлены готовые для внедрения AI компоненты для работы с текстом, которые используются в 92х странах мира. По состоянию на февраль 2020 года количество скачиваний библиотеки достигло 100 000 тысяч, и динамика установок набирает обороты. Также, более 30 компаний в России уже внедрили и успешно используют решения на основе DeepPavlov. Это показывает, что подобного рода решения очень востребованы во всем мире.

Мы рады разделить с вами наши успехи, поэтому подготовили мероприятие для нашего сообщества. Мы хотим поделиться опытом и знаниями из реальных производственных проектов о том, как создавать лучших помощников ИИ. Присоединяйтесь к встрече пользователей и разработчиков открытой библиотеки DeepPavlov, которая состоится 28 феврлая, чтобы поговорить об искусственном интеллекте и его применении, а также встретиться с другими членами сообщества. Мероприятие пройдет в рамках недели ИИ [15] с 25 по 28 февраля. Ждем всех, кто использует DeepPavlov или хочет познакомиться поближе с нашей технологией.
Всю информацию по спикерам и программе можно найти на сайте, для посещения мероприятия обязательна регистрация.
Присоединяйтесь: DeepPavlov 2 года
Индустрия ИИ будет продолжать развиваться, и мы верим, что DeepPavlov [14] станет передовой технологией, которую каждый разработчик будет использовать для понимания естественного языка. В следующем году мы будем работать над тем, чтобы удвоить наше сообщество, увеличить инструменты с открытым исходным кодом и улучшить исследования в области машинного обучения. И не забывайте, что у DeepPavlov есть форум [16]– задавайте свои вопросы относительно библиотеки и моделей. Спасибо за внимание!
Автор: Moryshka
Источник [17]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/iskusstvenny-j-intellekt/347070
Ссылки в тексте:
[1] DeepPavlov: http://deeppavlov.ai
[2] DeepPavlov Agent: https://deeppavlov-agent.readthedocs.io/en/latest/
[3] Alexa Prize Socialbot Grand Challenge 3: https://deeppavlov.ai/dream_alexa
[4] призером конкурса: https://medium.com/tensorflow/deeppavlov-an-open-source-library-for-end-to-end-dialog-systems-and-chatbots-31cf26849e37
[5] демо версии библиотеки : https://demo.deeppavlov.ai/#/en/textqa
[6] документации: http://docs.deeppavlov.ai/en/master/
[7] официальном блоге: https://medium.com/deeppavlov/tagged/chatbots
[8] сервисе : http://2276.lnsigo.mipt.ru/
[9] ссылке: https://drive.google.com/file/d/18nqNzbreQjqezf2dwKPXefhejNJdNvQe/view
[10] Alexa Prize Socialbot Grand Challenge 3: https://developer.amazon.com/alexaprize/challenges/current-challenge/teams/mipt-dream
[11] твиттер: https://twitter.com/dream_socialbot
[12] сайте: https://deeppavlov.ai/activity
[13] youtube : https://www.youtube.com/channel/UCJ-6K2HGA0hpQytlSM7FBVQ
[14] DeepPavlov: http://docs.deeppavlov.ai/en/master/features/overview.html
[15] недели ИИ: http://aiweek-phpark.tilda.ws/?fbclid=IwAR2kaLqhiuN2GNAo9o0JwKdrhasfyUtQkOV9702G17t2QkyxgMfPxzcuaz0#rec161420662
[16] форум : https://forum.deeppavlov.ai/
[17] Источник: https://habr.com/ru/post/488818/?utm_source=habrahabr&utm_medium=rss&utm_campaign=488818
Нажмите здесь для печати.