Сборник 2001

Обучаемый синтаксический анализатор естественного языка
Н. В. Одинцев

Факультет вычислительной математики и кибернетики МГУ

 

 

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

 

В работах [1] и [2] представлены предыдущие версии синтаксического анализатора, действия которого описывается с помощью расширенной сети переходов (РСП).

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

 

Было решено полностью отказаться от описания языка грамматикой, и использовать только модели управления ([1], [3]). К моделям управления как средству описания языка были предъявлены следующие требования.

Во-первых, они должны быть настолько универсальными, чтобы описывать все различные способы сочетания слов от структуры предложения до идиом.

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

 

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

 

Такое понятие модели управления можно обобщить, ставя перед собой цель сделать модель управления главным средством описания языка. Была введена следующая иерархия (разные уровни соответствуют разным степеням общности моделей управления):

 

-        Модели управления 3-го уровня – атомарные модели управления, связывающие слово и словоформу.

-        Модели управления 2–го уровня, связывающие слово с определенной зависимой группой, на главное слово которой налагаются ограничения.

-        Модели управления 1–го уровня, связывающие абстрактное (принадлежащее некоторому классу) главное слово группы с зависимой группой.

-        Модели управления 0–го уровня, связывающие описываемую группу с составляющими ее группами. В данном случае термин МУ понимается формально.

 

Модели управления 3-го уровня соответствуют устоявшимся языковым фрагментам, приближающимся к идиомам. Например, весьма возможно, что прямым дополнением глагола «перейти» в произвольно взятом фрагменте служит, с очень большой вероятностью, слово «дорогу», что соответствует модели управления {перейти {сущ., вин. п., ж. р., ед. ч., неод., дорогу} {частотная характеристика}}.

 

Модели управления 2-го уровня соответствуют моделям управления из работы [3], например,

{перебрать {сущ., вин. п., неод.} {частотная характеристика}},

{перебрать {предлог в} {сущ., пред. п., неод.} {частотная характеристика}}

 

Модели управления 1-го и 0-го уровня приблизительно соответствуют (по мощности) правилам  грамматики. Моделью управления 1-го уровня является, например,

{глагол {сущ., вин. п.} {частотная характеристика}},

а второго –

{предложение {сущ., им. п.} {частотная характеристика}}

 

Анализатор пробует разобрать фрагмент, используя модели управления наиболее высокого уровня (3-го), начиная с тех, которым приписана наибольшая вероятность применения (исключение могут составлять модели управления 0-го уровня). Если применить их ему не удается, то он переходит на один уровень ниже. На первом уровне возможно разобрать любую комбинацию с главным и зависимыми словами.

 

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

 

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

 

Контексты. Прежде чем перейти к описанию процесса получения множества моделей управления, необходимо расширить еще одно понятие, введенное в [1] - контексты. Как известно, человек практически всегда выбирает один из возможных смыслов фразы, хотя их может быть намного больше. Человек как бы «настраивается» на стиль изложения, на привычные в рамках читаемого текста грамматические конструкции, и очень часто подобная «настройка» помогает ему не размышлять помногу над каждым предложением. Фактически человек выступает в роли узкоспециализированного семантико-синтаксического анализатора, который, наткнувшись, например, на нетипичную грамматическую конструкцию, вынужден будет «подумать». Так, когда среди текста о работе на приусадебном участке будет встречено «огороды русские под холмом седым», то небольшое замешательство будет вызвано, в частности, и постпозицией прилагательных.

Учитывая такие особенности обработки предложений, можно ввести понятие контекста. Под контекстом здесь понимается категория текстов, для которой является специфичным употребление определенных слов и грамматических конструкций. Выше был приведен пример, где использовалась строка из стихотворения. Но и для обычных прозаических текстов введение категорий может быть оправдано. Например, конструкцию предложения «Моросит», наверно, нельзя встретить в статье из словаря или энциклопедии.

 

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

 

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

 

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

 

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

 

Для получения моделей управления используется анализатор, осуществляющий синтаксический анализ русского языка, основанный на РСП. На вход к нему поступает некоторый текст; каждое предложение разбирается, и на выходе получается его синтаксическая структура (или структуры). Затем из этой структуры вычленяются использованные модели управления 3-го (и 2-го) уровня и сохраняются в базе данных. Для моделей управления, найденных при анализе предложения, но уже существующих в базе данных, увеличиваются счетчики их использования, отражающие частотную характеристику, на единицу.

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

 

Допустим, необходимо определить модели управления слова «перебрать». Для этого анализатор будет игнорировать предложения без этого слова, и получать результат только для предложений, где такое слово есть. Например, для предложения «Ему нужно перебрать полку книг». После анализа увеличится счетчик, приписанный модели управления {перебрать {сущ., вин. п., неод.}} («перебрать полку»), что будет еще одним подтверждением возможности использования прямого дополнения для глагола «перебрать». В то же время анализатор увеличит счетчик и для модели управления {перебрать {сущ., род. п., неод.}}, так как он не сможет определить, что «книг» не может зависеть от «перебрать». Но при этом в другом месте анализатор может встретить предложения «Петя перебрал полку», «Маша перебрала малину», и т. д., а предложение «Ваня перебрал книг» анализатор никогда не встретит. Таким образом, счетчик, приписанный модели управления {перебрать {сущ., вин. п., неод.}}, будет существенно больше, чем счетчик, приписанный модели управления {перебрать{сущ., род. п., неод.}}. Нужно заметить, что правильная структура предложения будет выдана анализатором всегда, а для неправильной модели управления ее получение будет делом случая.

 

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

 

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

 

Фактически анализатор, основанный на РСП, пополняя базу данных, обучает анализатор, основанный на моделях управления, причем последний производит анализ все лучше и лучше по мере работы анализатора, основанного на РСП.

 

БИБЛИОГРАФИЯ

  1. Н. В. Одинцев. Методы улучшения качества синтаксического анализа фраз естественного языка. ДИАЛОГ’2000, Труды межд. семинара. М., 2000.
  2. И.А.Волкова, И.Г.Головин. Синтаксический анализ фраз естественного языка на основе сетевой грамматики. ДИАЛОГ’98, Труды межд. семинара. М., 1998.
  3. И.А.Волкова, И.Г.Головин, О.Ф.Кривнова. Компьютерный словарь моделей управления русских глаголов (экспериментальный вариант). ДИАЛОГ’98, Труды межд. семинара. М., 1998.