I.

FCA를 이용한 임상서식지의 체계화: OO병원의 사례

본 연구는 보건복지부 보건의료기술진흥사업의 지원에 의하여 이루어진 것임.(과제고유번호 : 0412-MI02-0404-0002)

A FCA-based Conceptualization of Clinical Documents

황석형*, 강유경*, 김홍기**, 김명기**

* 선문대학교 컴퓨터정보학부 온톨로지기반 소프트웨어공학 연구실 {shwang, aquamint99}@sunmoon.ac.kr

**서울대학교 치과대학 {hgkim, meeree}@snu.ac.kr

Abstract: Ontology in clinical domains is becoming a core research field in the realm of medical informatics. The objective of our ongoing research is to explore the potential role of Formal Concept Analysis(FCA) in a context-based ontology building support in a clinical domain. The concept hierarchy plays an important role as the backbone of ontology, but its construction is a complex and time-consuming process. We present a novel approach to the automatic acquisition of taxonomies or concept hierarchies from clinical documents. The approach is based on FCA, a mathematical tool used in data analysis and knowledge engineering. FCA is based on a binary relation between objects and attributes. It provides methods to group objects and attributes into concepts, pairs of object-sets and attribute-sets, such that the binary relation can be presented in a concept lattice. In this article we show how FCA can be used to acquire a concept hierarchy for the medical domain out of the clinical documents with maximal property factorization.

Keyword: Ontology, Formal concept analysis, Conceptualization, Concept hierarchy, Clinical documents

배 경

계층적 개념구조(concept hierarchy)는 문서집합의 구조화와 요약을 제공하고, 필요한 정보의 수월한 접근을 제공하기 위해 사용되었으며[1], 또한 지식을 표현하는데 있어서 간결하면서도 효과적으로 개념간의 구조를 설명하기 위해 사용되었다. 이러한 개념구조의 대표적인 예로는, 사용자의 지식을 이용하여 정보에 접근하는 경로를 제공하는 ‘Yahoo!’의 디렉터리 서비스, 또는 지식을 나타내거나 WordNet과 같이 개념간의 is-a 관계(hyponym, hypernym)를 나타내기 위해 사용되는 트리 형태의 그래프 등이 있다.

그러나 지금까지 대부분의 계층적 개념구조는 특정 분야의 전문가나 지식 공학자들에 의해서, 많은 시간과 노력을 투입하여 작성되어 왔다. 또한, 오늘날과 같이 급변하는 환경에서 이미 구축된 계층적 개념구조는 지속적인 수정을 통해 새롭게 생성되는 개념 및 현상, 사물 등을 반영해야 할 필요가 있다. 따라서 본 논문에서는 일종의 개념적 클러스터링 기법으로서 널리 각광받기 시작한 형식개념분석기법(FCA : Formal Concept Analysis)을 이용하여 보다 수월하게 문서들로부터 개념계층구조를 구축하고 관리하는 방법을 제안하고자 한다.

본 논문은 다음과 같이 구성된다. 2장에서는 관련 연구의 소개와 정형화된 계층적 개념구조의 구축방법에 대해 설명한다. 그리고 3장에서는 실제 적용사례로서, OO대학교병원의 임상서식지들을 대상으로 한 실험 결과를 보여주고, 4장에서는 결론과 향후 연구과제에 대해서 설명한다.

II. 방 법

1. 계층적 개념구조 구축 방법

FCA는 개념에 대한 속성을 정의하고 속성의 포함관계를 사용하여 개념적 계층구조를 생성하는 수학적 모델을 제공하며[5,6], FCA를 기반으로 하는 몇 가지 기존연구들[2,3]로서는, Gu Tao는 온톨로지의 계층적 개념 트리의 구축을 돕기 위해 FCA를 사용하는 방법을 제안하였다[2]. 또한 FCA를 사용하여 문서로부터 온톨로지의 개념 트리를 자동으로 구축하기 위해 문장에서의 동사와 목적어를 추출하여, 목적어를 개념으로, 동사를 개념의 속성으로 간주하여 FCA에 적용하는 방법이 연구되었다[3]. 또한, 객체지향 도메인모델링의 중추적 역할을 하는 개념계층구조, 즉, 클래스계층구조를, FCA에서 제공하는 개념격자(Concept Lattice)를 기반으로 구축하기 위한 기법이 제안되었다[7].

