Смекни!
smekni.com

Обзор методов обработки естественного языка в задачах дистанционного обучения (стр. 2 из 2)

Задача лексико-грамматического анализа — автоматически распознать, какой части речи принадлежит каждое слово тексте. На рис.1 показан пример предложения, в котором каждому слову поставлен в соответствие лексико-грамматический класс.

The/AT man/NN still/RB saw/VBD her/PPO./.

Обозначения

RB - наречие
AT - опр. артикль
NN - существительное
VB – глагол

VBD – глагол в прошедшем времени

PPO – объектное местоимение
PP$ - личное местоимение
. - точка

Рис.1

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

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

Большинство вероятностно-статистических алгоритмов /4/ использует два источника информации:

1. Словарь словоформ языка /5/, в котором каждой словоформе соответствует множество лексико-грамматических классов, которые могут иметься у данной словоформы. Например, для словоформы well в словаре указано, что она может быть наречием, существительным, прилагательным и междометием. Для каждого лексико-грамматического класса словоформы указывается частота его встречаемости относительно других лексико-грамматических классов данной словоформы. Частота обычно подсчитывается на корпусе текстов, в котором предварительно вручную каждому слову приведен в соответствие лексико-грамматический класс. Таким образом, словоформа well в словаре будет представлена следующим образом (рис.2):

Словоформа Часть речи Частота
Well существительное 4
Well наречие 1567
Well прилагательное 6
Well междометие 1

Рис.2

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

Последовательность

Частота

неопр.артикль + сущ.ед.ч

35983

неопр.артикль + сущ.мн.ч

7494

Опр.артикль + сущ.ед.ч

13838

неопр.артикль + сущ.мн.ч

47

Рис.3

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

Рассмотрим подробнее пример разбора предложения, представленного на рис.1. Прежде всего, определяются все возможные значения частей речи, входящих в предложение, словоформ. Так словоформа “The” может быть только AT; “man” - NN или VB; “still” - NN, VB или RB; “saw” - NN или VBD; “her”-PPO или PP$. Далее воспользовавшись таблицей частотности, присваиваем словоформам тот или иной лексико-грамматический класс. Пример таблицы частотности для нашего предложения приведен на рис. 4.

NN

PPO

PP$

RB

VB

VBD

.

AT

186

0

0

8

1

8

9

NN

4

1

3

40

9

66

186

PPO

7

3

16

164

109

16

313

PP$

176

0

0

5

1

1

2

RB

5

3

16

164

109

16

313

VB

22

694

146

98

9

1

59

VBD

11

584

143

160

2

1

91

Рис.4

Например сочетание “The man” может быть либо (AT-NN) либо (AT-VB), c соответствующими вероятностями 186 и 1. Далее, аналогично, сравниваются вероятности p(AT-NN-NN)=744, p(AT-NN-VB)=1674 и p(AT-NN-RB)=7440 и т.д. В итоге мы получим следующую комбинацию: “AT-NN-RB-VBD-PPO”, что и будет являться результатом работы вероятностно-статистического алгоритма.

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

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

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

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

Оба подхода дают примерно одинаковый результат. При их использовании раздельно либо в различных комбинациях точность лексико-грамматического анализа улучшается до 96-98 %. Поскольку точность при лексико-грамматическом анализе текста вручную также имеет определенную погрешность (0,5-2 %), можно считать, что автоматизация лексико-грамматического анализа достигла практически такой же точности.

Синтаксический анализ /8/. В отличие от лексико-грамматического анализа текста, синтаксический анализ — развивающаяся область прикладной лингвистики. Цель синтаксического анализа — автоматическое построение функционального дерева фразы, т.е. нахождение взаимозависимостей между разноуровневыми элементами предложения. Считается, что имея успешно построенное функциональное дерево фразы, можно выделить из предложения смысловые элементы: логический субъект, логический предикат, прямые и косвенные дополнения и различные виды обстоятельств. Существует большое количество различных подходов к синтаксическому анализу текстов, например система LTAG/8/. Главная особенность этой системы заключается в построении элементарных смысловых деревьев предложения. Каждое элементарное дерево содержит в себе всю синтаксическую и семантическую информацию о конкретном слове или группе слов. К этим деревьям могут быть применены операции примыкания и подстановки. Подстановка является простой операцией – подстановкой дерева к висящей вершине другого дерева. Примыкание является более сложной операцией – присоединение некоторого дерева к внутренним вершинам другого дерева. Данный алгоритм подробно описан в работе /8/. Ниже рассмотрен один из общих подходов синтаксического анализа предложения.

Синтаксический разбор предложения происходит путем набора последовательных преобразований:

- поиск грамматических идиом;

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

- нахождение именной группы объекта и субъекта;

- нахождение глагольной группы;

- выделение главных и придаточных предложений.

Приведем пример синтаксического разбора предложения рис.5.

[We] {have found} / that [subsequent addition] (of [the second inducer]) (of [either system]) <after {allowing} [single induction] {to proceed} +> (for [15 minutes]) (also) {results} (in [increased reproduction]) + &bsol; + (of [both enzymes]).

Обозначения:

[…] – группа существительного;

(…) – группа дополнения;

{…} – глагольная группа;

/…&bsol; и <…> - главные и придаточные предложения;

+ - окончание глагольного окружения.

Рис.5

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

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