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

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

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

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

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

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

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

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

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

Семантические вики делятся на две больших категории:
 вики, хранящие структурированные данные прямо в тексте страниц (например, Semantic MediaWiki);
 вики, хранящие данные отдельно (например, Ontowiki, KiWi).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

История

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

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

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

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

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

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

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

Ссылки 
 Сравнение семантических вики на semanticweb.org
 Сообщество семантических вики

Примечания

Ссылки 
 SemWiki.org — сообщество «Семантические вики»
 Semantic wiki projects  — список проектов движков семантических вики

Вики
Семантическая паутина
Инженерия знаний