한의학 용어 시스템을 위한 용어 선정 알고리즘들에 대한 초보적 평가

Evaluation of Concept Selection Algorithms for Traditional Medical Terminology System: Preliminary study

Kyungmo Park1, Dongjin Kim1, Bumsang Sim2

* 1 Department of Biomedical Engineering, Kyunghee University.

2 College of Oriental Medicine, Kyunghee University.

Abstract: When you want to construct a terminology system, the selection of proper terms which represent the concepts in your domain is essentially important. And we conducted research about the frequency of certain terms in text documents which contain the information of a domain to evaluate the validity of term-selection. For the purpose of these research, we embodied three algorithms which select the certain string in a document using string matching method, and evaluated the algorithm through experiment.

Keyword: IST, Term, Terminology, Traditional Medicine, Matching Algorithm

I. 배 경

WHO(World Health Organization)는 여러 국가들과 협력하여, 한의학(Traditional Medicine) 지식을 의료 서비스에 포함시키려는 노력을 기울이고 있다. 이러한 일환으로 IST(International Standard Terminology for Traditional Terminology)[1]를 구축하고 있으며, 현재 6,000 여개의 용어들이 선택, 포함되어졌다. 특정 도메인에 대한 Terminology를 개발하는데 있어 도메인 내의 어떤 지식을 선택할 것인가는 가장 기본적이고 중요한 문제이다. 이는 선택되어지는 용어들에 따라 구축되어지는 용어 시스템의 표현 범위 및 유용성이 달라지기 때문이다. 따라서 효율적이고 유용한 terminology를 개발하기 위해서는 선택되어진 용어 자체의 적정성에 대한 평가가 이루어져야 한다.

용어 선정에 있어서의 적정성을 평가하는 한 가지 방법은 이 용어가 가리키는 개념이 문서상에서 자주 사용하는 용어인가를 판단하는 것이다.

용어(Term)란, 하나 이상의 단어로 구성된 특정 도메인 내의 개념을 표현하는데 사용된 문자열을 말한다. 하나의 개념을 표현하는데 있어서도 여러 상이한 Term들이 사용될 수 있으며, 이와 반대로 Term을 통해 특정 개념을 유추해 낼 수도 있다. 따라서 본 연구팀의 목적은 특정 Term을 통해 그 Term이 표현하고 있는 개념들을 찾거나, 같은 개념을 표현하는 유사한 Term들을 찾고자 하였다. 이에, 개념의 유사성을 측정하기 위해, 개념을 표현하고 있는 Term들 사이의 문자열 유사성을 가지고 판별한다. Term들 사이의 유사성은 하나의 Term을 구성하는 Character나 Word들의 구성성분, 그리고 Word의 결합 순서를 따지게 된다.

이러한 연구의 기초 작업으로 본 연구팀은 IST에 포함되어진 용어들이 적정하고 중요한 한의학 용어들을 선택하고 있는지 알아보기 위해서, 특정 용어가 도메인 지식을 포함하고 있는 문서상에서 얼마나 자주 나타나는지에 대한 출현빈도를 고려하였다. 이는 중요한 용어일수록 문서상에서 자주 쓰일 것이라는 직관에 바탕을 두고 있다. 따라서 용어의 출현빈도를 측정하기 위한 알고리즘을 개발하고, 개발된 여러 알고리즘 중 용어 선정의 적정성을 가장 잘 나타내는 최적의 알고리즘을 찾는 작업을 수행하였다.

II. 방 법

알고리즘

Term들 사이의 유사성을 측정하는 알고리즘으로 3개의 알고리즘이 구현되었다. 서론에서 언급한 바와 같이 Term들 간의 유사성은 문자열 매칭을 기반으로 하고 있으며, 문자열의 구성에 있어서의 3가지 측면이 고려되었다. 이는 첫째, 하나의 Word를 구성하는 Character들, 둘째, 전체 문자열을 구성하는 Word의 개수, 마지막으로 Word들의 구성 순서 이다. 본 연구팀은 각 3가지 측면의 매칭은 다음과 같다.

