17.03 большакова

30
МЕТОДЫ ПОСТРОЕНИЯ СИСТЕМ АНАЛИЗА ТЕКСТОВ НА БАЗЕ ЛИНГВИСТИЧЕСКИХ ШАБЛОНОВ Большакова Е.И. Кафедра алгоритмических языков Факультет ВМК МГУ имени М.В.Ломоносова

Transcript of 17.03 большакова

Page 1: 17.03 большакова

МЕТОДЫ ПОСТРОЕНИЯ

СИСТЕМ АНАЛИЗА ТЕКСТОВ

НА БАЗЕ ЛИНГВИСТИЧЕСКИХ

ШАБЛОНОВ

Большакова Е.И.

Кафедра алгоритмических языков

Факультет ВМК МГУ имени М.В.Ломоносова

Page 2: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 2

СОДЕРЖАНИЕ ДОКЛАДА

1. Автоматическая обработка текстов (АОТ) на ЕЯ: современное состояние

2. Частичный синтаксический анализ текстов и лингвистические шаблоны

3. Цели, задачи, особенности обработки научно-технических текстов

3. Язык лексико-синтаксических шаблонов LSPL

4. Программная поддержка языка LSPL

5. Приложения с использованием шаблонов LSPL терминологический анализ научных текстов генерация программных тестов по ЕЯ-комментариям

6. Фреймворк для быстрой разработки приложений АОТ

Page 3: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 3

АВТОМАТИЧЕСКАЯ ОБРАБОТКА ТЕКСТА:

СОВРЕМЕННЫЕ ПРИЛОЖЕНИЯ

Неструктурированные тексты на естественном языке

Стремительный рост числа приложений:

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

Информационный поиск

Классификация и рубрикация текстов

Реферирование и аннотирование текстов

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

Поиск и формирование ответов на вопросы (Question Answering)

Автоматизация проверки и редактирования текстов

Page 4: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 4

СЛОЖНОСТИ ОБРАБОТКИ ЕЯ

Особенности обработки текстов на ЕЯ

Многоуровневость обработки (сегментация текста, морфоанализ, синтаксический и семантический анализ)

Множественность подходов к построению лингвистических модулей и процессоров

Наукоемкость разработки процессоров для «глубокого» анализа и понимания ЕЯ

Хорошо работают простые модели естественного языка (статистические модели, векторные модели, частичный синтаксический анализ)

Необходимость долгой настройки процессоров на тексты ПО

Реализуется в крупных фирмах и организациях

НО: требуется быстрая разработка многих приложений

что зависит от доступных программных средств

Page 5: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 5

ПРОГРАММНЫЕ СРЕДСТВА ДЛЯ АОТ

Библиотеки программных компонентов OpenNLP , LingPipe, aot.ru, … Проблема совместимости по языку программирования и

модели лингвистических данных

Инструментальные среды GATE (General Architecture for Text Engineering), Ellogon, …

Общая модель обрабатываемых лингвистических данных для всех программных компонентов

Внутренний язык описания обработки данных (лингвистические правила и/или шаблоны )

Графическая среда разработчика приложения АОТ

Ограничение по классу разрабатываемых приложений

В целом в настоящий момент:

• Низкая степень автоматизации разработки приложений АОТ

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

Page 6: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 6

АНАЛИЗ ТЕКСТОВ И

ЛИНГВИСТИЧЕСКИЕ ШАБЛОНЫ

Частичный синтаксический анализ ЕЯ текста (shallow approach):

распознавание в тексте синтаксически связанных групп разной

степени сложности (словосочетаний разных видов, конструкций)

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

Лингвистические шаблоны языковых конструкций:

Пример: A N Ngen (крутой нрав доктора)

(прилагательное+существительное+существ-ное в имен. падеже)

• задают грамматические (морфологические, синтаксические и др.)

свойства языковых конструкций;

• существенно используются в приложениях, базирующихся на

частичном синтаксическом анализе текста;

• упрощают построение и настройку лингвистич. процессоров;

Page 7: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 7

НАШИ ЦЕЛИ И ЗАДАЧИ

• Средства АОТ для: русского языка с учетом предметной области, стиля и жанра текстов,

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

текстов

• Методы частичного синтаксического анализа текстов для выделения нужных языковых конструкций (словосочетаний разных видов) на базе лингвист. шаблонов

Основные прикладные задачи:

реферирование и аннотирование текста

