Proceedings 2001

Contents

Лемматизация слов русского языка в применении

к распознаванию слитной речи

Саввина Г.В., Саввин И.В.

 

 

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

 

О методах морфологического анализа.

 

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

В методах, традиционно называемых процедурными, каждое слово разделяется на основу (псевдоснову) и аффикс (псевдофлексию)[1], и словарь содержит только основы слов вместе со ссылками на соответствующие строки в таблице возможных аффиксов. Основной критерий при разбиении слова на основу и аффикс: основа должна оставаться неизменной во всех возможных словоформах данного слова. За счёт повторяющихся аффиксов сокращается суммарный объем словаря в сравнении с декларативными методами. Процедура морфологического анализа сводится к выбору всех основ, совпадающих с начальными буквами анализируемого слова, из словаря основ, и для каждой такой основы перебираются все возможные для нее аффиксы. В случае точного совпадения очередного варианта "основа+аффикс" с анализируемым словом вариант анализа считается успешным и в программу передается морфологическая информация, соответствующая данной основе и данному аффиксу. При этом, как правило, постоянные морфологические параметры определяются основой слова, а переменные — аффиксом.

Этот метод по сути является модификацией, усовершенствованием декларативного (каковым и будем его далее называть). Здесь точно так же задается вся парадигма. В грубом приближении все словоформы задаются в виде:

-      перечня основ;

-      перечня аффиксов;

-      перечня словоформ либо в виде перечня индексов основ и аффиксов, либо в виде перечня основ и списка аффиксов их парадигмы.

 

Предлагаемый нами подход имеет гораздо больше прав принадлежать к числу методов с процедурной ориентацией. Он предполагает наличие словаря начальных форм и грамматической информации, необходимой для словоизменения (как-то, часть речи, род и т.д.), а также массивов окончаний и программной реализации правил чередования в основе. Подход состоит в том, что слово последовательно причисляется к каждой из частей речи. Последовательно выбираются окончания для этой части речи. В случае, если окончание одной из косвенных форм совпадает с концовкой слова, совпадающая часть отбрасывается, производятся чередования в основе, если слово соответствует шаблону чередования, и к полученной основе добавляется окончание леммы. При построении леммы запоминается промежуточная информация – сведения о том, как именно была построена данная лемма. Все леммы, которые можно построить таким образом, вместе с промежуточной информацией собираются в список. Каждое слово этого списка ищется в словаре лемм. Результатом лемматизации является список слов, найденных в словаре, для которых промежуточная информация соответствует грамматической информации из словаря. Данный метод был программно реализован в виде модуля (динамически подключаемой библиотеки) и в настоящее время успешно используется.

К числу  преимуществ предложенного метода следует отнести:

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

-        отсутствие необходимости в построении парадигмы (от шести словоформ – у местоимений и до тридцати у прилагательных) каждого из слов, основа которого совпадает с началом исходного слова;

-        возможность модификации представления входных данных.

 

Примером, когда необходима модификация представления входных и внутренних данных, может служить задача построения системы распознавании речи, предназначенной для диктовки произвольного естественно-языкового текста. В этом случае необходимо либо хранить эталоны (будь то фонетическая транскрипция, последовательность кодовых векторов или скрытая марковская модель слова) всех словоформ для каждого из слов, либо хранить только часть из них - допустим, начальные формы - и иметь процедуру преобразования эталона любой словоформы к этим хранимым формам. Наблюдаем ту же ситуацию, что и с морфологическим анализом текстов – возможен декларативный и процедурный подход к решению проблемы. При декларативном подходе придется в той или иной форме задавать все эталоны и соответствующие им словоформы, а также указывать их связь с леммой. При процедурном подходе – найти то преобразование, которое позволит установить связь между фрагментом речи и эталоном начальной формы слова. Выбор метода решения описанной задачи для речи неизменно повлияет и на выбор метода морфологического анализа. Использовать разные подходы в этом случае - значит из двух зол выбрать оба. Задача выбора подхода к решению проблемы становится ещё более актуальной, если не требовать от диктора пауз между словами (это требование делает диктовку неестественной).

Основным недостатком декларативных методов является чрезмерно большой объем словаря, порождающий ряд технических проблем:

  1. Большие затраты труда на создание и поддержание словаря.

Связаны в основном с этапом морфологического анализа. Для предшествующего ему этапа широко распространена практика автоматического синтеза эталонов.

  1. Невозможность полного размещения словаря в оперативной памяти компьютера при анализе.
  2. Большие временные затраты на поиск слова, особенно для слитной речи.

