Сочетаемостные ограничения в системе автоматического синтаксического анализа

Итак, можно отметить, что для решения рассмотренной прикладной задачи планирования, связанной с ликвидацией лесных пожаров, создана МСППР, использующая алгоритм составления планов выполнения работ.

Алгоритм основан на методе случайного поиска теории составления расписаний. Он позволяет планировать использование ресурсов и средств агентами и коалициями при устранении пожаров с целью установления равновесия между финансовыми затратами и скоростью ликвидации пожаров.

Литература

1. Зраенко А.С., Аксенов К.А., Ван Кай. Коалиционная модель мультиагентного процесса преобразования ресурсов // Науч.-технич. ведомости СПбГУ. СПб: Изд-во политехн. ун-та, 2009. № 5. С. 156-161.

2. Чепасов В.И., Кулов С.К., Раимов Ф.Ф. Алгоритмическая и программная реализация задачи о расписании: учеб. пособие. Оренбург: Оренбург. гос. ун-т, 1999. 192 с.

3. Шахбазян К.В., Тушкина Т.А. Обзор методов составления расписаний для многопроцессорных систем. Л.: Наука, 1975. С. 229-258.

4. Береговых Ю.В., Васильев Б.А., Володин Н.А. Алгоритм составления расписания занятий // Искусств. интел. 2009. № 2. С. 50-56.

УДК 004.4

СОЧЕТАЕМОСТНЫЕ ОГРАНИЧЕНИЯ В СИСТЕМЕ АВТОМАТИЧЕСКОГО СИНТАКСИЧЕСКОГО АНАЛИЗА

М.Г. Мальковский, д.ф.-м.н.; Н.В. Арефьев

Предложена структура компьютерного словаря сочетаемости, содержащего описания различных типов ограничений на сочетаемость слов. Описан метод, позволяющий использовать словарь сочетаемости для улучшения качества автоматического синтаксического анализа.

Ключевые слова: автоматический синтаксический анализ, компьютерный словарь, ограничения на сочетаемость слов.

Задача автоматического анализа текстов на естественном языке возникает в самых различных приложениях: машинный перевод, информационный поиск, извлечение фактов из текстов, автоматическое реферирование и др. Для большинства приложений выполнения поверхностного анализа, основанного, например, на поиске ключевых слов, недостаточно - требуется учитывать различные лингвистические явления, в том числе синтаксические отношения. В данной работе рассматривается проблема учета ограничений на сочетаемость слов в процессе автоматического выделения синтаксических отношений в тексте (синтаксического анализа). Описанный в статье подход к решению этой проблемы реализован в системе автоматического синтаксического анализа Тгеейп, создаваемой на факультете ВМК МГУ [1].

Алгоритм синтаксического анализа, реализованный в Тгеейп, базируется на идее эвристического перебора, на каждом шаге которого строятся новые синтаксические связи между словами или словосочетаниями анализируемого предложения. С помощью эвристической функции оцениваются как окончательные структуры, покрывающие анализируемое предложение целиком, так и промежуточные, порождаемые на каждом шаге анализа. Отметим, что эвристическая функция в Тгеейп также называется штрафной, а ее значение - штрафом синтаксической структуры, поскольку это

значение тем больше, чем серьезнее нарушение языковых норм структурой. Использование штрафной функции позволяет отбрасывать заведомо ошибочные гипотезы на ранних этапах перебора, а также упорядочивать результаты работы анализатора. В работе [1] предлагалась штрафная функция, учитывающая только топологические свойства оцениваемых структур (штрафовались пересечение стрелок синтаксических связей, большое количество выходящих из одной вершины стрелок и т.п.), при этом не принималось во внимание конкретное лексическое наполнение структур. Как показала практика, такая штрафная функция часто не отличает правильные структуры от неправильных. Например, предложная группа может быть связана как с глаголом, так и с существительным, поэтому для каждой из фраз съесть пирог с черникой, съесть пирог с удовольствием анализатор построит как правильную структуру (пирог^с^черникой, съесть^ с^удовольстви-ем), так и неправильную (съесть^ с^ черникой и пирог^с^удовольствием) и, оценивая только топологические свойства, не сможет выбрать нужную.

Авторами предлагается новая штрафная функция, учитывающая сочетаемость слов, описанную в специальном компьютерном словаре сочетаемости. В процессе синтаксического анализа при построении новой связи г от слова wI к слову по-

