hackday ml

32
Инструменты для обработки текста на естественном языке Татьяна Ландо [email protected] Виктор Бочаров [email protected]

Upload: nlpseminar

Post on 02-Dec-2014

3.522 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Hackday Ml

Инструменты для обработки текста

на естественном языке

Татьяна Ландо [email protected]Виктор Бочаров [email protected]

Page 2: Hackday Ml

Подзадачи обработки текста

• Разбиение текста на предложения и слова

• Лемматизация (морфология) – приведение слова к нормальной форме

• Синтаксис – определение связей между словами в предложении

• Семантика – анализ значения слов и связей между ними

Page 3: Hackday Ml

mystem snowball Gate AOT Wordnet

графематика

морфология

синтаксис

семантика

задачи

продукты

Page 4: Hackday Ml

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

Page 5: Hackday Ml

Gate

http://gate.ac.uk• Framework для разработки приложений для

обработки естественного языка

• Содержит Java библиотеку (gate.jar) для применения и встраивания приложения

• Язык документации – английский,документация не прозрачная

• Лицензия - GPL

Page 6: Hackday Ml

Gate

• имеет плагины mystem и snowball

• содержит плагины для включения в общий framework почти всех известных сторонних приложений

• Позволяет делать многоуровневый анализ текста (от графематики до извлечения фактов)

Page 7: Hackday Ml

• framework c унифицированными интерфейсами лингвистических компонентов

• GUI для прототипирования

• JAPE – регулярные выражения поверх разметки с java вставками (реально: грамматики)

• ANNIE – Information Extraction System

Gate

Page 8: Hackday Ml

AOT

http://aot.ru• Разработан для русского, английского и

немецкого языков• Язык реализации – С++ • Язык документации – русский• Есть GUI для демонстрации работы

модулей • Лицензия – LGPL

Page 9: Hackday Ml

AOT

• Компоненты:o Граффематика: выделение слов, цифровых

комплексов, формул, … o Морфология: построение морфологической

интерпретации слов входного текста.o Синтаксис: построение дерева

зависимостей всего предложения

Page 10: Hackday Ml

Wordnet

• Семантический словарь• Реализован для английского (

http://wordnet.princeton.edu)• Лицензия – свободная с сохранением

копирайта• имеет API для обращения программ на

С, а так же спец. модули API для других языков программирования, например как COM-объект

Page 11: Hackday Ml

Wordnet

• Для русского две версии: одна закрытая, другая не выложена в открытый доступ

• http://www.pgups.ru/WebWN/wordnet.uix?event=ChangeLocale - одна

• http://project.phil.pu.ru/RussNet/index_ru.shtml - вторая• http://wordnet.ru – автоматически

переведенные базы принстонского ворднета, установить не удалось

Page 12: Hackday Ml

ВОПРОСЫ?

Page 13: Hackday Ml

Морфология

• Вход: словоформа• Выход: лемма, часть речи,

грамматические признаки • Например: 

o  ТАБУРЕТОМo   -> ТАБУРЕТ, С мр,ед,тв

 

Page 14: Hackday Ml

Морфология (термины)

Словоформа - слово, как оно встретилось в тексте.  Лемма - каноническая форма слова (та, что указана в словаре). стол, стул, красный, бежать - леммы и словоформыстолу, стулом, красному, бегу - словоформы (не леммы)

Часть речи:  С, Г, П, ПРЕДЛ, ...

Грамматические признаки:  мр, жр, ср, ед, мн, прш, 1л, 2л, 3л, ...

Page 15: Hackday Ml

Морфология (дальше - хуже)

 o  СТЕКЛОo   -> СТЕЧЬ, Г 3л,ср,прш,o   -> СТЕКЛО, С ср,ед,им,o   -> СТЕКЛО, С ср,ед,вн,

 o  ИЗ o   -> ИЗ, ПРЕДЛo   -> ИЗА, С жр,мн,рд,имя,

 

Page 16: Hackday Ml

Морфология (омонимия)

• Это когда одной и той же единице уровня выражения соответствует несколько единиц уровня содержания.

• Словоформа – лемма

• Словоформа – грамматическая информация

Page 17: Hackday Ml

Морфология (английский)• >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

Page 18: Hackday Ml

Морфология (варианты)

• АОТ – словарь + эвристика (для неизвестных слов)

• Mystem – словарь + эвристика

• Snowball – правила отрезания изменяемой части слова

Page 19: Hackday Ml

Вызов 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

Page 20: Hackday Ml

Вызов АОТ

СИНЕЕ -> СИНИЙ ймйпйю#

СТЕКЛО -> СТЕКЛО еаег#СТЕЧЬ кй#

РАЗБИЛОСЬ -> РАЗБИТЬСЯ кй#

Dicts\Morph\rgramtab.tab:

йм Y П ср,ед,им,од,но

йп Y П ср,ед,вн,од,но

Page 21: Hackday Ml

Вызов Mystem

mystem.exe –i –n rusmorph.txt > rusmorph.lem

синее{синий=A=им,ед,сред|синий=A=вин,ед,сред|синий=A=срав}

стекло{стекать=V=прош,ед,изъяв,сред,сов|стекло=S,сред,неод=им,ед|стекло=S,сред,неод=вин,ед}

разбилось{разбиваться=V=прош,ед,изъяв,сред,сов}

Page 22: Hackday Ml

Snowball

важно -> важн

важнее -> важн

важнейшие -> важн

важничал -> важнича

вагон -> вагон

вагона -> вагон

вагоном -> вагон

Page 23: Hackday Ml

Синтаксис

• Вход: цепочка словоформ + грамматическая информация

• Выход:– дерево зависимостей– дерево составляющих

• Из дерева составляющих можно сделать дерево зависимостей, но не наоборот.

Page 24: Hackday Ml

Синтаксис

• Предложение делится на клаузы

• Внутри клауз делается синтаксический анализ

• Отдельные клаузы связываются между собой

Page 25: Hackday Ml

Синтаксис (демонстрация)

• VisualSynan

Page 26: Hackday Ml

Синтаксис (а нафига?)

• помогает ответить на вопросы:– какие слова в предложении связаны?– какое из двух слов в группе главнее?

• а также:– снижает уровень омонимии– нужен для перехода к семантическому анализу

• если можно обойтись без синтаксического анализа – обойдитесь без него.

Page 27: Hackday Ml

До После

Лемм / слово 1,27 1,06

Морфологических вариантов / слово

2,26 1,64

Синтаксис: снятие омонимии

Page 28: Hackday Ml

Синтаксис АОТ (как вызвать)

bash-3.2$ Bin/TestSynan.exe Russian _t.txt

• EMPTY = В 1941 году Николая Ананьева призвали в Красную Армию

• EMPTY = и отправили на фронт .• GP = году Николая• GP = году Николая Ананьева• NP = Красную Армию• PP = в Красную Армию• PP = на фронт

Page 29: Hackday Ml

WordNet

Семантическая сеть для английского языка, разработанная в Принстонском университете.

Синсет – множество синонимов + краткие определения

Отношения:- синонимия- гипо/гиперонимия

Page 30: Hackday Ml

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"

Page 31: Hackday Ml

wordnet.ru

• базы английского WordNet переведены автоматически

• GUI запустить не удалось :(

Page 32: Hackday Ml

ВОПРОСЫ!