Семинар по корпусной лингвистике ИЛИ РАН 26 февраля 2007 г. Автоматическая классификация лексики в неразмеченных русскоязычных текстах О.А. Митрофанова, А.С. Мухин, П.В. Паничева (кафедра математической лингвистики СПбГУ) 1. Постановка проблемы АКЛ = > данные об иерархической структуре лексикона, > формальные онтологии, словарная поддержка АОТ, > автоматическое индексирование текстов, > тематическое упорядочение документов в корпусах, > повышение качества информационного поиска > … и многое другое. Создание открытых модулей АКЛ для русского языка необходимо. Ресурсы, которые выполняют процедуру АКЛ и смежные с ней операции на основе русскоязычных текстов и лексикографических баз, – редкость. Специализированные ресурсы АКЛ: Решается задача > выделения кластеров близких по значению слов > из корпусов англоязычных текстов > на основе сходства дистрибуций: COALS (http://dlt4.mit.edu/~dr/COALS/) InfoMap (http://infomap.stanford.edu) Google-Sets (http://labs.google.com/sets) SenseClusters (http://senseclusters.sourceforge.net/) LexSem (http://www.isi.edu/~pantel/Content/Demos/LexSem/cbc.htm) DSM (http://clg.wlv.ac.uk/demos/similarity/) 2. Цели исследования Обсуждаемый проект направлен на построение русскоязычного ресурса АКЛ, который – позволяет качественно выделять лексико-семантические классы слов из текстов разных объемов и разных типов, – допускает классификацию лексики с различными условиями, – открывает возможность использования результатов классификации в других системах автоматической обработки текста. 3. Этапы реализации проекта I. Создание инструмента АКЛ для работы с неразмеченными текстами. II. Усовершенствование инструмента АКЛ для обработки размеченных текстов. III. Усовершенствование инструмента АКЛ для обработки корпусов параллельных текстов. 4. Используемые методы и процедуры Кластерный анализ Возможные методы кластеризации: – иерархические (аггломеративные, дивизимные), – неиерархические (итеративные – К-средних, К-медианы…), – гибридные методы… Выбор метода кластеризации определяется условиями эксперимента: умеренный/значительный объем корпуса; наличие/отсутствие ограничений на число итоговых кластеров... Реализация: иерархический (аггломеративный) метод и неиерерархический метод (К-средних). Латентный семантический анализ ЛСА = > представление множества контекстов употребления исследуемых лексем как точек или векторов дистрибуций в N-мерном пространстве, > вычисление расстояния между точками или сравнение векторов дистрибуций. Меры: мера Евклида, мера Хэмминга…, вычисление значения косинуса угла между векторами дистрибуций… Результаты измерений, сохраняемые в матрице расстояний, используются при кластеризации. 5. Компьютерная реализация инструмента АКЛ Программа АКЛ, созданная на языке Python, предусматривает три блока. Блок I. Предварительная обработка текста и вычисление расстояний между исследуемыми лексемами. Блок II. Иерархический кластерный анализ. Блок III. Кластерный анализ методом К-средних. Программирование: П.В.Паничева, А.С.Мухин. Параметры, определяемые при активизации программы: > имя файла, содержащего анализируемый текст (text.txt); > имя файла, содержащего лексемы, отношения между которыми требуется исследовать (words.txt); > ширина контекстного окна (± s); > наличие/отсутствие весовых значений для ближних/удаленных элементов контекстов (yes / no); > метод кластеризации (иерархический или К-средних); > количество кластеров, которое необходимо получить (C). Блок I. Предварительная обработка текста и вычисление расстояний между исследуемыми лексемами: 1) обнаружение всех вхождений исследуемых лексем в текст, 2) автоматическое выделение границ контекстов в соответствии с заданной шириной контекстного окна, 3) автоматическое определение весов элементов контекста, 4) формирование множества контекстов употребления для каждой лексемы l, представление множества контекстов в виде вектора дистрибуции в N-мерном пространстве, 5) сравнение векторов дистрибуций всех исследуемых лексем применительно к обрабатываемому тексту с использованием меры Евклида. Итог: матрица расстояний между векторами дистрибуций для каждой пары исследуемых лексем. Блок II. Иерархический кластерный анализ: 1) пошаговое формирование совокупностей двух и более лексем, имеющих близкую дистрибуцию и образующих кластеры, 2) повторение процедуры до тех пор, пока все лексемы не объединятся последовательно в один кластер, или пока количество промежуточных кластеров (фактически, глубина иерархии) не достигнет числа, указанного пользователем. Итог: построение иерархической структуры, отражающей сходства и различия дистрибуций лексем. Блок III. Кластерный анализ методом К-средних: 1) предварительное задание итогового числа кластеров, 2) назначение элементов кластеров случайным образом, вычисление центров кластеров, 3) поиск ближайшего кластера – на каждом шаге итерации для каждого элемента, вычисление центров кластеров заново, 4) повторение процедуры до тех пор, пока элементы не перестанут менять своё местоположение в структуре, т.е. пока центры кластеров не стабилизируются. Итог: построение классификации с заданным числом классов. Результаты работы программы: > данные о частотности исследуемых лексем в обрабатываемом тексте, > значения расстояний во всевозможных парах лексем из анализируемого набора, > результаты кластеризации – многоуровневый список слов в скобочной записи. 5. Эксперименты по АКЛ – автоматическая классификация терминовдескрипторов в научных текстах > на материале статей из русскоязычного корпуса по корпусной лингвистике; – автоматическая классификация глагольной лексики в экспериментальном корпусе > на материале базовых глаголов русского языка и корпуса глагольных контекстов; – автоматическая классификация лексики в параллельных текстах > на материале текстов оригинала и перевода повести-притчи Дж. Оруэлла «Скотный двор». 5.1. Автоматическая классификация терминовдескрипторов в научных текстах Материал: русскоязычные тексты статей из корпуса по корпусной лингвистике (руководитель проекта В.П.Захаров). Экспериментальные тексты: 10 статей из корпуса (Т1–Т10). Предварительная обработка: для Т1–Т10 определены по 10 терминов-дескрипторов, позволяющих диагностировать тематическую принадлежность текста. Термины-дескрипторы представлены в нормализованном виде: корпус (корпус, корпусов, корпусе, корпуса, корпусы, корпусах, корпусом, корпусу) В ходе экспериментов выполнены следующие процедуры: – определение частоты встречаемости каждого терминадескриптора в тексте; – вычисление расстояний между парами терминовдескрипторов в наборах (при ширине контекстного окна [-5…+5] и с учетом весов элементов контекстов); – осуществление кластеризации терминов-дескрипторов для каждого текста иерархическим методом и методом К-средних с различными параметрами (при глубине иерархии / конечном числе кластеров С = 3, 5, 7, 9). Пример: результаты обработки текста Т1, описываемого терминами-дескрипторами (архив, банк, данные, корпус, массив, поиск, разметка, текст, формат, чешский) Частота употребления терминов-дескрипторов в тексте Т1: корпус (f = 43), текст (f = 25), данные (f =13), поиск (f = 8), чешский (f = 6), разметка (f = 4), массив (f = 2), формат (f = 2), архив (f = 1), банк (f = 1). Расстояния между парами терминов-дескрипторов: корпус–корпус = 0,0 корпус–текст = 0,344 корпус–данные = 0,509 корпус–поиск = 0,6739 корпус–чешский = 0,737 корпус–разметка = 0,984 корпус–массив = 1,477 корпус–формат = 1,492 корпус–архив = 1,848 корпус–банк = 2,088 Результаты кластеризации в тексте Т1 с использованием иерархического метода (глубина иерархии С = 3, 5, 7, 9): С = 3 (архив, банк, массив, разметка, формат, чешский, (поиск ((текст, корпус) данные))) С = 5 (архив, банк, массив, формат (разметка (чешский (поиск ((текст, корпус) данные))))) С = 7 (архив, банк, (массив ((разметка (чешский (поиск ((текст, корпус) данные)))) формат))) С = 9 (банк (архив (массив ((разметка (чешский (поиск ((текст, корпус) данные)))) формат))) Результаты кластеризации в тексте Т1 с использованием метода К-средних (конечное число кластеров С = 3, 5, 7, 9): С = 3 ((архив) (банк) (данные, корпус, массив, поиск, разметка, текст, формат, чешский)) С = 5 ((архив) (банк) (разметка) (данные, корпус, поиск, текст, формат, чешский) (массив)) С = 7 ((архив) (банк) (данные, корпус, текст) (формат, чешский) (массив) (поиск) (разметка) С = 9 ((архив) (банк) (данные) (чешский) (массив) (поиск) (разметка) (корпус, текст) (формат)) Эксперименты с текстами, для которых наблюдается частичное совпадение наборов дескрипторов Кластеризация совпадающих элементов в наборах терминов-дескрипторов производилась с помощью иерархического метода. Результаты кластеризации идентичны: Т1 и Т2 – (массив (данные (корпус, текст))) Т4 и Т5 – (словарь (корпус, текст)) Т4 и Т9 – (частота (корпус, текстов)) Результаты кластеризации различны: Т1 – (формат (разметка (поиск (текст, корпус)))) Т10 – (разметка (((корпус, текст) формат) (поиск)) Т9 – (поиск (слово (текст, корпус))) Т10 – (поиск (корпус (слово, текст))) Т6 – (лингвистика (разметка, корпус)) Т8 – (корпус (лингвистика, разметка)) Итог: АКЛ в корпусе по корпусной лингвистике с учётом терминов-дескрипторов способствует решению ряда задач: – структурирование знаний в предметной области КЛ: > упорядочение терминологии, > выявление понятийных категорий и их связей; – подготовка данных для создания онтологии КЛ: > выявление основных тематических областей, > классификацию текстов внутри этих областей; – разработка инструментов для > определения количественных оценок близости текстов, > осуществления процедуры автоматической классификации текстов. 5.2. Автоматическая классификация глагольной лексики в экспериментальном корпусе Экспериментальный корпус: сформирован на основе случайных выборок контекстов употребления глаголов русского языка из корпуса Бокрёнок (руководитель проекта И.В.Азарова, разработчик экспериментального корпуса А.С.Марина). Объём корпуса: свыше 100 тыс. с/у. В ходе эксперимента использовалась версия корпуса глагольных контекстов без морфологической разметки. Объект исследования: 14 высокочастотных глаголов русского языка, думать, понимать, видеть, смотреть, стоять, лежать, брать, дать, делать, работать, держать, бросать, идти, ехать представляющих основные лексико-семантические классы: интеллектуальная деятельность, восприятие, владение, созидательная деятельность, социальная деятельность, физическое воздействие, перемещение / местоположение в пространстве... Эксперименты по иерархической кластеризации четвёрок глаголов при ширине контекстного окна [-5…+5] c учётом весов элементов контекстов. Кластеры в следующих наборах глагольных лексем сформированы корректно: (идти, ехать (видеть, смотреть)) (идти, ехать (делать, работать)) (брать, дать (видеть, смотреть)) (держать, бросать (думать, понимать)) (стоять, лежать (думать, понимать)) Отдельные случаи: Глаголы, относящиеся к одному лексико-семантическому классу, проявляют высокое сходство дистрибуций: думать–понимать = 0,107 делать–работать = 0,117 Глаголы, представляющие разные лексико-семантические классы, отличаются по своим сочетаемостным способностям: понимать–лежать = 0,152 видеть–идти = 0,151 Различие дистрибуций наблюдается у глаголов, принадлежащих к из одному лексико-семантическому классу, но находящихся в отношениях контраста: брать–дать = 0,131. Итог: в ходе экспериментов с четвёрками глаголов из экспериментальной группы получены положительные результаты. Хотя при решении задач АКЛ применительно к глагольной лексике предпочтительна работа с размеченными корпусами значительного объема и осуществление кластеризации по тегам, есть аргументы в пользу того, что желаемая цель может быть достигнута и при обращении к неразмеченному корпусу текстов. 5.3. Автоматическая классификация лексики в параллельных текстах Материал: тексты оригинала и перевода повести-притчи Дж. Оруэлла «Скотный двор» – G. Orwell «Animal Farm» (версия электронной библиотеки М.Мошкова). Объем текстов: ~ 24 тыс. с/у (русский текст), ~ 30 тыс. с/у (английский текст). Объект исследования: тематическая группа «Живые существа», объединяющая существительные, которые обозначают человека, животных и птиц. Экспериментальный набор лексем: более 50 имён, присутствующих в оригинальном и переводном текстах и релевантных с точки зрения сюжета. Эксперименты по иерархической кластеризации лексем проводились при ширине контекстного окна [-5…+5] с учётом весов контекстных элементов. Обработка текстов позволила получить данные – о частотности лексических единиц, – о расстояниях между исследуемыми словами в пределах текстов оригинала и перевода, – о вариантах их кластеризации. Основные результаты: Осуществлено разграничение микрогрупп в пределах заданной тематической группы. Кластеризация позволяет противопоставлять имена животных и птиц: (ворон (овца, животное)) (цыплята (животное, кошка)) (осел (утка, птица)) (коза (утята, птица)) (raven (animal, sheep)) (chickens (cat, animal)) (donkey (duck, bird)) (goat (ducklings, bird)) Для русских и для английских видовых наименований родовое имя определяется корректно: ((голубь, утка) птица) (bird (duck, raven)). Осуществлена кластеризация существительных, обозначающих представителей одного вида. В ряде случаев иерархия имён для русского и английского текстов является идентичной: (цыплята (курица, петух)) (chickens (hen, cockerel)). Случаи несовпадения результатов кластеризации, например: (кобыла (жеребята, лошадь)) (foal (horse, mare)). Возможные причины: – асимметрия переводческих соответствий; – различная частота употребления элементов пары «лексема языка оригинала – лексема языка перевода». лошадь (f = 20); кобыла (f = 2), кобылка (f = 2); жеребята (f = 2), жеребец (f = 2)); horse (f = 25); mare (f = 4); foal (f = 2)) Особенности кластеризации в четвёрках (птица (человек, животное) боров) (bird (boar (man, animal))). Причины отступления от логического соотношения родовых имён и видового наименования: – специфика употребления существительных боров и boar в тексте повести-притчи, – специфика сюжетной линии. Данные о расстояниях между парами лексем: аnimal–boar = 0,783 animal–human = 0,206 animal–bird = 0,950 животное–боров = 0,817 животное–человек = 0,224 животное–птица = 0,838 Итог: проведённые эксперименты подтверждают перспективность совершенствования инструмента АКЛ для дальнейшей работы с корпусами параллельных текстов. 6. Перспективы развития исследования Осуществление первого этапа проекта по созданию и практическому применению инструмента АКЛ, рассчитанного на работу с неразмеченными русскоязычными текстами, привело к желаемым результатам. В дальнейшем планируется: – работа по техническому совершенствованию инструмента АКЛ; – проведение лингвистических экспериментов с более сложными параметрами. Работа по техническому совершенствованию инструмента АКЛ: – введение дополнительных возможностей: > при кластеризации: использование новых методов кластеризации; > при измерении расстояний между лексемами: добавление метрик; – модернизация пользовательского интерфейса: > добавление режима визуализации результатов. Проведение лингвистических экспериментов с более сложными параметрами: – обработка > размеченных текстов, > текстов различной тематической принадлежности, > разнообъёмных текстов, > параллельных текстов; – кластеризация > в наборах лексем при различных условиях. 7. Благодарности: В.П.Захарову И.В.Азаровой А.С.Мариной В.С.Савицкому М.А.Александрову и всем нашим коллегам, поддержавшим проект.