목요일, 5월 9
Shadow

#001 Semantic Search

시맨틱웹 기반의 검색 시스템 구조

이강찬* 김성한* 민재홍** 박기식*** 정인정****

현재의 시맨틱웹 연구 및 개발은 시맨틱웹의 기본 기술인 RDF/RDFS, 에이전트, 온톨로지에 초점이 맞추어져 있다. 본 고에서는 시맨틱웹의 기본 기술을 유기적으로 조직하고 향후 시맨틱웹의 연구와 기술 개발에 청사진의 역할을 할 수 있는 시맨틱웹의 시스템 구조를 제시한 후, 시스템 구조를 사용하기 위한 시맨틱웹 개발에 필요한 도구에 대하여 설명한다. ▧

 

 

I. 서 론

1990년대부터의 정보통신의 발달 및 인터넷 사용 환경의 편의성 제고 등으로 인하여 웹의 사용이 일반화되고 있을 뿐만 아니라 각종 다양한 정보들이 웹을 통해서 공유되고 있다. 즉, 각종 멀티미디어 정보들이 디지털화되고 대용량의 데이터 교환이 가능해졌으며 단순한 텍스트뿐만 아니라 이미지, 음성, 동영상 등 다양한 형태의 자료를 공유할 수 있게 됨에 따라서 다양한 정보의 공유와 그 방대한 양으로 인하여 웹은 정보의 바다로 부각되었다.

그러나 현재의 웹 환경은 컴퓨터를 매개로 하여 사람과 사람들간의 정보 교환을 위해 발달되어 모든 정보의 추출, 이해를 사람에게 의존하기 때문에 사용자가 원하는 유용한 정보를 추출하는 일은 그리 간단하지 않다. 이러한 환경을 개선하기 위해 에이전트, 검색 엔진, 자연언어 처리 등과 같은 기술이 웹 환경에서 적용되기 위하여 연구/개발되고 있으나 이러한 기술 역시도 현재의 웹 환경이 지니고 있는 문제점으로 인하여 한계가 있다. 현재의 웹은 HTML 마크업 언어를 기반으로 하여 확산되었으며, HTML로 이루어진 웹 문서들은 정보의 표현을 위해서 정보와 표현을 위한 태그와 복잡하게 섞여 있다. 이러한 이유로 인하여 정보를 추출하기 어려울 뿐만 아니라 부울 연산에 의한 단어 검색을 위주로 하는 현재의 검색 방법에서는 유의어, 동음이의어 등과 같은 문제를 해결하지 못한다. 이러한 문제점을 개선하기 위하여 XML이 개발되었으나 XML도 정보의 정확한 표현은 가능하지만, 의미 표현이 불가능하고 다양한 형태의 표현 가능성으로 인하여 정보의 애매성을 증가시키는 단점을 지니고 있다.

지금까지의 웹 기술은 인간과 컴퓨터간의 정보 교환에 치중하고 정보와 태그의 혼합으로 정보추출의 어려움 그리고 컴퓨터의 웹 데이터에 대한 의미적 해석 및 처리의 취약 등의 어려운 문제점들이 있었다. 이를 해결하고 컴퓨터간의 정보교환이 가능하게 하며 웹 상의 데이터의 의미를 사람이 아닌 컴퓨터가 이해ㆍ처리할 수 있는 새로운 정보 기술인 시맨틱웹이 1990년대 말에 소개되었다. 시맨틱웹은 분산처리 환경 하에서 서로 다른 데이터베이스 및 이기종 컴퓨터마다 상이한 의미를 갖는 데이터에게 각각의 컴퓨터 및 응용 프로그램들에서도 자유롭게 접근이 가능하도록 한다.

본 고에서는 시맨틱웹 기술을 적용한 검색 시스템의 구조를 제안하며, 현재까지의 개발된 도구를 이용하여 검색 시스템의 모듈별 도구를 정리하였다.

II. 온톨로지

웹을 제안하였던 팀버너스리(Tim Berners-Lee)는 시맨틱웹의 중요 기술로서 의미 표현을 위한 RDF/RDFS와 이기종 환경에서 도메인의 지식을 공유하고 재사용하기 위한 온톨로지(ontology), 그리고, 자동적이고 지능적인 기능의 수행과 개인화을 위한 에이전트를 시맨틱웹의 중요 기술로서 제안하였다. 이러한 기술들 중에서 온톨로지는 오랜 시간동안 인공지능과 다른 학문 분야에서 연구를 하고 있다.

