hackday ml
DESCRIPTION
TRANSCRIPT
Инструменты для обработки текста
на естественном языке
Татьяна Ландо [email protected]Виктор Бочаров [email protected]
Подзадачи обработки текста
• Разбиение текста на предложения и слова
• Лемматизация (морфология) – приведение слова к нормальной форме
• Синтаксис – определение связей между словами в предложении
• Семантика – анализ значения слов и связей между ними
mystem snowball Gate AOT Wordnet
графематика
морфология
синтаксис
семантика
задачи
продукты
Mystem, Snowball
Модули для морфологических задачаMystem (http://company.yandex.ru/technology/mystem/)– возвращает начальную форму (неск вариантов) и грамматические характеристики текстовой формыЛицензия – для некоммерческого исп.Snowball (http://snowball.tartarus.org/algorithms/russian/stemmer.html)• возвращает основу слова
Лицензия – BSD http://www.opensource.org/licenses/bsd-license.html
Gate
http://gate.ac.uk• Framework для разработки приложений для
обработки естественного языка
• Содержит Java библиотеку (gate.jar) для применения и встраивания приложения
• Язык документации – английский,документация не прозрачная
• Лицензия - GPL
Gate
• имеет плагины mystem и snowball
• содержит плагины для включения в общий framework почти всех известных сторонних приложений
• Позволяет делать многоуровневый анализ текста (от графематики до извлечения фактов)
• framework c унифицированными интерфейсами лингвистических компонентов
• GUI для прототипирования
• JAPE – регулярные выражения поверх разметки с java вставками (реально: грамматики)
• ANNIE – Information Extraction System
Gate
AOT
http://aot.ru• Разработан для русского, английского и
немецкого языков• Язык реализации – С++ • Язык документации – русский• Есть GUI для демонстрации работы
модулей • Лицензия – LGPL
AOT
• Компоненты:o Граффематика: выделение слов, цифровых
комплексов, формул, … o Морфология: построение морфологической
интерпретации слов входного текста.o Синтаксис: построение дерева
зависимостей всего предложения
Wordnet
• Семантический словарь• Реализован для английского (
http://wordnet.princeton.edu)• Лицензия – свободная с сохранением
копирайта• имеет API для обращения программ на
С, а так же спец. модули API для других языков программирования, например как COM-объект
Wordnet
• Для русского две версии: одна закрытая, другая не выложена в открытый доступ
• http://www.pgups.ru/WebWN/wordnet.uix?event=ChangeLocale - одна
• http://project.phil.pu.ru/RussNet/index_ru.shtml - вторая• http://wordnet.ru – автоматически
переведенные базы принстонского ворднета, установить не удалось
ВОПРОСЫ?
Морфология
• Вход: словоформа• Выход: лемма, часть речи,
грамматические признаки • Например:
o ТАБУРЕТОМo -> ТАБУРЕТ, С мр,ед,тв
Морфология (термины)
Словоформа - слово, как оно встретилось в тексте. Лемма - каноническая форма слова (та, что указана в словаре). стол, стул, красный, бежать - леммы и словоформыстолу, стулом, красному, бегу - словоформы (не леммы)
Часть речи: С, Г, П, ПРЕДЛ, ...
Грамматические признаки: мр, жр, ср, ед, мн, прш, 1л, 2л, 3л, ...
Морфология (дальше - хуже)
o СТЕКЛОo -> СТЕЧЬ, Г 3л,ср,прш,o -> СТЕКЛО, С ср,ед,им,o -> СТЕКЛО, С ср,ед,вн,
o ИЗ o -> ИЗ, ПРЕДЛo -> ИЗА, С жр,мн,рд,имя,
Морфология (омонимия)
• Это когда одной и той же единице уровня выражения соответствует несколько единиц уровня содержания.
• Словоформа – лемма
• Словоформа – грамматическая информация
Морфология (английский)• >mother• + {MOTHER, NOUN, "", ("narr,sg",) } Id=53706• All forms: MOTHER MOTHERS
• + {MOTHER, VERB, "", ("inf",) } Id=76501• All forms: MOTHER MOTHERS MOTHERED MOTHERED MOTHERING
• >computer• + {COMPUTER, NOUN, "", ("narr,sg",) } Id=35532• All forms: COMPUTER COMPUTERS
• + {COMPUTER, ADJECTIVE, "", ("",) } Id=7333• All forms: COMPUTER
• >table• + {TABLE, NOUN, "", ("narr,sg",) } Id=68272• All forms: TABLE TABLES
• + {TABLE, VERB, "", ("inf",) } Id=87025• All forms: TABLE TABLES TABLED TABLED TABLING
Морфология (варианты)
• АОТ – словарь + эвристика (для неизвестных слов)
• Mystem – словарь + эвристика
• Snowball – правила отрезания изменяемой части слова
Вызов AOT
bash-3.2$ Bin/TestLem.exe Russian rusmorph.txtLoading..read rusmorph.txtprocess rusmorph.txtCount of words = 3Time = 0 seconds; 0 tickstoo few words to measure the speedwriting to rusmorph.lem
Вызов АОТ
СИНЕЕ -> СИНИЙ ймйпйю#
СТЕКЛО -> СТЕКЛО еаег#СТЕЧЬ кй#
РАЗБИЛОСЬ -> РАЗБИТЬСЯ кй#
Dicts\Morph\rgramtab.tab:
йм Y П ср,ед,им,од,но
йп Y П ср,ед,вн,од,но
Вызов Mystem
mystem.exe –i –n rusmorph.txt > rusmorph.lem
синее{синий=A=им,ед,сред|синий=A=вин,ед,сред|синий=A=срав}
стекло{стекать=V=прош,ед,изъяв,сред,сов|стекло=S,сред,неод=им,ед|стекло=S,сред,неод=вин,ед}
разбилось{разбиваться=V=прош,ед,изъяв,сред,сов}
Snowball
важно -> важн
важнее -> важн
важнейшие -> важн
важничал -> важнича
вагон -> вагон
вагона -> вагон
вагоном -> вагон
Синтаксис
• Вход: цепочка словоформ + грамматическая информация
• Выход:– дерево зависимостей– дерево составляющих
• Из дерева составляющих можно сделать дерево зависимостей, но не наоборот.
Синтаксис
• Предложение делится на клаузы
• Внутри клауз делается синтаксический анализ
• Отдельные клаузы связываются между собой
Синтаксис (демонстрация)
• VisualSynan
Синтаксис (а нафига?)
• помогает ответить на вопросы:– какие слова в предложении связаны?– какое из двух слов в группе главнее?
• а также:– снижает уровень омонимии– нужен для перехода к семантическому анализу
• если можно обойтись без синтаксического анализа – обойдитесь без него.
До После
Лемм / слово 1,27 1,06
Морфологических вариантов / слово
2,26 1,64
Синтаксис: снятие омонимии
Синтаксис АОТ (как вызвать)
bash-3.2$ Bin/TestSynan.exe Russian _t.txt
• EMPTY = В 1941 году Николая Ананьева призвали в Красную Армию
• EMPTY = и отправили на фронт .• GP = году Николая• GP = году Николая Ананьева• NP = Красную Армию• PP = в Красную Армию• PP = на фронт
WordNet
Семантическая сеть для английского языка, разработанная в Принстонском университете.
Синсет – множество синонимов + краткие определения
Отношения:- синонимия- гипо/гиперонимия
WordNet (“chair”)NounS: (n) chair (a seat for one person, with a support for the back) "he put his coat
over the back of the chair and sat down" S: (n) professorship, chair (the position of professor) "he was awarded an
endowed chair in economics" S: (n) president, chairman, chairwoman, chair, chairperson (the officer who
presides at the meetings of an organization) "address your remarks to the chairperson"
S: (n) electric chair, chair, death chair, hot seat (an instrument of execution by electrocution; resembles an ordinary seat for one person) "the murderer was sentenced to die in the chair"
S: (n) chair (a particular seat in an orchestra) "he is second chair violin"
VerbS: (v) chair, chairman (act or preside as chair, as of an academic department in a
university) "She chaired the department for many years" S: (v) moderate, chair, lead (preside over) "John moderated the discussion"
wordnet.ru
• базы английского WordNet переведены автоматически
• GUI запустить не удалось :(
ВОПРОСЫ!