ОСНОВНЫЕ ПРИНЦИПЫ РЕШЕНИЯ ЗАДАЧИ ПРЕОБРАЗОВАНИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО КОД...ITMO UniversityОписано решение задачи преобразования исходного кода на объектно-ориентированном языке в формат RDF средствами семантического анализа. Рассмотрены основные принципы семантического анализа объектноориентированного кода и предложен архитектурный прототип программного продукта, осуществляющего преобразование кода в RDF.
ISUCT & BSUIR. Successful Communication of the Process Architecture [1.0, RUS]Alex V. PetrovАрхитектура предприятия как системы охватывает такие области, как информационно-технологическая и бизнес-архитектура. В свою очередь, одним из компонентов бизнес-архитектуры, заслуженно привлекающим первоочередное внимание и требующим пристального рассмотрения в контексте реализации самых разнообразных бизнес-инициатив, является процессная архитектура.
Грамотно передать суть и содержание бизнес-процессов современного предприятия не так просто, как может показаться на первый взгляд. Растущая сложность внутри- и межкорпоративных взаимодействий является одной из основных причин того, что на сегодняшний день мы наблюдаем быструю смену целых поколений языков описания бизнес-процессов. Действительно, языки, востребованные в 1990-х – 2000-х гг., стремительно уступают место новым нотациям моделирования, сложность которых поначалу ставит в тупик даже опытных аналитиков. Одним из ярких примеров таких сложных, но актуальных нотаций является язык BPMN 2.0.
Наконец, дисциплина бизнес-моделирования становится по-настоящему значимой только в контексте коммуникации как практики передачи знания о процессной архитектуре предприятия от человека к человеку или от человека — к машине; а коммуникации процессной архитектуры, как и любой другой, нужно последовательно учиться.
В лекциях для студентов ИГХТУ (Иваново) и БГУИР (Минск) проанализирован и обобщен практический опыт применения моделей бизнес-процессов для описания текущих и целевых состояний процессной архитектуры предприятий, подведен теоретический базис под современные представления о подходах к решению задач коммуникации архитектуры, приведен ряд примеров
Где и как хранить данные в процессе их анализа:SQLи не только… Alexey NeznanovПопытка за один раз рассказать о базах данных - от определений до выбора инструментов. Но уже после рассказа об информации, данных, их предобработки и очистки...
Для коллекции, хотя есть определения и хорошие ссылки.
ISUCT & BSUIR. Successful Communication of the Process Architecture [1.0, RUS]Alex V. PetrovАрхитектура предприятия как системы охватывает такие области, как информационно-технологическая и бизнес-архитектура. В свою очередь, одним из компонентов бизнес-архитектуры, заслуженно привлекающим первоочередное внимание и требующим пристального рассмотрения в контексте реализации самых разнообразных бизнес-инициатив, является процессная архитектура.
Грамотно передать суть и содержание бизнес-процессов современного предприятия не так просто, как может показаться на первый взгляд. Растущая сложность внутри- и межкорпоративных взаимодействий является одной из основных причин того, что на сегодняшний день мы наблюдаем быструю смену целых поколений языков описания бизнес-процессов. Действительно, языки, востребованные в 1990-х – 2000-х гг., стремительно уступают место новым нотациям моделирования, сложность которых поначалу ставит в тупик даже опытных аналитиков. Одним из ярких примеров таких сложных, но актуальных нотаций является язык BPMN 2.0.
Наконец, дисциплина бизнес-моделирования становится по-настоящему значимой только в контексте коммуникации как практики передачи знания о процессной архитектуре предприятия от человека к человеку или от человека — к машине; а коммуникации процессной архитектуры, как и любой другой, нужно последовательно учиться.
В лекциях для студентов ИГХТУ (Иваново) и БГУИР (Минск) проанализирован и обобщен практический опыт применения моделей бизнес-процессов для описания текущих и целевых состояний процессной архитектуры предприятий, подведен теоретический базис под современные представления о подходах к решению задач коммуникации архитектуры, приведен ряд примеров
Где и как хранить данные в процессе их анализа:SQLи не только… Alexey NeznanovПопытка за один раз рассказать о базах данных - от определений до выбора инструментов. Но уже после рассказа об информации, данных, их предобработки и очистки...
Для коллекции, хотя есть определения и хорошие ссылки.
1. Инструментальные системы извлечения
информации из ЕЯ-текстов
Обзор основных подходов
Носков Алексей
Кафедра Алгоритмических Языков
МГУ им. М.В.Ломоносова, ВМК
alexey.noskov@gmail.com
2 марта 2011
2. Извлечение информации
Извлечение информации из текстов (Information Extraction)
Выделение структурированной информации (свойств
объектов, отношений, событий) из неструктурированных
текстов на естественном языке.
Нет необходимости производить полный синтаксический
анализ текста (достаточно выделить только необходимые
структуры)
Нет необходимости использовать сложные структуры
данных для представления текста
Приложение настраивается на конкретную область
(например, на политику или экономику)
3. Инструментальные системы извлечения информации
Позволяют создавать приложения, осуществляющие
извлечение информации
Предоставляют готовые элементы для приложений:
Концепции (форматы данных, описания протоколов,
архитектурные решения)
Программный код (осуществляющий работу с форматами,
решающий лингвистические задачи, обеспечивающий
взаимодействие других элементов)
Реализуют различные подходы с точки зрения
представления данных и их обработки
4. Классификация инструментальных систем
Классификация систем по типу представления данных:
Основанные на разметке - лингвистическая информация
хранится непосредственно в тексте
Основанные на аннотациях - лингвистическая информация
хранится отдельно и ссылается на участки текста
Основанные на абстракции - текст хранится как часть
общей структуры данных (в докладе не рассматриваются)
H. Cunningham, K. Humphreys, and R. Gaizauskas, “GATE - a TIPSTER-based
General Architecture for Text Engineering,"IN PROCEEDINGS OF THE TIPSTER
TEXT PROGRAM (PHASE III) 6 MONTH WORKSHOP. DARPA, 1997.
5. Содержание
Основанные на разметке
LT-NSL
Wraetlic
Основанные на аннотациях
GATE
GATE 2
Catalyst
Интеграция поверхностной и глубокой обработки
SProUT
Whiteboard
Heart of Gold
Другие подходы
Learning Based Java
CAFE
6. Лингвистическая разметка
Лингвистическая информация хранится в форме
разметки непосредственно в документе
Разметка обычно представляется в виде SGML или XML
Каждая лингвистическая единица (слово, предложение,
группа) помечается с помощью тэга (<w>,<s>,<np>)
Вложенность тэгов отражает иерархическую структуру
лингвистических единиц
7. Пример разметки в 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>
8. LT-NSL
Разработана в 1996 году
Компоненты (стеммеры, графематические анализаторы)
реализуются в виде отдельных процессов ОС
Компоненты взаимодействуют через стандартные ввод и
вывод (соединяются через UNIX-каналы)
В памяти не хранится весь текст - только необходимая для
обработки часть
D. McKelvie, C. Brew, and H. Thompson, “Using SGML as a Basis for Data-Intensive
NLP"IN PROCEEDINGS OF THE FIFTH CONFERENCE ON APPLIED NATURAL
LANGUAGE PROCESSING (ANLP-97, 1997)
9. LT-NSL: Представление информации
Представление на основе SGML
SGML – четко определенный язык, позволяющий задавать
структурную информацию в тексте
Приложение может игнорировать узлы, не затрагиваемые
конкретным видом анализа
SGML способствует формальному описанию используемой
нотации
Для SGML имеются утилиты для проверки соответствия
документов формальному описанию
Для представления пересекающейся разметки (например,
различных интерпретаций слова) используются ссылки
Документы преобразуются в упрощенную форму для более
эффективного разбора в компонентах
10. Wraetlic
Разработана в 2006 году, Java
Данные представляются в форме XML-разметки
Для преобразований разметки (например, между
компонентами, использующими различные форматы)
используется XSLT
Для представления пересекающейся разметки
используются внешние XML-узлы и ссылки
Реализован специальный модуль для разрешения ссылок
Компоненты могут быть совмещены в одном процессе и
обмениваться уже разобранным XML, находящимся в
памяти
E. Alfonseca, A. Moreno-s, J. M. Guirao, and M. Ruiz-casado, “The wraetlic NLP
suite,"2006.
11. Плюсы и минусы использования разметки
Плюсы
Простота представления информации
Наличие средств для просмотра и редактирования
разметки
Минусы
Трудность представления сложных и пересекающихся
структур
12. Содержание
Основанные на разметке
LT-NSL
Wraetlic
Основанные на аннотациях
GATE
GATE 2
Catalyst
Интеграция поверхностной и глубокой обработки
SProUT
Whiteboard
Heart of Gold
Другие подходы
Learning Based Java
CAFE
13. Аннотации
Лингвистическая информация хранится отдельно от текста
в форме аннотаций
Аннотации ссылаются на фрагменты документа
Аннотации сождержат атрибуты, задающие
характеристики описываемых лингвистических единиц
Аннотации могут быть получены по заданному фрагменту
Параллельные лингвистические единицы (различные
интерпретации одного слова) представляются
параллельными аннотациями (между одними и теми же
позициями)
Множество аннотаций может быть представлено в виде
ациклического ориентированного графа
14. Пример множества аннотаций
As far as I was enabled...
As /6 1 f ar /6 2 as /6 3 I /6 4 was /6 5 enabled 6
/6 ...
0 HJ A An
w w w w w w
np vbar
pp
s
15. Архитектура TIPSTER
Документы состоят из текста и множества аннотаций
За хранение документов отвечает репозиторий
Компоненты запрашивают документы из репозитория
Лингвистическая обработка представляет из себя
преобразование разметки документов
R. Grishman, “TIPSTER text phase II architecture design,"in Proceedings of a
workshop on held at Vienna, Virginia: May 6-8, 1996, pp. 249–305, 1996.
16. GATE
Разработана в 1996 году, C++
Обеспечивает обмен информацией между компонентами
(графематическими анализаторами, стеммерами и т.п.)
Предоставляет максимально общую
теоретико-нейтральную форму для обмена информацией
Позволяет интегрировать различные компоненты (на
различных языках, на различных платформах)
Предоставляет библиотеки для разработки и тестирования
компонентов
Предоставляет среду для построения приложений в
графическом интерфейсе
H. Cunningham, K. Humphreys, and R. Gaizauskas, “GATE - a TIPSTER-based
General Architecture for Text Engineering,"IN PROCEEDINGS OF THE TIPSTER
TEXT PROGRAM (PHASE III) 6 MONTH WORKSHOP. DARPA, 1997.
17. GATE: Компоненты
GDM (Gate Document Manager) - хранилище текстов и
лингвистической информации
Предоставляет единообразный интерфейс для доступа и
манипуляций с данными
CREOLE (Collection of REusable Objects for Language
Engineering) - набор переиспользуемых лингвистических
компонентов
GGI (Gate Graphical Interface) - графический интерфейс,
позволяющий интерактивное создания и тестирование
компонентов и приложений
18. GATE: Плюсы и минусы
Плюсы
Переиспользование лингвистических компонентов
Уменьшение усилий для интеграции
Общая база для разработки компонентов и приложений
Сравнение алгоритмов и их реализаций – компонентов
Удобный графический интерфейс
Минусы
Нет компонентов-источников данных
Не поддерживается генерация текста
Нельзя расширять визуализацию
Необходима совместимость схем аннотаций компонентов
D. Maynard et al., “A Survey of Uses of GATE."
19. GATE 2+
Разработана в 2001 году, Java
Активно развивается по настоящий момент
Полная поддержка Unicode
Возможность описания компонентов, предоставляющих
данные
Возможность описания визуальных компонентов
Язык JAPE для обработки разметки
K. Bontcheva, et.al. “GATE: A Unicode-based infrastructure supporting multilingual
information extraction,"IN PROCEEDINGS OF WORKSHOP ON INFORMATION
EXTRACTION FOR SLAVONIC AND OTHER CENTRAL AND EASTERN
EUROPEAN LANGUAGES (IESL’03), BOROVETS, 2003.
20. GATE 2: Компоненты
Языковые ресурсы
Доступ к документам, корпусам и онтологиям
Возможен доступ к нетекстовым данным
Обрабатывающие ресурсы
Различные этапы обработки - выделение лексем,
морфологический анализ, и т.п
Визуальные ресурсы
Визуализация и редактирование информации или процесса
обработки
21. GATE 2: JAPE
Язык преобразования разметки
Описание процесса преобразований с помощью регулярных
правил
Левая часть правила - регулярное выражение над
аннотациями
Правая часть правила - действия по редактированию
разметки
Добавление аннотаций
Удаление аннотаций
Модификация аттрибутов аннотаций
Произвольный Java-код
H. Cunningham, H. Cunningham, D. Maynard, D. Maynard, V. Tablan, and V.
Tablan, “JAPE: a Java Annotation Patterns Engine,"1999.
23. Catalyst
Архитектура, разработанная в 2002 году
Использует модель аннотаций TIPSTER вместе с моделью
потоков данных
Поддерживает распределенную работу приложения
Основная причина создания - существующие системы
плохо масштабируются
P. Anand et al., “Qanda and the Catalyst Architecture,"2002.
24. Catalyst: Компонентная организация
Центральный репозиторий отсутствует
Компоненты соединяется каналами, по которым
передаются аннотации
Аннотации в каналах упорядочены в соответствии с их
позициями в документе
Компонент объявляет типы принимаемых и порождаемых
им аннотаций
Эта информация используется для передачи только
необходимых аннотаций
27. Catalyst: Плюсы и минусы
Плюсы
Выявление ошибок на этапе сборки
Минимизация кол-ва передаваемых аннотаций
Возможность поточной обработки данных
Возможность распределенной работы
Минусы
Усложнение функционирования системы
Усложнение процесса разработки приложения
28. Плюсы и минусы использования аннотаций
Плюсы
Простота представления информации
Естественное представления пересекающихся структур
Простота обработки в терминах преобразования аннотаций
Возможность преобразования в разметку
Минусы
Отсутствие стандартных средств для просмотра и
редактирования
Трудность представления сложных структур, необходимых
для глубокого анализа текста
29. Содержание
Основанные на разметке
LT-NSL
Wraetlic
Основанные на аннотациях
GATE
GATE 2
Catalyst
Интеграция поверхностной и глубокой обработки
SProUT
Whiteboard
Heart of Gold
Другие подходы
Learning Based Java
CAFE
30. Интеграция поверхностной и глубокой обработки
Часто поверхностного анализа (выделения необходимых
конструкций) не достаточно для качественного извлечения
информации
Необходима интеграция компонентов, осуществляющих
глубокий анализ (с учетом многих интерпретаций и
возможно полным разбором)
Интеграция глубокого и поверхностного анализа
представляет сложности в силу:
Различного представления данных
Различной скорости обработки
U. Sch¨fer, “Integrating Deep and Shallow Natural Language Processing Components
a
– Representations and Hybrid Architectures,"Faculty of Mathematics and Computer
Science, Saarland University, 2007.
31. SProUT
Разработана в 2002-2004 годах
Объединеняет идеи использования унификационных
грамматик и конечных преобразователей
Лингвистические единицы описываются структурами
признаков
Для разбора используются конечные преобразователи,
использующие унификацию над структурами признаков
Дополнение до контекстно-свободного формализма за счет
возможности вызова других правил преобразователя
Расширение преобразователя за счет добавления
функциональных операторов
W. Drozdzynski, H. Krieger, J. Piskorski, U. Sch¨fer, and F. Xu, “Shallow Processing
a
with Unification and Typed Feature Structures Foundations and
Applications,"K¨nstliche Intelligenz, vol. 1, pp. 17–23, 2004.
u
33. SProUT: Структуры признаков
Структура признаков - набор пар признак-значение
f : q:a
g : c
h:d
Здесь f, g, h - признаки, q : a , с и d - соответствующие
значения
Значением может быть другая структура признаков
Для структур признаков определено отношение частичного
порядка
q:a
f : f : e f : q:a
g : c
⊆ h:d
h:d
34. SProUT: Унификация структур признаков
Результат унификации структур признаков α и β –
структура γ, содержащая информацию как из α, так и из β
γ ⊆ α, γ ⊆ β
Структуры признаков могут содержать переменные
При унификации переменные могут получать значения
f: 1 q: 2
h:e
Результатом унификации g : 1 и будет:
i:u
h: 2
f : 1 q:e
g : 1
h : e
i:u
35. SProUT: Пример правила
P OS : Determiner
?
CASE : c
morph &
IN F L : N U M BER : n
GEN DER : g
P OS : Adjective
*
CASE : c
morph &
IN F L : N U M BER : n
GEN DER : g
P OS : N cat
oun
CASE : c
morph &
IN F L : N U M BER : n
GEN DER : g
CAT : cat
CASE : c
→ phrase &
AGR : agr& N U M BER : n
GEN DER : g
36. SProUT: Применение правил
При сопоставлении элемента правила с лингвистической
единицей происходит унификация соответствующих
структур признаков
При успешной унификации переменные в структурах
правила получают значения и ограничивают
унифицируемость последующих элементов
Так реализуется согласование
После унификации всех входящих в правило элементов
порождается новая структура признаков
37. Whiteboard
Разработана в 2000-2002 годах
Анализ текста поверхностными методами для выявления
участков, требующих глубокой обработки
Использование результатов поверхностного анализа как
эвристической информации при глубоком анализе
Представление данных на поверхностном уровне с
помощью XML
Структуры для глубокого представления хранятся
отдельно и связаны с разметкой
B. Crysmann et al., “An Integrated Architecture for Shallow and Deep
Processing,"UNIVERSITY OF PENNSYLVANIA, pp. 441–448, 2002.
39. Heart of Gold
Разработана в 2004-2005 как развитие Whiteboard
Приложение посылают запросы об анализе документов
центральному координатору
Центральный координатор распределяет задачи между
компонентами и осуществляет слияние результатов
Результат обработки каждого компонента -
недоспецифицированная семантическая информация
Каждый следующий компонент расширяет ее или
оповещает о невозможности расширения
XML для представления данных
XSLT для преобразования данных
U. Callmeier, A. Eisele, U. Sch¨fer, and M. Siegel, “The DeepThought core
a
architecture framework,"in Proceedings of LREC, vol. 4, pp. 1205–1208, 2004.
41. Плюсы и минусы интеграции поверхностной и глубокой
обработки
Плюсы
Увеличение качества анализа
Возмлжность использования более выразительных
формализмов
Минусы
Усложнение системы
Снижение производительности
42. Содержание
Основанные на разметке
LT-NSL
Wraetlic
Основанные на аннотациях
GATE
GATE 2
Catalyst
Интеграция поверхностной и глубокой обработки
SProUT
Whiteboard
Heart of Gold
Другие подходы
Learning Based Java
CAFE
43. Learning based Java
Проект 2007 года
Процесс анализа текста представляется в виде композиции
статистических моделей
Модели определяют признаки данных и ограничения на
них данных
Система осуществляет поиск решения, оптимизирующего
весовую функцию от результатов моделей
Система позволяет как обрабатывать данные, так и
обучать модели на данных
N. Rizzolo and D. Roth, “Learning Based Java for Rapid Development of NLP
Systems,"in Proceedings of the International Conference on Language Resources and
Evaluation (LREC), 2010.
44. 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/sof tware_view/11
45. Learning Based Java: Пример приложения
/** Here, we train averaged Perceptron for many
* rounds of the training data. **/
discrete NewsgroupClassifierAP(Post post) <-
learn NewsgroupLabel
using BagOfWords
from new NewsgroupParser("data/20news.train.shuffled")
40 rounds
with SparseNetworkLearner {
SparseAveragedPerceptron.Parameters p =
new SparseAveragedPerceptron.Parameters();
p.learningRate = .1;
p.thickness = 3;
baseLTU = new SparseAveragedPerceptron(p);
}
progressOutput 20000
testFrom new NewsgroupParser("data/20news.test")
end
46. CAFE
Проект 2001 года
Система состоит из компонентов, обрабатывающих данные
последовательно
Компоненты работают одновременно
Компоненты предоставляют результаты работы по мере их
получения
На следующий уровень передается несколько наилучших
вариантов анализа
На предыдущий уровень передается информация об оценке
полученных вариантов анализа
S. C. Stoness, “Continuous Understanding: A First Look at CAFE,"2001.
48. Сравнение подходов
Сравнение подходов
Разметка отличается простотой и наличием готовых
инструментов, однако уступает использованию
аннотаций в гибкости
Аннотации позволяют получить многие преимущества
разметки за счет возможности конвертирования аннотаций
в разметку и обратно
В связи с большой популярностью GATE многие
практические системы используют аннотации
Однако, и разметка и аннотации ограничены при
представлении сложных структур данных
Интеграция поверхностной и глубокой обработки,
возможно, является перспективным направлением
49. Интересные направления
Интеграция поверхностной и глубокой обработки
Возможности построения распределенных систем
Обратная связь между компонентами, осуществляющими
анализ
Предоставление системой возможностей для обучения
статистических моделей
Баланс между широкими возможностями и низким
порогом вхождения