Назад в библиотеку

 


 

АВТОМАТИЗАЦИЯ МОРФОЛОГИЧЕСКОГО АНАЛИЗА ТЕКСТОВОЙ ИНФОРМАЦИИ

Днепропетровский национальный университет им.О. Гончара

N. Stepanova

AUTOMATED MORPHOLOGICAL ANALYSIS OF TEXT INFORMATION

Предложена методика морфологического анализа текстовой информации автоматической системой.

Ключевые слова: словоформа, морфология, компьютерная лингвистика.

The technique of morphological analysis of the text by an automatic system. The structure of the dictionary, which would contain all the morphological generalizations (rules) and the elimination of them.

Keywords: word form, morphology, computer linguistics.

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

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

Наименьшую значимую единицу языка, которую можно выделить в составе слова, называют морфемой. Морфема несет двойную нагрузку: с одной стороны, семантическое (смысловое), с другой - фонетическое (как графическая форма для словообразования). Самостоятельно морфема существовать не может. К морфемам относятся только значимые части слова, а именно: корень, приставка, суффикс. Окончание такой частью не является. Конкретные реализации морфем в тексте называются морфами. Суффиксы и префиксы объединены общим названием - аффиксы.

Морфологические варианты некоторой словоформы можно характеризовать следующим образом:

<афикс_базы> <длина_афикса> [. <длина_префикса>],

где <длина_афикса> - это количество букв, которое необходимо отделить от словоформы, чтобы после добавления к <афиксу_базы> получить базовую форму из словаря. Например:

разумнее              ый2.3         // умный

времена               я3              // время

Для частей речи будем использовать следующие сокращения (табл.1):

Таблица 1

(С)уществительное = С [род] [одуш.]

род: (М)ужской, (Ж)енский, (С)редний;

одуш.: (О)душевленный, (Н)еодушевленный.

(П)рилагательное = П

 

(Г)лагол = Г [вид] [перех.]

вид: (С)овершенный, (Н)есовершенный;

перех.: (П)ереходной, (Н)епереходной

(М)естоимение = [тип]

тип: (С)уществительное, (П)рилагательное

(Н)аречие = Н

 

Первая буква определяет последующие индексы, к примеру: СЖО – существительное женского рода, одушевленное.

Основные морфологические признаки зависят от части речи:

В случае неопределенного признака на его месте располагаем звездочку.

Числительные имеют падеж, могут обладать одушевленностью («один и говорит…») и родом (один, две). Поэтому будем классифицировать их как существительные.

Рассмотрим основные особенности такого флективного языка как русский. Во-первых, для него характерна морфологическая амонимия. Например, для словоформы «теория» имеем набор лексем: теории (СЖН МИ), теории (СЖН ЕР), теории (СЖН ЕД), а для слова «спали» - спали (ГНН ПМ***), спали (ГСП ВЕ***). Также возможна и морфологическая синонимия: сильнее-сильней, рукою-рукой. Кроме этого, наблюдаются такие морфологические явления как чередование в основе (цветок-цветка), смена основы (человек- люди), префиксный способ словообразования (писать – прописать).

Слово в общем случае разбивается на морфы, несущие морфологическую информацию, например, разберем слово «сделавшаяся»:

приставка:            с                 - совер.

основа:                 дел              - глагол

тема:                     а

суффикс:             вш              - прич., прош.

окончание:          ая               - единст., жен., именит.

частица:               ся                - страд.

В качестве тестовой рассмотрим задачу определения рода существительных по окончанию слова. Если в грамматическом словаре русского языка Зализняка обросить немногочисленные существительные общего рода и проигнорировать слова, имеющие одновременно несколько родов, получим 43690 существительных. Таким образом, имеем список слов, которые система должна уметь классифицировать по одному из возможных классов: М (20301), Ж (17198), С(6191).

Правила словообразований языка выполняются в подавляющем большинстве случав и нарушаются в небольшом числе исключений. Например, большинство (3149) существительных с окончанием «– ость» имеют женский род и только одно слово «гость» - мужской.

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

 

Рис. 1. Первичная структура классификационного дерева

Над стрелками на рис.1 указаны буквы, инициирующие переход к следующему узлу, а внутри терминального узла – название класса. В результате будет построено полное дерево для определения морфологического класса слова.

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

Огость      М      1                 // гость

гость         Ж      8                 // упругость, благость, строгость,…

ость          Ж      3141           // кость, узость, трость, ярость,…

Рассмотрим подмножество слов, оканчивающихся на «м». Существует двадцать различных вариантов предпоследних букв, из них восемнадцать (гм, ем, зм, им, йм, лм, нм, ом, рм, см, тм, ум, фм, ым, ьм, юм, ям) ведет к словам мужского рода. На них ветвь должна обрываться. Аналогично и со словами, оканчивающимися на «эм»: они среднего рода. И только слова на «ам» (гам, храм, мадам) на этой голубине дерева еще не могут быть однозначно классифицированы (рис.2).

Рис. 2.Пример первого приема упрощения дерева

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

Рис. 3. Пример второго приема упрощения дерева

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