лученная конструкция wi^rw2 проверяется на соответствие словарной информации. Если в словаре нет описания сочетаемости ни для одного из связанных слов, считается, что оба слова свободно сочетаются с любыми словами, следовательно, конструкция wi^rw2 допустима и не штрафуется. Иначе конструкция проверяется на соответствие приведенным описаниям и в случае несоответствия штрафуется. Таким образом, словарь задает ограничения на сочетаемость слов. Структуры, не соответствующие этим ограничениям, штрафуются, за счет чего правильные структуры получают преимущество при анализе и на выходе анализатора появляются первыми (как по времени, так и по расположению в списке результатов).

Структура компьютерного словаря сочетаемости

В словаре описываются три типа ограничений сочетаемости слов: морфосинтаксические, лексические и семантические [2]. Ограничения можно представить в виде набора троек <Sb r, S2> (далее используется более наглядная форма записи -Si^r S2), где r - тип синтаксической связи; S, - либо лексема, либо сема (название семантического класса), либо знак «*» (любая лексема). Морфо-синтаксические ограничения характеризуют возможные типы исходящих синтаксических связей (например, genet и acc - связи с именной группой соответственно в родительном или винительном падежах), при этом не накладываются ограничения на слова, находящиеся на другом конце связи, поэтому S2=*. Морфосинтаксические ограничения могут быть указаны как для лексем (ку-иить^асс *), так и для семантических классов (EMKOCTb^genet *). Лексические и семантические ограничения описывают множества слов, которые могут находиться на конце синтаксической связи. В случае лексических ограничений Si и S2 - лексемы (букет^genet вино). В случае семантических ограничений на одном из концов связи (или на обоих) указывается сема (букет^genet ЦВЕТЫ). Принадлежность слов к семантическим классам и родовидовые отношения между классами также описываются в словаре. Так, можно указать, что астры, розы, васильки - ЦВЕТЫ, тогда словосочетания букет астр /роз / васильков будут считаться допустимыми. Также можно связать родовидовым отношением классы ЦВЕТЫ и РАСТЕНИЯ, тогда сочетаемость класса РАСТЕНИЯ (например, поли-ватъ^асс РАСТЕНИЯ) будет унаследована классом ЦВЕТЫ (станут допустимыми словосочетания поливать астры / розы / васильки).

Словарь сочетаемости содержит два типа информации: статистическую и онтологическую. Статистическая информация вносится в словарь в результате автоматического анализа корпуса текстов [3]. Она представляет собой количественные оценки сочетаемости и может использоваться без

дополнительной обработки в процессе синтаксического анализа. Онтологическая информация вносится в словарь в процессе работы экспертов (в том числе по обобщению имеющейся статистической информации), а также при импорте данных из существующих словарей. Для эффективного формирования онтологической информации эксперты используют специальные инструменты, помогающие выполнять рутинную работу (поиск примеров в корпусе, выявление похожих по смыслу слов и прочее).

Подсистема тестирования синтаксического анализатора позволяет следить за тем, как внесенные в словарь сочетаемости изменения отражаются на качестве работы анализатора. Такой комбинированный подход к описанию сочетаемости позволяет обеспечить изначально широкий охват лексики (который сложно обеспечить вручную), а затем повышать качество синтаксического анализа текстов некоторой предметной области за счет улучшения критичных для качества анализа лингвистических описаний (например, описаний терминов этой предметной области).

Отметим, что в текстах разных предметных областей одно и то же слово может иметь разную сочетаемость (например, можно свернуть диалоговое окно, но нельзя его зашторить). Поэтому для достижения наилучших результатов в процессе синтаксического анализа наряду со словарем сочетаемости общей лексики желательно использовать специализированный словарь сочетаемости, сформированный на корпусе текстов той предметной области, которой принадлежат анализируемые тексты.

Рассмотрим структуры данных, в которых хранится информация о сочетаемости, - тензор сочетаемости и матрицу семантических классов.

Тензор сочетаемости представляет собой тензор третьего ранга, два измерения которого соответствуют лексемам и семантическим классам, а третье - синтаксическим отношениям. В ячейке тензора <5"ь г, S2> хранится разнообразная информация о словосочетаниях типа Sl^r S2: их частотность в корпусе (обозначим ее через г, S2>f), оценка меры их неслучайности г, S2>p), а

также экспертная оценка данного типа словосочетаний г, S2>o). Таким образом, в тензоре представлена как статистическая, так и онтологическая информация. Для хранения в тензоре мор-фосинтаксических ограничений сочетаемости вводится специальное значение третьего измерения «*». Ячейка тензора <51, г, *> показывает, допускает ли слово или класс Sl исходящую связь типа г. Не приводя подробных выкладок, отметим, что оценка меры неслучайности вычисляется по

о о , Г, )

следующей формуле: <ЛЬ г, <Ь2>„=^-^-, где

1) Р

