Научная статья на тему 'Модели и алгоритмы в лингвопроцессорах'

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

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

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

УДК 581.3

П.В. ЖЕЛТОВ

МОДЕЛИ И АЛГОРИТМЫ В ЛИНГВОПРОЦЕССОРАХ

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

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

Концептуальные определения и выбор формального аппарата

Определим лингвопроцессор (ЛП) как систему:

ЬР =< ^, М, 5, А, I > , где ^ - формальный аппарат представления знаний; М - формальная модель естественного языка; 5 - структуры данных; А - алгоритмы анализа и синтеза; I - интерфейс, преобразующий входные данные во внутреннее представление и наоборот.

Для успешного построения сбалансированного по сложности ЛП формальный аппарат должен удовлетворять следующим требованиям: 1) формальная мощность; 2) поддержка функциональной спецификации (возможность однозначного соответствия элементов моделируемой предметной области элементам формального аппарата); 3) поддержка визуального моделирования (наглядность создаваемых моделей); 4) поддержка оценки корректности моделей, создаваемых с его помощью; 5) вычислительная эффективность (легкость представления моделей, созданных на его основе с помощью ЭВМ).

Поэтому в разработанном ЛП были применены сети Петри как аппарат для построения моделей и как аппарат для моделирования взаимодействия компонентов системы, таких, как формальные модели, структуры данных и алгоритмы, т.е. как мета-аппарат.

Преимущество сетей Петри над другими формальными средствами очевидно:

1) формальная мощность сети Петри регулируется от сетей, равномощных конечным автоматам и регулярным грамматикам, до сетей, равномощных машине Тьюринга и грамматикам типа 0 в классификации Хомского;

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

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

Сеть Петри определяется как

С = (Р, Т, А, М 0),

где Р - конечное множество позиций сети; Т - конечное множество переходов сети; А - алгебраическое представление сети; М 0 - начальная маркировка сети.

С учетом этого были разработаны гибкие сети, примененные в морфологическом корректоре.

Гибкой сетью называется сеть вида

С = (Р, Т, А, М 0,О),

где Р = {рг 1г = 1, п} - конечное множество позиций сети; Т = 1 г = 1, т} -

конечное множество переходов сети; А - множество алгебраических представлений фрагментов сети; М0 : Р ^ Ы0 - начальная маркировка сети - функция, задающая начальное распределение меток по позициям сети; Ы0 - множество натуральных чисел, включая 0; О. - таблица, или функция, заданная таблично и управляющая структурой сети по мере и смыслу поступающих сообщений, в зависимости от событий, происходящих в реальной системе. Таким образом, сеть в целом, не считая О , задается как четверка (Р, Т, А,М0). Как видно из определения гибкой сети, она определяется полностью алгебраическим представлением А .

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

Для создания формальной модели ЕЯ наряду с сетями Петри была использована разработанная автором атрибутивно-типовая модель ЕЯ. Она основана на следующих принципах:

1) разделение словоформ на типы;

2) сопоставление с каждым типом шаблона, задающего возможную структуру словоформы;

3) описание лексем с их морфологическими характеристиками (атрибутивный аспект);

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

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

В атрибутивно-типовой модели существуют следующие типы отношений: а) шаблоны; б) атрибуты.

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

Таблица 1

Лексема i Лексема 2 Лексема n

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

Таблица 2

Лексемы Морфолог. хар. i Морфолог. хар. 2 Морфолог. хар. n

Г

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

//само слово в виде строки lexem: string;

LexS //морфемы

morphemes: array of string;

// основа „ root: string;

///Часть речи PartofSpeech: string;

//морфологические характеристики _ Attributes: array of Attribute;

TLexem

Здесь тип Attribute имеет следующую структуру:

{//название Name: string;

//значение Value: string;

ЛП представляет собой систему программных модулей, на вход которой поступает предложение (П) на естественном языке, а на выходе получается синтаксическая структура (СинтС) данного предложения.

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

Разработанный ЛП может работать и как синтаксический, и как морфологический анализатор.

В первом случае на его вход подается предложение, а на выходе выдается его синтаксическая структура (СинтС); а во втором случае на вход подается словоформа (С), а на выходе выдается ее морфологическая структура (МорфС). При этом морфологический анализатор ЛП осуществляет не только анализ словоформы, но и проверку на корректность, а синтаксический анализатор осуществляет еще и классификацию предложения по типам.

Морфологический анализатор

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

1) разделение словоформ на типы;

2) сопоставление каждому типу шаблона, задающего возможную структуру словоформы;

