Читатели спрашивают… (часть 1)

На shcherbak.net  добавлена новая рубрика «Читатели спрашивают…» В рамках этой рубрики читатели shcherbak.net могут  задавать вопросы по тематике Semantic Web, а мы и вы, читатели -специалисты в Semantic Web, надеюсь сможем на эти вопросы ответить. ))

В качестве первой записи этой рубрики решил взять вопросы читателя Dio.

Отвечаем вместе! Присоединяйтесь к обсуждению.

Из комментария читателя dio в FAQ SHCHERBAK.NET:

Я недавно начал знакомиться с инструментарием Semantic Web и пытаюсь выяснить, насколько он применим в моей ситуации. Хотел бы прояснить накопившиеся вопросы, да и вообще уточнить, в ту ли сторону я копаю. Надеюсь, в этом разделе сайта мои вопросы будут более-менее уместны. Должен сказать, что ко всему хорошему вдобавок, мое понимание БД чисто теоретическое, никаких сведений о прикладных аспектах работы с ними я не имею, т.к. моя область — алгоритмы Text Mining. Из-за этого затруднительно бывает понять, какие в точности задачи решает тот или иной инструмент. Одним словом, “сами мы нездешние, люди добрые, допоможите хто сколько сможет”(С) и т.д.

Вопросы:
1) Предположим, объект класса A определен как нечто, имеющее необходимую связь b c объектом класса С (экзистенциальная связь с кардинальностью min 1). Индивидуал I помещен в класс A явно. В Protégé 3 при этом на закладке Frames появляется табличка для ввода значений соответствующего свойства. Табличка подкрашивается красным, пока свойство не введено. В Protégé 4 не происходит вообще ничего.
Вопрос: можно ли заставить Protégé сообщать о таких ситуациях, как о явных ошибках и выдавать их списком.
2) Как выразить на OWL отношение следования вида A b C d V => A e V. Здесь (A, B) – классы, (b, d) – свойства классов, V – класс или тип данных, e – свойство класса или свойство данных.
Например:
Индивидуалы: Событие:Рождение, Персона:Человек, Дата:Год
(Рождение -> Год, Рождение -> Человек) => Человек (родился) Год
3) Контора имеет несколько традиционных баз данных, каждая из которых представляет какой-то аспект «предметной области». Реальна ли такая интеграция этих баз при помощи надстроечной онтологии, описывающей «предметную область» полностью, чтобы никаких фактических изменений в уже работающей части системы делать не пришлось? Годятся ли для этого такие средства, как D2RQ или Virtuoso? Какое средство предпочтительней?
4) Как решаются проблемы с масштабируемостью отдельной онтологии. Видно, что Protégé целиком прогружает онтологии в память и при размере онтологий порядка нескольких сот тысяч элементов начинает работать уже с некоторым скрипом. Если онтология генерируется по содержимому большой БД «традиционного типа», как это оговорено в п.3, размеры явно будут гораздо большими и критерия для деления результирующей онтологии на фрагменты не видно.
5) Предположим, что часть синсетов WordNet конвертируется в иерархию классов OWL, т.е., отношение isKindOf заменяется OWL isSubclassOf. При этом синсеты WordNet имеют еще десяток связей других типов, каждая из которых имеет определенные свойства (по наличию обратных, транзитивности, запрету на образование циклов и т.п.). Надо полагать, что в нотации OWL это должно быть выражено в виде требования, чтобы экземпляры, выведенные от синсета такого-то, имели связи со всеми экземплярами, выведенными от синсета сякого-то + описание дополнительных свойств. Есть ли практическая возможность поддерживать такого рода онтологию на OWL, или она будет слишком громоздкой?
6) Насколько эффективна будет процедура вывода в онтологии, состоящей из нескольких десятков тысяч классов и нескольких миллионов индивидуалов. Можно ли рассчитывать на то, что при автоматическом пополнении онтологии с таким характерным размером процедура классификации сможет отрабатывать если и не после каждой вставки, то хотя бы раз в час. Ожидающийся темп пополнения – десятки/сотни вставок в час.

Первые ответы на эти вопросы здесь!

РАЗРАБОТКА ОНТОЛОГИИ ДИСТАНЦИОННОГО КУРСА

А.Л. Данченко

Восточноукраинский национальный университет имени Владимира Даля, кафедра системной инженерии, г. Луганск, Украина, danallen@mail.ru

Материалы дистанционных курсов (ДК) представляют собой знания и являются ценным источником информации. Использование международных стандартов [1] при разработке ДК обеспечивает совместимость с Веб-технологиями, упрощает модификацию и повторное использование ДК различных разработчиков. Существующие системы дистанционного обучения (СДО), такие как WebTutor, Прометей, MOODLE, REDCLASS и др. поддерживают международные стандарты SCORM, IMS, но не обеспечивают наличие смысловых связей между знаниями ДК. Это исключает возможность автоматизированного анализа знаний программными средствами и ограничивает интеллектуальные возможности обучающей системы по построению индивидуальных планов обучения и консультирования в рамках текущей дисциплины. Таким образом, актуальной является задача построения базы знаний ДК на основе семантических связей ДК.

