한의학 언어 시스템 개발환경의 구축을 위한 아키텍쳐와 초보적 구현

Architecture of Traditional Medicine Language System Development Environment and It's Preliminary Implementation

Kyungmo Park, Dongjin Kim, Seonho Kim

Department of Biomedical Engineering, Kyunghee University

Abstract: To construct Traditional Medicine Language System(TMLS), which is based on ontological approach. we are developing of TMLS Development Environment. TMLS DE are consist of Ontology Editing, Knowledge Extraction from free-text, Integration between Ontologies, and Mapping Modules. This paper present the perspectives of Components and the methodology of TMLS Development Environment and show the Application Interface Implemented by us.

Keyword: Terminology System, Ontology, Traditional Medicine

I. 배 경

향상된 의료 서비스 제공을 위해서는 의료 분야의 지식을 제공해 줄 수 있는 Controlled Vocabulary System의 개발이 중요하다. 외국의 경우 오랫동안 의료 분야에 대한 용어 시스템을 구축하는 노력을 기울여왔으며, UMLS[1](Unified Medicine Language System)와 SNOMED[2]는 그 대표적인 예라고 할 수 있다. 그에 반하여, 한의학(Traditional Medicine) 도메인에 대한 용어 시스템의 개발은 아직까지 부진한 상태이며, 이에 대한 많은 연구들이 절실하다. 최근에 들어서야 WHO (World Health Organization)는 여러 나라와의 협력을 통해 한의학 도메인에 대하여 IST (Inter- national Standard Terminology for Traditional Medicine)를 구축하고 있으며, 현재까지 5,000~ 6,000여개의 한의학 도메인의 용어들이 IST에 선택 포함되어졌다. 또한 최근에 한국, 중국, 일본 3국은 온톨로지 기술을 통한 한의학 도메인 영역에 대한 용어 시스템(CT2M-Clinical Terminology System for Traditional Medicine) 개발 프로젝트에 대해 합의가 이루어졌으며 앞으로 한의학 도메인에 있어서의 용어 시스템 개발에 대한 노력들이 계속 이루어질 것으로 보인다.

용어 시스템의 개발은 초기의 시스템들이 용어들의 리스트만을 저장 매체에 담아 사용한 것으로부터 점점 나아가 포함된 용어들 사이의 관계를 지정하여 용어들 사이의 의미와 표현력을 향상 시키는 방향으로 진행되고 있다. 특히 UMLS의 경우 Metathesaurus의 용어들 사이의 의미적 관계를 표현하기 위해  Semantic Type과 Semantic Relationship을 이용해 Semantic Network를 정의하고 있다.[3] 한의학 도메인의 용어 시스템 구축은 여러 측면으로 접근되어질 수 있으며, 본 연구팀의 기본 접근 방법은 온톨로지에 기반한 한의학 용어 시스템의 개발이다. 즉, 용어 시스템을 이루는 지식 체계를 XML 기반의 온톨로지 언어인 RDF (Resource Description Framework) 또는 OWL(Ontology Web Language)를 사용하여 표현하는 것을 말하며, 이와 같은 온톨로지적 접근을 통해 용어 시스템의 표현력 향상과 확장의 용이함을 증대시킬 수 있다.

이번 연구를 통해 본 연구팀은 TMLS(Traditional Medicine Language System) 구축에 있어서, 선행되어야 할 ‘TMLS 개발 환경’(TMLS Development Environment)에 대한 기본 프레임워크 및 기능 그리고 개발에 있어서의 방법론적 측면 그리고 시스템 구축을 위한 개발 도구 측면에서의 접근 방법을 논의하였다, 그리고 초보적으로 TMLS 개발환경을 구현하였다. 본 연구는 개발 도구의 구현 측면에 더 초점을 두고 있다.

II. 방 법

