Инструментальные системы извлечения информации

Post on 22-May-2015

322 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

2 марта 2011Носков Алексей

TRANSCRIPT

Инструментальные системы извлеченияинформации из ЕЯ-текстов

Обзор основных подходов

Носков Алексей

Кафедра Алгоритмических ЯзыковМГУ им. М.В.Ломоносова, ВМК

alexey.noskov@gmail.com

2 марта 2011

Извлечение информации

Извлечение информации из текстов (Information Extraction)

I Выделение структурированной информации (свойствобъектов, отношений, событий) из неструктурированныхтекстов на естественном языке.

I Нет необходимости производить полный синтаксическийанализ текста (достаточно выделить только необходимыеструктуры)

I Нет необходимости использовать сложные структурыданных для представления текста

I Приложение настраивается на конкретную область(например, на политику или экономику)

Инструментальные системы извлечения информации

I Позволяют создавать приложения, осуществляющиеизвлечение информации

I Предоставляют готовые элементы для приложений:I Концепции (форматы данных, описания протоколов,

архитектурные решения)I Программный код (осуществляющий работу с форматами,

решающий лингвистические задачи, обеспечивающийвзаимодействие других элементов)

I Реализуют различные подходы с точки зренияпредставления данных и их обработки

Классификация инструментальных систем

Классификация систем по типу представления данных:

I Основанные на разметке - лингвистическая информацияхранится непосредственно в тексте

I Основанные на аннотациях - лингвистическая информацияхранится отдельно и ссылается на участки текста

I Основанные на абстракции - текст хранится как частьобщей структуры данных (в докладе не рассматриваются)

H. Cunningham, K. Humphreys, and R. Gaizauskas, “GATE - a TIPSTER-basedGeneral Architecture for Text Engineering,"IN PROCEEDINGS OF THE TIPSTERTEXT PROGRAM (PHASE III) 6 MONTH WORKSHOP. DARPA, 1997.

Содержание

Основанные на разметкеLT-NSLWraetlic

Основанные на аннотацияхGATEGATE 2Catalyst

Интеграция поверхностной и глубокой обработкиSProUTWhiteboardHeart of Gold

Другие подходыLearning Based JavaCAFE

Лингвистическая разметка

I Лингвистическая информация хранится в формеразметки непосредственно в документе

I Разметка обычно представляется в виде SGML или XMLI Каждая лингвистическая единица (слово, предложение,

группа) помечается с помощью тэга (<w>,<s>,<np>)I Вложенность тэгов отражает иерархическую структуру

лингвистических единиц

Пример разметки в XML

As far as I was enabled...

<s id="6293"><w c="w" pos="IN" id="624">As</w><w c="w" pos="RB" id="625">far</w><pp id="21236">

<w c="w" pos="IN" id="626" head="yes">as</w><np number="singular" person="1" id="627">

<w c="w" pos="PRP" head="yes" id="628">I</w></np>

</pp><vbar voice="passive" time="past" id="629" args="+6302">

<w c="w" pos="VBD" stem="be" head="yes" id="630">was</w><w c="w" pos="VBN" stem="enable" id="631">enabled</w>

</vbar>

LT-NSL

Разработана в 1996 году

I Компоненты (стеммеры, графематические анализаторы)реализуются в виде отдельных процессов ОС

I Компоненты взаимодействуют через стандартные ввод ивывод (соединяются через UNIX-каналы)

I В памяти не хранится весь текст - только необходимая дляобработки часть

D. McKelvie, C. Brew, and H. Thompson, “Using SGML as a Basis for Data-IntensiveNLP"IN PROCEEDINGS OF THE FIFTH CONFERENCE ON APPLIED NATURALLANGUAGE PROCESSING (ANLP-97, 1997)

LT-NSL: Представление информации

Представление на основе SGML

I SGML – четко определенный язык, позволяющий задаватьструктурную информацию в тексте

I Приложение может игнорировать узлы, не затрагиваемыеконкретным видом анализа

I SGML способствует формальному описанию используемойнотации

I Для SGML имеются утилиты для проверки соответствиядокументов формальному описанию

I Для представления пересекающейся разметки (например,различных интерпретаций слова) используются ссылки

I Документы преобразуются в упрощенную форму для болееэффективного разбора в компонентах

Wraetlic

Разработана в 2006 году, Java

I Данные представляются в форме XML-разметкиI Для преобразований разметки (например, между

компонентами, использующими различные форматы)используется XSLT

I Для представления пересекающейся разметкииспользуются внешние XML-узлы и ссылки

I Реализован специальный модуль для разрешения ссылокI Компоненты могут быть совмещены в одном процессе и

обмениваться уже разобранным XML, находящимся впамяти

E. Alfonseca, A. Moreno-s, J. M. Guirao, and M. Ruiz-casado, “The wraetlic NLPsuite,"2006.

