Задача лексико-грамматического анализа — автоматически распознать, какой части речи принадлежит каждое слово тексте. На рис.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]) + \ + (of [both enzymes]).
Обозначения:
[…] – группа существительного;
(…) – группа дополнения;
{…} – глагольная группа;
/…\ и <…> - главные и придаточные предложения;
+ - окончание глагольного окружения.
Рис.5
В данной обзорной работе описаны лишь некоторые алгоритмы и наиболее общие подходы к проблеме автоматической обработки естественно-языковых текстов.
Сегодня в области компьютерной лингвистики ежегодно проводится более 40 конференций по всему миру, посвященных проблемам обработки естественного языка. Постоянно растет количество программных продуктов, связанных с данной темой, повышается их качество. Но, несмотря на это, те системы перевода, реферирования и экспертные системы, которые на сегодняшний день считаются лучшими, далеко не идеальны и требуют серьезных доработок. Все это говорит о необходимости продолжения исследований вопросов, связанных с обработкой естественного языка в задачах ДО и разработки новых подходов и алгоритмов, основанных на методах искусственного интеллекта.