литературно-научное редактирование текста

извлечение знаний из научных текстов

структуризация научного текста для быстрого прочтения и внутритекстового поиска

Необходим учет стилевых/жанровых особенностей научной прозы

Page 8: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 8

ЛЕКСИКО-ФРАЗЕОЛОГИЧЕКИЕ

ОСОБЕННОСТИ НАУЧНЫХ ТЕКСТОВ

Специальная терминология научной области Словарные (общепринятые) термины Авторские (новые) термины – употребление типичных

конструкции определений: Под продукцией понимается выражение…

Общенаучные слова и словосочетания по этой причине, суммируя вышесказанное, далее мы докажем... и т.п.

Стандартизованные конструкции - клише общенаучной речи обозначить направления дальнейших исследований, всесторонний анализ проблемы показывает и т.п.

В целом:

• Системный характер

• Взаимосвязь с дискурсивными (логико-композиционными) особенностями

Page 9: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 9

ЛОГИКО-КОМПОЗИЦИОННЫЕ –

ДИСКУРСИВНЫЕ – ОСОБЕННОСТИ

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

Дискурсивные маркеры (общенаучные слова и выражения) помечают эти операции

(предположим, что; далее кратко изложен … и др.), упорядочивают и связывают их

(во-первых, наконец; благодаря тому, что и др.),

Гипотеза: реализуемость поверхностного понимания текста (Севбо И., конец 80- начало 90 гг.)

= распознавание дискурсивной структуры (макроструктуры) текста и примененных дискурсивных операций на основе:

частичного синтаксического анализа лексикона общенаучных слов и выражений шаблонов характерных фраз (лексико-синтаксических

шаблонов)

Page 10: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 10

ДИСКУРСИВНЫЕ ОПЕРАЦИИ И МАРКЕРЫ

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

Конкретизация и уточнение (в дополнение к);

Актуализация темы (перейдем к);

Выделение информации (особо подчеркнем);

Предположения и допущения (предположим, что);

Иллюстрация и приведение примеров (к примеру);

Обобщение и резюмирование (в общем);

Сравнение и противопоставление (в отличие от);

и др.

(в других работах – аспектные маркеры : Саломатина Н.В.)

Page 11: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 11

ФОРМАЛИЗАЦИЯ ЯЗЫКОВЫХ КОНСТРУКЦИЙ

Изучение терминологических и дискурсивных особенностей

научно-технической прозы

Потребность формализовать характерные конструкции

(Под T будем понимать D, Далее докажем P, Допустим, что S)

Определение множества лексем, грамматических форм,

синтаксических условий

Фиксирование в виде декларативной структуры

лексико-синтаксического шаблона языковой конструкции

NGACC [«мы»] «будем называть»TINS

(конкретные словоформы и свободные заполняемые места - слоты)

Page 12: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 12

ТЕКУЩИЕ РЕЗУЛЬТАТЫ

В соответствии с этим:

Разработан язык лексико-синтаксических шаблонов LSPL

(Lexico-Syntactic Pattern Language) для:

формализации лингвистических свойств конструкций

русского языка в системах АОТ

запросов для поиска языковых конструкций в текстах

на русском языке

Реализована программная поддержка языка LSPL

Созданы несколько приложений АОТ на базе LSPL

Опробована методика создания шаблонов:

Фразы Лексемы Контексты

Синтаксические конструкции Шаблоны

Page 13: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 13

ЯЗЫК LSPL-ШАБЛОНОВ: ОСНОВНЫЕ ЭЛЕМЕНТЫ

Элемент-слово включает:

часть речи (A, N, V, Pa и т.д.) – A

индекс (1, 2, …) – A1 A2 N

лексема (записывается в < >) – A <важный>

Уточнение морфологических характеристик (имя =

значение): A<важный; case=nom, gen=fem>

Грамматическое согласование элементов шаблона:

A<тяжелый> N <A.gen=N.gen, A.num=N.num, A.case=N.case>

A<тяжелый> N <A=N>

Слово тяжелый и следующее за ним существительное согласованы в роде,

числе и падеже: тяжелым вечером, тяжелых камней, тяжелое тело …

Page 14: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 14

ЯЗЫК LSPL-ШАБЛОНОВ: ОСНОВНЫЕ ВОЗМОЖНОСТЕЙ

AP = A(A) | Pa(Pa)

AN= { AP } N<стол,c=nom> [“в”] <AP=N> (N)

