Соревнование ML-систем на лингвистическом материале. Как мы учились заполнять пропуски |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2019-05-29 16:15 Каждый год в Москве проходит конференция "Диалог", в которой участвуют лингвисты и специалисты по анализу данных. Они обсуждают, что такое естественный язык, как научить машину его понимать и обрабатывать. В рамках конференции традиционно проводятся соревнования (дорожки) Dialogue Evaluation. В них могут участвовать как представители крупных компаний, создающих решения в области обработки естественного языка (Natural Language Processing, NLP), так и отдельные исследователи. Может показаться, что если ты простой студент, то тебе ли тягаться с системами, которые крупные специалисты больших компаний создают годами. Dialogue Evaluation — это как раз тот случай, когда в итоговой турнирной таблице простой студент может оказаться выше именитой компании. Этот год станет уже 9-ым по счету, когда на «Диалоге» проводится Dialogue Evaluation. Каждый год количество соревнований разное. Темами для дорожек уже становились такие задачи NLP, как анализ тональности (Sentiment Analysis), разрешение лексической многозначности (Word Sense Induction), нахождение опечаток (Automatic Spelling Correction), выделение сущностей (Named Entity Recognition) и другие.
В этом году четыре группы организаторов подготовили такие дорожки:
Сегодня мы расскажем про последнюю из них: что такое эллипсис и зачем учить машину восстанавливать его в тексте, как мы создавали новый корпус, на котором можно решить эту задачу, как проходили сами соревнования и каких результатов смогли добиться участники. AGRR-2019 (Automatic Gapping Resolution for Russian) Осенью 2018 года перед нами встала исследовательская задача, связанная с эллипсисом — намеренным пропуском цепочки слов в тексте, которую можно восстановить из контекста. Как автоматически найти в тексте такой пропуск и правильно его заполнить? Это легко для носителя языка, но научить этому машину непросто. Довольно быстро стало понятно, что это хороший материал для соревнования, и мы взялись за дело. Вот такая вот задача... Тут нам неизбежно придется сделать популярно-лингвистическое введение о том, что такое эллипсис вообще и гэппинг как один из его видов. (3) Я принял ее за итальянку, а его — за шведа. Во всех примерах больше двух предложений (клауз), они сочинены между собой. В первой клаузе присутствует глагол (лингвисты, скорее, скажут «предикат») принял и его участники: я, ее и за итальянку. Во второй клаузе выраженного глагола нет, есть только не связанные синтаксически между собой «остатки» (или ремнанты) его и за шведа, но мы понимаем, как восстанавливается пропуск. Для восстановления пропуска мы обращаемся к первой клаузе и копируем из нее всю структуру (пример 4). Заменяем только те части, для которых в неполной клаузе есть «параллельные» ремнанты. Копируем предикат принял, ее заменяем на его, за итальянку заменяем на ремнант за шведа. Для я параллельного ремнанта не нашлось, значит, копируем его без замены. (4) Я принял ее за итальянку, а его я принял за шведа. Похоже, что для восстановления пропуска нам достаточно определить, есть ли в этом предложении гэппинг, найти неполную клаузу и связанную с ней полную (из которой берется материал для восстановления), а затем понять, какие в неполной клаузе есть «остатки» (ремнанты) и чему они соответствуют в полной. Кажется, этих условий достаточно, чтобы эффективно заполнить пробел. Таким образом мы пытаемся сымитировать процесс в голове у человека, читающего или слышащего текст, в котором возможно есть пропуски. Так, а зачем это нужно? Понятно, что у человека, который впервые слышит про эллипсис и связанные с ним сложности обработки, может возникнуть закономерный вопрос «А зачем». Скептикам хочется Как мы создавали корпус Наш корпус в первую очередь предназначается для обучения автоматических систем, а значит, крайне важно, чтобы он был объемным и разнообразным. Руководствуясь этим, мы выстроили работу по сбору данных следующим образом. Для корпуса мы отобрали тексты разных жанров: от технической документации и патентов до новостей и постов из социальных медиа. Все они были размечены парсером ABBYY. В течение месяца мы распределяли между лингвистами-разметчиками данные. Разметчикам предлагалось, не меняя разметку, оценить ее по шкале: Формат разметки Мы сознательно отказались от использования сторонних парсеров и разработали разметку, в которой все интересующие нас элементы линейно отмечены в текстовой строке. Мы использовали два типа разметки. Первый, человекочитаемый, предназначен для работы с разметкой, и в нем удобно проводить анализ ошибок полученных систем. При таком способе квадратными скобками внутри предложения отмечаются все элементы гэппинга. Каждая пара скобок маркирована названием соответствующего элемента. Мы использовали следующие обозначения: Приведем примеры предложений с гэппингом со скобочной разметкой.Скобочная разметка подходит для анализа материала. В корпусе же данные хранятся в другом формате, который при желании можно легко конвертировать в скобочный. Одна строка соответствует одному предложению. В колонках указывается наличие гэппинга в предложении, и для каждой возможной метки в своей колонке даны символьные оффсеты начала и конца отрезка, соответствующего элементу. Так выглядит разметка по оффсетам, соответствующая скобочной разметке в (). Задачи для участников Участники AGRR-2019 могли решить любые из трех задач:
Каждая следующая задача так или иначе должна решать предыдущую. Понятно, что любая разметка возможна только в предложениях, на которых бинарная классификация показывает положительный класс (гэппинг есть), а полная разметка включает в себя и нахождение границ пропущенного и контролирующего предикатов. Метрики Для задачи бинарной классификации мы использовали стандартные метрики: точность и полноту, — а результаты участников ранжировались по f-мере. Ход соревнования Параллельно со сбором корпуса мы принимали заявки на участие в соревновании. В итоге мы зарегистрировали больше 40 участников. Затем мы выложили обучающий корпус и запустили соревнования. У участников было 4 недели на то, чтобы построить свои модели. Результаты соревнования До финала дошли 9 команд, среди которых — представители двух IT-компаний, исследователи из МГУ, МФТИ, НИУ ВШЭ и ИППИ РАН. Итак, в этой статье мы рассказали, как, взяв за основу редкое языковое явление, сформулировать задачу, подготовить корпус и провести соревнования. Польза от такой работы есть и для NLP-сообщества, ведь соревнования помогают сравнить различные архитектуры и подходы между собой на конкретном материале, а лингвисты получают корпус редкого явления с возможностью его пополнения (используя решения победителей). Собранный корпус в несколько раз превышает объемы существующих на данный момент корпусов (причем для гэппинга объем корпуса на порядок превосходит объемы корпусов не только для русского, но и вообще для всех языков). Все данные и ссылки на решения участников можно найти в нашем гитхабе. 30 мая на специальной сессии "Диалога", посвященной соревнованиям по автоматическому анализу гэппинга, будут подведены итоги AGRR-2019. Мы расскажем об организации соревнования и подробно остановимся на содержании созданного корпуса, а участники представят выбранные архитектуры, с помощью которых они решали задачу. NLP Advanced Research Group Источник: habr.com Комментарии: |
|