Команда лаборатории нейронных систем и глубокого обучения МФТИ, работающая над проектом DeepPavlov, создала интеллектуального помощника с искусственным интеллектом DeepPavlov DREAM. Этот ИИ-помощник основан на социальном боте, который принимал участие в конкурсе Alexa Prize Socialbot Grand Challenge 3 от Amazon. И сегодня мы расскажем, на что он способен.



Все началось с мечты


Представьте, что в будущем ИИ-помощники будут понимать нас и разговаривать с нами на одном языке. Представьте, что они будут учиться и учить нас. Представьте, что они станут нашими верными друзьями. Они будут делать все, что мы захотим…

Сегодня мы готовы поделиться первой версией такого помощника. DeepPavlov DREAM — это ИИ-помощник, основанный на социальном боте, созданном командой лаборатории для участия в конкурсе Alexa Prize Socialbot Grand Challenge 3 от Amazon. В настоящее время бот доступен на нашем демо-сайте и в мессенджере Telegram и готов общаться, но только на английском языке. DREAM сочетает в себе около 40 различных навыков общения, позволяющих вести диалог в открытой форме на различные темы. В основе помощника лежат современные NLP-модели и компоненты, включая 14 аннотаторов, 4 постаннотатора и интеграцию графа знаний от WikiData. И да, не забываем общаться с DREAM!

P.S.: поделитесь с нами своими отзывами о том, как его улучшить (и да, это все еще early stage, так что не судите строго).

DREAM создан на основе DeepPavlov Agent — оркестратора диалогов с открытым исходным кодом. Этот оркестратор поддерживает управление диалогом через несколько скиллов различных типов. В нашем блоге на Medium мы подготовили простой пример, который может реализовать простую конфигурацию DP Agent с использованием только одного настраиваемого скилла и встроенных селекторов навыков и ответов. Прочтите его, чтобы узнать, как создавать помощников ИИ с использованием технологии DeepPavlov.



Но а если вы хотите углубиться в подробности архитектуры бота DREAM, ознакомьтесь с техническим отчетом команды DREAM для конкурса Alexa Prize Socialbot Grand Challenge 3.

Почему стоит использовать DeepPavlov DREAM?


Разработка бота под конкретную задачу требует настройки NLU (natural language understanding) и управления диалогами. Вначале все кажется простым и понятным, но вскоре в NLU добавляется множество функций, способных охватить все разнообразие как того, что может сказать пользователь, так и сценариев, нужных для решения проблем пользователей. Для расширения функциональности и ценности продукта интегрируется все больше и больше скриптов / действий / моделей. Для большего количества скриптов требуется больше функций, и все это превращается в продвинутого ИИ-помощника. Этот помощник может достичь определенной функциональной зрелости, но обычно он достигает потолка сложности, когда зависимости между компонентами серьезно ограничивают возможности для рефакторинга помощника и его дальнейшей разработки. Эта проблема особенно остро ощущается в критически важных приложениях с несколькими доменами, поскольку даже небольшие изменения в системе могут привести к совершенно непредсказуемому поведению.

Значит ли это, что мечту о более умных помощниках нужно отложить на отдаленное будущее?


DeepPavlov решает эту проблему, вводя модульную архитектуру для разговорных агентов. В структуре DP Agent функциональные возможности для различных задач упакованы в отдельные разговорные навыки с понятными интерфейсами. Этот дополнительный уровень абстракции позволяет добавлять новые навыки без вмешательства в существующие компоненты системы. Диалог контролируется как на уровне отдельных навыков, так и на уровне диалога в целом. MVP для новой задачи можно протестировать изолированно перед интеграцией в ИИ-помощник.

Однако многие навыки, такие как болталка, возможность поставить будильник или вести календарь и т. д., являются одинаковыми для большинства случаев использования и уже активно реализуются. Тогда зачем изобретать велосипед заново? Но DP Agent позволяет создать дистр��бутив диалогового агента, который включает набор основных базовых навыков. То есть по умолчанию предоставляет базовые функциональные возможности «из коробки», а далее может быть расширен за счет подключения специальных навыков.



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

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

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

Какой вклад я могу сделать в развитие ИИ?


ИИ — это фронтир технологического прогресса, и открытый исходный код является одной из его основных движущих сил. Сегодня мы рады рассказать о нашей программе для контрибьюторов DeepPavlov Contributor Program. Это фантастическая возможность присоединиться к DeepPavlov в нашем невероятном приключении на пути к большой мечте — созданию ИИ-помощников, которые могут понимать нас, учить, учиться у нас и помогать нам становиться лучше.

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

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



Ну и напоследок