Научная статья на тему 'Лингвистические сети для представления схем следования аффиксов'

Лингвистические сети для представления схем следования аффиксов Текст научной статьи по специальности «Математика»

CC BY
182
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Лингвистические сети для представления схем следования аффиксов»

УДК 581.3

П.В. ЖЕЛТОВ

ЛИНГВИСТИЧЕСКИЕ СЕТИ ДЛЯ ПРЕДСТАВЛЕНИЯ СХЕМ СЛЕДОВАНИЯ АФФИКСОВ

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

Пример. Велосипедлисемпехчё-и ^ велосипед-л-и-сем-пе-х-чё-и ^ велосипед, аффикс обладания (-ла), аффикс выделения/субстантивации (-и), аффикс множественного числа (-сем), аффикс творительного падежа (-пе), аффикс усиления (-ех), аффикс прошедшего времени (-че), вопросительная частица (-и) - «ведь он был с теми, кто на велосипеде»?

Отметим, что эта задача до сих пор оставалась до конца не решенной [2] в связи с тем, что не был выработан адекватный математический аппарат для адекватного представления подобных схем. Поэтому задача эффективного представления подобных схем может быть решена только с применением ориентированных сетей или графов. В работе [1] в качестве математического аппарата для решения этой задачи были впервые предложены лингвистические сети Петри.

Приведем пример записи фрагмента схемы следования аффиксов, пред-стваленной на рис. 1, с помощью разработанных на основе сетей Петри лингвистических сетей (рис. 2).

Тогда для чувашского слова аннем^ём (анне+Ам+^+Ам) ‘мамочка моя’ путь на рис. 2 будет состоять из позиций р1^р2^р3^р4^р5. Из вышесказанного видно, что диаграммы следования отражают информацию о порядке следования лексем, но не регламентируют обязательное наличие всех аффиксов в анализируемой словоформе, т.е. аффиксы могут идти не подряд, а с пропусками, как в примерах, что часто и встречается на практике.

Чувашская морфология является регулярной или почти регулярной, что отражено на диаграмме тем, что большинство из маркеров данной сети, т.е. аффиксов являются терминалами (конкретными морфемами) (рис.2). Исключением является лишь маркер ’<основа>’, который подразумевает любую лексему из словаря основ, помеченную как существительное. Для проверки

Корень Словообр.

афф.

Осе

Существительное

Ед. число

1 л.

ІЛ. —I

2 л.

3 л.

Мн. число

1 л.

2 л.

Категория

числа

Категория числа

1 л.-мАр

2л.? -Ар

Категория принадлежности мн. число

Основн. 0

Притяж. -Ан -► Притяж.

Дат.-Вин.

Мес

-ТА

*-ЕЁа7К

Исходн.-ТАн

Творит. -пА

-тА

-тАн

-лА

Творит. -пА1

Лишит. -сАр

Прич.-цел. -шАи

Внепадежные категории

Прош. вр. -чё, -ччё

Усил.-Ах -ччё |

Внепадежные формы

Упод. ф. -лА

Формы облад. -лА

Предел, ф. -ЧЧен

Напр. ф. -Ал л А

Форма дост. -лАх

Разд. ф. -шАр

Ф. част, -серен

■*Ф. обр. дейст. -Ан

Сравн.ф. -рАх

Ф. обр. дейст. -Ан

Дат.-Вин. -А

Ф. обр. дейст. -Ан

Ф. выдел, -хи

-лА

Ф. субстант. -скер

Категория

падежа

-ЧЧё

-Ах

Кат. прош. вр. -чё, -ччё

Кат. ус ил. -Ах

-ЧЧё

Кат.выдел.

Ф. выдел -скер____

Рис. 1. Схема следования аффиксов для существительных чувашского языка

Рис. 2. Фрагмент записи схемы следования аффиксов для существительных чувашского языка с помощью сетей Петри р1 - входная позиция, содержащая словоформу; ґ1 - переход, определяющий позицию основы; р2 - позиция, указывающая на возможность следования очередной лексемы (аффикса); ґ2 - переход для аффикса принадлежности 1-го лица единственного числа -ам; р3 - позиция, указывающая на возможность следования очередного аффикса; ґ3 - переход для уменьшительного аффикса -д; ґ4 - переход для аффикса принадлежности 1-го лица единственного числа - ам; ґ6 - переход для аффикса принадлежности 2-го лица единственного числа -У; ґ7 - переход для аффикса принадлежности 3-го лица единственного числа -Ё; ґ5 - переход для аффикса множественного числа -сем; р5 - конечная позиция

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

а) р{1}[(<основа>, р2)] + р{2}[(Ам, р3) (У, р6) (Ё, р7)] +

+р{3}[(С, р4)] + р{4}[(Ам, р5)] + р{5}[(сем, р8)] +

+р{6}[сем, р8)] + р{7}[сем, р8)] + р{8}.

Файл с алгебраической записью схемы, представленной на рис.2, будет выглядеть следующим образом: р {1}[(<основа>, р2)] / р{2}[(Ам, р3) (У, р6) (Ё, р7)] / р{3}[(5, р4)] / р{4}[(Ам, р5)] / р{5}[(сем, р8)] / р{6}[(сем, р8)] / р{7}[(сем, р8)] / р{8}#

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

Рис.3. Синтаксическая диаграмма: n - цифра, ch - буква

После считывания из файла информация записывается в массив следующего вида:

Pnet: array of record

//'действие, соответствующее позиции

p: string;