Анализ типовых элементов дистанционного курса

Любой ДК можно представить как набор модулей М, объединяющих в себе множества лекционных (Lec), практических (Pract), лабораторных (Lab) занятий и тестов (Test). Практические и лабораторные занятия пересекаются с теорией лекций, тесты могут быть частью любого занятия.
DK = {m1→m2→…mn:m∈M},
M = {l: l∈Lec∪(Lect→Pract)∪(Lect→Lab)∪(Lect→Test)}.

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

Построение онтологии ДК


Онтология определяет набор основных понятий предметной области и связи между ними. Обоснованность онтологического подхода определена рекомендациями [2]. При построении онтологии ДК необходимо учитывать следующее:
1.    Онтология определяет иерархию базы знаний ДК;
2.    Онтология используется для реализации механизма построения адаптивных курсов обучения, для консультирования обучаемых, ответы выдаются с привязкой к предметной области изучаемого курса;
3.    Онтология является расширяемой в рамках каждой предметной области;
4.    Поддержкой онтологии занимаются преподаватели-разработчики курсов.

Известно, что термины разных предметных областей могут иметь различные толкования и значения. Зная Направление и Тематику курса, можно будет избавляться от семантического шума на первых этапах информационного поиска. Онтология верхнего уровня для базы знаний на основе ДК представлена на рис.1.

struct

Рис. 1. Схема онтологии «Дистанционный курс»

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

Список литературы
1. SCORM 2004 4th Edition Sequencing and Navigation Version 1.0, Advanced Distributed Learning, March 31, 2009. Available at: http://www.adlnet.gov/
2. http://protege.stanford.edu publications/ontology_development/ontology101.html.
3. Жыжырий Е.А. Щербак С. С. Применение Web-онтологий в задачах дистанционного обучения //Восточно-Европейский журнал передовых технологий. – № 15. – c. 50-55.


Международная научно-практическая конференция «Веб-программирование и Интернет-технологии WebConf09″: Сб. матер. Междунар. науч.-практ. конф. Минск, 8-10 июня 2009г.- Мн.: Институт математики НАН Беларуси, 2009.-112с.

В.В. Иванов

Казанский государственный университет, Казань, Российская Федерация
nomemm@mail.ru

Задача интеграции структурированных текстовых описаний возникает при представлении информации в глобальной сети Интернет, где в последнее время актуальной стала идея Semantic Web (или, Web 3.0), реализация которой в большой степени зависит от возможности автомати¬ческой обработки смыслового содержимого веб-ресурсов по их онтологи¬ческому представле¬нию. В докладе описывается подход к разработке математического и программного обеспечения процессов интеграции структурированных текстовых описаний на основе прикладной онтологии. Освещаются вопросы выбора общедоступных ресурсов онтологи¬ческого характера для построения прикладной онтологии по культурному наследию, подход к формализации связей между онтологией верхнего уровня и информационно-поисковым тезаурусом (ИПТ), модель процесса интеграции структури¬рован¬ных текстовых описаний, результаты экспериментов с алгоритмом поиска соответствий между элементами структури¬рован¬ных описаний и онтологии. Предлагаемые методы применялись для интеграции разнородных структурированных текстовых описаний музейных предметов с использованием технологий Semantic Web.

В качестве типичных представителей ресурсов онтологического типа рассматриваются онтологии верхнего уровня и ИПТ. Выбор такого рода ресурсов обоснован двумя факторами: необходимостью формального описания свойств и взаимосвязей объектов предметной области и потребностью использования разнообразной тер¬ми¬но¬логии. Онтология верхнего уровня CIDOC CRM [1] и тезаурус по архи¬тектуре и искусству AAT [2] могут стать основой для построения онтологии по культурному наследию. Приоритет при выборе тезауруса отдавался доступным русскоязычным ресурсам ресурса большого объема – порядка нескольких тысяч понятий. Тезаурус ААТ является наиболее полным среди всех известных тезаурусов в данной предметной области (общее число понятий – около 33 тыс., число терминов – более 130 тыс.). Перевод большего фрагмента тезауруса на русский язык осуществлен в НИВЦ МГУ [3]. Связыва¬ние онтологии верхнего уровня и ИПТ осуществляется с помощью задания набора логических ограничений на множество допустимых значений формальных свойств в онтологии верхнего уровня. Результатом связывания онтологии CIDOC CRM и тезауруса ААТ стал крупный онтологический ресурс по культурному наследию.

