Семантическая вики

Семанти́ческая ви́ки — веб-приложение, использующее машинообрабатываемые данные со строго определённой семантикой для того, чтобы расширить функциональность вики-системы.[1][2]

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

Недостатки традиционных вики

править

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

Согласованность содержимого. Из-за частого дублирования данных в вики одна и та же информация может содержаться на нескольких разных страницах. При изменении этой информации на одной вики-странице пользователи должны следить за тем, чтобы данные были обновлены также и на всех остальных страницах. Эта проблема хорошо иллюстрируется на следующем примере:[5] пусть имелась вики-статья под названием Плутон. На ней Плутон был обозначен как планета. В 2006 году, когда Международный астрономический союз принял решение о лишении Плутона статуса планеты, один из участников поправил страницу со статьёй о Плутоне. Однако ранее Плутон фигурировал в статусе планеты в ряде других статей: Планета, Планеты солнечной системы, Список планет по размеру. Очевидно, что задача согласованности всех этих данных лежит на вики-сообществе.

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

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

Использование категорий, тэгов и пространств имён. Традиционные вики используют плоские системы классификации (тэги) либо классификаторы, организованные в таксономию. Невозможность использования типизированных свойств порождает огромное количество тэгов или категорий. Это хорошо видно на примере Википедии: к примеру, категорию «Родившиеся 20 апреля» разумно заменить атрибутом «Дата рождения».

Отличительные особенности семантических вики

править

Семантические вики делятся на две больших категории:

  • вики, хранящие структурированные данные прямо в тексте страниц (например, Semantic MediaWiki);
  • вики, хранящие данные отдельно (например, Ontowiki[6], KiWi).

Для первого типа характерна расширенная вики-разметка, в то время как вики-системы второго типа имеют формовый интерфейс ввода данных, отдельный по отношению к содержимому статей. Однако для обоих этих типов принято выделять следующие отличительные особенности[7]:

Семантические аннотации

править

Ссылки между статьями в семантических вики служат не только для навигации, а несут в себе информацию о типе связи. Например, в Semantic MediaWiki статья о Лондоне может содержать следующую разметку:

[[capital of::England]]. Это утверждение означает, что Лондон является столицей Англии. В данном случае типом ссылки будет «столица» (capital of), а значением ссылки «Англия» (England).

Для вики, в которых ввод основан на формах, часто существует подобная функциональность. К примеру вики-система KiWi позволяет связывать структурированные данные с помощью средств RDF, а затем соотносить RDF-термины с текстом в статье.[8]

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

Контекстное представление данных

править

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

Семантическая навигация

править

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

Семантический поиск

править

Семантические вики поддерживают возможность построения многокритериальных запросов на формальном языке. Иногда в качестве языка запросов выбирается SPARQL, входящий в стандарты Semantic Web. Используя семантический поиск, можно автоматически строить списки страниц по ряду условий. Страницы всегда будут актуальными, так как строятся автоматически. Кроме этого, использование семантических аннотаций позволяет создавать т. н. фасетный поиск, уточняющий поиск[9]. При этом поиск состоит из двух этапов:

  • ввод поискового запроса;
  • фильтрация результатов.

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

Поддержка логического вывода

править

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

Поддержка стандартов семантической паутины

править

Многие семантические вики хранят данные в форматах Semantic Web или предоставляют возможность импорта/экспорта в тексты на языках RDF и OWL. Языком запросов к вики часто служит SPARQL, что позволяет обращаться с вики как со SPARQL-endpoint’ом.

История

править

Ранние семантические вики-движки

править

Впервые термин «семантическая вики» был употреблен Энди Динглеем (Andy Dingley) в телеконференции Usenet «comp.infosystems.www.authoring.site-design»[10]. В научно-технической литературе первое известное упоминание термина связано со статьёй австрийского учёного Лео Зауэрмана (Leo Sauermann) «Gnowsis — Использование технологий семантической паутины для создания семантического рабочего стола»[11]. К этому моменту уже существовали структурированные вики, такие как «TWiki».

Первым движком семантической вики был «Platypus Wiki»[12]. В ранних семантических вики (таких как «Platypus Wiki» и «Rhizome Wiki»[13]) акцент был смещен на предоставление средств для редактирования RDF-содержимого в вики-подобной среде[4] . RDF-данные представлялись в этих ранних вики-системах как свободно редактируемый текст, никак не связанный с неструктурированным содержимым в вики-разметке. Поэтому, в «Platypus» и «Rhizome» был возможен импорт RDF-данных, однако продвинутые возможности вроде проверки непротиворечивости и классификации были недоступны.

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

