Большакова Е.И. и др. - Автоматическая обработка текстов на естественном языке и компьютерная лингвистика (1027379), страница 35
Текст из файла (страница 35)
В этом случае мы можем создать справочник, в котором каждомусимвольному имени параметра будет сопоставлено некоторое уникальное число. Примашинной обработке подобный подход позволит сэкономить место в памяти иускорит процесс выдачи результатов. Заодно он объединит оба подхода, оставивлюдям уникальные и понятные для них символьные имена и предоставив компьютеруиметь дело с более удобным и компактным представлением.При различных подходах слово «мама» может быть записано следующимобразом.мамасущ., женск., одуш., единств., именит.мамасущ., род=женск., одуш=одуш., число=единств., падеж=именит.1234501 0202 0501 1101 1201В последнем случае должен иметься справочник, указывающий, чтосуществительному соответствует код 01, параметр род имеет код 02, а для негоженский род кодируется числом 02 и т.д.
Сопоставлением нормальной формы и еекода занимается сам морфологический словарь. Так, если на анализ подается строка,110то на выходе будет числовой идентификатор, тогда как в синтезе информацияпреобразуется в противоположную сторону: по идентификатору можно получитьстроковую запись слова.Набор параметров для частей речи фиксируется. Среди параметров словавыделяют словообразовательные и формообразовательные. Словообразовательныепараметры не изменяются при изменении слова по формам. Так, например, слово«мама» остается женского рода в любой своей форме.
Формообразовательныепараметры изменяются при изменении слова по формам. Для приведенного примерападеж будет являться формообразовательным параметром. Обычно разделение насловообразовательные и формообразовательные параметры задается для всех слов,принадлежащих одной части речи. При этом словообразовательные параметры дляодних частей речи могут являться формообразовательными для других. Например,параметр рода не меняется у существительных, однако будет образовывать формы уприлагательных и глаголов. Отнесение части параметров является спорной.Например, переходность глаголов может относиться как к словообразовательным, таки к формообразовательным параметрам, в зависимости от предпочтенийразработчиков и их целей.Формально морфологическая омонимия – это ситуация, когда одной словоформеможно приписать несколько кортежей, содержащих нормальную форму, части речи инабор параметров.
Ниже приведены примеры таких ситуаций.мамыМамасущ., ж.р., ед. ч., род. п., одуш.Мамасущ., ж.р., мн. ч., им. п., одуш.стеклоСтеклосущ., ср.р., ед. ч., им. п., неодуш.Стекатьгл., ср. р., ед. ч., 3 л., нн.ф., пр. вр.дракондраконсущ., м.р., ед. ч., им. п., одуш.(животное)дракон (корабль)сущ., м.р., ед. ч., им. п., неодуш.замокзамок (зáмок)сущ., м.р., ед. ч., им.
п., неодуш.замок (замóк)сущ., м.р., ед. ч., им. п., неодуш.Приведенные примеры показывают различные виды омонимии. Подобнаяситуация весьма распространена во многих языках, хотя и в разной мере. Отсутствиеданного явления изрядно сократило бы количество шуток. В [7] приводитсяследующее определение омонимии: «Омонимами (гр. homos - одинаковый + onyma имя) называются слова, разные по значению, но одинаковые по звучанию инаписанию».
При этом различают полные и неполные (частичные) омонимы. Приполной омонимии слова принадлежат к одному грамматическому классу (у них одначасть речи) и все их формы совпадают. Примерами полной омонимии являются слова«дракон» (животное vs корабль), «кошка» (одушевленная vs неодушевленная), «коса»(прическа, отмель, инструмент).
К неполной омонимии можно отнести слова, укоторых совпадают лишь некоторые формы. Это, например, «закапывать»,происходящее от слов «закапать» и «закопать», или приведенное выше «стекло».Выделяют и более частные явления. Так, полисемией называется свойство словупотребляться в разных значениях. В теоретической лингвистике считается, что словаполисемичны, если они сохранили некоторую логическую связь между собой:существуют некоторые аналогии, ассоциации, не потеряны исторические корни. Так,например, слово «ядро», как нечто центрообразующее, считается полисемичным111(пушечное ядро, ядро ореха, ядро армии), тогда как «коса» будет омонимичной (хотяи здесь можно найти общее – нечто тонкое и вытянутое). Кроме того, слова могутбыть омоформами друг друга, если у них совпадают одно или несколько написаний,или омографами, когда у них совпадают написания, но различаются произношения(«зáмок» vs «замóк»).Рассмотрев то, над чем работает морфология, перейдем к тем методам, спомощью которых она реализуется.
Различают два вида морфологических словарей:словарные и бессловарные. Словарная морфология предполагает наличие словаря, вкотором каждой словоформе сопоставлены нормальная форма и набор параметров.Т.е. у нас хранится полный словарь слов, и мы не можем проанализировать илипросинтезировать слова, отсутствующие в словаре. Самым простым решениемпроблемы создания морфологического словаря является таблица, в которой в первойколонке будет записана словоформа, во второй – нормальная форма, а в третьей –набор параметров.Для морфологического анализа в таком словаре необходимо просто найти всесоответствующие словоформы и выдать найденные результаты. Для синтезатребуется найти заданную нормальную форму с требуемым набором параметров ивыдать словоформу, находящуюся в той же строке (Рис. 2.1).Однако при подобном подходе очень велики накладные расходы.
Еслипредположить, что среднее слово будет занимать 8 байт, среднее количествопараметров положить равным 4 и для обозначения параметров использовать 8 байт,то с частью речи одна запись в среднем будет занимать 48 байт. Предположим, чтодля каждой нормальной формы у нас имеется 8 словоформ. Тогда морфологическийсловарь объемом 100 тыс. слов будет занимать 36,6 Мб.
Однако это весьмаоптимистические предположения. Так, 8 словоформ были взяты просто потому, чтоэто круглая цифра. В русском языке существительные имеют 12 форм, априлагательные – 24; с другой стороны, наречия и предлоги имеют всего одну форму,но их количество уступает количеству тех же существительных. Максимальноеколичество словоформ может превышать 300 (если мы считаем деепричастия ипричастия формами глагола), и среднее количество в этом случае составит около 25форм на парадигму.
На практике потребуется также место для индексов, в случаереляционной таблицы придется зарезервировать место не под среднюю длину слова, амаксимальную и т.д. В итоге словарь в 100 тыс. слов (чего не достаточно для анализатекстов широкой тематики) будет содержать порядка 2–2,5 млн.
входов против 800тыс., которые были взяты для расчета. В связи с этим объем занимаемой памятиможет вырасти на порядок – до 256 Мб без учета индексов. Кроме того, и времяпоиска будет пропорционально логарифму от объема базы, умноженному на среднююдлину слова.Выходом может служить переход к дереву.
Анализ словоформы в таком случаепроводится побуквенно, начиная от корня дерева. В каждом узле хранится массивуказателей на следующую вершину, причем каждый указатель отвечает за своюбукву. Решение в лоб заключается в том, чтобы в каждом узле хранить массив длинойв размерность алфавита языка. Однако для русского языка для хранения всехпоследовательностей из 8 букв потребовалось бы более 46 млрд указателей. Большаячасть таких вариантов будет отсеяна, так как, например, в русском языке нет слов,начинающихся на твердый или мягкий знак. Кроме того, массивы будут заполненыплотно только близко к корню дерева.
Ближе к листовым вершинам массивы112становятся сильно разрежены. Это свойство можно использовать и после 2-4 уровнейхранить два массива. Первый массив хранит список букв, для которых имеютсяуказатели, а второй массив – собственно указатели в соответствующих ячейках.Кроме того, часть постфиксов слов будут уникальны для данной ветви и будутпредставлять собой линейную цепочку, то есть их можно хранить в виде строки, а непоследовательности вершин дерева. На Рис. 2.2 показан пример дерева префиксов.мама, ж.р., одуш.,ед.ч., им.п.Анализмамы, ж.р., одуш.,ед.ч., р.п.маме, ж.р., одуш.,ед.ч., д.п.маму, ж.р., одуш.,ед.ч., в.п.мамой, ж.р., одуш.,ед.ч., т.п.Синтезмамемаме, ж.р., одуш.,ед.ч., пр.п.мамы, ж.р., одуш.,мн.ч., им.п.мамахмама, ж.р., одуш.,ед.ч., д.п.мам, ж.р., одуш.,мн.ч., р.п.мамам, ж.р., одуш.,мн.ч., д.п.мам, ж.р., одуш.,мн.ч., в.п.мама, ж.р., одуш.,мн.ч., пр.п.мама, ж.р., одуш.,ед.ч., пр.п.мамами, ж.р., одуш.,мн.ч., т.п.мамах, ж.р., одуш.,мн.ч., пр.п.Рис.
2.1. Пример табличного морфологического анализа и синтезаКроме того, традиционно раздельно хранят деревья префиксов и постфиксов.Дело в том, что для большинства слов можно выделить неизменяемую часть –префикс – и набор постфиксов с привязанными к ним параметрами.
Подобный наборпостфиксов будем называть парадигмой изменения слова. Заметим, что мы неупотребляем здесь слова «окончания», а именно постфикс, так как при изменениислова у него может появляться, исчезать или меняться не только окончание, но исуффикс. Частым явлением является изменение корневой буквы. Ярким примеромявляется слово «идти», которое целиком попадет в изменяемый постфикс и будетиметь пустой неизменяемый префикс («идти» → «шел»). Кроме того, во многихсложносоставных словах меняется не только первое, но и второе слово.