포커스 포커스 시맨틱소셜네트워크를구성하는온톨로지어휘기술현황 황미녕 * 이승우 * 정한민 ** 최성필 *** 시맨틱웹은인터넷환경에서지식을표현하고공유하기위한표준기술들의집합체이며, 온톨로지는특정지식도메인의용어와용어사이의관계를정의한지식표현체계이다. 이런온톨로지를정의하는방법으로 W3C에서표준으로제시한 RDF, OWL과같은메타데이터를이용하는방법은초급자에게는쉬운방법이아니다. 독자적으로온톨로지를정의하는일이쉽지않을뿐만아니라지식을공유하려는본래의취지에도맞기때문에학계나단체에서이미제시해놓은어휘집 (vocabulary) 을상황에맞게사용하는것이바람직하다. 본고에서는 FOAF, SIOC, SKOS 를중심으로시맨틱어휘기술현황에대해서살펴보고자한다. I. 서론 Ⅰ. 서론 Ⅱ. FOAF Ⅲ. SIOC Ⅳ. SKOS V. 결론 * KISTI 소프트웨어연구실 / 선임연구원 ** KISTI 소프트웨어연구실 / 책임연구원 / 실장 *** KISTI 소프트웨어연구실 / 선임연구원 ( 교신저자 ) Tom Gruber 는 온톨로지는개념화의명세이다 (An ontology is a specification of a conceptualization) [1] 라고정의하였다. 개념화는우리가볼수있는사물이나추상적으로존재하는관념들을구체적인집합으로만드는것이다. 이런개념화는정보를관리하기위해필요하다. 정보의공통된속성을찾아그속성에따라정보를나누고, 나누어진정보중필요한정보만을탐색해내도록하는것이다. 명세는개념화된정보, 의미등을분명하고자세하게설명하는것을말한다. 온톨로지를정의하는방법으로 W3C(The 정보통신산업진흥원 1
주간기술동향 2012. 8. 22. World Wide Web Consortium)[3] 에서도여러가지표준을제시하고있다. W3C 에서제시한 RDF(Resource Description Framework) 는정보의가장기본적인속성만을표현하는요소에불과하고, RDF 에구체적인타입이나속성을부여하는 RDF Schema 나 OWL (Web Ontology Language) 과같은메타데이터로온톨로지를기술하는방법은용이하지않은것이현실이다. 독자적으로온톨로지를정의하는일이쉽지않기때문에나온대안으로, 학계나단체에서 RDF, RDF-S, OWL 등을사용하여구축해놓은온톨로지어휘집 (vocabulary) 을가져다가상황에맞게적용하여사용하면된다. 이방법은이미서로가합의한표준이기때문에의미의공유가쉬우며, 실제적으로적용하기쉽도록구체적으로개념을정의해놓았기때문에도메인에맞게적용이가능하다. 본고에서는어휘집중에서도대표적인 FOAF(Friend of a Friend), SIOC(Semantically Inter-linked Online Community), SKOS(Simple Knowledge Organization System) 에대해서살펴보고자한다. 이들어휘집들은 RDF 에기반하고있기때문에이들어휘집을이용하여표현한데이터는기계가이해할수있고, 소프트웨어애플리케이션간에상호호환되며웹으로도발행이가능하다. Linked Data 를통해데이터공유의개념이강조되고있는현시점에서보유하고있는자원들을효율적이고정확하게온톨로지로표현하기위해서는이미구축된온톨로지어휘집들에대한이해가선행되어야한다. II. FOAF 2000 년 3 월 RDFWeb Project[3] 는온라인상에서자신의신원 (identity) 과그것에기반한사회적관계 (social graph) 를표현해주는초기단계의어휘집인 FOAF(Friend of a Friend) 를소개하였다. FOAF 는 XML 과 RDF 로정의된자기명세서작성어휘로명세서에는자신의이름, 이메일주소와같은개인신상정보와함께친구들의목록을포함한다. 사람들이자신의 FOAF 문서를생성하고, 본인의홈페이지에연결하여사용하기때문에사람에대해, 사람사이의관계를기술하는온톨로지인 FOAF 는상호연결된소셜네트워크브라우징에적합하다. FOAF 는다른어휘집과통합되어사용될수있으며, 다음절에서설명할 SIOC 와결합하여이용되는경우가많다 [4]. FOAF 명세서는 FOAF- a-matic 이라는자바스크립트응용프로그램을이용하여손쉽게생성할수있다 [5]. ( 그림 1) 과같 2 www.nipa.kr
포커스 ( 그림 1) FOAF-a-Matic 응용프로그램을이용하여만든 FOAF 명세이개인에대한신상정보와직장정보, 학교정보를기입하고, 내가알고있는여러관계의사람들정보를넣어주면, 간단하게 FOAF 명세서가완성된다. 이렇게만든 FOAF 명세를적용하기위해서는 foaf.rdf 파일로저장하고웹사이트의적당한디렉토리에복사하여누구나웹을통해참조할수있도록한다. 예를들어구글검색기가 FOAF 파일을찾아서명세정보를참조할수있게된다. 또는서로상대방 FOAF 정보를링크하거나, FOAF 게시판 [6] 을활용하여레지스트리에 FOAF 명세서를등록하는방법도있다. FOAF 를활용한사례는대표적으로구글에서 2008 년 2 월에공개한이용자들의사회적관계를보여주는서비스인 Social Graph API 가있다. 이서비스는 XFN(XHTML Friends Network), 1) FOAF 등의표준에기반을두고, 공개된정보를광범위하게수집하 1) XFN(XHTML Friends Network, Microformat) 은하이퍼링크를이용하여인간관계를표현하는간단한수단으로글로벌멀티미디어프로토콜그룹 (GMPG) 에의해개발되었다. XFN 은단순히 <a href> 태그에 rel 속성을추가함으로써작성자가다른사람들과의관계를표현할수있는방법을제공한다. 예 ) <a href = http://www.example.com/mnhwang rel=friend met > 홍길동 </a>: 내가만났던친구 ( 홍길동 ) 에대한사이트링크 XFN 프로파일은교우, 직업상, 지리적, 가족관계등을표현한다. 정보통신산업진흥원 3
주간기술동향 2012. 8. 22. ( 그림 2) FOAF 검색엔진화면여 JSON(JavaScript Object Notation) 으로데이터를집약하여보여준다. 이 API 를사용하면, 개발자는참여사용자가이미다른 SNS 로구축하고있는친구관계를, 상대의허가를얻은다음에가져올수있다. 다음으로는 Wikipedia 의인명정보와 Flickr[7] 의인명정보구축에도사용되고있으며, http://www.foaf-search.net 에서 FOAF 정보에대해검색할수있는검색엔진서비스도제공하고있다 (( 그림 2) 참조 ). III. SIOC 2004 년아일랜드 DERI(Digital Enterprise Research Institute) 연구소를중심으로하여온라인커뮤니티사이트의콘텐츠와구조를기술하기위해 SIOC(Semantically Interlinked Online Community) 온톨로지를만들었다 [8],[9]. 각종온라인커뮤니티사이트는가치있는정보를제공하는소스이면서풍부한메타정보를담을수있지만, 사이트들간의연결고리없이서로고립되어있다. 이런온라인커뮤니티사이트를함께연결함으로써더많은가치를추가할수있다는취지에서시작된프로젝트이다. 커뮤니티의문서뿐만이아니라데이터모두를표현하게된다. 서로다른온라인커뮤니티의정보 ( 블로그포 4 www.nipa.kr
포커스 스트, 게시판의게시물, 트위터의멘션등 ) 를의미적으로통합할수있기때문에소셜웹사이트의구조를명확하고, 정보를보다풍부하게이용할수있게된다. 또한 FOAF 와결합하여사용함으로써온라인상에서의나와연결된친구들의다양한활동들을의미적으로표현이가능해진다. ( 그림 3) 과같이특정게시판 (Forum) 에대 Space subclassof Site has_scope Role has_space has_parent has_host has_function Container Forum UserAccoount subclassof has_container subclassof has_container has_member Item Post has_creator Usergroup has_reply topic Tag/Category < 자료 >: http://sioc-project.org ( 그림 3) SIOC 주요클래스와속성 한게시물 (Post) 과주제어관계, 이글을작성한사람 (UserAccount) 과이들의행위 (action, 게시물을등록하고, 읽고, 코멘트를다는 ) 까지표현할수있기때문에커뮤니티의구조를효과적으로기술할수있게된다. 작성자인 UserAccount 는 FOAF 를통해타커뮤니티의사용자와링크되기때문에이온톨로지정보를활용하면특정인이여러커뮤니티에포스팅한게시물들을통합할수있다 (( 그림 4) 참조 ). < 자료 >: http://sioc-project.org ( 그림 4) SIOC 를이용하여연결된커뮤니티클라우드개념도 정보통신산업진흥원 5
주간기술동향 2012. 8. 22. SIOC-PROJECT 에서는다양한커뮤니티사이트에서 SIOC 를이용하도록지원하고있으며, SIOC 와 FOAF, SKOS, Dublin Core 등의여러어휘들을조합하여사용할수있고, SIOC exporter 를통해다른메타웹과시스템적으로연동이가능하여확장이용이하다. 또한, 이프로젝트에서는각종 SIOC 데이터들을수집할수있는 SIOC Crawler, 브라우징하는 SIOC Browser 등의다양한 API 들을제공한다. 이를통해서커뮤니티게시판의과거데이터들을서비스나도메인이라는경계를넘어서자유롭게연결할수있다. 예를들어, SIOC 의목표는다음의까페, 네이버의블로그, 트위터, 페이스북의여러커뮤니티가주제에따라서하나로연결되는것이다. IV. SKOS 시맨틱웹응용프로그램에서지식어휘체계로정의된용어를사용하기위해서는응용프로그램에서의참조와재사용을증진시키는방식으로어휘의용어들을정의하고, 문서화하고발행해야한다. 다양한정보원의데이터를병합하고, 이를재사용하도록설계된시맨틱웹의특성은 SKOS 를기반으로하는지식어휘체계를관리함으로써 FOAF 나 SIOC 등의시맨틱웹어휘들과융복합될수있으며지속적인확장이가능하다 [10]. SKOS(Simple Knowledge Organization System) 는 W3C 에서시맨틱웹기반의지식구조화프레임워크표준으로개발하여 2005 년에발표하였다. SKOS 는시소러스, 택소노미, 분류체계와주제명표목표 (subject heading) 와같은지식어휘체계를표현하기위한 RDF 어휘집이다. 1. SKOS 모델의주요구성요소 SKOS 의개념모델 (concept scheme) 은 ISO2788 시소러스표준의영향을받아유사하다. SKOS Core 는가장개발이많이진행된부분으로시소러스표준에직접적으로대응되는부분이고, SKOS 매핑은시소러스의개념들을하나의정보원에서다른정보원으로매핑시키기위해여러개의특정한프로퍼티를정의하는 SKOS 의확장부분이다. ( 그림 5) 의시소러스의한예를 SKOS 를이용하여 RDF 그래프로표현한것이 ( 그림 6) 이고, 이를 SKOS 로표현한것이 ( 그림 7) 이다. Economic cooperation 이라는용어에 6 www.nipa.kr
포커스 Term: Economic cooperation Used For: Economic co-operation Broader terms: Economic policy Narrower terms: Economic integration European economic cooperation European industrial Industrial cooperation Related terms: Interdependence Scope Note: Includes cooperative measures in banking, trade, industry etc., between and among countries. ( 그림 5) 시소러스의예대해 skos:preflabel 을지정하여색인어나다국어레이블을지정하고, 이에대한약어나동의어표현은 skos:altlabel 을이용하여부가적인표기방법을지원한다. skos:hidden Label 은텍스트기반의색인, 검색을위해기계가접근할수있는텍스트데이터를표현하면서도데이터가이용자에게보이지않도록하고싶을때사용한다. 예를들어, 철자가틀린텍스트데이터를색인어에포함시키고자할때사용한다. 개념간의의미관계표현 Economic policy skos:preflabel Interdependence skos:preflabel skosrelated skos:broader skos:preflabel skos:altlabel skos:scopenote skos:narrower skos:narrower skos:narrower skos::insheme skos:narrower Economic cooperation Economic co-operation Economic integration skos:preflabel Economic economic skos:preflabel cooperation Economic industrial cooperation skos:preflabel Industrial cooperation skos:preflabel ( 그림 6) SKOS Core 어휘를이용하여시소러스를 RDF 그래프로표현한예 [11] 정보통신산업진흥원 7
주간기술동향 2012. 8. 22. <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:skos="http://www.w3.org/2004/02/skos/core#"> <skos:concept rdf:about="http://www.ukat.org.uk/thesaurus/concept/1750"> <skos:preflabel>economic cooperation</skos:preflabel> <skos:altlabel>economic co-operation</skos:altlabel> <skos:scopenote>includes cooperative measures in banking, trade, industry etc., between and among countries.</skos:scopenote> <skos:broader rdf:resource="http://www.ukat.org.uk/thesaurus/concept/4382"/> <skos:narrower rdf:resource="http://www.ukat.org.uk/thesaurus/concept/2108"/> <skos:narrower rdf:resource="http://www.ukat.org.uk/thesaurus/concept/9505"/> <skos:narrower rdf:resource="http://www.ukat.org.uk/thesaurus/concept/15053"/> <skos:narrower rdf:resource="http://www.ukat.org.uk/thesaurus/concept/18987"/> <skos:related rdf:resource="http://www.ukat.org.uk/thesaurus/concept/3250"/> <skos:inscheme rdf:resource=http://www.ukat.org.uk/thesaurus /> </rdf:rdf> ( 그림 7) 의미관계표현의 SKOS 표현역시 ( 그림 6) 에표기되어있으며, skos:broader 와 skos:narrower 는개념들간의상 / 하위어, 부분 / 전체관계의계층관계를표현하는데사용된다. skos:related 는두개념간의수평적인연관관계를표현할수있다. skos:concept Scheme 은지식어휘체계를명시하는데사용한다. 개념간의매핑을통해서로다른두지식어휘체계를연계하는것뿐만아니라시맨틱웹상에서는리소스의 URI 를이용하여분산방식의공유와재사용이가능하다. 따라서, 어떤하나의개념이동시에여러지식어휘체계에소속되는것이가능하고, SKOS 관리자는새로운개념을선언할때어떤스키마에존재하는개념인지 skos:inscheme 프로퍼티를이용하여선언함으로써이미존재하는개념을차용하여재사용할수있다. 2. SKOS 사용사례 SKOS 데이터모델은사용하는개별기관이나이용자의목적에따라확장이가능하므로원래의 SKOS 데이터모델과일관성을유지하면서도개별도메인에특화된특성을구현할수있는장점이있다. 이런장점으로인해최근들어 LOD(Linked Open Data) 를통해공개ㆍ공유하는데이터집합들이 SKOS 기반온톨로지로구축되는사례가증가하고있다. 즉, 기존에보유하고있는자원을 SKOS 형태로변환하여배포하는것에서부터보유한시소러스를 SKOS 를이용한지식어휘체계로구축하여시맨틱웹서비스를제공하는 8 www.nipa.kr
포커스 것까지그범위가다양하다. SKOS 를사용하여지식어휘체계를구축한예는 W3C Working Group Note 에기록되어있고, 몇가지예를들면다음과같다 [12]. - TheSoz to SKOS: 독일의사회과학연구소인 GESIS-Leibniz Institute for the Social Sciences 는연구소에서구축한사회과학데이터베이스의데이터를 SKOS 형식으로변환하여 TheSoz(Thesaurus for the Social Sciences) 라는시소러스로배포하고있다 [13]. - OBO to SKOS[14]: 영국의맨체스터대학에서는생물학, 생물의학온톨로지인 OBO(The Open Biological and Biomedical Ontologies) 를 SKOS 기반온톨로지로변환하여배포하고있으며, 변환도구도제공하고있다 [15]. - ONKI SKOS Server[16]: 핀란드의 Semantic Computing Research Group(SeCo) 에서구축한핀란드온톨로지라이브러리서비스로 SKOS 로변환된데이터를검색하고시각화하는서비스이다 [17]. - LCSH-Library of Congress Subject Heading[18]: 미국의회도서관에서는도서관정보중주제어, 세부분류, 장르 / 형식등을 SKOS 형태로제공하고, 검색이가능하다 [19]. ( 그림 8) 과같이검색어에대한상세한정보와연관어정보를보여준다 - UKAT-UK Archival Thesaurus[20]: 영국에서아카이브부문에대한색인과검색 ( 그림 8) LCSH 에서 Science 를검색한화면 정보통신산업진흥원 9
주간기술동향 2012. 8. 22. ( 그림 9) SIOC, FOAF, SKOS 의상호연계도식도 [8] 을지원하기위한주제시소러스들을 SKOS 로표현하여배포하고있다. - AGROVOC-The Food and Agriculture Organization Thesaurus[21]: 농업, 산림, 어업, 식량보존과그에연결된분야안에서모든주제와관련된다중언어로서비스되는사전으로 SKOS 온톨로지로제공된다. 이와같이 SKOS 는어휘중심의의미관계형성을지원하여정보검색및색인에유용하다는점에서시소러스의특성을기본적으로포함한다. 이기능에서더나아가용어간의관계또는의미를기반으로하는다양한형태의정보검색과추론을위해서는온톨로지가필요하고, 이런시소러스의온톨로지로의모델링방법으로 SKOS 를사용하면개별도메인에특화된특성을구현하기용이하며, 시맨틱웹환경에서의다른온톨로지와의연계, 공유, 재사용이쉬워진다 [22],[23]. 또한 ( 그림 9) 와같이 SKOS 역시 FOAF 와 SIOC 와연계하여사용될때시맨틱웹자원에대한표현이구조화된다. 다시말해서, 개인및인맥관계에대한정보는 FOAF 에서, 온라인커뮤니티에게시한글들에대해서는 SIOC 에서, 포스팅한글에대한주제 (Topic) 에대해서는 SKOS 로모델링을할수있게된다. 10 www.nipa.kr
포커스 V. 결론 온톨로지는지식의의미를명확하게표현하고공유하기위한지식표현모델로서시맨틱웹에서보유자원을표현하기위해사용된다. 또한, 폭발적으로증가하고있는정보의양을효율적으로관리하기위해서도정보를온톨로지화하여공유하는방법이더욱더주목받게되었다. 독자적인온톨로지를정의하는것보다기존에표준화하여제시해놓은어휘집을활용하는것이쉬운접근방법이며, 비용측면에서도유리하다. 본고에서는시맨틱어휘들의기술현황에대해서살펴보았다. 시맨틱웹대두와함께초기에제안되었던개인의신원을나타나고인맥관계를나타내는명세인 FOAF, 온라인커뮤니티의데이터를더욱더구조화하여주제별로정보화시킬수있는 SIOC, 지식어휘체계의각개념및용어들의시소러스들을온톨로지화는매핑방법론인 SKOS 는단독으로사용할수도있지만, 서로의어휘들과연관하여사용할때그효과가배가된다. 이는자원의공유와재사용을목표로하는 Linked Data 생성측면에서도상호보완작용을할수있는방법론이될수있다. 실제적인연구사례로, 국내에서는한국과학기술정보연구원 (KISTI) 에서보유한과학기술시소러스및전문용어를 SKOS 를기반으로하는데이터를모델링하고, Linked Data 에연계되는통합온톨로지를구축하고있다 [22],[23]. 국외에비해국내에서사용도가낮은시맨틱어휘들과관련하여국내에서생산되는웹자원들에대한표준화및 LOD(Linked Open Data) 를통한국제공유를위해시맨틱웹기술분야에서보다적극적으로표준화된어휘집사용을확대해나갈필요가있다. < 참고문헌 > [1] http://www-ksl.stanford.edu/kst/what-is-an-ontology.html [2] http://linkeddata.org/ [3] http://rdfweb.org/projects.html [4] http://www.foaf-project.org/ [5] http://www.ldodds.com/foaf/foaf-a-matic.ko.html [6] http://www.ldodds.com/foaf/bulletin-board.html [7] http://www.flickr.com/ [8] http://www.sioc-project.org/ [9] J. G, Breslin, A. Harth, U. Bojars, and S. Decker, Towards Semantically-Interlinked Online 정보통신산업진흥원 11
주간기술동향 2012. 8. 22. Communities, ESWC 2005, LNCS 3532, 2005, pp.500-514. [10] http://www.w3.org/tr/swbp-skos-core-spec/ [11] http://www.w3.org/tr/2005/wd-swbp-skos-core-guide-20051102/ [12] http://www.w3.org/tr/2009/note-skos-ucr-20090818/ [13] http://thedatahub.org/dataset/gesis-thesoz [14] http://obofoundry.org/index.cgi?show=mappings [15] S. Jupp, S. Bechhofer, P. Kostkova, R. Steven and Y. Yesilada, Document Navigation: Ontologies or Knowledge Organisation Systme?, In Network Tools and Applications in Biology(NETTAB 2007)-A Semantic Web for Bioinformatics: Goals, Tools, Systems, Applications, June, 2007. [16] http://onki.fi/ [17] J. Tuominen, M. Frosterus, K. Viljanen and E. Hyvonen, ONKI SKOS Server for Publishing and Utilizing SKOS Vocabularies and Ontologies as Services, ESWC 2009 Heraklion Proceedings of the 6th European Semantic Web Conference on The Semantic Web: Research and Applications, 2009. [18] http://www.lcsubjects.org/ [19] E. Summers, A. Isaac, C. Redding and D. Krech, LCSH, SKOS and Linked Data, International Conference on Dublin Core and Metadata Application(DC 2008), 2008. [20] http://www.ukat.org.uk/downloads/skos.rdf [21] http://aims.fao.org/standards/agrovoc/linked-open-data [22] 김평, 이승우, 서동민, 정한민, 성원경, Linked Data 연계를위한 SKOS 기반용어온톨로지모델링, 한국콘텐츠학회 2010 춘계종합학술대회, 2010, pp.456-458. [23] 황미녕, 정도헌, 최성필, 조민희, 정한민, SKOS 를이용한시소러스의온톨로지모델링과 LOD 공개, 2012 한국컴퓨터종합학술대회논문집, Vol.39, No.1(C), 2012, pp.92-94. * 본내용은필자의주관적인의견이며 NIPA 의공식적인입장이아님을밝힙니다. 12 www.nipa.kr