I.

지능형 의료정보 검색시스템 구현

Development of an Intelligent Medical Information Retrieval System

Soon Cheol Park*, Sang-Bum Lee**, Hong-Gee Kim***, Myung Gee Kim***

* Chonbuk National University, Professor, scpark@chonbuk.ac.kr

** Dankook University, Professor, sblee@dankook.ac.kr

*** Seoul National University, College of Dentistry, Professors, {hgkim, mgkim}@snu.ac.kr

Abstract: In this paper, we have developed an intelligent information retrieval system for the medical application, having such functions as search, summarization, clustering and categorization. We have tested the functions of the system with the 1234 medical records of the doctors' views of clinical patient treatment in a hospital. Our system makes contribution to the maximal use of the accumulated contents of the records for the treatment of other patients who have a similar disease. By retrieving data, clustering the similar contents together and categorizing with the special topics, the medical information from the system will be efficiently used.  One of the system's benefits is that the system includes its own search engine as in Google and the document's clustering function as in Vivisimo. To add new functions to the present system is simple due to the built-in search engine. It makes our research easy to expand to the semantic information retrieval using the concept of ontology and to the findings of the meaning patterns of medical data in the near future.

Keyword: Information Retrieval, Medical Records, Summarization, Clustering, Classification

서 론

정보검색(Information Retrieval)은 정보에 대하여 표현, 저장, 조직, 접근을 다루는 분야로 네이버나 구글(google)과 같은 웹검색 시스템(Web Searching Engine)이 가장 널리 알려져 있지만 정보를 사용하는 모든 분야에 적용될 수가 있다[1]. 특히 정보의 양이 많고 신속한 정보검색이 필요한 분야에서는 그 필요성이 점점 증대되고 있다. 정보검색시스템은 얼마나 많은 데이터를 보유하느냐가 중요하기 보다는 사용자에게 유용하고 정확한 정보를 얼마나 효과적으로 제공하는가가 중요한 관점으로 대두되고 있다.

의료정보는 임상시험 데이터나 처방전 데이터같이 코드화된 포맷으로 저장되거나 또는 경과 기록지, 퇴원요약지, 검사소견서 등과 같이 비정형적인 텍스트 포맷으로 저장되어 컴퓨터로 처리하는데 많은 문제점을 안고 있다[2]. 따라서 비정형적인 의료 정보를 구조화된 정보로 전환하고자 시도가 많이 진행되고있다. PhraseX, MetaMap, IndexFinder[3, 4, 5]같은 소프트웨어는 비정형 텍스트에 포함된 용어를  표준화된 UMLS개념으로 전환하는데 사용되고 있다. 이러한 연구의 결과로 임상의사가 작성한 환자 진료기록 데이터를 재가공하여 정보기술에 활용할 수 있게 되었다.

환자 진료의 기록은 문서, 그래프, 영상 자료로 저장된다. 지금까지는 이러한 자료가 주로 해당 환자의 차후 진료를 위해 보관되었지만, 이러한 의무 기록은 그 환자뿐만 아니라 비슷한 증상을 가진 다른 환자를 치료하는데 많은 도움을 줄 수 있다. 의무기록에 사용되어지는 의학 용어들은 같은 개념일지라도 여러 동의어가 사용되어 기록하는 사람에 따라 다양하다. 따라서 의무기록과 같은 진료 내용의 활용이 폭 넓게 이용되지 못하는 것이 현실이다. 그러므로 이러한 환자의 의무 기록은 예전의 단순한 키워드 기반의 정보 검색만으로 활용되기가 어렵다.

따라서 본 연구에서는 지능형 정보검색 시스템을 구현하여 의료정보를 분류하고 분석하고 해석할 수 있는 기능을 제공한다. 이 지능형 정보검색 시스템은 단순한 용어 검색 기능 이외에도 문서를 요약하여 전체 문서의 쉽게 파악할 수 있는 기능, 유사한 문서를 그룹화 시켜 문서집단의 패턴을 파악하거나 상세검색을 가능하게 하는 기능, 미리 정해진 주제에 따라 문서를 자동으로 분류하는 기능 등을 포함하게 된다.

본 논문의 구성은 다음과 같다. 제 II장에서는 지능형 정보검색 시스템에 필요한 기능들에 대하여 소개하고 제 III장에서는 구현된 시스템에 대하여 설명한다. 마지막으로, 제 IV장에서는 결론과 향후 연구 방향에 대하여 기술한다.

