Статьи

Семантификация Mediawiki для китайской рок-музыки

Во время моей поездки в  Китай  я посещал Пекин в два выходных и Масо в другие выходные. Эти поездки были в основном мотивированы, чтобы встретить старых друзей. Особенно руководителями крупнейшего английского ресурса китайской рок-музыки  Rock в Китае  являются  Макс-Леонард фон Шапер  и основатель крупнейшего китайского журнала Rock Print Magazin  Ян Юй . Посмотрев на их вики, которая является чистым золотом с точки зрения содержания, но состоит в основном из простого текста, я представил им идею внедрения семантики в проект. Немного посоветовавшись с ними и указав им на правильные ресурсы, Макс в основном выполнил всю работу (взяв один месяц отпуска с работы. Мальчик, это страсть!).

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

Отчет Макса о семантификации

макс-Leonhard-фон-Schaper

Макс-Леонард фон Шапер в Пекине.

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

Помимо  огромного опыта обучения  и доступности наших данных в формате RDF, наш собственный веб-сайт расширился за счет примерно 20% страниц контента (от 4000 до 5000), добавив более 10000 триплетов недвижимости  и получив дополнительно 300 тысяч просмотров страниц. ,

Уроки усвоены:

  • Ресурсы DBPedia должны быть связаны с «ресурсами» в URI, а не с «страницей»
  • SMW требует предварительно исправить «foaf:» или «mo:» или что-то еще для КАЖДОГО импортируемого имущества
  • Проверьте Special: ExportRDF рано, чтобы увидеть, если ваши свойства работают
  • Свойства / Предикаты, без разницы с SMW
  • Как получить данные в бесплатную базу, зависит от обратных ссылок и от других онтологий, а также от ввода данных в семантических поисковых системах.
  • Формы для ввода пользовательских данных очень важны!
  • Как ненаучный человек без обратной связи, я бы не смог это реализовать.
  • DBPedia и музыкальная онтология НЕ связаны с SAMEAS (как проверено на sameas.org).
  • Factbox работает только со стандартным скином (monoskin). Для других скинов нужно включить его в код PHP самостоятельно.

основная статья

Онлайн-вики-рок в Китае существует уже несколько лет и фокусируется на китайской андеграундной музыке. До начала внедрения Semantic Mediawikia в нашей вики было около 4000 страниц контента с более чем 1800 исполнителями и 900 записями. Мы использовали несколько шаблонов для групп, компакт-дисков, мест проведения и лейблов, но кроме использования многочисленных категорий и расширения DynamicPageList для нескольких соединений, мы не смогли ощутимо использовать имеющиеся данные.

Пример DPL для JOINT между двумя категориями Wikipedia:

<DynamicPageList>
category = Metal Artists
category = Beijing Artists
mode = ricstyle
order = ascending
</DynamicPageList>

Результаты простого mashup-запроса: отображение мест в Пекине на карте Google

После интересной дискуссии с Рене о преимуществах семантических данных и открытых связанных данных мы решили перейти на семантическую. Поскольку в настоящее время у нас есть все, что нужно для работы, и мы обладаем только ограниченными навыками программирования, мы начали поиск соответствующих ключевых терминов и достаточно быстро пришли на веб-сайты  Music Ontology и  Semantic Mediawiki , которые мы решили установить.

Будучи инженером-электриком с базовыми знаниями в области ИТ и многолетним опытом работы в Интернете на PHP, HTML, Joomla или Mediawiki, было все еще трудно привыкнуть к новому семантическому способу общения и понимания принципов, лежащих в основе. Не так много, потому что в Интернете может быть недостаточно учебников или информации о данных, а потому, что руководящий принцип где-то, а не там, где я искал. Без помощи Рене и нескольких обсуждений с отзывами я не смог бы внедрить эту систему в течение месяца, который потребовался нам.

Нашей первой трудностью (после получения расширения на нашем FTP-сервере) было обновить существующий Mediawiki с версии 1.16 до версии 1.19. Обновление, которое занимало большую часть двух дней, включая обновление всех других расширений (пять из них больше не работают, так как они больше не разрабатываются) и, наконец, запущено наше первое семантическое свойство.