Достоинствами метода является простота (и, как следствие, высокая скорость) анализа, а также универсальность по отношению ко множеству всех возможных словоформ русского языка.

Для процедурных методов время анализа одного слова может быть существенно выше, но объем используемых словарей в небольших системах позволяет загружать словари целиком в оперативную память. Кроме того, такие словари значительно легче создавать (этап лемматизации), поскольку постоянные параметры каждого слова вводятся однократно.

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

Модифицированный метод лемматизации

 

Модифицированный модуль лемматизации (в дальнейшем: модуль лемматизации) отличается от исходного входными и внутренними данными. Входные данные модуля лемматизации – словарь и результат работы предшествующих этапов обработки (тогда как для исходного модуля – это словарь и слово в виде строки). Выходные данные – список лемм слова, если таковые имеются в словаре, и соответствующей этим леммам морфологической информации (МИ). МИ – информация о части речи и форме слова – необходима на следующем этапе обработки.

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

а) списком вариантов символов;

б) списком возможных “вставок”;

в) списком возможных “замещений”.

Поясним структуру входных данных на примерах слов “дерётся” и “местный”.

На рисунке 1 приведен список вариантов символов.

 

       
   
     
 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1. – Варианты символов при фонетическом

 декодировании слов:  а) “дерётся” ; б)“местный”

 

Для слова “дерётся” список возможных “вставок” пуст. Список возможных “замещений” состоит двух элементов, которые содержат следующую информацию: номер символа, строка, на которую заменяем, условие замены. Для слова “дерётся” этот список выглядит так:

1.Номер символа – 5. “тьс”. Условие: 5-й символ – предпоследний, 6-й символ - ‘я’.

2.Номер символа – 5. “тс”. Условие: нет.

Для слова “местный” список возможных “замещений” пуст. Список возможных “вставок” содержит два элемента, которые содержат следующую информацию: номер символа, перед которым возможна вставка, вставляемый символ. Для слова “местный” этот список выглядит так:

  1. Номер символа – 4. ‘т’.
  2. Номер символа – 4. ‘д’.

 

Теперь опишем модификацию модуля лемматизации на примере слова “дерётся”.

Её можно описать следующей последовательностью действий:

  1. Поиск в массиве стандартных окончаний. Окончания хранятся в инверсионном алфавитном порядке[1].

Если длина окончания меньше расстояния от конца слова до места ближайшей “вставки” или “замещения”, то ищем вхождение окончания в список символов (см. рис.1). Таким образом  получаем окончания -а, -я, -о, -ё,  . Иначе учитываем влияние “вставки” или “замещения”, рассматривая все варианты, когда они происходят и вариант, когда вставки/замещения не происходит.  Таким образом получаем окончание -ётся.

В результате получим 5 копий уточнённой входной структуры, которая будет содержать лишь 1 вариант 6-го символа, соответствующий окончанию, и предполагать возможное  “замещение” и одну копию длиной 7 символов, последние из которых -ётся, в которой замещения не предполагается.

  1. Для каждой из копий пытаемся строить лемму от формы, соответствующей МИ окончания. При необходимости уточняем последние символы основы.
  2. Поиск леммы в словаре и отбор истинных лемм. Исходный и модифицированный подход отличаются принципом, по которому отсортирован словарь. В исходном варианте принцип сортировки – алфавитный порядок, а в модифицированном - алфавитный порядок, но учитываются лишь однозначно интерпретируемые символы.

 

 

Заключение

 

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

 

 

 

Литература

 

  1. Аношкина Ж. Г. Морфологический процессор русского языка.//Бюллетень машинного фонда русского языка /отв. редактор В.М. Андрющенко / М., 1996, Вып.3,  с.53-57.
  2. Андреев А.М., Березкин Д.В., Брик А.В., Смирнов Ю.М. Об одном способе построения синтаксического анализатора текстов на естественном языке // Изв. вузов. Приборостроение, 1997. Т. 40.
  3. Зализняк А. А. Грамматический словарь русского языка. Словоизменение. Около 100000 слов. М.: “Русский язык”,1977, 880с.
  4. Саввина Г.В. Распознавание ключевых слов в потоке слитной речи. // Искусственный интеллект , №3 2000 г., с.543-551.

 

 

 

 

[1] Слова отсортированы по алфавиту начиная с конечных букв