▒접수▸2011년 5월 31일 수정▸2011년 7월 25일 채택▸2011년 8월 1일
▒교신저자 송미영, 대전광역시 유성구 유성대로 1672 한국한의학연구원 Tel 042-868-9454 Fax 042-861-9421 E-mail [email protected] 연구비 지원 본 연구는 과학기술부 “온톨로지 기반 한의학 지능형 정보체계 연구” 과제의 지원을 받아 수행되었습니다.
한의 기초 온톨로지 기반 시맨틱 검색 시스템
김상균, 장현철, 김진현, 김철, 예상준, 송미영
한국한의학연구원A Semantic Search System based on Basic Ontology of Traditional Korean Medicine
Sangkyun Kim, Hyunchul Jang, Jinhyun Kim, Chul Kim, Sangjun Yea, Miyoung Song
Korea Institute of Oriental MedicineWe in this paper propose a semantic search system using the basic ontology in Korean medicine field. The basic ontology provides a formalization of medicinal materials, formulas, and diseases of Korean medicine. Recently, many studies for the semantic search system have been proposed. However, they do not support the semantic search and reasoning in the domain of Korean medicine because they do not have the Korean medicine ontology.
Our system provides the semantic search features of semantic keyword recommendation, associated information browsing, and ontology reasoning based on the basic ontology. In addition, they also have the features of ontology search of a form of table and graph, synonym search, and external Open API supports.
The general search engines usually provide search results for the simple keyword, while our system can also provide the associated information with respect to search results by using ontology so that can recommend more exact results to users.
keywords : Basic Ontology, Semantic Search, Reasoning, Semantic Web
I. 서론
최근 도메인 지식을 체계적으로 구축하고 활용하기 위해서 온톨로지(Ontology)를 이용하는 경우가 많아 지고 있다. 온톨로지란 일반적으로 어떤 관심 분야를 개념화하기 위해 명시적으로 정형화한 명세서 (An ontology is an explicit and formal specification of a conceptualisation of a domain of interest)1)로 정 의되는데, 달리 표현하자면 용어의 의미와 속성, 그리 고 용어들간의 관계를 정의한 것으로 볼 수 있다. 특 히 온톨로지는 일반적인 사전과 달리 철학적인 성격 을 가지고 있기 때문에 동일한 도메인이라도 누가 어
떤 개념과 속성을 정의하고 어떻게 지식들을 연결하 느냐에 따라서 온톨로지 내용이 달라질 수 있다. 하 지만 이렇게 서로 다르게 온톨로지가 구축되었다 하 더라도 각각의 온톨로지에서 지식들의 모순이 없고, 서로 다른 온톨로지들 간에 동일한 정보가 존재하는 경우 URI(Uniform Resource Identifier)와 같은 식 별자들을 통해 연결이 가능하다면 각각 구축된 온톨 로지를 쉽게 통합해서 사용이 가능하다.
한의학 분야에서는 그 동안 한의학과 관련해서 여 러 온톨로지 연구가 진행되었다. 하지만 대부분 논문 에서만 소개되고 온톨로지가 공개되지 않아서 실제 사용되지는 못하고 있으며, 단지 기초 온톨로지(Jang et. al. 2010)2,3)만 유일하게 공개되어 있는 상태이다.
기초 온톨로지는 W3C4)의 OWL(Web Ontology Language)5)을 이용해서 구축되었으며, 한의학의 약 재, 처방, 병증의 기본 요소들을 정형화하고 약재를 중심으로 인스턴스를 구축한 온톨로지이다. <Fig.
1>은 기초 온톨로지의 클래스와 클래스들간의 관계
<Fig. 1> Class relationship of basic ontology
를 표현하고 있다. 이 그림에서는 객체 프로퍼티 (ObjectProperty)만 표현되어 있으며 각각의 클래스 가 가지는 데이터타입 프로퍼티(DatatypeProperty) 와 주석(AnnotationProperty) 프로퍼티는 표현하지 않았다.
기초 온톨로지에서 다루는 정보는 크게 약재, 처방, 병증 정보들로 구분된다. 약재 정보는 약재와 수치약 재 클래스로 표현하며, 약재는 귀경, 약재분류, 과명, 기원식물, 독성, 성, 미, 약용부위 정보들을 가지고, 수 치약재는 약재와 수치정보를 속성으로 가진다. 처방 정보는 처방과 복합처방 클래스로 표현하는데 복합처 방은 여러 처방이 복합된 처방을 의미한다. 병증 정 보에서 병은 주치, 병, 변증, 복합예 클래스로 표현하 고 각각의 클래스들은 증상, 설, 맥, 병인 클래스들과 연결된다. 주치 클래스는 병, 변증, 복합예, 증상, 설, 맥, 병인의 상위 클래스로써 병증을 대표하는 클래스 이며, 변증 클래스는 변증병을 의미하고, 병 클래스는 변증병이 아닌 일반병을 의미한다. 또한, 복합예 클 래스는 여러 병과 증상이 복합된 병을 의미한다. 이 외에도 병과 관련된 진료과, KCDOM3 클래스가 존재 하며, 약재, 처방, 병증에 대한 효능과 치법 클래스가 존재한다. 효능과 치법은 한의 개념상 유사하지만 기 초 온톨로지에서는 이들을 구별하였다.
본 연구에서는 이와 같이 한의학의 약재, 처방, 병 증의 기초 지식들을 체계적으로 구축해 놓은 기초 온톨 로지를 이용해 구현된 시맨틱 검색 시스템에 대해서 기술한다. 현재 국내외에서는 다음과 같이 다양한 시 맨틱 검색 시스템들이 상용화되거나 연구되고 있다.
네이트 시맨틱 검색 시스템의 경우 검색어와 관련 된 결과를 주제별로 분류하고 사용자가 한 번에 검색 결과를 얻을 수 있도록 인터페이스를 구축하였으며,
솔트룩스의 IN2 플랫폼9)의 경우 텍스트 마이닝, 정보 검색, 자연어 처리 기술등을 이용한 온톨로지 기반의 검색 엔진을 상용화였다. KISTI의 OntoFrame10)의 경우 대용량 온톨로지 서버 및 추론엔진을 개발하고 학술 논문에 대한 온톨로지 기반 검색 및 추론 서비스 를 제공하고 있다.
국외의 경우11)는 공공기관, 기업, 병원, 도서관등 아주 다양한 곳에서 시맨틱 기술을 이용하고 있으며 대부분 시맨틱 검색 기능을 기본적으로 제공하고 있 다. 중의과학원의 경우 온톨로지 기반 중의학 온톨로 지 검색 시스템12)을 구축하였으며, 시맨틱웹 표준 개 발에 참여하고 있는 미국의 의학 센터인 Cleveland Clinic에서는 시맨틱웹 기술을 이용해서 병원 정보 시 스템13)을 구축하였다. 또한 Twine14)의 경우 사용자 가 관심 있는 주제에 대해서 정보를 검색, 추적, 공유 할 수 있는 시맨틱 서비스를 제공하고 있다.
이와 같이 국내외에는 뛰어난 성능을 가지는 다양 한 시맨틱 검색 시스템들이 존재한다. 하지만 기존의 시스템들 모두 한의학 도메인을 다루지 않고 있기 때 문에 한의학 지식 정보가 없으며 따라서 한의학 도메 인에 대한 시맨틱 검색 결과를 제공하지 못한다. 특 히 한의학 온톨로지가 없기 때문에 한의학 지식에 대 한 추론 서비스를 제공하지 못하며 또한 다른 도메인 과 달리 한의학에서는 한글뿐만 아니라 한자가 많이 사용되기 때문에 한글/한자 변환 기능이 필요한데 이 에 대한 지원도 되지 않는다.
따라서 본 연구에서는 기초 온톨로지를 기반으로 한의학에 특화된 시맨틱 검색 기능을 설계하고 구현 하고자 한다.
Ⅱ. 연구 방법
1. 시맨틱 검색 개요
시맨틱 검색6)은 사람의 의도와 검색어의 의미를 이 해함으로써 일반 검색보다 높은 정확도를 제공하는 검색을 의미한다. 시맨틱 검색에서 검색의 의미를 파 악하기 위해서는 우선 도메인 지식이 잘 구축되어야 한다. 그리고 검색 시스템에서는 이 지식을 이용하여 검색자가 보다 정확한 검색 결과를 얻을 수 있도록 시 맨틱 검색 방법과 검색 인터페이스를 개발해야 한다.
따라서 본 연구에서는 기초 온톨로지 기반의 한의 지식을 이용하여 한의 관련 자료들을 쉽게 검색할 수 있도록 시맨틱 검색 방법과 인터페이스를 설계하고 구현하였다.
2. 시맨틱 검색 대상
본 연구에서 구현한 시맨틱 검색 시스템의 검색 대 상은 기초 온톨로지와 Open API 호출 결과이다. 특 히 Open API는 오아시스 논문7)과 네이버 Open API8)들 중 웹문서, 도서, 이미지를 이용하였다.
3. 시스템 구현
본 논문에서 구현한 시맨틱 검색 시스템은 웹 기반 으로 구축되었다. 사용자 인터페이스는 동적인 화면 구성을 위해 구글의 GWT(Google Web Toolkit)17)를 기반으로 만들어진 Smart GWT18) 라이브러리를 이 용하였으며, 서버 모듈은 자바 언어로 구현하였다.
특히 기초 온톨로지가 OWL 파일로 되어 있기 때문에 OWL 파일을 파싱하기 위해서 Jena 2.6.319) 라이브러 리를 이용하였다. 또한 온톨로지 그래프 뷰어는 Flex 320) 언어를 이용해서 구현하였다.
Ⅲ. 연구 결과
1. 시스템 기능
본 절에서는 본 연구에서 구현한 시맨틱 검색 시스 템의 기능에 대해서 설명한다. 특히 시맨틱 검색과 관련된 시맨틱 검색 기능과 시스템의 부가 기능 및 편 의를 위한 일반 검색 기능으로 나누어 설명한다.
1) 시맨틱 검색 기능
본 연구에서 설계하고 구현한 시맨틱 검색 기능은 다음과 같이 크게 세 가지로 언급할 수 있다.
첫째, 사용자가 원하는 검색어가 무엇인지 파악하 고 보다 정확한 검색 결과를 보여줄 수 있도록 온톨로 지 검색어 추천 기능을 구현하였다. 즉, 검색어가 온 톨로지 인스턴스 이름에 매칭되는 경우 검색창에 인
스턴스 이름들을 추천해 주고 사용자가 이를 선택할 수 있도록 함으로써 정확한 검색어를 입력받을 수 있 도록 하였다.
둘째, 검색어에 대한 검색결과 이외에 온톨로지를 이용해서 연관된 정보들을 같이 보여줌으로써 사용자 가 자신이 원하는 결과를 얻기 위해 두 단어 이상을 입력하거나 결과 내 검색을 하지 않고 한 번에 검색 결과를 얻을 수 있도록 하였다.
셋째, 기초 온톨로지 기반의 추론 방법15)을 구현함 으로써 온톨로지나 데이터베이스에 명시적으로 기술 된 정보뿐만 아니라 암시적인 지식들도 검색할 수 있 도록 하였다. 특히 추론 결과를 보여줄 때 어떻게 추 론되었는지에 추론 경과를 같이 보여줌으로써 사용자 의 이해를 도울 수 있도록 하였다.
2) 일반 검색 기능
본 연구에서 구현한 검색 시스템에서는 시맨틱 검 색 기능 외에도 유사어 검색과 온톨로지 탐색 기능, 외부 Open API 연계 기능을 제공한다.
유사어 검색은 한의학 용어 관리 시스템16)을 통해 구축된 유사어 데이터베이스를 이용해서 검색어에 대 한 유사어를 보여주며, 또한 검색시 검색어에 대한 유 사어까지 포함해서 확장 검색이 가능하도록 하였다.
온톨로지 탐색 기능은 기초 온톨로지 자체를 순회 하면서 검색하는 기능이다. OWL로 구축된 온톨로지는 내부적으로는 그래프 구조를 가지지만 XML(eXtensible Markup Language) 형식으로 기술되기 때문에 어떤 구조를 가지는지 한 눈에 파악하기 어렵다. 따라서 사용자가 XML 형태의 OWL 온톨로지를 쉽게 볼 수 있도록 테이블과 그래프 형태의 인터페이스를 구현하 였다.
외부 Open API 연계 기능은 검색어 및 온톨로지 인스턴스에 대해서 네이버의 웹문서, 도서, 이미지 Open API와 오아시스의 논문 검색 Open API를 호출 한 결과를 보여주는 기능이다.
2. 시스템 인터페이스
<Fig. 2>는 본 논문에서 구현한 시맨틱 검색 시스 템21)의 화면이다.
시맨틱 검색 시스템 화면은 크게 세 부분으로 나뉜 다. 상단은 검색어 입력 부분이며 가운데는 온톨로지
<Fig. 2> Semantic search system based on basic ontology
탐색 테이블이고 하단은 검색 결과로써 Open API 호 출 결과를 보여주는 부분이다.
상단의 검색어 입력 필드에서 검색어를 입력하면 입력 필드에서 해당 검색어로 시작하는 온톨로지 검 색어를 추천해준다. 사용자가 검색어를 선택 후 검색 버튼을 클릭하면 검색어에 대한 온톨로지 검색 결과 가 가운데 온톨로지 탐색 테이블에 나오고 하단에는 검색어에 대한 웹문서, 논문, 도서, 이미지 검색 결과 를 보여준다.
가운데 온톨로지 탐색 테이블은 그래프 기반의 온 톨로지 정보를 순방향으로 탐색함으로써 검색어에 대 한 검색결과 이외에 연관된 정보들을 같이 보여주는 기능을 제공한다. 화면에는 온톨로지 그래프 상에서 4단계의 노드와 관계까지만 보여지지만 좌우로 스크 롤이 되면서 무한대로 탐색이 가능하며 왼쪽과 오른 쪽에 있는 화살표 버튼을 이용해서 좌우로 이동해서 보고 싶은 부분으로 이동할 수 있다. 온톨로지 탐색 테이블 상단의 텍스트 박스는 현재 컬럼의 필터 기능
을 제공하여 결과가 많은 경우 텍스트 박스에 입력한 단어로 시작하는 결과만 나오게 할 수 있다. 특히 노 드 컬럼들의 경우 온톨로지 타입별로 그룹으로 묶어 서 표현함으로써 현재 인스턴스가 어떤 클래스에 속 하는지 알 수 있게 한다. 또한 테이블 헤더를 클릭하 면 팝업 메뉴가 뜨는데 여기에서 오름차순(Sort Ascending) 정렬 또는 내림차순(Sort Descending) 정렬, 그룹설정(Group by 노드) 또는 그룹해지 (Ungroup)가 가능하다. 온톨로지 탐색 테이블은 기 본적으로 온톨로지에 명시된 정보들을 보여주며, 만 약 기초 온톨로지 추론을 통해 추론된 정보일 경우 노 드 이름 뒤에 “(추론)” 이라는 키워드가 붙는다.
<Fig. 2>의 경우 충위자가 익모초를 대체 가능하다고 추론되어서 충위자(추론) 노드가 검색되었다. 이 때 충위자(추론) 노드를 클릭하면 <Fig. 3>과 같이 팝업 창을 통해 추론된 이유를 보여준다.
상단의 검색어 입력 부분에서 검색 버튼 오른쪽의 유사어 확장 체크박스를 체크하고 검색을 하면 검색
<Fig. 3> Reasoning information
<Fig. 4> Ontology graph for "심혈어조증"
어에 대한 유사어까지 포함해서 검색하게 된다. 검색 어 입력 필드 아래에 있는 한글/한자 콤보박스에서는 온톨로지 탐색 테이블 내용을 한글이나 한자로 보이 도록 선택할 수 있으며 대표어와 유사어 콤보박스는 검색어에 대한 대표어와 유사어를 용어 관리 시스템 데이터베이스에서 검색해서 보여주며 해당 용어를 선 택하면 선택한 용어를 가지고 재검색하게 된다. 그리 고 온톨로지 그래프 링크를 클릭하면 <Fig. 4>와 같 이 새 창에서 온톨로지 그래프22)를 보여준다.
이 때 그래프는 현재 선택한 온톨로지 인스턴스를 중심으로 보여지며 그래프 노드를 클릭하면서 그래프 순회가 가능하다.
하단의 검색 결과 부분은 네이버의 웹문서, 도서, 이미지 Open API와 오아시스의 논문 검색 Open API 를 호출한 결과를 각각 그리드 테이블로 보여준다.
Open API 호출은 검색 버튼을 클릭했을 때와 온톨로 지 탐색 테이블에서 노드를 클릭했을 때 해당 정보의 이름을 가지고 검색하며, 그리드 테이블의 항목을 클 릭하면 해당 페이지 링크가 새 창에서 보여진다.
Ⅵ. 고찰 및 결론
본 논문에서는 한의학의 약재, 처방, 병증의 기본 정보를 정형화하고 이를 OWL 온톨로지로 구축한 기 초 온톨로지를 기반으로 한의학 분야의 시맨틱 검색 시스템을 설계하고 구현하였다.
시맨틱 검색 시스템은 온톨로지 기반의 검색어 추 천과 연계 정보 표현, 온톨로지 추론등의 시맨틱 검색 기능을 제공한다. 또한 테이블과 그래프 기반의 온톨 로지 탐색 기능, 유사어 검색 기능, 외부 Open API 연계 기능들도 제공한다.
본 논문에서 검색하는 오아시스 논문, 네이버 Open API 데이터의 경우 일반 검색에서는 단순히 키워드만 가지고 검색하게 되는데 위와 같은 기능을 이용하면 기초 온톨로지의 시맨틱 정보를 이용해서 검색어와 연관된 정보를 쉽게 찾을 수 있으며 보다 정확한 검색 을 추천받을 수 있는 장점을 가진다.
하지만 본 연구에서 사용한 기초 온톨로지는 약재, 처방, 병증의 기본 개념만 모델링되어 있으며, 오아시 스 논문과 네이버 Open API 데이터에 대한 시맨틱 태깅도 되어 있지 않기 때문에 기존 연구들에 비해 검 색 결과가 정확하지 않은 문제점이 있다. 향후에는 온 톨로지 지식을 확장하고 검색 대상에 대해서 시맨틱 태깅을 수행함으로써 시맨틱 검색 성능을 향상시킬 예정이다.