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

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

CC BY
422
61
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
BIGDATA / ОБРАБОТКА ЕСТЕСТВЕННОГО ЯЗЫКА / СИНТАКСИЧЕСКИЙ АНАЛИЗ / СИНТАКСИЧЕСКОЕ ДЕРЕВО / НЕЙРОННЫЕ СЕТИ / ВЕРОЯТНОСТНЫЕ АЛГОРИТМЫ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сбоев Александр Георгиевич, Рыбка Роман Борисович, Иванов Игорь Игоревич, Гудовских Дмитрий Владимирович, Молошников Иван Александрович

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Сбоев Александр Георгиевич, Рыбка Роман Борисович, Иванов Игорь Игоревич, Гудовских Дмитрий Владимирович, Молошников Иван Александрович

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

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

Сбоев А.Г.1, Рыбка Р.Б.2, Иванов И. И.3, Гудовских Д.В.4, Молошников

И.А.5, Кукин К.А.6, Власов Д.С.7

1 к.ф.-м.н., с.н.с., доцент кафедры АСОУ , sag111@mail.ru 2 Аспирант, НИЦ «Курчатовский институт», RybkaRB@gmail.com 3 Магистр, МИРЭА honala@yandex.ru 4 Аспирант, НИЦ «Курчатовский институт», dvgudovskikh@gmail.com

5 Аспирант, НИЦ «Курчатовский институт», ivan- rus @yandex. ru

6 Аспирант, НИЦ «Курчатовский институт», kostikkykin@mail.ru

7 Студент, МИРЭА, vfked0d@gmail.com

Модель системы синтаксического анализа текстов естественного языка на основе статистически отобранных наборов параметров слов

КЛЮЧЕВЫЕ СЛОВА:

BigData, обработка естественного языка, синтаксический анализ, синтаксическое дерево, нейронные сети, вероятностные алгоритмы.

АННОТАЦИЯ:

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

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

В связи с возрастанием в современных условиях интереса к интегрированным системам обработки информации, типа Big Data с встроенными системами: анализа масс-медиа, аннотирования текстов, анализа контента бизнес информации, сентимент-анализа, выявления угроз в соц. сетях, специального назначения и машинного перевода, вопрос анализа национального естественного языка является весьма актуальным

Технологиии Big Data предназначены для обработки больших объемов текстовой и медийной информации на суперкомпьютерах. Качество работы продуктов данной технологии напрямую зависит от систем анализа естественных языков. Как показывает обзор литературы

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

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

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

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

Состояние проблемы

В мире данной тематикой занимается большое сообщество специалистов, в частности из NLTK [1], из таких университетов как Стенфордский [2], Векше и Упсалы в Швейцарии [3], штата Иллинойс в Чикаго [4], города Пенсильвании [5]. Для русского языка созданы такие системы как АОТ [6] и ЭТАП-2\3 [7]. Существует несколько подходов при решении задач анализа естественного языка: с применением лингвистических правил, либо с применением вероятностных и обучаемых интеллектуальных систем. Задачу синтаксического анализа тоже можно решать несколькими способами: на основе лингвистических правил, как это сделано в ЭТАП 3 [7], либо на основе заранее размеченной коллекции примеров для обучения системы, которая составляется специалистами по языкознанию. К последнему способу относятся применение нейронных сетей и вероятностных алгоритмов, таких как скрытые Марковские модели и вероятностные грамматики [8].

Модель системы синтаксического разбора на основе нейронных сетей SRN и RAAM

При использовании принципов формальных нейронных сетей задача синтаксического разбора разделяется на 2 этапа:

a. Непосредственно синтаксический разбор («Парсинг»).

b. Декодирование результатов «парсинга».

«Парсинг» осуществляется средствами сети SRN, а декодирование результатов, т.е. постройка дерева синтаксического разбора - это задача сети RAAM [9].

Целью сети RAAM является кодирование символных структур (слов или их признаков) средствами нейронных сетей в численный вид.

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

гч>

Г I I

Кодер

С

al 6)

Рисунок 1. Архитектура сети RAAM а) двоичная, б) троичная

Если взять сеть RAAM, обученную представлять некое множество деревьев, то эту сеть можно представлять как два автомата:

