Отметим, что исходный (полиграфический) вариант словаря Зализняка был ориентирован на пользователя-человека. Основной сценарий использования словаря предусматривал возможность просклонять/проспрягать любое слово из "Словаря" на основе его грамматического описания и правил, приведенных в "Грамматических сведениях". Эти операции, вообще говоря, требовали выполнения некоторых трудноформализуемых действий, определенной языковой компетенции: поиск уместных грамматических таблиц, определение типа чередования, рассуждения по аналогии. Поэтому непосредственное использование словаря Зализняка (даже в электронном виде) в составе компьютерных систем обработки текста/речи затруднительно.
Разработчики компьютерных словарей, базирующихся на словаре Зализняка, выбирают обычно один из трех путей:
– генерация на основе словаря Зализняка словаря русских словоформ;
– использование электронного "Словаря" в исходной форме и разработка (достаточно сложных) алгоритмов, моделирующих работу с "Грамматическими сведениями";
– создание на основе словаря Зализняка формальной модели словоизменения и необходимое переструктурирование словарной части (явное введение в словарную статью некоторой информации из "Грамматических сведений"), позволяющее существенно упростить алгоритмы.
После подобных преобразований компьютерный словарь может использоваться для решения двух практически важных задач:
задача морфологического анализа - определения начальной формы слова по произвольной словоформе (и, возможно, грамматических признаков словоформы);
задача синтеза - построения всех форм (или указанной формы) слова по начальной форме.Одна из первых формальных моделей русского словоизменения на базе словаря Зализняка (третий из указанных выше путей) была разработана еще в середине 80-х годов на кафедре алгоритмических языков факультета ВМК МГУ под руководством М.Г.Мальковского. Модель была реализована на лиспоподобном языке программирования Плэнер (ЭВМ БЭСМ-6, а позже - МВК «Эльбрус-2» и IBM-совместимые ПК). При этом широко использовались динамические структуры, мощные средства обработки списков и сопоставления образца с выражением. В плэнерских структурах данных явно указывались все морфологические свойства для каждого слова, включая чередования в основе слова. Поэтому плэнерское представление достаточно легко воспринималось человеком, явно отражало морфологические особенности описываемых в компьютерном словаре слов.
Однако язык Плэнер является интерпретируемым, а следовательно, довольно медленно работающим, что затрудняет его применение в системах, к которым предъявляются высокие требования по быстродействию. Обработка сложной структуры списков требует существенных затрат машинного времени, даже при реализации алгоритма их обработки на компилируемых языках, ориентированных на написание эффективных программ (С, С++). Поэтому было принято решение о переходе к другой структуре словаря и соответствующей модификации алгоритмов анализа и синтеза.
Плэнерские структуры, описывающие морфологические особенности всех различных классов слов, были пронумерованы. Затем словам/основам и флексиям были сопоставлены соответствующие номера классов. При чередовании в основе и при наличии у слова супплетивных - образованных от другой основы - форм (хорош-ий - лучше) были организованы дополнительные входы в словарные статьи.
Новое представление словаря трудно воспринимаемо для человека. Однако унификация и упрощение структур данных позволили создать условия для значительного увеличения скорости обработки.
2.2.2. Формальная модель русского словоизменения
В Формальной модели русского словоизменения (ФМРС) множество слов русского языка разбивается на два основных класса - неизменяемые (Н-слова) и изменяемые, т.е. склоняемые или спрягаемые (И-слова). Совокупность форм И-слова (словоформ) образует его парадигму. В каждой словоформе можно выделить основу и окончание, или флексию (возможно, пустую, которую мы обозначим: -?), соответствующую конкретной форме И-слова; за флексией может следовать постфикс, например, возвратная частица ся/сь.
С основой И-слова, Н-словом, флексией и словоформой связывается описание значения соответствующего объекта, включающее описание его грамматических характеристик; лексических связей (синонимы, производные слова); семантического значения (ассоциированные с объектом понятия). Грамматические характеристики определяют сочетаемость основ и флексий и синтаксические признаки объектов всех четырех типов.
К грамматическим характеристикам морфологического уровня относятся:
морфологический (словоизменительный) класс - М-класс, парадигматический класс - П-класс, чередование, исключение. Синтаксическим показателем является синтаксический класс (С-класс). Если М-класс определяет, как изменяется слово (склоняется, спрягается), то С-класс характеризует его синтаксическое поведение (сочетаемость с другими словами) Как словоизменительные, так и синтаксические признаки определяются набором значений грамматических переменных.
Грамматическая переменная (ГП) - переменная одного из следующих типов: одушевленность, род, число, падеж, вид, лицо, залог, возвратность, время, наклонение, степень - принимает закодированное целым числом значение из некоторого множества допустимых. Значение ГП "род", например, кодируется так: мужской - 1, женский - 2, средний - 3. Если значение неопределенно, указывается список возможных значений или число 0 (которое, по соглашению, обозначает любое допустимое значение ГП).
Совокупность ГП, по которым изменяется И-слово (свободных ГП), определяет его парадигму, а спектр значений этих переменных - число элементов парадигмы. Множество И-слов с общим набором ГП, общим набором свободных ГП и общим спектром значений переменных образует М-класс. Основе (и словоформе) сопоставлен упорядоченный набор (вектор) значений соответствующих ГП. Так, например, с основой лев- слова лев (денежная единица) связан такой вектор (7 8 2 1 0 0)- слово 7-го М-класса, 8-го П-класса, неодушевленное (2), мужского рода (1), значения ГП "число" и "падеж" не определены (0 и 0). Для словоформы левами вектор будет иметь вид (7 2 1 2 5), здесь добавились значения ГП "число" (2 - множественное) и "падеж" (5 - творительный).
Понятие М-класса является уточнением традиционного понятия "часть речи": 7-й класс образован в основном существительными, 8-й - прилагательными, 9-й - глаголами.
В ФМРС рассматриваются три класса склоняемых И-слов: местоименные (М-класс номер 5), субстантивные (класс номер 7), адъективные (класс номер 8) и один класс спрягаемых (класс номер 9). Представители 5-го и 8-го М-классов изменяются по родам, числам и падежам, 7-го - по числам и падежам, 9-го - по лицам, родам, числам и временам. Отсутствие у И-слова одной или нескольких форм (например, форм единственного числа у слова ножницы, формы родительного падежа множественного числа у слова мгла) не препятствует отнесению его к соответствующему М-классу.
Подмножество М-класса, представители которого при совпадающих значениях свободных ГП имеют одинаковые флексии, образует парадигматический класс. В ФМРС рассматриваются 24 П-класса для слов субстантивного склонения, 8 - для слов адъективного склонения, 2 - для слов местоименного склонения, 9 - для спрягаемых слов. К 1-му П-классу субстантивных И-слов относятся, например, существительные завод и артист (флексии: -?, -а, -у, -? или -а, -ом, -е - для шести традиционных падежей единственного числа; -ы, -ов, -ам, -ы или -ов, -ами, -ах - для множественного); к 11-му П-классу - карта и корова; к 21-му - болото. К 1-му П-классу местоименных И-слов относятся: притяжательное прилагательное отцов, существительное кабельтов (не изменяется по родам), ко 2-му П-классу - местоимение мой, прилагательное лисий, порядковое числительное третий.
Хотя П-классы задают более детальную классификацию сочетаемости основ с флексиями чем традиционные типы склонения и спряжения, они недостаточны для описания многих частных особенностей русского словоизменения. Эти особенности можно было бы учесть с помощью еще более дробной классификации, однако, во избежание чрезмерного увеличения числа П-классов, в ФМРС используются другие методы.
Как исключения описываются случаи сочетания основы с "нестандартной" для данного П-класса и данной формы флексией: -а в форме именительного падежа множественного числа существительных вместо характерной для 1-го П-класса флексии -ы (глаза, но заводы), пустая флексия вместо флексии -ов в родительном падеже множественного числа (глаз, но заводов). Исключением считается и наличие у некоторых существительных 2-го родительного (партитивного) и 2-го предложного (локативного) падежей: кусок сахару, в шкафу, но из сахара, о шкафе. Всего в ФМРС учитываются 26 исключений такого вида.
К особенностям словоизменения относятся и чередования в основе. В ФМРС учтено 55 чередований, например: ова - у (рис-ова-ть - рис-у-ю), та - щ (клеве-та-ть - клеве-щ-у), е - ‹пусто› (царев-е-н- царев-н-а). Для И-слов с чередованиями достаточно рассматривать только один "стандартный" вариант основы, указывая тип и контекст чередования в описании значения основы. Так, для стандартного варианта основы царевн- указывается, что при пустой флексии перед последней буквой основы вставляется буква е.
Относительно редкие чередования (встречающиеся у 1-3 слов) в ФМРС учитываются по-иному: парадигмы таких слов задаются несколькими основами и Н-словами, образующими "семейство" слова (основы зай-, зайд- и заш- и И-слово зайти для глагола зайти). Семейства вводятся и для слов с супплетивными формами (хороший - лучше) или уникальными наборами флексий (некоторые числительные, личные местоимения).
В синтаксический класс объединяются слова и конструкции с общим набором ГП и общими синтаксическими функциями. Каждому представителю некоторого С-класса сопоставлен (как и в случае М-классов) вектор значений характерных ГП. Для большинства И-слов номер С-класса и соответствующий набор ГП совпадают с номером и набором ГП М-класса. Так, многие существительные - С-класс номер 7 - относятся и к 7-му М-классу. Однако некоторые слова изменяются по "необычной" модели: существительные прохожий, гончая склоняются как представители 8-го М-класса, для существительного кабельтов характерно местоименное склонение. В подобных ситуациях в описании значения основы указывается и синтаксический класс, а иногда значения "дополнительных" ГП (например, вида и залога для причастий - С-класс номер 18, склоняющихся по модели 8-го М-класса).
2.2.3. Основные программы
Программа МОРФ1 строит все возможные разбиения входной словоформы на основу и флексию и ищет соответствующие части в словаре (первоначально МОРФ1 пытается найти в словаре совпадающее со словоформой Н-слово, а затем последовательно рассматривает словоформу как основу с пустой флексией, основу с флексиями длиной 3, 2 и 1) или неизменяемое слово.
Проверку правильности разбиения - сочетаемости основы и флексии - осуществляет вспомогательная программа, она же устанавливает значения ГП, определяемые флексией. Когда МОРФ1, отщепив флексию, не может найти полученную основу в словаре, происходит обращение к подпрограмме, применяющей к основе правила чередования. Если и после применения правил чередования найти основу в словаре не удалось, слово признается незнакомым и формируется обращение к программе морфологического анализа незнакомых слов МОРФ2 - список вариантов трактовки словоформы (грамматически корректные разбиения на основу и флексию, неизменяемое слово).
Результат работы МОРФ1 (для знакомого слова) - список вариантов анализа, каждый из которых содержит: грамматические признаки словоформы и ссылку на словарную статью, описывающую семантическое значение слова.
Примеры:
стекла ? (7 2 3 1 2) - существительное (неодуш.,ср.род) стекло
в форме: ед.число, родит.падеж
(7 2 3 2 (1 4)) - существительное (неодуш.,ср.род) стекло
в форме: мн.число, именит. или винит.падеж
(9 1 1 3 2 1 1) - глагол стечь
в форме: прош.вр., женск.род, ед.число
Упрощенный вариант программы МОРФ1 - программа МОРФ3 - решает так называемую задачу лемматизации: определяет только начальную форму слова, не формируя список грамматических характеристик словоформы.
Примеры:
стеки ? стек, стечь
стекла ? стекло, стечь
стеками ? стек
На вход программы поступает сформированный МОРФ1 список вариантов трактовки словоформы.
Пример (словоформа квазибиологом):
квазибиологом+? (ср. космодром/управдом)
квазибиолог+ом (ср. биолог+ом)
квазибиологом (ср. бегом)
При обработке незнакомого слова МОРФ2 учитывает флексию и строение основы. В большинстве случаев исследование флексии не позволяет однозначно установить не только П-класс, род слов субстантивного склонения, вид спрягаемых слов, но даже М-класс анализируемого слова, так как, например, флексия -а встречается у слов всех четырех рассматриваемых М-классов (класс-а, красив-а, дядин-а, ворош-а). Для уточнения грамматических признаков незнакомых слов МОРФ2 учитывает следующие составляющие (диагностические сегменты) основы: префикс, суффикс или некоторую цепочку букв в конце основы, последнюю букву основы.
По префиксу можно обнаружить некоторые Н-слова и установить вид некоторых глаголов. Анализ суффикса помогает установить М-класс, П-класс, род (а иногда и одушевленность) слова субстантивного склонения, вид глагола или даже все нужные (описываемые в словарной статье) грамматические признаки слова. По последней букве основы легко уточняется П-класс, а иногда и М-класс слова. Программа МОРФ2 работает с таблицами, содержащими 28 префиксов и 67 суффиксов. Анализ незнакомого слова МОРФ2 начинает с варианта расщепления с максимальной длиной флексии.
Если анализируется не отдельно взятое слово, а слово в составе предложения, появляется возможность учета контекста (синтаксических связей данного слова с соседними). Информация о контексте передается программам морфологического анализа от объемлющих их программ синтаксического анализа с помощью предсказаний - списка ожидаемых грамматических признаков обрабатываемого слова. Так, при анализе незнакомого слова Верхневартовск в контексте приехала из далекого Верхневартовска ожидаемые характеристики последнего слова фрагмента таковы: неодушевленное существительное в форме единственного числа, родительного падежа.
В таких ситуациях результат работы МОРФ2 сопоставляется с предсказаниями, и, в случае соответствия, запоминается. Если же предсказание не подтвердилось, начинает обрабатываться другой вариант разбиения словоформы. Если ожидаемый результат не получен, либо слово признается неизменяемым, либо в нем ищутся и исправляются ошибки.
Для каждого отобранного варианта формируются результаты анализа словоформы (и вариант/варианты новой словарной статьи).
Пример (словоформа квазибиологом):
(7 0 1 1 (1 4)) - существительное (одуш. или неодуш., ср.род)
квазибиологом в форме: ед.число, именит. или винит.падеж
(7 1 1 1 5) - существительное (одуш.,муж.род)
квазибиолог в форме: ед.число, творит.падеж
(11) - неизменяемое слово (возможно, наречие)
Основная сервисная программа автоматической генерации словарных статей - программа СЛОВ1. В ходе ее разработки были составлены таблицы соответствия словарной информации из словаря Зализняка и словарной информации ФМРС. Отметим, что программа СЛОВ1 автоматизирует трудоемкую, требующую хорошего знания ФМРС работу по составлению словарных статей. Действия, выполняемые программой, зачастую весьма нетривиальны из-за различий морфологической модели словаря Зализняка, и ФМРС. На вход программы поступает словарная статья, взятая из словаря Зализняка или (если такого слова там нет) сформированная экспертом.
Программа автоматически определяет: 1) основу записываемого в словарь системы слова; 2) номера М-класса, П-класса, С-класса; 3) наличие чередований и их контекст; 4) наличие других частных особенностей словоизменения. При работе с программой СЛОВ1 словарные статьи кодируются по определенным стандартным правилам, в частности, заменяются символы, отсутствующие на клавиатуре (например, цифра в кружке заменяется на цифру в круглых скобках).