CodeFest 2011. Алиев Д. — Natural language processing (Обработка...

Preview:

Citation preview

ПрезентацияApache UIMAIBM Language Ware

Алиев Денис,Axmor

Почему сейчас?

NLP - Два пути

• Простой – Write RegExp and Dictionary and mix them together

• Сложный – NLP like:–Графематический анализ–Морфологический анализ–Синтаксический анализ–Семантический анализ–Информационный анализ

Простой - RegExp & Dictionary

The JCICS class TerminalPrincipalFacility waitTerminal method does not contain any code.…..….number that starts around 100 after a full charge (and drops immediately once under way), never lets you forget the Leaf's limited range and cumbersome refueling process. The onboard computer constantly monitors both battery status and driving conditions...

CarBrand

CamelNotation RegExp \s|^([A-Z]{1}[a-z\d]+){2,5}

KindsCharacteristic

CarOpinion

Сложный - NLP like

Обезьяны NOUN, "жр,мн, им,од"едят VERB, "мн,нс,пе,дст,нст"бананы NOUN "мр,мн, вн,но"

Морфологический анализ

Сложный - NLP likeСинтаксический анализ

едят

Обезьяны бананы

Сложный - NLP like

Universal Networking Language

Семантический анализ

едят

Обезьяныбананы

agt obj

(icl>do).@present

(icl>animal).@generic

(icl>food).@generic

NLP - Два пути

Простой – RegExp & Dictionary:+ Быстрота разработки+ Не требует глубоких знаний лингвистики- Часто не хватает возможностей

Сложный – NLP like:+ позволяет глубоко «читать» текст- сложность разработки

Машинный перевод текста

PROMT

Stylus

TRADOSSocrat

Systran

Где Я?

Машинный перевод текста

Морфологический - Падеж, Число, родСинтаксический - Граф сочетания словСемантический – Смысл текста

Синтез в целевой язык

Этапы анализ

Извлечение фактов, и отношений

http://en.wikipedia.org/wiki/Saturn

Мониторинг информационного поля

Семантический поиск

Семантический поиск

• Структурный поиск - условия на концепты• По шаблону НП: “Организация находиться в …”• Просмотр по онтология• Фасетый поиск• По временному интервалу

IBM WATSON QA – машина

— Как вы думаете, Холмс? — Это элементарно, Ватсон.

IBM WATSON QA – машина

Какие вопросы для машины легки а какие сложны?

IBM WATSON QA – машинаКакие вопросы для машины легки а какие

сложны?

IBM WATSON QA – машинаКакие вопросы для машины легки а какие

сложны?

Где родился X?

IBM WATSON QA – машинаКакие вопросы для машины легки а какие

сложны?

ID Person Birth Place

1 Einstein ULM

Структурная информация

IBM WATSON QA – машинаКакие вопросы для машины легки а какие

сложны?

Однажды, среди многочисленных видов города Ульма, Отто выбрал цвет воды, чтобы напомнить Альберту Эйнштейну

о его родине.

IBM WATSON QA – машинаКакие вопросы для машины легки а какие

сложны?

Естественный язык:

• Не явный• Контекстный• Двусмысленный

IBM WATSON QA – машина

Этот химический элемент был открыт 26 декабря 1898 года во

Французской Академии наук семейной парой.

IBM WATSON QA – машина

IBM WATSON QA – машина

Как построить модель?

IBM WATSON QA – машина

20 000 случайных вопросов * 2500 топиков * 1000 вариантов о чем спросить

• Не пытались предвосхитить ВСЕ вопросы и заложить в базу

• Не пытались создать модель ВСЕГО мира• Разработали NLP технологию «читающую»

текст as is.

IBM WATSON QA – машина

Обучение через «чтение»

TextSyntactic

frameSemantic

frame

Subjec

t

Verb

Object

Яблоко падает на землю 0.6Космонавт летает в волане 0.1Жидкость является жидкой 0.6

Жидкое является жидкостью 0.5Codefest проходит в России 0.6Codefest проходит в Индии 0.5

IBM WATSON QA – машина

Этот текучий материал применяется в строительстве и очень хрупок.

IBM WATSON QA – машинаКирпичБетон

ЦементСтекло

КерамикаМеталл

Лёд

IBM WATSON QA – машина

База данных физики:Kind_of(Стекло, твердое)

IBM WATSON QA – машина

База данных физики:Kind_of(Стекло, твердое)

«Прочитано»:… Стекло является аморфным (твердым) телом. Тем не менее

стекло течет, как жидкость…

IBM WATSON QA – машина

В мае 1898, Португалия отмечала 400ую годовщину с момента

прибытия этого человека в Индию.

IBM WATSON QA – машина

В мае Вася прибыл в Индию после того как он отметил годовщину в

Португалии

IBM WATSON QA – машина

Май 1898

отмечала

400ую годовщину

прибытия

этого человека

Индия

Португалия

Май

прибыл

Вася

Индия

отметил

Португалия

Keyword match

годовщину

Keyword match

Keyword match

Keyword match

Keyword match

Keyword match

IBM WATSON QA – машина

27 Мая 1498, Васко де Гама высадился на пляже Каппад

IBM WATSON QA – машина

Май 1898

отмечала

400ую годовщину

прибытия

этого человека

Индия

Португалия

27 Мая 1498

высадился

Васко де Гама

пляже Каппад

Statis

tical

para

phra

sing

Temporal Reasoning

GeoSpatial Reasoning

Match

Гене

раци

я Ги

поте

з

ВОП

РОС?

Ранж

иров

ание

оч

евид

ност

ей

GeoSpatial Reasoning

Statistical paraphrasing

Temporal Reasoning

Learning

Синт

ез

ОТВ

ЕТ

IBM WATSON QA – машина

На CodeFest

!Где Я?

Apache UIMAUnstructured Information Management Architecture

Collection Reader

Analysis Engine(s)

Consumer(s)

Apache UIMA – Concept

Представляет собой

Annotator’ы объединенные в

группы

Apache UIMA – CAS

TypeSystem

CAS

Type

IndexRepository

FeatureAnnotationIndex

Iterator

Annotation

Common Analysis

Structure

Apache UIMA - Пример

• Вы хотите купить новую машину• Просматриваете обзоры на edmunds.com • Выясняете недочеты и преимущества

моделей

Пример UIMA – Начальные данные

• Перечень с названиями авто• Перечень возможных недочетов• Перечень возможных преимуществ

• Успех – система выделяет предложение, в котором упоминается авто и ее недочет / преимущество.

Пример UIMA – Реализация

• Реализовать аннотатор (ы)• Создать PEAR• Установить AS• Установить и настроить SearchEngine+WebUI• Установить и настроить Crawlers• Запустить!

Пример UIMA – Реализация

• Создать AE дескриптор– Создать систему типов– Сгенерировать Wrapper для типов и Аннотаций – Создать класс Аннотатора

• Реализовать метод process аннотатора

Пример UIMA – Реализация

Пример UIMA – Реализация

Пример UIMA – Aggregated AE

Aggregated Analysis Engine (CarFlaw)

CarBrandAnnotator

Consumer

Reader

KindsAnnotator

CharacteristicAnnotator

CarOpinionAnnotator

CAS

TokenizerAnnotator

На вход берет аннотации, а не

текст

Пример UIMA – Реализация

Пример UIMA – Выводы

Достоинства• Высокая гибкость;

Недостатки• Строить аналитическую модель дольше;• Требует знаний java;• Round trip - Требует перекомпиляции;

Инструментарий

IBM Language Ware

LW - UserInterface

LW – Покупка машины

• Добавить документы• Создать dictionaries• Создать rules• Создать pipeline

• Для чего каждый нужен?

Все заново

?

LW – Создание pipeline

LW – Создание dictionary

• Имя справочника• Размещение

LW – Создание dictionary• Язык• UIMA тип

LW – Создание dictionary• Custom Колонки

– можно добавлять после создания

LW – Создание записиКарточка слова в dictionary

LW – Создание rule…. number that starts around 100 after a

full charge(and drops immediately once under way), never lets you forget the Leaf's limited range and cumbersome

refueling process. The onboard computer constantly monitors both battery status

and driving conditions, and it will update the Leaf's range every few seconds to

reflect city cra….

LW – Создание rule- Параметры- Generalization- Feature evaluation

LW – Создание rule

LW – Создание rule- Создание feature

LW – Создание rule• Перестановка слагаемых меняет результат• Группировка input аннотаций (Group)• Виды rule’ов, предназначение

– Phrases– Entities– Aggregate

• Иерархия rule’ов (level)• Область видимости (Scope) – только aggregate

– Sentence, Paragraph, Document• Иерархия параметров (Subtree)• Не далайте inifinite loop

LW – Результат

LW – Выводы

Достоинства• Быстрота создания модели;• Непрерывное отображение результатов• Не требуется компиляция

Недостатки• Отсутствует рефакторин справочников,

типов, правил

:-)

StartFinish

H

A !

H

LW – Мат. Часть FST

• Знает только текущее состояние

• Идет т! по стрелочкам• Успех только если добрался

до Finish

ha! or haha! or hahaha! or hahahaha! …

NLP фреймворки

• Apache UIMA• Gate• OpenNLP – ссылки на проекты

Вопросы?

Алиев Денис,Axmor

alievdenis@gmail.comSkype: alievdenis

Recommended