Введение С момента изобретения компьютера человек стремится к тому, чтобы компьютер мог понимать человека. Разрабатываются все новые системы для распознавания текста, речи, жестов. Автоматическая обработка текста – одно из наиболее старых направлений исследований в этой области. Первые работы по автоматической обработке текстов относятся к 50-м гг. XX столетия. Автоматическая обработка текста делится на несколько этапов, одним из которых является морфологический. На данном этапе для каждого слова определяются морфологические характеристики (род, число, падеж, склонение, залог и др.) и начальная форма слова, называемая леммой [1]. Задача морфологической разметки осложняется омонимией. Для английского языка, который является флективнобедным, существует только частеречная омонимия. Однако даже такой вид омонимии представляет большую проблему при автоматической обработке текста. Эта проблема кроется в словах [2], которые по своей гибридной природе имеют свойства нескольких частей речи, что затрудняет их отнесение к той или иной группе слов. Таким образом, разработка совершенной классификации частей речи остается вечной и вряд ли разрешимой проблемой. Для русского языка, как для флективнобогатого, с развитой морфологией, проблема омонимии значительно сложнее, т. к. в русском языке можно выделить несколько видов омонимии: 1. Частеречная омонимия – омонимия, при которой одно и то же слово относится к различным частям речи: дееп. Мальчик, моя полы, разлил ведро. мест. Моя сумка стояла на кровати. В данном примере слово «моя» является деепричастием в первом предложении и местоимением – во втором. 2. Морфологическая омонимия – омонимия, при которой одно и то же слово является одной частью речи, но относится к разным леммам и совпадает лишь в некоторых формах: век Данная история отложилась в веках. веко Снег медленно таял на её веках. В данном примере слово «веках» относится к разным леммам. В первом предложении для слова «веках» леммой является слово «век». Во втором предложении – слово «веко». 3. Лексическая омонимия – омонимия, при которой слова, относящиеся к одной и той же части речи и имеющие одинаковые леммы, различаются лишь лексическим смыслом: Вражеская армия напала на за¢мок. Он вставил ключ в замо¢к. В обоих предложениях слово «замок» имеет одинаковые грамматические характеристики, но разный смысл. В первом предложении слово «замок» означает строительное сооружение, во втором – охранное устройство. В связи с вышеизложенным были поставлены следующие цели исследований: – проанализировать методы, применяющиеся для снятия омонимии в текстах на английском языке; – оценить возможности метода опорных векторов и скрытой марковской модели для сня-тия омонимии в текстах на русском языке. Обзор методов снятия омонимии в текстах на английском языке Существует большое число работ по снятию омонимии в текстах на английском языке, использующих вероятностные методы с довольно высокой точностью. В английском языке, в котором существует точный порядок следования слов в предложении, применение данных методов упрощено. Для наглядности приведем результаты работы этих методов по снятию омонимии в табл. 1. Методы по снятию омонимии принято подразделять на статистические; методы, основанные на правилах и гибридные подходы. Системы, построенные на основе статистических методов, снимают омонимию в текстах на этапе морфологического анализа, используя статистику совместной встречаемости грамматических признаков слов из корпусов, размеченных вручную. Системы, работающие на основе правил, снимают омонимию на этапе синтаксического анализа. Разработка таких систем – довольно долгий и трудоемкий процесс, требующий привлечения экспертов в данной области. Гибридные подходы построены на основе статистических методов и оснащены небольшим числом правил. Таблица 1 Результаты работы методов снятия омонимии в текстах на английском языке Метод Точность определения частеречной принадлежности , % всех слов незнакомых слов Скрытая марковская модель [3] 96,46 85,86 Метод опорных векторов [4] 97,16 89,01 Сеть циклической зависимости максимальной энтропии [5] 97,05 – Двунаправленный простейший первый вывод максимальной энтропии [6] 97,15 – Двунаправленное обучение перцептрона [7] 97,33 – Перцептрон с заглядыванием вперед [8] 97,22 – Возможно из-за большой сложности русского языка, со свободным порядком слов в предложении, возникло предположение, что невозможно описать русский язык математической моделью, и поэтому развитие систем для снятия омонимии в текстах на русском языке пошло по пути систем, основанных на правилах. Метод опорных векторов и скрытая марковская модель Для сравнения были выбраны два метода снятия омонимии в текстах на английском языке: метод опорных векторов и скрытая марковская модель (СММ). Достоинствами этих методов является возможность снятия частеречной омонимии для слов, которых нет в словаре. Скрытая марковская модель. Скрытая марковская модель – статистическая модель, имитирующая работу процесса, похожего на марковский процесс с неизвестными параметрами. Задачей ставится разгадывание неизвестных параметров на основе наблюдаемых переменных [9]. На рис. 1 графически представлена общая структура СММ. Овалы представляют собой переменные со случайным значением. Случайная переменная x(t) представляет собой значение скрытой переменной в момент времени t. Случайная переменная y(t) – это значение наблюдаемой переменной в момент времени t. Стрелки на диаграмме символизируют условные зависимости. Рис. 1. Общая структура СММ Становится ясным, что значение скрытой переменной x(t) зависит только от значения скрытой переменной x(t – 1). Эта зависимость получила название «свойство Маркова». В то же время значение наблюдаемой переменной y(t) зависит только от значения скрытой переменной x(t). В задаче снятия морфологической омонимии наблюдаемыми величинами являются слова, а скрытыми – морфологические тэги. Для возможности анализа слов, отсутствующих в словаре, используются трехбуквенные постфиксы, а решение задачи по определению морфологических признаков сводится к вычислению последовательности наиболее вероятных значений скрытых величин: y¢(t) = argmax P(y|x). Метод опорных векторов. Метод опорных векторов, предложенный в [10], является одной из наиболее популярных методологий обучения по прецедентам. Основная идея метода опорных векторов – нахождение разделяющей поверхности с максимальным зазором между векторами различных классов. На рис. 2 графически представлен пример разделяющих плоскостей. Рис. 2. Пример разделяющих плоскостей В случае двух классов разделяющей поверхностью является гиперплоскость, которая делит пространство признаков на два полупространства. В случае большего числа классов разделяющая поверхность является кусочно-линейной. Любая плоскость из n-мерного пространства Rn может быть представлена в виде w· x + b = 0, где w – вектор ортогональной плоскости; b – коэффициент смещения плоскости. Необходимо расположить разделяющую плоскость так, чтобы она максимально далеко отстояла от ближайших к ней точек классов, т. е. найти такие вектор w и число b, чтобы выполнялось следующее условие: y = sign(w · x + b). Метод изначально разрабатывался для нахождения разделяющей плоскости между двумя классами объектов. В случае снятия частеречной омонимии имеют место более двух классов объектов, а именно количество классов, которое соответствует количеству частей речи. Для снятия омонимии в текстах на русском языке используется такое число классов, которое соответствует тэгам омонимичных слов. Тэгом принято называть сокращение от грамматических характеристик слова. В случае нескольких классов на практике часто применяется решающее правило, основанное на разбиении задачи на бинарные по схеме «один-против-остальных» (One-vs-Rest): y = argmax (˂w, x˃ + b). Для тренировки модели была использована библиотека LIBSVM, работающая с большой выборкой и с параметрами обучения «один-против-остальных». Эксперимент Для проведения эксперимента использовался подкорпус со снятой омонимией национального корпуса русского языка (НКРЯ), который разбивался на две части. На одной части подкорпуса производилось обучение модели, другая часть подкорпуса использовалась для тестирования работы методов снятия омонимии. В ходе работы проводилось два эксперимента. В обоих случаях для обучения модели, как для метода опорных векторов, так и для СММ, использовался локальный контекст омонима. Под локальным контекстом в данной работе принимается не более двух соседних слева и справа тэгов слов. Первый эксперимент проводился для снятия частеречной омонимии. Напомним, что именно этот вид омонимии присущ текстам на английском языке. Эксперимент проводился для выяснения точности, с которой данные методы могут снимать омонимию в текстах на русском языке. Второй эксперимент проводился для определения дополнительного набора грамматических характеристик. К части речи добавлялись следующие грамматические характеристики: падеж, одушевлённость, число, лицо, время, наклонение. Остальные наборы грамматических характеристик, приписанные словам в НКРЯ, не учитывались. Для различения лексических омонимов было введено понятие смысла. Под смыслом будем понимать строковую константу, точно описывающую предмет. Лексическая омонимия была определена только для существительных, которые можно различить по ударению. Например: За'мок – строение Замо'к – устройство Оценка точности работы алгоритма Методы снятия омонимии тестировались на части размеченного корпуса, на котором не проводилось обучение. Для омонима выбирались возможные тэги и лемма по словарю. Затем каждым методом определялся один наиболее вероятный тэг и сравнивался с тэгом из корпуса. Для первого эксперимента омонимия считалась снятой, если верно была определена часть речи. Для второго эксперимента результат снятия омонимии засчитывался как правильный в том случае, если совпадали грамматические характеристики, описанные выше, и ударение как показатель снятой лексической омонимии. Полученные результаты Результаты, полученные в ходе эксперимента, приведены в табл. 2 и 3: в табл. 2 – результаты снятия частеречной омонимии, в табл. 3 – результаты снятия полной омонимии. Таблица 2 Результаты работы методов снятия частеречной омонимии в текстах на русском языке Метод Точность определения частеречной принадлежности, % всех слов всех слов с учётом лексической омонимии незнакомых слов СММ 92,78 90,56 87,32 Метод опорных векторов 93,56 90,98 89,13 Таблица 3 Результаты работы методов снятия полной омонимии в текстах на русском языке Метод Точность определения тэгов, % всех слов всех слов с учётом лексической омонимии, незнакомых слов СММ 87,73 84,39 64,25 Метод опорных векторов 86,12 82,89 62,41 Анализ результатов и выводы Таким образом, оба метода неплохо справляются со снятием частеречной омонимии в текстах на русском языке. Однако результаты снятия частеречной омонимии в текстах на русском языке ниже, чем в текстах на английском языке. С задачей снятия полной омонимии данные методы справляются гораздо хуже, чем с задачей снятия частеречной омонимии. Скрытая марковская модель для снятия омонимии в текстах на русском языке работает лучше метода опорных векторов. В большей степени методы ошибаются при разметке местоимений, сокращений, инициалов и имен собственных. Кроме того, методы часто ошибаются с выбором падежных форм. Известны и более высокие результаты для СММ. Так, в [11] исследователи группы автоматической обработки текста (АОТ), использовав специальную формулу сглаживания, сходную с формулой из [12], смогли добиться в своем эксперименте точности в 97 % в снятии морфологической омонимии. В [13] был описан метод, разработанный сотрудниками Яндекса, который по показателям снятия морфологической омонимии превзошел метод, разработанный исследователями группы АОТ и использующий СММ. В дальнейшем планируется изучение и других методов снятия омонимии в текстах на английском языке, анализ работ по снятию омонимии в языках, близких по строению к русскому. При проведении эксперимента с новыми методами снятия омонимии планируется применять не только тэги, но и конкретные словосочетания и использовать пошаговое снятие омонимии соотносительно их типам. На первом этапе работы системы будет сниматься частеречная омонимия, на следующих этапах – морфологическая омонимия и затем лексическая.