// массив переходов из данной позиции в другие t: array of record

/ условие перехода condition: string;

// позиция перехода jump: integer; end;

end;

Структуру этого массива можно изобразить графически (рис. 5).

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

Если сетевой контейнер и удобен для считывания и хранения информации из диаграмм следования, то очевидно, что сетевая форма не совсем подходит для использования при анализе, синтезе и корректировке. Эффективней было бы разложение диаграммы на множество путей вида ‘лексема 1 лексема 2 ... лексема к\ Тогда при корректировке, анализе и синтезе словоформ все множество путей просматривалось бы с целью нахождения пути, содержаще-

го все лексемы, имеющиеся в словоформе, и проверки порядка их следования на соответствие порядку следования лексем в пути.

n-1

p—n

f p=2 t

<

r

p=1

condition

jump

condition

jump

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

condition

jump

condition

jump

IZZ.

1

condition

jump

condition

jump

Kn-1

condition

jump

K1

Ko

ZKZ

ґ--------- ---------->>

condition

jump

condition

jump

0

1

0

1

1

0

0

Рис.5. Сетевой контейнер

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

Таблица 1

0 1 2 3 4 5 6 7

pi p2 p3 p4 p5 p6 p7 p8

0 pi - <Основа> - - - - - -

1 p2 - - Am - - У E -

2 p3 - - - ç - - - -

3 p4 - - - - Am - - -

4 p5 - - - - - - - сем

5 p6 - - - - - - - сем

6 p7 - - - - - - - сем

7 p8 - - - - - - - -

Алгоритм, записывающий информацию из массива Pnet в двоичный массив Matrix, выглядит следующим образом:

for i:= 0 to length (PNet)-1 do for j:= 0 to length (PNet)-1 do with Pnet [i] do Matrix [p-7,(t[/]. jump)-1]:=tj].condition;

Теперь создадим на основе этой матрицы n наборов, где n - число не конечных позиций:

set 0 = [р1<основа>р2];

set 1 = [р2Амр3, р2Ур6, р2Ёр7];

set 2 = [р3^р4];

set 3 = [р4Амр5];

set 4 = [р5семр8];

set 5 = [р6семр8];

set 6 = [р7семр8].

Алгоритм, создающий эти наборы, выглядит следующим образом: for i:=0 to length(Matrix)-1 do if Pnet[i].p <> # then SetLength(Set,length(Set)+1); k:= length(Set) - 1; for j:= 0 to length(Matrix) - 1 do if Matrix[ij] <> ‘-‘ then SetLength(Set[k],length(Set[k])+1); Set[k][length(Set[k])-1]:=inttostr(i)+Matrix[ij]+str(j)

Для получения путей достаточно просто перемножить эти наборы между собой следующим образом: Set k+1 := Set k x S k+J. Результат перемножения будет находиться в наборе Set k+1.

Элементы этих наборов перемножаются следующим образом:

1) в случае если последняя лексема элемента множества Ski совпадает с первой лексемой элемента множества Sk+y, то происходит объединение Ski С S k+ij.

Например если Ski = р1<основа>р2 и Sk+y = р2Амр3, то Ski х Sk+y = р1< ос-нова>р2Амр3;

2) если же в результате перемножения Ski с набором Sk+1j, Ski не объединится ни с одним из его элементов, то Ski добавляется в конец множества Sk+1j.

После перемножения этих наборов результат, т. е. набор путей, будет содержаться в последнем наборе:

Set G = [р1< основа> р2 | Ам | р3 | ? | р4 | Ам | р5 | сем | р8, р1< основа> р2 | У | р6 | сем | р8, р1< основа> р2 | Е | р7 | сем | р8 ].

Алгоритм, осуществляющий перемножение всех наборов, выглядит следующим образом: count: = 0

for k: = 0 to length (Set) - 2 do for i: = 0 to length (Set [k]) - 1 do for j: = 0 to length (Set [k+1]) - 1 do /fSet[k][i].последняя лексема = Set[k+1]j].первая лексема then Set[k+1][j] := Set[k+1][j] & Set[k][i]; count := count + 1;

if count=0 then SetLength(Set[k+1],length(set[k+1])+1);

Set[k+1] [length(Set[k+1])]: =Set[k][i];

count:=0;

После выполнения этого алгоритма можно переписать полученные пути из последнего набора в специализированный массив путей Path, размерность массива будет равна числу полученных путей. Так, размерность массива Path для нашего примера будет равна 3.

Словоформа считается корректной, если выполняются следующие условия:

1) все её лексемы содержатся в одном из путей массива Path;

2) порядок лексем в словоформе соответствует порядку лексем в пути, т.е. является лексикографическим.

Окончательные набор путей для примера на рис.2 приводится в табл. 2.

_____________________________________________Таблица 2

Path [0] = <основа > Ам 9 Ам | сем

Path [1] = < основа > У сем

Path [2] = < основа > Е сем

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

Литература

1. Желтов П.В., Желтов В.П. Лингвистическая Петри-машина // Сборник научных трудов «Математические модели и их приложения». Вып. 5. Чебоксары: Изд-во Чуваш. ун-та, 2003. С. 108-112.

2. Сулейманов Д.Ш., Гатиатуллин А.Р. Структурно-функциональная компьютерная модель татарских морфем. Казань: Фэн, 2003. 220 с.

ЖЕЛТОВ ПАВЕЛ ВАЛЕРИАНОВИЧ. См. с. 296.

i Надоели баннеры? Вы всегда можете отключить рекламу.