После начала реализации семантического подхода я много читал в Интернете о различных доступных онтологиях и тщательно проверял онтологию музыки. Однако Music Ontology, безусловно, является неправильным вариантом использования для нашей вики, так как Music Ontology все больше входит в процесс создания музыки, а Rock в Китае описывает развитие сцены. Все наши реализации отслеживались на вики-странице «  Рок в Китае — семантический подход»  для других членов команды, чтобы понять текущий процесс и документировать обходные пути и проблемы.

Нашим первым тестовым классом был  Venue , категория, в которой у нас было 40-50 жилых домов Китая с различным уровнем глубины данных, которые мы могли бы поместить в  следующий шаблон SemanticVenue :

{{SemanticVenue
|Image=
|ImageDescription=
|City=
|Address=
|Phone=
|Opened=
|Closed=
|GeoLocation=
}}

Как видно из приведенного выше шаблона, для семантического класса VENUE предлагаются как предикаты (
City ), так и свойства (
Opened ). Semantic Mediawiki реализует это решающее различие очень удобным для пользователя способом, устанавливая TYPE каждого свойства SMW в PAGE или что-то еще. Как бы хорошо это ни было, это как-то смущает, если говорить с кем-то еще о семантической концепции в принципе.

Основной проблемой была реализация внешних онтологий, которые недостаточно документированы на странице семантического медиа-вики, скорее всего, из-за изменения версий. Особенно перекрестная ссылка на URI была серьезной проблемой. Согласно документации Semantic Mediawiki, псевдонимы будут разрешены, однако методом проб и ошибок было обнаружено, что только свойство с префиксом домена, например foaf: phone или owl: sameas, будет правильно распознано. Мы использовали функцию Special: RDFExport, чтобы найти большинство этих ошибок, каждый раз, когда наша ссылка на URI была неправильной, мы получали ошибку функции парсера.

Во-первых, неправильный путь для следующих двух вики-страниц:

  • Mediawiki: smw_import_mo
  • Свойство: жанр

Mediawiki: smw_import_mo:

http://purl.org/ontology/mo/ |[http://musicontology.com/ Music Ontology Specification]
activity_end|Type:Date
activity_start|Type:Date
MusicArtist|Category
genre|Type:Page
Genre|Category
track|Type:String
media_type|Type:String
publisher|Type:Page
origin|Type:Page
lyrics|Type:Text
free_download|Type:URL

Свойство: жанр:

[[Has type::Page]][[Imported from::mo:genre]]

А теперь верный способ, как это должно быть реализовано на самом деле:

Mediawiki: smw_import_mo :

http://purl.org/ontology/mo/|[http://musicontology.com/ Music Ontology Specification]
activity_end|Type:Date
activity_start|Type:Date
MusicArtist|Category
genre|Type:Page
Genre|Category
track|Type:String
media_type|Type:String
publisher|Type:Page
origin|Type:Page
lyrics|Type:Text
free_download|Type:URL

Недвижимость: мо: жанр :

[[Has type::Page]][[Imported from::mo:genre]]

Онтологией с большинством проблем была 
dbpedia , документация которой не говорила нам, каков был правильный URI. К счастью, список рассылки обеспечил поддержку, и мы узнали, какой правильный URI был:

http://www.dbpedia.org/ontology/

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

Чтобы использовать семантические свойства в вики, существует ряд доступных расширений, таких как семантические формы, форматы семантических результатов и семантические карты. Преимущества, которые мы смогли получить, были огромны. Например, оригинальный запрос JOINT, который мы выполняли в начале записи блога с DPL, теперь можно использовать с помощью следующего запроса ASK:

{{#ask: [[Category:Artists]] [[mo:origin:Beijing]]
|format=list
}}