Р г, S2) - оценка вероятности появления в тек-

сте словосочетания типа 5^г 52; ) - оценка вероятности появления слова или одного из слов семантического класса 5 (ср. с мерой М1 [4]). Оценки вероятностей вычисляются как относительные частоты соответствующих событий. Если 51 является семантическим классом, то <5Ь г, 52>р обнуляется в том случае, когда менее половины слов класса 51 сочетаются с 52 по связи г (аналогично для 52). Таким образом, семантический класс наследует только общую для входящих в него слов сочетаемость. В ячейках <51, г, *>р вместо меры неслучайности хранится оценка условной вероятности Р(г | ). Для оценки <51, г, 52>0 эксперт использует трехбалльную шкалу: правильно, неправильно, сомнительно. По мнению авторов, трехбалльная шкала оптимальна для подобных задач, поскольку двоичная система (правильно-неправильно) заставляет искусственно сводить сомнительные случаи к одному из двух вариантов, а введение большего числа градаций в отсутствие объективных критериев выбора между ними понижает эффективность работы эксперта, ничего не предлагая взамен.

Используя тензор сочетаемости, любое слово или класс 51 можно представить в виде вектора с компонентами, соответствующими контекстам (парам гк, 5,), в которых встречается слово, а значение соответствующей компоненты равно <51, гк, 5>р (заметим, что в данный вектор можно также включить компоненты, соответствующие входящим связям <5,, гк, 51>р). Если ввести расстояние между контекстными векторами [4], появляется возможность численно оценивать смысловую схожесть слов и семантических классов. Эта возможность используется, в частности, для автоматизированного выявления семантических классов (кластеризации слов) [3].

Матрица семантических классов содержит информацию о принадлежности слов семантическим классам и о родовидовых отношениях между классами. Как и в случае с тензором сочетаемости, ячейка <5, С> матрицы хранит статистическую и онтологическую информацию: оценку вероятности принадлежности слова (или вложенности класса) 5 классу С (<5, С>р), вычисленную с использованием контекстных векторов, и экспертную оценку принадлежности (вложенности) по трехбалльной шкале (<5, С>0).

Использование словаря сочетаемости

в процессе синтаксического анализа

Ограничения сочетаемости слов используются при оценке структур, порождаемых в процессе перебора. Оценка итоговой синтаксической структуры, являющейся вариантом анализа входного предложения, представляет собой норму штрафного вектора, одной из компонент которого является

штраф за нарушение структурой ограничений сочетаемости (другие компоненты связаны с топологическими огрничениями). Данный штраф сводится к оценке условных вероятностей конструкций w^rw2, из которых состоит итоговая структура:

pen(Struc) = -logP(Struc) =

= - log П PP(r, w2 | Wi) = log P(r, w2 | Wi), где произведение и сумма берутся по всем входящим в структуру конструкциям wj^rw2. В тех случаях, когда оценка вероятности равна нулю, вместо ее логарифма берется заранее фиксированное достаточно большое число (конструкция сильно штрафуется). Заметим, что введенная штрафная функция обладает свойствами аддитивности и монотонности. Как показано в [5], при использовании штрафной функции с такими свойствами у синтаксического анализатора появляется привлекательная особенность: результаты анализа можно использовать, не дожидаясь окончания работы анализатора (или даже остановив его в любое время), при этом алгоритм гарантирует, что выданные результаты лучше (меньше оштрафованы) всех остальных.

Условная вероятность конструкции w\^rw2 складывается из вероятностей наличия исходящей из wj связи r и нахождения на другом конце связи слова w2: P(r, w2 | wj) = P(r | wj )P(w2 | wj, r) и оценивается по словарю сочетаемости: pP(r | w1) = max pP(r | S1) JP(w1 e S1),

P(w21 w1, r) = max P(S21S1, r)I)(w1 e S1 )P(w2 e S2),

где максимумы берутся по множеству, включающему в себя как само слово w„ так и всевозможные семантические классы, содержащие w,: S, е {wi} U {Ck | P(w, е Ck) > 0}. Оценки вероятностей в правых частях равенств вычисляются исходя из онтологической информации, если она доступна, либо на основе собранной статистики:

0, < S, r, * >о = неправильно

P(r I S) =

1, < S, r, * >o = правильно < S, r,

>p иначе

nsjs,, r) =

0, < Sj, r, S2 >o = неправильно

1, < Sj, r, S2 >o = правильно

<Sj,r,S2 > P(S2) <Sj,r,*>

иначе

p(w e S) =

0, < w, S >o = неправильно

1, < w, S >o = правильно или S = w

< w, S > иначе

Р(Б) = X ¿К £ ^)Р(м>1).