править

Чуть позже появились новые движки семантических вики. Часть из них пошла по пути четкого разделения структурированной и неструктурированной информации, например «Ikewiki»[14][15] и «OntoWiki»[16], но стал применяться и другой подход — включение семантических аннотаций в вики-разметку, например в «WikiSAR»[17] и «Semantic MediaWiki»[18][19].

Один из наиболее развитых на сегодня движков семантических вики «Semantic MediaWiki» изначально предназначался для использования в Википедии. Проект семантической Википедии («Semantic Wikipedia») был призван обеспечить машинную обработку Википедии с минимальными усилиями со стороны пользователей. В одноименной статье[18] описывается разработка расширения для движка «Mediawiki», позволяющего вводить и обрабатывать в вики структурированную информацию. Проект не был включен в программу развития Википедии, но выжил и преобразовался в расширение «Semantic MediaWiki». Новая инициатива Фонда Викимедиа «Wikidata» является прямым наследником этого проекта.

Список активных проектов семантических вики

править
Название Веб-сайт Описание Язык Разработчик Лицензия
Semantic MediaWiki http://semantic-mediawiki.org реализована в виде плагина к вики-движку MediaWiki. Добавляет новые элементы вики-разметки, позволяющие размечать страницы типизированными свойствами и осуществлять запросы к этим данным с помощью структурированных запросов PHP Institute AIFB at Karlsruhe institute of technology (KIT) GNU GPL v.2
Data Wiki (в прошлом Enterprise Semantic MediaWiki Plus) http://diqa-pm.com/de/DataWiki корпоративная система, основанная на Semantic MediaWiki и наследующая её возможности. Имеет дополнительную функциональность для работы с онтологиями, интеграции с Microsoft Office и разграничения доступа. PHP Ontoprise GmbH, затем DIQA-PM GPL/ коммерческая
OntoWiki http://ontowiki.net коллаборативный RDF-редактор с формовым вводом данных. Используется как инструмент для поддержки жизненного цикла связанных данных. Имеется мобильная версия, предназначенная для сбора данных в отсутствие интернета с последующей синхронизацией с сервером. PHP GPL
AceWiki http://attempto.ifi.uzh.ch/acewiki/ Использует подмножество английского языка (контролируемый английский) для того, чтобы представлять в вики структурированную информацию Java GNU LGPL
KnowWE https://web.archive.org/web/20111129111848/http://www.is.informatik.uni-wuerzburg.de/forschung/anwendungen/knowwe/ Java GNU LGPL
TikiWiki CMS/Groupware https://web.archive.org/web/20191117101007/https://info.tiki.org/ PHP GNU LGPL
Information Workbench http://www.fluidops.com/information-workbench/ Архивная копия от 2 сентября 2014 на Wayback Machine Java fluid Operations GNU LGPL /коммерческая
ArtificialMemory[20] http://www.artificialmemory.net/ Архивная копия от 14 февраля 2012 на Wayback Machine С# Lars Ludwig
TWiki http://twiki.org/  (недоступная ссылка) использует формы для добавления структурированных данных, позволяет делать запросы к данным и фильтровать поисковую выдачу Perl GNU GPL
Knoodl http://knoodl.com
Callimachus http://callimachusproject.org Платформа для построения Linked Data приложений, ориентированная на повторное использование данных Java 3 Round Stones, Talis, Cleveland Clinic Apache 2.0
WikiDSmart для Confluence https://wikidsmart.zagile.org (недоступная ссылка) Аддон для корпоративной вики Confluence. Использует SPARQL как язык запросов и ориентирован на тесную интеграцию с Jira Java zAgile
WikiNEXT http://wikinext.gexsoft.com Российская разработка. Javascript Павел Арапов

Ссылки

править

Примечания