Центральным понятием в процессе интеграции является структурированное текстовое описание. Определение этого понятия основано на расширении определения понятия отношения из [4]. Ключевым в процессе интеграции структурированных текстовых описаний является алгоритм поиска элементарных соответствий между структурными элементами описаний и онтологии на основе анализа их текстового содержимого. Проведено сравнение предлагаемого алгоритма поиска соответствий с известными методами классификации. Для экспериментов были выбраны метод KNN, основанный на предварительном обучении, и метод кластеризации: KMeans.

Для оценки качества результата отображения используются методы фактографии¬ческого поиска в интегрированном хранилище описаний. Проведено сравнение алгоритма поиска описаний с ИПС «Google» на 8000 описаний музейных предметов. Точность предлагае¬мого алгоритма поиска на 300 случайных запросах, содержащих понятия тезауруса, лучше в среднем на 11 – 49%. При этом полнота поиска не изменялась, либо (на некоторых из запросов) за счет использования тезауруса количество извлеченных описаний увеличи¬валось в 3 – 5 раз.

Список литературы

1. Crofts N., Doerr M., Gill T., Stead S. Definition of the CIDOC Conceptual Reference Model [Электронный ресурс]. – Режим доступа: http://cidoc.ics.forth.gr/docs/cidoc_crm_version_4.0.pdf, свободный.
2. Petersen T., Barnett P. Art & Architecture Thesaurus: Guide to Indexing and Cataloging With the Art & Architecture Thesaurus. – Oxford University Press, 1994.
3. Добров Б.В., Лукашевич Н.В., Соловьев В.Д. Тезаурус по архитектуре и искусству как средство формализации описаний музейных предметов // Электронный журнал FCCL. – 2006. – [Электронный ресурс]. – Режим доступа: http://fccl.ksu.ru/issue_spec/docs/aat_index.doc, свобод¬ный.
4. Дейт К. Дж. Введение в системы баз данных. – 8-е изд. – М.: Вильямс, 2006.


Международная научно-практическая конференция «Веб-программирование и Интернет-технологии WebConf09″: Сб. матер. Междунар. науч.-практ. конф. Минск, 8-10 июня 2009г.- Мн.: Институт математики НАН Беларуси, 2009.-112с.

Н. Г. Кеберле

Запорожский национальный университет, Запорожье, Украина
nkeberle@gmail.com

Онтология – формальная теория, модель которой аппроксимирует [1] понятийную структуру (также называемую концептуализацией) предметной области.

Большой толчок к практическому и повсеместному использованию онтологий был дан с появлением концепции Semantic Web [2]. Semantic Web — это концепция сети, в которой каждый ресурс был бы снабжён неким формальным описанием, пригодным для обработки программными агентами. Одним из катализаторов распространения Semantic Web является разработка языков описания знаний и правил вывода на знаниях, которые дают возможность экспортировать полученные новые знания для использования.

Подверженность изменениям – неотъемлемая характеристика любой предметной области. Можно выделить объективные и субъективные причины изменений в концептуализации предметной области. К объективным причинам можно отнести изменения в самой предметной области, обусловленные внешними и не зависящими от исследователя предметной области факторами. К субъективным причинам отнесем изменения точки зрения исследователя на предметную область, расширение/сужение предметной области для нужд некоторой задачи.

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

В условиях Semantic Web онтологии, представленные различными информационными ресурсами, разрабатываются распределенно, автономно, вместе с тем приветствуется повторное использование, комбинирование готовых онтологий  для нужд информационного ресурса. Идеология Semantic Web не вводит запретов на изменения в онтологиях, таким образом, сам разработчик информационного ресурса ответственен за актуальность использованных онтологий. Отслеживание изменений может облегчить принятие решения об использовании более ранних по времени версий онтологии вместе с более поздними, а значит, и использовать унаследованные информационные ресурсы вместе с новыми ресурсами. При разрешении любых изменений в онтологии, допускаемых языком описания онтологии, на первый план выходят задачи совместного редактирования онтологий[3], отслеживания, представления[4] и хранения изменений[5], вычисления разностей между разными версиями онтологий. В настоящее время ведутся интенсивные работы в этом направлении, которые во многом используют решения из области разработки программного обеспечения[6], но также учитывают  и специфику онтологий [7].

Сложность этого направления во многом обусловлена особенностями онтологии как объекта системы управления архивом версий. Наряду с задачами синтаксического уровня – представления изменений, визуализации разностей для версий онтологии, встают задачи семантического уровня – вычисление разностей для версий, определение логической совместимости онтологии в разных версиях, логический анализ классов онтологий на предмет сужения/расширения моделей, применимость версии онтологии к заданному набору фактов.

