УДК 519.688
Е.И. Большакова, А.П. Котляров
МЕТОД ОЦЕНКИ СОЧЕТАЕМОСТИ СЛОВ НА БАЗЕ ТЕКСТОВ СЕТИ ИНТЕРНЕТ1
(кафедра алгоритмических языков факультета ВМиК, e-mail: [email protected], [email protected])
Описывается метод оценки семантической совместимости слов русского языка на основе эвристически определенного числового показателя, вычисляемого по статистическим данным о раздельной и совместной встречаемости слов в текстах сети Интернет. Кратко характеризуется созданный комплекс программ, реализующий этот метод для решения прикладных задач компьютерной лингвистики, в том числе для автоматического выявления лексико-семантических ошибок в текстах на естественном языке.
В формальных искусственных языках (например, в языках программирования) правила комбинирования языковых знаков формулируются исключительно исходя из их смыслового содержания. Особенностью естественных языков является нестандартная сочетаемость знаков на разных языковых уровнях, при которой возможность их комбинирования определяется не только их смыслом. Нестандартность лексической сочетаемости означает, что одни слова допускают совместное употребление, а другие, пусть даже с тем же смыслом, — нет: например, допустимо словосочетание вступать в разговор, но не входить в разговор.
Фиксировать установившуюся в естественном языке лексическую сочетаемость призваны словари словосочетаний, однако в основном они описывают сравнительно немногочисленные фразеологические (несвободные) словосочетания, смысл которых не выводится из смысла слов-компонентов (жесткие фраземы типа сесть в галошу и словосочетания, один из компонентов которых переосмыслен: собачий холод). Задача отображения всех устойчиво сочетающихся слов, включая свободные сочетания типа видеть лес или красный мяч, ими не решается. В то же время определение семантической допустимости различных сочетаний слов необходимо для решения ряда задач компьютерной лингвистики, в том числе:
• автоматической генерации текстов на естественном языке (использование устойчивых словосочетаний дает возможность получать идиоматичные тексты);
• синтаксического разбора предложений текста (учет допустимых в речи словосочетаний позволяет сократить число возможных вариантов разбора);
• автоматизации редактирования текстов (знание допустимых словосочетаний дает возможность выявлять некоторые виды лексико-семантических ошибок).
Неполнота традиционных словарей словосочетаний не позволяет использовать их электронные версии для решения указанных задач. Более полные компьютерные словари, ориентированные на задачи автоматической обработки текстов на естественном языке, только появляются, например система КроссЛексика [1], являющаяся единственной крупной электронной базой словосочетаний русского языка. Однако и она нуждается в постоянном пополнении новыми словосочетаниями, неизбежно возникающими и закрепляющимися в речи.
Основным источником словосочетаний и средством определения их допустимости в речи являются тексты на естественном языке. Для автоматизированного построения словарей словосочетаний могут применяться так называемые корпуса текстов — коллекции текстов, в которых лингвистами предварительно проведена морфосинтаксическая разметка слов. Однако создание представительного размеченного корпуса текстов — сама по себе длительная и кропотливая задача, поэтому в компьютерной лингвистике все более широко используется Интернет, рассматриваемый как огромный зашумленный текстовый корпус современного языка [2].
1 Работа выполнена при финансовой поддержке РФФИ (проект № 06-01-00571).
В настоящей работе описывается метод оценки сочетаемости слов русского языка, использующий доступные через поисковую машину тексты сети Интернет. Предлагаемый метод опирается на понятие коллокации, близкое к широко используемому в русистике понятию словосочетания. Под словосочетанием понимается соединение нескольких знаменательных слов на основе подчинительной грамматической связи (чаще всего связи согласования и управления). Такое определение не накладывает никаких ограничений на семантику сочетаемых слов, мы же рассматриваем только словосочетания, которые встречаются в осмысленных текстах, и тем самым считаем коллокацией любую синтаксически связанную и семантически допустимую пару знаменательных слов.
Компонентами коллокаций могут быть слова четырех главных частей речи: существительные, глаголы, прилагательные (включая причастия) и наречия (включая деепричастия). Наиболее часто встречаются следующие четыре синтаксических типа коллокаций:
• определяемое слово ^ определяющее слово (например, полевая мышь, наполненный зал, идут нормально);
• существительное^ его дополнение (получение информации, борьба с терроризмом);
• глагол г ого дополнение (уделить внимание, идти в школу, решили продать);
• сказуемое^подлежащее (текст проверен, президент уйдет, прения открыты).
Указанные типы покрывают большинство существующих в русском языке именных и глагольно-именных словосочетаний.
Синтаксические связи между знаменательными словами коллокации могут реализоваться непосредственно (например, обнаружил изъяны) или через служебные слова (обычно через предлоги: учиться в школе), в последнем случае мы считаем эти служебные слова частью коллокации.
Заметим, что в предложениях связного текста слова-компоненты коллокации могут либо непосредственно соседствовать, либо разделяться другими словами, причем не только собственными служебными словами: учиться в недавно построенной школе. В то же время эти слова-компоненты могут случайно оказаться рядом, не образуя коллокацию из-за отсутствия синтаксической связи: не любил учиться, в школе было неинтересно. Если же рассматриваются тексты сети Интернет, то в них в дополнение к таким встречам существуют многочисленные ошибки в употреблении словосочетаний и ошибки, вызванные некорректной разметкой страниц. Поскольку исследовать синтаксические связи во всех текстах сети Интернет не представляется возможным, для определения допустимости словосочетаний применимы только статистические критерии.
Один из известных статистических критериев, применяемых в корпусной лингвистике, основан на так называемом показателе взаимной информации (ПВИ) [3]:
ИВШ(УЛУ) — 1п
Согласно этому критерию, пара слов (V, Ш) образует устойчивое сочетание, если относительная частота совместной встречи слов на близком расстоянии в пределах всего текстового кор-
пуса больше произведения относительных частот М(У)/Б и М(Ш)/Б слов V и Ш, рассматриваемых по отдельности (5 — размер корпуса):
ПВИ(У,И0 > 0.
Этот критерий, однако, неприменим в случае интернет-корпуса, так как, во-первых, поисковые машины измеряют статистику встреч запрашиваемого слова (или комбинации слов) только в количестве содержащих эти слова страниц, а во-вторых, размер интернет-корпуса (понимаемый как полное число страниц, индексируемых поисковой машиной) — сложно вычисляемая величина.
Исходя из некоторых априорных соображений мы решили использовать для текстов Интернета в качестве меры устойчивости и допустимости сочетания слов величину, сходную с ПВИ:
ЖС(У,Ш) = Ы-
где Р — некоторая положительная константа. Величина, названная показателем семантической совместимости (ПСС), придает большее, чем ПВИ, значение совместной встречаемости слов. В то же время, как и ПВИ, ПСС сохраняет свое значение при пропорциональном изменении величин
N{W) и Ш) и тем самым практически не зависит от непрерывного роста массивов данных по-
исковой машины во времени.
Для практического применения ПСС удобно взять основание логарифма равным 2 и подобрать константу Р так, чтобы большинство устойчивых коллокаций любого синтаксического типа имели неотрицательное значение ПСС. Таким образом мы получили уточненную формулу для ПСС:
Г16 + log2 ,N<v,w , ПСС(У, W) = l ^N(v)-N(wy
—оо,
если N(V, W) > О, если N(V, W) = О,
(1)
где — оо — большая по величине отрицательная константа, которая берется в случаях, когда оцени-вамые слова вообще не встречаются вместе в массивах Интернета.
Тогда критерий семантической совместимости пары слов (V, Ш) принимает вид
ПСС(V,W) > Q,
(2)
где (3 — константа, близкая к нулю и подбираемая экспериментально. Действительно, быстрый рост массивов Интернета ведет к тому, что в нем в конце концов появляется большинство употребляемых в речи словосочетаний, так что можно считать семантически допустимыми все словосочетания, ПСС которых оказался выше некоторого довольно низкого порога.
Для экспериментального исследования предложенного критерия семантической совместимости в различных задачах компьютерной лингвистики был разработан комплекс программ. В качестве основного средства поиска в массивах сети Интернет была выбрана российская поисковая служба Яндекс, предлагающая гибкий язык запросов и учитывающая особенности русской морфологии (при этом все величины N{W) и Ш) выдаются ею за один запрос). В качестве языка программирования
был использован С#. Основные программные модули комплекса представлены на рис. 1.
Рис. 1. Взаимосвязь программных модулей комплекса
Модуль сбора статистики словоупотреблений на основе запросов к интернет-поисковику определяет (для заданного множества пар русских слов) частоты встречаемости этих слов по отдельности и совместно и сохраняет полученные статистические данные в базе на сервере mySQL. Прикладной интерфейс модуля допускает относительно простую смену поисковика (в качестве альтернативы Яндексу возможны Google и доступный через Интернет поисковый интерфейс создаваемого Национального корпуса русского языка).
Одним из параметров запросов к поисковой машине в модуле сбора статистики является расстояние, на котором следует искать слова — компоненты коллокаций. Поскольку в текстах Интернета слова исследуемой пары могут быть разнесены, а сильно разнесенные компоненты с большой вероятностью могут оказаться случайной встречей этих слов, имеет смысл учитывать только близко расположенные компоненты. Чтобы выяснить наиболее вероятные близкие расстояния между компонентами коллокаций разных типов, нами было проведено исследование статистики совместной встречаемости компонент коллокаций в зависимости от расстояния между ними [4]. Оказалось, что практически для всех типов коллокаций наибольшая совместная встречаемость их компонент достигается в случае, когда они стоят либо рядом, либо через одно слово, причем оба этих случая обычно покрывают более 60% совместных встреч. Для коллокаций, компоненты которых связаны через служебное слово,
наиболее вероятным оказалось соседнее расположение всех слов. Таким образом, обычно в запросах к поисковой машине при сборе статистики встречаемости слов указывается либо смежное их расположение (для коллокаций со служебными словами), либо расположение на расстоянии не более чем в одно слово (для коллокаций без служебных слов).
Собранные модулем сбора статистики данные используются другими модулями программного комплекса, выполняющими вычисление значений показателя (1) и проверку критерия (2) семантической совместимости слов для решения следующих частных прикладных задач:
• автоматизированного пополнения базы коллокаций системы КроссЛексика [1] новыми допустимыми словосочетаниями;
• автоматического выявления близких по семантике слов на основе значений ПСС известных коллокаций с этими словами;
• автоматизированного исправления в тексте лексико-семантических ошибок особого рода — мала-пропизмов.
Модуль поиска новых допустимых словосочетаний (коллокаций) применяет в своей работе частичный синтаксический анализ, в ходе которого для каждого предложения текста-источника выявляются высоковероятные синтаксические связи слов и строится набор синтаксически связанных пар слов. Для обнаружения среди этих пар семантически допустимых сочетаний вычисляется значение ПСС и используется критерий совместимости (2). Выявленные допустимые пары слов русского языка предъявляются человеку-эксперту для принятия решения о занесении их в базу коллокаций.
Модуль оценки смысловой близости двух знаменательных слов одной части речи (для примера будем рассматривать существительные) использует методику дистрибутивного анализа [5]. Из базы коллокаций системы КроссЛексика берутся сначала прилагательные, употребляющиеся как определения к первому существительному, и вычисляется среднее значение ПСС соответствующих коллокаций. Затем находится среднее значение ПСС коллокаций из базы, образованных первым существительным с прилагательными, определяющими второе существительное. Величина, обратная разности этих средних значений, считается мерой смысловой близости данных существительных.
Третий модуль программного комплекса создавался для решения задачи автоматизированного обнаружения и исправления малапропизмов — речевых ошибок, при которых одно знаменательное слово текста заменяется другим, близким по звучанию, но отличным по смыслу (например, сачок цен, трафик ввода) [4]. Такие лексико-семантические ошибки возникают из-за случайных описок (трафик вместо график) или смысловых ошибок (деловой вместо деловитый). Сложность их автоматического выявления связана с тем, что при этих ошибках одно существующее (словарное) слово заменяется другим словарным, причем с теми же морфосинтаксическими характеристиками. Подобные ошибки современные редактирующие программы обнаруживать пока не умеют.
Автоматическое распознавание малапропизмов основано на том, что они разрушают коллокации, точнее, разрушают семантическую связь между словами при сохранении их синтаксической связанности. Для обнаружения ошибок предлагается последовательно просматривать внутри предложений текста все пары знаменательных слов с проверкой их на синтаксическую связанность и семантическую совместимость [4]. Пара синтаксически связанных слов (Ут,Шт) признается малапропизмом, если
ПСС (Ут,Шт)<К,
где К = 4 — экспериментально подобранная константа.
Для исправления найденной ошибки составляются всевозможные пары слов, получающиеся из ошибочной замены одного из слов на слово-кандидат. В качестве кандидатов рассматриваются слова, получающиеся из исходного путем замены, вставки или удаления одной буквы, а также похожие слова с тем же корнем. Среди полученных таким образом исправляющих пар есть ровно одна, соответствующая нарушенной малапропизмом исходной коллокации — истинное исправление.
Полученные исправляющие пары тестируются на смысловую совместимость с использованием предложенного критерия (2), в котором (3 = 0. Все не удовлетворяющие этому критерию исправляющие пары отбрасываются, и в итоге для каждого малапропизма остается список допустимых исправляющих пар, который упорядочивается по значению ПСС для предъявления человеку — редактору текста, который выносит окончательное решение об исправлении ошибки. Указанные выше пороговые константы Ем С} были установлены в ходе серии экспериментов для 400 образцов русских малапропизмов всех часто встречающихся в языке типов словосочетаний. Данные эксперименты показали
приемлемые результаты по полноте и точности исправления таких лексико-семантических ошибок. Распределения относительных частот найденных значений ПСС для малапропизмов и их истинных исправлений (а также найденные пороги) показаны на рис. 2, где в качестве — оо взято значение —10 (пик значений ПСС в этой точке соответствует парам слов, не встречающимся вместе в массивах Интернета).
Q R
1 ^ f\s—"Л^
Л_____ 1 1 -. _1_ V
Рис. 2. Распределение значений ПСС: малапропизмы (_/); истинные направления (2)
В целом проведенные на базе описанного программного комплекса эксперименты по исправлению лексико-семантических ошибок, оценке смысловой близости слов и выявлению новых коллокаций русского языка показали пригодность для решения указанных задач предложенного метода оценки сочетаемости слов с помощью текстов сети Интернет и эвристически введенного показателя семантической совместимости (ПСС).
СПИСОК ЛИТЕРАТУРЫ
1. Bolshakov I.A. Getting One's First Million. .. Collocations // Computational Linguistics and Intelligent Text Processing. LNCS 2945. Springer, 2004. P. 229-242.
2. Kilgarriff A., Grefenstette G. Introduction to the special issue on the Web as corpus // Computational Linguistics. 2003. 29. N 3. P. 333-347.
3. Manning Ch. D., Schütze H. Foundations of Statistical Natural Language Processing. Cambridge: MIT Press, 1999.
4. Большакова E. И., Большаков И. А., Котляров А. П. Расширенный эксперимент по автоматическому обнаружению и исправлению русских малапропизмов / / Компьютерная лингвистика и интеллектуальные технологии. Труды Международной конференции "Диалог 2006". М.: Изд-во РГГУ, 2006. С. 78-83.
5. Москович В. А. Статистика и семантика. М.: Наука, 1969.
Поступила в редакцию 11.01.08