Обработка естественного языка: как создать «грамотного робота»
Узнали у разработчиков, почему научить машину писать — легко, а искать ошибки в написанном — трудно.
Уже десяток российских команд включились в сложнейшую задачу по машинному обучению. Вот её условия:
Дано: реальные сочинения с ЕГЭ на двух языках — русском и английском. Их разметили школьные учителя: выделили смысловые блоки (аргументы, примеры, выводы) и нашли ошибки. В их числе — нарушение логики, искажение смысла, несоответствие теме.
Задача: создать алгоритм, который сможет размечать такие же тексты и находить ошибки не хуже учителей. То есть разметка алгоритма должна отличаться от разметок педагогов не сильнее, чем разметки педагогов отличаются друг от друга. Язык можно выбрать на своё усмотрение.
Мы пообщались с тремя командами, работающими над решением.
- «Антиплагиат» разработал одноимённый сервис обнаружения заимствований в текстах. В конкурсной команде эксперты в области машинного обучения, исследователи-алгоритмисты и специалисты по подготовке данных.
- В составе команды «Наносемантика» — сотрудники «Нейросетей Ашманова» и системы проверки правописания «ОРФО»: нейросетевики, разработчики и лингвисты.
- Команда DeepPavlov сформировалась во время работы над библиотекой разговорного AI DeepPavlov. Все участники — сотрудники лаборатории МФТИ.
Расскажите про своё решение. Какие ошибки оно уже определяет? Использовали в нём готовые модули или собственные наработки?
Антиплагиат: Делиться секретами до подведения хотя бы предварительных итогов было бы очень самонадеянно. Создание такого непростого алгоритма — задача творческая, каждая команда идёт к её решению особым путём.
Что касается результатов, то наш алгоритм приблизился к человеку в плане обнаружения грамматических ошибок.
Наносемантика: Конкурс лежит прямо в русле нашей работы. Мы развиваем одну из самых продвинутых систем проверки правописания — «ОРФО» — и как раз сейчас доделываем для неё английский граммер. А заодно экспериментируем с нейросетевыми модулями для выявления сложных ошибок — например, в расстановке артиклей, употреблении форм глагола или выборе слов из тех, которые для иностранца звучат похоже (steal вместо still или thin вместо thing).
Мы не стали ничего выдумывать, а просто попробовали подготовить бета-версию некоего продукта, напоминающего тот, который мы собираемся выпустить в будущем. Получилась в лучшем случае альфа (что тоже неплохо) — и, конечно, не хватило нескольких дней на то, чтобы выявить и исправить кучу крайне обидных ошибок. Не говоря уже о том, чтобы что-то отполировать.
Если в двух словах, то наше решение — соединение нейромодулей с традиционным граммером на правилах, который пока находит больше ошибок, но и сам ошибается чаще.
Это решение не было самым простым — кажется, мы знаем, как написать примитивную заглушку, которая формально дала бы результаты получше. И не удивлюсь, если какая-то из команд в условиях цейтнота так и поступила. Но мы заметно продвинулись в тех направлениях, в которых хотели продвинуться. Судя по разметке экспертов в доступных эссе, наша модель уже исправляет артикли не хуже среднестатистического учителя. Не знаем, насколько это серьёзный комплимент.
На скриншоте — редкий пример текста, в котором найдено много ошибок. К другим эссе у нейросети претензий было меньше — часто одна-две, иногда ни одной. Сочинение, впрочем, действительно выдающееся: внимательный читатель, хотя бы немного знающий английский, легко найдёт в нём ошибки, которые наши модули пропустили.
Среди отмеченных ошибок, к сожалению, встречаются и ложные срабатывания. В предложении «дети предпочитают компьютерные игры обучению» нейросеть предлагает добавить местоимение (them), но тогда смысл исказится: «дети предпочитают играть в компьютерные игры, а не изучать их».
DeepPavlov: Мы использовали буквально всё, что могли, из нашей библиотеки и не только из неё. Для конкурса Alexa Prize от Amazon мы разработали DeepPavlov Agent — платформу для оркестрирования диалогов. Она отлично подошла и для этого конкурса и позволила нам совмещать несколько моделей, управлять ими и агрегировать результаты.