Диссертация (1100480), страница 17
Текст из файла (страница 17)
Насколько нам известно, для русскогоязыка подобного измерения не проводилось, однако ручной анализрезультатов показывает, что лемматизация в подавляющем большинствеслучаев выполняется правильно. Кроме того, отметим, что в рамках нашейзадачи нам важна не столько правильность леммы, сколько совпадение лемм усоответствующих слов из тренировочной и тестовой выборки, что являетсяболее мягким условием.Наконец,послеавтоматическойморфологическойобработкиилемматизации, данные попадают на вход синтаксического парсера. Мыиспользуем модель MaltParser [Nivre, Hall, Nilsson, 2006], натренированную наосновекорпусаСинТагРус.MaltParserпредставляетсобойгенераторитеративных синтаксических парсеров, которые последовательно определяютнабор синтаксических зависимостей между словами в предложении на основеморфологической информации и леммы слова.
Генератор, а также инструментдля подбора параметров модели MaltOptimizer [Ballesteros, Nivre, 2012],находятся в открытом доступе, и обучить модель с использованиемальтернативного набора тегов не составляет труда, однако мы принялирешение использовать готовую модель для того, чтобы быть уверенными всовместимости наших компонентов предобработки.
Синтаксический парсер,который мы используем, имеет качество порядка 82.3 LAS и 89.0 UAS [Sharoff,Nivre, 2011], что соответствует результатам, полученным для этого парсера наматериале других языков.После предварительной обработки данные передаются непосредственнов нашу систему классификации актантов. Система выполнена на языкепрограммирования python. Для операций, связанных с машинным обучением,116мы используем библиотеку scikit-learn [Pedregosa и др., 2011], в частности, вроли классификатора используется имплементация LinearSVC с параметрами поумолчанию. Для сбора статистики и обработки данных была использованабиблиотека pandas [McKinney, 2011], которая предоставляет набор базовыхопераций для работы с данными.Какужеуказывалось,кластеризациявнашейимплементациивыполняется с помощью инструмента Chinese Whispers, созданного авторамиметода [Biemann, 2006b].
В качестве исходного векторного пространства мыиспользовалимодельRusVectōrēsнаосновеновостногокорпуса,предложенную А. Кутузовым [Kutuzov, Andreev, 2015]. Для работы с моделью идляизвлечениясписковсемантическиблизкихсловиспользоваласьбиблиотека gensim, [Rehurek, Sojka, 2010]. В случае, когда мы строиликластеризацию только на основе имён существительных, определение частиречи выполнялось с помощью анализатора pymorphy22.Структуры и модули, ответственные за хранение и представлениеданных, за трансформацию форматов, за общий процесс обработки данных иза генерацию отчётов, были имплементированы на языке python. Для храненияинформации о деревьях зависимостей, для поиска путей для свойства "путь" иизвлечения списков потомков для проекции разметки FrameBank назависимостныеузлыбылсозданмодульпредставлениядеревьевзависимостей для языка python на основе библиотеки для работы с графамиnetworkx3.Наконец, оптимизация на основе целочисленного программирования внашей реализации системы выполняется с помощью библиотеки pulp [Mitchell,Sullivan, Dunning, 2011].2https://pymorphy2.readthedocs.org/en/latest/3https://networkx.github.io/117Каквидноизописания,приведенноговыше,предлагаемаяимплементация достаточно неоднородна и объединяет в себе множествовнешних компонентов.
С практической точки зрения было бы удобно иметьцельную систему, которая кроме функционирования в исследовательскомрежиме с предобработанными тестовыми и тренировочными данными былабы также способна работать с произвольными входными данными. В нашемслучае создание подобной системы было осложнено следующими факторами.Во-первых, основная логика нашей системы выполнена на языке python,предобработка же выполняется с помощью внешнего набора инструментов,который на практике представляет собой разрозненный набор скриптов ибиблиотек,интегрироватькоторыйвсистемупредставляетсязатруднительным.
Во-вторых, наша система не включает в себя модуляразрешения глагольной неоднозначности, однако в случае, если мынамереваемся работать с произвольными входными данными, глагольнаянеоднозначность должна быть снята, что в настоящий момент представляетсятрудновыполнимым. При условии решения упомянутых проблем созданиеполноценной системы, способной работать с произвольными данными,представляется вполне выполнимой задачей и было бы естественнымпродолжением описанной в данной диссертации исследовательской работы.118III.
Экспериментальная оценка ирезультатыIII.1 Предмет и критерии оценкиНастоящая глава диссертации посвящена экспериментальной оценкерезультатов работы предложенной системы. Для задач машинного обученияэта область хорошо разработана и существует целый ряд стандартныхпараметров, по которым можно определить, насколько хорошо работаетсистема. Поскольку мы сформулировали задачу автоматической обработкиактантов как задачу классификации, речь далее пойдёт только о мерахкачества, применимых к задачам классификации.Задача оценки качества работы классификатора сводится к следующему.Предположим, что нам даны тренировочные данные, на которых системаобучается. Эти данные разбиты на классы, и мы предполагаем, что для каждогокласса существует некоторый абстрактный концепт, который управляетпорождением экземпляров этого класса.
Задача классификации – научитьсяраспознавать этот концепт и отличать экземпляры данного класса от других наосновании тренировочных данных. В то же время тренировочные данные119являются, как правило, далеко не исчерпывающими, т.к. для полногоисчислениявсехэкземпляров,принадлежащихданномуконцепту,потребовалось бы исчислить все экземпляры вообще, что не представляетсявозможным. В этой связи мы обучаем классификатор на ограниченной пообъёмувыборкеобъектов,обучающейвыборке,ичемболеерепрезентативной была эта выборка, тем в большей степени полученныйклассификатор будет соответствовать действительности.Впрочем, установить, насколько концепт, полученный классификатором,соответствует реальному положению дел, также не представляется возможнымпо тем же самым причинам: для того, чтобы напрямую сравнить функцию,построенную классификатором, с целевой функцией, мы должны были быиметь доступ к этой целевой функции (и если бы это было так, не было бынеобходимости в обучении классификатора).
Поэтому применяются различныеметоды аппроксимации, позволяющие приблизительно оценить качествоработы классификатора и сравнивать различные классификаторы между собой.Можно было бы оценивать качество работы системы используя те же данные,на которых она была натренирована, однако подобная оценка зачастуюявляется крайне неточной из-за переобучения. Следующий простой примериллюстрирует это явление.Рисунок 36: Проблема переобучения120Как мы видим, первая система идеально работает на тренировочныхданных, однако обнаруженная ей закономерность слишком сложна и врезультате новые данные оказываются классифицированы неверно. Концепт,выделенный второй системой, проще и хотя качество работы второгоклассификатора на тренировочной выборке ниже, он лучше справляется склассификацией новых экземпляров.Существуетнесколькосценариевоценкикачествасистемсиспользованием новых данных.
Наиболее тривиальной является оценкарезультатов работы системы экспертом. Исследователь вручную анализируетрезультаты работы системы и отмечает, в каких случаях система выдаёт верныйответ, а в каких – допускает ошибку. Этот подход является наиболее гибким,однаконеэффективнымвсилусубъективностиоценокэкспертаинеобходимости производить оценку каждый раз заново. Тем не менее, этотподход часто используется на ранних этапах разработки системы и позволяетделать выводы об особенностях работы алгоритмов, влиянии свойств и т.д.Вторая популярная возможность – автоматическая оценка качества натестовой выборке.
Суть этого подхода состоит в том, что часть экземпляровизолируется и используется для тестирования системы в качестве нового,"неизвестного" материала. Этот подход позволяет объективно измеритькачество работы системы, сравнивать системы между собой и быстропроизводить оценку качества работы при изменении параметров системы.Недостатки этого подхода состоят в расходовании аннотированных данных(которые можно было бы использовать для обучения) и чувствительности ксоставу тестовой выборки. Для борьбы с этим используется случайный выборэкземпляров и кросс-валидация, при которой данные разделяются нанесколько фрагментов, каждый из которых используется для тестированиясистемы, натренированной на оставшихся данных.
В качестве окончательногопоказателя используется усредненное качество работы системы по этим121фрагментам. Наконец, последний вариант, используемый в прикладныхсистемах – проверка качества системы на этапе применения. Этот способподходит только для реально используемых систем и в научных работахприменяется редко.В рамках данного исследования мы будем использовать оценку качествана основании тестовой выборки. В наиболее интересных случаях мы прибегаемк экспертному анализу результатов.Существует несколько способов оценки качества работы классификаторас использованием тестовой выборки.
Ключевым элементом оценки качестваявляется матрица ошибок (confusion matrix), которая отражает количествоправильных и неправильных срабатываний классификатора на тестовыхданных. В случае бинарной классификации матрица выглядит следующимобразом:predicted\actual+-+True positive (TP)False positive (FP)-False negative (FN)True negative (TN)Таблица 5: Структура матрицы ошибокМатрица может быть расширена и для общего случая, где число классовбольше 2.Наиболеепримитивныйметодоценкикачестваклассификациизаключается в подсчёте числа правильных срабатываний классификатораотносительно общего числа срабатываний, или true positive rate (TPR): = /( + )В паре с этим показателем используется показатель false negative rate(FNR): = /( + )122Гибридом этих двух показателей является мера аккуратности4 (Accuracy,ACC), которая вычисляется для случая бинарной классификации как = ( + )/( + + + )Эта мера отражает общее качество работы классификатора и частоиспользуется в исследованиях по машинному обучению.
Тем не менее, длязадач нашего исследования она подходит не очень хорошо. Как мы помним,наша формулировка задачи SRL подразумевает классификацию экземпляров посемантическим ролям. В случае отсутствия роли экземпляр получаетспециальныую метку класса None. Это так называемый класс большинства, икачество работы классификатора, определяющего этот класс, будет взначительной степени определять наш показатель аккуратности.