Character Complete/Partial Matching

-Word를 구성하는 character들이 완전히 일치하는 경우 또는 character 사이의 부분 매칭을 허용하는 경우로 구분됨

Term Complete/Partial Matching

-하나의 Term을 구성하는 word들이 완전히 일치하는 경우 또는 word들 사이의 부분 매칭 허용하는 경우로 구분됨

Term Sequence Ordered/Non-ordered Matching

-Term을 구성하는 word들의 순서가 일치하는 경우 또는 순서에 관계없이 매칭되는 경우로 구분됨

또한 본 연구팀에서 구현한 알고리즘에 대한 간략한 수식화된 표현 및 매칭 예를 보인다. 다음은 각 알고리즘을 서술하는데 사용된 기호 및 용어들이다.

기호 및 용어

Si: word의 집합으로서의 문장을 의미

Tj: 검색에 사용된 입력으로 하나의 Term을 의미

ordered set: Si 또는 Tj를 구성하는 word들의 결합 순서 중시, 즉 Si 또는 Tj는 하나 이상의 word들의 일정 순서로 결합된 문자열을 의미

a, b, c, d: 각 알파벳 기호는 하나 이상의 word로 구성된 문자열을 의미

Sim([eqn: alpha], [eqn: beta]): 두 문자열 [eqn: alpha]와 [eqn: beta] 사이의 유사성 측정값을 의미한다.

i)[eqn: alpha] = a, [eqn: beta]=b인 경우

Sim(a, b): 두 단어(word) a와 b 사이의 유사성 측정치

ii)[eqn: alpha] = Tj, [eqn: beta]=Si인 경우

Sim(Tj, Si): 두 비교되는 문자열(Term) Tj와 Si사이의 유사성 측정치

Matching: 두 문자열 사이의 매칭 되는 경우

1.1 Algorithm I

Algorithm I은 Character Partial Matching, Term Complete Matching, Term Sequence Ordered Matching의 component로 구성되어 있다.

유사성 측정 및 매칭 수행

Si ∋ {a, b, c, d}

