Upload
natalia-ostapuk
View
1.522
Download
1
Embed Size (px)
Citation preview
МЕТОДЫ ПОСТРОЕНИЯ
СИСТЕМ АНАЛИЗА ТЕКСТОВ
НА БАЗЕ ЛИНГВИСТИЧЕСКИХ
ШАБЛОНОВ
Большакова Е.И.
Кафедра алгоритмических языков
Факультет ВМК МГУ имени М.В.Ломоносова
Петербург NLP, 17 марта 2012 г. 2
СОДЕРЖАНИЕ ДОКЛАДА
1. Автоматическая обработка текстов (АОТ) на ЕЯ: современное состояние
2. Частичный синтаксический анализ текстов и лингвистические шаблоны
3. Цели, задачи, особенности обработки научно-технических текстов
3. Язык лексико-синтаксических шаблонов LSPL
4. Программная поддержка языка LSPL
5. Приложения с использованием шаблонов LSPL терминологический анализ научных текстов генерация программных тестов по ЕЯ-комментариям
6. Фреймворк для быстрой разработки приложений АОТ
Петербург NLP, 17 марта 2012 г. 3
АВТОМАТИЧЕСКАЯ ОБРАБОТКА ТЕКСТА:
СОВРЕМЕННЫЕ ПРИЛОЖЕНИЯ
Неструктурированные тексты на естественном языке
Стремительный рост числа приложений:
Машинный перевод
Информационный поиск
Классификация и рубрикация текстов
Реферирование и аннотирование текстов
Извлечение информации из текстов (Information Extraction)
Поиск и формирование ответов на вопросы (Question Answering)
Автоматизация проверки и редактирования текстов
Петербург NLP, 17 марта 2012 г. 4
СЛОЖНОСТИ ОБРАБОТКИ ЕЯ
Особенности обработки текстов на ЕЯ
Многоуровневость обработки (сегментация текста, морфоанализ, синтаксический и семантический анализ)
Множественность подходов к построению лингвистических модулей и процессоров
Наукоемкость разработки процессоров для «глубокого» анализа и понимания ЕЯ
Хорошо работают простые модели естественного языка (статистические модели, векторные модели, частичный синтаксический анализ)
Необходимость долгой настройки процессоров на тексты ПО
Реализуется в крупных фирмах и организациях
НО: требуется быстрая разработка многих приложений
что зависит от доступных программных средств
Петербург NLP, 17 марта 2012 г. 5
ПРОГРАММНЫЕ СРЕДСТВА ДЛЯ АОТ
Библиотеки программных компонентов OpenNLP , LingPipe, aot.ru, … Проблема совместимости по языку программирования и
модели лингвистических данных
Инструментальные среды GATE (General Architecture for Text Engineering), Ellogon, …
Общая модель обрабатываемых лингвистических данных для всех программных компонентов
Внутренний язык описания обработки данных (лингвистические правила и/или шаблоны )
Графическая среда разработчика приложения АОТ
Ограничение по классу разрабатываемых приложений
В целом в настоящий момент:
• Низкая степень автоматизации разработки приложений АОТ
• Ограниченная поддержка обработки текстов на русском языке
Петербург NLP, 17 марта 2012 г. 6
АНАЛИЗ ТЕКСТОВ И
ЛИНГВИСТИЧЕСКИЕ ШАБЛОНЫ
Частичный синтаксический анализ ЕЯ текста (shallow approach):
распознавание в тексте синтаксически связанных групп разной
степени сложности (словосочетаний разных видов, конструкций)
Нужная степень глубины анализа в зависимости от приложения
Лингвистические шаблоны языковых конструкций:
Пример: A N Ngen (крутой нрав доктора)
(прилагательное+существительное+существ-ное в имен. падеже)
• задают грамматические (морфологические, синтаксические и др.)
свойства языковых конструкций;
• существенно используются в приложениях, базирующихся на
частичном синтаксическом анализе текста;
• упрощают построение и настройку лингвистич. процессоров;
Петербург NLP, 17 марта 2012 г. 7
НАШИ ЦЕЛИ И ЗАДАЧИ
• Средства АОТ для: русского языка с учетом предметной области, стиля и жанра текстов,
в первую очередь – научно-технические тексты скорее анализ отдельно взятого текста, чем коллекции
текстов
• Методы частичного синтаксического анализа текстов для выделения нужных языковых конструкций (словосочетаний разных видов) на базе лингвист. шаблонов
Основные прикладные задачи:
реферирование и аннотирование текста
литературно-научное редактирование текста
извлечение знаний из научных текстов
структуризация научного текста для быстрого прочтения и внутритекстового поиска
Необходим учет стилевых/жанровых особенностей научной прозы
Петербург NLP, 17 марта 2012 г. 8
ЛЕКСИКО-ФРАЗЕОЛОГИЧЕКИЕ
ОСОБЕННОСТИ НАУЧНЫХ ТЕКСТОВ
Специальная терминология научной области Словарные (общепринятые) термины Авторские (новые) термины – употребление типичных
конструкции определений: Под продукцией понимается выражение…
Общенаучные слова и словосочетания по этой причине, суммируя вышесказанное, далее мы докажем... и т.п.
Стандартизованные конструкции - клише общенаучной речи обозначить направления дальнейших исследований, всесторонний анализ проблемы показывает и т.п.
В целом:
• Системный характер
• Взаимосвязь с дискурсивными (логико-композиционными) особенностями
Петербург NLP, 17 марта 2012 г. 9
ЛОГИКО-КОМПОЗИЦИОННЫЕ –
ДИСКУРСИВНЫЕ – ОСОБЕННОСТИ
Научный дискурс (речь) – рассуждение, отражающее последовательность операций научного мышления (выдвижение гипотезы, введение термина, обобщение и т.п.)
Дискурсивные маркеры (общенаучные слова и выражения) помечают эти операции
(предположим, что; далее кратко изложен … и др.), упорядочивают и связывают их
(во-первых, наконец; благодаря тому, что и др.),
Гипотеза: реализуемость поверхностного понимания текста (Севбо И., конец 80- начало 90 гг.)
= распознавание дискурсивной структуры (макроструктуры) текста и примененных дискурсивных операций на основе:
частичного синтаксического анализа лексикона общенаучных слов и выражений шаблонов характерных фраз (лексико-синтаксических
шаблонов)
Петербург NLP, 17 марта 2012 г. 10
ДИСКУРСИВНЫЕ ОПЕРАЦИИ И МАРКЕРЫ
Проведено исследование коллекции текстов (научные статьи, рефераты, аннотации) из разных ПО (физика, информатика и программирование), что дало список операций:
Конкретизация и уточнение (в дополнение к);
Актуализация темы (перейдем к);
Выделение информации (особо подчеркнем);
Предположения и допущения (предположим, что);
Иллюстрация и приведение примеров (к примеру);
Обобщение и резюмирование (в общем);
Сравнение и противопоставление (в отличие от);
и др.
(в других работах – аспектные маркеры : Саломатина Н.В.)
Петербург NLP, 17 марта 2012 г. 11
ФОРМАЛИЗАЦИЯ ЯЗЫКОВЫХ КОНСТРУКЦИЙ
Изучение терминологических и дискурсивных особенностей
научно-технической прозы
Потребность формализовать характерные конструкции
(Под T будем понимать D, Далее докажем P, Допустим, что S)
Определение множества лексем, грамматических форм,
синтаксических условий
Фиксирование в виде декларативной структуры
лексико-синтаксического шаблона языковой конструкции
NGACC [«мы»] «будем называть»TINS
(конкретные словоформы и свободные заполняемые места - слоты)
Петербург NLP, 17 марта 2012 г. 12
ТЕКУЩИЕ РЕЗУЛЬТАТЫ
В соответствии с этим:
Разработан язык лексико-синтаксических шаблонов LSPL
(Lexico-Syntactic Pattern Language) для:
формализации лингвистических свойств конструкций
русского языка в системах АОТ
запросов для поиска языковых конструкций в текстах
на русском языке
Реализована программная поддержка языка LSPL
Созданы несколько приложений АОТ на базе LSPL
Опробована методика создания шаблонов:
Фразы Лексемы Контексты
Синтаксические конструкции Шаблоны
Петербург 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>
Слово тяжелый и следующее за ним существительное согласованы в роде,
числе и падеже: тяжелым вечером, тяжелых камней, тяжелое тело …
Петербург NLP, 17 марта 2012 г. 14
ЯЗЫК LSPL-ШАБЛОНОВ: ОСНОВНЫЕ ВОЗМОЖНОСТЕЙ
AP = A(A) | Pa(Pa)
AN= { AP } N<стол,c=nom> [“в”] <AP=N> (N)
Элемент-слово
Имя шаблона
Экземпляр шаблона
Условия согласования
Альтернативы |
Повторение {}
Опциональное вхождение []
Параметры шаблона
Элемент-слово
Имя шаблона
Экземпляр шаблона
Условия согласования
Альтернативы |
Повторение {}
Опциональное вхождение []
Петербург 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>
Метасимволы повторений { } , опциональности [ ], альтернатив |
Декларативность языка: шаблон – структурный образец описываемой языковой конструкции
Фактически – КС-язык записи конструкций русского языка в форме унификационной грамматики
Петербург 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>
…указанную операцию назовем операцией поиска примеров
Петербург 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”}
Петербург NLP, 17 марта 2012 г. 18
КОМПЛЕКС ПОДДЕРЖКИ ЯЗЫКА LSPL
Компонент выделения в заданном тексте конструкций
по описывающим их шаблонам (C++)
Программный интерфейс для языков C++ и Java
Визуальная среда для просмотра и анализа текстов на
базе LSPL-шаблонов
Шаблоны создаются
лингвистом или
специалистом по ПО
Набор шаблонов
хранится отдельно от
кода приложения,
модифицируется без
участия
программиста
Петербург NLP, 17 марта 2012 г. 19
МЕТОД ВЫДЕЛЕНИЯ КОНСТРУКЦИЙ ПО ШАБЛОНАМ
Текст – ориентированный граф
Ребра и пути в графе – интерпретации
(морфологические, синтаксические) фрагментов
текста
Процесс выделения конструкции – поиск в графе
Петербург NLP, 17 марта 2012 г. 20
СРЕДА АНАЛИЗА ТЕКСТОВ
Петербург NLP, 17 марта 2012 г. 21
РАЗРАБОТАННЫЕ ПРИЛОЖЕНИЯ:
ТЕРМИНОЛОГИЧЕСКИЙ АНАЛИЗ
LSPL-шаблоны всех видов терминов;
Пример шаблона определения нового (авторского) термина:
DT = NP1<c=acc> ["мы"] "назовем" NP2<c=ins> <NP1.n = NP2.n>
Текст
Шаблоны Выделение терминов
Шаблоны вариантов
Генерация шаблонов вариантов
Употребления терминов
Термины научного текста:
словарные (управление памятью)
авторские (под конвейерным
режимом понимают…)
текстовые варианты терминов
- одного термина (метка адреса – маркер адреса)
- соединений нескольких (шина адреса, данных и управления)
Петербург NLP, 17 марта 2012 г. 22
ТЕРМИНОЛОГИЧЕСКИЙ АНАЛИЗ:
ТЕСТИРОВАНИЕ ПРОЦЕДУР
Диссертационная работа Н.Э. Ефремовой:
Разработаны процедуры извлечения терминов каждого вида, базирующиеся на соответствующем наборе шаблонов.
На основе тестирования процедур определена стратегия объединения их результатов, в среднем улучшающая F-меру распознавания в заданном тексте: терминов – на 10%; терминоупотреблений – на 7%
Процедура извлечения
Извлечение терминов Выделение всех терминоупотреблений
полнота точность полнота точность
Словарные термины
85% 94% 87% 95%
Авторские термины
67% 89% 70% 97%
Синонимы 57% 22% – –
Соединения 71% 30% – –
Петербург NLP, 17 марта 2012 г. 23
РАЗРАБОТАННЫЕ ПРИЛОЖЕНИЯ:
ГЕНЕРАЦИЯ ПРОГРАММНЫХ ТЕСТОВ
Выделение именований
объектов кода
Выделение описаний
свойств объектов
Генерация тестов
Шаблоны свойств
Шаблоны именований
Комментарии на ЕЯ
Тесты
Именования
программных объектов
из тегов Java-doc:
первый аргумент
Свойства объектов:
результат делится на
M без остатка
Пример LSPL-шаблона
свойства объекта:
{A}N1 N2<case=gen>
<A=N1>
Петербург NLP, 17 марта 2012 г. 24
РАЗВИТИЕ: ФРЕЙМВОРК
ДЛЯ СОЗДАНИЯ ПРИЛОЖЕНИЙ АОТ
Фреймворк – промежуточное положение между библиотекой и инструментальной средой с точки зрения возможностей интеграции
Инструментальная среда, предоставляя модули/компоненты
• обеспечивает их совместимость (в отличие от библиотеки),
• но ограничивает в модели данных и вычислений, например: GATE – аннотации, последоват. вычисление модулей
Фреймворк менее ограничителен, чем среда (и позволяет расширять себя), но имеет более высокий порог вхождения
Нет четкой границы между фреймворком и средой, первое может развиваться за счет интегрирования модулей в среду
Петербург NLP, 17 марта 2012 г. 25
ФРЕЙМВОРК: ОСОБЕННОСТИ
Диссертационная работа А.А. Носкова
Построение приложения АОТ путем интеграции различных
программных модулей /компонентов:
Набор стандартных программных компонент для:
лингвистической обработки (сегментация, морфология, синтаксический анализ и др.);
нелингвистической обработки (машинное обучение, работа с форматами текстов, сбор коллекций текстов);
Поддержка использования различных моделей лингвистических данных и преобразований между ними;
Учет множественности интерпретаций (омонимии) на каждом из уровней анализа (графематическом, морфологическом, синтаксическом, семантическом);
Описание работы приложения на специальном DSL (Domain Specific Language)
Петербург NLP, 17 марта 2012 г. 26
ФРЕЙМВОРК: МОДЕЛИ ДАННЫХ
Поддерживаемые модели обрабатываемых лингвистических данных:
Аннотационная модель – представление данных в виде
внутренней или внешней разметки фрагментов текста
(например: аннотации GATE, XML-разметка).
Структурная модель – представление текста в виде
иерархической структуры
(например: текст-предложения-слова; Ellogon).
Признаковая модель – представление текста в виде набора
признаков (например, в виде вектора слов).
Средства обеспечения совместимости моделей :
переиспользование базовых концепций (строка, число,
унифицируемое значение);
возможные автоматические преобразования между данными
разных моделей.
Петербург NLP, 17 марта 2012 г. 27
ФРЕЙМВОРК: УЧЕТ
МНОЖЕСТВЕННОСТИ ИНТЕРПРЕТАЦИЙ
На каждом уровне анализа текста есть неоднозначности.
Часто они не могут быть разрешены в рамках одного уровня, требуется более глубокий уровень (например, синтаксичекий анализ разрешает морфологическую омонимию).
Существенные вычислительные затраты для обработки всех интерпретаций на всех уровнях.
Удобно применение графов интерпретаций (см. LSPL): вершина – позиция текста, ребро – элемент интерпретации; путь в графе описывает определенную интерпретацию; граф ориентирован и ацикличен.
Недетерминированные преобразователи, работающие над графами, не требуют всех возможных интерпретаций при переходе с одного уровня на другой и позволяют выполнять преобразования интерпретаций между уровнями (квази)параллельно.
Петербург NLP, 17 марта 2012 г. 28
ФРЕЙМВОРК: DSL
Описание операций над данными
Простая запись для простых действий:
fetchRss("http://my.rss") >> // загрузить RSS
cleanHtml >> // очистить текст от HTML-тэгов
addTokens >> // разбить на лексемы
filterTokens >> // выкинуть мусорные слова
downcaseTokens >> // привести к нижнему регистру
addWeightedFeatures // построить вектор их
встречаемости
При необходимости можно спуститься на уровень языка
программирования (Scala), реализующего этот DSL.
Петербург NLP, 17 марта 2012 г. 29
ИТОГИ И РАЗВИТИЕ
Построение приложений с использованием шаблонов языка LSPL показало, что он удобен для анализа узкоспециализированных текстов на ЕЯ.
Дальнейшие направления развития:
усиление выразительной мощности языка шаблонов, в частности: (под)шаблоны извлечения;
исследование процедур дискурсивного анализа научно-технических текстов;
доработка фреймворка.
www.lspl.ru - сайт с информацией о языке и
поддерживающих его программных средствах
Петербург NLP, 17 марта 2012 г. 30
THE END
СПАСИБО ЗА ВНИМАНИЕ !