이와 같은 기존의 연구들을 바탕으로, 본 논문에서는 실제 병원에서 사용되고 있는 임상서식지들을 대상으로, FCA를 이용하여 임상서식지들에 대한 계층적 개념구조를 구축하는 방법을 제안하고, 관련 실험 결과를 살펴본다. FCA를 이용한 계층적 개념구조 구축방법의 전체 구조는 그림1과 같이, 임상서식지들로부터 개념을 추출하여 개념계층구조를 생성하기 위하여 다음과 같은 절차에 의해 개념구조를 구축한다:(1)임상서식지들로부터 context table을 작성, (2)FCA의 적용, (3)개념격자구조(개념계층구조) 구축

그림  FCA기반 계층적 개념구조 구축방법

2. Formal Concept Analysis

FCA(Formal Concept Analysis)는 개념(Concept)과 계층화된 개념구조에 관한 수학적 모델(개념격자, Concept Lattice)을 제공하여 제반 문제들에 대한 분석과 해결책을 모색하기 위한 응용수학분야의 기법으로서, 최근에는 의학 및 바이오인포메틱스, 사회과학, 소프트웨어공학, 온톨로지공학 등의 분야에 널리 적용되기 시작하고 있다[4-6].

FCA의 기본이 되는 구조는 context이다. Context는 객체들(Objects)의 집합과 속성들(또는 특성들, 성질들, attributes)의 집합, 그리고 객체와 속성들 사이의 관계들(어떤 객체가 어떤 속성을 갖는가에 관한 관계들)로 구성된다. FCA를 보다 정확하게 이해하기 위하여 context의 정형화된 정의는 다음과 같다.

[정의 1] Formal context 는 객체들(Objects)의 집합 G와 속성들(Attributes)의 집합 M, 그리고 G와 M사이의 이항관계 I⊆G✕M로 구성된다. 즉, G와 M의 원소들은 각각 해당 context의 객체들과 각 객체들이 가질 수 있는 속성들을 나타낸다. 또한, 어떤 객체 g가 속성 m을 가지고 있을 경우, gIm 또는 (g, m) ∈ I 로 나타내며, g는 m을 갖는다는 것을 의미한다.■

Formal context는 cross table형태로 나타낼 수 있으며, 해당 표의 행과 열의 헤드부분은 각각 context를 구성하는 객체들과 속성들로 구성된다. 또한, table의 각 셀에 대해서는, 해당 셀에 관련된 객체와 속성이 이항관계 I를 만족할 경우에는 ✕표시하고, 이외의 경우에는 빈 공란으로 남겨둔다. 예를 들면, 다음과 같은 임상서식지들(임상관찰기록, 간호정보기록, 간호기록, 입퇴원기록)과 각 문서에 포함된 field들로 구성되는 context table은 표1과 같다. 이와 같은 context로부터 개념들(concepts)을 추출할 수 있다. 각 개념들은 (O, A)와 같은 형태의 쌍(pair)으로 정의되며, 보다 정형적인 정의는 다음과 같다.

[정의2] 임의의 context 에 대하여, O⊆G, A⊆M일 때, intent(O)=A ∧ extent(A)=O

를 만족하는 (O, A)를 개념(formal concept)이라고 한다. 단, intent(O) := {a∊M|∀o∊O:(o, a)∊I},

extent(A) := {o∊G|∀a∊A:(o, a)∊I}.■

즉, formal concept (O, A)는, intent와 extent로 구성되는 Galois Connection에 의해 규정되며, intent(O)와 extent(A)에 의해 O의 모든 객체들이 공통적으로 갖는 속성들의 집합과 A의 속성들을 갖는 객체들의 집합을 각각 구할 수 있다.