Элемент-слово

Имя шаблона

Экземпляр шаблона

Условия согласования

Альтернативы |

Повторение {}

Опциональное вхождение []

Параметры шаблона

Элемент-слово

Имя шаблона

Экземпляр шаблона

Условия согласования

Альтернативы |

Повторение {}

Опциональное вхождение []

Page 15: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 15

ЯЗЫК LSPL-ШАБЛОНОВ: МОЩНОСТЬ ЯЗЫКА

Сложные шаблоны на основе простых: NG = A N <A=N>(N) , затем:

NG V <NG=V>

Параметры шаблонов: (N)

T = {A} N1 [N2<case=gen>] <A=N1> (N1) , затем:

T <case=ins>

Метасимволы повторений { } , опциональности [ ], альтернатив |

Декларативность языка: шаблон – структурный образец описываемой языковой конструкции

Фактически – КС-язык записи конструкций русского языка в форме унификационной грамматики

Page 16: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 16

LSPL-ШАБЛОНЫ:

ДОПОЛНИТЕЛЬНЫЕ ПРИМЕРЫ Шаблон типичной для деловой прозы структуры термина:

NP = AN1 {AN2<case=gen>} (AN1)

динамичность изменения доступного информационного пространства

Более общий, рекурсивный шаблон именной группы:

NG = {A} N1 <A=N1> {NG2 <case=gen>] (N1)

тоненькая струйка дыма далекого пожара

Шаблон двух терминологических словосочетаний:

A1<битовый> {N1<массив> | N1<образ>}<1,1>

битовый массив, битовый образ

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

DT = NP1<c=acc> ["мы"] "назовем" NP2<c=ins> <NP1.n = NP2.n>

…указанную операцию назовем операцией поиска примеров

Page 17: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 17

ЯЗЫК LSPL-ШАБЛОНОВ: СРАВНИТЕЛЬНЫЙ ПРИМЕР

Прилагательное и существительное в имен. падеже единственного числа

Язык LSPL:

A<c=nom, n=sign> N<c=nom, n=sign>

Язык RCO Pattern Extractor /Язык системы GATE (Jape):

Назначение: правила и шаблоны для извлечения из

текста объектов (именованных сущностей)

{Morph.SpeechPart=“Noun”, Morph.Case=“Nominative”,

Morph.Number=“Singular”}

{Morph.SpeechPart=“Adjective”, Morph.Case=“Nominative”,

Morph.Number=“Singular”}

Page 18: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 18

КОМПЛЕКС ПОДДЕРЖКИ ЯЗЫКА LSPL

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

по описывающим их шаблонам (C++)

Программный интерфейс для языков C++ и Java

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

базе LSPL-шаблонов

Шаблоны создаются

лингвистом или

специалистом по ПО

Набор шаблонов

хранится отдельно от

кода приложения,

модифицируется без

участия

программиста

Page 19: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 19

МЕТОД ВЫДЕЛЕНИЯ КОНСТРУКЦИЙ ПО ШАБЛОНАМ

Текст – ориентированный граф

Ребра и пути в графе – интерпретации

(морфологические, синтаксические) фрагментов

текста

Процесс выделения конструкции – поиск в графе

Page 20: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 20

СРЕДА АНАЛИЗА ТЕКСТОВ

Page 21: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 21

РАЗРАБОТАННЫЕ ПРИЛОЖЕНИЯ:

ТЕРМИНОЛОГИЧЕСКИЙ АНАЛИЗ

LSPL-шаблоны всех видов терминов;

Пример шаблона определения нового (авторского) термина:

DT = NP1<c=acc> ["мы"] "назовем" NP2<c=ins> <NP1.n = NP2.n>

Текст

Шаблоны Выделение терминов

Шаблоны вариантов

Генерация шаблонов вариантов

Употребления терминов

Термины научного текста:

словарные (управление памятью)

авторские (под конвейерным

режимом понимают…)

текстовые варианты терминов

- одного термина (метка адреса – маркер адреса)

- соединений нескольких (шина адреса, данных и управления)

Page 22: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 22

ТЕРМИНОЛОГИЧЕСКИЙ АНАЛИЗ:

ТЕСТИРОВАНИЕ ПРОЦЕДУР

Диссертационная работа Н.Э. Ефремовой:

Разработаны процедуры извлечения терминов каждого вида, базирующиеся на соответствующем наборе шаблонов.