Однако главное преимущество заключается в том, что расширение <reference /> НЕ будет нарушено после установки встроенного запроса на странице. Динамический список страниц разбивает <reference />, что приводит к потере большого количества информации. Другие примеры того, как мы извлекли выгоду из семантики, — это то, что ранее мы могли использовать только категории и читать информацию о присоединении к одной или двум категориям, например, страницы исполнителей, которые были классифицированы как художники BEIJING и художники METAL. Однако теперь, с семантическими свойствами, у нас было намного больше данных, с которыми можно поиграться, и мы могли создавать гибридные страницы, такие как ROCK или Category: Records, на которых мы могли создавать произвольные видео от любых исполнителей ROCK или на которых мы могли включить TIMELINE просмотр выпущенных записей.

Mashup Page с подходящим видео

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

И вот мы задаемся вопросом: как Freebase или DBpedia смогут найти наши данные? Как они будут включать это? Обсуждая это с Рене, стали очевидны некоторые структурные проблемы. При работе с Википедией мы обычно устанавливаем  свойство одинаковым :

Owl:sameas (or sameas)

На различных наших страницах прямо на страницах Википедии.

Однако мы узнали, что собственность

foaf:primaryTopic

это гораздо лучшее и точное свойство для этого. Свойство sameas следует использовать для семантических RDF-страниц, то есть для соответствующей страницы DBPedia RESOURCE (не для страницы PAGE). К счастью, мы уже реализовали свойство sameas в основном в шаблонах, поэтому обмен данными был достаточно легким.

Разобравшись с этой проблемой, мы проверили как страницу бесплатной базы, так и другие страницы, такие как DBpedia или  musicbrainz , но, похоже, формы «представить RDF» нет. Поэтому мы решили, что лучший способ добиться признания в Семантической сети — это включить больше ссылок на другие ресурсы RDF, например, для нашей категории: Исполнители мы устанавливаем такие же ссылки на dbpedia и онтологию музыки. Для dbpedia мы связались с классом, а для онтологии музыки — с URI для класса.

Обратите внимание, что при проверке сайта sameas.org кажется, что музыкальная онтология НЕ связана с dbpedia.

Следуя  рекомендациям, изложенным в Sindice , мы изменили наш robots.txt, чтобы включить наши семантические карты сайта:

Sitemap: http://www.music-china.org/wiki/index.php?title=Special:RecentChanges&feed=atom
Sitemap: http://www.rockinchina.com/wiki/index.php?title=Special:RecentChanges&feed=atom

Переходя к следующему шагу, мы проанализировали, как мы можем включать внешние данные в наш SMW, например, из musicbrainz или из youtube. Быть музыкально-ориентированной страницей, особенно Youtube, представляло для нас особый интерес. Мы нашли расширение внешних данных SMW, 
 которое мы могли бы использовать для соединения с Google API:

{{#get_web_data:
url=https://www.googleapis.com/youtube/v3/search?part=snippet&q=carsick+cars&topicId=%2Fm%2F03cmgbv&type=video&key=Googlev3API&maxResults=50
|format=JSON
|data= videoId=videoId,title=title
}}

И

{{#for_external_table:
{{Youtube|ID={{{videoId}}}|title={{{title}}} }}<br/>
{{{videoId}}} and {{{title}}}<br/>
}}

Смотрите наш внутренний  TESTPAGE  для живого примера.

Youtube использует собственную систему Freebase ID  для создания авто-каналов, заполненных официальными музыкальными клипами групп и певцов. ID Freebase можно найти на отдельной странице RESOURCE freebase после нажатия кнопки EDIT. В качестве альтернативы можно использовать Google API для получения идентификатора, но перед этим потребуется внутренний идентификатор HC Youtube. Простая реализация для нашей вики: включите FreebaseID как семантическое свойство на страницах исполнителей в наш шаблон определений:

{{Definitions
|wikipedia=
|dbpedia=
|freebase=
|freebaseID=
|musicbrainz=
|youtubeautochannel=
}}

Вуаля, благодаря дополнительному кешированию запросов на основе SQL (например, JSON) загрузка API в Google чрезвычайно низка, а также увеличивается скорость загрузки страницы в нашей вики. Используя этот метод, мы смогли увеличить наши сохраненные теги идентификатора YOUTUBE с 500 до 1000 за полдня.

Большое количество видеороликов для таких автомобилей, как легковые автомобили, теперь доступно благодаря семантификации

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