온톨로지란 도메인 내에서 공유되는 데이터들의 개념화한 형식적이고 명백한 규정이며, 이는 특정분야에서 사용되는 표준 어휘들의 모음이라고 할 수 있다. 즉, 온톨로지는 도메인 내의 지식을 개념화 하고 이를 명세화 하는 것으로서 정의된다. 또한 온톨로지는 어휘 사전의 역할 이외에 지식을 효과적으로 표현하기 위해 정보의 의미를 부여하고, 정보간의 관계를 설정한다. 따라서 온톨로지는 광범위한 도메인에 적용이 가능토록 표준을 제시함으로써 웹 문서에 나타난 지식을 표현, 공유와 재사용을 그 목적으로 하고 있다. 시맨틱웹의 목적인 의미에 따른 자동적인 실행과 추론을 하기 위해서 온톨로지는 중요한 기술로 사용되고 있다.

이러한 온톨로지는 다음과 같이 3가지 종류로 구분을 할 수 있다.

 

 

온톨로지는 다음과 같은 응용프로그램에서 사용이 될 수 있다.

– 커뮤니티 참조(Community Reference) – 중립적인 온톨로지 작성

– 데이터베이스의 스키마의 정의나 혹은 온톨로지의 명세화와 같은 데이터베이스 주석(annotation)을 위한 공통의 사전(vocabulary) 정의

– 정보의 이용을 위한 공통적인 방법의 제공

– 데이터베이스의 주석과 기술적인 문서의 이해

첫번째의 커뮤니티 참조는 동일한 언어로써 작성해야 하고 이기종 환경에서 사용을 위해 다른 언어로의 전환이 가능해야 한다. 즉, 지식을 표현하는 데 있어서는 동일한 언어로써 표현을 해야 하며, 다른 시스템에 지식을 이식할 때에 다른 시스템에 적합한 언어로써 번역을 해야 한다. 두번째의 데이터베이스의 스키마의 정의나 혹은 온톨로지의 명세화와 같은 데이터베이스 주석을 위한 공통의 사전 정의는 지식에 대한 서술과 공유를 위해 동일한 표준 용어로써 기술한다. 공통의 사전 어휘로써 온톨로지는 지식의 작성, 관리, 공유, 재사용 및 신뢰성에서 장점을 지닌다.

세번째의 정보에 대한 동일한 방법의 접근은 서로 상이한 언어로써 작성된 지식을 공유할 수 있게 하는 것이다. 즉, 온톨로지는 공통적으로 공유되는 지식의 용어를 제공함으로써 서로 다른 언어로 작성이 되어 있어도 지식을 제공할 수 있다. 마지막으로, 데이터베이스의 주석과 기술적인 문서의 이해이다. 온톨로지는 자연언어 처리를 제공함으로써 도메인 내의 지식의 연결뿐만 아니라 지식이 문법과 어휘와 같은 언어적인 구조의 연관 관계를 이해할 수 있도록 설계되어 있다.

위에서 언급한 다섯 가지 형태의 응용 프로그램에서 온톨로지의 사용을 필요로 하고 있다. 또한, 온톨로지의 사용은 기존의 데이터베이스 기반의 응용 프로그램의 기능뿐만 아니라 자연언어 처리와 같은 방법을 사용하여 의미의 파악을 하여 단순한 키워드 매칭 방법이 아닌 용어들간의 연관 관계를 파악하여 질적인 정보와 지식을 제공할 수 있다.

III. 시맨틱웹 기반 검색 구조

현재의 시맨틱웹의 연구의 초점은 시맨틱웹을 가능하게 하기 위한 기반 기술에 있다. 이러한 이유로 시맨틱웹의 응용 및 시스템의 구조는 시험 모델이나 도메인에 적합하도록 설계되어 있다. 제시하는 시스템 구조는 현재의 웹 구조에 시맨틱웹 기술을 결합하였다. 시맨틱웹과 현재의 웹 구조를 결합하는 것은 시맨틱웹 시스템 구조를 현재의 웹과 독립적으로 구성하게 되면 그에 소모되는 자원과 비용이 증가하고, 현재의 웹과 유사한 구조를 지님으로써 현재의 웹과 연동할 수 있는 시스템 구조가 필요하기 때문이다.

