Компьютерный анализ естественно-языкового текста Кафедра информационных систем в искусстве и гуманитарных науках

advertisement
Компьютерный анализ
естественно-языкового текста
Кафедра информационных систем в
искусстве и гуманитарных науках
Компьютерный анализ естественно-языкового текста
СТРУКТУРА КУРСА
1. Введение в дисциплину
2. Автоматический анализ текста на
морфологическом уровне
3. Автоматический анализ текста на
синтаксическом уровне
4. Семантический компонент в системах
автоматического анализа текста
Компьютерный анализ естественно-языкового текста
СТРУКТУРА КУРСА
2.
Автоматический анализ текста на
морфологическом уровне
1. Морфологический уровень в ЛИТ
2. Основные понятия морфологии в
компьютерной морфологии
3. Основные процедуры компьютерной
морфологии
4. Компьютерная морфология русского языка
5. Технологии морфологического анализа
6. «Предсказание» (типизация)
7. Вопросы, смежные с синтаксисом
ПЛАН ЛЕКЦИЙ 9-11
1.
Xerox Tools:
•
•
•
альтернативные инструменты
операции высокого уровня
дополнительные функциональные возможности
Резюме по морфологии
2.
•
•
специальные функции: технология ISpell
«предсказание» в АОТ
Частеречная разметка
3.
•
•
•
•
типы омонимии
данные о русских омоформах
разметка в Национальном корпусе
методы снятия грамматической неоднозначности
ДРУГИЕ ИНСТРУМЕНТЫ ДЛЯ РАБОТЫ С
КОНЕЧНЫМИ ПРЕОБРАЗОВАТЕЛЯМИ
• FSA Utilities (Gertjaan van NOORD, State University of
Groningen) http://www.let.rug.nl/~vannoord/Fsa/
• Intex (Max Silberztein, Laboratoire d'Automatique
Documentaire et Linguistique, Université Paris 7, сейчас
- Université de Franche-Comté) http://intex.univfcomte.fr/
• Unitex - версия Intex на условиях GPL: (Institut
d'électronique et d'informatique Gaspard-Monge,
Université Paris-est Marne la vallée) http://wwwigm.univ-mlv.fr/~unitex/
• FSM tools (Mehryar MOHRI, AT&T)
http://www.research.att.com/~fsmtools/fsm/
ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ
XEROX TOOLS
Помимо моделирования порядка
следования конструктивных
компонентов и соотнесения ПВ с ПС:
• Моделирование формальных
модификаций (например, чередований)
– собственный компилятор для
двухуровневых правил (twolc)
– операции высоких уровней над
регулярными выражениями
ДВУХУРОВНЕВЫЕ ПРАВИЛА
(КРАТКИЕ СВЕДЕНИЯ)
• 1983: работа Киммо Коскенниеми Two-level
morphology
• Основная идея: параллельное действие правил,
работа которых не столько преобразует цепочки
символов, сколько соотносит их между собой
• Четыре типа правил
– a : b  c_d
– a : b  c_d
– a : b c_d
– a : b / c_d
a всегда реализуется как b в контексте c_d;
a реализуется как b только в контексте c_d;
a реализуется как b только в контексте c_d и
ни в каком другом контексте;
a никогда не реализуется как b в контексте
c_d
ОПЕРАЦИИ ВЫСОКОГО УРОВНЯ
В XEROX TOOLS (1)
Предварительно вводятся:
• символ ‘?’ любой символ из
используемого алфавита
• оператор ‘$’ включение:
$A =def [?* A ?*]
ОПЕРАЦИИ ВЫСОКОГО УРОВНЯ
В XEROX TOOLS (2)
• оператор замены
A -> B =def [ [ ~$[A – 0] [A .x. B]]* ~$[A – 0]]
«Все, что не содержит непустых цепочек языка A,
сцепляется с преобразователем A .x. B с возможной
итерацией всего этого (или, вообще, с заменой
пустой цепочкой), после чего следует все, что не
содержит непустых цепочек языка A»
ОПЕРАЦИИ ВЫСОКОГО УРОВНЯ
В XEROX TOOLS (3)
• Пример использования оператора
замены:
Чередования в 1 л. ед. ч. русских
глаголов 2 спряжения:
ходить – хожу, но ходят, ходит
любить – люблю, но любят, любит
без чередования
говорить – говорю, но говорят, говорит
ОПЕРАЦИИ ВЫСОКОГО УРОВНЯ
В XEROX TOOLS (4)
Лексикон Verb2
LEXICON Root
ljub Ending1 ;
khod Ending1 ;
sid Ending1 ;
govor: Ending1 ;
LEXICON Ending1
+1pSg:+1pSgju # ;
+2pSg:ish’ # ;
+3pSg:it # ;
+1pPl:im # ;
+2pPl:ite # ;
+3pPl:jat # ;в
соотносит, например:
ljub+1pSg
ljub+1pSgju
но
ljub+3pPl
ljubjat
ОПЕРАЦИИ ВЫСОКОГО УРОВНЯ
В XEROX TOOLS (5)
В командной строке xfst
• read regex [[b +1pSg j u -> b l j u] & [d +1pSg j u -> z h
u]]
• read Verb2.txt
• compose
дает отношение, в котором соотносятся
• ljub+1pSg
(ljub+1pSgju – промежуточный
и
уровень, отсутствует после
композиции)
• ljublju
ОПЕРАЦИИ ВЫСОКОГО УРОВНЯ
В XEROX TOOLS (6)
• оператор разметки
A -> B ... C
Всякая цепочка A в выражениях на
верхней ленте преобразователя должна
соответствовать на нижней ленте такой
же цепочке, но только в окружении B и
С
ОПЕРАЦИИ ВЫСОКОГО УРОВНЯ
В XEROX TOOLS (7)
Пример использования оператора
разметки
• регулярное выражение
a | e | i | o | u -> “[” ... “]”
• позволяет выделить все гласные
квадратными скобками, т.е., например,
соотнести:
engineer:[e]ng[i]n[e][e]r
ШИРОКИЙ НАБОР ВОЗМОЖНОСТЕЙ
XEROX TOOLS
• моделирование структуры составных единиц
по конструктивному принципу («что за чем
идет», на уровне морфологии –
морфотактика)
• соотнесение разных уровней представления
языковых единиц (более формальных –
поверхностных и более содержательных –
глубинных, «лексических»)
• моделирование формальных модификаций
соединяемых элементов (на уровне
морфологии - морфонология)
КОНЕЧНЫЕ ПРЕОБРАЗОВАТЕЛИ - ЗАДАЧИ НА
СТЫКЕ МОРФОЛОГИИ И СИНТАКСИСА
• - локальный синтаксический анализ:
снятие неоднозначностей (после
морфологического анализа перед
синтаксическим)
• - сегментация текста
• - поверхностный синтаксический
анализ: маркировка и фильтрация
синтаксических составляющих
ТЕХНОЛОГИЯ ISPELL
Ispell
• интерактивная программа проверки
орфографии в среде Unix
• единый алгоритм и единая архитектура
позволяют применять ко многим
языкам, заменяя лишь базу данных
БАЗА ДАННЫХ ISPELL
Хранит данные о наборе словоформ,
правильно построенных в данном
языке.
Включает:
• Словарь (обязательный компонент)
• Файл аффиксов
ISPELL: СООТНОШЕНИЕ ДАННЫХ В СЛОВАРЕ
И ФАЙЛЕ АФФИКСОВ
В словаре записи двух типов:
• словоформы без «флагов» (нет потребности
в файле аффиксов)
бугрится
бугров
бугром
• словоформы с «флагами» (отсылками к
словарю аффиксов)
бугрившийся/A
бугристость/F
бугристый/AS
ISPELL: СТРУКТУРА «ФЛАГА»
В ФАЙЛЕ АФФИКСОВ
flag *A:
#
# прилагательные и причастия
#
# прилагательные/причастия на -ый (м.р. в ед. и мн.ч.)
[^Ц] Ы Й
>
-ЫЙ,ОГО
# белый > белого (р.п.)
ЦЫЙ >
-ЫЙ,ЕГО
# куцый > куцего (р.п.)
[^Ц] Ы Й
>
-ЫЙ,ОМУ
# белый > белому (д.п.)
ЦЫЙ >
-ЫЙ,ЕМУ
# куцый > куцему (д.п.)
ЫЙ
>
-Й,М
# белый > белым (т.п.)
[^Ц] Ы Й
>
-ЫЙ,ОМ
# белый > белом (п.п.)
ЦЫЙ >
-ЫЙ,ЕМ
# куцый > куцем (п.п.)
ЫЙ
>
-Й,Е
# белый > белые (мн,и.п.)
ЫЙ
>
-Й,Х
# белый > белых (мн,р.п.)
ЫЙ
>
-Й,МИ
# белый > белыми (мн,т.п.)
# ж. и ср. род
ЫЙ
>
-ЫЙ,АЯ
# белый > белая (ж,и.п.)
[^Ц] Ы Й
>
-ЫЙ,ОЙ
# белый > белой (ж,р.п.)
БАЗЫ ДАННЫХ ISPELL
ДЛЯ РУССКОГО ЯЗЫКА
1. К.Книжник, В.Роганов
http://www.garret.ru/~knizhnik/rispell.tar.gz
2. А.Лебедев
ftp://scon155.phys.msu.su/pub/russian/ispell
/rus-ispell.tar.gz
Download