Главная идея инструмента — снять с разработчика значительную часть сложной настройки машинного обучения. Вместо того чтобы вручную выбирать подход к обучению и подбирать параметры, он может передать системе набор данных и получить готовую модель через минимальный набор команд.
OpenAutoNLU поддерживает два ключевых класса задач: классификацию текстов и распознавание именованных сущностей (named entity recognition, NER). Библиотека сама выбирает режим обучения в зависимости от объема и структуры данных, поэтому ее можно применять и в условиях дефицита размеченных примеров.
Практическая ценность решения связана с ростом спроса на чат-боты и агентские системы, для быстрого создания которых бизнесу нужны рабочие инструменты автоматизации, разгружающие дорогостоящие команды специалистов по машинному обучению от рутины. Библиотека рассчитана на упрощенный формат разработки и позволяет быстрее получить модель, пригодную для дальнейшего промышленного использования.
В состав OpenAutoNLU также входят инструменты диагностики качества данных. Они помогают выявлять в датасетах потенциально ошибочно размеченные или неоднозначные примеры еще до начала обучения, тем самым снижая риск ухудшения качества итоговой модели и позволяя заранее оценить состояние обучающей выборки.
Отдельный акцент сделан на задаче выявления запросов вне области обучения (out-of-distribution detection, OOD detection). Система способна распознавать не только знакомые категории запросов, но и случаи, когда входящий текст не относится ни к одной из них. Для чат-ботов и голосовых интерфейсов это помогает избежать уверенных, но неверных ответов.
В экспериментах OpenAutoNLU показала лучший или сопоставимый с другими популярными фреймворками результат на большинстве тестовых наборов данных: в трех из четырех датасетов библиотека вошла в число лучших по среднему качеству классификации. В задаче выявления запросов вне области обучения она также показала более сильные результаты в сравнении с рядом других открытых инструментов.
В библиотеку также встроены функции больших языковых моделей для генерации синтетических данных, которые будут полезны в двух сценариях: для дополнения обучающих выборок, если у пользователя есть лишь несколько примеров на класс, а также для автоматического формирования тестовых наборов для приблизительной оценки качества модели.
«Работа над OpenAutoNLU заняла около полутора лет. Мы создавали ее как прикладной инструмент, который снижает порог входа в разработку систем понимания естественного языка – чтобы пользователь мог получить рабочую модель, не погружаясь глубоко в устройство алгоритмов. Самой сложной частью стало проектирование и проведение большого числа экспериментов, которые помогли определить, какие режимы обучения и механизмы настройки дают лучший результат на разных типах данных. При этом для нас было важно не только автоматизировать обучение, но и добавить функции, критичные для реальных сценариев, включая анализ качества данных, генерацию недостающих примеров и способность модели распознавать запросы, выходящие за пределы ее знаний», — подчеркнул технический лидер подкоманды из центра обработки естественного языка MWS AI Григорий Аршинов.
OpenAutoNLU доступна как модуль платформы для создания и управления ИИ-агентами MWS AI Agents Platform.