Сборник 2002

ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ ЛИНГВИСТИЧЕСКОЙ ОБРАБОТКИ ТЕКСТОВ НА РУССКОМ ЯЗЫКЕ

 

 

И. А. Волкова

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

volkova@cs.msu.su

 

М. О. Проскурня

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

max@axofiber.org.ru

 

 

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

 

Данная статья посвящена реализации комплекса программ для решения задач автоматической обработки текста, в основе которого лежит разработанная модель русской морфологии. В качестве базовой методологии в данной модели принята концепция «псевдооснов» и «псевдофлексий». Основными достоинствами данной модели являются: формализация академической морфологии в полном объёме (в рамках «Грамматического словаря русского языка» А.А. Зализняка), учёт буквы «ё» и ударений в словах, подсчёт статистической информации (относительной частотности), компактность и эффективность представления морфологической информации, а также лёгкость пополнения. Простота разработанной модели позволила создать эффективную реализацию программ, которые предоставляют следующую функциональность: морфологический анализ и синтез, построение списков слов, принадлежащих определённым синтаксическим или словоизменительным классам, анализ частотности, справочная информация об используемой языковой модели и др. Важными характеристиками программного комплекса также являются: самодостаточность, интеграция с другими лингвистическими ресурсами (например, с синтаксическим анализатором). Приведены примеры использования программного комплекса в модельной сетевой поисковой системе и в проекте открытого сетевого морфологического ресурса.

 

 

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

На лексико-семантическом уровне ЛБД содержит информацию о синтаксическом и семантическом классах лексемы, проблемных областях, ударении во всех возможных формах данной лексемы, а также относительной частотности лексемы в обрабатываемых текстах. Основой ЛБД в данный момент является словарь [1], содержащийся в ней в полном объеме.

Основные функции лексико-семантического уровня таковы:

–               функция, выдающая информацию об учитываемых в принятой лингвистической модели синтаксических и семантических классах, количестве лексем в ЛБД, о возможностях, предоставляемых программным комплексом на лексико-семантическом уровне;

–               функция, автоматически подсчитывающая частотность лексем, входящих в обрабатываемые тексты;

–               функции, выбирающие из ЛБД лексемы, принадлежащие определенным синтаксическим или семантическим классам;

–               функция, упорядочивающая лексемы по частотности во всей ЛБД или в выбранном подмножестве ЛБД.

На морфологическом уровне ЛБД содержит словарь псевдооснов,  псевдофлексий и описание словоизменительных классов, принятых в используемой морфологической модели. Достоинством морфологической части  ЛБД является полнота (в рамках [1]) хранящихся в ней закрытых классов слов (местоимений, предлогов, союзов и пр.) и наличие программных средств, позволяющих легко пополнять открытые классы слов (существительные, прилагательные и пр.). Реализованная морфологическая модель основана на [2] и содержит полные (в соответствии с [1]) сведения о русском словоизменении, включая использование буквы «ё» и учет схем ударения, что позволяет применять соответствующие функции программного комплекса, например, в приложениях, обучающих русскому языку, в лингвистических исследованиях, при решении задач распознавания и синтеза речи.

Основные функции морфологического уровня:

–               функция, выдающая основную информацию об используемой  морфологической модели;

–     морфологический анализатор – для любой формы имеющейся в словаре лексемы выдает все её грамматические характеристики;

–     морфологический синтезатор – по любой форме имеющейся в словаре лексемы строит любую другую форму или все её формы с указанием для каждой из них грамматических характеристик;

–     функции, выдающие из ЛБД лексемы, принадлежащие определенным словоизменительным классам, с определенной длиной или имеющие определенные флексии.

ЛБД и программы синтаксического уровня описаны в [3], [4] и [5].

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

Отличительной особенностью реализации морфологического компонента является решение, предполагающее полную загрузку морфологической БД в оперативную память. На первый взгляд может показаться, что при таком подходе для повышения скорости доступа к данным мы жертвуем большим объёмом памяти. Но простой анализ показал на примере, что при работе с БД размером в 20 Мб СУБД строит в памяти дополнительные структуры (такие как хеширующие таблицы индексов и т.д.), занимающие в памяти около 5-8 Мб. Кроме того, занимает память само ядро СУБД. При частом обращении к различным полям БД некоторые группы кортежей будут кэшироваться в ОП, но только после того, как они будут найдены во внешней памяти, которая на несколько порядков медленнее ОЗУ. Далее при работе с полями БД происходит большое количество различных этапов преобразования данных.