II. 지능형 정보검색 시스템

본 연구에서 제안하는 지능형 정보검색 시스템의 기능적 구조는 <그림 1>과 같다. <그림 1>과 같이 시스템에서 정보를 검색하는 방법은 용어검색과 카테고리검색 두 가지 방법이다. 용어검색은 사용자가 원하는 질의어를 입력하면 시스템은 그 결과를 출력한다. 반면에 카테고리검색은 이미 정해진 카테고리 의 정의에 따라 사용자가 원하는 카테고리를 선택하면 시스템이 결과를 출력한다. 각 방법으로부터 나온 결과는 같은 형태를 갖으며, 요약, 결과리스트, 클러스터 리스트 등을 포함한다. 시스템이 갖고 있는 기능 중에서 유사문서검색과 클러스터 리스트는 사용자의 요구에 따란 관련 문서를 재탐색하게 된다.

<그림 > 시스템의 기능적 구조

시스템에 대한 주요 기능 설명은 다음과 같다.

1. 용어검색

용어검색은 정보검색시스템의 가장 기본적인 기능 중에 하나이며 사용자가 원하는 용어가 포함되어있는 자료를 신속하게 찾아주는 역할을 한다. 이 기능을 수행하기 위해서는 효율적인 색인추출기 및 저장시스템이 필수적이다.

본 논문에서 사용한 색인어 추출은 한글문서인 경우 명사를 위주로 추출된다. 반면에 로마자(영어 알파벳, 등)로 표현된 문서의 경우 porter stemmer[6]를 사용하여 단어 중 중요부분을 색인어(stemming)로 사용하였다. 특히 색인어 추출 전 2bytes이하인 문자열은 색인어 대상에서 제외하였다.

용어의 가중치는 검색 결과에 순위를 결정하는데 사용이 되며, 요약, 클러스터링, 분류 등에 정보검색의 추가 기능에 사용된다. 가중치를 계산하는 방법은 일반적인 Tf(term frequency)와 idf(inverse document frequency)를 이용한다. 본 시스템의 용어 가중치를 계산식은 식(1)과 같다.

식 (1)에서 가중치 Wij는 j문서에 나타나는 i번째 용어의 가중치이다.

[eqn: W _{ij} =Tf _{ij} BULLET idf(w _{ij} )]                (1)

식 (1)의 Tfij 값은 j 문서에서 나타나는 i 용어의 빈도수에 비례한 값을 사용한다.  idf(wij)값은  j 문서에 있는 i 용어가 각 문서에 나타난 총 수의 역비례 값이다.

2. 문서 요약

문서요약[7, 8, 9, 10]은 문서의 내용을 중복 없이 간략하게 요약하는 기술이다. 요약을 통해서 문서의 전체 내용을 빠르게 파악할 수 있다. 따라서 대단위 문서집합에서 찾고자하는 문서를 빠르게 선택하기 위해서는 문서요약기술이 필수적이다.

이 기술은 통계학적 접근과 의미적 접근 방법에 의해서 연구되고 있다. 통계학적 방법은 문서의 내용 중에 가장 중요하다고 생각되는 문장을 선택하여 요약하는 방법으로써 의미에 따라 재구성되는 의미적 방법보다 구현이 훨씬 용이하다. 본 논문에서는 상대적으로 구현이 쉽고 실제 적용이 가능한 통계학적인 방법을 택하였다. 사용된 문서 요약 알고리즘은 식 (2)와 같다.

