Автореферат (1100479), страница 3
Текст из файла (страница 3)
именно этот тип ролей использовался приразметкекорпусапримеровпослужившегоFrameBank,материаломдлядиссертационного исследования. В предложенной нами системе задача актантовтрактуется как задача классификации узлов деревьев зависимостей, т.к. данныйподход является более естественным для языков со свободным порядком слов, какимявляется русский язык. Предложенная система также содержит модуль глобальнойоптимизации на основе целочисленного программирования. Решение о том, являетсяли узел актантом, и о том, какую семантическую роль он имеет, принимается совместно,в один шаг, а не в два, как это делалось в ранних системах автоматической разметкисемантических ролей.Раздел 2 Главы II описывает исходные данные, которые были использованы дляобучения и тестирования классификатора: коллекцию примеров из корпуса FrameBank.FrameBank представляет собой корпусно-лексикографический ресурс, описывающийлексическиеконструкциирусскогоязыкаспомощьюспециальнымобразомразмеченных предложений из Национального корпуса русского языка.
Центральныморганизующим компонентом системы разметки, используемой в FrameBank, являетсялексическая конструкция.Каждой конструкции в системе FrameBank соответствует набор примеров изНационального корпуса русского языка (НКРЯ). Примеры представляют собой отрывкитекста, разбитые на предложения и слова. Для каждого слова дана морфологическаяинформация,полученнаяспомощьюавтоматическогоанализатора,атакжесемантические пометы из инвентаря НКРЯ. Разметка по семантическим ролямпроизводится в первую очередь для глагольных конструкций, включая конструкции снефинитными формами (причастиями, деепричастиями, инфинитивами и т.д.), чтоувеличиваетсложностьраспознаваниясемантическихролейврамкаходнойконструкции.
Следующий пример демонстрирует разметку, которая используется вкачестве исходных данных для предложенной в работе системы.12Эта разметка поступает на вход модуля извлечения свойств, который преобразуетразметку в признаки для классификации.Раздел 3 посвящён описанию разработанной системы. Архитектура системывключаетвсебяследующиемодули:модульпрепроцессинга(фильтрация,морфологический анализ, лемматизация, синтаксический анализ), модуль обогащенияданных (проекция разметки на узлы дерева зависимостей), модуль обучения (извлечениесвойств, классификатор, ILP-оптимизация). Приведённая ниже схема иллюстрируетвзаимодействие модулей системы.На вход системы поступает база данных FrameBank, которая помимо прочегосодержит размеченные по семантическим ролям примеры употребления конструкций из13Национального Корпуса русского языка в формате xml. Поскольку ресурс находится настадии разработки, некоторые примеры в корпусе содержат ошибки разметки, связанныев большинстве случаев с техническими причинами.
Для того чтобы дальнейшая работабыла возможной, мы применяем процедуру фильтрации корпуса, в результате которойна основании простых правил принимаем решение, какие из предложений будутиспользованы в эксперименте.ПредложениякорпусаFrameBankразбитынасловаисодержатслойморфологической разметки. Для автоматической разметки актантов, однако, важнуюроль играет синтаксический анализ текста, поэтому мы дополнительно обрабатываемисходные данные синтаксическим парсером и обеспечиваем интеграцию исходногокорпуса и полученных синтаксических деревьев.Учитывая, что в предложенной системе задача автоматической классификацииактантов интерпретируется как задача разметки узлов, необходимо осуществитьотображение разметки FrameBank с отрезков текста на узлы соответствующегосинтаксического дерева.
За эту операцию отвечает модуль проекции на узлы.Далее все предложения-примеры из корпуса группируются по конструкциям,которые они описывают, формируя таким образом подкорпуса примеров для каждойотдельной конструкции.Для каждого из полученных подкорпусов производится случайное разбиение натренировочную и тестовую выборки. Единицей разбиения мы принимаем предложение.Тренировочная выборка поступает на вход классификатора и используется для обучения,тестовая выборка используется для оценки качества работы классификатора.Как тренировочная, так и тестовая выборка поступают на вход модуля извлечениясвойств, который преобразует информацию, полученную в результате предварительнойобработки, в свойства, используемые классификатором. Модуль извлечения свойствприписывает набор признаков каждому узлу дерева зависимостей, построенного длякаждого предложения тренировочной и тестовой выборки.
Здесь же экземпляры-узлыполучают метку класса: в тренировочной выборке эта метка используется для обученияклассификатора, а в тестовой – для сравнения результатов работы системы с эталоннойразметкой.14На этапе тестирования каждое предложение тестовой выборки подаётся на входклассификатору, который для каждого узла в дереве зависимостей этого предложенияопределяет его семантическую роль.
В результате такой независимой классификацииодна и та же роль может быть приписана нескольким узлам, что противоречит базовымпринципам теории семантических ролей и нежелательно с практической точки зрения.Для решения этой проблемы используется модуль ILP-оптимизации на основе методацелочисленного программирования для постобработки результатов классификации.Результат работы модуля оптимизации является конечным результатом работы системыи поступает на выход.Отдельное внимание в Разделе 3 уделено свойствам, использованным для обученияклассификатора.
В работе используются свойства, традиционно применяемые в системахавтоматической классификации актантов на основе машинного обучения. Каждый узелдерева зависимостей представлен в терминах следующих свойств: синтаксические свойстваo путь (path) – путь от предиката до актанта в дереве зависимостейo короткий путь (shortPath4) – сокращённый путь от предиката до актантаo падеж (case) – падеж актантаo финский падеж (finncase) – падеж + предлог актантаo форма глагола (vform)o залог (voice) семантические свойстваo лемма (lemma)o кластер (cluster) – кластер, к которому принадлежит лемма актанта.
Кластерыполучены с помощью алгоритма Chinese Whispers, применённого к векторноймодели на основе word2vec из проекта RusVectores16o часть речи (POS)16 Kutuzov, A., & Andreev, I. (2015). Texts in, Meaning Out: Neural Language Models in Semantic Similarity Tasks forRussian // Компьютерная лингвистика и интеллектуальные технологии: по материалам ежегодной международнойконференции «Диалог» (Москва, 27 — 30 Мая 2015 г.).15Раздел 4 описывает использованный в работе модуль глобальной оптимизации наоснове целочисленного программирования. Данный модуль оптимизирует результатыклассификацииузловтакимобразом,чтобымаксимизироватьуверенностьклассификатора при соблюдении определённых лингвистически мотивированныхограничений.
Раздел включает в себя общее описание технологии, а также деталиреализации модуля. Как упоминалось выше, каждая семантическая роль может бытьприписана только одному узлу в предложении. Дополнительно требуется, чтобы такоеприписание обеспечивало максимальную «уверенность» системы в предоставленныхответах.Соответствующая задача целочисленного программирования формулируетсяследующим образом. Пусть у нас имеется набор ролей {1 , 2 , 3 … } и набор узлов{1 , 2 , 3 … }.
Одна из ролей является "пустой" ролью и обозначает отсутствиесемантической роли на выбранном узле. Эта роль имеет особый статус, т.к., в отличие отдругих ролей, может быть заполнена неограниченное число раз. Обозначим её как ∅ .Введём набор переменных-индикаторов , которые обозначают, что роль приписанаузлу , и набор переменных , в которых хранится вес роли для узла ,определённый классификатором на основе свойств, выделенных для данного узла.Следующий пример иллюстрирует семантику переменной:Иван купил яблоко1 (Покупатель)2 (Товар)∅1 (Иван)11 = 0.821 = 0.2∅1 = 0.12 (Яблоко)12 = 0.422 = 0.7∅2 = 0.2Задача оптимизации состоит в следующем. Необходимо выбрать значенияпеременных таким образом, чтобы максимизировать функцию уверенности∑, . При этом существует два принципиальных ограничения, которые должныбыть соблюдены. Во-первых, одному узлу может быть приписана только одна роль.
Длякаждого узла необходимо обеспечить ∀: ∑ = 1 . За счёт того, что переменные16 целые и принимают значения {0,1}, это условие может быть верно только когда узелимеет единственную роль. Во-вторых, каждая роль, за исключением "пустой" роли,может быть приписана только один раз. Это условие выражается в терминах нашихпеременных следующим образом: ∀ ≠ ∅: ∑ ≤ 1.Задача оптимизации передаётся в модуль линейного программирования, которыйрешает её с помощью симплексного метода.
Общая формулировка задачи для случая сдвумя переменными приводится ниже.Максимизировать:11 11 + 12 12 + 21 21 + 22 22 + ∅1 ∅1 + ∅2 ∅2С учётом ограничений:“каждый узел получает одну роль”11 + 21 + ∅1 = 112 + 22 + ∅2 = 1“каждая роль заполняется максимум один раз”11 + 12 ≤ 121 + 22 ≤ 1Сформулированная таким образом задача поступает в модуль целочисленногопрограммирования,которыйвыбираетзначенияпеременных,удовлетворяющиеуказанным требованиям.Раздел 5 Главы II посвящён техническим особенностям имплементации системы.Для русского языка не существует общепринятого единого набора инструментовпредварительной обработки текста, и значительная часть усилий в ходе подготовки кисследованию была затрачена на поиск и интеграцию различных компонентовавтоматической обработки текста. Раздел перечисляет использованные компоненты исодержит множество технических деталей и рекомендаций, которые могут упроститьразработку аналогичных систем в будущем.Глава IIIЭкспериментальная оценка и результатыГлава III посвящена экспериментальной оценке качества разработанной системы.Для задач машинного обучения эта область хорошо разработана и существует рядстандартных параметров, по которым можно определить, насколько хорошо работает17система.