В итоге появилась возможность «жестко» связать указателями межсловарные ссылки, а также сократить объем преобразований. Так максимальное количество операций сравнения строк при анализе слова из 8 букв можно оценить значением 8 · log2 S · f » 4000, где S – количество основ в словаре, а f – максимальное количество флексий в словоизменительном классе. Реализованная модель морфологии в рамках грамматического словаря Зализняка А.А. (более 80 000 слов) занимает в памяти около 60 Мб. При этом вопросы динамической подкачки данных возлагаются на аппарат виртуальной памяти самой ОС.

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

В качестве примеров интеграции и использования программного комплекса можно рассмотреть пример применения морфологического компонента в модельной сетевой поисковой системе NIRSE (NetworkInformation Retrieval and Search Engine), а также в проекте сетевого узла общего пользования «Русская морфология».

 

 

Модельная поисковая система NIRSE

 

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

–                    нормализация лексики в пользовательском запросе;

–                    отсев «пустых» слов (междометия, частицы, союзы, предлоги, вводные слова и т.п.);

–                    идентификация в тексте различных форм одного и того же слова (для выборки ключевых слов).

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

 
   


 

Узел «Русская морфология»

 

Интерактивные услуги технологий WWW позволили обеспечить публичный доступ к морфологическому анализу и синтезу (по адресу http://axofiber.org.ru/rm/). Проект «Русская морфология» является примером интеграции морфологического компонента и web-сайта. Для реализации интерактивного доступа через WWW были разработаны серверные сценарии на базе языка сценариев PHP 4.0, которые с помощью средств языка HTML формируют пользовательский интерфейс и обеспечивают сетевое взаимодействие с морфоло­гическим компонентом, который находится в сети на выделенном узле.

 

 
   


 

 

В настоящее время создание программного комплекса находится на стадии завершения и отладки. В ближайшее время предстоит реализовать блок пополнения ЛБД на лексико-семантическом и морфологическом уровнях, отладить автоматизированную простановку ударений в словах и словосочетаниях, подключить синтаксический анализатор по моделям управления, пополнить и усовершенствовать семантический компонент.

 

 

Литература

 

  1. Зализняк А.А. Грамматический словарь русского языка. – М., Русский язык, 1980.
  2. Волкова И.А. Адаптация и обучение системы общения с ЭВМ на естественном языке. Автореф. дисс. к.ф.-м.н. – М., Изд-во МГУ, 1982.
  3. Волкова И.А., Головин И.Г., Кривнова О.Ф. Компьютерный словарь моделей управления русских глаголов. ДИАЛОГ’98, Труды межд. семинара. – М., 1998, с. 448-452.
  4. Волкова И.А., Головин И.Г. Синтаксический анализ фраз естественного языка на основе сетевой грамматики. ДИАЛОГ’98, Труды межд. семинара. – М., 1998, с. 438-447.
  5. Одинцев Н.В. Синтаксический анализатор на основе обобщенных моделей управления. ДИАЛОГ’02, Труды межд. семинара. – М., 2002.

 

 

Programs for Linguistic Processing of Russian Texts

Irina A. Volkova, Maxim O. Proskurnya

 

Key words: linguistic database, electronic dictionary, Russian morphology, Internet solutions.

 

The article describes the set of programs for automatic text processing based on the formalized model of Russian morphology. The model is represented in a compact and efficient way and covers the whole morphology according to "Russian grammar dictionary" by A.A. Zaliznyak. It handles Russian letter "ё" and includes information about stress letters.

The model implementation can be used as a separate application or integrated with other linguistic resources. The programs provide a number of services such as morphological analysis and synthesis, selection of words according to their classes, frequency analysis.

The article describes examples of using the program set within the hypertext information retrieval system and morphologic web resource.