TMLS는 용어시스템 자체로서의 온톨로지와 온톨로지 핸들링을 위한 Application Programming Interface로 이루어져 있다. 우리는 각각을 TMLS 온톨로지와 TMLS API로 부르기로 한다. 유용한 TMLS를 구축하기 위한 개발 도구가 갖추어야 할 많은 부분들이 고려되었으며, 그러한 기능들을 구현하기 위해 여러 방법론적 접근들이 수행되었다.

1.1 TMLS 개발 및 개발 아키텍쳐

기본적으로 한의학 도메인에 대한 용어 시스템들을 구축하기 위해서는 방대한 한의학 도메인으로부터 지식을 쉽게 추출하여 시스템화 할 수 있어야 하며, 구축된 지식에 대한 편집, 추론, 외부 용어 시스템 또는 지식베이스와의 통합, 매핑 그리고 브라우징 등 많은 기능들이 필요하다. 또한 구축된 지식에 대한 적정성 평가 방법 및 도구들이 제공되어야 한다. 이는 비단 TMLS뿐만 아니라 지식베이스와 같은 시스템 개발에 있어서도 필수적인 요소라고 할 수 있을 것이다.

그림  Components of TMLS

그림1은 TMLS API가 갖추어야 하는 다양한 컴포넌트들을 보여주고 있다. TMLS API의 많은 부분은 이미 TMLS DE를 구축하기 위해 필요하다.

그림  Architecture of TMLS Developement

그림 2는 TMLS DE에 대한 아키텍쳐를 보여주고 있다. 유용한 TMLS를 개발하기 위해서 한의학 도메인 지식을 포함하고 있는 텍스트 문서로부터 지식을 자동으로 추출할 수 있는 정보 추출에 대한 측면 및 구축된 지식에 대한 편집, 통합 매핑등을 고려되어질 수 있으며, 또한 TMLS가 갖추어야만 하는 Constraints들이 있을 수 있다.

TMLS Developmental Constraints

최근 Ontology 표준을 준수

다양한 언어(한글, 중국어 등)를 지원

사용자에게 친숙한 인터페이스 지원

다양한 포맷(Serialization Format)사이의 상호운용성을 지원

온라인 그리고 멀티 유저, 버전 컨트롤등을 지원

2.1 TMLS 개발 도구의 구축에 대한 접근 방법

TMLS 구축은 한의학 도메인 지식의 개념화를 통해 온톨로지화 하는 것으로 볼 수 있다. 따라서 TMLS DE는 온톨로지를 생성, 편집, 관리할 수 있는 기능을 수행하는 도구들을 가지고 있으며, 한의학 온톨로지를 효과적으로 핸들링할 수 있는 도구들을 구현하는 방향으로 진행되어졌다.

2.1.1 온톨로지 편집 모듈

TMLS를 구축하거나 이미 구축된 지식을 편집하기 위한 도구로써 온톨로지 내의 개념, 속성들에 대한 추가 및 삭제, 수정하는 모든 과정을 포함한다. 따라서 편집과정에서 발생할 수 있는 데이터 소실 및 에러에 대해 데이터 안정성을 보장할 수 있어야 하며, 편집을 위한 편리한 인터페이스를 제공해 줄 수 있어야 한다.

1)온톨로지 다중 편집 지원

TMLS는 여러 한의학 도메인의 세부적인 서브도메인의 지식 소스(서브 온톨로지), 또는 한의학 도메인과 연관된 외부 도메인의 지식 소스들에 의해 구축되어질 수 있다. 그리고 또한 TMLS가 방대하여 크기가 커질 경우 TMLS의 지식을 편집하기 위해서는 여러 파일로 나누어 핸들링해야 한다. 따라서 TMLS DE는 여러 온톨로지들에 대한 손쉬운 핸들링 방법과 각 온톨로지를 연결하는 방법론을 제공해야 한다.

2)텍스트 기반 편집 지원