Плюсы и минусы использования разметки

Плюсы

I Простота представления информацииI Наличие средств для просмотра и редактирования

разметки

Минусы

I Трудность представления сложных и пересекающихсяструктур

Содержание

Основанные на разметкеLT-NSLWraetlic

Основанные на аннотацияхGATEGATE 2Catalyst

Интеграция поверхностной и глубокой обработкиSProUTWhiteboardHeart of Gold

Другие подходыLearning Based JavaCAFE

Аннотации

I Лингвистическая информация хранится отдельно от текстав форме аннотаций

I Аннотации ссылаются на фрагменты документаI Аннотации сождержат атрибуты, задающие

характеристики описываемых лингвистических единицI Аннотации могут быть получены по заданному фрагментуI Параллельные лингвистические единицы (различные

интерпретации одного слова) представляютсяпараллельными аннотациями (между одними и теми жепозициями)

I Множество аннотаций может быть представлено в видеациклического ориентированного графа

Пример множества аннотаций

As far as I was enabled...

0As //w

66

s

AA1far //w

66 2as //w

66

pp

JJ3I //w

66

np

HH4was //w

66

vbar

AA5enabled//

w66 6 ... n

Архитектура TIPSTER

I Документы состоят из текста и множества аннотацийI За хранение документов отвечает репозиторийI Компоненты запрашивают документы из репозиторияI Лингвистическая обработка представляет из себя

преобразование разметки документов

R. Grishman, “TIPSTER text phase II architecture design,"in Proceedings of aworkshop on held at Vienna, Virginia: May 6-8, 1996, pp. 249–305, 1996.

GATE

Разработана в 1996 году, C++

I Обеспечивает обмен информацией между компонентами(графематическими анализаторами, стеммерами и т.п.)

I Предоставляет максимально общуютеоретико-нейтральную форму для обмена информацией

I Позволяет интегрировать различные компоненты (наразличных языках, на различных платформах)

I Предоставляет библиотеки для разработки и тестированиякомпонентов

I Предоставляет среду для построения приложений вграфическом интерфейсе

H. Cunningham, K. Humphreys, and R. Gaizauskas, “GATE - a TIPSTER-basedGeneral Architecture for Text Engineering,"IN PROCEEDINGS OF THE TIPSTERTEXT PROGRAM (PHASE III) 6 MONTH WORKSHOP. DARPA, 1997.

GATE: Компоненты

I GDM (Gate Document Manager) - хранилище текстов илингвистической информации

I Предоставляет единообразный интерфейс для доступа иманипуляций с данными

I CREOLE (Collection of REusable Objects for LanguageEngineering) - набор переиспользуемых лингвистическихкомпонентов

I GGI (Gate Graphical Interface) - графический интерфейс,позволяющий интерактивное создания и тестированиекомпонентов и приложений

GATE: Плюсы и минусы

Плюсы

I Переиспользование лингвистических компонентовI Уменьшение усилий для интеграцииI Общая база для разработки компонентов и приложенийI Сравнение алгоритмов и их реализаций – компонентовI Удобный графический интерфейс

Минусы

I Нет компонентов-источников данныхI Не поддерживается генерация текстаI Нельзя расширять визуализациюI Необходима совместимость схем аннотаций компонентов

D. Maynard et al., “A Survey of Uses of GATE."

GATE 2+

Разработана в 2001 году, JavaАктивно развивается по настоящий момент

I Полная поддержка UnicodeI Возможность описания компонентов, предоставляющих

данныеI Возможность описания визуальных компонентовI Язык JAPE для обработки разметки

K. Bontcheva, et.al. “GATE: A Unicode-based infrastructure supporting multilingualinformation extraction,"IN PROCEEDINGS OF WORKSHOP ON INFORMATIONEXTRACTION FOR SLAVONIC AND OTHER CENTRAL AND EASTERNEUROPEAN LANGUAGES (IESL’03), BOROVETS, 2003.

GATE 2: Компоненты

I Языковые ресурсыI Доступ к документам, корпусам и онтологиямI Возможен доступ к нетекстовым данным

I Обрабатывающие ресурсыI Различные этапы обработки - выделение лексем,

морфологический анализ, и т.п

I Визуальные ресурсыI Визуализация и редактирование информации или процесса

обработки

GATE 2: JAPE

Язык преобразования разметки

I Описание процесса преобразований с помощью регулярныхправил

I Левая часть правила - регулярное выражение наданнотациями

I Правая часть правила - действия по редактированиюразметки

I Добавление аннотацийI Удаление аннотацийI Модификация аттрибутов аннотацийI Произвольный Java-код

H. Cunningham, H. Cunningham, D. Maynard, D. Maynard, V. Tablan, and V.Tablan, “JAPE: a Java Annotation Patterns Engine,"1999.