На основе тестирования процедур определена стратегия объединения их результатов, в среднем улучшающая F-меру распознавания в заданном тексте: терминов – на 10%; терминоупотреблений – на 7%

Процедура извлечения

Извлечение терминов Выделение всех терминоупотреблений

полнота точность полнота точность

Словарные термины

85% 94% 87% 95%

Авторские термины

67% 89% 70% 97%

Синонимы 57% 22% – –

Соединения 71% 30% – –

Page 23: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 23

РАЗРАБОТАННЫЕ ПРИЛОЖЕНИЯ:

ГЕНЕРАЦИЯ ПРОГРАММНЫХ ТЕСТОВ

Выделение именований

объектов кода

Выделение описаний

свойств объектов

Генерация тестов

Шаблоны свойств

Шаблоны именований

Комментарии на ЕЯ

Тесты

Именования

программных объектов

из тегов Java-doc:

первый аргумент

Свойства объектов:

результат делится на

M без остатка

Пример LSPL-шаблона

свойства объекта:

{A}N1 N2<case=gen>

<A=N1>

Page 24: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 24

РАЗВИТИЕ: ФРЕЙМВОРК

ДЛЯ СОЗДАНИЯ ПРИЛОЖЕНИЙ АОТ

Фреймворк – промежуточное положение между библиотекой и инструментальной средой с точки зрения возможностей интеграции

Инструментальная среда, предоставляя модули/компоненты

• обеспечивает их совместимость (в отличие от библиотеки),

• но ограничивает в модели данных и вычислений, например: GATE – аннотации, последоват. вычисление модулей

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

Нет четкой границы между фреймворком и средой, первое может развиваться за счет интегрирования модулей в среду

Page 25: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 25

ФРЕЙМВОРК: ОСОБЕННОСТИ

Диссертационная работа А.А. Носкова

Построение приложения АОТ путем интеграции различных

программных модулей /компонентов:

Набор стандартных программных компонент для:

лингвистической обработки (сегментация, морфология, синтаксический анализ и др.);

нелингвистической обработки (машинное обучение, работа с форматами текстов, сбор коллекций текстов);

Поддержка использования различных моделей лингвистических данных и преобразований между ними;

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

Описание работы приложения на специальном DSL (Domain Specific Language)

Page 26: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 26

ФРЕЙМВОРК: МОДЕЛИ ДАННЫХ

Поддерживаемые модели обрабатываемых лингвистических данных:

Аннотационная модель – представление данных в виде

внутренней или внешней разметки фрагментов текста

(например: аннотации GATE, XML-разметка).

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

иерархической структуры

(например: текст-предложения-слова; Ellogon).

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

признаков (например, в виде вектора слов).

Средства обеспечения совместимости моделей :

переиспользование базовых концепций (строка, число,

унифицируемое значение);

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

разных моделей.

Page 27: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 27

ФРЕЙМВОРК: УЧЕТ

МНОЖЕСТВЕННОСТИ ИНТЕРПРЕТАЦИЙ

На каждом уровне анализа текста есть неоднозначности.

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

Существенные вычислительные затраты для обработки всех интерпретаций на всех уровнях.

Удобно применение графов интерпретаций (см. LSPL): вершина – позиция текста, ребро – элемент интерпретации; путь в графе описывает определенную интерпретацию; граф ориентирован и ацикличен.

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

Page 28: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 28

ФРЕЙМВОРК: DSL

Описание операций над данными

Простая запись для простых действий:

fetchRss("http://my.rss") >> // загрузить RSS

cleanHtml >> // очистить текст от HTML-тэгов

addTokens >> // разбить на лексемы

filterTokens >> // выкинуть мусорные слова

downcaseTokens >> // привести к нижнему регистру

addWeightedFeatures // построить вектор их

встречаемости

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

программирования (Scala), реализующего этот DSL.

Page 29: 17.03 большакова

Петербург NLP, 17 марта 2012 г. 29

ИТОГИ И РАЗВИТИЕ

Построение приложений с использованием шаблонов языка LSPL показало, что он удобен для анализа узкоспециализированных текстов на ЕЯ.

Дальнейшие направления развития:

усиление выразительной мощности языка шаблонов, в частности: (под)шаблоны извлечения;

исследование процедур дискурсивного анализа научно-технических текстов;

доработка фреймворка.

www.lspl.ru - сайт с информацией о языке и

поддерживающих его программных средствах