Information Extraction Overview

Post on 14-Jan-2015

1357 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

Transcript

Санкт-Петербург, 20 июня 2011 года

Татьяна Ландо

Information Extraction

Начнем с начала :)

В этом докладе:

NLP = Natural Language Processing

Natural Language Processing — Научно-практическая область, занимающаяся

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

— Включает:— синтез и распознавание речи— поиск по текстам (да-да, Яндекс, Google…)— автоматические переводчики— и многое другое

Information Extraction

— Одна из областей NLP и Information Retrieval — Извлечение структурированной информации из

неструктурированного текста (в большей степени)— Основная часть посвящена объектам, их отношениям и

свойствам в текстах.— Состоит из:

— Named Entity Extraction— Coreference resolution— Fact Extraction (Relationship Extraction)

— Содержит чертовски много лингвистики ;)

Named Entity Recognition (NER)— Извлечение объектов (именованных сущностей),

т.е. имен, названий, иногда дат, промежутков времени и т.д.

Популярный блогер и основатель антикоррупционного проекта <org>"РосПил"</org> <person>Алексей Навальный </person> фигурирует в уголовном деле как советник губернатора <org>Кировской области</org> <person> Никиты Белых </person>.

Coreference resolution— Попытка понять, что несколько извлеченных NE

обозначают один объект. — Разрешение анафоры (связывание местоимений)

До 2007 года Алексей Навальный был заместителем председателя московского отделения партии "Яблоко" , но из партии его исключили за национализм.

— Обычно ограничиваются поиском текстовых синонимов:

Яндекс – Yandex

ВТБ – Внешторгбанк

НАТО – Североатлантический союз

Fact/Relation Extraction

— Извлечение информации об отношениях между объектами или о значениях параметров.

Популярный блогер и основатель антикоррупционного проекта "РосПил" Алексей Навальный фигурирует в уголовном деле как советник губернатора Кировской области Никиты Белых.

person position org

Алексей Навальный основатель РосПил

Никита Белых губернатор Кировская область

Что извлекают?Information Extraction

— Объекты из текстов (только NER)

— События и детали: дата, время, место проведения, название

— Мнения и отзывы: объект оценки и тональность

— Контактные данные с веб-страниц: email, skype, телефон, факс, адрес, …

— Объявления: объект, предлагаемое действие (покупка, продажа, …), …

— Другую специфическую информацию, например структуры белков из медицинских статей

первичная обработка текстаInformation Extraction

На входе: текст на естественном языке

Текст анализируется на всех лингвистических уровнях:

— лексическом— морфологическом— синтаксическом— семантическом

Различные уровни участвуют в разных процедурах анализа текста, которые входят в системы извлечения фактов.

первичная обработка текстаInformation Extraction

Определение словарной формы слов и нормализация других объектов (числа, даты)

текст

токенизация / графематика

лемматизация/нормализация

частичный синтаксический

разбор

Выявление связей между словами, объединение слов в неразрывные группы

Разбиение текста на абзацы, предложения, слова.

Дальше, самое интересноеInformation Extraction

— Выделение объектов и определение типов (NER):

Иван Петров –> ФИО3 апреля 1975 года –> датадиректор по маркетингу –> должностьООО «Рога и копыта» -> компания

— Установление связей между объектами (Factes)

Директор по маркетингу компании «Рога и копыта» Иван Петров родился ровно 35 лет назад.

Information Extraction

Вице-губернатор Новосибирской области Владимир Анисимов объявил, что в 2009 году в области планируется ввести в строй 979 тыс. кв. м жилья. В ответ на вопрос председателя строительного комитета облсовета Александра Савельева, занимающего пост генерального директора компании «КПД-Газстрой», руководитель профильного департамента обладминистрации сообщил, что за государственный счет будет построено около 10 % заявленных площадей.

Пример

FIO

FIOpost

postpost

comp

comp

datenumber

number

geo

Как извлекают?Information Extraction

— по онтологиям (NER)

— опираясь на правила

— опираясь на статистики

Наверное, сначала нужно поговорить про онтологии…

ОнтологииInformation Extraction

Онтологии

— «концептуальные словари»

— структуры в которых описываются некоторые понятия и/или объекты, отношения между ними, их характеристики

— вообще-то это философский термин

Это:

Онтологии

— универсальные, описывают вообще все

— отраслевые, по предметным областям

— узкоспециализированные, под конкретную задачу

— онтологии объектов (база данных)

— онтологии концептов

Бывают

Онтологии

— Wikipedia, Dbpedia

— Imdb

— CrunchBase

— SUMO

— DOLCE

Примеры