GATE 2: JAPE: Примеры правил

Rule: PersonJobTitle( {Lookup.majorType == jobtitle} ):jobtitle( {TempPerson} ):person-->

:jobtitle.JobTitle = {rule = "PersonJobTitle"},:person.Person = {kind = "personName",

rule = "PersonJobTitle"}

Rule: YearContext1( {Token.string == "in"} | {Token.string == "by"} )( {Token.kind == "number" } ):year-->

:year.Timex = {kind = "date", rule = "YearContext1"}

Catalyst

Архитектура, разработанная в 2002 году

I Использует модель аннотаций TIPSTER вместе с модельюпотоков данных

I Поддерживает распределенную работу приложенияI Основная причина создания - существующие системы

плохо масштабируются

P. Anand et al., “Qanda and the Catalyst Architecture,"2002.

Catalyst: Компонентная организация

I Центральный репозиторий отсутствуетI Компоненты соединяется каналами, по которым

передаются аннотацииI Аннотации в каналах упорядочены в соответствии с их

позициями в документеI Компонент объявляет типы принимаемых и порождаемых

им аннотацийI Эта информация используется для передачи только

необходимых аннотаций

Catalyst: Архитектура

Catalyst: Пример приложения

Catalyst: Плюсы и минусы

Плюсы

I Выявление ошибок на этапе сборкиI Минимизация кол-ва передаваемых аннотацийI Возможность поточной обработки данныхI Возможность распределенной работы

Минусы

I Усложнение функционирования системыI Усложнение процесса разработки приложения

Плюсы и минусы использования аннотаций

Плюсы

I Простота представления информацииI Естественное представления пересекающихся структурI Простота обработки в терминах преобразования аннотацийI Возможность преобразования в разметку

Минусы

I Отсутствие стандартных средств для просмотра иредактирования

I Трудность представления сложных структур, необходимыхдля глубокого анализа текста

Содержание

Основанные на разметкеLT-NSLWraetlic

Основанные на аннотацияхGATEGATE 2Catalyst

Интеграция поверхностной и глубокой обработкиSProUTWhiteboardHeart of Gold

Другие подходыLearning Based JavaCAFE

Интеграция поверхностной и глубокой обработки

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

I Необходима интеграция компонентов, осуществляющихглубокий анализ (с учетом многих интерпретаций ивозможно полным разбором)

I Интеграция глубокого и поверхностного анализапредставляет сложности в силу:

I Различного представления данныхI Различной скорости обработки

U. Schafer, “Integrating Deep and Shallow Natural Language Processing Components– Representations and Hybrid Architectures,"Faculty of Mathematics and ComputerScience, Saarland University, 2007.

SProUT

Разработана в 2002-2004 годах

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

I Лингвистические единицы описываются структурамипризнаков

I Для разбора используются конечные преобразователи,использующие унификацию над структурами признаков

I Дополнение до контекстно-свободного формализма за счетвозможности вызова других правил преобразователя

I Расширение преобразователя за счет добавленияфункциональных операторов

W. Drozdzynski, H. Krieger, J. Piskorski, U. Schafer, and F. Xu, “Shallow Processingwith Unification and Typed Feature Structures — Foundations andApplications,"Kunstliche Intelligenz, vol. 1, pp. 17–23, 2004.

SProUT: Архитектура

SProUT: Структуры признаковСтруктура признаков - набор пар «признак-значение» f :

[q : a

]g : ch : d

I Здесь f, g, h - признаки,

[q : a

], с и d - соответствующие

значенияI Значением может быть другая структура признаков

Для структур признаков определено отношение частичногопорядка f :

[q : af : e

]g : ch : d

⊆ [f :[q : a

]h : d

]

SProUT: Унификация структур признаков

I Результат унификации структур признаков α и β –структура γ, содержащая информацию как из α, так и из β

I γ ⊆ α, γ ⊆ βI Структуры признаков могут содержать переменныеI При унификации переменные могут получать значения

Результатом унификации

f : 1[q : 2

]g : 1

h : 2

и[h : ei : u

]будет:

f : 1

[q : e

]g : 1

h : ei : u

SProUT: Пример правила

morph &

POS : Determiner

INFL :

CASE : c

NUMBER : n

GENDER : g

?

morph &

POS : Adjective

INFL :

CASE : c

NUMBER : n

GENDER : g

*

morph &

POS : Noun cat

INFL :

CASE : c

NUMBER : n

GENDER : g

→ phrase &

CAT : cat

AGR : agr&

CASE : c

NUMBER : n

GENDER : g

SProUT: Применение правил

I При сопоставлении элемента правила с лингвистическойединицей происходит унификация соответствующихструктур признаков

