Автореферат (1137506), страница 3
Текст из файла (страница 3)
Смирнова и А. Шелманова13 относится к методам частичного обучения с учителем ине использует корпус с разметкой по семантическим ролям. Также для русского языкасуществует несколько систем на основе правил14 и систем извлечения фактов, в томчисле позволяющих генерировать шаблоны описания событий на основе большихмассивов неразмеченных данных15.Глава IIСистема автоматической разметки актантов для русского языкаВ Главе II приводится подробное описание системы автоматической разметкиактантов для русского языка, разработанной в ходе диссертационного исследования.Подробно рассматриваются использованные в системе методы машинного обучения,лингвистические свойства, на основе которых происходит классификация, а также рядтехнических решений, использованных при создании системы и работе с исходнымиданными.
Глава включает в себя несколько разделов.Раздел 1 посвящен обзору различных подходов к решению задачи автоматическойразметки актантов, выбору оптимального подхода и обоснованию этого выбора.13 Смирнов, И. В., Шелманов, A. O. (2014). Методы установления семантических ролей для текстов на русскомязыке // Компьютерная лингвистика и интеллектуальные технологии: По материалам ежегодной Международнойконференции «Диалог» (Бекасово, 4 — 8 июня 2014 г.). — Москва: РГГУ, 2014. — С. 607–619.14 Анисимович, К.
В., Дружкин, К. Ю., Зуев, К. А., & Петрова, М. А. (2012). Синтаксический И Семантический Парсер,Основанный На Лингвистических Технологиях Abbyy Compreno. Международная конференция по компьютернойлингвистике «Диалог-2012»15 Котельников, Д. С., & Лукашевич, Н. В. (2012). Итерационное извлечение шаблонов описания событий поновостным кластерам. Труды 14-й Всероссийской научной конференции «Электронные библиотеки:перспективные методы и технологии, электронные коллекции» — RCDL-2012, Переславль-Залесский, Россия, 15-18октября 2012 г.11Предложеннаявдиссертационномисследованиисистемаосновананапредикатно-специфических ролях, т.к.
именно этот тип ролей использовался приразметкекорпусапримеровпослужившего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.Задача оптимизации передаётся в модуль линейного программирования, которыйрешает её с помощью симплексного метода.