• кодер - автомат для создания представлений деревьев из векторов входных значений.

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

Сеть SRN(Simple Recurrent Network) - это простая рекуррентная сеть, в которой элементы скрытого слоя имеют связи с элементами входного слоя (см. рис.2).

Вывод

о о

О О О О

о о о * * * II о о о о » ' *

Ввод Контекст Ж

Рисунок 2. Архитектура сети SRN

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

Далее показана модель системы синтаксического разбора при выбранном подходе (см. рис. 3).

Рисунок 3. Модель системы синтаксического разбора предложения на основе сетей RAAM и

SRN

Недостатки: при реализации этого подхода возникают следующие сложности:

1. Деревья, выраженные синтаксически разобранными предложениями, имеют различную длину. Необходимо привести в вид соответствующий входному множеству фиксированной размерности сети RAAM.

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

3. При больших объемах предложения, слова, поступившие первыми сильнее «зажимаются» в контексте сети SRN, что представляет трудность для дешифрации.

Системы синтаксического анализа, основанные на использовании формальных грамматик, CKY, Inside\outside алгоритмов.

CKY-алгоритм позволяет осуществить разбор входной последовательности в соответствии с заданной грамматикой. [10]

Формальная грамматика состоит из множеств терминальных элементов, нетерминальных элементов и набора правил перехода от множества к множеству. В задачах синтаксического анализа используют как правило контекстно-свободные грамматики, в которых в левой части правил стоит один нетерминальный элемент, а в правой либо набор нетерминальных, либо один терминальный.[11]

Пример для контекстно свободной грамматики и CKY-алгоритма дял англ предложения «The brown dog». Используемая часть грамматики: NP ^ DT Nom, Nom ^ JJ NN, DT ^ the, JJ ^ brown, NN ^ dog

Таблица1. Таблица разбора в соответствии с CKY

The Brown Dog

DT (шаг 1) -- (шаг 3) NP (шаг 6)

JJ (шаг 2) Nom (шаг 5)

NN (шаг 4)

Шаги соответствуют последовательности выполнения операций в работе CKY-алгоритма. Шаги 1,2,4 - соответствуют определению терминальных элементов соответствующим нетерминальным в КС грамматике; на шаге 3 определяется, что правила вывода из какого-либо нетерминального в грамматике двух других нетерминальных элементов DT и JJ нет; на шаге 5 определяется, что существует правило вывода из Nom двух нетерминальных NN,JJ; на шаге 6 определяется, что существует правило вывода из NP двух нетерминальных DT,Nom.

Таким образом, из полученной таблицы можно вывести дерево разбора (см. рис. 4).

Для определения вероятности правил грамматики используется Inside\outside алгоритм, названный в соответствии с используемыми в нем внутренними и внешними вероятностями. Основная идея алгоритма

заключается в расчете внутренних - СК и внешних - Р вероятностей и максимизации на их основе функции максимального правдоподобия L(ф) [12].

ЫР

DT Nom

I

The jj NN

I I

Brown Dog

Рисунок 4. Дерево разбора в соответствии с грамматикой Основные этапы алгоритма:

1) случайным образом распределяются вероятности «ф» между правилами в грамматике;

2) строятся возможные разборы предложения (W), рассчитываются внутренние и внешние вероятности;

3) рассчитывается число применений правил при выводе анализируемого предложения

С,(А->«| £

1<Z< j<k<n

;

4) рассчитывается функция применения правила с учетом прошлых разборов

countiA^tf, ) = £С,(, W-)

; ;

5) обновляется значение функции: ф;

6) рассчитывается функция правдоподобия: w

Этапы 1-5 повторяются пока ' ■■ '

Недостатки:

1. Результаты разборы с использованием данного подхода очень многозначны, т.е. каждому предложению соответствует несколько вариантов дерева разбора.

2. Низкое время разбора в связи с необходимостью постоянно обращаться к КС грамматике.

3. При реализации грамматик для русского языка ее объем составит порядка миллиона правил.

Синтаксический анализатор на основе сочетания справочных таблиц (LT), скрытых Марковских моделей и нейронных сетей.