3) описание лексем с их морфологическими характеристиками (атрибутивный аспект);

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

Для моделирования и реализации атрибутивно-типовой модели применены формальный аппарат сетей Петри и реляционный соответственно. В атрибутивно-типовой модели существуют следующие типы отношений: а) шаблоны; б) атрибуты.

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

По шаблону происходит морфологический анализ.

Атрибуты - это отношения, в левой части которых находится лексема, а в правой - связанные с ней морфологические характеристики.

По атрибутам определяются морфологические характеристики словоформы.

Алгоритмы морфологического анализатора делятся на:

1) алгоритмы морфемного анализа;

2) алгоритмы определения морфологических характеристик.

Математическая модель нахождения морфемы легко моделируется с помощью сетей Петри С = (Р,Т,А,М0), где Р - конечное множество позиций сети; Т - конечное множество переходов сети; А - алгебраическое представление сети; М0 - начальная маркировка сети.

Появление маркера в р11 означает, что поиск завершен, морфема от- де-лена. Используя вышеприведенные обозначения, математическую модель нахождения морфемы можно предста- Рис. 1 Сетевая модель нахождения

вить сетью, приведенной на рис. 1. м°рфемы

Анализ свойств сетей Петри проведен по ее ленте достижимости. Сеть Петри на рис.1, согласно ее ленте достижимости, безопасная и «живая». По сети построен алгоритм отделения морфемы. Алгоритм корректен - зацикливаний и нецелевых тупиковых маркировок нет.

Временная сложность данного алгоритма не превышает (п +1) / 2 сравнений, где п - общее число морфем в базе данных.

Морфологический корректор

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

На рис. 2 р1 - входная позиция, содержащая словоформу; /1 - переход, определяющий характеристики лексемы № 1; р2, р3, р4 - позиции, указывающие на возможность следования следующей лексемы; ґ2 - переход, определяющий характеристики лексемы №2; ґ3 - переход, определяющий характеристики лексемы №3; t4, ґ5, ґ6, ґ7 - переходы, определяющие характеристики лексем; р5, р6, р7 , р8 - конечные позиции.

Л р2

8 р9 ОЙ

7

лексема 2 лексема 3

лексема 1

-Нр5

лексема 6

лексема 7 --------►

Рис. 2. Фрагмент диаграмма: следования на сетях Петри

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

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

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

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

Синтаксический анализатор

Все СинтО бинарные и ориентированные. Ориентированность подразумевает то, что все отношения представлены в формате:

У (левая часть ) - X (правая часть ), где X - главное слово, а У - зависимое.

Все СинтО смоделированы с помощью сетей Петри.

Представим бинарное синтаксическое отношение с помощью сетей Петри (1) на примере СинтО1 (первое подлежащно-сказуемостное СинтО).

Введем следующие позиции: р1 - содержит маркер с атрибутом X, который, возможно, является сказуемым; р2 - содержит маркер с атрибутом У, который, возможно, является подлежащим; р3 - содержит маркер, если СинтО 1 может быть установлено; р4 - вспомогательная позиция; и следующие переходы: ^ - проверка условия, что X - сказуемое; t2 - проверка условия, что У - подлежащее (существительное, местоимение или числительное).

Сеть Петри на рис. 2 моделирует СинтО1. При наличии в позиции р1 сказуемого X срабатывает ^ . Если это происходит, то при наличии в позиции р2 подлежащего У срабатывает t2. При этом устанавливается, что первое подлежащно-сказуемостное отношение имеет место. Аналогично моделируются остальные 15 синтаксических отношений.

Существуют два основных алгоритма синтаксического анализатора:

1) предсинтаксического анализа;

2) формирования СинтО: а) установления СинтО; б) установления связей между СинтО.

Модель на рис. 3, а устанавливает СинтО между МорфСг и МорфС;-

предложения, основываясь на описанном наборе СинтО, которые выступают

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

СинтО

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

СинтО . . .

1 шаг. МорфС1 МорфС2 ... МорфСп

СинтО

СинтО Г” I

I-----------------* I

2 шаг. МорфС2 МорфС3 ... МорфСп

СинтО

I----------------*

п-1 шаг. МорфСп-1 МорфСп

а) б)

схема установления СинтО сетевая модель установления СинтО

Рис. 3. Схема и сетевая модель установления СинтО Составлена математическая модель установления СинтО между МорфСг и МорфС(рис. 3 б) с помощью Е - сетей С = (Р, Т, А,М0), где Р - конечное