Одним из подходов к решению указанных задач семантического уровня является логический подход, при котором запросы к набору версий онтологий формулируются на логическом языке, допускающем темпоральные конструкции [8]. Логический вывод для темпоральных конструкций требует создания машины вывода на временной структуре, которой соответствует архив версий онтологии. Pellet-MeT [9] – машина вывода на линейной дискретной моментарной временной структуре – позволяет проверять выполнимость темпоральных утверждений о классах в наборе версий онтологии.

Список литературы
1. Guarino, N.  Formal Ontology and Information Systems. In:  Guarino, N. (ed.) Proc. 1st Int’l Conference on Formal Ontology in Information Systems, 3-15. IOS Press/Ohmsha, 1998.
2. Berners-Lee, T., Hendler., J., Lassila O. The Semantic Web. Scientific American, May 2001.
3. Collaborative Protege [Электронный ресурс]. – Режим доступа:  http://protegewiki.stanford.edu/index.php/ Collaborative_Protege
4. Change View [Электронный ресурс]. – Режим доступа: http://code.google.com/p/co-ode-owl-plugins/ wiki/ChangeView
5. Change Tab [Электронный ресурс]. – Режим доступа: http://protegewiki.stanford.edu/index.php/Changes_Tab
6. Redmond, T., Smith, M., Drummond, N., Tudorache, T.: Managing Change: An Ontology Version Control System. In: Proc. OWLED 2008.
7. Konev, B., Lutz, C., Walther, D., Wolter, F. Logical Difference and Module Extraction with CEX and MEX. In: Proc. DL 2008.
8. Keberle, N., Litvinenko, Yu., Gordeyev Yu., Ermolayev, V. Ontology Evolution Analysis with OWL-MeT. In: Flouris, G., d’Aquin, M. (eds.) Proc. Int’l Workshop on Ontology Dynamics (IWOD’07), ESWC 2007.
9. Pellet-MeT [Электронный ресурс]. – Режим доступа: http://ermolayev.com/owl-met/.

Редактор онтологий Protege 4 – релиз!

16 июня 2009 года  команда CO-ODE выпустила релиз одного из самых популярных редакторов онтологий  Protege 4.

В качестве основных возможностей этого редактора заявляют поддержку OWL 2, возможности прямого подключения к подсистемам логического вывода Pellet и FaCT++.

Более подробно о функциональных возможностях релиза Protege 4 можно почитать здесь!

Загрузить релиз можно отсюда!

Скриншот релиза Protege 4:

 Скриншот  релиза Protege 4

Интеллектуальный анализ данных (ИАИ-2009)

В Киеве 19-22 мая 2009 года проходила 9-я международная научная конференция имени Т.А. Таран.

Как оказалось эта конференция просто кладезь знаний по ИИ, онтологиям и Semantic Web.

Наиболее интересными на мой взгляд были доклады:

1. Валькман Ю.Р. О моделировании образного мышления: классификация, отношения и структура образов (стр. 38-48).

2. Лесько О.Н. , Рогушина Ю.В. Автоматизация семантической разметки естественно-языковых текстов (стр. 247-254).

3. Титенко С.В., Гагарин А.А.  Проблема моделирования знаний в интеллектуальных обучающих системах (стр. 384-391)

4. Вьюн В.И., Кузьменко Г.Е. Интеллектуализация ИС: от информационно-поисковых тезаурусов до онтологических схем содержательного анализа результатов деятельности системы (стр 68-73).

5. Карпусь И.В. Мультимодельный аспектно-ориентированный метод проблемно-ориентированного  проектирования программных систем (стр. 155-163).

6. Коргут С.А. Методика создания интеллектуального сайта (стр. 178-185).

7. Курзанцева Л.И. О построении адаптивного интеллектуального интерфейса пользователя компьютерной системы (стр. 219-226).

8.  Любченко В.В.  Онтологическая модель знаний о предметных областях учебных курсов (стр. 269-275).

9. Покровский Е.О., Савчук О.В., Приймак О.Н., Несенюк Н.В. Использование сеамнтических web-сайтов при интеллектуальном анализе в технико-економических системах (стр. 327-334).

10. Сирота С.В. Использование онтологий для генерации тестов в обучающих системах (стр. 372-378).

11. Шатовская Т.Б., Репка В.Б., Каменева И.В. Технология создания репозитория статистических данных на основе агентных и онтологических моделей (стр. 439-446).

12. Чаюн В.Г., Россошинський Д.А. Матричная модификация метода резолюций (стр. 413-434).

Одним из наиболее ярких событий ИАИ-2009 стал семинар по Semantic Web, наиболее активными участниками которого были Рогушина Ю.В.,  Лесько О.Н., Гришанова И.Ю из Института программных систем НАНУ и Титенко С.В. из лаборатории  СЕТ НТУУ КПИ. Было очень интересно, спасибо ВАМ!