<표 1> 임상서식지에 관한 context table(일부분)

	작성날짜	등록번호	맥박	배설량	병동	병상	병실	섭취량	체온	보호자성명	의식수준	입원날짜	시간	간호사서명	주치의	퇴원과	치료
임상관찰기록	X	X	X	X	X	X	X	X	X
간호정보기록		X	X		X	X	X		X	X	X	X
간호기록	X	X			X	X	X						X
입퇴원기록		X			X	X	X			X		X			X	X	X

표1의 임상서식지context에 대하여, 위의 정의2를 토대로 추출한 개념들은 표2와 같다. 이때 context로부터 추출된 개념들은 extent 또는 intent를 토대로 상위-하위개념관계(일종의 순서관계)를 정의할 수 있다.

[정의 3] 주어진 context 의 임의의 개념 (O1, A1), (O2, A2)에 대하여, “상위-하위개념”관계(O1, A1)≤(O2, A2)는 일종의 반순서관계(partial order relation)로서 다음과 같이 정의된다.

(O1, A1)≤(O2, A2) ⇔ O1⊆O2(⇔ A1⊇A2).■

이와 같은 상위-하위개념관계의 정의는, 임의의 개념은 외연적(extensional) 및 내포적(intensional)인 관점에서 상위의 개념에 비해, 보다 적은 extension과 보다 큰 intension을 갖는다는 철학적인 개념계층구조의 특성을 반영하고 있다. 특히, 주어진 context 의 개념집합과 이들 요소들(개념들)간의 상위-하위개념관계≤는 일종의 반순서집합(poset: partially ordered set)에 해당하며, 이를 개념격자(Concept Lattice 또는 Galois Lattice)라고 부른다.

개념격자는 Hasse Diagram을 사용하여 계층적인 개념구조형태로 가시화할 수 있다. Hasse Diagram은 정점들과 링크들로 구성되며, 각 정점은 개념격자의 개념들에 대응하며, 각 정점에는 2종류에 레이블(Extension과 Intension)이 각각 하단과 상단에 표시된다. 각 개념들 사이를 연결하는 링크들은 개념들 사이의 “상위-하위개념 관계”를 나타낸다. 특히, 개

<표 2> 임상서식지 context로부터 추출한 Concept

