Подход к автоматической коррекции ошибок сочетаемости слов в текстах на естественном языке
А.Е. Азимов, Е.И. Большакова
Факультет ВМиКМГУ имени М.В..Ломоносова Email: mitradir@gmail.com, bolsh@cs.msu.su
Введение
Встречающиеся в текстах на естественном языке (ЕЯ) ошибки сочетаемости слов относятся к лексическим ошибкам, при которых неправильно подбирается один или несколько компонентов словосочетания, например: играть значение вместо иметь значение. Допускаемая естественным языком сочетаемость слов складывается в процессе его развития и постоянно изменяется вместе с ним. Большая часть допустимых словосочетаний относится к нестандартной (идиоматической) сочетаемости, т.е. при изменении в таком словосочетании одного слова на другое, с близким или тем же смыслом, получается сочетание, в этом языке практически не употребляемое. Поэтому для каждого ЕЯ лексическая сочетаемость определяется не правилами, а фиксируется специальными словарями устойчивых словосочетаний, к примеру, [8, 16], которые в то же время не могут охватить все допустимые словосочетания из-за их большого числа.
Ошибки в словосочетаниях нередко допускаются людьми даже в родном языке. В случае же использования иностранного языка такие ошибки возникают гораздо чаще. В частности, ошибки сочетаемости слов часто появляются в результате перевода текста с одного языка на другой, в том числе - выполняемого помощью автоматических переводчиков. В настоящий момент широко используется целый ряд программных систем, таких как Lingvo и Promt, позволяющих выполнять перевод слов и словосочетаний с поддержкой большого количества языков. Однако часто при этом возникают ошибки, нарушающие существующие в языке нормы лексической сочетаемости. Приведем несколько примеров неудачного перевода словосочетаний с русского языка на английский (для получения переводов слов была использована онлайн версия системы Lingvo, доступная через сервис Яндекс-Словари):
• словосочетание сильный дождь переведено как powerful rain, а по нормам английского языка должно быть heavy rain;
• сочетание красивый мужчина - как beautiful man, а в языке употребляется handsome man;
• словосочетание великий художник - как great painter, а должно быть great artist;
• сочетание призрак оперы переведено как ghost of the opera вместо phantom of the opera.
Ошибки лексической сочетаемости не столь безобидны, как кажется на первый взгляд. В работе [11] было продемонстрировано, что ошибки в словосочетаниях, как и неправильное употребление устойчивых словосочетаний может приводить к кумулятивной потери точности описания предметной области. В то же время исправление ошибок сочетаемости требует определенного языкового опыта.
Ясно, что основной причиной возникновения некорректных словосочетаний при переводе текстов с одного языка на другой является стратегия пословного перевода, при которой не учитываются связи слов. Надо заметить, что данный тип лексических ошибок может возникать как вследствие использования автоматических систем перевода, так и вследствие неполноты словарного запаса переводчика. Поэтому появление подобных ошибок можно считать, как показано в работе [3], результатом интерференции двух языковых моделей - модели родного языка L1, с которого явно или неявно осуществляется перевод, и неполной модели языка L2, встроенной в автоматический переводчик или сформированной у человека в процессе изучения этого языка. Из этого следует, что для каждой пары языков, между которыми осуществляется перевод, будут возникать разные виды ошибок сочетаемости.
Современные автоматизированные корректоры текстов, использующие методы морфологического и синтаксического анализа предложений и позволяющие обнаруживать в текстах на ЕЯ широкий круг орфографических и ряд синтаксических ошибок, тем не менее пока не умеют ни выявлять, ни тем более исправлять ошибки сочетаемости слов. Однако в современной компьютерной лингвистике намечаются пути решения этой проблемы, в частности, предложен метод коррекции особых лексико-семантических ошибок [13], основанный на статистике словоупотребления.
Общая задача исправления ошибок сочетаемости слов некоторого предложения S была сформулирована в работе [2] на основе положений математической статистики, как поиск наиболее вероятного исправляющего предложения Т\ при
условии возникновения предложения S:
За последние несколько лет было представлено несколько исследовательских работ в которых для выявления ошибок лексической сочетаемости используется сырая статистика (частота) употребления словосочетаний различного вида. В этих работах в основном рассматриваются тексты на английском [2, 5, 12] или французском [7] языке и изучается задача коррекции ошибок в употреблении предлогов с существительными или глаголами и в использовании артиклей, а в некоторых работах - ошибок в сочетаниях вида существительное-глагол [11]. Во всех работах для выявления ошибочных сочетаний применяется автоматический синтаксический анализ предложений ЕЯ, например, сегментный анализ [4], а в [11] дополнительно используются N-граммы [10].
Исправление выявленных ошибочных сочетаний в работе [11] осуществляется с помощью классификатора словосочетаний на основе метода максимальной энтропии
[1]. В других работах для исправления словосочетаний используется частота встречаемости словосочетаний в наборе сниппетов в выдаче поисковой системы Bing или количество найденных страниц в поисковой выдаче Yahoo, причем варианты замен слов для исправления ошибок сочетаемости создаются вручную на основе экспертной оценки. В некоторых работах производится оценка точности предлагаемых методов, например, в [12] доля корректных исправлений на тестовом корпусе достигает 40% при уровне появления новых ошибок 2%, а в работе [7] доля корректных исправлений достигает уже 69%.
В целом, существующие решения проблемы поиска и исправления ошибок лексической сочетаемости носят довольно частный характер: рассматриваются ошибки сочетаемости только для отдельных видов словосочетаний. Также надо заметить, что попытки обобщить предлагаемые методы исправления ошибок на другие виды словосочетаний, например, словосочетания вида прилагательное-существительное, приводили к значительному снижению доли корректных
- 80 -
исправлений [12]. Проблемой остается и поиск потенциальных исправлений для выявленных ошибок. Предлагаемое в ряде работ создание вручную базы потенциальных замен, собранных на основе экспертной оценки [7, 12], не
представляется реально осуществимым.
В настоящей работе описывается подход к коррекции ошибок сочетаемости, основанный на статистике совместного употребления слов рассматриваемого ЕЯ и не ограничивающий виды корректируемых словосочетаний. Так, в сочетания могут входить не только знаменательные слова языка (существительные, прилагательные, глаголы и др.), но и служебные (предлоги, союзы и др.). Характеризуются ключевые моменты автоматического выявления и исправления ошибочных слов предложений текста. Применение описываемого подхода иллюстрируется на нескольких примерах словосочетаний и предложений из текстов на английском языке.
Ключевые идеи предлагаемого подхода
Рассматривается текст на языке Y, в предположении, что он получен в результате автоматического перевода с некоторого языка X или же написан человеком, для которого родным является язык X. В рассматриваемом тексте на языке Y может быть несколько ошибок сочетаемости слов, при этом не исключается наличие более чем одной ошибки в одном предложении текста. Тем самым, необходим итерационный метод последовательного поиска ошибок сочетаемости и исправления соответствующих слов предложений.
Поскольку в лексически выверенном тексте каждое слово предложения должно сочетаться со всеми синтаксически связанными с ним словами, при проверке и коррекции текста будем учитывать все пары синтаксически связанных слов каждого предложения. Таким образом, в рамках описываемого подхода текст рассматривается как набор независимых предложений, каждое из которых по отдельности автоматически обрабатывается на базе одного из известных методов поверхностного синтаксического анализа, с построением результирующего дерева синтаксических зависимостей [14]. Узлами дерева являются слова (словоформы) предложения, а дуги
- связи зависимости (подчинения).
Будем говорить, что слова, синтаксически связанные со словом w (ближайшие слова-узлы по дереву синтаксических зависимостей), образуют контекст слова w. В
контекст могут входить как знаменательные слова любой части речи, так и служебные слова - предлоги, частицы, союзы, вспомогательные глаголы, причем если в контекст слова входит предлог, то в контекст включается также и зависящее от него слово.
Для выявления ошибок сочетаемости каждое слово w предложения 8
проверяется на соответствие своему контексту. Для этого используются вероятности возникновения синтаксически связанных пар где - слово из контекста
слова XV. Эти вероятности заранее подсчитаны на основе корпуса текстов либо
определены по статистическим данным, предоставляемым некоторой поисковой системой. Вероятность определяется как отношение частоты возникновения пары (ж, к частоте употребления слова \м:
(2)
Другими словами, вероятность синтаксически связанной пары (и?, и?;)
определяется как вероятность возникновения слова при условии возникновения
проверяемого слова и\ Малые вероятности могут возникать как в случае
ошибочности словосочетания-пары так и в случае, когда слово и' имеет
высокую частотность и входит в большое количество устойчивых словосочетаний. Поэтому сами по себе вероятности синтаксически связанных пар слов, даже если они малы, не могут достоверно сигнализировать об ошибочности соответствующих словосочетаний. Чтобы распознать случаи ошибок лексической сочетаемости, в предлагаемом походе с проверяемым словом w предложения 8 сравниваются по их соответствию контексту потенциальные слова-замены, которые близки ему по смыслу (синонимы) и которые могли бы появиться вместо w в тексте в предположении пословного его перевода с другого языка.
Для сравнения слов-замен построим числовую функцию, которая определяет степень соответствия заданного слова контексту. Рассмотрим контекст слова w как случайную выборку К = (кх, ,,, ДГТ!) из параметрического распределения Р$, где & £ О
- неизвестный параметр, а множество О - множество слов языка. Размер выборки K равен количеству синтаксических связей слова w в рассматриваемом предложении 8.
Будем использовать функцию правдоподобия [17], определяющую совместное распределение выборки Ю.
Поскольку выборка K независима, то функцию правдоподобия можно переписать в следующем виде:
Введенную функцию правдоподобия будем рассматривать как степень соответствия слова из множества слов-замен контексту K. Если существуют такие слова-замены, степень соответствия которых контексту K больше, чем степень соответствия контексту K самого проверяемого слова w, то это слово считается ошибочным и подлежит коррекции. Эта коррекция производится путем его замены на то слово-замену, которое имеет максимальную степень соответствия контексту K.
Слова в предложении S проверяются в определенном порядке. Отметим, что в случае коррекции ошибочного слова w изменяется контекст синтаксически связанных с ним слов.
Рассмотрим подробнее процесс проверки слов в предложении.
Определение контекста слов и порядка их проверки
Для каждого предложения текста строится дерево синтаксических зависимостей, которое рассматривается далее как неориентированный граф G(V, E), где V -вершины графа, т.е. слова (словоформы) предложения, а Е - ребра графа, причем пара вершин (Рь vi) - Е тогда и только тогда, когда существует синтаксическая связь между словами-вершинами viuv2. Определим контекст Context(vt) употребления слова щ как набор пар или троек слов, отвечающих следующим условиям:
• Если ребро (vvj) и vj не является предлогом, то пара Vi‘ vi >е Context{vj)\•
• Если i.vfvj) е Е и '■'/ - предлог и если существует ребро (vj,I?*) £ Е, то тройка
f(K\e)\n -> R
(3)
П
(4)
1 = 1
Проиллюстрируем построение контекста на примере предложения Churchill was born into the aristocratic family. На Рис. 2 изображено дерево синтаксических зависимостей, полученное для этого предложения, а в Таблица 1 представлен построенный контекст слов (каждая строка таблицы содержит контекст употребления одного слова предложения).
Рис. 2 Синтаксическое дерево зависимостей для предложения “Churchill was born into the aristocratic family ”
Таблица 1 Контекст слов для предложения “Churchill was born into the aristocratic_ family ”
Слово Контекст
Churchill Churchill bom
was was born
born was born, Churchill born, born into family
into born into, into family
the the family
aristocratic aristocratic family
family the family, aristocratic family
Напомним, что не исключается наличие нескольких ошибок сочетаемости слов в одном предложении текста. Поскольку после замены ошибочного слова w изменяется контекст других слов предложения, результат коррекции всего предложения зависит от последовательности рассмотрения слов в этом предложении. В рамках описываемого подхода предлагается рассматривать слова у/ предложения в зависимости от величины тшщссомехЩ) Р (ail)j) в первую очередь рассматриваются слова с наименьшим значением этой величины. Таким образом, на каждом очередном шаге проверки предложения из еще не рассмотренных слов-узлов выбирается узел node согласно формуле:
піні:' ,in.', it'.in rn,i\ />( ч 111.. (5)
Коррекция ошибочного слова
Для определения потенциальных слов-замен для проверяемого слова предложения было рассмотрено отношение Translate, состоящее из пар (ж,у), где
слово х языка, X имеет набор вариантов перевода [у] из языка У, а также обратное
отношение Translate'1, сопоставляющее слову у из языка Y в набор вариантов перевода {х} из языка X.
В соответствии с предположением о том, что ошибки сочетаемости слов появляются в тексте в результате явной или неявной стратегии пословного перевода текста с языка X на язык Y, неправильное слово было взято из набора {у}. Поэтому для каждого слова у рассматривается множество:
Ясно, что это множество может быть получено в результате суперпозиции
Translate и Translate'1:
Однако это множество оказывается слишком широким и в него могут попадать слова, далекие по смыслу от слова у. Так, для слова future это будут слова next, to be, coming, the beyond, after death, beyond the grave, aftertime, approaching, by'and'by, hereafter, weird.
Для сужения указанного множества было принято решение использовать из него только те слова, которые также обладают свойством синонимии с исходным словом y. Таким образом, множество слов-замен для слова y определяется следующей формулой:
' = \у. ё | ^ с _ 1 11 - > (8)
Например, для слова beautiful множество слов-замен будет следующим: attractive, fine, gorgeous, handsome, pretty.
Построение множеств слов-замен осуществляется на базе словаря переводов с языка X на Y и словаря синонимов языка Y.
Сравнение слов-замен между собой и с исходным словом выполняется путем сравнения их степеней соответствия контексту рассматриваемого слова y. Поскольку степень соответствия контексту является функцией правдоподобия (4), слово result из множества Replacement(y) U {у}, которое лучше других соответствует контексту
слова y, можно найти с использованием метода максимального правдоподобия [17]:
Для определения слова result вместо формулы (9) можно применить аналогичную формулу, полученную с использованием логарифмической функции правдоподобия:
Если найденное слово result отлично от проверяемого слова y, считается, что слово y ошибочно и производится замена слова y на слово result.
Пример коррекции ошибок сочетаемости Подытожим этапы проверки предложения:
Этап 1. Синтаксический разбор предложения.
Этап 2. Вычисление контекстов всех слов в предложении.
Этап 3. Определение на основе формулы (5) очередного слова node для проверки.
Этап 4. Определение множества потенциальных слов-замен для слова node на основе формулы (8).
Этап 5. Для всех слов из этого множества вычисление степени их соответствия контексту слова node на основе формулы (4).
Этап 6. Вычисление слова result по формуле (8) или (9). Если result не совпадает со словом node, то производится замена node на result и пересчет контекста еще непроверенных слов предложения.
Этап 7. Если все слова уже проверены - завершение работы, в противном случае переход на Этап 3.
Рассмотрим коррекцию ошибок сочетаемости на примере предложения The ghost on the opera. Для определения вероятностей синтаксически связанных пар слов в
формуле (2) использовалась статистика поисковых систем Google и Bing. Разбор предложения по частям речи осуществлялся с использованием библиотеки NLTK [4]. Синтаксический разбор предложения выполнялся синтаксическим анализатором MaltParser [6]. Для вычисления множества слов-замен Rер lacement(у) брался
русско-английский словарь Lingvo.
Этапы 1-2. Полученное синтаксическое дерево зависимостей для слов рассматриваемого предложения изображено на Рис. 2, а контекст слов представлен в
Таблица 2.
Рис. 3 Синтаксическое дерево зависимостей для предложения "The ghost on the
opera"
Таблица 2 Контекст слов для предложения "The ghost on the opera"
Слово Контекст
The the ghost
ghost the ghost, ghost on opera
on ghost on, on opera
the the opera
opera on opera, the opera
Этап 3. На основе формулы (5) определяется первое проверяемое слово. В Таблице 3 приведены используемые при этом величины. Как можно видеть, минимум достигается на слове оп, поэтому именно это слово выбирается для проверки.
Таблица 3 Максимумы вероятностей синтаксических связей для слов предложения
“The ghost on the opera”
Слово (Уі) Of ЄСSSSt ^ ^
The G.GGG77
ghost G^
on G.GGG2
the G.G318
opera G.G7
Этап 4. В соответствие с формулой (7), предлогу on соответствует следующее множество слов-замен: about, above, against, at, by, concerning, in, near, of, over, through, to, toward, towards, upon, with.
Этап 5. В соответствие с формулой (4) для каждого слова из множества слов-замен, а также для проверяемого слова определяется степень их соответствия контексту слова on - см. Таблица 4.
Таблица 4 Степень соответствия контексту
Replacement(y) U {y} Степень соответствия контексту
about 1.24*1GMG
above 2.G1*1GM1
against 1.G2*1GM1
at 1.1*ШЛ-8
by 7.22*ШЛ-9
concerning 1.38*ШЛ-11
in 4.63*ЮЛ-6
near 2.44*ЮЛ-11
of 1.85*10Л-5
over 1.3*ШЛ-Ш
through 2.54*1GMG
to 2.22*ШЛ-7
toward 8.58*1GM2
towards 2.97*1GM2
upon 4.8б*ШМ1
with 4.G7*1G^8
on 2.85*ЮЛ-8
Этап б. Поскольку максимум степени соответствия контексту достигается на слове of, то в исходном предложении производится замена слова on на of, в результате получается предложение The ghost of the opera. Переход на этап 3.
Далее будут рассмотрены и проверены остальные слова предложения в следующем порядке:
1) Первый артикль the. Учитывая, что в русском языке артиклей не существует, в соответствие с формулами (6) и (8) данное слово имеет пустое множество слов-замен. Следовательно, изменений предложения не будет.
2) Существительное ghost. Данному слову соответствует следующее множество слов-замен: apparition, phantom, shade, shadow, spirit, spook. В результате поиска максимума по степени соответствия контексту слова ghost будет выбрано слово phantom, которое заменит ghost и получится предложение The phantom of the opera.
3) Второй артикль the также не корректируется.
4) Существительное opera. Для него будет получено пустое множество слов-замен, следовательно, изменения предложения производится не будет.
На этом проверка предложения и коррекция ошибок сочетаемости завершается, итоговым результатом станет предложение The phantom of the opera. В процессе проверки исходного предложения были найдены и исправлены две ошибки сочетаемости.
Заключение
Рассмотрен подход к исправлению ошибок лексической сочетаемости в тексте на естественном языке, позволяющий находить и исправлять несколько ошибок в одном предложении, возникающих в результате перевода с одного языка на другой. Особенностью рассмотренного подхода является единообразное рассмотрение и исправление словосочетаний, состоящих как из знаменательных, так и из служебных слов (предлогов). В рамках данного похода предложен способ автоматической генерации множества слов-замен, которое зависит и от языка, на который осуществляется перевод, и от исходного языка. Предварительное тестирование продемонстрировало перспективность предложенного подхода.
Ближайшие задачи по развитию рассмотренного подхода к коррекции ошибок сочетаемости слов включают:
• создание базы вероятностей синтаксически связанных пар слов на основе текстового корпуса (с использованием идей, представленных в [15]);
• определение статистического критерия корректности синтаксически связанной пары для снижения уровня ложных коррекций.
Дополнительно планируется провести сравнение распределений устойчивых словосочетаний в текстах, написанных носителями языка, и в текстах, полученных в результате перевода, на примере пары языков: русского и английского. Данное исследование должно подтвердить или опровергнуть гипотезу о том, что ошибки сочетаемости не свойственны носителям языка (людям, для которых язык является родным). В случае подтверждения гипотезы планируется создание классификатора для определения текстов, написанных носителями языка. Этот классификатор будет использован в процессе автоматического расширения корпуса текстов, по которым вычисляются вероятности синтаксически связанных пар слов.
Дальнейшая задача - создание автоматического корректора, исправляющего ошибки сочетаемости слов (в виде подключаемого программного модуля).
Список литературы
1. Berger A., Pietray S., Pietray V. A Maximum Entropy Approach to Natural Language // Processing Computational Linguistics, 22(1):39-71, 1991.
2. Brockett C., Dolan W., Gamon M. Correcting ESL Errors Using Phrasal SMT Techniques // Proceedings of the 21st International Conference on Computational Linguistics and the 44th annual meeting of the Association for Computational Linguistics ACL , 2006.
3. Brown P., Pietra S., Mercer R., Pietra V. The Mathematics of Statistical Machine Translation. // Computational Linguistics, Vol. 19(2): 263-311. 1993.
4. Bird S., Klein E., Loper L. Natural Language Processing with Python 2009 (2008) [html] (http://www.nltk.org/book).
5. Gamon M. Using Mostly Native Data to Correct Errors in Learners' Writing: A MetaClassifier Approach // Proceeding HLT '10 Human Language Technologies, 2010.
6. Hall J., Nilsson J., Nivre J. MaltParser 2010 [html] (http://maltparser.org/).
7. Hermet M., Desilets A., Szpakowicz S. Using the Web as a Linguistic Resource to Automatically Correct Lexico-Syntactic Errors // Proceeding The 6th Edition of the Language Resources and Evaluation Conference (LREC 06), 2008.
8. Oxford Collocations Dictionary for Students of English. Oxford University Press, 2003.
9. Oxford Handbook on Computational Linguistics. R. Mitkov (Ed.). Oxford University Press, 2005.
10. Smadja, F. Retrieving Collocations from Text: Xtract. Computational Linguistics, 19 (1), p. 143-177, 1993.
11. Wu J., Yu-Chia Chang Y., Teruko Mitamura T., Chang J. Automatic Collocation Suggestion in Academic Writing // Proceedings of the ACL 2010 Conference Short Papers, 2010.
12. Yi X., Gao J.Dolan W. A Web-based English Proofing System for English as a Second Language Users // Proceedings of IJCNLP, 2008.
13. Большакова Е.И., Большаков И. А. Автоматическое обнаружение и
автоматизированное исправление русских малапропизмов // НТИ. Сер. 2, № 5,
2007, с.27-40.
14. Васильев В., Кривенко Г. Методы автоматизированной обработки текстов. М.: ИПИ РАН, 2008, 302 с.
15. Клышинский Э.С., Кочеткова Н.А., Литвинов М.И., Максимов В.Ю.
Автоматическое формирование базы сочетаемости слов на основе очень большого корпуса текстов // Компьютерная лингвистика и интеллектуальные
технологии: По материалам ежегодной Международной конференции "Диалог". Вып. 9(16). - Изд-во РГГУ, 2010, с.181-185.
16. Регинина К.В., Тюрина Г.П., Широкова Л.И. Устойчивые словосочетания русского языка. Учебное пособие. - М.: Русский язык, 1976.
17. Севастьянов Б. А. Курс теории вероятностей и математической статистики // М.: Наука, Главная редакция физико-математической литературы, 1982.