М.Г. Мальковский, Т.Ю. Грацианова, И.Н. Полякова - Прикладное программное обеспечение - системы автоматической обработки текстов (1156451), страница 4
Текст из файла (страница 4)
Часть ЛБДпредназначена для автоматизации деятельности лингвистов и разработчиков прикладныхсистем, часть - для непосредственного использования в системах обработки текста и речи:автокорректорах, системах распознавания текста и речи, информационно-поисковыхсистемах.Отметим, что в качестве пользователя ЛБД может выступать как человек(исследователь-лингвист или разработчик программного продукта), так и тот или иноймодуль компьютерной системы обработки текстов. В двух этих случаях требования корганизации лингвистических банков данных и к степени эксплицитности, строгости иформальности представленных в них описаний естественного языка разнятся весьмасущественно.Ситуация здесь несимметричная.
Пользователь-человек часто может извлечьинтересующую его информацию из ЛБД, встроенного в компьютерную систему обработкитекстов. Однако компьютерная система обычно не может извлечь нужную для ее работыинформацию непосредственно из ЛБД, ориентированного на человека. Особенно остра этапроблема для флективных языков, в частности, для русского языка.Так, во всех распространенных русскоязычных словарях (толковых, орфографических,словарях синонимов и антонимов и др.) входом в словарную статью служит так называемаяначальная форма слова.
Поскольку словари ориентированы на пользователя-человека, поумолчанию предполагается, что он знает правила русского словоизменения (склонения испряжения) и может распознать в тексте любую форму интересующего его слова, т.е.,восстановив начальную форму, добраться до соответствующей словарной статьи.Предполагается также, что он может решить и обратную задачу - употребить слово изсловаря в требуемой грамматической форме.При использовании словарей в составе компьютерных систем обработки текстовситуация иная. Самоочевидные для человека грамматические свойства слова, определяющиеособенности его склонения/спряжения, должны быть тем или иным способом явнопредставлены в компьютерном словаре и в программах морфологического анализа и синтеза,позволяющих определять грамматические признаки словоформ текста и генерировать словав требуемой форме.Как распределить знания о чрезвычайно сложных и запутанных правилах русскогословоизменения между словарями и программными компонентами?Здесь возможны два решения:в словаре описываются только словоизменительные признаки слов (тип и частныеособенности склонения/спряжения), а работа по анализу и синтезу словоформ “поручается”программам морфологического компонента компьютерных систем;в словаре приводятся все формы слов, каждой из которых сопоставлены всенеобходимые признаки (в частности, грамматические: число, падеж, лицо, время, наклонениеи др.).В целом, задача построения и сопровождения лингвистически полного, обоснованногои покрывающего представительное подмножество выбранного естественного языка ЛБД,особенно в случае пользователя-программы, очень сложна.
Ее решение требует привлеченияквалифицированных специалистов в области лингвистики и инженерии знаний, созданиянеобходимой инфраструктуры, серьезной финансовой и организационной поддержки (часто- на государственном уровне).2.2. Библиотека программ "Русская морфология"2.2.1. Словарь ЗализнякаОдним из широкодоступных (и активно используемых) русскоязычных ЛБД являетсяэлектронный вариант фундаментального «Грамматического словаря русского языка»А.А.Зализняка.
Текст словаря был перенесен на машинные носители в начале 80-х годов. Стех пор словари всех русскоязычных коммерческих автокорректоров (в том числе, ОРФО,Word), словари практически всех экспериментальных и коммерческих систем машинногоперевода и других систем автоматической обработки текстов строятся на основе словаряЗализняка.Полиграфический вариант словаря Зализняка состоит из двух частей: "Грамматическиесведения" (около 120 страниц) и собственно "Словарь" (около 740 страниц). В первой частипредставлена разработанная автором словаря с необычайной тщательностью оригинальнаямодель русского словоизменения (склонения и спряжения). Во второй - приведено около 100тысяч слов, которым приписаны грамматические индексы, характеризующие тип ихсловоизменения и схему ударения. Слова упорядочены по концам, что естественно и удобнодля грамматического словаря, поскольку слова со сходным грамматическим поведением(одинаковыми суффиксами и окончаниями) располагаются компактными группами.Словарная статья в словаре Зализняка состоит из заголовка (начальная форма слова) исловарной (грамматической) информации.
Для некоторых слов даются такжедополнительные сведения, необходимые для различения вариантов. Статьи с заголовкамилев, стричь и прихожая выглядят так:лев мо 1*b (животное)лев м 1a (денежная единица)стричь нсв 8b (-г-)прихожая ж (п 4a)По первому элементу словарной информации определяется грамматический класс(спрягаемоеслово, слово субстантивного, адъективногоили местоименногосклонения - эти термины будут разъяснены в следующем разделе), для слов субстантивногосклонения также одушевленность и род, для спрягаемых слов - вид. Если, например, этотэлемент "п", то слово относится к словам адъективного склонения; "ж" - к словамсубстантивного склонения, женского рода, неодушевленным; "мо" - к словам субстантивногосклонения, мужского рода, одушевленным; "нсв" - к спрягаемым словам (глаголам)несовершенного вида.Если второй элемент - не цифра, то это означает, что слово изменяется по необычноймодели (существительное прихожая изменяется по модели слов адъективного склонения).Остальные элементы словарной статьи либо уточняют тип склонения/спряжения, либосвидетельствуют о наличии в слове чередований (символ *), об отсутствии у слованекоторых форм или о других частных особенностях словоизменения.
Буквенный индекспосле цифры (или после символа *) характеризует схему ударения во всех формахописываемого слова; эта информация полезна при автоматизированной генерациифонетического словаря словоформ русского языка.Отметим, что исходный (полиграфический) вариант словаря Зализняка былориентирован на пользователя-человека. Основной сценарий использования словаряпредусматривал возможность просклонять/проспрягать любое слово из "Словаря" на основеего грамматического описания и правил, приведенных в "Грамматических сведениях".
Этиоперации, вообще говоря, требовали выполнения некоторых трудноформализуемыхдействий, определенной языковой компетенции: поиск уместных грамматических таблиц,определение типа чередования, рассуждения по аналогии. Поэтому непосредственноеиспользование словаря Зализняка (даже в электронном виде) в составе компьютерных системобработки текста/речи затруднительно.Разработчики компьютерных словарей, базирующихся на словаре Зализняка, выбираютобычно один из трех путей:– генерация на основе словаря Зализняка словаря русских словоформ;– использование электронного "Словаря" в исходной форме и разработка (достаточносложных) алгоритмов, моделирующих работу с "Грамматическими сведениями";– создание на основе словаря Зализняка формальной модели словоизменения инеобходимое переструктурирование словарной части (явное введение в словарную статьюнекоторой информации из "Грамматических сведений"), позволяющее существенноупростить алгоритмы.После подобных преобразований компьютерный словарь может использоваться длярешения двух практически важных задач:задача морфологического анализа - определения начальной формы слова попроизвольной словоформе (и, возможно, грамматических признаков словоформы);задача синтеза - построения всех форм (или указанной формы) слова по начальнойформе.Одна из первых формальных моделей русского словоизменения на базе словаряЗализняка (третий из указанных выше путей) была разработана еще в середине 80-х годов накафедре алгоритмических языков факультета ВМК МГУ под руководствомМ.Г.Мальковского.
Модель была реализована на лиспоподобном языке программированияПлэнер (ЭВМ БЭСМ-6, а позже - МВК «Эльбрус-2» и IBM-совместимые ПК). При этомшироко использовались динамические структуры, мощные средства обработки списков исопоставления образца с выражением. В плэнерских структурах данных явно указывалисьвсе морфологические свойства для каждого слова, включая чередования в основе слова.Поэтому плэнерское представление достаточно легко воспринималось человеком, явноотражало морфологические особенности описываемых в компьютерном словаре слов.Однако язык Плэнер является интерпретируемым, а следовательно, довольно медленноработающим, что затрудняет его применение в системах, к которым предъявляются высокиетребования по быстродействию. Обработка сложной структуры списков требуетсущественных затрат машинного времени, даже при реализации алгоритма их обработки накомпилируемых языках, ориентированных на написание эффективных программ (С, С++).Поэтому было принято решение о переходе к другой структуре словаря и соответствующеймодификации алгоритмов анализа и синтеза.Плэнерские структуры, описывающие морфологические особенности всех различныхклассов слов, были пронумерованы.