온톨로지에 기반하여 용어 시스템을 개발하는 가장 큰 이점은 표현력의 향상이라 볼 수 있다. 즉, 용어 시스템을 구성하는 개념들 사이에 논리적 연관 관계를 지정하거나 여러 개념들을 논리적 연산자를 사용하여 하나로 묶을 수도 있다. 기본적으로 온톨로지는 DL(Description Logic)에 기반하여 모델링되어졌으며, 따라서 편집 도구에서도 이러한 개념들 또는 개념과 속성들의 논리적 관계 표현하는 작업이 가장 복잡하다. 이에 protege의 Asserted Condition 패널을 그 예로 들 수 있다.[4] 개념들과 속성들에 대한 논리적 표현 관계를 얼마나 잘 표현해 주고, 표현에 대한 핸들링을 손쉽게 해 주는가에 따라서 온톨로지 구축의 효율에 많은 차이가 있을 것으로 예상된다. 기존의 많은 온톨로지 구축 및 편집 도구들은 논리적 표현식을 생성하고 핸들링하는데 있어 버튼 클릭과 같은 그래픽적 요소를 주로 제공해왔다.[5] 그러나 이러한 방식은 복잡한 논리적 표현식을 생성하는데 있어 버튼 클릭수가 증가하여 소모적이고 사용성에서의 불편하게 된다. 논리적 표현식에 대한 손쉬운 생성 및 편집을 지원하기 위해, 본 연구팀은 텍스트 기반의 편집이 가능하도록 하였다.

3)사용자를 위한 문법 지원

TMLS를 구축하는 도메인 전문가 또는 시스템을 사용하는 사용자들은 대부분 DL 표현식에 익숙하지 않다. 따라서 TMLS DE는 DL logic을 자연어에 가까운 표현식으로 서술할 수 있도록 지원하고 있다. 본 연구팀에서는 한국어 사용자를 위해 DL 표현식을 한국어적 문법에 가깝도록 문법의 변환을 고려하였다. 다음은 하나의 DL 표현식과 그 변경된 문법의 예를 보여준다.

(DL 구문) [eqn: C_{ 1}ExistP _{ 1}(C _{2} SMALLINTERC _{ 3})]

(변경 구문) [eqn: C_{ 1}]은(는) ([eqn: C_{ 2}]를 [eqn: P_{ 1}]한다) 그리고 ([eqn: C_{ 3}]를 [eqn: P_{ 1}]한다)

4)Semi-Automatic 편집 지원

기존의 온톨로지 구축 도구 및 에디터들은 특정 개념에 대한 표현식을 기술할 때 이미 정의된 개념 및 속성을 이용한 표현만이 가능하다. 그러나 TMLS는 텍스트 기반의 편집을 지원함으로써 새로운 개념 또는 속성에 대한 자유로운 표현이 가능하도록 고안하고 사용자로부터 입력된 표현식 내에 포함되어진 개념과 속성 등을 자동 인식할 수 있는 모듈이 요구되었다. 표현식 내의 위치에 따라 개념 또는 속성이 지정됨으로 이를 인식하여, 새로운 것일 경우 기존에 구축된 온톨로지에 새로 정의하게 함으로써 온톨로지의 확장을 가져올 수 있다.

(예1) [eqn: C_{ 2} EXIST P _{1} C _{1}] ([eqn: C_{ 1},C _{ 2}∋O _{ 1}], [eqn: O_{ 1} NOTINP _{ 1}])

위 예1과 같은 입력된 표현식에 대해, [eqn: P_{ 1}]은 자동적으로 [eqn: C_{ 2}]와 [eqn: C1]을 각각 도메인과 레인지로 정의되어 온톨로지 내에 저장된다.

(예2)

[eqn: C_{ 1}]~[eqn: C4]는 기존 온톨로지 존재하며, 다음과 같은 표현식에 대해 새로운 프로퍼티 [eqn: P_{ 1}]에 대해 사용자와의 피드백을 통해 도메인과 레인지를 다시 설정할 것인지를 묻게 된다.

2.1.2 free-Text로부터 온톨로지 추출 모듈

