Semantic Soccer: Implementation on Semantic Wiki Platform Sang-Young Kim Information Engineering, Inha University, 253, Yonghyeon-dong, Nam-gu, Incheon, Korea i01056050911@hotmail.com Abstract. 위키시스템 (Wiki System) 은사용자가자유롭고편리하게문서를검색및편집할수있는장점이있는반면, 문서간의관계를의미적으로표현할수없는단점이있었다. 기존의위키시스템에시맨틱웹 (Semantic Web) 을결합하여의미적인요소를추가한시맨틱위키시스템 (Semantic Wiki System) 이많은프로젝트를통해연구되고있다. 이프로젝트에서는시맨틱위키시스템중시맨틱미디어위키 (Semantic MediaWiki) 를이용하여축구정보사이트인시맨틱사커 (Semantic Soccer) 를구축하였다. Keywords: Semantic Web, Semantic Wiki, Soccer Information, MediaWiki 1 Introduction 특유의편리한사용법과협력적으로문서를편집할수있다는장점으로인해위키플랫폼 (Wiki Platform) 을채택하는웹사이트와프로젝트가증가하고있다. 그중에서도전세계에서가장많이이용하는대표적인위키사이트는온라인백과사전으로알려진위키피디아 (Wikipedia)[1] 이다. 위키피디아의핵심엔진이라고할수있는위키소프트웨어 (Wiki Software) 는미디어위키 (MediaWiki)[2] 이다. 미디어위키는많은위키소프트웨어중하나로, 위키미디어재단 (Wikimedia Foundation) 에의해관리및배포되는자유소프트웨어 (Free Software) 이다. 미디어위키를포함한많은위키시스템은사용자가자유롭고편리하게문서를검색및편집할수있는장점이있지만, 문서간의관계를의미적으로명확하게표현할수없는단점이있었다. 이러한단점을극복하기위해위키시스템에시맨틱웹을접목하려는시도가많은프로젝트를통해진행되고있다 [3][4][5]. 이프로젝트에서는, 위키시스템과시맨틱웹을결합한많은시맨틱위키시스템 (Semantic Wiki System) 중에서시맨틱미디어위키 (Semantic MediaWiki)[3] 를이용하여축구정보사이트인시맨틱사커 (Semantic Soccer) 를구축하였다. 시맨틱사커는시맨틱위키시스템을이용하는하나의
2 Sang-Young Kim 어플리케이션으로제작되었다는것과, 기존의축구정보사이트에서단순하게제공되었던정보를좀더의미있게표현하였다는데그의미가있다. 본보고서의 2 장에서는관련연구로서미디어위키와시맨틱미디어위키에대해간단히설명하고시맨틱미디어위키의어노테이션 (Annotation) 기능을세부적으로설명한다. 3 장에서는시맨틱사커의구현내용을예를통해설명하고, 4 장에서의결론을끝으로본보고서를마친다. 2 Related Work 시맨틱사커 (Semantic Soccer) 는다양한위키플랫폼 (Wiki Platform) 중에서미디어위키 (MediaWiki) 를이용하였다. 미디어위키의확장기능 (Extension) 으로개발된시맨틱미디어위키 (Semantic MediaWiki) 를통해시맨틱적인요소를추가하였다. 이장에서는미디어위키와시맨틱미디어위키에대해알아보고, 시맨틱미디어위키에서시맨틱요소를추가하기위한주요방법인어노테이션 (Annotation) 에대해알아본다. 2.1 MediaWiki & Semantic MediaWiki 미디어위키는온라인백과사전인위키피디아 (Wikipedia) 를위해만들어진자유소프트웨어 (Free Software) 이다. 현재는위키미디어재단 (Wikimedia Foundation) 의여러프로젝트를포함한많은프로젝트에서사용하고있다. 미디어위키는 GNU 일반공중사용허가서 (GNU General Public License, GPL) 를따르는서버기반자유소프트웨어로서, 웹프로그래밍언어인 PHP 를기반으로만들어졌다. 미디어위키를사용자의서버에설치하려면 PHP 가동작하는웹서버프로그램과데이터베이스프로그램이필요하다. 현재미디어위키는 MySQL 또는 PostgreSQL 을데이터베이스로지원하고있다. 미디어위키의확장기능인시맨틱미디어위키는위키시스템에시맨틱기술을접목한것이다. 기존미디어위키의문서는단순히텍스트만으로만들어져있지만, 시맨틱미디어위키는구조화된데이터 (Structured Data) 를문서내에포함할수있다. 시맨틱미디어위키는이미존재하는문서또는새로만들어지는문서의일부데이터에시맨틱요소를추가하는방식을취하고있다. 따라서전체문서를모두이해하지않고도의미적으로연관된데이터를추출해낼수있다. 2.2 Annotation for Semantic MediaWiki 시맨틱미디어위키을이용하는주요방법은어노테이션 (Annotation) 기능을이용하는것이다. 어노테이션은위키문서의일부분을명백하게표현하기위해문서편집자가특별하게표시하는것을의미한다.
Semantic Soccer: Implementation on Semantic Wiki Platform 3 미디어위키에서기본적으로카테고리 (Category) 기능을제공하며, 시맨틱미디어위키에서는위키문서를좀더구조화하여표현할수있도록두가지어노테이션기능을추가적으로제공한다. 그두가지기능은릴레이션 (Relation) 과어트리뷰트 (Attribute) 이다. Category. 카테고리는미디어위키에서기본적으로제공되는기능으로, 각문서를내용에따라분류하기위한어노테이션기능이다. 예를들어, 박지성 을설명하는위키문서를 축구선수 라는그룹으로분류하기위해 박지성 을설명하는위키문서에다음과같은코드를입력하면된다. [[Category: 축구선수 ]] 한국어버전의미디어위키에서는다음과같이입력할수도있다. [[ 분류 : 축구선수 ] Relation. 릴레이션은시맨틱미디어위키에추가된어노테이션기능으로, 서로다른두위키문서사이에연결된하이퍼링크 (Hyperlink) 의의미를설명한다. 예를들어, 박지성 을설명하는위키문서와 맨체스터유나이티드 를설명하는위키문서가있다고가정하자. 시맨틱기능이없는위키를사용하여두문서를연결할수는있지만두문서가어떠한관계인지는알수없다. 하지만시맨틱미디어위키에서는 박지성 을설명하는위키문서에아래와같은코드를입력하는방법을통해 박지성 의소속팀이 맨체스터유나이티드 라는것을표현할수있다. [[ 소속팀 :: 맨체스터유나이티드 ]] Table 1 과같이릴레이션을통해두위키문서를연결하는다양한방법이있다. Table 1. 릴레이션을통한다양한연결방법 역할 릴레이션을통한일반적인연결 사용예 Classify a [[example_relation::link]] with the relation example_relation.
4 Sang-Young Kim 대체텍스트를이용하는연결 릴레이션을통한연결을하지않고 :: 이포함된텍스트로의일반연결 Use an [[example relation::link alternative text]] for a classified link. To make an ordinary link with two colons without creating a relation to another article, escape the markup with a colon in front, e.g. [[:std::out]]. Attribute. 어트리뷰트는시맨틱미디어위키에추가된어노테이션기능으로, 문서의내용에연관된간단한속성을표현한다. 예를들어, 박지성 을설명하는위키문서에서박지성의 생년월일 은연결할수있는하이퍼링크가없기때문에카테고리또는릴레이션으로표현할수없다. 이와같은경우에는단순히문서에서의의미있는표현이라는것을표시하기위해어트리뷰트를사용한다. 박지성 의 생년월일 이 1981 년 2 월 25 일 이라는것을표현하기위해아래와같은코드를 박지성 을설명하는위키문서에입력한다. [[ 생년월일 :1981 년 2 월 25 일 ]] 이렇게입력하고 생년월일 이라는어트리뷰트의데이터타입 (Datatype) 을지정해야한다. 어트리뷰트의데이터타입을지정하지않으면, 위의코드에서입력한 1981 년 2 월 25 일 이라는값이보이지않고 Oops! No type defined for attribute 라는메시지가보이게된다. 어트리뷰트의데이터타입을지정하기위해어트리뷰트이름인 생년월일 의하이퍼링크를클릭한다. 그러면 Attribute: 생년월일 이라는새로운문서를편집하는페이지로연결되는데아래와같은코드중하나를입력하면해당되는어트리뷰트의데이터타입으로지정할수있다. Type:String (text strings) Type:Integer (whole numbers) Type:Float (decimal numbers with optional exponent) 어트리뷰트의데이터타입은위의세가지외에도몇가지가더있다. 하지만시맨틱미디어위키의버전에따라제공되지않는데이터타입도있으므로시맨틱사커에는위의세가지만사용하였다. 어트리뷰트를사용하기위한다양한방법은 Table 2 와같다.
Semantic Soccer: Implementation on Semantic Wiki Platform 5 Table 2. 어트리뷰트를사용하는다양한방법 역할 어트리뷰트의일반적인사용 대체텍스트를이용하는어트리뷰트사용 := 을어트리뷰트가아닌일반텍스트로사용 ( 어트리뷰트문서에 ) 어트리뷰트타입을정의 어트리뷰트와미디어위키문법의조합 사용예 Assign the value [[example:=1,234,567]] to the attribute example. Assign a value of [[example:=999,331 about a million]], but showing a different text in the article. In Pascal, variable assignments use the [[:operator :=]]. Giving the type in an attributes article: This attribute is an [[has type::type:integer integer number]]. Combining MediaWiki markup with attribute values: John s email address is [[email:=john@abc.com [mailto:john@abc.com john@abc.com]]] 3 Semantic Soccer 2 장에서설명한시맨틱미디어위키의어노테이션기능을이용하여축구관련정보를제공하는사이트를구축하였다. 축구에관련된정보로는축구선수, 축구팀, 축구경기장, 축구리그, 축구대회등이있다. 본보고서에서는축구선수와축구팀에대해중점적으로다룬다. 3.1 축구선수 축구선수를표현하는모든위키문서에는카테고리를 축구선수 로분류하는아래와같은코드가포함되어있다. [[Category: 축구선수 ]] or [[ 분류 : 축구선수 ]]
6 Sang-Young Kim 그리고현재소속되어있는팀을의미하는 소속팀 과과거에소속된적이있는팀을의미하는 전소속팀 을표현하기위해릴레이션을통해해당축구팀으로하이퍼링크를연결하였다. 국적 과 생년월일 을표현하기위해어트리뷰트를사용하였다. 국적 을표현하기위해릴레이션이아닌어트리뷰트를사용한이유는, 시맨틱사커가축구관련사이트이기때문에 국적 은단순히선수의속성이라고판단했기때문이다. 어트리뷰트인 국적 과 생년월일 의데이터타입은모두 Type:String 으로지정하였다. 날짜를표시하기위한데이터타입인 Type:Date 가아직시맨틱미디어위키에완전히구현되지않아사용할수없었기때문에 생년월일 을표현하기위해 Type:String 을사용하였다. Fig. 1. 축구선수를표현하는위키문서의예
Semantic Soccer: Implementation on Semantic Wiki Platform 7 Fig. 1 은축구선수인 박지성 을표현하는위키문서의예이다. 문서내용의상단에는일반위키문서와같은형식의내용이나오고하단의상자안에는, 시맨틱미디어위키를통해만들어진, 의미있는내용이정리되어나오게된다. 하단의상자에나오는릴레이션을보면, 소속팀 은 맨체스터유나이티드 이고 전소속팀 은 교토퍼플상가 와 PSV 에인트호번 이라는것을확인할수있다. 그리고어트리뷰트를보면, 국적 은 대한민국 이고 생년월일 은 1981 년 2 월 25 일 이라는것을확인할수있다. 위에서설명한것과같이, 릴레이션에는다른문서와연결할수있는하이퍼링크가있고, 어트리뷰트에는하이퍼링크없이단순한정보만제공됨을 Fig. 1 을통해확인할수있다. Fig. 2. 축구팀을표현하는위키문서의예
8 Sang-Young Kim Fig. 3. Facts about 링크를클릭했을때나오는화면의예 3.2 축구팀 축구팀을표현하는모든위키문서에는카테고리를 축구팀 으로분류하는아래와같은코드가포함되어있다. [[Category: 축구팀 ]] or [[ 분류 : 축구팀 ]] 그리고축구팀이소속되어있는리그를의미하는 소속리그, 축구팀을지휘하는 감독, 축구팀의 홈구장 을표현하기위해릴레이션을통해해당하이퍼링크를연결하였다.
Semantic Soccer: Implementation on Semantic Wiki Platform 9 연고지 와 창단연도 를표현하기위해어트리뷰트를사용하였고, 두어트리뷰트의데이터타입은모두 Type:String 으로지정하였다. 창단연도 를표현하기위한데이터타입으로 Type:Integer 가아닌 Type:String 을사용한이유는 Type:Integer 를사용하면천단위마다콤마 (,) 가찍혀서연도를보기에적절하지않다고판단했기때문이다. Fig. 2 는축구팀인 맨체스터유나이티드 를표현하는위키문서의예이다. 문서내용하단의상자에나오는릴레이션을보면, 감독 은 알렉스퍼거슨 이고 소속리그 는 프리미어리그 이며 홈구장 은 올드트래포드경기장 이라는것을확인할수있다. 그리고어트리뷰트를보면, 연고지 는 그레이터맨체스터 이고 창단연도 는 1878 년 이라는것을확인할수있다. Fig. 3 은 Fig. 2 의하단상자에서 Facts about 맨체스터유나이티드 오른쪽에있는아이콘그림을클릭했을때나오는문서화면이다. 이문서화면의오른쪽에는 맨체스터유나이티드 에대한요약정보를보여주며, 왼쪽에는 맨체스터유나이티드 를릴레이션을통해연결한문서에대한정보를보여준다. Fig. 3 에서는 박지성 을표현하는문서가 맨체스터유나이티드 를표현하는문서를릴레이션으로연결하고있다는것을알수있다. 4 Conclusions 이프로젝트에서는시맨틱위키시스템중시맨틱미디어위키를이용하여시맨틱사커라는축구정보사이트를구축하였다. 위키시스템에시맨틱요소를첨가한하나의어플리케이션으로서의웹사이트를구현한것이다. 기존의축구정보사이트에서는축구선수, 축구팀, 축구리그등에관한정보를각각의문서로제공하는데그쳤다. 하지만시맨틱사커는축구선수와축구팀, 축구팀과축구리그등문서간의정보를의미있는연결로표현하거나, 각문서에포함된내용중의미있는정보를별도로추출하여표현하는기능을제공한다. 이를통해관련축구정보를좀더쉽게파악할수있게되었다. 이프로젝트를진행함에있어서아쉬운점은, 시맨틱미디어위키의기능중의미있게추출한정보를 RDF 문서로자동변환해주는기능이제대로동작하지않은것이다. 이문제의원인은, 미디어위키에서만들어진 % 가포함된 URI 를 RDF 문서에그대로포함하기때문에에러가발생하는것으로판단된다. References 1. Wikipedia: http://www.wikipedia.org 2. MediaWiki: http://mediawiki.org 3. Semantic MediaWiki: http://ontoworld.org/wiki/semantic_mediawiki 4. Max Volkel, Markus Krotzsch, Denny Vrandecic, Heiko Haller and Rudi Studer, Semantic Wikipedia, WWW 2006, May 23-26, 2006 5. Soren Auer, Sebastian Dietzold and Thomas Riechert, OntoWiki A Tool for Social, Semantic Collaboration, ISWC 2006, pp.736-749, 2006