Михаил Мальковский - Прикладное программное обеспечение: системы автоматической обработки текстов
Программа автоматически определяет: 1) основу записываемого в словарь системы слова; 2) номера М-класса, П-класса, С-класса; 3) наличие чередований и их контекст; 4) наличие других частных особенностей словоизменения. При работе с программой СЛОВ1 словарные статьи кодируются по определенным стандартным правилам, в частности, заменяются символы, отсутствующие на клавиатуре (например, цифра в кружке заменяется на цифру в круглых скобках).
По первому элементу словарной информации из словаря Зализняка в большинстве случаев определяется номер М-класса, у слов субстантивного склонения также одушевленность и род, у спрягаемых слов - вид. Если, например, этот элемент "п", то слово относится к 8-му М-классу; "ж" - к 7-му М- классу, женскому роду, неодушевленное; "мо" - к 7-му М-классу, мужскому роду, одушевленное; "нсв" - к 9-му М-классу, несовершенному виду.
После определения М-класса происходит переход на соответствующую ветвь алгоритма, где по второму элементу - цифре - определяется номер П-класса. Если второй элемент - не цифра (это означает, что слово изменяется по необычной модели), то СЛОВ1 фиксирует несовпадение номера С-класса с номером М-класса (т.е. наличие соответствующего исключения) и формирует необходимый фрагмент словарной статьи.
Остальные элементы исходной словарной статьи либо уточняют номер П-класса, либо свидетельствуют о наличии в слове чередований, исключений или об отсутствии у слова некоторых форм. Например, символ "П2" означает, что у слова есть второй предложный падеж (локатив), символ "*" является признаком чередования. Для определения конкретного номера чередования СЛОВ1 анализирует строение начальной формы слова. Так, при обработке первого варианта слова лев номер чередования (4 - чередование: ь - е) определяется по буквам ле, стоящим перед последней согласной основы (буква в в данном случае неинформативна). Стандартный вариант основы (льв-) определяется по номерам П-класса и чередования.
Результатом работы программы СЛОВ1 является словарная статья или список таких словарных статей - в случае, когда слово из словаря Зализняка представляется в ФМРС семейством Н-слов и/или основ И-слов (для спрягаемых слов, например, программа строит словарную статью, описывающую личные формы глагола и деепричастия, и несколько статей для причастий).
Заполнение словаря по тексту. Программа СЛОВ2Программа СЛОВ1 используется в ситуации, когда список слов, предназначенных для включения в компьютерный словарь, составлен заранее. Другая технологическая схема предполагает автоматизацию не только этого, но и предыдущего этапа - этапа выявления незнакомых слов по характерным текстам.
Отдельные программы различаются:
– глубиной лингвистического анализа текста (пословный анализ, частичный синтаксический анализ, полный синтаксический анализ, синтактико-семантический анализ);
– "степенью самостоятельности" программ формирования словаря (работа без обращения за помощью к человеку, работа в диалоге с пользователем/администратором и под его контролем)
При пакетной обработке текстов на печать выдается так называемый "протокол формирования словаря", в который могут вставляться вопросы, адресуемые администратору. Рассмотрим фрагмент протокола диалога администратора-лаборанта с программой пословного анализа текста (будем считать, что слова: колба, стержень, стекло, стечь - отсутствуют в словаре):
* РАБОТАЕТ ПРОГРАММА ФОРМИРОВАНИЯ СЛОВАРЯ ПО ТЕКСТУ *
УКАЖИТЕ, ПОЖАЛУЙСТА, ОТКУДА БУДЕТ ВВОДИТЬСЯ ТЕКСТ
(К - С КЛАВИАТУРЫ, ‹ИМЯ ФАЙЛА› - ИЗ ВНЕШНЕГО ФАЙЛА)
К
ВВОДИТЕ ТЕКСТ. ПРИЗНАК КОНЦА - //.
ВНУТРИ КОЛБЫ РАСПОЛАГАЕТСЯ СТЕРЖЕНЬ, ВЫПОЛНЕННЫЙ ИЗ
СТЕКЛА. ЧЕРЕЗ СТЕРЖЕНЬ ... //
ВЫБЕРИТЕ РЕЖИМ РАБОТЫ, УКАЗАВ НОМЕР РЕЖИМА:
1 - ЗАПИСЬ СЛОВАРНЫХ СТАТЕЙ В БУФЕР БЕЗ ВЫДАЧИ ИНФОРМАЦИИ
2 - ЗАПИСЬ СЛОВАРНЫХ СТАТЕЙ В БУФЕР С ВЫДАЧЕЙ ИНФОРМАЦИИ
3 - ФОРМИРОВАНИЕ СЛОВАРНЫХ СТАТЕЙ С ПОМОЩЬЮ ПОЛЬЗОВАТЕЛЯ
3
ПЕРВАЯ ФРАЗА: НЕЗНАКОМЫЕ СЛОВА: КОЛБЫ, СТЕРЖЕНЬ, СТЕКЛА
СЛОВО 'КОЛБЫ' - СУЩЕСТВИТЕЛЬНОЕ? (Д/Н)
Д
К КАКОМУ РОДУ ОТНОСИТСЯ СУЩЕСТВИТЕЛЬНОЕ 'КОЛБЫ'? (М/Ж/С)
Ж
ЯВЛЯЕТСЯ ЛИ ОНО ОДУШЕВЛЕННЫМ? (Д/Н)
Н
К КАКОМУ РОДУ ОТНОСИТСЯ СУЩЕСТВИТЕЛЬНОЕ 'СТЕРЖЕНЬ'? (М/Ж/С)
М
ЯВЛЯЕТСЯ ЛИ ОНО ОДУШЕВЛЕННЫМ? (Д/Н)
Н
СЛОВО 'СТЕКЛА' - ГЛАГОЛЬНАЯ ФОРМА? (Д/Н)
Н
К КАКОМУ РОДУ ОТНОСИТСЯ СУЩЕСТВИТЕЛЬНОЕ 'СТЕКЛА'? (М/Ж/С)
С
СФОРМИРОВАНЫ СЛОВАРНЫЕ СТАТЬИ С ОСНОВАМИ:
КОЛБ-, СТЕРЖН-, СТЕКЛ-.
ВТОРАЯ ФРАЗА: ...
...
Морфологический синтез форм слова. Программа ФОРМ1По словарной статье (знакомого слова) и набору значений ГП строится соответствующая словоформа.
Примеры:
ЛЕВ (животное), творит.падеж, ед.число (7 0 0 1 5) → ЛЬВОМ
ЛЕВ (ден.единица), творит.падеж, ед.число (7 0 0 1 5) → ЛЕВОМ
Морфологический синтез парадигмы. Программа ФОРМ2По словарной статье (знакомого слова) строится массив всех форм этого слова. Порядок элементов массива определяется номером М-класса.
Примеры:
синтез всех форм знакомого существительного КАССИРША
КАССИРША КАССИРШИ - им.падеж, ед. и мн.число
КАССИРШИ КАССИРШ - род.падеж, ед. и мн.число
КАССИРШЕ КАССИРШАМ - дат.падеж, ед. и мн.число
КАССИРШУ КАССИРШ - вин.падеж, ед. и мн.число
КАССИРШЕЙ КАССИРШАМИ - твор.падеж, ед. и мн.число
КАССИРШЕ КАССИРШАХ - предл.падеж,ед. и мн.число
синтез всех форм знакомого глагола ВОРОШИТЬ
ВОРОШИТЬ - начальная форма
ВОРОШИ ВОРОШИТЕ - формы повелит. наклонения
ВОРОШУ (БУДУ ВОРОШИТЬ) - 1 лицо,ед.ч,наст.и буд.вр.
ВОРОШИШЬ (БУДЕШЬ ВОРОШИТЬ) - 2 лицо,ед.ч,наст.и буд.вр.
ВОРОШИТ (БУДЕТ ВОРОШИТЬ) - 3 лицо,ед.ч,наст.и буд.вр.
ВОРОШИМ (БУДЕМ ВОРОШИТЬ) - 1 лицо,мн.ч,наст.и буд.вр.
ВОРОШИТЕ (БУДЕТЕ ВОРОШИТЬ) - 2 лицо,мн.ч,наст.и буд.вр.
ВОРОШАТ (БУДУТ ВОРОШИТЬ) - 3 лицо,мн.ч,наст.и буд.вр.
ВОРОШИЛ ВОРОШИЛА ВОРОШИЛО ВОРОШИЛИ - формы прош.времени
ВОРОША ВОРОШИВ - деепричастия
Рассмотрим примеры, показывающие возможность комбинирования отдельных программ библиотеки "Русская морфология". Пусть написана управляющая программа, получающая на входе некоторую словоформу, обращающаяся к программе МОРФ1 (и - если слова нет в словаре - к МОРФ2) и генерирующая все формы (программа ФОРМ2) для каждого варианта анализа. Среди этих форм обязательно должна быть входная словоформа.
Примеры:
обработка незнакомого слова ХРЮША
ВАРИАНТ 1
склонение по образцу слова НОЖ/БОГАЧ
* значение ГП "одушевленность" неизвестно *
ХРЮШ ХРЮШИ
ХРЮША ХРЮШЕЙ
ХРЮШУ ХРЮШАМ
ХРЮША / ХРЮШ ХРЮШЕЙ / ХРЮШИ
ХРЮШОМ ХРЮШАМИ
ХРЮШЕ ХРЮШАХ
ВАРИАНТ 2
склонение по образцу слова МАРШ
* значение ГП "одушевленность" неизвестно *
ХРЮШ ХРЮШИ
ХРЮША ХРЮШЕЙ
ХРЮШУ ХРЮШАМ
ХРЮША / ХРЮШ ХРЮШЕЙ / ХРЮШИ
ХРЮШЕМ ХРЮШАМИ
ХРЮШЕ ХРЮШАХ
ВАРИАНТ 3
склонение по образцу слова ТУЧА/КАССИРША
* значение ГП "одушевленность" неизвестно *
ХРЮША ХРЮШИ
ХРЮШИ ХРЮШ
ХРЮШЕ ХРЮШАМ
ХРЮШУ ХРЮШ / ХРЮШИ
ХРЮШЕЙ ХРЮШАМИ
ХРЮШЕ ХРЮШАХ
ВАРИАНТ 4
склонение по образцу слова СВЕЖИЙ
ПОХРЮШЕЕ ХРЮШЕЕ
ХРЮШ ХРЮША ХРЮШЕ ХРЮШИ
ХРЮШИЙ ХРЮШАЯ ХРЮШЕЕ ХРЮШИЕ
ХРЮШЕГО ХРЮШЕЙ ХРЮШЕГО ХРЮШИХ
ХРЮШЕМУ ЖРЮШЕЙ ХРЮШЕМУ ХРЮШИМ
ХРЮШЕГО amp; ХРЮШИЙ ХРЮШУЮ ХРЮШЕЕ ХРЮШИХ amp; ХРЮШИЕ
ХРЮШИМ ХРЮШЕЙ ХРЮШИМ ХРЮШИМИ
ХРЮШЕМ ХРЮШЕЙ ХРЮШЕМ ХРЮШИХ
ВАРИАНТ 5
спряжение по образцу слова ТОЧИТЬ/СЛЫШАТЬ
ХРЮШИТЬ
ХРЮШИ ХРЮШИТЕ
ХРЮШУ (БУДУ ХРЮШИТЬ)
ХРЮШИШЬ (БУДЕШЬ ХРЮШИТЬ)
ХРЮШИТ (БУДЕТ ХРЮШИТЬ)
ХРЮШИМ (БУДЕМ ХРЮШИТЬ)
ХРЮШИТЕ (БУДЕТЕ ХРЮШИТЬ)
ХРЮШАТ (БУДУТ ХРЮШИТЬ)
ХРЮШИЛ ХРЮШИЛА ХРЮШИЛО ХРЮШИЛИ
ХРЮША ХРЮШИВ
ВАРИАНТ 6
неизменяемое слово типа АНТРАША
ХРЮША
Заметим, что если бы слово хрюша анализировалось с предсказаниями, результат был бы более точен. Так, при предсказании «существительное женского рода» был бы выдан только третий вариант, при предсказании «форма глагола» - только пятый.
обработка незнакомого слова КРОВАТЬ
ВАРИАНТ 1
спряжение по образцу слова ПИРОВАТЬ
* значение ГП "вид" неизвестно *
(выбран несовершенный вид)
КРОВАТЬ
КРУЙ КРУЙТЕ
КРУЮ (БУДУ КРОВАТЬ)
КРУЕШЬ (БУДЕШЬ КРОВАТЬ)
КРУЕТ (БУДЕТ КРОВАТЬ)
КРУЕМ (БУДЕМ КРОВАТЬ)
КРУЕТЕ (БУДЕТЕ КРОВАТЬ)
КРУЮТ (БУДУТ КРОВАТЬ)
КРОВАЛ КРОВАЛА КРОВАЛО КРОВАЛИ
КРУЯ КРОВАВ
ВАРИАНТ 2
склонение по образцу слова ПЕЧАТЬ
* значение ГП "одушевленность" неизвестно *
КРОВАТЬ КРОВАТИ
КРОВАТИ КРОВАТЕЙ
КРОВАТИ КРОВАТЯМ
КРОВАТЬ КРОВАТЕЙ / КРОВАТИ
КРОВАТЬЮ КРОВАТЯМИ
КРОВАТИ КРОВАТЯХ
ВАРИАНТ 3
неизменяемое слово типа ДЕСКАТЬ