На базе Белорусского государственного университета (Беларусь, Минск) 8–10 июня 2009 будет проводится международная научно-практическая конференция «Веб-программирование и Интернет-технологии (WebConf09)».

Загрузить Первое информационное сообщение WebConf09.

Итак, чем будет интересна WebConf09 разработчикам и исследователям Semantic Web? Read the rest of this entry »

SWRL – как, зачем?

Как показывает практика, русскоязычного контента о технологиях Семантик Веб днем с огнем не сыщешь. С одной стороны хорошо, а с другой – как-то не очень. Поэтому, некоторым людям иногда приходят мысли – а не написать ли чего-нибудь интересного, дабы обратить полезную (или не очень – кому как) информацию в массы, так сказать.
Где-то так и появился следующий ниже текст, в котором автор пытается ненавязчиво в двух словах рассказать о том, что же такое SWRL.


Read the rest of this entry »

Сегодня читателям SHCHERBAK.NET представляется возможность посмотреть какие языки описания графов (RDF-based) можно применять при разработке прикладного программного обеспечения. А главное, в очерке вы найдете описания фреймворков для работы с графовыми разметками.

Читать


Александру Качуру, студенту кафедры Информационных управляющих систем, хочу выразить благодарность за предоставленные материалы.

Александр Качур

Как известно граф — это совокупность объектов со связями между ними.

Объекты представляются как вершины, или узлы графа, а связи — как дуги, или рёбра. Для разных областей применения виды графов могут различаться направленностью, ограничениями на количество связей и дополнительными данными о вершинах или рёбрах. Многие структуры, представляющие практический интерес в математике и информатике, могут быть представлены графами. В данной заметке речь пойдет о представлении, при помощи графа, такой структуры как компьютерные сети.

