I.

한의학 진단을 위한 온톨로지 설계 상의 한 가지 문제

A Problem in the Ontology Design for Oriental Medicine: Expressiveness Problem

Kyungmo Park, O.M.D.,Ph.D. Jonghyun Park O.M.D., Ph.D.†

Dept. of Biomedical medicine, Kyunghee University, yongin, saenim@khu.ac.kr

*Dept. of Oriental Medicne, Daeguhaany University, Daegu

Abstract: We point out  the limitation on the expressive of OWL during the ontology development  for Oriental Medicine and refer lightly to a certain solution.

Keyword: ontology, oriental medicine, OWL, DL logic

배 경

본 연구는 한의학에서 가장 빈번하게 사용하는 진단 중 하나인 기혈진액변증(氣血津液辨證)을 OWL 기반의 온톨로지로 구현하면서 유발된 하나의 문제를 논의하고자 한다.

한의학 진단을 기계화하기 위해서 본 연구팀이 시도한 방법은 온톨로지 기반이었다. 그  이유는 온톨로지가 기존의 데이터베이스에 비해서 표현력이 더 좋고, 기존의 전문가 시스템에 비하여 응용프로그램과 완전히 독립된 형태로 존재할 수 있기 때문에 추후에 추가적인 확장이나 수정이 용이하기 때문이다. 따라서, 본 연구팀은 Description Logic 중의 하나인 OWL(Web Ontology Language)을 사용하여 한의학의 진단 지식들을 표현하고자 하였다.

그러나, 이러한 과정 중에 OWL이 표현되지 못하는 지식들을 발견하게 되었다. 사실 이것은 예견된 문제였다. 그것은 DL logic 자체는 meta적인 구조를 가진 것에 비하여 meta적인 내용을 담고 있는 문장은 표현할 수 없다는 문제로 기인한다.

II. 진단요건과 그것의 형식적 표현

Fig 1.은 한의학의 기허증 진단요건을 일상적인 문장으로 표현한 것이고 Fig 2는 그것을 형식적으로 표현한 것이다. 이러한 형식적인 표현은 일차술어논리로 표현이 가능하며, 집합론이 아닌 다른 수학적 표현으로도 대치 가능하다.

III. OWL로의 표현과 표현되지 않는 문제

이것을 온톨로지로 다음과 같이 OWL systax를 사용해서 표현하였다.Fig 3.는 사실상 Fig 1.과 Fig 2.의 동치가 아니다. 왜냐하면, P2, P3 문장에서 문장 내 has_Sym_num은 S1a과 같은 class에 대해서 지칭함을 포함하고 있어야 하며, P5의 has_criteria_sentence_number와 같은 것은 P1에서 P4까지를 지칭함을  포함하고 있어야 하나 OWL syntax는 그것을 제공하지 못하고 있다.

IV. 제안

이러한 문제를 해결하기 위해서는 OWL syntax로 온톨로지를 기술하되 그 문서 안에, OWL이 제공하지 않는 문법에 한하여 그것의 해석 방법을 담은 Meta data와 그것의 Parser code를 포함시켜야할 것이다. 그러나, 이러한 방법론이 아직 없기 때문에 본 연구팀에서는 온톨로지를 만들되 OWL syntax가 제공하지 않는 부분은 application program에서 자의적으로 해석하도록 하였다.

1. 호흡단기(S1a), 신피핍력(S1b), 소기라언(S1c) 중에 하나(n1)는 반드시 있어야 한다

2. 음식무미(S1d), 면색창백(S1e), 식후창만(S1k) 중에 둘(n2)은 반드시 있어야 한다.

3. 요통(S1f), 요슬산연(S1g), 신불납기증 관련 증상(f(S5j)) 중에 두 개(n3)의 component는 있어야 한다

4. 맥상과 설상은 설담(S1h), 맥세무력(S1i)해야 한다.

5. 위의 4항목 중에 2개 이상을 충족하면 기허증이다.

Fig 1. 한의학의 진단 요건 예.

▪S31={S21|S21⊂CS21 & n(S21)≧n1 & CS21={S1a,S1b,S1c}}

▪S32={S22|S22⊂CS22 & n(S22)≧n2 & CS22={S1d,S1e,S1k}}

▪S33={S23|S23⊂CS23 & n(S23)≧n3 & CS23={S1f, S1g, f(S5j)}}

▪S34={S24|S24⊂CS24 & n(S24)≧n4 & CS24={S1h, S1i} }

▪S5i={S41|S41⊂CS41 & n(S41)≧n5 & CS41={S31, S32, S33, S34}}

Fig 2. 진단요건의 형식적 표현

진단요건에 규정된 개별증상을 S1, 환자가 가진 증상집합의 부분 집합을 S2, S2를 원소로 하는 집합을 S3, S3를 원소로 하는 집합을 S4, 진단명은 S5라고 표현하며, Sni에서 i는 Sn의 i번째 집합이다. 또한, CS21은 S1에 있는 증상의 집합을 의미한다. 이때 환자가 호소하는 증상의 집합에 의해 S5i가 공집합이 아니면 진단요건을 만족한다.

기허증 진단요건 ⊂ (P2∩P2∩P3∩P4∩P5)

P1≡∃.has_Components_of_Criterion (S1a ⋃ S1b ⋃ S1c))

P2≡∃.has_Components_of_Criterion (S1d ⋃ S1e ⋃ S1k)

∩ (has_Sym_num ≥ 2)

P3≡∃.has_Components_of_Criterion (S1f ⋃ S1g ⋃           (is_com_symptom_of f(S5j)) ∩ (has_Sym_num ≥ 2)

P4≡∃.has_Components_of_Criterion (S1h⋃S1i)

P5≡(has_criteria_sentence_number ≥ 3)

Fig 3. 진단요건의 OWL syntax를 이용한 표현

여기에서 ‘has_Components_of_Criterion’과 같은 것은 OWL Property이고 Snm은 OWL Class이다.

감사의 글

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