множество позиций сети; Т - конечное множество переходов сети; А - алгебраическое представление сети; М0 - начальная маркировка сети. Введем следующие позиции и переходы: г - решающая позиция, проверяющая совпадение части речи СинтО.? и МорфСг и части речи СинтО Г и МорфС; х1 - переход, соответствующий г1; р1 - входная позиция; р2 - выполнение условия для г1; г2 - решающая позиция, проверяющая содержание атрибутов СинтО.? в МорфСг и атрибутов СинтО Г в МорфС; х2 - переход, соответствующий г2; р3 - выполнение обоих условий; р4 - невыполнение условий для г1 или г2; р5 - выходная позиция; ^ - выполнение оператора I := I +1, т.е. увеличить длину списка ЪуМКеШют; записать номер г в БуШЯвЬНот .X ; записать номер

в SyntRelations Y ; запомнить имя СинтО; SyntR ? = true ; t2 - проверка условия SyntR ? = false (установлено ли СинтО).

Теперь алгоритм установления СинтО в предложении можно записать следующим образом:

//от 1 до n for i:=1 to n do //от i до n for j:=i to n do r // всего СинтО 16 for k:=1 to 16 do

// попытка установления СинтО^ if (SyntR?(SyntR[k],MorphS[i], MorphS[j])=true)

■ч then

л Г // устанавливаем флаг SyntREstablished:=true;

"| // выход из цикла break;

//если флаг установлен, то выход из цикла ^ if SyntREstablished=true then break

Временная сложность данных алгоритмов не превышает (n2 - n)/2 сравнений для алгоритма установления СинтО между компонентами предложения, где n - число МорфС, и C2(n2 - n)/2 сравнений для алгоритма установления связей между самими СинтО, где n - число СинтО предложения, а С2 - временная константа, зависящая от числа СинтО в формальной модели синтаксиса.

С помощью сетей Петри составлены математическая модель и алгоритмы синтаксического классификатора.

Временная сложность данных алгоритмов не превышает С2 x, где x - число предложений в тексте, а С2 - число типов предложений в классификации.

На основе вышеперечисленных компонентов реализована последовательная обработка информации в ЛП, которая требует m[( n +1) / 2] +С1 (lj2 — lx) /2 +... + Cj (lx2 — lx) / 2 + (k1 — k^) / 2 +... + (kX — kx) / 2 + С 2 x сравнений, где x - число предложений в тексте; m - число слов в тексте; n -число морфем в базе данных; С1 - число синтаксических отношений в базе данных; li - число морфологических структур в i -м предложении; ki - число СинтО в i -м предложении; С2 - число типов предложений в классификации.

Несомненным преимуществом сетей Петри перед другими аппаратами моделирования является возможность моделирования параллельной обработки информации в ЛП. А простота объединения подсистем, смоделированных

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

Рис. 4. Модель параллельной обработки информации в лингвопроцессоре

Для модели параллельной обработки информации для анализа текста из х предложений будет требоваться в среднем

С з[( п +1)/ 2] +С1 (/1 —1\) / 2 +... + С (IX — 1х) / 2 + (к^ — к-[) / 2 +... + (кХ — кх) / 2 + С 2 сравнений, где С3 - минимальное количество слов, требующееся для установления СинтО (например, для русского языка оно в среднем равно 2, так как большинство отношений бинарные).

Таким образом, параллельная обработка в 1,97 раз быстрее, чем последовательная.

Выводы

Разработаны математические модели морфологического анализатора, морфологического корректора, синтаксического анализатора и синтаксического классификатора.

Проведен полный анализ моделей на сетях Петри с помощью ленты достижимости. Все модели корректны. На основании моделей построены алгоритмы.

На основе сетей Петри разработана модель параллельной обработки информации в ЛП. Получены оценки временной сложности ее работы.

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

5) синтаксический классификатор.

Литература

1. Лингвистический процессор для сложных информационных систем / Апресян Ю.Д., Богуславский И.М., Иомдин Л.Л.и др. М.: Наука, 1992. 256 с.

2. Кулагина О.С. Исследования по машинному переводу. М.: Наука, 1979. 320 с.

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

4. Желтов П.В. Сетевые модели для анализа, синтеза и коррекции словоформ. Чуваш. гос. ун-т. Чебоксары, 2004. Деп.в ВИНИТИ 19.02.2004, № 200-В2004.15 с.

ЖЕЛТОВ ПАВЕЛ ВАЛЕРИАНОВИЧ родился в 1982 г. Окончил Чувашский государственный университет. Ассистент кафедры компьютерных технологий. Область научных интересов - компьютерная лингвистика. Автор более 10 научных публикаций.

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