free-text로부터 온톨로지를 구축하는 작업은 구축하고자 하는 온톨로지의 도메인의 범위가 클 경우, 도메인 내의 많은 지식들이 온톨로지에 정의되어야 하기 때문에, 온톨로지 파일의 크기가 커질뿐만 아니라 온톨로지 자체를 구축하는 작업이 매우 복잡하고 시간 소모가 많아지게 된다. 따라서 도메인 지식을 포함하는 free-text로부터 온톨로지를 자동 생성해 주는 모듈은 앞으로 대용량의 온톨로지를 구축하는 과정에 필수적이라 할 수 있을 것이다.

2.1.3 온톨로지 통합 모듈

온톨로지 통합이란 온톨로지들을 하나의 온톨로지로 만드는 것을 말한다. 통합 과정은 온톨로지 내의 개념들 사이의 어휘적, 구조적 유사성을 측정하여 기본 온톨로지 소스에 여러 온톨로지들로부터의 유용한 정보들을 포함하여 확장시키는 것이라 볼 수 있다.

1) 어휘적 매핑

어휘적 매핑이란 개념들이 갖는 어휘(문자열)를 기반으로, 개념들 사이의 상호 문자열의 유사성을 측정하여 매핑하는 것을 말한다. 본 프로그램에서는 개념들 사이의 어휘적 유사성을 측정하는 알고리즘을 도입하였다.

i) SM Algorithm[6]

위 알고리즘은 Maedche and staab가 2001년 제안한 SM(similarity Measure) 알고리즘으로 개념들의 이름에 대한 문자열(Term)의 최소 길이와 비교되는 두 문자열 중 상호 일치하지 않는 문자의 길이를 바탕으로 유사성을 측정하게 된다.

2) 구조적 매핑

개념들의 구조적 유사성을 판별하기 위한 초기값으로 보통 어휘적 유사성 측정값을 사용한다. 본 연구팀은 Similarity Flooding Algorithm(SFA)[5]을 사용하여 구조적 매핑을 수행하였다. SFA에서 그래프 상의 모든 노드들에 대해, 매핑쌍들이 생성되며, 각 매핑쌍에 대한 유사성이 측정된다. 매핑쌍들에 대한 측정된 유사성은 그 이웃하는 노드들로 전달되어지는데, 이는 높은 유사성을 갖는 노드들은 그 이웃하는 노드들의 유사성 역시 유사할 가능성이 많을 것이라는 직관에 기반한다.

2.1.4 온톨로지 매핑 모듈

매핑은 서로 다른 온톨로지들 내의 개념들 사이의 관계에 대한 메타 스키마를 정의하는 것을 의미하며, 이를 통해 분산된 여러 지식들에 대한 유용한 레퍼런스를 갖게 된다. 일반적으로 매핑 작업은 온톨로지 내의 개념들 또는 속성들에 대한 동일 관계를 설정하게 된다. 이들 개념들 사이의 관계는 일 대일의 관계나 일대다 관계를 가질 수 있으며, 또한 여러 개념들의 논리적 조합에 의해 서로 매핑 되어질 수도 있다.

2.1.5 Intermediate Interface

DL에 기반해 복잡한 표현식들의 조합을 핸들링하는 작업은 개념에 대한 잘못된 정의를 내리거나 잘못된 표현식을 사용할 수도 있다. 따라서 복잡한 표현식을 사용자가 쉽게 생성하거나 핸드링하기 위해, 프로그램의 메인 인터페이스와 사용자간에 Intermediate한 인터페이스를 따로 두어서 작업의 효율성을 높일 수 있다.

III. 결 과

구현된 TMLS DE는 기본적으로 온톨로지를 효율적으로 관리하기 위한 기능들이 포함된 관리도구 성격을 띄고 있다.

온톨로지 편집 모듈

그림 3 인터페이스 및 에디팅 모듈

그림3은 전체적인 프로그램 인터페이스와 온톨로지 편집 모듈을 보여주고 있다. 다중 온톨로지 편집을 위해 멀티창이 띄어진다.

온톨로지 통합 모듈