править
  1. Markus Krötzsch, Sebastian Schaffert, Denny Vrandečić. Reasoning in Semantic Wikis (англ.) // G. Antoniou et al Reasoning Web 2007 : Lecture Notes. — Berlin: Springer-Verlag, 2007. — Vol. 4636. — P. 310—329. — ISBN 978-3-540-74613-3. — doi:10.1007/978-3-540-74615-7_6.
  2. Страница на semanticweb.org Архивная копия от 9 января 2009 на Wayback Machine, посвященная семантическим вики.
  3. Михаил Навернюк. Семантические вики. Архивировано 13 февраля 2009 года.
  4. 1 2 Markus Krötzsch, Denny Vrandecic. Reusing Ontological Background Knowledge in Semantic Wikis (англ.) // Proceedings of the First Workshop on Semantic Wikis - From Wiki To Semantics. — 2006. — P. 16—30.
  5. Allemang, D. and Hendler, J. A. Semantic web for the working ontologist (англ.). — Morgan Kaufmann Publishers/Elsevier, 2008. — 352 p. — ISBN 0-12-373556-4.
  6. Sören Auer, Jens Lehmann, Axel-Cyrille Ngonga Ngomo. Introduction to Linked Data and Its Lifecycle on the Web (англ.) // Reasoning Web. Semantic Technologies for the Web of Data / Axel Polleres, Claudia d’Amato, Marcelo Arenas, Siegfried Handschuh, Paula Kroner, Sascha Ossowski, Peter Patel-Schneider. — Berlin / Heidelberg: Springer, 2011. — P. 1—75. — ISBN 978-3-642-23031-8. — doi:10.1007/978-3-642-23032-5_1. (недоступная ссылка)
  7. Schaffert S., Bischof D., Buerger T., Gruber A., Hilzensauer W. Learning with semantic wikis (англ.) // Proceedings of the First Workshop on Semantic Wikis - From Wiki To Semantics (SemWiki2006). — Citeseer, 2006. — P. 11—14. Архивировано 31 декабря 2019 года.
  8. Sebastian Schaffert, Julia Eder, Szaby Grünwald, Thomas Kurz, Mihai Radulescu, Rolf Sint, Stephanie Stroka. Kiwi--a platform for semantic social software (англ.) // The Semantic Web: Research and Applications. — Springer, 2009. — P. 888—892. — ISBN 978-3-642-02120-6.
  9. English J., Hearst. M., Sinha R., Swearingen K., Yee K. P. Hierarchical faceted metadata in site search interfaces (англ.) // CHI'02 extended abstracts on Human factors in computing systems. — 2002. — ISBN 1581134541.
  10. Andy Dingley (21 January 2001). "Дискуссия Wikiwiki (was Theory: "opportunistic hypertext")". Newsgroupcomp.infosystems.www.authoring.site-design. Архивировано из оригинала 7 ноября 2011. Дата обращения: 1 февраля 2011.
  11. Leo Sauermann. The Gnowsis-Using Semantic Web Technologies to build a Semantic Desktop (англ.) // Technical University of Vienna. — 2003. Архивировано 14 августа 2007 года.
  12. P Castagna, SE Campanini. Towards a semantic wiki wiki web (англ.) // TecWeb. — 2004. Архивировано 1 ноября 2011 года.
  13. Adam Souzis. Building a Semantic Wiki // IEEE Intelligent Systems. Архивировано 18 апреля 2010 года.
  14. Schaffert Sebastian. IkeWiki: A semantic wiki for collaborative knowledge management (англ.) // Enabling Technologies: Infrastructure for Collaborative Enterprises, 2006. WETICE'06 : Сб. — Citeseer, 2007. — P. 388—396. Архивировано 27 сентября 2011 года.
  15. Schaffert, S., Gruber, A., Westenthaler, R. A semantic wiki for collaborative knowledge formation. — 2005. Архивировано 27 сентября 2011 года.
  16. Soren Auer, Sebastian Dietzold, Thomas Riechert. OntoWiki – A Tool for Social, Semantic Collaboration // The Semantic Web-ISWC 2006. — Springer-Verlag, 2006. — С. 736—749. (недоступная ссылка)
  17. David Aumueller. Semantic authoring and retrieval within a Wiki (англ.) // Demo Session at the Second European Semantic Web Conference (ESWC2005), May. — 2005. Архивировано 6 января 2011 года.
  18. 1 2 Volkel M., Krötzsch M., Vrandecic D., Haller H., Studer R. Semantic Wikipedia (англ.) // Proceedings of the 15th international conference on World Wide Web. — Edinburgh, Scotland: ACM Press, 2006. — P. 585—594. — ISBN 1-59593-323-9. — doi:10.1145/1135777.1135863. Архивировано 31 декабря 2019 года.
  19. Markus Krötzsch, Denny Vrandecic, Max Völkel. Semantic MediaWiki (англ.) // The Semantic Web-ISWC 2006. — Springer, 2006. — P. 935—942. Архивировано 12 июня 2010 года.
  20. Dr. Lars Ludwig. Extended Artificial Memory. Toward an integral cognitive theory of memory and technology. (англ.) : journal. — Technical University of Kaiserslautern, 2013. Архивировано 23 декабря 2019 года.

Ссылки

править
  • Semantic wiki projects  (англ.) — список проектов движков семантических вики