Компьютерный анализ естественно-языкового текста Кафедра информационных систем в искусстве и гуманитарных науках Компьютерный анализ естественно-языкового текста СТРУКТУРА КУРСА 1. Введение в дисциплину 2. Автоматический анализ текста на морфологическом уровне 3. Автоматический анализ текста на синтаксическом уровне 4. Семантический компонент в системах автоматического анализа текста Компьютерный анализ естественно-языкового текста СТРУКТУРА КУРСА 2. Автоматический анализ текста на морфологическом уровне 1. Морфологический уровень в ЛИТ 2. Основные понятия морфологии в компьютерной морфологии 3. Основные процедуры компьютерной морфологии 4. Компьютерная морфология русского языка 5. Технологии морфологического анализа 6. «Предсказание» (типизация) 7. Вопросы, смежные с синтаксисом ПЛАН ЛЕКЦИЙ 9-11 1. Xerox Tools: • • • альтернативные инструменты операции высокого уровня дополнительные функциональные возможности Резюме по морфологии 2. • • • специальные функции: технология ISpell типология методов анализа по Н.Н.Леонтьевой «предсказание» в АОТ Частеречная разметка 3. • • • • разметка в Национальном корпусе типы омонимии данные о русских омоформах методы снятия грамматической неоднозначности ОМОФОРМЫ РУССКОГО ЯЗЫКА • Словарь Ж.Г.Аношкиной (http://cfrl.ru/homoforms/), фрагмент: … голубь, голубя: голубить (г), голубь (с) голубят: голубенок (с), голубить (г) голышом: голыш (с), голышом (н) гольем: голье (с), гольем (н) гольф, гольфам, гольфами, гольфах, гольфов, гольфы: гольф (с), гольфы (с) голью: голь (с), голье (с) гоним: гнать (г), гонимый (п) гораздо: горазд (п), гораздо (н) горбато: горбато (н), горбатый (п) горбачу: горбатить (г), горбач (с) гордо: гордо (н), гордый (п) горе: гора (с), горе (с) … ТИПОЛОГИЯ ОМОФОРМ РУССКОГО ЯЗЫКА • Т.Ю.Кобзарева и Р.Н.Афанасьев выделили 58 типов омонимии форм на основе словаря Аношкиной: № Тип омонимии Кол-во омонимов Примеры 1) <D/Abr*> 922 совершенно, адекватно, безумно... 2) <Vf/N*> 878 берег, вызову, души... 3) <N*/A*> 379 больной, дорогой, это... 4) <N*/Abr*> 263 гол, долги, знаком ... 5) <N*/Dv> 167 пролив, буря, нагоняя... 6) <N*/D> 107 часами, летом, бегом... 7) <Vf/Comp> 80 темней, умней, красней... 8) <Vf/Abr*> 77 допустим, одержим, сравним... 9) <Vsp/D/Abr*> 66 важно, понятно, тревожно... 10) <N*/Comp> 26 суше, круче, чаще... … ДИАГНОСТИЧЕСКИЕ СИТУАЦИИ ДЛЯ РАЗРЕШЕНИЯ РУССКОЙ ОМОНИМИИ • … и предложили систему диагностических ситуаций, помогающих разрешить эти типы омонимии: ТИПОЛОГИЯ МЕТОДОВ РАЗРЕШЕНИЯ ОМОНИМИИ • Методы, основанные на (контекстных) правилах, составляемых экспертамилингвистами • Методы, основанные на (контекстных) правилах, выводимых из текстов (с управляемым и с неуправляемым обучением) • Методы, основанные на вероятностных моделях (с управляемым и с неуправляемым обучением) • Методы, основанные на нейронных сетях • Гибридные методы ПРИМЕНЕНИЕ КОНТЕКСТНЫХ ПРАВИЛ ДЛЯ РАЗРЕШЕНИЯ ОМОНИМИИ (1) • Правила, составляемые «вручную» экспертами-лингвистами • Для английского языка - грамматика ограничений (constraint grammar) Ф.Карлссона и А.Воутилайнена, включает правила типа «выполни действие X над объектом Y в контексте Z». ПРИМЕНЕНИЕ КОНТЕКСТНЫХ ПРАВИЛ ДЛЯ РАЗРЕШЕНИЯ ОМОНИМИИ (2) Грамматика ограничений Ф.Карлссона и А.Воутилайнена: • Правила применяются в определенной последовательности, поочередно к каждому слову текста, в несколько проходов (циклов), - пока проход не даст нулевой результат. • Пример правила для английского языка: tag:red ‘VB’ <- tag: ‘DT’@[-1] ○ «исключить тег VB, если сосед на расстоянии ‘-1’ (т.е. непосредств. сосед слева) имеет тег DT» the / {DT} light / {JJ, NN, VB} превращается в the / {DT} light / {JJ, NN} ПРИМЕНЕНИЕ КОНТЕКСТНЫХ ПРАВИЛ ДЛЯ РАЗРЕШЕНИЯ ОМОНИМИИ (3) Грамматика ограничений Ф.Карлссона и А.Воутилайнена: • В первой версии - 1200 правил, основанных на грамматике, и 200 эвристических правил, потом дошли до 3600 правил (для английского языка). • Контекстные правила могут быть закодированы в виде конечных преобразователей (Э. Рош и И.Шабес, амер. филиал Mitsubishi) АЛГОРИТМ Э.БРИЛЛА С УПРАВЛЯЕМЫМ ОБУЧЕНИЕМ (1) • 1994 г.: Массачусетский технологический институт, Э.Брилл • Обучение начинается с присвоения каждому слову в обучающей выборке наиболее частотного для данной словоформы (только одного!) тега. • Сравнение с правильной разметкой. Формулируются правила, которые дают наилучший результат. Действие правила – изменение приписанного тега. • Несколько итераций, пока будет достигнут запланированный эффект (полное отсутствие улучшений, запланированная степень близости к правильной разметке, запланированное максимальное число правил) • Правила двух видов: лексические и контекстные. АЛГОРИТМ Э.БРИЛЛА С УПРАВЛЯЕМЫМ ОБУЧЕНИЕМ (2) • Лексические правила • Примеры условий: – текущая словоформа имеет суффикс x, xy, xyz – текущая словоформа имеет префикс x, xy, xyz – устранение/добавление префикса/суффикса из текущей словоформы даст в результате знакомое слово – текущая словоформа стоит перед/после словоформы w – текущая словоформа содержит символ x • Примеры лексических правил: NN s hassuf 1 NNS ed hassuf 2 VBN ing hassuf 3 VBG ly hassuf 2 RB ly addsuf 2 JJ - char JJ [т.е. тег ‘NN’, концовка ‘s’ тег ‘NNS’] [т.е. концовка ‘ed’ тег ‘VBN’] [т.е. концовка ‘ing’ тег ‘VBG’] [т.е. концовка ‘ly’ тег ‘RB’] [т.е. получаем известное слово при добавлении суф. ‘ly’ тег ‘JJ’] [т.е. содержит символ ‘-’ тег ‘JJ’] АЛГОРИТМ Э.БРИЛЛА С УПРАВЛЯЕМЫМ ОБУЧЕНИЕМ (3) • Контекстные правила • Примеры условий: – предыдущая/следующая словоформа (на расстоянии одна, две или три словоформы) маркирована тегом Z – предыдущая/следующая пара словоформ маркирована тегами Y Z – предыдущая/следующая словоформа (на расстоянии 1 или 2 словоформы) есть w – текущая словоформа есть w, предыдущая/следующая словоформа есть w’ – • текущая словоформа есть w, предыдущая/следующая словоформа маркирована тегом Z • Примеры контекстных правил (что меняем – на что меняем – условие): NN VB PREVTAG TO VB VBP PREVTAG PRP VBD VBN PREV1OR2TAG VBD VBN VBD PREVTAG PRP NN VB PREV1OR2TAG MD VB VBP PREVTAG NNS [усл.: предыд. тег] [усл.: предыд. тег] [усл.: предыд. или предпред. тег] [усл.: предыд. тег] [усл.: предыд. тег] [усл.: предыд. тег] АЛГОРИТМ Э.БРИЛЛА С НЕУПРАВЛЯЕМЫМ ОБУЧЕНИЕМ (1) • 1995 г. • Используются корпус текстов, не содержащий предварительной разметки, и словарь. • Происходит предварительная разметка текста в соответствии со словарем, с указанием всех вариантов. The can will rust DT MD NN VB MD NN VB NN VB Возможные маркировки предложения "The can will rust" («Консервная банка заржавеет») АЛГОРИТМ Э.БРИЛЛА С НЕУПРАВЛЯЕМЫМ ОБУЧЕНИЕМ (2) • Анализируя корпус текстов при помощи словаря, мы можем обнаружить, что из всех слов, которые встречаются после слова "the" (и для которых в словаре указан только один возможный тэг), чаще всего встречаются слова с тэгом NN. Исходя из этого, мы можем сформулировать следующее правило: Заменять тег MD_NN_VB (т.е. сохраняющий три варианта разметки) на NN после слова "the" Таким образом: 1. Первичная маркировка дает неоднозначно маркированный текст. 2. Затем выводятся правила вида: Заменить тег χ на тег Y в контексте C, где χ является последовательностью из двух или более тегов, а Y – один тег, такой что Y χ. АЛГОРИТМ Э.БРИЛЛА С НЕУПРАВЛЯЕМЫМ ОБУЧЕНИЕМ (3) Шаблоны выводимых правил: Заменить тэг χ на тэг Y, если ... • предшествующая словоформа маркирована тэгом Z • предшествующая словоформа есть W • последующая словоформа маркирована тэгом Z • последующая словоформа есть W ВЕРОЯТНОСТНЫЕ МЕТОДЫ СНЯТИЯ ОМОНИМИИ • Скрытые марковские модели • Алгоритм Витерби • Алгоритм Баума-Уэлча • Простейший (малопригодный) вариант – присваивать каждой словоформе наиболее вероятную морфологическую интерпретацию (за вероятности принимаются относительные частоты присвоения той или иной интерпретации определенной форме в размеченном корпусе) СКРЫТЫЕ МАРКОВСКИЕ МОДЕЛИ КАК МЕТОД СНЯТИЯ ОМОНИМИИ (1) Предположения о марковском характере зависимости (модель первого порядка): • - встречаемость каждого тега в определенном месте цепочки зависит только от предыдущего тега; • - то, какое слово находится в том или ином месте цепочки, полностью определяется тегом (а не, допустим, соседними словами). Таким образом, порождение правильно построенной цепочки тегов уподобляется действию конечного автомата, где дуги помечены тегами с приписанными им вероятностями, а слова – это наблюдаемые реализации тегов. Состояния определяются парой «текущий тег + предыдущий тег» СКРЫТЫЕ МАРКОВСКИЕ МОДЕЛИ КАК МЕТОД СНЯТИЯ ОМОНИМИИ (2) СКРЫТЫЕ МАРКОВСКИЕ МОДЕЛИ КАК МЕТОД СНЯТИЯ ОМОНИМИИ (3) Если известна наблюдаемая реализация цепочки тегов (т.е. предложение как цепочка слов), то предстоит найти наиболее вероятную цепочку тегов, лежащую в ее основе, т.е. максимизировать вероятность того, что данной цепочке слов <w> приписывается именно такая цепочка тегов <t>: По теореме Байеса: то есть вводятся в рассмотрение вероятности соответствия именно такой цепочки слов <w> заданной цепочке тегов <t> и вероятность существования именно такой цепочки тегов <t>. СКРЫТЫЕ МАРКОВСКИЕ МОДЕЛИ КАК МЕТОД СНЯТИЯ ОМОНИМИИ (4) Чтобы найти максимум вероятности нужно посчитать произведение вероятностей встречаемости каждого слова и тега в зависимости от, соответственно, текущего и предыдущего тега. – И так для каждого тега, пользуясь заранее достоверно (чаще всего вручную) размеченным корпусом. Требуется NL шагов вычислений, где L – длина цепочки слов, N – количество тегов в наборе. СКРЫТЫЕ МАРКОВСКИЕ МОДЕЛИ И АЛГОРИТМ ВИТЕРБИ • Алгоритм Витерби позволяет сократить количество вычислений, выбирая для каждого очередного слова в предложении наиболее вероятные варианты для левого (пройденного) фрагмента цепочки с заданным тегом на его краю: t0 w1 w2 w3 t1 t1 t1 t2 t2 t2 t3 t3 t3 Этот прием позволяет сделать число шагов вычислений кратным L*N СКРЫТЫЕ МАРКОВСКИЕ МОДЕЛИ И АЛГОРИТМ БАУМА-УЭЛЧА • Чтобы не пользоваться уже размеченным корпусом, применяется алгоритм Баума-Уэлча. Параметры марковского процесса (вероятности Pr (ti|ti+1), Pr (wi|ti)) инициализируются некоторыми случайными величинами. Далее для каждого слова, занимающего определенную позицию в цепочке, вычисляются вероятности того факта, что ему может соответствовать некоторое состояние s: а) с учетом слов, находящихся слева: Pr(w1…wt+1,qt+1=s) = ∑ Pr(w1…wt,q) Pr(s|q) Pr(wt+1|s) q б) с учетом слов, находящихся справа (аналогично). • После этого в несколько итераций происходит подбор параметров марковского процесса, обеспечивающих максимальную степень правдоподобия для порождения цепочек слов, данных в обрабатываемом тексте. ИСПОЛЬЗОВАНИЕ НЕЙРОННЫХ СЕТЕЙ ДЛЯ СНЯТИЯ ОМОНИМИИ • • • Нейронные сети: вычислительные структуры, которые моделируют простые биологические процессы, обычно ассоциируемые с процессами человеческого мозга. Адаптируемые распараллеленные системы, способные к обучению путем анализа положительных и отрицательных воздействий. Функция – преобразование входного вектора в выходной. Разработка: 1) выбор архитектуры сети (топология, способы передачи информации между нейронами); 2) подбор весовых коэффициентов, управляющих переходами между нейронами. РЕКОМЕНДОВАННАЯ ЛИТЕРАТУРА • Сокирко А.В., Толдова С.Ю. Сравнение эффективности двух методик снятия лексической и морфологической неоднозначности для русского языка (скрытая модель Маркова и синтаксический анализатор именных групп) http://www.aot.ru/docs/RusCorporaHMM.htm или http://download.yandex.ru/company/grant/2005/01_Sokirko_92802.pdf ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА • • Кобзарева Т.Ю. и Афанасьев Р.Н. Универсальный модуль предсинтаксического анализа омонимии частей речи в РЯ на основе словаря диагностических ситуаций // Компьютерная лингвистика и интеллектуальные технологии. Тр. Междунар. сем. Диалог 2002 (Протвино, 6–11 июня 2002). Т. 2. М., 2002 (http://www.dialog21.ru/materials/archive.asp?id=7569&y=2002&vol=6078) Roche E., Schabes Y. Deterministic Part-of-Speech Tagging with Finite State Transducers. Computational Linguistics, 21(2), 1995. (http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.131.4888)