온토롤지의 통합과 매핑에 대해, 서로 다른 도메인에 대한 테스트 온톨로지를 (Ariplain.rdf, Motor Vehicle.owl) protege 에디터를 이용하여 구축한 후 통합과 매핑을 수행해 보았다. 이는 기본적으로 온톨로지들 간의 통합과 매핑에 대한 본 연구팀의 아이디어를 구현하는 것을 목적으로 테스트 되었다.

온톨로지 통합과정에서 포맷에 따라 표현력이 다를 수 있기 때문이며, 이러한 문제를 해결하기 위해 기본적으로 각 온톨로지들의 포맷을 단일화하는 작업이 필요하며 본 연구에서는 OWL Syntax 위에서 통합이 이루어지도록 하였다.

그림 4 온톨로지 통합

온톨로지 매핑 모듈

현재까지 온톨로지 매핑 모듈은 좌측과 우측 패널에 불러들인 온톨로지들 사이의 매핑을 수행하며, 온톨로지 내의 개념 또는 속성들 사이의 초기 매핑 가능한 후보들(Candidate)을 보여주거나, 사용자가 명시적으로 매핑관계를 정의할 수 있도록 구현되었다.

그림 5 온톨로지 매핑

그림 5는 온톨로지들 사이의 매핑를 수행한 결과이며, 매핑에 대한 새로운 메타스키마 온톨로지가 생성된다. 그림 5의 좌측은 매핑 모듈의 인터페이스로 개념들간의 멀티플 관계를 정의할 수 있으며, 우측은 매핑된 개념들에 대한 테이블 뷰와 생성된 메타스키마 온톨로지를 보여준다.

SNOMED-CT의 온톨로지 변환

본 연구팀은 SNOMED-CT 내의 Concepts과 relationship에 대한 데이터 중 일부를 XML기반의 OWL 언어로 온톨로지로 변환하는 작업을 수행하였다.

아래의 그림 6은 구현된 프로그램의 실행화면의 일부이다. 좌측 패널의 데이터는 SNOMED-CT의 변환된 온톨로지에서의 개념 및 속성에 대한 정의가 디스플레이한 결과이다.

그림 6 SNOMED-CT 온톨로지 변환

IV. 결론 및 향후과제

온톨로지 기반의 한의학 용어 시스템 구축을 지원하는 TMLS 개발환경(TMLS DE)의 구축을 목표로 한다. 구현된 TMLS DE는 기본적으로 온톨로지들을 관리하기 위해 사용되며, 이는 TMLS의 구축에 있어 도움이 될 것으로 보인다. 실제적으로 TMLS 개발환경이 유용하게 사용되기 위해서는 온라인 기반의 멀티 유저를 위한 인터페이스와 비쥬얼한 에디터를 제공해야만 할 것이다. 이는 TMLS 구축에 있어 여러 도메인 전문가들의 공동 작업이 이루어져야 할 것이기 때문이다. 향후 본 연구팀은 현재 구현된 TMLS DE의 실용성을 평가하고, 방법론 및 알고리즘에 대한 개선과, free-text로부터 자동으로 추출하여 온톨로지를 생성하는 모듈들을 구현해 나갈 것이다.

감사의 글

This study was supported by a grant of the Korea Health 21 R&D Project, Ministry of Health & Welfare. (03-PJ1-PG-10-51300- 0003)

V. 참고문헌

http://www.nlm.nih.gov/research/umls

Perter Maclsaac, Don Walker Coding Matters Newsletter of the National Centre for Classification in Health Volume 8 Number 2 September 2001

Olivier Bodernreider, Jan Willis The Unified Medical Language System: What is it and how to use it? Tutorial T20 at NLM September 8, 2004

Mattew Horridge, A Practical Guide To Building OWL Ontologies with the Protege-OWL Plugin Edition 1.0

Ontology-based Information exchange for knowledge management and electronic commerce IST Project IST-2000-29243 OntoWeb may 31, 2002

Alexander Meadche and Steffen Staab, Comparing Ontologies-Similarity Measures and a Comparison Study, Institute AIFB,