Таким образом, даже если конструкция w1^rw2 ни разу не встретилась в корпусе текстов, она будет признана допустимой, если найдется класс 51 (или 52), содержащий w1 (w2) и сочетающийся с w2

либо найдется пара сочетающихся классов, один из которых содержит wь а другой

Подводя итог, можно отметить, что на базе рассмотренного в данной статье подхода в системе Тгеейп был реализован модуль оценки соответствия синтаксических структур описанным в словаре сочетаемости ограничениям, используемый в процессе синтаксического анализа.

Для поддержки работы со словарем сочетаемости созданы подсистема сопровождения и развития компьютерных словарей сочетаемости, включающая инструменты автоматического извлечения информации о сочетаемости из корпуса текстов и коррекции этого процесса экспертом, а также подсистема тестирования синтаксического анализатора, позволяющая оценивать качество его работы, визуализировать результаты анализа, выявлять ошибки анализа и устранять их причины (например, ошибочные входы словаря сочетаемости).

Литература

1. Мальковский М.Г., Старостин А.С. Система Treeton: Анализ под управлением штрафной функции // Программные продукты и системы. 2009. № 1. С. 33-35.

2. Апресян Ю.Д. Лексическая семантика: 2-е изд.: избран. тр.: Т. 1. М.: Издат. фирма «Восточная лит-ра» РАН, 1995. 472 с. (Языки русской культуры).

3. Арефьев Н.В. Формирование словаря сочетаемости для системы автоматического синтаксического анализа // Научные исследования и их практическое применение. Современное состояние и пути развития '2011: Сб. науч. тр. SWorld. Междунар. науч.-практич. конф. Одесса: Черноморье. 2011. Т. 4. С. 35-39.

4. Julie Weeds, David Weir, Diana McCarthy. Characterising measures of lexical distributional similarity // Proceedings of the 20th international conference on Computational Linguistics, C0LING-2004. Geneva, Switzerland, pp. 1015-1021.

5. Старостин А.С., Арефьев Н.В., Мальковский М.Г. Синтаксический анализатор «Treevial». Принцип динамического ранжирования гипотез // Компьютерная лингвистика и интеллектуальные технологии: матер. ежегод. Междунар. конф. «Диалог» (26-30 мая 2010 г., Бекасово). М.: Изд-во РГГУ. 2010. Вып. 9 (16). С. 477-490.

УДК 004.89

ПАРАЛЛЕЛЬНАЯ СИСТЕМА АВТОМАТИЧЕСКОЙ ТЕКСТОВОЙ КЛАССИФИКАЦИИ

Е.В. Котельников, к.т.н.; Т.А. Пескишева

Описаны структура и алгоритм работы параллельной системы автоматической текстовой классификации на основе метода опорных векторов. Рассмотрены блоки, реализующие основные этапы работы системы, особое внимание уделено процессу обучения классификатора. Приведены результаты экспериментов на коллекции текстов Reuters-21578, подтверждающие эффективность разработанной параллельной системы.

Ключевые слова: текстовая классификация, метод опорных векторов, SVM, параллельная система, автоматическая обработка текста.

Для автоматической обработки значительных объемов текстовой информации применяются различные программные системы, предназначенные для поиска, аннотирования, машинного перевода, извлечения фактов и др. Одним из основных этапов автоматической обработки текстов является тематическая классификация, цель которой - отнесение текстовых документов к одной или нескольким заданным категориям по определенным признакам. Качественная автоматическая классификации делает процесс анализа текстовой информации менее трудоемким и более эффективным по времени выполнения и релевантности полученных результатов.

Как показывают исследования [1], наилучшие результаты в решении задачи автоматической текстовой классификации демонстрирует метод опорных векторов (Support Vector Machines -SVM), предложенный В.Н. Вапником [2], для решения задач распознавания образов двух классов. Классификация с применением SVM сводится к

обучению и распознаванию. Наиболее трудоемким является процесс обучения, для которого используется коллекция обучающих документов с известными рубриками. По этим документам формируются обучающие векторы. В задаче тематической текстовой классификации каждый вектор соответствует текстовому документу и представляет собой набор весов ключевых слов (терминов), входящих в данный документ. Вес дает числовую оценку значимости данного термина для определения тематики текста [1]. На сформированных векторах обучается SVM-классификатор. Для оценки качества обучения используется специальная тестовая коллекция (ее можно выделить из обучающей и не использовать для обучения), на которой классификатор тестируется, а полученные ответы сравниваются с требуемыми (рубрики тестовых документов известны). В процессе распознавания система автоматически определяет рубрики новых, ранее не предъявляемых ей документов.