[eqn: arg`m`a`x ^{k} {sum _{i=1} ^{|passage|} Tf _{ij} BULLET idf(w _{ij} )} over {|passge|}]        (2)

식 (2)에서 사용된 Tf와 idf의 정의는 식 (1)에서의 정의와 유사하다. |passage|는 선택된 문장의 길이를 의미한다.

또한 본 시스템의 문서 요약의 특징은 Maximal Marginal Relevance(MMR)[11, 12]를 추가한 것이다. MMR의 특징은 문서 요약에서 중복 문장을 제외함으로써 내용의 중복성을 감소시키는 것이다.

3. 문서 클러스터링

본 시스템은 검색결과에 대하여 유사한 것끼리 모으는 문서 클러스터링[13, 14]기능을 포함한다. 이러한 기능은 유사성이 있는 자료를 구분함으로써 사용자는 원하는 검색을 더욱 빠르게 할 수 있을 뿐만 아니라 검색 결과의 구조를 쉽게 파악할 수 있도록 도와준다.

이 기술은 K-means, MST, 등이 있으며 본 논문에서는 수정된  K-means 알고리즘을 이용하여 분류 성능을 향상시켰다[10]. 일반적인 K-Means 알고리즘은 클러스터의 수가 정적이다. 이 경우 생성된 클러스터들 사이의 문서내용이 지나치게 유사할 수 있다. 이러한 단점을 보완하기 위하여 본 시스템에서는 초기의 클러스터의 수를 클러스터 간의 유사성을 고려하는 방법으로 조정하였다. 즉 클러스터링하려고 하는 문서의 집단 따라 그 수가 K값 근처에서 동적으로 변하도록 했다.  <그림 2>는 시스템에서 사용된 수정 K-Means 알고리즘이다.

1.	choose k.

2.	select k proto-centroids from a set of document, d.

3.	compute dist(di, cj)

4.	assign di to  by

a.

b.

5.	recomputed the centroids process

6.	check if  then return

else = goto 3.

<그림 2> K-Means 알고리즘

4. 문서 분류

문서분류기술은 사용자가 정의한 분류에 따라 문서 또는 문서의 내용을 분류하는 기술이다. 정의된 분류체계는 각 분류에 대한 Knowledge Base 혹은 Ontology 등을 이용하여 분류의 정확성을 확장시킬 수 있다.

기존 기법은 KNN, Neural Network, 코사인기법, 등이 있으나 본 연구에서는 문서벡터를 이용한 코사인기법을 이용했다. 코사인기법은 구현이 간단하고 분류속도가 빠르다. 본 시스템에서 사용한 데이터분류의 알고리즘은 <그림 3>과 같다.

1.	데이터와 카테고리 사이의 유사도 계산.

[eqn: D= dmatrix{d _{1}#d _{2}#d _{3}#…}], [eqn: d _{i} =Tf _{i} ․idf(w _{i} )․P].

[eqn: matrix{C _{j} =} dmatrix{v _{11}&v _{12}&v _{13}&…&v _{1j}#v _{21}&v _{22}&v _{23}&…&v _{2j}#v _{31}&v _{32}&v _{33}&…&v _{3j}#…&…&…&…&…}],

[eqn: v _{ij} =Tf _{ij} ․idf(w _{ij} )․P].

[eqn: S`i`m`i`l`a`r`i`t`y(D,`C _{j} )~=~ {D~․C _{j}} over {|`D~||C _{j} `|}]

2.	if (max[[eqn: S`i`m`i`l`a`ri`t`y`(D,`C _{j} )]] < THRESHOLD) then	새로운 카테고리 생성

else	유사도가 가장 큰 카테고리로 데이터 분류

3.	정확성 향상을 위하여 자동분류체계 내의 용어 확장 혹은 KB도입(향후 도입)

[eqn: 확장용어`` larrow ``beta *(용어)`+`(1- beta )*Dictionary(용어)]

<그림 3> 문서분류 알고리즘

III. 구 현

본 의료정보 검색시스템은 S병원에서 제공한 1234명의 환자 의료진료문서를 대상으로 개발되었다. 본 시스템은 일반 PC(personal computer)의 Windows 2000 운영체제에서 동작된다. 시스템은 VC++ 6.0을 이용하여 구현되었다.

시스템의 사용자 인터페이스 화면은 <그림 4>와 같다. <그림 4>는 용어 ‘치아’에 대한 검색결과를 함께 보여준다.

<그림 4> ‘치아’에 대한 검색결과

<그림 4>의 검색결과은  검색된 모든 결과의 요약내용, 검색결과 리스트, 클러스터 리스트, 카테고리 정보 등을 포함한다. 검색결과 리스트에 있는 각 문서들의 끝에는 본문으로 바로 이동할 수 있도록  ‘본문’키를 두었다. (<그림 5>참조) 또한, 검색된 문서와 유사문서를 검색할 수 있는 기능을 두어 사용자가 원하는 문서와 유사한 문서를 쉽게 검색할 수 있도록 했다. 전체적인 기능에 따른 시스템 구조는 II장의 <그림 2>와 같다.

<그림 5> ‘본문’검색 대한 결과 화면

본 논문에서 구현된 시스템의 기능을 구글검색엔진, vivisimo(메타검색엔진) 등과 비교하면 <표 1>와 같다. <표 1>에 나타난 것과 같이, 본 시스템의 장점은 구글과 같이 자체 검색엔진을 포함하고 있으며 vivisimo에 포함되어있는 문서클러스터링 기능을 포함하고 있는 것이다. 아울러 자체 검색엔진을 갖고 있어 시스템의 추가 기능이 용이하다.

<표 1> 타 시스템과의 기능 비교

기능	구글	vivisimo	본 시스템
검색엔진	○	×(메타엔진)	○
요약	○	○	○
본문검색	○	○	○
유사문서검색	○	×	○
카테고리	○	×	○
클러스터링	×	○	○
검색	○	○	○
Ontology	×	×	∆
적용규모	대	중	중∙소

IV. 결 론

본 논문에서는 인공지능 기술을(문서요약, 문서분류, 문서클러스터링) 도입한 지능적 의료정보시스템을 구현하였다. S병원의 1234명분의 의료정보자료를 이용하여 시스템의 기능 테스트를 마쳤다. 본 시스템에서 제공하는 각 기능들은 유사 환자들의 패턴을 찾거나 혹은 특정 의미의 용어를 검색하는 경우 잘 이용될 수 있을 것으로 생각된다.

본 논문에서 제안한 시스템은 일반 정보검색시스템과 마찬가지로 자연어 질의처리를 할 수 있어 사용자들이 특별한 지식이 없이도 이용할 수 있다. 또한 자동 문서요약, 자동 문서클러스터링, 자동 문서분류 기능 등이 포함되어 있어 기존 정보검색시스템보다 뛰어난 지능형 기능을 보유하고 있다. 특히 본 시스템은 자체 검색엔진을 사용하고 추가 기능에 대한 확장성이 용이하여 앞으로의 연구결과를 쉽게 접목할 수 있는 장점이 있다.

앞으로 본 시스템에 온톨로지 개념을 반영한 의미 정보검색기능과 새로운 의료데이터의 의미패턴을 찾는 기능을 추가시킬 계획을 갖고 있어 세계 최고의 지능형 의료정보 검색시스템을 구현을 계획하고 있다.

참고문헌

김명철, 김덕봉, 김유성, 김재훈, 박혁로, 이하규 공역, “최신정보검색론”, 홍릉과학출판사 1999.

이정애, 서화정, 김기원, 김민구, 홍승권, 박유랑, 김주한, Unified Medical Language System 개념 색인화를 통한 진단방사선과 보고서의 자동색인 정확률 분석, 대한의료정보학회지 제10권 제3호, 2004. 10.  pp 295-302

Srinivasan S. Rindflesch TC, Hole WT, Aronson AR, Mork JG. Finding UMLS metathesaurus concepts in MEDLINE, Proc. AMIA Symp: 2002 Nov 727-731: San Antonia, TX, USA.

Aronson AR, Effective mapping of biomedical text to the UMLS metathesaurus: the MetaMap program. Proc AMIA Symp; 2001 Nov 17-21; Washington DC, USA.

Zou Q, Chu WW, Morioka C, Leazer GH, Kangarloo H. IndexFinder: A method of extracting key concepts from clinical texts for indexing. Proc AMIA Symp; 2003 Nov 763-767; Washington DC, USA.

http://www.tartarus.org/~martin/PorterStemmer/

Jade Goldstein, Mark Kantrowitz, Vibhu Mittal, and Jaime Carbonell, Summarizing Text Documents: Sentence Selection and Evaluation Metrics, In Proceedings of ACM-SIGIR'99, Berkeley, CA, August 1999, pp. 121-128.

Therese Firmin Hand, A Proposal for Task-Based Evaluation of Text Summarization Systems, in Proceedings of the ACL/EACL'97 Workshop on Intelligent Scalable Text Summarization, Madrid, Spain, July 1997, pp. 31-36.

Inderjeet Mani, and Mark Maybury, Advances in Automatic Text Summarization. MIT Press, 1999.

G. Salton, A. Singhal, M. Mitra, and C. Buckley, Automatic Text Structuring and Summarization

Jaime Carbonell and Jade Goldstein, "The use of MMR, diversity-based reranking for reordering documents and producing summaries," in Proceedings of the 21st ACM-SIGIR International Conference on Research and Development in Information Retrieval, Melbourne, Australia, 1998.

A. Leuski and J. Allan, Improving interactive retrieval by combining ranked lists and clustering. In Proceedings of RIAO'2000, April 2000, pp. 665-681,

http://nlp.korea.ac.kr/~bewise/research/K-Means.pdf

http://cne.gmu.edu/modules/dau/stat/clustgalgs/clust5_bdy.html