Алгоритм данного подхода представлен на рис.5 и хорошо описан в [8].

слов).

В качестве входного предложения взято «The cat sat on the mat» (6

Входное предложение

Свойство 1 Свойство К

Спраеоч. табл.

LTW1 'S/V*

The cat sat on t he mat

^ tt'i «4

г

Öh

a.

w

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

Ö iff

W? Wo

N "V

,K

WN

Щ

V

LTWK '^□□□□□□□□1

Свертка

t, jt, 'j!

I

1*П

Синтаксич. разбор

_1

1 г

Рисунок 5. Алгоритм на основе LT, нейронных сетей, СММ

На первом этапе определяются признаки для всех слов предложения.

Далее для каждого слова строится LT, содержащая признаки рассматриваемого слова входного предложения и признаки других слов. После чего происходит свертка и экстракция вектора высокоуровневых признаков слова. Свертка может происходить по-разному: в рамках фиксированного количества слов (окна) или в рамках всего предложения. В зависимости от подхода корректируется процедура построения LT, при оконном подходе к предложению добавляются «пустые слова» - padding, количество которых слева и справа равно к=(размер окна - 1)/2 (на примере k=1 слева и справа, окно размером три слова)

После получения вектора высокоуровневых признаков слов

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

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

Учитывая отмеченные недостатки, наиболее предпочтительным выглядит подход на основе СГ, скрытых Марковских моделей и нейронных сетей.

Для построения системы синтаксического анализа в любом случае требуется выбрать набор параметров, обеспечивающих минимальную неоднозначность на этапе установления «синто».

Статистический выбор параметров для определения синто

Качество интеллектуальной системы анализа текстов на естественном языке в серьёзной степени зависит от наличия набора образцовых предложений, на котором можно её протестировать. Для русского языка создан "Национальный корпус русского языка" (НК) [13] -представительное собрание текстов в электронной форме, содержащее особую дополнительную информацию о свойствах входящих в него текстов (разметку), что позволяет использовать его для научных исследований лексики и грамматики языка.

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

За основу для графематического и морфологического анализа взят свободно распространяемый в исходных кодах пакет библиотек группы АОТ [2], ориентированный на работу с русским языком

В качестве базового графематического анализатора прототипа системы был использован модуль "ГРАФАН" группы АОТ. Некоторые графематические дескрипторы (а именно: признак заглавной буквы слова и знак препинания, непосредственно следующий за словом) были

использованы для создания вектора дополнительных характеристик слова.

В качестве базового морфологического анализатора прототипа системы был использован модуль Хетта^ег' группы АОТ.

Основных подходов к определению синто в выражении два:

1) лексический;

2) грамматический.

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

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

Таблица 2. Принадлежность различных параметров наборам

Признаки\наборы 1 2 3 4

Морфологические + + + +

Дополнительные + + +

смещение главного слова относительно зависимого + +

потенциальные синто (п_синто) между парой слов + +

потенциальных исходящих синто от слов пары к другим словам выражения +

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

Под смещением главного слова относительно зависимого понимается расстояния от главного слова до зависимого.

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

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

В таблице 3 представлено сравнение наборов признаков слов на для определения синто.

В процессе исследования создан комплекс программных алгоритмов для работы с НК, который включает:

- процедуру обхода по закодированным текстам корпуса с целью выделения пар слов с признаками, описанными в п. 1,2,3,4;

- процедуру выделения среднего количества неоднозначных связей для всех слов всех выражений;

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

- процедуру оценки однозначного определения синто в рамках одного набора признаков в «%», когда одному набору признаков соответствует несколько различных синто;

- процедуру вычисления процента определения конечного элемента в дереве синтаксического разбора.

Таблица 3. Сравнение наборов признаков для определения синто

Набор Среднее Среднее Однозначность Процент

призна количество количество возникновения синто в определения

ков неоднозначн неоднозначных рамках одного набора конечного

ых связей связей для слов признаков в «%», т.е. элемента в

для слов выражения, одному набору признаков дереве

выражения имеющих соответствует несколько синтаксическо

неоднозначность различных синто го разбора

1 102,29 102,47 58,48 65,21

