ОБОБЩЕННЫЕ МОДЕЛИ УПРАВЛЕНИЯ.
СИНТАКСИЧЕСКИЙ АНАЛИЗАТОР НА ОСНОВЕ ОБОБЩЕННЫХ МОДЕЛЕЙ УПРАВЛЕНИЯ
Н. В. Одинцев
Московский государственный университет им. М. В. Ломоносова
Ключевые слова: модели управления, синтаксический анализатор, семантический анализор, описание естественного языка.
Статья посвящена описанию синтаксиса естественного (русского) языка. Описываются обобщенные модели управления (ОМУ), выбранные основным средством для достижения этой цели, методика их автоматического формирования и полученные результаты. Обсуждаются принципы создания и алгоритмы работы синтаксического анализатора, основанного на ОМУ. Достоинствами такого анализатора являются высокое качество анализа (в частности, возможность выбора наиболее предпочтительного варианта синтаксического разбора предложения на основе частотных характеристик, полученных при автоматическом формирования ОМУ), а также анализ мало- и неграмматичных языковых конструкций. Приводятся результаты работы пробной версии анализатора. Обсуждается проблема связи синтаксиса и семантики применительно к ОМУ и возможность отражения семантики с помощью семантических классов.
- Введение
Одной из главных проблем (возможно, и самой главной) при разработке лингвистического процессора является описание естественного языка, включающее в себя описание морфологии, синтаксиса, семантики и прагматики.
В свое время при разработке синтаксического анализатора нами было принято решение отказаться от использования расширенной сети переходов (РСП) в качестве основы описания синтаксиса языка [1]. Основной причиной такого отказа было стремление добиться принципиально большей детализации синтаксических правил, и, следовательно, точности получаемой синтаксической структуры анализируемых предложений. Другим стимулом было желание иметь возможность объединить описание синтаксиса и семантики, что тяжело было бы сделать в рамках РСП.
Существует т. н. функциональный подход к описанию семантики языка; с точки зрения этого подхода любое слово естественного языка является именем функции, которая связывается с этим словом и называется его семантикой [2]. Каждое свое конкретное значение слово получает только после подстановки значений аргументов – зависимых слов, смысл слова вычисляется в процессе выполнения этой функции.
При этом подходе можно задать значение функции семантики на конкретных значениях – на моделях управления. Конечно, в таком случае надо разделять модели управления не только по синтаксическим признакам, но и по семантическим, например, по семантическому классу зависимого слова. Таким образом, для модели управления {{прил., белая} ворона}, которая будет получена автоматически при анализе достаточно большого корпуса текстов, можно будет сопоставить определенное семантическое толкование, отличное от толкования более общей модели управления {{прил.} ворона}.
2. Обобщенные модели управления как средство описания естественного языка
Альтернативой РСП в качестве основы описания языка были выбраны т. н. обобщенные модели управления (ОМУ) [3]. Ранее была определена структура моделей управления глаголов, позволяющая накладывать ограничения (в первую очередь синтаксические) на именные и предложные группы, связанные с глаголами [4]. При обобщении этой структуры были поставлены две цели – универсальность ОМУ и учет неграмматичных конструкций. Первая цель – универсальность – означала, что все языковые конструкции, все варианты взаимосвязи слов и групп в предложении должны были описываться в виде моделей управления. Достижение второй цели – учета неграмматичных конструкций – в пределе позволяло успешно разбирать любую произвольную последовательность слов (при этом, естественно, описание языка должно предоставить средства определить количественную характеристику, отражающую степень грамматичности).
Универсальность описания языка обеспечивается введением следующей иерархией моделей управления:
- модели управления 3-го уровня – атомарные модели управления, связывающие слово и словоформу (например, {обогнать {сущ., вин. п., ж. р., ед. ч., неод., машину} {частотная характеристика}});
- модели управления 2–го уровня, связывающие слово с определенной зависимой группой, на главное слово которой налагаются ограничения (например, {обогнать {сущ., вин. п.} {частотная характеристика}});
- модели управления 1–го уровня, связывающие абстрактное (принадлежащее некоторому классу) главное слово группы с зависимой группой (например, {глагол {сущ., вин. п.} {частотная характеристика}});
- модели управления 0–го уровня, связывающие описываемую группу с составляющими ее группами. В данном случае термин МУ понимается формально (например {предложение {сущ., им. п.} {частотная характеристика}}).
Каждой обобщенной модели управления (вне зависимости от ее уровня) соответствует частотная характеристика, обозначающая вероятность ее использования. По этим характеристикам можно вычислить степень употребимости полученной структуры, и, следовательно, ее грамматичность.
Одним из факторов, определяющих приоритетное применение тех или иных обобщенных моделей управления в рамках предложения, являются синтаксические особенности текста, в состав которого это предложение входит. Для учета этого фактора используется понятие контекста [3], под которым понимается категория текстов, для которой является специфичным употребление определенных слов и грамматических конструкций.
Поскольку контекст влияет на применение ОМУ, то для каждой модели управления нужно указать вероятность ее использования в каждом контексте. Такой подход существенно увеличивает работу по созданию множества моделей управления, но результат анализа предложения будет существенно лучше.
3. Общая методика построения множества обобщенных моделей управления
Очевидно, количество ОМУ таково, что исключает их формирование "вручную", кроме моделей управления 0-го и 1-го уровней. Основная же нагрузка ложится на модели управления 2-го и 3-го уровней, а их число, видимо, составляет миллионы. Поэтому необходимо использовать автоматическое формирование множества ОМУ.
Этот процесс в общем виде состоит из следующих стадий.
1) Выявление категорий текстов (контекстов) с общими синтаксическими особенностями. Эта стадия не является обязательной, и служит лишь для повышения качества синтаксического анализа, основанного на ОМУ.
2) Выбор корпусов текстов для каждого контекста. На этой стадии выбираются тексты, суммарный объем которых достаточен для поставленных целей. Если требуется определить ОМУ для конкретного слова, то, естественно, само это слово должно встречаться несколько десятков раз. Это количество зависит от синтаксического класса слова – например, для глагола оно будет существенно больше, чем для наречия. Если требуется определить ОМУ для максимального количества слов – "выжать" из текста все – то, очевидно, сначала следует анализировать все предложения подряд, но, начиная с некоторого момента, игнорировать предложения, состоящие из слов, для которых модели управления уже известны. Как показывает практика, этот момент наступает достаточно быстро.
3) Разбиение текстов на предложения или другие более мелкие фрагменты. Размер фрагментов выбирается из следующих соображений: чем меньше фрагмент, тем быстрее и точнее его можно разобрать, но при этом повышается вероятность отсутствия в нем интересующей нас пары управляющего и управляемого слова. К сожалению, время работы анализатора, основанного на РСП, фактически является экспонентой от количества лексем в фрагменте. На практике это приводит к тому, что на анализ предложения из 20-25 слов может быть затрачено 20-25 минут (если оно вообще будет разобрано), что вынуждает в качестве объекта анализа выбирать более мелкие, чем предложение, фрагменты. При этом возникает другая проблема – как выделить из предложения синтаксически замкнутые фрагменты, не зная априори его синтаксической структуры? Для решения этой проблемы приходится использовать эвристики, позволяющие правдоподобно расставить границы фрагментов.
4) Синтаксический анализ фрагментов с помощью анализатора, основанного на РСП [1]. На этой стадии формируется список синтаксических структур фрагментов, при этом каждому фрагменту может соответствовать несколько структур.
5) Анализ синтаксических структур фрагментов и выделение из них использованных моделей управления. Получаемые здесь модели управления – это модели управления 3-го уровня.
6) Автоматизированная обработка моделей управления. Целью этой обработки является, во-первых, удаление "неверных" моделей управления, и, во-вторых, получение более общих ОМУ. Удаление "неверных" моделей управления осуществляется в автоматизированном режиме: можно просмотреть ОМУ в поисках наиболее вероятных кандидатов на удаление, например, найти ОМУ, встречающиеся реже некоторой установленной частоты. Здесь нужно заметить, что если "неверная" модель редко встречается, то ее, в принципе, можно и не удалять, поскольку вероятность ее последующего применения, как функция от частоты использования, будет минимальной. Также для каждой ОМУ можно посмотреть примеры ее использования. Получение более общих моделей управления происходит следующим образом. Допустим, были выявлены следующие ОМУ 3-го уровня – {уронить {сущ., вин. п., ж. р., ед. ч., неод., вазу}}, {уронить {сущ., вин. п., ж. р., ед. ч., неод., ложку}}, {уронить {сущ., вин. п., ж. р., ед. ч., неод., престиж}}. По этим ОМУ 3-го уровня можно автоматически сформировать ОМУ 2-го уровня {уронить {сущ., вин. п.}}. По ОМУ 2-го уровня – {уронить {сущ., вин. п.}}, {положить {сущ., вин. п.}}, {представлять {сущ., вин. п.}} – можно построить ОМУ 1-го уровня - {{глагол} {сущ., вин. п.}}, и т. д.
4. Построение обобщенных моделей управления глаголов
В качестве примера можно рассмотреть процесс построения ОМУ для глаголов. В качестве "управляемых" будем рассматривать именные и предложные группы.
Стадию 1 - выявление категорий текстов (контекстов) с общими синтаксическими особенностями – в принципе, можно пропустить, рассчитывая построить ОМУ для русского языка "вообще". А можно и задать контекст – например, Переводы английской литературы начала XX-го века. Необходимо подчеркнуть, что в процессе построения ОМУ не ставится задача проанализировать весь исходный текст – можно пропустить и половину "неудобных" предложений или фрагментов предложений – и, следовательно, можно выбирать достаточно сложные категории тексты, например, художественные произведения.
Стадия 2 - выбор корпусов текстов для каждого контекста. В качестве примера можно взять "Сагу о Форсайтах" Джона Голсуорси в переводе А. В. Кривцовой.
Стадия 3 - разбиение текстов на предложения или другие более мелкие фрагменты. Выше уже было указаны причины, вызывающие необходимость разбиения текста на фрагменты, более мелкие, чем предложение. Например, такими фрагментами могут быть части предложения, ограниченные знаками препинания. Это, безусловно, подход грубый, но простой.
Стадия 4 - синтаксический анализ фрагментов с помощью анализатора, основанного на РСП. Пусть анализируется фрагмент "в новом парламенте прения после тронной речи подходили к концу". В качестве результата получается следующая синтаксическая структура:
$DECL ($S2 ($PP (в <Предлог> $NP ($NPSimple ($NPNoun ($AP ($APSimple ($APQualAdj (новом <Прил, Любой, Муж, Ед, Пред> ) ) ) парламенте <Сущ, Неод, Муж, Ед, Пред> ) ) ) ) $NP ($NPSimple ($NPNoun (прения <Сущ, Неод, Средн, Множ, Им> $PP (после <Предлог> $NP ($NPSimple ($NPNoun ($AP ($APSimple ($APQualAdj (тронной <Прил, Любой, Жен, Ед, Род> ) ) ) речи <Сущ, Неод, Жен, Ед, Род> ) ) ) ) ) ) ) $VP1 ($VP1Single (подходили <Глагол, Любой, Множ, Несов, Третье, Невозвратн, Прошед> $PP (к <Предлог> $NP ($NPSimple ($NPNoun (концу <Сущ, Неод, Муж, Ед, Дат> ) ) ) ) ) ) ) ),
что эквивалентно представлению (исключая уточняющие группы типа NPNoun), показанному на рис. 1.
Рис. 1. Синтаксическая структура предложения "в новом парламенте прения после тронной речи подходили к концу"
Стадия 5 - анализ синтаксических структур фрагментов и выделение из них использованных моделей управления. На этой стадии программа находит главное слово интересующего нас синтаксического класса – подходили – и выделяет примененные здесь модели управления:
{подходить { к } {сущ., дат. п., м. р., ед. ч., неод., концу} {1}}
{подходить {сущ., им. п., мн. ч., неод., прения} {1}}
{подходить { в } {сущ., пред. п., ед. ч., неод., парламенте} {1}}.
Стадия 6 - автоматизированная обработка моделей управления. Здесь соответствующая программа выделит ОМУ 2-го уровня, в частности:
{подходить { к } {сущ., дат. п.}}
{подходить {сущ., им. п.}}
{подходить { в } {сущ., пред. п.}}
с соответствующими частотными характеристиками.
- Синтаксический анализатор, основанный на ОМУ
При разработке синтаксического анализатора, основанного на ОМУ, главной задачей была иллюстрация качества описания языка. Если рассматривать ОМУ не только в аспекте синтаксиса, а как базис описания всех уровней языка, то слишком расточительно подходить к созданию синтаксического анализатора как конечной цели всей работы.
Требования к синтаксическому анализатору были выдвинуты следующие:
- получение наиболее вероятного варианта анализа за кратчайшее время;
- последовательное получение всех остальных вариантов по убыванию их вероятности вплоть до самого маловероятного.
Анализ, обеспечивающий выполнение указанных требований, происходит следующим образом. Допустим, на данном этапе разбора требуется проанализировать некоторую группу, при этом нам известно главное слово в этой группе. Для дерева вариантов разбора группы это состояние будет корневой вершиной. Выбираем модели управления, связанные с главным словом группы, располагая их по убыванию вероятности их использования (в общем случае, для данного контекста). Пробуем применить ОМУ с наибольшей вероятностью к словам, потенциально зависимым от главного слова. Допустим, таких слов нет, тогда переходим к следующей ОМУ. Если она применима, т. е. среди слов анализируемой группы есть словоформа требуемого синтаксического класса в требуемом падеже, то строим новую вершину дерева вариантов разбора, соответствующую успешному (как нам кажется на этом этапе) выделению нашей словоформы как зависимой от главного слова группы. Этой вершине приписывается вероятность "правильности" такого решения, определяемая по вероятности, приписанной использованной модели управления, и, возможно, расстоянием (в словах) от главного слова группы. Затем возникает два возможных варианта продолжения анализа – либо пробовать применить следующую по вероятности ОМУ главного слова исходной группы, либо перейти к рассмотрению моделей управления главного слова новой подгруппы, которое было выделено на предыдущем этапе. Какой вариант предпочесть – зависит от вероятностей, приписанных ОМУ разных слов. Продолжая этот процесс, мы получим наиболее вероятный вариант полного разбора исходной группы. Если требуется получить следующий вариант, то необходимо найти ОМУ с максимальной вероятностью, применимую в какой-либо вершине дерева вариантов (исключая тот путь в этом дереве, который уже привел к получению первого варианта анализа).
- Заключение
Предложенный механизм – обобщенные модели управления – в перспективе позволяет описывать все языковые аспекты (синтаксический, семантический и прагматический) в рамках одной структуры. При этом базис этой структуры – синтаксические модели управления – получается автоматически, при обработке больших корпусов текстов, что позволяет оперативно учитывать все изменения в языке, а также контекст использования тех или иных языковых фрагментов. При этом ОМУ, понимаемые в узком смысле – синтаксически – также имеют самостоятельное значение, как основа синтаксического анализатора.
Литература
- Одинцев Н.В. Методы улучшения качества синтаксического анализа фраз естественного языка // ДИАЛОГ’2000, Труды межд. семинара. М., 2000.
- Тузов В.А. Компьютерная семантика русского языка // ДИАЛОГ’2001, Труды межд. семинара. М., 2001.
- Волкова И.А., Головин И.Г. Синтаксический анализ фраз естественного языка на основе сетевой грамматики // ДИАЛОГ’98, Труды межд. семинара. М., 1998.
- Волкова И.А., Головин И.Г., Кривнова О.Ф. Компьютерный словарь моделей управления русских глаголов (экспериментальный вариант) // ДИАЛОГ’98, Труды межд. семинара. М., 1998.
Generalized patterns og government.
Syntactic parser on the basis of generalized patterns of government
N. V. Odintsev
Key words: patterns of government, syntactic parser, semantic parser, description of natural language.
The paper describes syntax of a natural (Russian) language developed on the basis of generalized patterns of government (GPG) and a GPG-based syntactic parser. The paper considers GPGs as a principal tool for language description, methods and results of their automated generation. GPG-based syntactic parser construction principles and operation algorithms are discussed. The parser has the advantage of high-quality analysis (in particular, the possibility to choose the best version of syntactic analysis of a sentence on the basis of frequency characteristics as derived during automated generation of GPGs) as well as analysis of low-grammatical or non-grammatical language structures.Results of operation of a parser test version are demonstrated. The paper discusses relationship of syntax and semantics as concerns the GPGs and the possibility to reflect semantics using semantic classes.