4 Практическая часть 4.1 Инструментарий
Решение задачи было выполнено на языке программирования Java. Выбор языка программирования был обусловлен языком реализации модифицируемой системы.
Для реализации классификаторов использовалась обертка для libsvm [39] – популярной библиотеки SVM классификации и регрессии, – входящая в состав библиотеки машинного обучения отдела Информационных систем ИСП РАН.
Для оценки качества рефератов с помощью метрик ROUGE использовалось программное средство ROUGE-1.5.5 [18], реализованное на языке программирования Perl.
4.2 Архитектура решения
Алгоритм построения RST-дерева на основе машинного обучения реализован в классе MLConnector:
Рисунок . Общая архитектура решения
В перечислимом типе RelType определяется набор рассматриваемых классов риторических отношений:
SN (Satellite-Nucleus) – асимметричное риторическое отношение, в котором спутник предшествует ядру
NS (Nucleus-Satellite) – асимметричное риторическое отношение, в котором ядро предшествует спутнику
NN (Nucleus-Nucleus) – симметричное риторическое отношение
NONE – специальный тип для обозначения отсутствия риторической связи
Конструктор класса MLConnector принимает на вход два параметра – классификаторы для определения наличия риторической связи и ее направленности соответственно. Первый специфицируется интерфейсом IRelationExistencePredictor. Интерфейс определяет единственную операцию predict(AbstractRSNode, AbstractRSNode): double, которая принимает на вход два сегмента текста (в виде их RST-деревьев) и возвращает вероятность наличия какого-либо риторического отношения между ними. Классификатор для уточнения типа отношения реализует интерфейс IRelationTypeClassifier. Определяемая им операция predict возвращает для входных сегментов предполагаемый класс риторического отношения между ними в виде объекта типа RelType.
Описанные выше интерфейсы реализованы соответственно в классах RelExistencePredictor и RelTypeClassifier:
Рисунок . Классификаторы риторических отношений
Как видно из диаграммы на Рисунок , классы RelExistencePredictor и RelTypeClassifier имеют похожую структуру. Оба класса имеют атрибут featureExtractor – объект, реализующий интерфейс IRelationFeatureExtractor и отвечающий за извлечение признаков для классификации входной пары сегментов. Набор признаков затем конвертируется в объект класса Instance (этот класс – часть модели данных библиотеки машинного обучения ИСП РАН) и подается на вход внутреннему классификатору (innerClassifier). Отметим, что RelExistencePredictor использует для спецификации внутреннего классификатора интерфейс IProbEstimatingMLBasedClassifier, расширяющий интерфейс IMLBasedClassifier библиотеки машинного обучения ИСП РАН. IProbEstimatingMLBasedClassifier определяет единственную дополнительную операцию estimateProbabilities, обеспечивающую возможность оценки вероятностей классов. Поскольку рассматриваемый алгоритм построения RST-деревьев не требует вычисления вероятностей типов отношений, классификатор RelTypeClassifier использует интерфейс IMLBasedClassifier.
Классы RelExistencePredictor и RelTypeClassifier дополнительно реализуют интерфейс IRSClassifier, в который вынесены операции получения атрибутов, преобразования между RelType и ClassificationResult (представление результата работы классификатора в библиотеке машинного обучения ИСП РАН), а также операции загрузки модели из файла и ее сохранения в файл. Описанный интерфейс введен для удобства обучения классификаторов.
Внутренние SVM-классификаторы, как уже отмечалось, построены на основе обертки для libsvm, предоставленной библиотекой машинного обучения ИСП РАН (см. Рисунок ). Обертка не поддерживает способность libsvm оценивать вероятности классов в процессе классификации. Нам удалось исправить этот недостаток с помощью классов ProbEstimatingCLibSvmClassifier и ProbEstimatingCLibSvmFacade.
Для обучения классификаторов используется класс RSTrainer (Рисунок ). Его атрибутами являются classifier – обучаемый классификатор, который специфицируется описанным выше интерфейсом IRSClassifier, – а также precedentCollector – сборщик примеров для обучения, реализующий интерфейс IPrecedentCollector. На основе данных, получаемых от precedentCollector’а посредством операции collectPrecedents, RSTrainer предоставляет две операции: train, с помощью которой проводится обучение внутреннего классификатора, и optimizeFE. Последняя осуществляет выбор наиболее информативных признаков для классификации: признаки ранжируются с помощью хи-квадрат оценок (см. пункт 3.3.6), после чего кросс-валидацией на обучающей выборке находится оптимальное пороговое значение статистики; признаки, информативность которых ниже порога, элиминируются.
Рисунок . Обертка libsvm
Рисунок . Подсистема обучения риторических классификаторов
Схема на Рисунок отображает иерархию классов, предназначенных для подготовки обучающих данных. Каждый класс-сборщик имеет как конструктор по умолчанию, так и конструктор с аргументом – списком значений типа RelType – позволяющим ограничить набор типов извлекаемых примеров. Класс RSTreeBasedCollector предоставляет функциональность для извлечения риторических отношений и «не-отношений» прямо из RST-деревьев текстов. Класс TreebankCollector использует этот функционал для анализа корпуса DRRC.
Как уже отмечалось, за построение по двум сегментам набора признаков для классификации отвечают интерфейс IRelationFeatureExtractor и классы, его реализующие (см. Рисунок ). Свой FeatureExtractor-класс организован для каждой группы признаков из рассмотренных в параграфе 3.3. Особняком стоит класс CompositeFE, позволяющий комбинировать несколько наборов признаков, последовательно применяя ассоциированные с ним FeatureExtractor’ы к паре риторических сегментов на входе.
Рисунок . Подсистема извлечения признаков для классификации риторических отношений
4.3 Характеристики функционирования
Для тестирования использовался компьютер на базе процессора Intel Core i5-3210M (частота 2.50 ГГц) с 4 ГБ оперативной памяти.
4.3.1 Качество RST-деревьев
Для внутренней оценки качества алгоритма построения RST-деревьев мы вычислили средние значения точности, полноты и F-меры по метрикам PARSEVAL исходной и модифицированной версий системы на корпусе DRRC посредством кросс-валидации на 10 блоках. Результаты приведены в Таблица . Оценивалось как качество неразмеченной риторической структуры (без учета направлений и типов отношений; правильность составляющей определяется только через совпадение сегментов), так и правильность полноценных (размеченных) деревьев.
Таблица . Качественные характеристики риторических деревьев исходной (эвристический подход) и модифицированной (ML-подход) версий системы ИСП РАН на корпусе DRRC по метрикам PARSEVAL
| Неразмеченная структура
| Размеченная структура
| Точность
| Полнота
| F-мера
| Точность
| Полнота
| F-мера
| Эвристический подход
| 0.5539
| 0.5539
| 0.5539
| 0.5307
| 0.5307
| 0.5307
| ML подход
| 0.6538
| 0.6538
| 0.6538
| 0.5367
| 0.5367
| 0.5367
|
Результаты тестирования показывают, что использование машинного обучения позволяет существенно (на 10%) повысить качество неразмеченной структуры RST-деревьев, однако качество разметки осталось примерно на том же уровне. 4.3.2 Качество рефератов
Для внешней оценки качества алгоритма построения RST-деревьев мы построили с помощью обеих версий системы рефераты статей из корпусов DUC-Abstracts и DUC-Extracts и вычислили для каждого корпуса средние значения метрик ROUGE-N c N = 1,2, ROUGE-L и ROUGE-W-1.2. Мы также вычислили средние значения этих же метрик на каждом из корпусов для двух базовых эвристик, описанных во введении: реферат – первый абзац текста и реферат – набор первых предложений с каждого абзаца текста. Результаты тестирования приведены соответственно в Таблица и Таблица .
Подход к построению риторических деревьев на основе машинного обучения показал более высокие результаты по сравнению с исходной эвристикой. Особенно существенна разница на корпусе DUC-Extracts, где выигрыш в F-мере модифицированной версии системы составляет от 8% по метрике Rouge-W до 17% по метрике Rouge-1. Вместе с этим, новый подход не смог достичь уверенного лидерства над базовыми алгоритмами. Модифицированная версия системы стабильно проигрывает 2-3% F-меры на DUC-Abstracts алгоритму, составляющему реферат из первых предложений каждого абзаца, однако выигрывает столько же на DUC-Extracts.
Таблица . Тестирование качества рефератов на корпусе DUC-Abstracts
DUC-Abstracts
| Система ИСП РАН, эвристический подход
| Система ИСП РАН, ML подход
| Реферат - первый абзац текста
| Реферат состоит из первых предложений каждого абзаца
| ROUGE-1
| Average recall
| 0.38252
| 0.40559
| 0.20768
| 0.39090
| Average precision
| 0.43041
| 0.45909
| 0.58912
| 0.48388
| Average F-measure
| 0.40461
| 0.43013
| 0.29748
| 0.42928
| ROUGE-2
| Average recall
| 0.13678
| 0.16609
| 0.09795
| 0.17627
| Average precision
| 0.15380
| 0.18807
| 0.29344
| 0.21822
| Average F-measure
| 0.14463
| 0.17616
| 0.14292
| 0.19359
| ROUGE-L
| Average recall
| 0.33035
| 0.35351
| 0.19771
| 0.36961
| Average precision
| 0.37180
| 0.40017
| 0.56068
| 0.45733
| Average F-measure
| 0.34946
| 0.37490
| 0.28317
| 0.40585
| ROUGE-W-1.2
| Average recall
| 0.12704
| 0.13873
| 0.08428
| 0.14740
| Average precision
| 0.23570
| 0.25890
| 0.40070
| 0.30121
| Average F-measure
| 0.16491
| 0.18042
| 0.13591
| 0.19668
| Таблица . Тестирование качества рефератов на корпусе DUC-Extracts
DUC-Extracts
| Система ИСП РАН, эвристический подход
| Система ИСП РАН, ML подход
| Реферат - первый абзац текста
| Реферат состоит из первых предложений каждого абзаца
| ROUGE-1
| Average recall
| 0.44806
| 0.50243
| 0.21517
| 0.48709
| Average precision
| 0.54773
| 0.64472
| 0.79703
| 0.63544
| Average F-measure
| 0.47955
| 0.54889
| 0.31561
| 0.53073
| ROUGE-2
| Average recall
| 0.25301
| 0.37211
| 0.17115
| 0.34992
| Average precision
| 0.30908
| 0.47508
| 0.66696
| 0.45992
| Average F-measure
| 0.26996
| 0.40496
| 0.25419
| 0.38088
| ROUGE-L
| Average recall
| 0.30446
| 0.40309
| 0.19795
| 0.40930
| Average precision
| 0.37050
| 0.51357
| 0.75202
| 0.53723
| Average F-measure
| 0.32464
| 0.43860
| 0.29266
| 0.44632
| ROUGE-W-1.2
| Average recall
| 0.08369
| 0.13481
| 0.05809
| 0.11423
| Average precision
| 0.28249
| 0.47552
| 0.62620
| 0.41104
| Average F-measure
| 0.12553
| 0.20431
| 0.10242
| 0.17228
|
Рисунок . Зависимость времени построения RST-дерева исходной (heuristic) и модифицированной (ml based) версиями системы от размера текста в словах
4.3.3 Время работы
Для оценки временных характеристик работы системы мы для каждого документа, использованного для тестирования качества работы системы, рассчитали среднее время построения его RST-дерева каждой из версий системы на основе 10 запусков. Результаты отображены на Рисунок . Видно, что время работы версии системы на машинном обучении с увеличением размера текстов возрастает линейно, что удовлетворяет поставленным требованиям.
|