한국산학기술학회논문지 Vol. 10, No. 7, pp. 1585-1600, 2009 웹문서의메타데이터관리를위한 XMP 및온톨로지기반의시맨틱어노테이션지원도구개발 양경모 1*, 황석형 2, 최성희 2 1 선문대학교일반대학원전자계산학과 2 선문대학교컴퓨터공학부 On Developing a Semantic Annotation Tool for Managing Metadata of Web Documents based on XMP and Ontology Kyoung-Mo Yang 1*, Suk-Hyung Hwang 2 and Sung-Hee Choi 2 1 Department of Computer Science, graduate school, Sun Moon University 2 Department of Computer Science & Engineering, Sun Moon University 요약시맨틱웹에서는기계가처리할수있는의미정보를토대로보다효율적이고효과적인시맨틱검색과웹서비스를제공하는것을목적으로한다. 따라서, 다양한웹컨텐츠들에대하여컴퓨터가이해가능한형식으로메타데이터를생성하고추가하는과정, 즉, 시맨틱어노테이션이시맨틱웹의중요한기반기술중의하나이다. 최근에는어노테이션정보를관리하기위해서, 대상문서내부에메타데이터를직접내장시키는기법이주로사용되고있다. 그러나, 웹문서의시맨틱어노테이션과관련하여기존의지원도구들은, 주로 HTML 문서를대상으로하고있고, 대부분의도구들에서는메타데이터를활용한시맨틱검색기능을제공하지않고있다. 본연구에서는, 이와같은문제점들과기존의관련연구결과들을토대로, 웹문서 (HTML, PDF) 들에대한시맨틱어노테이션을보다효율적으로지원하기위한온톨로지기반의시맨틱어노테이션지원도구 (OSA) 를개발하였다. OSA 에서는, RDFS(RDF Schema) 로시맨틱어노테이션모델을정의하고, 이를토대로온톨로지기반의의미정보들을표현하며, XMP(eXtensible Metadata Platform) 표준에맞추어서해당디지털문서내에시맨틱어노테이션정보를내장시킨다. 본연구에서개발한어노테이션도구를활용함으로써, 웹문서에대한효율적인시맨틱어노테이션이가능하며, XMP를기반으로웹문서자체와시맨틱어노테이션정보를일체화시킴으로써어노테이션정보관리에정합성을유지할수있으므로, 향후다양한웹컨텐츠에대한시맨틱검색에효과적으로활용될수있다. Abstract The goal of Semantic Web is to provide efficient and effective semantic search and web services based on the machine-processable semantic information of web resources. Therefore, the process of creating and adding computer-understandable metadata for a variety of web contents, namely, semantic annotation is one of the fundamental technologies for the semantic web. Recently, in order to manage annotation metadata, direct approach for embedding metadata into the document is mainly used in semantic annotation. However, many semantic annotation tools for web documents have been mainly worked with HTML documents, and most of these tools do not support semantic search functionalities using the metadata. In this paper, based on these problems and previous works, we propose the Ontology-based Semantic Annotation tool(osa) to efficiently support semantic annotation for web documents(such as HTML, PDF). We define a semantic annotation model that represents ontological-semantic information by using RDFS(RDF Schema). Based on XMP(eXtensible Metadata Platform) standard, the model is encoded directly into the document. By using OSA with XMP, user can perform semantic annotation on web documents which are able to keep compatibility for managing annotation metadata. Eventually, the integrated semantic annotation metadata can be used effectively in semantic search for a variety of web contents. Key Words : Semantic Annotation, Ontology, EXtensible Metadata Platform * 교신저자 : 양경모 (yjj0309@gmail.com) 접수일 09년 04월 10일수정일 (1차 09년 06월 25일, 2차 09년 07월 20일 ) 게재확정일 09년 07월 22일 1585
한국산학기술학회논문지제 10 권제 7 호, 2009 1. 서론 웹기술의발전으로인해수많은기관과커뮤니티, 개인들에의해서생성되는문서와정보의양또한급격히증가하고있다. 이로인해사용자들이자신의목적에적합한문서와정보를발견하는것은점점어려워지고있다. 이에효과적으로정보를검색하기위한다양한검색기술들이연구되고있으나, 현재의웹은사람이읽어보고잘이해할수있도록하기위한디스플레이기술에초점을맞추고있다. 따라서, 사람이아닌프로그램또는소프트웨어에이전트가문서로부터의미를자동추출하여정보검색및정보의통합과같은작업에활용하는데문제점이발생하고있다. 이러한문제점을해결하기위하여, 팀버너스리는웹에존재하는자원 (Resource) 에잘정의된의미를부여하고이를사람과컴퓨터가이해하고처리할수있도록하는시맨틱웹 (Semantic Web) 을제안하였다 [1]. 시맨틱웹에서웹자원에의미를부여하고컴퓨터의자동화된처리를가능하게하기위해서는메타데이터 (Metadata) 기술과시맨틱어노테이션 (Semantic Annotation) 기술이필수적이다. 메타데이터는데이터에대한데이터또는정보에대한정보를의미하며, 시맨틱웹에서메타데이터를표현하기위한기술들로는자원을식별하기위한 URI(Uniform Resource Identifier), XML(Extensible Markup Language) 의표현구문을기반으로하는 RDF(Resource Description Framework)[2], RDFS(RDF Schema)[3], 그리고웹온톨로지언어인 OWL(Web Ontology Language)[4] 이있다. 일반적으로어노테이션 (Annotation) 은문서나문서의특정부분에개인의의견, 해석, 강조, 비판등의추가정보를기입하는과정을의미하며, 기입된추가정보들은사람이이해할수있는하이라이트, 밑줄, 도형, 노트등과같은형태로표현된다 [5]. 한편, RDF, RDFS, OWL 등과같은메타데이터표현언어를사용하여컴퓨터가처리할수있는형태로메타데이터를기술하고, 웹컨텐츠에메타데이터를부여하는과정을시맨틱어노테이션 [6,7] 이라고하며, 시맨틱웹의활성화를위하여다양한연구들이진행되고있다 [8-14]. 기존연구들에서사용된시맨틱어노테이션정보의부여방식으로는, 어노테이션정보를문서에직접내장시키는방식과어노테이션정보를별도의저장소에저장, 관리하는방법이사용되고있다. 특히, 메타데이터 ( 또는, 어노테이션정보 ) 를직접파일에내장시켜메타데이터를관리하기위한기술로는, 어도비 (Adobe) 에서제안된메타데이터관리플랫폼인 XMP(eXtensible Metadata Platform)[15,16] 가주로사용되고있다. 시맨틱어노테이션과관련된기존대부분의연구들에서는, 웹의기본문서형식인 HTML문서에대한시맨틱어노테이션에초점을두고있다. 그러나, 수많은문서들이다양한문서형식 (PDF, OpenOffice 등 ) 으로작성되어웹에배포되고있다. 특히, 디지털문서규격의국제표준인 PDF(Portable Document Format)[17] 는서적이나신문, 잡지, 학술자료 ( 논문 ) 등을디지털문서로배포하기위해사용되는가장일반적인형식이다. 따라서, HTML문서만을처리대상으로하는기존도구를사용하여시맨틱어노테이션을수행하는것은한계가있다. 한편, 시맨틱어노테이션정보들은정보관리또는정보의검색측면에서매우중요한역할을수행한다. 그러나, 시맨틱어노테이션정보를활용하지않는기존의검색방법 ( 키워드기반검색 ) 을사용하여, 시맨틱어노테이션정보가포함된문서들을검색하는것은매우비효율적이다 [6,18]. 따라서, 시맨틱어노테이션정보를활용한시맨틱검색을제공함으로써, 사용자들은자신들이어노테이션한정보를기반으로효과적인문서검색을할수있다. 본연구에서는, 현재인터넷에급증하고있는디지털문서들과이에포함된유용한정보를효과적으로관리하기위한디지털문서 (HTML, PDF) 의시맨틱어노테이션을지원하는도구 (OSA) 를개발하였다. 기존대부분의지원도구들 [8-12] 이 HTML문서만을처리하는반면, 본연구에서는 HTML문서뿐만아니라디지털문서의국제표준규격인 PDF문서도처리대상으로한다. 또한, RDFS 로기술된어노테이션모델과메타데이터관리플랫폼인 XMP를사용하여, 보다풍부한어노테이션정보를표현하고, 문서에내장시킬수있게되어시맨틱검색에효과적으로활용할수있다. 본논문의구성은다음과같다. 제2장에서는관련연구로기존연구들의제반특징들에대해서정리하여설명하고, 제3장에서는본연구에서개발한시맨틱어노테이션지원도구 (OSA) 를소개한다. 제4장에서는 OSA에서제공하는 XMP기반의시맨틱어노테이션기법과시맨틱검색에대해서설명한다. 제5장에서는기존도구들과본연구결과 (OSA) 의기능상의특징들을비교한결과에대해서설명한다. 마지막으로제6장에서는결론과향후연구과제에대해설명한다. 2. 시맨틱어노테이션관련연구 시맨틱어노테이션을지원하기위한도구들로서, Annozilla[8], MnM[9], OntoMat-Annotizer[10], 1586
웹문서의메타데이터관리를위한 XMP 및온톨로지기반의시맨틱어노테이션지원도구개발 SHOE[11], KIM[12], SALT[13], PDFTab[14] 등이개발되었다. 각도구들의제반특징은다음과같다. Annozilla[8] 는 W3C Annotea[20] 프로젝트에서정의한어노테이션프로토콜을도입하여개발된웹기반의시맨틱어노테이션지원도구이다. Annozilla에서생성되는어노테이션정보들은메타데이터서버에 RDF형식으로저장되고공유된다. 또한, 어노테이션이수행된문서내부에서어노테이션정보의위치를파악하기위하여 XPointer를사용한다. MnM[9] 은 HTML문서에대한시맨틱어노테이션을지원하기위하여자동과반자동어노테이션기능을모두제공하고있으며, 온톨로지브라우저와웹브라우저가통합된사용자인터페이스환경을제공한다. OntoMat-Annotizer[10] 는 N3와 OWL파일을지원하는온톨로지기반의시맨틱어노테이션지원도구로클래스와속성, 그리고인스턴스의다양한편집이가능한온톨로지편집기와웹문서를브라우징할수있는웹브라우저를포함하고있다. SHOE(Simple HTML Ontology Extensions) [11] 는온톨로지를기술하기위한지식표현언어로서, HTML문서내부에시맨틱어노테이션정보를기술할수있도록 HTML을확장하여정의하였다. SHOE의시맨틱어노테이션은어노테이션지원도구에의해서수행되고, 어노테이션이수행된문서 들은시맨틱검색지원도구를통해서검색이가능하다. KIM(Knowledge Information Management) [12] 은 Ontotext Semantic Technology laboratory에서개발한웹기반의자동시맨틱어노테이션지원도구로서, HTML문서의시맨틱어노테이션정보와인덱싱정보를저장, 관리하고검색을지원하기위하여별도의 KIM서버를제공한다. SALT(Semantically Annotated LaTeX)[13] 는 PDF 문서의시맨틱어노테이션을지원하기위한도구이다. SALT는 LaTeX를확장하여 PDF문서의작성과병행하여어노테이션을수행하고, 어노테이션정보의저장은 XMP를사용하여문서에직접부착하는방식을사용한다. 그러나, 기존에작성되어웹에존재하는 PDF문서에대해서는어노테이션을수행할수없으며, 시맨틱검색기능또한제공하지않는다. PDFTab[14] 은본연구와유사한방식으로 PDF문서의시맨틱어노테이션을지원한다. PDFTab은메타데이터의저장관리를위해서 XMP를채택하였고, 온톨로지기반의시맨틱어노테이션을제공하기위해서온톨로지저작도구인 Prote'ge' 의플러그인으로개발되었다. 그러나, 풍부한어노테이션정보를표현하기위한어노테이션모델과, 생성된시맨틱어노테이션정보를활용한시맨틱검색등을제공하지않는다. [ 그림 1] 시맨틱어노테이션지원도구 (OSA) 의구조도 1587
한국산학기술학회논문지제 10 권제 7 호, 2009 3. 시맨틱어노테이션지원도구 3.1 사용자인터페이스모듈 사용자인터페이스모듈은사용자에게편의성을제공하기위하여, 다음과같은 4개의뷰들을제공하고있다. 그림1은본연구에서개발한시맨틱어노테이션지원도구 (OSA) 의구조도이고, 그림2와그림3은각각 OSA의실행화면과시맨틱검색화면이다. 문서뷰 (Document View) : 그림2(a) 의문서뷰에서는시맨틱어노테이션의처리대상문서들을브라우징하기위하여 HTML 뷰와 PDF 뷰를제공하고있다. 두개의뷰에서공통으로제공되는기능들로는문서내의특정항목을선택하는기능과어노테이션기능, 그리고어노테이션된항목을표시하기위한하이라이트기능들이있다. 이외에도 HTML 뷰에서는웹브라우저의기본기능들을추가로제공한다. 문서뷰에서어노테이션한결과는온톨로지뷰와어노테이션뷰를통해확인가능하다. 온톨로지뷰 (Ontology View) : 그림2(b) 의온톨로지뷰는클래스, 인스턴스그리고속성뷰로구성된다. 클래스뷰 (Class View) 는온톨로지에기술된클래스의계층구조를브라우징하는기능과클래스의편집기능 ( 이름, 계층관계등 ) 을제공한다. 인스턴스뷰 (Instance View) 와속성뷰 (Property View) 는클래스의인스턴스목록과속성목록을각각출력한다. 어노테이션뷰 (Annotation View) : 그림2(c) 의어노테이션뷰는인스턴스에디터 (Instance Editor) 와어노테이션디스플레이어 (Annotation Displayer) 로구성된다. 인스턴스에디터에서는온톨로지뷰에서선택된인스턴스와인스턴스의속성값편집이가능하며, 이와같은편집과정에서생성된인스턴스또는인스턴스의속성값들은문서의시맨틱어노테이션정보로저장된다. 또한, 생성된어노테이션정보들은어노테이션디스플레이어에포함된, PDF 개요뷰 (PDF Description View) 와 PDF 어노테이션정보뷰 (PDF Annotation Information View) 에서출력된다. PDF 개요뷰에서는 PDF문서의기본메타데이터인저자, 제목, 키워드등을편집할수있으며, PDF 어노테이션정보뷰는문서에포함된시맨틱어노테이션정보를출력한다. 시맨틱검색뷰 (Semantic Search View) : 그림3의시맨틱검색뷰에서는어노테이션정보가기술된온톨로지의브라우징과내비게이션기능을수행할수있는온톨로지내비게이터가제공된다. 온톨로지내비게이터 (Ontology Navigator) 는다음과같은 6개의하위뷰들로구성된다. 타입뷰 (Type View), 패싯뷰 (Facet View), 그리고인스턴스 / 리터럴뷰 (Instance/Value View) 에서는각각온톨로지의클래스, 속성, 그리고속성값을브라우징한다. 온톨로지내비게이터의검색은사용자의 UI선택이벤트에의해서단계적으로수행되며, 수행과정은검색기록뷰 (History View) 에기록된다. 또한, 검색결과인문서목록은결과뷰 (Result View) 에서출력되어지고, 정보뷰 (Information View) 에서는타입뷰, 패싯뷰, 인스턴스뷰에서선택된온톨로지자원의추가정보를표시한다. 3.2 프로세싱모듈프로세싱모듈은사용자인터페이스의입력데이터와출력데이터를처리하기위해서다음과같은 5개의모듈들로구성되어있다. 문서모듈 (Document Module) : 문서모듈에서는문서뷰에출력될 HTML문서와 PDF 문서를처리하기위한기능들을제공한다. HTML문서의처리는 Eclipse RCP(Rich Client Platform) 에서제공하는 SWT Browser를확장하여구현되었고, PDF문서를처리하기위한처리모듈은 JAVA기반의 itext Library[21] 를기반으로구현되었다. 온톨로지 /XMP 모듈 (Ontology/XMP Module) : 온톨로지모듈은 HP Labs Semantic Web Research에서개발한온톨로지관리프레임워크인 Jena[22] 를기반으로개발되었으며, 온톨로지모듈에서관리되는온톨로지들은시맨틱어노테이션모듈과시맨틱검색모듈에서사용된다. 또한, 온톨로지의저장, 가져오기그리고내보내기는데이터접근모듈을통해서처리된다. XMP모듈은 PDF문서에시맨틱어노테이션정보를부착시키거나또는부착된시맨틱어노테이션정보의추출및관리기능을수행하며, 이와같은기능을지원하기위해서 Adobe에서배포한 XMP SDK[23] 를확장하여구현하였다. 1588
웹문서의메타데이터관리를위한 XMP 및온톨로지기반의시맨틱어노테이션지원도구개발 [ 그림 2] OSA 의문서뷰 (a), 온톨로지뷰 (b) 그리고어노테이션뷰 (c) 화면 [ 그림 3] OSA 의시맨틱검색뷰화면 1589
한국산학기술학회논문지제 10 권제 7 호, 2009 시맨틱어노테이션모듈 (Semantic Annotation Module) : 시맨틱어노테이션모듈에서는 RDFS로기술된시맨틱어노테이션모델의관리를담당한다. 시스템에서생성되는모든어노테이션정보는시맨틱어노테이션모델로표현되어관리되고, 시맨틱어노테이션모델은문서의저장시 XMP모듈을통해서 PDF문서에부착된다. 시맨틱검색모듈 (Semantic Search Module) : 시맨틱검색모듈은온톨로지내비게이터에서발생하는이벤트를감지하여온톨로지의질의를생성하고검색을수행하는이벤트기반의온톨로지검색모듈이다. 이벤트를기반으로생성되는질의의표현과온톨로지의검색은온톨로지질의언어인 SPARQL[24] 과 Jena프레임워크에서구동되는 ARQ[25] 질의엔진을사용한다. 데이터접근모듈 (Data Access Module) : 데이터접근모듈에서는시스템에서사용되는온톨로지들을로컬저장소에저장하고관리하는기능과웹어노테이션서버와연계하여, 웹어노테이션수행시생성되는어노테이션정보들을저장관리한다. 또한, 어노테이션의대상문서 (PDF문서) 를파일시스템으로부터불러오고저장하는기능을수행한다. 3.3 로컬저장소와웹어노테이션서버로컬저장소 (Local Storage) 는 OSA에서사용되는온 톨로지들의저장공간으로서, 사용자온톨로지와시스템온톨로지를저장하고관리한다. 사용자온톨로지란, 사용자개인의선택에의해서등록된것으로서, 개인사용자의관심분야를정의한개인온톨로지 (Personal Ontology) 와특정도메인정보를정의한도메인온톨로지 (Domain Ontology) 를의미한다. 한편, 시스템온톨로지는시스템에필요한데이터들을표현하고관리하기위해서사용되는것으로서, OSA에는문서온톨로지 (Document Ontology) 와메타-온톨로지 (Meta Ontology) 가등록되어있다. 문서온톨로지에는시맨틱검색에활용하기위한문서의정보 ( 문서의경로및요약정보 ) 와해당문서에첨부한시맨틱어노테이션정보가기술되고, 메타-온톨로지에는시스템에서사용되는온톨로지들의관리를위해서온톨로지들의메타정보 (version, comment, label, baseuri 등 ) 들이기술된다. 웹어노테이션수행시, 즉, HTML문서의시맨틱어노테이션수행시어노테이션정보를 HTML문서에직접부착시키는것은불가능하다. 따라서, 어노테이션정보들을저장관리하기위한별도의저장소를필요로하며, 웹어노테이션에서생성되는어노테이션정보들을저장관리는저장소의기능을웹어노테이션서버 (Web Annotation Server) 가담당한다. 또한, 웹어노테이션서버에서는도메인온톨로지들을로컬저장소에등록할수있는서비스를제공하여다양한도메인온톨로지의사용이가능하다. [ 그림 4] OSA 의시맨틱어노테이션모델의개요 1590
웹문서의메타데이터관리를위한 XMP 및온톨로지기반의시맨틱어노테이션지원도구개발 4. OSA 의시맨틱어노테이션모델과사용시나리오 4.1 시맨틱어노테이션모델 본장에서는, OSA에서시맨틱어노테이션정보를표현하기위해 RDF Schema로기술된시맨틱어노테이션모델에대해서설명한다. 본논문에서제안하는시맨틱어노테이션모델은크게 3개의부분으로구성되어있고, 그림4는 OSA의시맨틱어노테이션모델의개요를나타내고있다. Publication부분그림4(a) 의 Publication부분에서는시맨틱어노테이션대상문서들을표현하기위해서 SWRC[26] 온톨로지의어휘를도입하여 Publication 클래스를정의하였다. Publication클래스는 SWRC:Publication클래스에정의된 dc:title, dc:creator, swrc:citedby 등의다양한속성들을재사용할수있다. 또한, 문서의특정부분들을표현하기위한 Fragment 클래스를정의하였고, Publication 클래스와는 consistof 관계로연결되어있다. Annotation부분그림4(b) 의 Annotation부분에서는 Annotea Project에서제공하는 Annotea Annotation Schema[27] 에정의된 ANNOTEA:Annotation 클래스의서브클래스로 Annotation 클래스를정의하였다. ANNOTEA:Annotation클래스의속성들로는, 어노테이션의작성자를표현하기위한 author 속성, 온톨로지기반의의미정보와어노테이션을연결시키기위한 body 속성그리고생성일과변경일을표현하기위한 created, modified 속성들이있다. 또한, annotate 속성은어노테이션대상자원과어노테이션을연결하기위해사용된다. Annotating 클래스는온톨로지기반의의미정보를표현하기위한클래스로서, attribute 속성과 value 속성을사용하여온톨로지의트리플정보 (Subject, Predicate, Object) 를표현한다. 그림5는 attribute속성과 value속성을사용하여온톨로지의트리플정보를표현한예이다. 추가적으로, Predicate와 Object의쌍을기술하기위해서각속성이취할수있는값의개수 (Cardinality) 를 1로제약하였다. Scope 클래스는어노테이션정보의접근권한에관한정보를기술한다. 본어노테이션모델에서는, 작성자만이접근가능한 Private, 작성자가포함된커뮤니티내에서공유가가능한의미의 Shared, 그리고공개의의미인 Public 인스턴스들을정의하였다. User부분그림4(c) 의 User부분에서는, 사용자들의정보를기술하기위해서 FOAF[28] 의어휘를도입하였고, 커뮤니티를표현하기위해서 Usergroup 클래스를추가로정의하였다. 또한, 어노테이션의작성자를표현하기위해서 author 속성을사용한다. 본장에서설명한, OSA의시맨틱어노테이션모델에서는 Dublin Core와같은기본어휘뿐만아니라, 기존에잘정의된 SWRC, ANNOTEA, FOAF 등의어휘를도입하여, 사용자정보, 문서의정보, 온톨로지기반의의미정보등을보다풍부하게기술할수있다. [ 그림 5] 온톨로지트리플의표현예 4.2 XMP기반의시맨틱어노테이션지속적으로증가하는디지털문서의효과적인검색과관리및처리를위해서시맨틱웹이제안되었고, 시맨틱웹에서는웹자원들을의미적으로연결하는메타데이터의생성과효과적인관리기술이요구되고있다. 이와같은요구들을충족시키기위해서, W3C에서는메타데이터를기술하기위한 RDF를제안하였으며, Adobe사에서는디지털자원을분류하거나관리를가능하게하는메타데이터관리플랫폼인 XMP[15,16] 를제안하였다. XMP는메타데이터를기술하기위해서 RDF를사용하고있으며, 사용자가 XMP에사용자지정스키마를기술할수있도록확장성을제공한다. 본연구에서는 4.1절에서소개한 RDF Schema로기술된시맨틱어노테이션모델을사용하여 XMP스키마를확장하는방식으로, 풍부한시맨틱어노테이션정보를저장하고관리할수있도록하였다. 시맨틱어노테이션의사용시나리오를설명하기위해서, OSA의 HTML문서와 PDF문서에대한시맨틱어노테이션중 PDF문서에대한시맨틱어노테이션의사례에대해서설명한다. 본사례에서사용되는온톨로지는 SWRC(Semantic Web for Research Communities) 에서배포한 SWRC온톨로지 [26] 를사용한다. SWRC온톨로지는사람, 조직, 간행물 ( 학술자료, 도서 ) 과같은연구커뮤니티정보들의관계를기술하기위한온톨로지이다. 다음에설명할어노테이션시나리오는참고문헌 [6] 의 1591
한국산학기술학회논문지제 10 권제 7 호, 2009 저자 7명중에서 Atanas Kiryakov 에대한시맨틱어노테이션을수행하는과정으로기술하였다. 그림6은시맨틱어노테이션수행화면을나타낸다. 1 온톨로지의클래스뷰에서 Person클래스를선택하면, 인스턴스뷰에 Person클래스의인스턴스목록이나열된다. 나열된인스턴스목록중에서 Atanas Kiryakov 를지칭하는인스턴스가존재하면아래의 2를수행하고존재하지않으면 3을수행하게된다. 2 인스턴스뷰에 Atanas Kiryakov 를지칭하는인스턴스가존재하면, 해당인스턴스를선택한후에인스턴스의 name속성값으로 Atanas Kiryakov 를할당한다. 3 인스턴스뷰에 Atanas Kiryakov 의인스턴스가존재하지않으면, 문서뷰에서 Atanas Kiryakov 항목을선택하고어노테이션팝업메뉴에서 Add new instance 를선택하여저자 Atanas Kiryakov 를지칭하는인스턴스를생성한다. 생성된인스턴스는 rdf:label속성의기본값으로 Atanas Kiryakov 가할당된다. 추가적인어노테이션이필요한경우, 과정 2를반복수행한다. 특히, 과정2의인스턴스에속성값을할당하는방식은다음과같은 3가지방식이가능하다. 첫째, 문서의텍스트를선택하여끌어놓기 (Drag&Drop) 기능으로할당하는방식, 두번째는직접인스턴스에디터뷰에서인스턴스에속성값을추가하는방식, 그리고세번째는문서뷰에서제공하는팝업메뉴에서 Add as a property value of current instance 를선택한후속성선택다이얼로그에서해당속성을선택하는방식이다. 시맨틱어노테이션과정에의해서인스턴스와인스턴스의속성값으로기술된시맨틱어노테이션정보가생성되고, 이때생성된어노테이션정보는그림7의어노테이션정보뷰에서확인이가능하다. 정보탭 (Information Tab) 에는항목탭 (Entity Tab) 에서선택된 Atanas Kiryakov항목의시맨틱어노테이션정보를표시한다. 문서내의 Atanas Kiryakov 는 rdf:type이 Person클래스이고이름이 Atanas Kiryakov이다. 추가적으로, Semantic Annotation, Indexing, and Retrieval 인스턴스, 즉, 참고문헌 [6] 의저자라는정보를확인할수있다. 또한, 그림8의 PDF 개요뷰는 PDF문서에대한기본적인타이틀, 저자, 주제, 키워드그리고문서의생성일및변경일과같은메타데이터를보여준다. 여기서, 문서의생성일및변경일을제외한모든정보들은사용자에의해서수정이가능하다. 본논문에서는 OSA의시맨틱어노테이션수행과정을 설명하기위하여어노테이션수행시에참조되는온톨로지를단 1개 (SWRC온톨로지) 만으로한정하여사용하였다. 그러나, 개별문서에는다양한영역의지식들이포함될수있고, 이러한다양한지식에하나의온톨로지만을참조하여어노테이션을수행하는것은분명히한계가있다. 이와같은한계점을극복하기위해서 OSA에서는 2개이상의온톨로지들을참조하여어노테이션을수행하는것이가능하다. 예를들어, 참조문헌 [6] 의저자인 Atanas Kiryakov 와 Dimitar Manov 에어노테이션을수행하기위하여 FOAF 온톨로지를추가로로딩하고 FOAF에정의된많은어휘들을사용하여보다풍부한의미정보를생성할수있다. 4.3 시맨틱검색문서에시맨틱어노테이션정보를부여하는목적은저장되어있는다량의정보들중에서사용자가요구하는정보를효율적으로검색하여사용자에게전달하고자하는데있다. 그러나, 기존의검색방법 ( 키워드검색 ) 을사용하여시맨틱어노테이션정보가부여된문서를검색하는것은매우비효율적이다 [6,18]. 한편, 패싯브라우징은패싯분류 (Faceted Classification) 과정을통해서정보영역을직교개념의차원 (Orthogonal Conceptual dimensions) 들로분할하여사용자인터페이스기반으로브라우징과내비게이션을수행하는검색기술이다 [29]. 패싯분류과정에서분류의기준이되는것을패싯 (Facet) 이라고하며, 예를들어, 예술작품정보의분류를위해패싯들을선정한다면, 작품의주제, 아티스트이름, 제작년도등이될수있다. 또한, 아티스트의이름인 레오나르도다빈치 와같은값을분할된정보영역을제약하여축소시키기위한제약값 (Restriction-value) 이라고한다. 이와같은패싯분류를통해서, 아티스트의이름이 레오나르도다빈치 인예술품의검색이가능하다. 이와유사하게, 주어 (Subject), 술어 (Predicate), 목적어 (Object) 로구성된 RDF의구조는, 주어가검색의대상이되는정보를표현하고술어는패싯으로고려될수있다. 또한, 목적어는패싯으로분류된정보의제약값 (Restriction-value) 이된다 [30]. 본논문에서는, 시맨틱어노테이션정보가기술된온톨로지 ( 어노테이션시에참조된온톨로지 ) 를패싯브라우징기술과온톨로지질의언어인 SPARQL을사용하여사용자인터페이스기반의시맨틱검색을제공한다. 패싯브라우징에서는, 사용자가단계적으로인터페이스를사용하여제약사항을추가하는과정에의해서질의가생성된다. 또한, 사용자들은중간결과와함께추가질의를생성하기위한내비게이션기능을제공받는다. 1592
웹문서의메타데이터관리를위한 XMP 및온톨로지기반의시맨틱어노테이션지원도구개발 [ 그림 6] OSA 의시맨틱어노테이션수행화면 [ 그림 7] OSA 의 PDF 어노테이션정보뷰화면 [ 그림 8] OSA 의 PDF 개요뷰화면 1593
한국산학기술학회논문지제 10 권제 7 호, 2009 시맨틱검색을수행하기위해서제공되는시맨틱검색뷰는 6개의서브뷰로구성된다. 그중에서, 타입뷰 (Type View), 패싯뷰 (Facet View), 그리고인스턴스 / 리터럴뷰 (Instance/Value View) 는질의생성뷰로서, 각각온톨로지의클래스, 속성, 그리고인스턴스와리터럴값을브라우징할수있다. 각뷰에서질의를생성할수있는이벤트는다음과같으며, 그림9는해당이벤트들에의해서생성될수있는질의의예를나타내고있다. 검색기록뷰 (History View) 에서는사용자의검색기록을목록으로나열하여표시하고취소기능을사용하여이전검색결과로되돌아갈수있다. 정보뷰 (Information View) 에서는서브뷰에서선택된온톨로지자원 ( 클래스, 인스턴스, 속성 ) 의정보를테이블형태로제공한다. 마지막으로결과뷰 (Result View) 에서는검색의최종결과인문서를나열하여표시한다. OSA에서제공하는시맨틱검색기능을간단한 Atanas Kiryakov가저자인문서는? 이라는질의어를토대로설명하기로한다. 그림10~13은 OSA의시맨틱검색을순서대로실행한화면이다. [ 그림 9] 질의예제 타입선택 : 타입선택은검색대상의타입을결정하고검색대상의분류기준인패싯목록을추천받는다. 타입선택의예로, 사람을검색하기위해서 Person클래스를선택함으로써, Person클래스와관련된속성목록이패싯뷰에브라우징된다. 패싯선택 : 패싯선택은검색대상을제약시키기위한패싯을결정하고제약값목록을추천받는다. 예를들어, name속성으로선택하면, 제약값의목록으로는 Person클래스인스턴스들의 name속성값이브라우징된다. 또한, 패싯의종류를주어가속성의도메인 (Domain) 이되는기본패싯과기본패싯의역을표현한역 (Inverse) 패싯으로분류하여, 역관계의검색또한가능하다. 제약값선택 : 제약값선택은하나의 SPARQL질의를결정한다. 그림 9(a) 에서는제약값으로 양경모 를선택한경우이고, 추가적으로, 양경모 가작성한문서 (?P-D) 를참고문헌으로사용하는문서 (?D) 를검색하기위한복잡한질의또한단계적으로생성할수있다. 또한, 제약값을효율적으로결정할수있도록, 정규표현식을사용한문자열의매칭과날짜형식과숫자형식의특정구간을제약값으로결정할수있는기능들을정의하였다. 1 그림10의 Choose Ontology 콤보상자에서시맨틱어노테이션에사용된 SWRC온톨로지를선택하고, Atanas Kiryakov 를검색하기위해서타입선택으로 Person클래스를선택한다. Person클래스가선택되면, 인스턴스 / 리터럴뷰에 Person클래스의모든인스턴스목록이나열되고패싯뷰에는인스턴스 / 리터럴뷰에나열된인스턴스들이가지고있는모든속성들이나열된다. 2 그림11과같이, 사람의이름에대한제약사항을추가하기위해서 name속성을선택한다. 패싯뷰에서 name속성이선택되면인스턴스 / 리터럴뷰에는 Person클래스의모든인스턴스들이가지고있는 name속성값목록이나열된다. 나열된목록중에서 name속성의제약값으로 Atanas Kiryakov 를선택하고우측상단의 Add버튼을선택한다. 3 제약값이추가되면시맨틱검색컴포넌트는 SPARQL로기술된질의를수행하여검색된인스턴스와연관성이없는인스턴스들을필터링한다. 이같은필터링과정을통해서사용자에게선택이가능한항목을추천해주는내비게이션기능을제공할수있다. 그림12에서는, Document클래스의인스턴스와관련된사항들로추가적인검색이가능하다. 4 마지막으로, 그림13은문서의검색에관한질의를수행하는과정이다. 타입뷰에서 Document클래스를선택하면, 인스턴스 / 리터럴뷰에는이전단계에서검색된 Atanas Kiryakov 의인스턴스와관련된 Document클래스의인스턴스가나열된다. 또한, 패싯뷰와정보뷰에서나열된인스턴스의작성자가 Atanas Kiryakov 라는정보를확인할수있다. 검색된인스턴스를선택하면, 결과뷰에해당인스턴스를참조하여시맨틱어노테이션을수행한문서의정보가표시된다. 1594
웹문서의메타데이터관리를위한 XMP 및온톨로지기반의시맨틱어노테이션지원도구개발 [ 그림 10] 타입선택화면 [ 그림 11] 패싯선택화면 1595
한국산학기술학회논문지제 10 권제 7 호, 2009 [ 그림 12] Atanas Kiryakov 의인스턴스검색화면 [ 그림 13] "Semantic Annotation, Indexing, and Retrieval" 문서검색화면 1596
웹문서의메타데이터관리를위한 XMP 및온톨로지기반의시맨틱어노테이션지원도구개발 [ 표 1] 시맨틱어노테이션지원도구특징비교 처리대상문서형식 메타데이터내장 메타데이터내장기술 시맨틱검색기능지원 시맨틱어노테이션 / 검색에활용가능한온톨로지 Annozilla[8] HTML - - MnM[9] HTML XML - OntoMat-Annotizer[10] HTML - - SHOE[11] HTML HTML 확장 SHOE 온톨로지 KIM[12] HTML - KIM 온톨로지 SALT[13] PDF XMP - PDFTab[14] PDF XMP - OSA HTML, PDF XMP RDF/OWL로기술된온톨로지 5. 기존도구들과의기능비교 본연구의주요목적은, XMP 및온톨로지기반의시맨틱어노테이션지원도구 (OSA) 를개발하여, 웹문서에대한풍부한시맨틱어노테이션을수행하고시맨틱어노테이션과정에서참조한온톨로지와생성된메타데이터를기반으로시맨틱검색을지원하는것이다. 본연구결과로서개발된 OSA의기능상의특징과장점에대해서기존도구들 [8-12] 과비교해보면표1과같다. 1 기존의도구들 [8-14] 은시맨틱어노테이션대상문서형식으로 HTML문서또는 PDF문서중에서한가지만을처리하는반면에, 본연구결과 (OSA) 에서는 HTML문서와 PDF문서를모두시맨틱어노테이션처리할수있다. 2 기존의도구들 [8-14] 은생성된메타데이터를관리하기위해서, 메타데이터를문서내부에직접부착하는방식또는, 별도의서버에저장하여관리하는방식을사용하고있다. 한편, OSA에서는, 메타데이터의관리에대한호환성을높이기위해서메타데이터관리플랫폼으로서국제표준으로제정된 XMP[15,16] 표준기술을도입하여채용하고있다. 3 기존의도구들 [8-14] 중에서시맨틱검색기능을제공하고있는것으로는 SHOE와 KIM뿐이며, 이들도구들은각각의시스템에서정의한온톨로지만을기반으로시맨틱어노테이션기능과시맨틱검색기능을제공한다. 따라서, SHOE와 KIM은특정도메인의정보또는개인사용자가요구하는정보를시맨틱어노테이션처리하여검색하는데많은제약이있다. 한편, OSA에서는, W3C표준으로제정된온톨로지기술언어인 RDF 및 OWL을사용하여표현된개인 / 도메인온톨로지 (Personal/Domain Ontology) 를처리하기때문에 SHOE와 KIM에비 해서시맨틱어노테이션기능과시맨틱검색기능의범용성이더높다. 한편, 시맨틱검색기능을제공하고있는 SHOE와 KIM, 그리고 OSA에대해서, 각각의시맨틱검색결과를비교하는작업을수행함으로써, 본연구에서개발된도구의장점을살펴볼수있다. 그러나, SHOE의경우, 시맨틱검색기능을웹사이트 (http://www.cs.umd.edu/projects/plus/shoe/search/) 에서자바애플릿으로제공하고있으나, 2009년 06월 19일현재, 시스템의오류로인하여서비스가중단된상태이다. 따라서, KIM과본연구의결과 (OSA) 의시맨틱검색결과를비교해보기로한다. 먼저, 시맨틱검색기능을비교하기위하여, 임의의질의로서 현재의미국대통령과관련된정보는? 을선택하였다. KIM과 OSA 각시스템에대해서, 위에서선택된질의 현재의미국대통령과관련된정보는? 을검색하는과정을수행하였다. KIM에서는, 그림14의 Location 에서 United States 항목을선택을한후 Job Positions 에서현재미국대통령을지칭하는 President 를선택한다. 그러나, KIM에서는검색에활용할수있는항목을클래스와인스턴스만으로한정하여제공하고있다. 따라서, 사용자가현재의미국대통령에대한정보 ( 이름등 ) 를알지못하는상태에서정확한 President 항목을선택할수없다. 또한, 미국의대통령과관련된 President 항목을선택하였더라도, Person 의항목들중에서현재의대통령을검색하는것은불가능하다. 한편, OSA에서는, 그림15와같이 Location 클래스를선택하고 United States 를검색한다. United States 와관련된항목들로검색의범위가축소되고, 타입으로 Person 클래스를선택한후, hasposition 속성을패싯으로선택을하여미국대통령에대한정보를검색할수있다. 또한, 정보뷰를통해서대통령의당선연도 1597
한국산학기술학회논문지제 10 권제 7 호, 2009 [ 그림 14] KIM 의검색결과화면 [ 그림 15] OSA 의검색결과화면 (starttime) 를선택하여현재의대통령에대한정보에대해서확인할수도있다. 위와같은시맨틱검색기능에대한 KIM과 OSA의검색결과를비교해보면, 기존의도구들중에서시맨틱검색기능을지원하는 KIM에서검색불가능했던것을본연구결과 (OSA) 에서는보다정확하게검색해낼수있다. 따라서, 본연구결과 (OSA) 는기존의도구들과비교했을 때, 보다정확하고효율적인시맨틱검색기능을지원하고있음을알수있다. 6. 결론및향후과제 본연구에서는, 급증하는디지털문서들과그에포함 1598
웹문서의메타데이터관리를위한 XMP 및온톨로지기반의시맨틱어노테이션지원도구개발 된유용한정보를효과적으로관리하기위해서, 디지털문서의시맨틱어노테이션모델을제안하고, 제안된모델을기반으로생성된시맨틱어노테이션정보들을 XMP를사용하여저장 관리하는시맨틱어노테이션지원도구 (OSA) 를개발하였다. OSA의특징및장점을요약하면다음과같다. 1 디지털문서 (HTML, PDF) 에포함된단어, 문장과같은요소들을대상으로시맨틱어노테이션을수행할수있으며생성된시맨틱어노테이션정보들은메타데이터관리플랫폼인 XMP를사용하여저장하고관리된다. 2 OSA의시맨틱메타데이터모델을 RDF Schema로정의하고 XMP를확장하여정의함으로써, Dublin Core와같은기본메타데이터스키마를사용하는것에비해서매우풍부한시맨틱어노테이션정보를표현할수있다. 3 시맨틱어노테이션정보가기술된온톨로지를패싯브라우징기술과온톨로지검색기술을사용한사용자인터페이스기반의시맨틱검색을제공함으로써, 검색의편의성이증가하여사용자가요구하는정보를보다정확하고효율적으로검색할수있다. 향후연구과제로는, OSA의다중온톨로지참조기능을보완하는것과, 디지털문서들의다양한문서형식을지원하도록 OSA가처리할수있는문서형식을다양화 (OpenOffice, Image 등 ) 하는부분이있다. 특히, 다중온톨로지참조기능의보완은, 시맨틱어노테이션을수행하기위하여참조되는도메인온톨로지또는개인온톨로지들을하나의통합된온톨로지로생성하기위한온톨로지통합기술을토대로하고있다. OSA에온톨로지통합기술을도입하여다양한도메인온톨로지에공통으로정의된용어들을하나의통합된개인온톨로지로관리함으로써, 시맨틱어노테이션정보가중복생성되는것을방지할수있으며, 통합된개인온톨로지는시맨틱검색에서유용하게재사용될수있다. 또한, 통합된개인온톨로지들을사용하여다양한사용자들이참여할수있는협력적인시맨틱어노테이션환경을구성할수있다. 참고문헌 [1] Berners-Lee, T., J. Hendler and O. Lassila The Semantic Web, In Scientific American, May, Vol. 284, No.5, pp. 34-43, 2001. [2] Klyne G., J. J. Carroll and B. McBride, Resource Description Framework (RDF): Concepts and Abstract Syntax, W3C Recommendation, http://www.w3.org/tr/rdf-concepts/, February, 2004. [3] Brickley D., R.V. Guha and B. McBride, RDF Vocabulary Description Language 1.0: RDF Schema, W3C Recommendation, http://www.w3.org/tr/rdf-schema/, February, 2004. [4] Deborah L. McGuinness and F. Harmelen, OWL Web Ontology Language Overview, W3C Recommendation, http://www.w3.org/tr/owl-features/, February, 2004. [5] 곽승진, 디지털콘텐트의어노테이션에관한연구, 한국문헌정보학회지, 제40권, 제4호, pp.267-286, 12 월, 2006. [6] Kiryakov A., B. Popov, D. Ognyanoff, D. Manov, A. Kirilov and M. Goranov, Semantic Annotation, Indexing, and Retrieval, 2nd International Semantic Web Conference (ISWC2003), Florida, USA. LNAI Vol.2870, pp.484-499, 2003. [7] Euzenat J., Eight questions about Semantic Web annotations, IEEE Intelligent Systems, Vol.17, No.2, pp.55-62, 2002. [8] mozdev, Annozilla, http://annozilla.mozdev.org/, 2007. [9] Knowledge Media Institute, MnM, http://kmi.open.ac.uk/projects/akt/mnm/, 2004. [10] Braun M., K. Kuehn and L. Meyer, OntoMat-annotizer, http://annotation.semanticweb.org/ontomat/index.html, 2002. [11] PLUS Group, Simple HTML Ontology Extenstions, http://www.cs.umd.edu/projects/plus/shoe, 2002. [12] Ontotext Semantic Technology laboratory, KIM Semantic Annotation, http://www.ontotext.com/kim/semanticannotation.html, 2007. [13] Tudor Groza K. M., S. Handschuh and S. Decker, SALT - Semantically Annotated LaTeX for scientic publications. In 4th European Semantic Web Conference, pp.518-532, 2007. [14] Henrik Eriksson, An Annotation Tool for Semantic Documents. Lecture Notes In ComputerScience, Springer-Verlag, Berlin, Heidelberg, Vol.4519, pp.759-768, 2007. [15] Alex Ball, Briefing Paper: The Adobe extensible Metadata Plaform(XMP), UKOLN research organization, February, 2007. [16] Abobe, XMP Specification, sseptember, http://www.adobe.com/devnet/xmp/pdfs/xmp_specificati on.pdf, 2005. [17] Adobe, PDF Reference Sixth Edition version 1.7, http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference 1599
한국산학기술학회논문지제 10 권제 7 호, 2009 _1-7.pdf, November, 2006. [18] Li Ding, Tim Finin, Anupam Joshi, Rong Pan, Scott R Cost, Yun Peng, Pavan Reddivari, Vishal Doshi and Joel Sachs, "Swoogle: a search and metadata engine for the semantic web", Proceddings of the thirteenth ACM conference on Informaiton and Knowledge management, pp.652-659, 2004 [20] Ahan K., J. Ojvunen K., Prud Hommeaux E. and Swickr R., Annotea: An Open RDF Infrastructure for Shared Web Annotations. In The Tenth International World Wide Web Conference, Hong Kong, pp.623-632, May, 2001. [21] Lowagie B., itext, a Free Java-PDF Library, http://www.lowagie.com/, 2008. [22] HP Labs Semantic Web Research, Jena 2 - A Semantic Web Framework, http://www.hpl.hp.com/semweb/jena2.htm, 2008. [23] Adobe, Extensible Metadata Platform SDK, http://www.adobe.com/devnet/xmp/sdk/eula.html, 2008. [24] Prud Hommeaux E. and Seaborne A., SPARQL - Query Language for RDF, W3C Recommendation, http://www.w3.org/tr/rdf-sparql-query/, January, 2008. [25] HP Labs Semantic Web Research, http://jena.sourceforge.net/arq/, 2008. [26] Sure Y., S. Bloehdorn, P. Haase, J. Hartmann and D. Oberle, The SWRC Ontology - Semantic Web for Research Communities, In Carlos Bento, Amilcar Cardoso, Gael Dias, Proceedings of the 12th Portuguese Conference on Artificial Intelligence - Progress in Artificial Intelligence (EPIA 2005), Vol.3803, pp. 218-231, 2005. [27] Annotea project, Annotea Annotation Schema, http://www.w3.org/2000/10/annotation-ns, October, 2000. [28] Dan Brickley, Libby Miller, FOAF Vocabulary Specification 0.91, November, 2007. [29] K. P. Yee, K. Swearingen, K. Li, and M. Hearst, Faceted metadata for image search and browsing, CHI., pp.401-408, 2003. [30] Oren E., Delbru R. and Decker S., Extending Faceted Navigation for RDF Data, Lecture Notes in Computer Science, Springer Berlin, Heidelberg, pp.559-579, 2006. 양경모 (Kyoung-Mo Yang) [ 준회원 ] 2006 년 2 월 : 선문대학교컴퓨터정보학과 ( 이학사 ) 2008 년 3 월 ~ 현재 : 선문대학교전자계산학과 ( 석사과정 ) < 관심분야 > 데이터마이닝, 시맨틱웹, 온톨로지공학, Formal Concept Analysis 황석형 (Suk-Hyung Hwang) [ 정회원 ] 1991 년 8 월 : 강원대학교전자계산학과조기졸업 ( 이학사 ) 1993 년 4 월 : 일본오사카대학교대학원정보공학과 ( 공학석사 ) 1997 년 4 월 : 일본오사카대학교대학원정보공학과 ( 공학박사 ) 1997 년 3 월 ~ 현재 : 선문대학교컴퓨터공학부교수 2007 년 1 월 ~ 2008 년 1 월 : 아일랜드국립대학교 DERI 객원연구원 < 관심분야 > 소프트웨어공학, 객체지향, 온톨로지공학, 시맨틱웹, Formal Concept Analysis, Semantic Web Mining 최성희 (Sung-Hee Choi) [ 정회원 ] 1977년 2월 : 서강대학교수학과졸업 ( 이학사 ) 1988년 8월 : 미국펜실베니아주립대학교대학원전자계산학과 ( 이학석사 ) 1994년 5월 : 미국켄터키대학교대학원전자계산학과 ( 이학박사 ) 1995년 3월 ~ 현재 : 선문대학교컴퓨터공학부교수 < 관심분야 > Computational Complexity, 수치해석학, 계산이론, 소프트웨어공학, Formal Concept Analysis 1600