Tj ∋ {a', b', c'}

Sim(a, a')=(min[|a|,|a'|]-ED(a, a'))/min[|a|,|a'|]

Sim(b, b')=(min[|b|,|b'|]-ED(b, b'))/min[|b|,|b'|]

Sim(c, c')=(min[|c|,|c'|]-ED(c, c'))/min[|c|,|c'|]

Sim(Tj, Si)=[Sim(a, a')+Sim(b, b')+Sim(c, c')]/3

∴Matching =true(단, Sim(Tj, Si) ≥ threshold)

여기서 min[|A|,|B|]는 두 개의 문자열인 A와 B중 최소 문자열의 길이를 의미하며, ED(A, B)[2]는  두 문자열 A와 B중 동일하지 않는 부분의 길이를 말한다. 또한 여기서 Si와 Tj 사이의 관계는 (a⊂a', b⊂b', c⊂c') 또는 (a⊃a', b⊃b', c⊃c')이다.

매칭의 예

Tj = child   Sj ⊃ children

min[|child|,|children|] = 5

ED(child, children)= 3(non-common character: 'ren')

Sim(Tj, Si) = (5-3)/5 = 0.4

따라서 만약 Threshold 값이 0.4 이하인 경우 두 문자열에 대해 유사하다고 판정한다. 또한 이를 통해 morphological한 차이가 있는 문자열 사이의 매칭을 검출할 수가 있다.

1.2 Algorithm II

Algorithm II는 Character Complete Matching, Term Partial Matching, Term Sequence Ordered Matching의 component로 구성된다.

유사성 측정 및 매칭 수행

Si ={a, b, c, d, e}

Tj ={b, c, d}

if, Threshold: 0.5

Tk ={{a, b, c}, {a, c}, {a, b}, {b, c}}

∴Matching = true (단, ((Tj ⊃ Tk) & (Si ⊃ Tk))

여기에서 Tk는 Tj의 부분집합을 의미하며, word이거나 term일 수 있다. 또한 n(Tk)는 Tk를 구성하는 word의 개수이며, 마찬가지로 Sk는 Si의 부분집합 문자열을, n(Sk): Sk를 구성하는 word의 개수를 말한다. 끝으로 n(Tj)*Threshold는 Term의 부분 문자열 집합 중, 최소 부분 문자열을 구성하는 word의 개수를 의미한다.

매칭의 예

yin and yang: 음과 양

Si ={'yin and yang'}

Tj ={'yin yang'}

위의 경우, Tj의 부분집합 Tk에 대해, Si와 Si ⊃ Tk의 관계가 있으므로, 두 Term은 매칭 가능하다.

1.3 Algorithm III

Algorithm III은 Character Partial Matching, Term Partial Matching, Term Sequence Non- Ordered Matching의 component로 구성된다.

유사성 측정 및 매칭 수행

Tj = {n1, n2, ..., nm}

Si = {n1, n2, n3, ..., nx}

Sim(Tj, Si) = 2*Cn / num(Tn)+num(Sn)

∴Matching =true(단, Sim(Tj, Si) > threshold)

여기에서 n은 각 문자열에 대한 N-gram slice로 쪼갠다는 것을 의미하며, 따라서 Tn는 Tj를 두 문자 단위로 나눈 slice 문자들의 집합을, 그리고 Sn는 문자열 Si를 두 문자 단위로 나눈 slice 문자 집합을 말한다. 또한 Cn는 Common character slice (Cn ⊂ Tn & Cn ⊂ Sn)이며, 마지막으로 num(Tn)는 Tn의 개수를 그리고 num(Sn)는 Sn의 개수를 뜻한다.

문자열을 N-gram slice로 쪼개는데 있어서 제한 요건은 공백 문자가 들어간 slice의 경우는 Tn과 Sn의 문자 집합에 포함시키지 않으며, 또한 공통된 slice의 경우 하나로 처리하는 것이다.

매칭의 예

Si={'yin and yang'}

Tj={'yan and'}

Tn ={ya, an, nd}

Sn ={yi, in, an, nd, ya, an, ng}

Sim(Tj, Si) = (2*3)/(3+7) = 0.6

따라서 만약 Threshold 값이 0.6 이하인 경우 두 문자열에 대해 유사하다고 판정한다.

Searching 프로그램

본 연구팀은 각 매칭 알고리즘을 통해 특정 문서들 내에서 입력된 Term과 동일하거나 또는 유사한 Term들이 들어 있는 문장들을 추출해 주는 프로그램을 구현하였다.

위 프로그램은 자바 프로그램밍 언어를 사용한 콘솔 기반이며, 기본적으로 영문의 문자열에 대한 매칭을 수행한다. 또한 한의학 용어의 경우 한자인 경우가 대부분이며, 한의학 도메인에 대한 문서의 경우 한글 문서가 많으므로 인해, 한글 및 한자에 대한 매칭을 수행하고자, 유니코드 문자열을 처리 할 수 있도록 하였다.

프로그램의 동작 및 기능

Term과 문서에 대한 2개의 입력 파일을 읽어 들여서, 각 알고리즘을 통해 문서 내에서 특정 Term이 출현한 문장들을 텍스트 파일로 출력한다.

입력 파일: 검색하고자 하는 Term들의 리스트와 검색에 사용되는 문서들

출력값: 입력 Term들에 대한 유사한 Term이 나타난 문서 번호, Term의 전체 출현 횟수 그리고 Term이 나타난 출현문장

선택 옵션 및 추가 입력값: 알고리즘 선택, Threshold값 입력

출력 파일 포맷: 영문의 경우는 일반 텍스트 파일이며, 한글 및 한자의 경우에는 MS Word 파일로 출력된다.

실 험

표 1 Term List

Concept	English Expression
虛寒	deficiency-cold
真虛假實證	pattern/syndrome of true deficiency with false excess
清熱	clearing heat
補肺	tonifying the lung
活血藥	blood-activating drug
木瓜	common flowering qince fruit
麻黃杏仁甘草石膏湯	mahuang xingren grancao shigao decoction
胃藥	stomach meridian
腎陽虛	deficiency of kidney yang
白苔	white coating

각 구현된 3 개의 알고리즘을 평가하기 위해, 한의학의 용어들 중에 Concept을 나타내는 10개의 한자어의 영어 표현인 Term들을 선택하였으며, PubMed[3]에 등재된 중국 중서의결합잡지( 中国 中西医结合杂纸 )에 등록되어 있는 1820 개 초록 내에서 위에서 선택된 10개의 Term들이 얼마나 많이 나타나는지를 실험하였다. 다음은 본 연구팀에서 선택한 10개의 Concept들에 대한 영어 표현이다.

표1에 나타난 10개의 Term에 대한 선정 기준은 한의학에 대한 영어 문서에서 자주 사용될 것일 것이라고 추측된 용어들에 대한 본 연구팀의 주관적 견해에 의해 선택되었다. 그리고 매칭되어져 출력된 문장에 대해, 각 입력된 Term의 도메인과 개념(Concept)에 대해 출력된 문장에서 나타난 Term의 도메인과 개념이 동일한지를 한의학 도메인 전문가에 의해 평가되었다.

III. 결 과

각 알고리즘의 성능을 평가하기 위한 실험을 통해 출력된 결과를 기초로, 입력된 10개의 Term들에 대한 각 알고리즘의 검색에 있어서의 민감도 관련 지수와 특이도 관련 지수를 사용하였다.

다음은 본 연구팀에서 적용한 민감도와 특이도 관련 지수이다.

[eqn: Recallc= {매칭된``문장이``존재하는``문서의``수} over {매칭에```사용된``총`문서의``수} ``]

[eqn: Precision= {매칭된``문장`중```적절한```문장의`수} over {매칭되어``추출된``문장의``수}]

본 연구의 결과를 평가하는데 사용된 Recallc란 민감도를 나타내는 지표로 사용된 용어로써, 일반적인 정보검색에서의 민감도와 달리 다음의 특징을 가진다.

[eqn: Recallc= {(A CUP B)} over {(A CUP B CUP C CUP D)}]

즉, 매칭에 사용된 전체 총 문서들 중에서 특정 Term에 대해 매칭되어져 추출된 문장이 들어있는 문서의 수가 얼마인가를 나타내는 값이다.

표 2 Relevant and Retrieved Sets in Information Retrieval Technology

	Relevant	Irrelevant
Retrieved	A	B
Not Retrieved	C	B

본 연구팀은 출력된 결과를 바탕으로 계산된 Recallc와 Precision을 이용해서, 단순한 F- measure 값을 계산하였다.

F-measure[4] =[eqn: {2*(P)(R)} over {P+R}], 여기서 본 연구팀은 Recallc이 Recall과 동일하다라고 가정한다.

실제적으로 중서의결합잡지 초록에 대해 10개의 Term을 사용해 검색한 결과 이중 5개의 Term들에 대해서는 결과가 나오지 않았다. 그 이유는 크게 두 가지로 생각해 볼 수 있다. 첫째, 중서의결합잡지 초록의 영문 표현에서 위와 같은 Term을 사용하지 않는 것이고, 둘째, 영문 초록 문장에서 같은 개념을 사용했더라고 하더라도, 위의 Term과는 전혀 다른 Term을 사용한 경우라 할 것이다. 따라서 본 연구팀은 나머지 5개의 Term에 대한 결과만을 가지고 알고리즘을 평가하는데 사용하였다.

다음은 실제적으로 알고리즘 평가에 사용된 Term들은 deficiency of kidney yang,  deficiency- cold, clearing heat, white coating, blood- activating drug/medicinal 등이다.

각 알고리즘의 결과 그래프

1) Algorithm I

표 3 Result of Algorithm I

Threshold	Recallc	Precision
0.7	0.00143	0.912
0.8	0.00139	0.934
0.9	0.0011	0.87
1.0	0.001	0.893

표3은 Algorithm I의 Threshold에 따른 매칭된 결과들에 대한 Recallc와 Precision을 나타낸다.

그래프  각 Threshold에 대한 F-measure

표 4 Result of Algorithm II

Threshold	Recallc	Precision
0.7	0.00329	0.9194
0.8	0.00273	0.9194
0.9	0.00165	0.691
1.0	0.0011	0.80

2) Algorithm2

표4는 Algorithm II의 Threshold에 따른 매칭된 결과들에 대한 Recallc와 Precision 값을 나타낸다.

그래프  각 Threshold에 대한 F-measure

표 3 Result of Algorithm III

Threshold	Recallc	Precision
0.7	0.0136	0.6208
0.8	0.00636	0.8728
0.9	0.00495	0.934
1.0	0.00209	0.740

3) Algorithm 3

그래프  Threshold별 F-measure value

표5 및 그래프 3은 Algorithm III의 각 Threshold 에 대한 계산된 Recallc와 Precision, 그리고 F-measure을 나타낸다.

각 알고리즘 별 측정된 F값(F-measure value)에 대해, 본 연구팀은 입력된 Term과 정확히 매칭되는 경우뿐만 아니라 Term과 유사한 Term들이 존재하는 문장들 또한 추출해 내기를 기대하였기 때문에, 우선적으로 Recallc값이 높으면서 Precision 또한 높은 F값에 대해 만족스러운 결과라고 생각한다. 그러나 매칭에의해 출력된 결과가 검색에 사용된 전체 문장들에 대해 너무 작아, 만족스러운 F값의 범위를 지정하기가 곤란하였다. 그리고 각 알고리즘의 Recallc과 Precision을 살펴볼 때, 일반적으로 Recallc과 Precision은 서로 반비례의 관계를 가지나, 본 실험에서는 Threshold가 증가함에 따라 특정 Term과 매칭되는 문장이 0인 경우가 발생하였다. 따라서 가장 최적의 알고리즘으로 F-measure 값이 가장 높은 알고리즘을 선택할 수 없었으며, 추가적으로 Pubmed에 등재된 다른 중국 저널과 영문 저널에 있는 영문 초록들에 대해 매칭을 수행하였지만 그 결과 역시 좋지 못했다.

결국, 용어의 적정성을 평가하는 최적의 알고리즘을 찾고자 했던 본 연구의 결과, 본 연구팀이 알고리즘을 평가하기 위해 수행한 실험만으론, 알고리즘의 성능을 평가하기 어렵다는 것을 알게 되었다. 이는 한의학에 대한 문서들에서 본 연구팀이 선택한 용어들이 잘 사용되지 않고 있다는 것으로 인해, 매칭되어져 나온 출력을 획득하기가 어렵다는 문제라고 사료된다.

IV. 결론 및 고찰

지금까지 본 연구는 WHO가 개발하고 있는 IST에 포함되어진 용어들의 적절성과 중요도를 판단하기 위하여도메인 지식을 포함하고 있는 문서들에서의 용어들의 출현빈도를 살펴보았다. 본 연구는 용어 시스템을 구축하는 기초 연구로써 수행되었으며, 앞으로 계속적인 개선과 실험을 통해 알고리즘의 성능을 향상시켜, 실제적인 용어 시스템 구축에 활용해 나갈 것이며, 추가적인 연구와 그 결과에 대해서는 학술지에 논문으로 실을 예정이다.

감사의 글

This study was supported by a grant of the Korea Health 21 R&D Project, Ministry of Health & Welfare. (A050893)

V. 참고 문헌

http://www.wpro.who.int/sites/trm/meetings/mtg_200505.htm

Alexander Maedche and Steffen Staab, Comparing Ontologies-Similarity Measures and a Comparison Study, Institute AIFB, University of Karlsruhe Internal Report 2001

http://www.ncbi.nlm.nih.gov/entrez/query.fcgi

Douglas E. Applelt, David J. Israel, Introduction to Information Extraction Technology. A Tutorial Prepared for IJCAI-99