제안하는 시맨틱웹 검색시스템 구조는 시맨틱웹의 사용과 서비스의 연관 관계를 상세히 나타내었으며 현재의 웹 시스템을 기반으로 하여 설계하였다. 이러한 연관 관계는 향후 시맨틱웹의 연구와 개발에 있어서 로드맵의 역할을 하며 효율적이고 유기적인 설계 및 개발에 사용을 할 수 있으며 현재의 웹에서 시맨틱웹을 위한 시스템의 설계에 이용할 수 있다.

본 고에서 소개하는 시스템 구조는 서브 시스템인 검색엔진과 온톨로지로 구분할 수 있는데, (그림 1)에서 온톨로지 저장소(Ontology Repository)를 중심으로 상위가 검색엔진이며, 하위가 온톨로지 시스템 구조이다. 검색엔진은 사용자가 시맨틱웹의 사용과 에이전트와 RDF, 온톨로지를 이용한 추론 엔진의 연동에 대한 서브 시스템 구조이며, 온톨로지 서브시스템은 시맨틱웹에서 온톨로지를 생성하고 유지 관리하기 위한 시스템 구조이다.

 

 

1. 검색엔진 서브시스템 구조

검색엔진 서브 시스템은 온톨로지 저장 시스템을 중심으로 RDF 처리를 위한 RDF 질의 처리기, 온톨로지 크롤러, 그리고 지식 추론을 위한 추론엔진으로 구성할 수 있으며, 각각의 구성 요소에 대한 설명은 <표 2>와 같다.

 

 

이러한 온톨로지는 단지 검색에만 유용하게 사용되는 것이 아니라 사용자가 온톨로지를 이용하여 페이지 구성을 할 수도 있다. 현재 시맨틱웹을 위한 마크업 언어로서는 RDF/RDFS와 RDF를 기반으로 한 DAML, OIL과 HTML에 온톨로지를 삽입한 SHOE, 그리고 OWL등이 개발되었다. 이러한 언어들을 사용하여 시맨틱웹 문서를 작성하기 위해서는 <표 3>과 같은 구성요소가 필수적으로 필요하게 된다.

 

 

이와 같은 검색 서브시스템의 구성요소는 시맨틱웹 시스템의 흐름을 반영하고 있다. 또한, 현재의 웹에서 사용자가 웹을 사용할 때의 각 시스템 흐름과도 유사한 시스템의 흐름을 지니고 있으며, W3C와 시맨틱웹을 연구하는 기관의 프로토타입의 응용 사례에 적용할 수 있는 구조를 지니고 있다.

2. 온톨로지 서브시스템 구조

온톨로지는 메타데이터와 유사한 형식과 속성을 지니고 있다. 그러나 온톨로지가 메타데이터와 구분이 되는 것은 추론의 기능을 제공하며 지식의 표현과 추출을 하고 공통의 지식을 공유 및 재사용이 가능한 점이다. 또한, 온톨로지는 시맨틱웹 언어와 같은 지식 표현의 언어로써 작성이 되어 있으며, 파일의 형태로써 표현이 가능하다.

시맨틱웹에서의 온톨로지는 추론 엔진에서 추론을 하기 위한 지식을 제공하며, 도메인 내의 지식을 공유하고 이기종 환경에서의 상호운영용을 보장하고 있다. 제안하는 온톨로지 서브시스템 구조는 온톨로지의 저장, 생성 및 유지 보수를 통합적으로 할 수 있다.

제안하는 온톨로지 서브시스템은 온톨로지 생성, 온톨로지 관리, 온톨로지 저장 모듈로 구분을 할 수 있다.

먼저 온톨로지 생성은 온톨로지를 생성하는 과정이며, 온톨로지 정의1)를 기본으로 하고 있다. 현재 온톨로지 생성은 수작업으로써 사용자가 온톨로지 편집기나 모델링 도구를 사용하여 작성을 하고 있다. 제안하는 시스템에서는 수동적인 부분과 더불어 자동적인 생성이 가능하도록 시스템의 구성요소를 제시하였으며, 각 구성 요소는 <표 4>와 같다.

 

 

온톨로지 생성 구성요소는 온톨로지 언어인 지식 표현언어의 사용을 제공해야 한다. 현재 시맨틱웹에서는 DAML, OIL, SHOE 및 RDF와 같은 언어를 온톨로지 표현을 위하여 제공을 하고 있다. 또한, 온톨로지 모델러는 텍스트 방식이 아닌 계층적인 구조를 표현하는 트리 모델이나, 소프트웨어 공학의 UML과 같은 방식의 그래픽 방법을 제공해야 하며, 개념화를 자동화된 방법으로 수행하기 위해서 구분 규칙을 제공하여 개념간의 계층적인 구조를 제시하여야 한다.