I При успешной унификации переменные в структурахправила получают значения и ограничиваютунифицируемость последующих элементов

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

I После унификации всех входящих в правило элементовпорождается новая структура признаков

Whiteboard

Разработана в 2000-2002 годах

I Анализ текста поверхностными методами для выявленияучастков, требующих глубокой обработки

I Использование результатов поверхностного анализа какэвристической информации при глубоком анализе

I Представление данных на поверхностном уровне спомощью XML

I Структуры для глубокого представления хранятсяотдельно и связаны с разметкой

B. Crysmann et al., “An Integrated Architecture for Shallow and DeepProcessing,"UNIVERSITY OF PENNSYLVANIA, pp. 441–448, 2002.

Whiteboard: Архитектура

Heart of Gold

Разработана в 2004-2005 как развитие Whiteboard

I Приложение посылают запросы об анализе документовцентральному координатору

I Центральный координатор распределяет задачи междукомпонентами и осуществляет слияние результатов

I Результат обработки каждого компонента -недоспецифицированная семантическая информация

I Каждый следующий компонент расширяет ее илиоповещает о невозможности расширения

I XML для представления данныхI XSLT для преобразования данных

U. Callmeier, A. Eisele, U. Schafer, and M. Siegel, “The DeepThought corearchitecture framework,"in Proceedings of LREC, vol. 4, pp. 1205–1208, 2004.

Heart of Gold: Архитектура

Плюсы и минусы интеграции поверхностной и глубокойобработки

Плюсы

I Увеличение качества анализаI Возмлжность использования более выразительных

формализмов

Минусы

I Усложнение системыI Снижение производительности

Содержание

Основанные на разметкеLT-NSLWraetlic

Основанные на аннотацияхGATEGATE 2Catalyst

Интеграция поверхностной и глубокой обработкиSProUTWhiteboardHeart of Gold

Другие подходыLearning Based JavaCAFE

Learning based Java

Проект 2007 года

I Процесс анализа текста представляется в виде композициистатистических моделей

I Модели определяют признаки данных и ограничения наних данных

I Система осуществляет поиск решения, оптимизирующеговесовую функцию от результатов моделей

I Система позволяет как обрабатывать данные, так иобучать модели на данных

N. Rizzolo and D. Roth, “Learning Based Java for Rapid Development of NLPSystems,"in Proceedings of the International Conference on Language Resources andEvaluation (LREC), 2010.

Learning Based Java: Пример модели

/** This feature generating classifier "senses" all the* words in the document that begin with an alphabet* letter. The result is a bag-of-words representation* of the document. */

discrete% BagOfWords(Post post) <- {for (int i = 0; i < post.bodySize(); ++i)

for (int j = 0; j < post.lineSize(i); ++j) {String word = post.getBodyWord(i, j);if (word.length() > 0 &&

word.substring(0, 1).matches("[A-Za-z]"))sense word;

}}/** The label of the document. */discrete NewsgroupLabel(Post post) <-

{ return post.getNewsgroup(); }http : //cogcomp.cs.illinois.edu/page/software_view/11

Learning Based Java: Пример приложения

/** Here, we train averaged Perceptron for many* rounds of the training data. **/

discrete NewsgroupClassifierAP(Post post) <-learn NewsgroupLabel

using BagOfWordsfrom new NewsgroupParser("data/20news.train.shuffled")

40 roundswith SparseNetworkLearner {

SparseAveragedPerceptron.Parameters p =new SparseAveragedPerceptron.Parameters();

p.learningRate = .1;p.thickness = 3;baseLTU = new SparseAveragedPerceptron(p);

}progressOutput 20000testFrom new NewsgroupParser("data/20news.test")

end

CAFE

Проект 2001 года

I Система состоит из компонентов, обрабатывающих данныепоследовательно

I Компоненты работают одновременноI Компоненты предоставляют результаты работы по мере их

полученияI На следующий уровень передается несколько наилучших

вариантов анализаI На предыдущий уровень передается информация об оценке

полученных вариантов анализа

S. C. Stoness, “Continuous Understanding: A First Look at CAFE,"2001.

CAFE: Архитектура

Сравнение подходов

Сравнение подходов

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

I Аннотации позволяют получить многие преимуществаразметки за счет возможности конвертирования аннотацийв разметку и обратно

I В связи с большой популярностью GATE многиепрактические системы используют аннотации

I Однако, и разметка и аннотации ограничены припредставлении сложных структур данных

I Интеграция поверхностной и глубокой обработки,возможно, является перспективным направлением

Интересные направления

I Интеграция поверхностной и глубокой обработкиI Возможности построения распределенных системI Обратная связь между компонентами, осуществляющими

анализI Предоставление системой возможностей для обучения

статистических моделейI Баланс между широкими возможностями и низким

порогом вхождения

Вопросы?

top related