Concepts	Extensions	Intensions
C1	∅	{주민등록번호, 병동, 병실, 병상, 환자 성별/나이, 환자이름, 등록번호, 작성날짜, 시간, 문제번호, 시행(I), 기록(S.O.A.P.E), 간호사 서명, 식이(섭취열량), 복위/흉위/두위, 수술일, 섭취량, 배설량, 특수약, 체중/신장, 혈압, 체온, 맥박, 호흡, 입원날짜, 진료과, 보호자 성명, 영양대사, 의치, 신경계/운동, 사회심리측면, 수면습관, 부인과력, 담당의사 , 배변배뇨, 보조기, 귀중품, 최근 투약 내용, 호흡기계, 의식수준, 혈액형, 입원하게 된 동기, 정보제공자, 입원방법, 심장혈관관계/순환상태, 알러지, 예방접종<소아>, 입원경력, 입원경로, 환자요구사항, 간호사, 가족력, 환자 출생지, 치료결과, 주치의, 약속일, 담당 전공의 서명, 수간호사 서명, 원사인, 입력완료, 의무기록사 서명, 퇴원과, 퇴원날짜, 주치의 서명, 주진단명, 보호자 주소, 재원일수, 수술 및 치료명, 부진단명, 환자와의 관계, 퇴원형태, 기록완성일자, 부검, 환자자격, (c.c)}
C2	{간호기록}	{주민등록번호, 병동, 병실, 병상, 환자 성별/나이, 환자이름, 등록번호, 작성날짜, 시간, 문제번호, 시행(I), 기록(S.O.A.P.E), 간호사 서명}
C3	{임상관찰기록}	{주민등록번호, 병동, 병실, 병상, 환자 성별/나이, 환자이름, 등록번호, 작성날짜, 체중/신장, 혈압, 체온, 맥박, 호흡, 식이(섭취열량), 복위/흉위/두위, 수술일, 섭취량, 배설량, 특수약}
C4	{간호정보기록}	{주민등록번호, 병동, 병실, 병상, 환자 성별/나이, 환자이름, 등록번호, 체중/신장, 혈압, 체온, 맥박, 호흡, 입원날짜, 진료과, 보호자 성명, 영양대사, 의치, 신경계/운동, 사회심리측면, 수면습관, 부인과력, 담당의사 , 배변배뇨, 보조기, 귀중품, 최근 투약 내용, 호흡기계, 의식수준, 혈액형, 입원하게 된 동기, 정보제공자, 입원방법, 심장혈관관계/순환상태, 알러지, 예방접종<소아>, 입원경력, 입원경로, 환자요구사항, 간호사, 가족력}
C5	{입퇴원기록}	{주민등록번호, 병동, 병실, 병상, 환자 성별/나이, 환자이름, 등록번호, 입원날짜, 진료과, 보호자 성명, 환자 출생지, 치료결과, 주치의, 약속일, 담당 전공의 서명, 수간호사 서명, 원사인, 입력완료, 의무기록사 서명, 퇴원과, 퇴원날짜, 주치의 서명, 주진단명, 보호자 주소, 재원일수, 수술 및 치료명, 부진단명, 환자와의 관계, 퇴원형태, 기록완성일자, 부검, 환자자격, (c.c)}
C6	{간호기록, 임상관찰기록}	{주민등록번호, 병동, 병실, 병상, 환자 성별/나이, 환자이름, 등록번호, 작성날짜}
C7	{임상관찰기록,간호정보기록}	{주민등록번호, 병동, 병실, 병상, 환자 성별/나이, 환자이름, 등록번호, 체중/신장, 혈압, 체온, 맥박, 호흡}
C8	{간호정보기록, 입퇴원기록}	{주민등록번호, 병동, 병실, 병상, 환자 성별/나이, 환자이름, 등록번호, 입원날짜, 진료과, 보호자 성명}
C9	{간호기록, 임상관찰기록, 간호정보기록, 입퇴원기록}	{주민등록번호, 병동, 병실, 병상, 환자 성별/나이, 환자이름, 등록번호}

념격자를 나타낸 Hasse Diagram에서는 상위부분의 정점들은 보다 추상적이고 일반화된 개념들을, 반면에 하위부분에는 보다 구체화된 개념들이 위치하게 된다. 표1의 context에서 추출한 개념들(표2)에 대하여 Hasse Diagram을 사용하여 개념격자를 표기하면 그림2와 같다.

개념격자를 나타낸 Hasse Diagram에서는, 각 개념들과 이들 사이의 상하위관계가 링크에 의해 표시되며, 특히, 개념들 간의 링크에 의해 만들어지는 경로에 의해 상위개념으로부터 하위개념으로 속성들이 상속되며, 하위개념으로부터 상위개념으로 해당 객체들이 전파된다. 예를 들면, “간호기록”문서는 고유한 속성으로서 “기록(S.O.A.P.E), 문제번호, 시간, 시행(I), 간호사 서명”을 갖고 있으며, 더불어서, 상위개념들로부터 “작성날짜”와 “주민등록번호, 환자 성별/나이, 병실, 병상, 병동, 환자이름, 등록번호”와 같은 속성을 상속받는다. 한편, “작성날짜”라는 속성을 갖는 객체로서는 “간호기록, 임상관찰기록”문서가 됨을 알 수 있다. 이와 같은 방법을 사용함으로써, 주어진 문제영역의 객체들과 이들이 갖는 속성들을 context형태로 파악하여, 개념을 추출하며 개념격자형태로 나타냄으로써, 도메인 내의 개념들을 분류할 수 있는 계층적 개념구조를 수월하게 구축할 수 있다. 본 논문에서는 이와 같은 일련의 형식개념분석(Formal Concept Analysis)을 적용한 실험을 수행하기 위해 ConExp프로그램[8]을 사용했다.