ОнтологииInformation Extraction—

Используют онтологии объектов

Используют открытые источники, сливают их в одну онтологию объектов с типами и свойствами. Например, «препарируют» википедию

по тексту готовят гипотезы, опираясь на контексты и имеющиеся списки объектов (т.е. свою онтологию)

разрешают неоднозначность опираясь на связи между объектами сразу по всему тексту

ОнтологииInformation Extraction—

получается высокая точность NER, нет случайных NE

снятие омонимии тоже происходит с высокой точностью

низкая полнота: извлекается только то, что есть в онтологии

странная обновляемость, нужно либо добавлять объекты руками, либо строить процедуру автоматического обновления

ОнтологииInformation Extraction—

зависит от наличия внешних ресурсов, поэтому подход используется только для английского

хорошо использовать для закрытых классов, например географические названия

хорошо использовать в областях, где оперативно пополняются источники, например кинобазы

может использовать или не использовать лингвистическую информацию, т.е. подходить для любого «стиля» текста

Машинное обучение:Information Extraction

— извлекается как можно больше лингвистической информации о словах

— размечается обучающее множество, на нем обучается система

— запускается на корпусе, получаются результаты

Машинное обучение:Information Extraction

— не требует большого количества ручного труда по написанию правил

— не требует заранее подготовленной онтологии— систему легко перенастроить под другие «стили»

языка, например перейти от СМИ-текстов к сообщениям в твиттере

— не требует детального описания каждого контекста (т.е. правил не только меньше, но они имеют более общий вид)

— процедуры можно делать итеративными: простые правила -> факты –> более сложные правилат.е. правила можно извлекать автоматически

Машинное обучение:Information Extraction

— Недостаточно развиты инструменты для автоматической обработки, трудно получить лингвистические фичи(хорошо применимо для английского)

— Требуется большой обучающий корпус, правильно и полностью размеченный

— Сложно отследить в каком именно месте возникла ошибка и ее исправить «точечно»

Rule-basedInformation Extraction

— использует полный или частичный синтаксический анализ

— онтология категорий, т.е. указывается какие сущности могут обладать какими параметрами, например: компания – стоимость

— NER основанный на контекстах и внутренних структурах, контексты (шаблоны) составляются руками лингвистов

Rule-based NERInformation Extraction

— для фио: есть словарь имен, правила согласования имен, отчеств, фамилий, типовые окончания для отчеств и фамилий

— для дат: словарь названий месяцев, шаблоны построения дат

— для компаний: стоят в специфических контекстах, иногда упоминаются в кавычках, имеют специфические части (ООО, ЗАО,… )

Rule-based factsInformation Extraction

— шаблоны поверх NER— в шаблонах записываются отношения, в которых

могут находиться разные объекты, лингвистическая информация, которая может указывать на связь, конкретные слова, которые обозначают конкретные связи.

Владимир Ресин назначен и.о. мэра Москвы

person (им.п.) назначен post(тв.п.) org(р.п.)

Что же выбрать?Information Extraction

— Начиналось все с шаблонов— Сейчас в моде онтологии и машинное обучение— Выбор подхода определяется конкретной задачей — А будущее все равно за гибридными системами.

ПродуктыInformation Extraction

— Тэгирование новостных сообщений или сообщений в блогах. (NER)

— Мониторинг новостей по персоне, компании, продукту (NER)

— Мониторинг отношения прессы/блоггеров к событию, продукту (Facts)

— Автоматическое составление календаря будущих событий с заполнением полей когда, где… (Facts)

— Фильтры для поиска, использование в кластеризации, и в других задачах

— Придумайте сами ;)

ТенденцииInformation Extraction

— много систем для английского языка—много онтологий, много лингв. инструментов—простая морфология – проще настраивать

машинное обучение—большой рынок

— NER гораздо больше чем NER + Facts—крупные новостные сайты, тематические

блоги— Мнения по твиттеру, блогам… тоже на английском

Кто это делает?Information Extraction

— OpenCalais – самый известный англоязычный ресурс

— Gate – платформа позволяющая делать Fact Extraction с помощью машинного обучения и с помощью шаблонов

— Сотни стартапов по всему миру делают IE для английского языка

— Яндекс :)— Ашманов, RCO и пр делают это с русским

где почитать?Information Extraction

Text Mining, Information and Fact Extraction Marie-Francine Moens (Katholieke Universiteit Leuven) http://romip.ru/russir2008/program.html#tmife

Материалы конференции «Диалог» http://dialog-21.ru

Статьи в Википедии

И еще…

Семинар Natural Language Processing

http://mathlingvo.ru/nlpseminar

Спасибо!

top related