2 56,28 57,27 78,9 79,04

3 8,84 10,02 85,72 90,36

4 1,43 2,65 98,91 99,15

Построение системы на основе статистически выбранного набора параметров слов

Для определения потенциальных синто создан аппарат, состоящий из 76 нейронных сетей в виде Dynamic Link Library, на базе Multi Layer Perceptron (MLP) (см. рис. 6), содержащий все синто НК.

входной (распределительный) псевдослой

Х1

S »

I

Xi

ХЗО

выходнои

слой

веса wj

У1

уз

Ё

ф

и

'1

веса W)

Рисунок 6. Сети MLP, состоящая из: 1 входной слов - 30 элементов (соответствует количеству морф. признаков пары слов), 2 скрытых слоя - 25 и 12 элементов, 1 выходной слой - 2 элемента (принадлежит данному синто (1 0) или нет (0 1)).

Функция активации узлов сети MLP

OUT = -i---

i + схpi- ( где а - настраиваемый при обучении параметр,

OUT е{0; 1}.

Для обучения нейронных сетей использовались наборы примеров морфологических признаков пары слов из НК для 76 синто, каждый набор состоит из 100000 различных пар, описанных векторами закодированных морфологических признаков слов в составе пары (30 значений).

В соответствии с выбранными наборами признаков этап синтаксического анализа состоит из следующих процедур:

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

- разбиение на различные морфологические варианты разбора выражения,

Далее для каждого морфологического варианта разбора выражения:

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

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

- определение синто между расширенными наборами признаков слов выражения;

- построение возможных вариантов синтаксически разобранных деревьев;

- оценка вероятности синтаксически разобранных деревьев и выбор наиболее вероятного варианта.

На текущий момент проводится подбор математических методов для определения синто на основе расширенного набора признаков слов и реализации процедур построения синтаксических деревьев и оценки их вероятности.

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

Выводы

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

При использовании выбранного набора параметров вероятность

определения конечного элемента в дереве синтаксического разбора достигает 99,15%, что даёт основу для устранения неоднозначностей при синтаксическом анализе выражений русского языка.

Описан алгоритм синтаксического анализа в соответствии с выбранными наборами параметров. Реализован аппарат по выделению потенциальных синтаксических отношений, определенных в НК, на базе нейронной сети MLP.

Литература

1. Инструменты для обработки естественного языка на Python, http://nltk.org/team.html

2. Группа обработки естественного языка, Стенфорд, http://nlp.stanford.edu/

3. Система построения зависимостей в тексте «MaltParser» http://www.maltparser.org/

4. C.C. Aggarwal and C.X. Zhai (eds.), Mining Text Data, DOI 10.1007/978-1-4614-3223-4_13, Springer Science+Business Media, LLC 2012

5. Edward Loper, Encoding structured output values, A dissertation in Computer and Information Science presented to the University of Pennsylvania for the Degree of Doctor of Philosophy, 2008

6. Группа автоматической обработки текста (АОТ) -http: //aot.ru/

7. Многоцелевой лингвистический процессор Этап-3 http://www.iitp.ru/ru/science/works/452.htm

8. Ronan Collobert, Jason Weston, L'eon Bottou, Michael Karlen, Koray Kavukcuoglu and Pavel Kuks, Natural Language Processing (Almost) from Scratch, Journal of Machine Learning Research 12 p.2493-2537, 2011

9. Wong Chun Kit. Recursive Auto-Associative memory as connectionist language processing model. // City University of Hong Kong.-Hong Kong, 2004

10. Marco Kuhlmann, The CKY algorithm part 1, 2:, университет Упсалы Швейцария, http://stp.lingfil.uu.se/~kuhlmann/teaching/5LN455/2012-11-19.pdf, http://stp.lingfil.uu.se/~kuhlmann/teaching/5LN455/2012-11-21.pdf

11. Хомский Н., Миллер Д. Введение в формальный анализ естественных языков: Пер. с англ. М.: Едиториал УРСС, 2003.

12. Lafferty J. A derivation of the inside-outside algorithm from the EM algorithm. Technical report, IBM Research, 1992.

13. Национальный корпус русского языка - http://ruscorpora.ru/

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