그림 2 임상서식지 Context에 대한 개념격자

III. 결 과

OO대병원에서 실제로 사용되고 있는 임상서식지들을 대상으로 문서집합들을 구조화 하여 필요한 정보를 수월하게 획득하고 관련 지식을 간결하면서도 효과적으로 표현하기 위한 계층적 개념구조를 구축하기 위하여 다음과 같이 FCA를 적용한 문서체계화 실험을 수행하였다.

(1)임상서식지들로부터 context table을 작성

표1은 00대학병원에서 실제로 사용하고 있는 임상서식지들 중에서 임의로 추출한 4개의 문서들(임상관찰기록, 간호정보기록, 간호기록, 입퇴원기록)을 대상으로 다음과 같이 context table을 작성하였다. 즉, Context table의 Object는 임상관찰기록, 간호정보기록, 간호기록, 입퇴원기록 등과 같은 4종류의 임상서식지들이며, Attribute는 4종류의 임상서식지들에 포함되어 있는 75개의 field들로 구성된다. 또한, 각 임상서식지들과 field들 사이의 관계들(예를 들면, 임상관찰기록 문서는 작성날짜, 등록번호, 맥박, 배설량, 등의 field들을 포함하고 있음을 나타내는 이항관계)을 해당 셀에 X표시함으로서 임상서식지들로부터 context table을 작성하였다.

(2)Concept 추출

본 논문에서 제안한 FCA기법을 토대로 ConExp 를 사용하여 임상서식지 Context Table로부터 표2와 같은 9개의 concept들이 추출되었다. 각 Concept은 Extension와 Intension, 즉, Object와 Attribute로 구성되어 있다. 단, 여기서 Object는 임상서식지들의 집합이고, Attribute는 임상서식지들이 공통으로 포함하고 있는 field들의 집합으로 구성되어 있다. 예를 들어, 표2의 Concept들 중에서 C3는 “임상관찰기록” 문서를 나타내는 concept으로서 “수술일, 섭취량, 식이(섭취열량), 복위/흉위/두위, 특수약, 배설량”등과 같은 고유의 field들 뿐만 아니라, C9의 속성(“주민등록번호, 병동, 병실, 병상, 환자 성별/나이, 환자이름, 등록번호”)과 C6의 속성(“작성날짜”), 그리고 C7의 속성(“체중/신장, 혈압, 체온, 호흡, 맥박”)을 계승받고 있다.

(3)개념격자구조 작성 및 개념계층구조 완성

그림2의 Concept들 중에서 C4는 “간호정보기록” 문서를 나타내는 concept으로서 “입원하게 된 동기, 입원경로, 입원 방법, 의식수준, 혈액형, 최근투약내용”등과 같은 고유의 field들 뿐만 아니라 “주민등록번호, 병동, 병실, 병상, 환자 성별/나이, 환자이름, 등록번호, 체중/신장, 혈압, 체온, 맥박, 호흡, 입원날짜, 진료과, 보호자 성명”등과 같은 다른 concept들과 공유 가능한 속성(field)으로 가지고 있음을 알수 있다.

한편, C7와 같은 concept의 경우, 해당하는 임상서식지는 없으나 “임상관찰기록(그림2에서 C3에 해당)” 및 “간호정보기록(그림2에서 C4에 해당)”문서들에 공유될 수 있는 공통적인 field로써 “체중/신장, 혈압, 체온, 호흡, 맥박, 주민등록번호, 병동, 병실, 병상, 환자 성별/나이, 환자이름, 등록번호”등을 보유하고 있는 concept이다.

