Команда лаборатории нейронных систем и глубокого обучения МФТИ, работающая над проектом DeepPavlov, создала интеллектуального помощника с искусственным интеллектом DeepPavlov DREAM. Этот ИИ-помощник основан на социальном боте, который принимал участие в конкурсе Alexa Prize Socialbot Grand Challenge 3 от Amazon. И сегодня мы расскажем, на что он способен.
![](https://habrastorage.org/r/w1560/webt/ed/kc/yt/edkcytac9tblninwocberz95yda.png)
Представьте, что в будущем ИИ-помощники будут понимать нас и разговаривать с нами на одном языке. Представьте, что они будут учиться и учить нас. Представьте, что они станут нашими верными друзьями. Они будут делать все, что мы захотим…
Сегодня мы готовы поделиться первой версией такого помощника. DeepPavlov DREAM — это ИИ-помощник, основанный на социальном боте, созданном командой лаборатории для участия в конкурсе Alexa Prize Socialbot Grand Challenge 3 от Amazon. В настоящее время бот доступен на нашем демо-сайте и в мессенджере Telegram и готов общаться, но только на английском языке. DREAM сочетает в себе около 40 различных навыков общения, позволяющих вести диалог в открытой форме на различные темы. В основе помощника лежат современные NLP-модели и компоненты, включая 14 аннотаторов, 4 постаннотатора и интеграцию графа знаний от WikiData. И да, не забываем общаться с DREAM!
DREAM создан на основе DeepPavlov Agent — оркестратора диалогов с открытым исходным кодом. Этот оркестратор поддерживает управление диалогом через несколько скиллов различных типов. В нашем блоге на Medium мы подготовили простой пример, который может реализовать простую конфигурацию DP Agent с использованием только одного настраиваемого скилла и встроенных селекторов навыков и ответов. Прочтите его, чтобы узнать, как создавать помощников ИИ с использованием технологии DeepPavlov.
![](https://habrastorage.org/r/w1560/webt/0t/kp/qa/0tkpqa7bk2gpizm84hxdmjl08sw.png)
Но а если вы хотите углубиться в подробности архитектуры бота DREAM, ознакомьтесь с техническим отчетом команды DREAM для конкурса Alexa Prize Socialbot Grand Challenge 3.
Разработка бота под конкретную задачу требует настройки NLU (natural language understanding) и управления диалогами. Вначале все кажется простым и понятным, но вскоре в NLU добавляется множество функций, способных охватить все разнообразие как того, что может сказать пользователь, так и сценариев, нужных для решения проблем пользователей. Для расширения функциональности и ценности продукта интегрируется все больше и больше скриптов / действий / моделей. Для большего количества скриптов требуется больше функций, и все это превращается в продвинутого ИИ-помощника. Этот помощник может достичь определенной функциональной зрелости, но обычно он достигает потолка сложности, когда зависимости между компонентами серьезно ограничивают возможности для рефакторинга помощника и его дальнейшей разработки. Эта проблема особенно остро ощущается в критически важных приложениях с несколькими доменами, поскольку даже небольшие изменения в системе могут привести к совершенно непредсказуемому поведению.
DeepPavlov решает эту проблему, вводя модульную архитектуру для разговорных агентов. В структуре DP Agent функциональные возможности для различных задач упакованы в отдельные разговорные навыки с понятными интерфейсами. Этот дополнительный уровень абстракции позволяет добавлять новые навыки без вмешательства в существующие компоненты системы. Диалог контролируется как на уровне отдельных навыков, так и на уровне диалога в целом. MVP для новой задачи можно протестировать изолированно перед интеграцией в ИИ-помощник.
Однако многие навыки, такие как болталка, возможность поставить будильник или вести календарь и т. д., являются одинаковыми для большинства случаев использования и уже активно реализуются. Тогда зачем изобретать велосипед заново? Но DP Agent позволяет создать дистрибутив диалогового агента, который включает набор основных базовых навыков. То есть по умолчанию предоставляет базовые функциональные возможности «из коробки», а далее может быть расширен за счет подключения специальных навыков.
![](https://habrastorage.org/r/w1560/webt/rz/t7/ft/rzt7ftdz9qrwqe73vb2qveadsyc.png)
Открытая архитектура DP Agent особенно эффективна для создания и поддержки сложных диалоговых решений. Интеграция навыков в виде микросервисов делает помощника легко масштабируемым. А развитие и поддержка навыков могут эффективно выполняться группой энтузиастов, цельной продуктовой командой или субподрядчиками.
DREAM — это первый мультифункциональный и экспериментальный ИИ-помощник, созданный с использованием диалогового стека продуктов DeepPavlov. В ближайшие месяцы мы начнем выкладывать исходный код навыков, сервисов и инструментов DREAM. А также продолжим рассказывать в нашем блоге о том, как создавать более сложных ИИ-помощников с помощью DREAM.
Дорожная карта DeepPavlov DREAM включает в себя публикацию примеров конфигов, инструментов для проектирования мультискилл-ассистентов и управления зависимостями. Мы планируем поддерживать в следующих обновлениях разностороннее понимание предложений, плавное заполнение форм, отслеживание контекста, обучение у пользователей и многие другие сценарии. С дорожной картой вы можете ознакомиться в блоге.
ИИ — это фронтир технологического прогресса, и открытый исходный код является одной из его основных движущих сил. Сегодня мы рады рассказать о нашей программе для контрибьюторов DeepPavlov Contributor Program. Это фантастическая возможность присоединиться к DeepPavlov в нашем невероятном приключении на пути к большой мечте — созданию ИИ-помощников, которые могут понимать нас, учить, учиться у нас и помогать нам становиться лучше.
Мы продолжим публиковать обновления в нашем блоге DP, а если вы хотите получать от нас новости оперативно, то подпишитесь на нашу рассылку.
![](https://habrastorage.org/r/w1560/webt/vy/te/0c/vyte0cvt1cgw7idyo0nugbzcdde.png)
![](https://habrastorage.org/webt/ed/kc/yt/edkcytac9tblninwocberz95yda.png)
Все началось с мечты
Представьте, что в будущем ИИ-помощники будут понимать нас и разговаривать с нами на одном языке. Представьте, что они будут учиться и учить нас. Представьте, что они станут нашими верными друзьями. Они будут делать все, что мы захотим…
Сегодня мы готовы поделиться первой версией такого помощника. 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.
![](https://habrastorage.org/webt/0t/kp/qa/0tkpqa7bk2gpizm84hxdmjl08sw.png)
Но а если вы хотите углубиться в подробности архитектуры бота DREAM, ознакомьтесь с техническим отчетом команды DREAM для конкурса Alexa Prize Socialbot Grand Challenge 3.
Почему стоит использовать DeepPavlov DREAM?
Разработка бота под конкретную задачу требует настройки NLU (natural language understanding) и управления диалогами. Вначале все кажется простым и понятным, но вскоре в NLU добавляется множество функций, способных охватить все разнообразие как того, что может сказать пользователь, так и сценариев, нужных для решения проблем пользователей. Для расширения функциональности и ценности продукта интегрируется все больше и больше скриптов / действий / моделей. Для большего количества скриптов требуется больше функций, и все это превращается в продвинутого ИИ-помощника. Этот помощник может достичь определенной функциональной зрелости, но обычно он достигает потолка сложности, когда зависимости между компонентами серьезно ограничивают возможности для рефакторинга помощника и его дальнейшей разработки. Эта проблема особенно остро ощущается в критически важных приложениях с несколькими доменами, поскольку даже небольшие изменения в системе могут привести к совершенно непредсказуемому поведению.
Значит ли это, что мечту о более умных помощниках нужно отложить на отдаленное будущее?
DeepPavlov решает эту проблему, вводя модульную архитектуру для разговорных агентов. В структуре DP Agent функциональные возможности для различных задач упакованы в отдельные разговорные навыки с понятными интерфейсами. Этот дополнительный уровень абстракции позволяет добавлять новые навыки без вмешательства в существующие компоненты системы. Диалог контролируется как на уровне отдельных навыков, так и на уровне диалога в целом. MVP для новой задачи можно протестировать изолированно перед интеграцией в ИИ-помощник.
Однако многие навыки, такие как болталка, возможность поставить будильник или вести календарь и т. д., являются одинаковыми для большинства случаев использования и уже активно реализуются. Тогда зачем изобретать велосипед заново? Но DP Agent позволяет создать дистрибутив диалогового агента, который включает набор основных базовых навыков. То есть по умолчанию предоставляет базовые функциональные возможности «из коробки», а далее может быть расширен за счет подключения специальных навыков.
![](https://habrastorage.org/webt/rz/t7/ft/rzt7ftdz9qrwqe73vb2qveadsyc.png)
Открытая архитектура DP Agent особенно эффективна для создания и поддержки сложных диалоговых решений. Интеграция навыков в виде микросервисов делает помощника легко масштабируемым. А развитие и поддержка навыков могут эффективно выполняться группой энтузиастов, цельной продуктовой командой или субподрядчиками.
DREAM — это первый мультифункциональный и экспериментальный ИИ-помощник, созданный с использованием диалогового стека продуктов DeepPavlov. В ближайшие месяцы мы начнем выкладывать исходный код навыков, сервисов и инструментов DREAM. А также продолжим рассказывать в нашем блоге о том, как создавать более сложных ИИ-помощников с помощью DREAM.
Дорожная карта DeepPavlov DREAM включает в себя публикацию примеров конфигов, инструментов для проектирования мультискилл-ассистентов и управления зависимостями. Мы планируем поддерживать в следующих обновлениях разностороннее понимание предложений, плавное заполнение форм, отслеживание контекста, обучение у пользователей и многие другие сценарии. С дорожной картой вы можете ознакомиться в блоге.
Какой вклад я могу сделать в развитие ИИ?
ИИ — это фронтир технологического прогресса, и открытый исходный код является одной из его основных движущих сил. Сегодня мы рады рассказать о нашей программе для контрибьюторов DeepPavlov Contributor Program. Это фантастическая возможность присоединиться к DeepPavlov в нашем невероятном приключении на пути к большой мечте — созданию ИИ-помощников, которые могут понимать нас, учить, учиться у нас и помогать нам становиться лучше.
У нас уже есть несколько вдохновляющих историй участников нашей библиотеки DP, и мы приглашаем вас узнать больше о программе здесь.
Мы продолжим публиковать обновления в нашем блоге DP, а если вы хотите получать от нас новости оперативно, то подпишитесь на нашу рассылку.
![](https://habrastorage.org/webt/vy/te/0c/vyte0cvt1cgw7idyo0nugbzcdde.png)
Ну и напоследок
- Пообщайтесь с DeepPavlov DREAM Socialbot прямо сейчас (web, Telegram) и поделитесь своим мнением с нами (не забудьте оценить свой разговор!).
- Посмотрите простой туториал о том, как создавать диалоговые ИИ-решения с DeepPavlov.
- Узнайте о программе контрибьюторов DeepPavlov.
- Подпишитесь на нашу новостную рассылку и блог и следите за обновлениями.
- И да, мы будем рады вашей поддержке и звездочкам на GitHub: DeepPavlov и DeepPavlov Agent.