Прикладное программное обеспечение: системы автоматической обработки текстов
Шрифт:
Словарная статья в словаре Зализняка состоит из заголовка (начальная форма слова) и словарной (грамматической) информации. Для некоторых слов даются также дополнительные сведения, необходимые для различения вариантов. Статьи с заголовками лев, стричь и прихожая выглядят так:
лев мо 1*b (животное)
лев м 1a (денежная единица)
стричь нсв 8b (-г-)
прихожая ж (п 4a)
По первому элементу словарной информации определяется грамматический класс ( спрягаемое слово, слово субстантивного, адъективного или местоименного склонения - эти термины будут разъяснены в следующем разделе),
Если второй элемент - не цифра, то это означает, что слово изменяется по необычной модели (существительное прихожая изменяется по модели слов адъективного склонения). Остальные элементы словарной статьи либо уточняют тип склонения/спряжения, либо свидетельствуют о наличии в слове чередований (символ *), об отсутствии у слова некоторых форм или о других частных особенностях словоизменения. Буквенный индекс после цифры (или после символа *) характеризует схему ударения во всех формах описываемого слова; эта информация полезна при автоматизированной генерации фонетического словаря словоформ русского языка.
Отметим, что исходный (полиграфический) вариант словаря Зализняка был ориентирован на пользователя-человека. Основной сценарий использования словаря предусматривал возможность просклонять/проспрягать любое слово из "Словаря" на основе его грамматического описания и правил, приведенных в "Грамматических сведениях". Эти операции, вообще говоря, требовали выполнения некоторых трудноформализуемых действий, определенной языковой компетенции: поиск уместных грамматических таблиц, определение типа чередования, рассуждения по аналогии. Поэтому непосредственное использование словаря Зализняка (даже в электронном виде) в составе компьютерных систем обработки текста/речи затруднительно.
Разработчики компьютерных словарей, базирующихся на словаре Зализняка, выбирают обычно один из трех путей:
– генерация на основе словаря Зализняка словаря русских словоформ;
– использование электронного "Словаря" в исходной форме и разработка (достаточно сложных) алгоритмов, моделирующих работу с "Грамматическими сведениями";
– создание на основе словаря Зализняка формальной модели словоизменения и необходимое переструктурирование словарной части (явное введение в словарную статью некоторой информации из "Грамматических сведений"), позволяющее существенно упростить алгоритмы.
После подобных преобразований компьютерный словарь может использоваться для решения двух практически важных задач:
задача морфологического анализа - определения начальной формы слова по произвольной словоформе (и, возможно, грамматических признаков словоформы);
задача синтеза - построения всех форм (или указанной формы) слова по начальной форме.Одна из первых формальных моделей русского словоизменения на базе словаря Зализняка (третий из указанных выше путей) была разработана еще в середине 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 - творительный).