이외에도 그림 2에서 “간호기록(그림2에서 C2에 해당)”과 “임상관찰기록(그림2에서 C3에 해당)”문서들에 공유될 수 있는 공통적인 field들(“작성날짜, 주민등록번호, 병동, 병실, 병상, 환자 성별/나이, 환자이름, 등록번호”)을 추출한 concept으로서 C6가 발견되었으며, “간호정보기록(그림2에서 C4에 해당)”과 “입퇴원기록(그림2에서 C5에 해당)”문서들에서 공유될 수 있는 공통적인 field들(“입원날짜, 진료과, 보호자 성명, 주민등록번호, 병동, 병실, 병상, 환자 성별/나이, 환자이름, 등록번호”)을 추출한 concept으로서 C8을 발견하였다. 특히, C9는 “간호기록, 임상관찰기록, 간호정보기록, 입퇴원기록”과 같은 문서들에서 공유할 수 있는 “주민등록번호, 병동, 병실, 병상, 환자 성별/나이, 환자이름, 등록번호”등과 같은 공통적인 field들을 발견하여 추출된 concept으로서, 이들 속성 field들을 실험대상문서 전체에서 공유할 수 있음을 알 수 있다.

IV. 결 론 및 향후 과제

본 논문에서는 문서로부터 계층적 개념구조를 구축하기위해 형식개념분석기법(FCA: Formal Concept Analysis)을 사용하는 방법을 제안하였다. 또한, 의료분야의 문서체계화를 위한 실험으로서, OO대학교병원의 일부 임상서식지들에 대하여 FCA를 적용하여 계층화된 문서체계를 구축하였다. 본 실험에서는 실험대상문서들과 각 문서들을 구성하고 있는 필드들 간의 관계를 context table형태로 파악하여 공통적인 속성들을 갖는 concept들을 추출하여 계층적 개념구조형태로 추상화함으로서, 각 문서들이 공유할 수 있는 공통 속성(field)들을 최대한 추출한 형태의 문서 체계화가 가능함을 알 수 있다.

본 연구에서 실시한 실험결과, OO대병원에서 사용되고있는 일부 임상서식지들의 체계화된 계층구조를 얻을 수 있었고, 이와같은 계층적 개념구조는, 현재 사용되고 있는 모든 임상서식지들에 대한 모듈화 및 체계적인 문서관리, 그리고 관련정보의 효율적인 검색 등을 원활하게 수행할 수 있는 기반이 된다.

따라서, 향후 연구과제로서는, 병원내의 각 진료과 또는 각 병원들을 대상으로 보다 광범위한 형태의 문서체계화가 필요하다. 이와 같이 의료분야의 문서체계화를 위해서는 병원에서 실제로 사용하고 있는 구체적이고 상세한 임상서식지들이 모두 망라 되어야하며, 보다 정확하고 유용한 결과를 얻기 위해서는 의료분야 전문가의 도움이 절대적으로 필요하다.

참고문헌

Dawn Lawrie and W. Bruce Croft, “Discovering and Comparing Topic Hierarchies, Proc. of RIAD2000 conference, pp. 314-330, 2000.

Gu Tao, “Using Formal Concept Analysis (FCA) for Ontology Structuring and Building”, http://www.ntu.edu.sg/home5/pg04247176/index.htm

Philipp Cimiano, Steffen Staab and Julien Tane, “Automatic Acquisition of Taxonomies from Text: FCA meets NLP”, Proc. of the GI Workshop Lehren - Lernen - Wissen. Adaptivitat (LLWA), 2003.

B.A. Davey, H.A. Priestley, Introduction to Lattices and Order(2nd ed.), Cambridge University Press, 2002.

B. Ganter, R. Wille, Formal Concept Analysis: Mathematical Foundations, Springer, 1999.

Claudio Carpineto, Giovanni Romano, Concept Data Analysis : Theory and Applications, Wiley, 2004.

S. Hwang, H.G. Kim, H.S. Yang, "A FCA-based Ontology Construction for the Design of Class Hierarchy", ICCSA2005, LNCS3481, Springer, 2005.

http://www.mathematik.tu-darmstadt.de/ags/ag1/fag1/Software/ConExp/