Задача возникла в контексте проблемы визуального представления сети. От формата ожидалась возможность описания помимо топологии сети, еще и некоторых составных элементов рабочих станций. Идеальным для этой цели стал RDF-based формат NDL (http://www.science.uva.nl/research/sne/ndl).

NDL — Network Description Language, по сути является онтологией для описания компьютерных сетей.

NDL представляет собой совокупность пяти ключевых структур.

Topology schema — структура для описания устройств (рабочих станций), сетевых интерфейсов и соединений между ними. Также в этой структуре определен класс Location, определяющий месторасположение устройства.

Layer schema — абстрактная структура для описания специфических сетевых технологий и взаимосвязью между сетевыми уровнями.

Сapability schema —  структура служащая для описания совместимости устройств.

Domain schema  – описывает область администрирования(домен), сервисы в этой области, а также логическое представление данного сегмента сети, входящего в домен.

Physical schema — описание физических аспектов сетевых элементов, а также составных частей этих элементов.

Ниже представлена UML диаграмма классов данных структур.

UML

Но в связи со сложностью работы с сетями, описанными с помощью NDL, пришлось продолжить поиск, и  следующим рассмотренным форматом стал DOT.

DOT — это язык описания графов в виде простого текста. Его кстати использует довольно известный генератор документации Doxygen. Простота в описании графов с помощью этого языка видимо была поставлена во главу угла, что можно увидеть на данных примерах:

Неориентированный граф

н граф graph graphname {
a — b — c;
b — d;
}

Ориентированный граф

о-граф digraph graphname {
a -> b -> c;
b -> d;
}

Конечно, данные примеры являются по сути «Hello world»-графами, но принцип описания узлов и связей между ними они отображают в полной мере. Для описания топологии данный формат подходит отлично, являясь простым и «обезжиренным». Набор атрибутов, применимых к объектам графа, предельно лаконичен ну и реализация API для работы с ним не представляет особого труда, в отличие от громоздкого NDL. Однако DOT не предоставляет возможности пользователю описывать и добавлять собственные параметры к ребрам и вершинам, что является серьезным минусом в контексте рассматриваемой проблемы.

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

GraphML — это формат описания графов основанный на XML. GraphML – полнофункциональный и удобный в работе файловый формат для описания графов. Он включает базовый язык предназначенный для описания структурных свойств графа и гибкий механизм расширения его расширения, что позволяет включать в описание графа данные специфичные для приложений.

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

В отличие от многих других форматов описания графов, GraphML не использует специфический синтаксис. Вместо этого он использует синтаксис основанный на языке XML, и следовательно идеально подходит в качестве универсального средства для формирования, архивирования, или обработки графов.

Примитивный граф с двумя вершинами и ребром между ними выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns
     http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
 <graph id="G" edgedefault="undirected">
    <node id="n0"/>
    <node id="n1"/>
    <edge id="e1" source="n0" target="n1"/>
  </graph>
</graphml>

Определившись с выбором языка необходимо было еще найти фреймворк для визуализации графов, так как изобретать велосипеды давно уже не прельщает. Вот краткий перечень таких фреймворков:

Java Graph Editing Framework (GEF)

GEF

Цель проекта GEF заключается в том, чтобы создать библиотеку для редактирования графов, которая может быть использована для построения  высококачественных пользовательских приложений работы с графами. Возможности GEF:

  • Простой и понятный  дизайн, который дает возможность разработчику расширять функциональность библиотеки.
  • Node-Port-Edge модель представления графа, которая позволяет выполнять подавляющее большинство задач встречающихся в приложениях для работы с графами.
  • XML-based формат файлов, основанный на стандарте PGML (в скором времени обещают поддержку SVG).

ILOG JViews
jviews

ILOG JViews предоставляет компоненты, предназначенные для использования в пользовательских приложениях, а также на совместно с Ajax и платформой Eclipse.

Java Universal Network / График Framework (JUNG)

jung
JUNG  - это программная библиотека, которая предоставляет удобный и расширяемый интерфейс для моделирования, анализа и визуализации данных, которые могут быть представлены в виде графа или сети. Он написан на Java, что позволяет JUNG-приложению использовать в полной мере Java API, а также сторонние библиотеки. Являясь open-source библиотекой, JUNG представляет собой фреймворк для анализа и визуализации, как графов так и  сетей.

jgrapht

JGraphT является свободно распространяемой библиотекой, которая обеспечивает математический аппарат теории графов. JGraphT поддерживает различные виды графов, включая: ориентированные и неориентированные графы; графы со взвешенными / невзвешенный / именованными или любым другим форматом ребер определенным пользователем; не модифицируемые графы – обеспечивается доступ в режиме «только чтение» к внутренним графам; listenable графы – разрешает внешним слушателям отслеживать возникновение событий; подграфы – графы, которые являются представлением других графах.

JGraphT являясь мощным средством, разрабатывался как простое и type-safe (с использованием Java кодогенераторов) средство для работы с графами. Например, вершиной графа может быть любой объект. Вы можете создавать графики на основе: строки, URL, XML документов и т.п., вы можете даже создавать графы графов.

Вот еще некоторые из визуализационных фреймворкков для Java – Piccolo, Processing, The Visualization Toolkit (VTK), JUNG, The InfoVis Toolkit, Improvise.

Наиболее интересным на мой взгляд средством визуализации графов является проект под названием prefuse, разработанный в Berkeley.

prefuse
Prefuse изначально разрабатывался как фреймворк  для создания интерактивных приложений визуализации информации с использованием языка программирования Java. Prefuse flare предоставляет собой средство для анимации с помощью ActionScript Adobe Flash Player.

Prefuse поддерживает богатый набор функций для передачи данных моделирования, визуализации и взаимодействия. Она предоставляет оптимизированные структуры данных для представления таблиц, графиков, а также деревьев, поддержку анимации, динамические запросы, комплексный поиск и подключение базы данных. Prefuse написан на Java, с использованием Java 2D графической библиотеки, и легко интегрировать в Java Swing приложений или веб-апплеты. Prefuse лицензируется по условиям лицензии BSD, и могут свободно использоваться как для коммерческих и некоммерческих целях. Он может быть использована для создания обычных приложений, визуальных компонентов, встроенных в более крупных приложений и веб-апплеты. Prefuse является гибким средством визуализции данных, существенно упрощающий процесс отображения данных на их визуальное представление, а также взаимодействия с данными.

API Рrefuse’a работает с такими форматами данных как GraphML, TreeML. Существует также поддержка простых типов представления данных таких как CSV и возможность получения данных напрямую из таблиц баз данных.

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

NDL — мощнейшее узкоспециализированное средство для представления сетей. Является RDF онтологией и позволяет детальнейшим образом описать компьютерную сеть.

DOT — легковесный  инструмент для описания графов. Может использоваться при создании эскиза или топологического описания большой распределенной компьютерной сети, без подробностей о конкретных участках.

GraphML — является, грубо говоря, промежуточным звеном между этими двумя форматами. XML структура позволяет легко расширять узлы свойствами, в то-же время сохраняя простую структуру описания графа.

Сегодня,  уважаемые читатели сайта SHCHERBAK.NET, вам предлагается для ознакомления статья, в которой  предлагается подход к представлению онтологий в виде конечного автомата. Такое представление позволяет ввести операции на онтологиях. Операции на онтологиях дают возможность автоматизировать процесс анализа и синтеза онтологий и их составляющих.

Читать


Хочу выразить благодарность авторам статьи, за интересный и, скажем чесно, нестандартный взгляд на проблему представления онтологий. Авторы статьи – Крывый С. Л. , Ходзинский А.Н. (Институт кибернетики им. В.М. Глушкова НАН Украины).

Крывый С. Л., Ходзинский А.Н.

Институт кибернетики им. В.М. Глушкова НАН Украины,

Украина, Киев, пр. акад. Глушкова, 40,

т. (044)-526-22-34, 526-04-58, email: krivoi@i.com.ua, ho@cyber.kiev.ua

Аннотация. Предлагается подход к представлению онтологий в виде конечного автомата.
Такое представление позволяет ввести операции на онтологиях. Операции на онтологиях дают возможность автоматизировать процесс анализа и синтеза онтологий
и их составляющих частей.

Abstract. A representation of ontology by using finite state automata is considered. This representation allows to introduce the operations on ontologies by using regular algebra of languages. The operations over ontologies allow to automatisate the process of analysis and synthesis for ontologies and their members.

Ключевые слова: онтологии,операции, конечные автоматы

Введение

В последнее время в естественных науках и, в частности, в теоретическом программировании появилось столько различных направлений, течений и теоретических результатов, что становится проблематичным охватить хотя бы малую часть поля научной деятельности даже в отдельно взятых областях. Одним из подходов к пониманию взаимосвязей между различными течениями и теориями является онтологический подход [1,2]. Кроме того, в связи с возрастанием сложности программного и технического обеспечения вычислительных процессов требуется интеллектуализация этих процессов и такой интеллектуализации можно достичь, по мнению многих специалистов, путем использования онтолого-управляемых систем поиска, извлечения и обработки знаний, содержащихся в онтологиях. Онтологический подход для построения связей между понятиями некоторой предметной области, как правило, основывается на определении отношения «предметная область – свойства – модели – приложения». В данной работе рассматривается способ представления онтологий с помощью конечных автоматов с одной стороны, и отношений, лежащих в основе каждой онтологии. Этот подход позволяет ввести операции на онтологиях используя операции на языках и автоматах. При таком подходе типы онтологий и их иерархия не детализируется с целью подчеркивания общности рассматриваемых операций. Операции иллюстрируются на простых примерах онтологий,
относящихся к компьютерной математике [3].

Автоматное представление онтологий

Будем предполагать, что онтологии представляются в виде орграфа G = (V, E), где множество вершин V представляет множество предметных областей, а множество ребер E – бинарное отношение между этими предметными областями. С каждым таким орграфом G = (V, E) будем ассоциировать конечный (вообще говоря) частичный детерминированный автомат без выходов A = (V, X=V, f,S, F), где
V – множество состояний, которое также служит входным алфавитом данного автомата, S – подмножество начальных состояний, F – подмножество заключительных состояний (которое, в частности, может быть пустым), а функция переходов данного автомата определяется следующим образом: f(u,v) = v тогда и только тогда, когда (u,v) E и не определено в остальных случаях.

Рассмотрим пример представления фрагмента онтологии для предметной области «Комбинаторика» с помощью конечного автомата [5].

Пример 1. Пусть задана онтология, отражающая малую часть предметной области «Комбинаторика», в виде следующего орграфа:

Рис. 1. Онтология О

Соответствующий данной онтологии конечный автомат имеет вид A = (V = {1,2, 3, 4,5, 6,7}, X = {1,2,3,4,5,6,7}, f, {1}, {7}), где f задана таким графом переходов:

Рис. 2. Конечный автомат А для О

Это значит, что f(1,2) = 2, f(1,3) =3, f(1,4) =4, f(3,5) =5, f(5,7) =7,f(4,6) =6. Остальные переходы в данном автомате неопределенны.

Операции на онтологиях в автоматном представлении

Представление онтологий в виде конечного автомата без выходов позволяет ввести операции на онтологиях. Операции на автоматах означают операции на регулярных языках, которые акцептируются этими автоматами. Основными такими операциями являются следующие:

- объединение – теоретико-множественное объединение множества состояний и множества переходов данных автоматов-аргументов;

- пересечение – теоретико-множественное пересечение множества состояний и множества переходов, пополненное транзитивным замыканием отношения достижимости на автоматах-аргументах;

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

- итерация – повторяемая конечное число раз операция умножения, применяемая в рамках одной онтологии с целью уточнения и пополнения этой онтологии (эта операция практически означает пошаговое уточнение и пополнение онтологий);

- обращение – ориентация в противоположном направлении переходов в автомате, представляющем данную онтологию, т. е. построение функции переходов g(v,u) = u, тогда и только тогда, когда f(u,v) = v и неопределенно в остальных случаях.

Пример 2. Пусть дана онтология вида

Рис. 3. Онтология О1

Рис. 4. Автомат А1 для онтологии О1

где A1=({0,1,7,8,9,10,11},{0,1,…,11},g,{0},{11}).

Тогда введенные выше операции дают такие результаты, если их применить к автоматам A1 и A из предыдущего примера.

Объединение:

Рис. 5. Автомат АА1

Пересечение:

Рис. 6. Автомат АA1

Итерация: уточнение онтологии О1:

Рис. 7. Уточнение О2 для онтологии О1

Рис. 8. Автомат А2 для онтологии О2

Конкатенируя автоматы А1 и А2 по начальному состоянию 8 автомата А2, получаем автомат, представляющий уточненную онтологию O1*O2.

Обращение: применяя эту операцию к А1, получаем автомат:

Рис. 9. Автомат обращения для онтологии О1

Краткая характеристика операций

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

Данное множество операций (в случае надобности) можно расширять по крайней мере в двух направлениях. Одним из таких направлений является расширение операциями на графах (введение и удаление вершины и ребра, соединение графов, изоморфного соединения [6], декартового произведения и т. д.). Другим направлением является алгебра отношений. Поскольку каждая онтология является
представлением некоторой совокупности отношений (в частности: одного), то можно вводить операции реляционной алгебры.

Какое из возможных направлений будет выбрано, зависит от практических потребностей использования онтологий. Прогнозировать что-либо на этот счет не имеет смысла, так как практика оказывается всегда богаче любой теории. Авторы надеются, что представленные операции над онтологиями окажутся полезными при анализе, синтезе и манипулировании онтологиями и онтологическими объектами.

Проблемы реализации операций

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

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

Вторая проблема, возникающая при реализации операций, связана с имеющейся иерархией областей и понятий. Дело в том, что в различных онтологиях одни и те же понятия и объекты могут находиться на разных уровнях иерархии и это необходимо учитывать при применении операций. В предлагаемом подходе эта проблема решается с помощью построения транзитивного замыкания отношения достижимости на состояниях автоматов, представляющих данные онтологии. Однако, авторы не уверены в том, что этого замыкания достаточно для решения проблемы. Здесь, по-видимому, необходимы
эксперименты на реальных онтологиях и их представлениях.

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

Заключение

Тема данной работы возникла в связи с докладами, которые были представлены на конференциях KDS-2005  и KDS-2007 (Варна, Болгария) [1-4]. Раздел по онтологиям на этих конференциях был одним из самых больших и доклады, представленные в этих разделах, были стимулирующими для разработки представления онтологий и операций на онтологиях с целью автоматизации процесса проектирования и манипулирования этими объектами. Возможно после данной попытки ввести операции на онтологиях появятся и другие подходы к построению алгебры онтологий, что было бы весьма желательным и плодотворным для развития этой области знаний. Наш подход, по видимому, не является самым лучшим, поскольку требует решения перечисленных выше проблем.

Список литературы

[1] Gavrilova T., Puuronen S. In Search of a Vision: Ontological
View on User Modeling Conferences’ Scope. XII-th International Conference KDS
2007, ITHEA, Sofhia, 2007. Volume 2, p.422-427.

[2] Gribova V. Automatic Generation of Context-sensitive Help Using a User Interface Project. XII-th International Conference KDS 2007, ITHEA, Sofhia, 2007. Volume 2, p.417-422.

[3]Кривой С., Матвеева Л., Лукъянова Е., Седлецкая О. Онтологический взгляд на теорию автоматов. XII-th International Conference KDS 2007, ITHEA, Sofhia, 2007. Volume 2, p.427-436.

[4] Artemieva I. XII-th International Conference KDS 2007, ITHEA, Sofhia, 2007. Volume 2, p.403-411.

[5] Кривий С. Л. Дискретна математика. Вибрані питання. Київ.Видавничий дім „Києво-Могилянська академія”. – 2007. – 572 с.

Abstract

В данном небольшом очерке я попытаюсь немного приоткрыть завесу тайны над проблемой неопределенных и неточных знаний в онтологиях вообще и в OWL в частности. Он никак не может претендовать на полноценную статью, но все же может быть полезен тем, кто удивляется, почему в стандарте OWL по-прежнему нет никакой нечеткой логики (более того, она даже не обсуждается в контексте OWL 2) и тому подобного. Вообще по данной теме можно говорить много и спорить до хрипоты, но для начала я попытаюсь обрисовать ситуацию в самом общем плане.
Read the rest of this entry »

Развитие семантического веба выводит на первый план задачи, о которых многие специалисты по искусственному интеллекту, включая, собственно, и меня,  стали забывать. А это задачи, связанные с анализом ествественно-языковых текстов, при чем анализ зачастую проводится на основе онтологий или для построения онтологий. В этом плане мне показались интересными статьи Евгения Рабчевского по автоматическому формированию онтологий:

Автоматическое построение онтологий

Проектирование экспертных систем технической поддержки на основе онтологий

Автоматическое построение онтологий для тематических поисковых систем


Хочу выразить благодарность Евгению Рабчевскому от себя и читателей сайта SHCHERBAK.NET за интересные материалы! :grin: Кроме того,  я надеюсь, что идеи, выраженные в статьях, получат дальнейшее развитие…

1 2 3   Следующая »