또한 온톨로지 생성기에서는 개념화의 정보를 가지고 이를 명세화하는 작업을 해야 한다. 명세화 작업은 개념에 대한 정보를 기입하는 것이며, 이는 메타데이터를 작성하는 것과 동일한 방식이다. 그러나, 작성을 하기 위한 언어는 지식을 표현할 수 있는 언어를 사용하여야 하며, 시맨틱웹에서는 시맨틱웹 마크업 언어로써 작성이 되어야 한다.

온톨로지의 관리는 편집, 주석 및 온톨로지 통합 도구를 제공하여야 한다. 온톨로지의 편집은 온톨로지의 수정을 위하여 제공하는 방안이며, 온톨로지 주석은 각각의 온톨로지에 사용자의 메모와 같은 부분을 기록하는 것이다. 마지막으로 온톨로지 통합 도구는 도메인의 온톨로지를 하나의 온톨로지로 통합하는 방법이다. 통합 방법은 사용자가 직접적으로 사용을 위한 온톨로지 통합기(integrator)와 자동적으로 통합을 하기 위한 온톨로지 학습기(learner)로써 구성을 할 수 있으며, 자세한 설명은 <표 5>과 같다.

 

 

마지막으로 온톨로지 저장 구성요소는 온톨로지의 저장과 저장된 온톨로지의 버전을 제공하며, 항상 온톨로지 무결성 등을 검사하는 모듈이 있어야 한다. 저장 구성 요소는 <표 6>과 같이 정리하였다.

 

 

IV. 시맨틱웹 개발을 위한 도구

본 절에서는 제안한 시맨틱웹의 시스템 구조를 기반으로 하여 시맨틱웹 시스템의 각 구성요소에서 필요 기술들과 개발이 완료되어 이용할 수 있는 도구에 대하여 설명한다.

2003년 현재, 시맨틱웹을 위한 도구들은 다양한 분야에서 개발되고 있다. 사용자가 사용을 위해서 사용의 측면에서는 에이전트 및 웹 문서간의 변환기, 질의어를 처리하기 위한 기술 및 도구가 개발되었으며, 추론을 제공하기 위한 추론 엔진의 로직은 인공지능 분야에서 연구를 하고 있는 first order logic, description logic, horn logic이 적용되고 있다. 또한, 추론의 규칙을 위해서 자바로 개발된 common rule이 제공이 되어 추론 엔진의 연구에 기여를 하고 있다.

그러나, 현재의 개발된 검색 엔진 서브시스템의 도구와 기술은 시맨틱웹을 구현하는 데 있어서 미약하다. 시맨틱웹이 가능하기 위해서는 에이전트의 기술과 마크업 언어와 에이전트간의 API 및 추론 엔진에서의 추론 방안의 연구와 개발이 필요하다.

 

 

온톨로지 서브시스템은 온톨로지의 저장 및 유지, 관리의 기능을 수행하는 시스템이다. 이러한 기능을 수행하는 온톨로지 서브시스템을 위한 도구는 현재까지 그 개발이 활발하지 않다.

이상으로 본 고에서 제안하는 시맨틱웹 기반의 검색 시스템을 위한 도구를 살펴보았다. 현재까지의 개발은 각 모듈별로 독립적인 도구들만 제공되고 있으며, 모듈이 통합된 도구는 상당히 많은 시간이 요구되고 있다. 이와 더불어 시맨틱웹을 위한 질의 언어 표준 개발도 동시에 이루어져야 할 것으로 사료된다.

V. 결 론

지금까지의 웹 기술은 인간과 컴퓨터간의 정보 교환에 치중하고 정보와 태그의 혼합으로 정보추출의 어려움, 그리고 컴퓨터의 웹 데이터에 대한 의미적 해석 및 처리의 취약 등의 어려운 문제점들이 있었다. 이를 해결하고 컴퓨터간의 정보교환이 가능하게 하며 웹 상의 데이터의 의미를 사람이 아닌 컴퓨터가 이해ㆍ처리할 수 있는 새로운 정보 기술인 시맨틱웹이 현재 점차 그 모습을 드러내고 있다.

그러나, 현재의 시맨틱웹 기술에 대한 연구는 초기 단계로 구체화되어 있지 않고 각기 여러 요소별로 독립적인 연구가 진행되고 있다. 이로 인하여 경쟁적으로 각 요소기술들이 제안되고 있으나 이처럼 경쟁적이고 독립적인 연구는 시맨틱웹의 요소 기술들의 빠른 발전을 가져온 반면, 유기적인 연구를 저해하는 문제점이 있다. 이에 지금까지 독립적으로 연구가 진행되어 온 시맨틱웹의 각 요소 기술들의 유기적인 통합이 필요하며, 시맨틱웹의 효과적인 구현을 위한 개선된 마크업 언어 및 표준화 동향에 대한 연구와 함께 시맨틱웹에 대한 효과적인 활용방안 등에 대한 연구가 필요하다.

마지막으로 시맨틱웹의 응용은 지능형 정보 검색, 지식 관리, 자동화된 웹서비스, 에이전트 시스템, 지능형 전자상거래 및 현재의 웹 응용들에 모두 적용될 수 있으며, 새로운 기술이 빠르게 도입되기 위해서는 ① 손쉬운 온톨로지 도구 개발, ② 온톨로지 기반의 시맨틱웹 프로토타입, 그리고 ③ 기존 웹에 손쉬운 적용 등의 도입 이슈들이 해결되어야 할 것으로 사료된다.

<참 고 문 헌>

[1]    Berners-Lee. Tim, Heldler. J, Lassila. O,” The Semantic Web,” Scientific American, May 2001, pp.28-37.

[2]    S.A. McIlraith, T.C. Son, Honglei Zeng, “Semantic Web Services,” IEEE Intelligent Systems. Vol.16, Issue 2, March-April. 2001, pp.46-53.

[3]    J. Hendler, “Agents and the Semantic Web,” IEEE Intelligent Systems, Vol.16, Issue 6, March-April 2001, pp.30-37.

[4]    Particia G. Baker, Carole A. Goble, Sean Bechhofer, Norman W. Paton, Robert Stevens, Andy Brass,“An Ontology or Bioinformatics Application,” Bioinformatics, Vol.15, No.6, 1999, pp.510-520.

[5]    Robert Stevens, Carole A. Goble, Sean Bechhofer, “Onotlogy-Based Knowledge Representation Bioinformatics,” Briefings Bioinformatics, 2001.

[6]    Robert Stevens, Carole Goble, Ian Horrocks, Sean Bechhofer, “Building a Bioinformatics Ontology using OIL,” IEEE Transaction On Information Technology In Biomedicine, Vol.6, No.2, June 2002, pp.135-141.

[7]    Gomez-Perez. A, Corcho. “O, Ontology Languages for the Semantic Web,” IEEE Intelligent Systems, Vol.17, Issue 1, Jan-Feb. 2002, pp.54-60.

[8]    Michel Klein, Dieter Fensel, “Ontology Versioning on the Semantic Web,” First Semantic Web Working Symposium, Stanford, CA, USA, August. 2001.

[9]    Introduction to Ontologies on the Semantic Web http://www.cs.umd.edu/users/hendler/ontologies.html

[10]  World Wide Web Consortium, http://www.w3.org

[11]  Maedche. A., Staab. S., “Ontology Learning for the Semantic Web,” IEEE Intelligent Systems, Vol.16 Issue 2, March-April 2001, pp.72-79.

[12]  Resource Description Framework(RDF) Model and Syntax Specification, http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/.

[13]  Resource Description Framework(RDF) Schema Specification 1.0, http://www.w3.org/TR/2000/CR-rdf-schema-20000327/

[14]  Sean Bechhofer et al. An informal description of Standard OIL and Instance OIL, http://www.ontoknowledge.org/oil/downl/oil-whitepaper.pdf

[15]  D. Fensel, F. van Harmelen, I. Horrocks, D.L. McGuinness, P.F. Patel-Schneider,  OIL: An Ontology Infrastructure for the Semantic Web , IEEE Intelligent Systems, Vol.16, Issue: 2, 2001, pp.38-45.

[16]  Dan Connolly, Frank van Harmelen, Ian Horrocks, Deborah L. McGuinness, Peter F. Patel-Schneider, Lynn Andrea Stein, DAML+OIL(March 2001) Reference Description,

http://www.w3.org/TR/2001/NOTE-daml+oil-reference-20011218

[17]  Dan Connolly, Frank van Harmelen, Ian Horrocks, Deborah McGuinness, Peter F. Patel-Schneider, Lynn Andrea Stein, Annotated DAML+OIL Ontology Markup,

http://www.w3.org/TR/2001/NOTE-daml+oil-walkthru-20011218/

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.