Comparison and Distinction Methods of Korean Medicine Information

한의 정보의 비교 및 감별 방법 - 한의 온톨로지를 중심으로 -

  • Kim, Sang Kyun (Informatics Development & Management Group, Korea Institute of Oriental Medicine) ;
  • Kim, An Na (Informatics Development & Management Group, Korea Institute of Oriental Medicine) ;
  • Oh, Yong Taek (Informatics Development & Management Group, Korea Institute of Oriental Medicine) ;
  • Kim, Sang Hyeon (Informatics Development & Management Group, Korea Institute of Oriental Medicine) ;
  • Jang, Hyun Chul (Informatics Development & Management Group, Korea Institute of Oriental Medicine)
  • 김상균 (한국한의학연구원 정보개발운영그룹) ;
  • 김안나 (한국한의학연구원 정보개발운영그룹) ;
  • 오용택 (한국한의학연구원 정보개발운영그룹) ;
  • 김상현 (한국한의학연구원 정보개발운영그룹) ;
  • 장현철 (한국한의학연구원 정보개발운영그룹)
  • Received : 2013.09.30
  • Accepted : 2013.11.05
  • Published : 2013.12.25

Abstract

We in this paper proposed a distinction method to compare objects in the Korean medicine ontology. Comparing same and different information between two objects, two scenarios to use our system were designed and implemented. One is the distinction of formulas, medicinal materials, and acupuncture points and the other is the distinction of effects, treatments, and symptoms. To compare objects easily, the decomposition of effects and treatments and the processing of medicinal materials were provided. Also, information of each object was shown through the link to the semantic search system. Our distinction method and system could be helpful to compare and distinct two objects in the diagnosis systems or search systems of Korean medicine information.

Keywords

서 론

최근 정보 기술이 발전함에 따라 한의학 정보를 데이터베이스화하는 것에 대한 연구가 늘어나고 있다1-4). 이 연구들에서는 한의 정보를 문헌에 존재하는 원문 그대로의 형태가 아니라 데이터를 단위 요소로 나누고 데이터베이스 테이블이나 객체로 모델링하는 방법을 제안하였다. 이러한 데이터 정규화나 모델링은 사람이 정보를 직접 이용하기 위해서라기보다는 컴퓨터가 처리하기 쉽도록 하기 위해서 이루어진다. 정보 시스템에서 한의 정보를 처리할 때 이와 같이 데이터가 정규화 되는 경우 데이터를 저장할 때는 정보를 분해해서 저장하고 검색 시에는 분해된 정보를 연결해서 보여줘야 하는 과정이 필요하다. 예를 들어 처방을 데이터베이스에 저장하는 경우 처방명, 출전, 구성약재, 효능, 주치 등을 나누어서 저장할 수 있는데 다시 검색해서 가져오는 경우 이 다섯 가지 요소를 다시 합해서 보여줘야 한다. 또한 처방을 검색해서 보여주는 과정에서 만약 처방들 간에 동일한지 상이한지 비교를 해야 하는 경우 다섯 가지 요소들을 하나씩 같은지 다른지 비교해야 한다.

일반적으로는 처방을 비교할 때 어떤 출전의 어떤 처방인지를 가지고 비교한다. 하지만 문헌에 따라서 동일 출전이라도 서로 다른 처방이 존재한다. 예를 들어 東醫寶鑑의 當歸補血湯의 경우, 方藥合編5)에 나오는 東醫寶鑑當歸補血湯은 구성약재로 藁本, 當歸, 蔓荊子, 防風, 白芍藥, 生乾地黃酒洗, 柴胡, 川芎, 片芩酒炒, 荊芥를 가진다. 반면에 동의방제와처방해설6) p.275에 나오는 東醫寶鑑當歸補血湯은 甘草, 當歸, 白茯苓, 白芍藥, 白朮, 生地黃, 熟地黃, 人蔘, 陳皮, 梔子炒, 麥門冬의 구성약재를 가진다. 이는 두 처방이 서로 다른 효능과 주치를 가지기 때문에 구성약재도 다른 경우이다. 따라서 두 처방이 어떻게 다른지 감별하기 위해서는 출전과 구성약재뿐만 아니라 효능과 주치가 어떻게 다른지 비교해 보아야 한다. 하지만 대부분의 한의 정보 시스템에서는 개별 처방의 정보를 효율적으로 검색하고 보여주는 기능들만 제공하며 두 처방 간에 어떤 부분이 동일하고 어떤 부분이 다른지 감별할 수 있는 기능을 제공하지 않고 있다.

정보 시스템에서 두 객체를 비교하는 경우 데이터를 코드로 처리하기 때문에 문자가 조금이라도 다르면 두 객체가 서로 다르다고 처리하게 된다. 예를 들어 동의방제와처방해설의 p.234에 나오는 東醫寶鑑麻黃湯은 구성약재로 甘草炙, 桂枝去皮, 麻黃去節, 杏仁去皮尖炙를 가지며 동의방제와처방해설의 244페이지에 나오는 東醫寶鑑麻黃湯은 구성약재로 甘草, 桂枝, 麻黃, 杏仁을 가진다. 이 두 처방은 한의사가 보기에는 동일한 출전의 동일한 구성약재를 가지는 麻黃湯이라고 할 수 있다. 하지만 구성약재의 수치가 다르기 때문에 정보 시스템에서는 다른 처방으로 처리하게 된다. 이와 같이 두 처방이 어떤 부분이 동일하고 상이한지 비교하는 경우 단순히 문자열만 비교하는 것이 아니라 정보를 정규화하고 정규화된 지식을 처리할 수 있어야 한다.

본 연구에서는 한의 온톨로지7)를 기반으로 온톨로지 내의 두 객체를 비교하고 감별할 수 있는 감별 시스템8)을 설계하고 구현하였다. 특히 한의 온톨로지에서 처방, 약재, 경혈에 대해서 두 처방, 두 약재, 두 경혈들 간에 어떤 부분이 동일하고 상이한지 감별할 수 있는 감별 시스템을 설계하고 구현하였다. 본 연구에서 구축한 감별 시스템은 기존 한의 정보 시스템에서와 같이 단순히 정보를 검색하고 보여주는 것이 아니라 정보들 간에 어떤 공통점과 차이점이 있는지 한 눈에 비교할 수 있도록 하며 또한 단순히 문자열 비교가 아니라 온톨로지를 기반으로 내재된 지식을 처리하여 지능적인 정보 비교가 가능하도록 하고자 하였다.

 

연구대상 및 방법

감별 시스템에서 감별에 이용하는 한의 정보는 한의 온톨로지의 것을 이용한다. 한의 온톨로지는 약재, 처방, 병증, 침구경혈을 중심으로 한의학 지식을 모델링한 온톨로지이며, 설계된 모델을 기반으로 한의학 교과서 데이터가 구축이 되어 있다. 현재 한의 온톨로지 구축에 이용된 서적은 아래 표와 같다.

Table 1List of books used in Korean medicine ontology

한의 온톨로지 지식 중에서 감별에 사용되는 객체는 처방, 약재, 경혈로 한정하였다. 병은 병 객체 감별시 한의사의 복잡한 변증 과정이 필요하기 때문에 제외하였다. 효능과 증상 객체는 다른 처방, 약재, 경혈에서 참조되는 정보는 있어도 객체 자체가 가지고 있는 정보가 없기 때문에 직접적인 비교 대상이 될 수 없다. 대신 효능이나 증상이 어떤 약재, 처방, 경혈에서 사용되는지 비교해볼 수 있다.

본 연구에서는 크게 두 가지 타입의 감별 시나리오를 구현하였다. 하나는 Fig. 1과 같이 두 개의 약재 또는 두 개의 처방 또는 두 개의 경혈이 입력되었을 때 입력된 두 객체가 가지고 있는 정보들 간에 공통점과 차이점을 보여주는 시나리오이다. 다른 하나는 Fig. 2와 같이 한 개 또는 두 개의 효능, 주치, 증상이 입력되었을 때 입력된 두 객체가 어떤 처방, 약재, 경혈에서 참조되는지 감별하는 시나리오이다.

Fig. 1.Scenario of distinction of formulas, medicinal materials, and acupuncture points.

Fig. 2.Scenario of distinction of effects, treatments, and symptoms.

 

결 과

본 연구에서 구현한 감별시스템의 화면은 아래 Fig. 3과 같다. 상단의 입력란에 감별하고 싶은 객체를 입력하고 감별 버튼을 클릭하면 하단에 감별 결과가 나온다. 입력 개수는 공백의 개수로 구별된다. 만약 세 개 이상을 입력하면 두 개 이하를 입력하라는 오류 메시지를 보여주며 한 개를 입력했을 때 처방, 효능, 주치가 아닌 경우는 두 개 이상 입력하라고 오류 메시지를 보여준다.

Fig. 3.Main page of our distinction system.

Fig. 4.List of formulas.

Fig. 5.Result of distinction of 當歸補血湯.

1. 처방, 약재, 경혈 감별 시나리오

Fig. 3에서 當歸補血湯이라고 입력하고 감별 버튼을 클릭하면 키워드가 처방이기 때문에 Fig. 1의 감별 시나리오에 따라서 감별이 진행된다. 온톨로지에는 처방의 출전과 출처에 따라서 동일 이름을 가지는 여러 개의 當歸補血湯이 존재하므로 Fig. 4와 같이 출전(원출전), 출처, 페이지에 따라서 當歸補血湯의 리스트가 보여진다. 각 항목의 오른쪽에는 해당 처방이 구성약재, 효능, 주치를 가지는지 여부를 표시하였다. 여러 當歸補血湯들 중에서 東醫寶鑑(古今醫鑑) 方藥合編처방과 東醫寶鑑(回春) 동의방제와 처방해설 p.275 처방을 감별하고 싶어 선택하면 Fig. 5와 같이 새로운 탭이 생기면서 두 처방의 감별 내용을 보여준다.

처방에서 감별하는 항목은 출전, 출처, 구성약재, 효능, 주치이며 각 항목마다 동일한 항목과 상이한 항목을 구분해서 보여준다. 두 처방의 감별시에는 원출전은 비교하지 않았다. 상단에 동일항목 강조 또는 상이항목 강조 버튼을 클릭하면 동일항목만 보여주거나 상이항목만 보여줌으로써 사용자가 두 처방을 쉽게 비교할 수 있도록 하였다. 구성약재, 효능, 주치의 각 항목을 클릭하면 상세 정보를 볼 수 있는데 상세 정보는 시맨틱 검색 시스템9,10)으로의 링크를 통해 제공된다. 맨 왼쪽의 구성약재, 효능, 주치 컬럼에는 체크박스가 존재한다. 구성약재의 체크박스는 수치약재의 처리여부에 대한 것이다. 체크하면 生乾地黃酒洗을 地黃으로, 片芩酒炒을 黃芩으로, 梔子炒를 梔子로 변환해서 비교를 하게 되며 체크하지 않으면 수치약재의 문자열을 그대로 비교하게 된다. 효능과 주치의 체크박스는 효능과 주치 용어의 분해 여부에 대한 것이다. 한의 온톨로지는 데이터 구축시 효능과 주치를 원문에 있는 그대로 입력하였다. 이후에 각각의 효능과 주치에 대해서 한의사의 분해 작업을 수행11,12)한 후 온톨로지에 관련 정보를 추가하였다. 효능과 주치의 체크박스는 이러한 분해된 지식을 보여줄지 말지에 대한 것이다. 즉, 체크하면 분해 전 효능과 주치가 아니라 분해 후의 효능과 주치를 보여주며, 체크하지 않으면 분해 전의 효능과 주치를 보여준다. 또한 구성약재, 효능, 주치의 체크박스를 선택할 때마다 선택 여부에 따라 동일항목과 상이항목이 동적으로 바뀌도록 하였다. 하지만 Fig. 4의 예제에서는 동일한 항목이 없어서 체크박스를 선택하지 않았다.

만약 감별 결과 중에서 두 개의 항목을 선택해서 추가로 감별하고 싶은 경우가 있을 수 있다. 그러나 각 항목들이 이미 시맨틱 검색 시스템으로의 링크로 연결되어 있기 때문에 일반적인 클릭을 통한 선택이 아닌 다른 선택 방법이 필요하다. 본 시스템에서는 시맨틱 검색 시스템의 링크 클릭과 추가 감별항목 선택을 위한 링크 클릭을 구별하기 위해서 왼쪽 상단에 추가 감별항목 선택 버튼을 두었다. 만약 사용자가 이 버튼을 클릭하지 않고 항목을 클릭하면 시맨틱 검색 시스템으로 이동하게 되며 버튼을 클릭한 후 항목을 클릭하면 추가 감별을 하기 위한 항목 선택 클릭으로 인식하도록 하였다. 사용자가 이 버튼이 클릭되었는지 아닌지를 구분할 수 있도록 추가 감별항목 선택 모드로 들어간 경우 전체 테이블의 투명도를 약간 흐리게 하였다. 테이블이 흐릿하게 바뀐 상태에서 감별할 항목을 선택하면 선택한 항목만 강조가 된다. 이 경우 다른 종류의 항목을 감별하는 것은 의미가 없기 때문에 동일한 종류의 항목만 선택해야 하도록 하였다.

Fig. 5의 구성약재들 중에서 地黃과 生地黃두 개를 클릭하면 새로운 탭이 생성되면서 Fig. 6과 같이 선택한 두 개의 약재를 감별한 결과가 나온다. 약재에서 감별하는 항목은 분류, 효능, 주치, 관련변증, 성, 미, 귀경, 약용부위이며 처방과 마찬가지로 각 항목마다 동일한 항목과 상이한 항목을 구분해서 보여준다. 또한 효능과 주치 컬럼에 체크박스가 존재해서 분해 전과 분해 후의 정보를 비교해볼 수 있다.

또한 처방과 약재와 유사하게 경혈의 경우 경락, 약호, 혈성, 주치 정보를 비교할 수 있으며 본 논문에서는 예제는 생략한다.

Fig. 6.Distinction result of rehmannia root and raw rehmania root.

2. 효능, 주치, 증상 감별 시나리오

Fig. 7은 발한산한과 발한해표 두 개의 효능을 입력하고 감별했을 때 나오는 그림이다. 효능과 주치, 증상 용어가 입력되면 온톨로지에 분해된 용어가 있는지 체크를 하게 된다. 發汗散寒은 發汗과 散寒으로, 發汗解表는 發汗과 解表로 분해된 용어가 온톨로지에 존재한다. 이 시나리오에서는 분해 전 용어와 분해 후 용어들에 대해서 참조되는 처방, 약재, 경혈을 보여줌으로써 한의사가 특정 효능이나 주치가 어떤 처방이나 약재나 경혈에서 사용되는지 비교하고 감별할 수 있도록 하는데 목적이 있다. 필요한 경우 이전 시나리오와 마찬가지로 처방, 약재, 경혈을 클릭해서 상세 정보를 볼 수 있으며 결과 내에서 감별항목을 선택 후 추가 감별이 가능하다.

감별 내용이 나오는 순서는 우선 입력한 키워드의 조합이 나오고 다음에 분해된 용어의 조합이 나오도록 했으며 용어의 조합 개수가 많을수록 위에 나오도록 하였다. 또한 많은 수의 조합에서 이미 나온 처방, 약재, 경혈은 적은 수의 조합에서는 중복되므로 보이지 않도록 하였는데 상단의 중복제거 체크박스를 해제하면 중복제거 없이 모두 보이게 된다. 예를 들어 발한산한과 발한해표를 입력한 경우 (1)發汗散寒發汗解表(2)發汗散寒(3)發汗解表(4)發汗散寒解表(5)發汗散寒(6)散寒解表(7)發汗解表(8)發汗(9)散寒(10)解表순서로 감별 내용이 보이며, 發汗散寒의 처방으로 傷寒論麻黃湯이 존재하는데 분해된 용어인 發汗과 散寒에서는 傷寒論麻黃湯이 나오지 않도록 하였다.

주치나 증상 용어는 효능과 동일한 방법으로 감별이 가능하며, 본 논문에서 예제는 생략하였다. 또한 효능, 주치, 증상 감별 시나리오는 입력한 두 객체의 차이점을 감별하는 것이 아니기 때문에 한 개의 용어만 입력해도 감별 결과가 나오도록 하였다.

Fig. 7.Distinction result of promoting sweating and dissipating cold and promoting sweating to release the exterior.

 

고 찰

본 연구에서 제안한 한의 지식을 감별하는 기능은 진료 과정에서 유용하게 사용될 수 있다. 예를 들어 오한, 발열, 두통 등을 가지는 환자에 대해서 麻黃湯을 처방하는 경우 동의보감의 麻黃湯을 처방할지 상한론의 麻黃湯을 처방할지 감별 시스템을 이용해서 쉽게 비교해볼 수 있다. 또는 麻黃湯을 처방할지 麻黃湯과 유사한 효능을 가지는 대청룡탕을 처방할지도 쉽게 비교해 볼 수 있다. 또한 감별 결과에서 추가로 감별도 가능하며, 구성약재의 수치 여부나 효능과 주치 및 증상 용어의 분해 여부에 따라서 유사한지 상이한지 손쉽게 비교해볼 수 있는 장점이 있다.

물론 진료 이외에도 한의 정보 검색 시스템을 포함해 여러 애플리케이션에서 두 객체를 감별하기 위해 본 연구에서 구축한 감별 시스템을 이용할 수 있다. 다른 웹 기반 시스템에서 http://cis.kiom.re.kr/distinction/q?uri=EF發汗散寒%20EF發汗解表와 같이 감별시스템을 호출하면 감별 결과가 웹브라우저에서 보이도록 하였다. 호출문의 앞부분은 본 시스템의 주소이고 뒷부분은 감별하고자 하는 객체의 ID이며 객체가 두 개인 경우 이를 구별하기 위해서 공백(%20)을 넣었다.

현재 감별 시스템은 한의 온톨로지 지식을 기반으로 하고 있기 때문에 한의 온톨로지가 가지고 있는 객체들에 대해서만 감별이 가능하다는 제약이 있다. 하지만 본 연구에서 제안한 시나리오 및 감별 기능들은 다른 데이터베이스를 이용한 타 시스템에서도 응용이 가능할 것이다. 본 연구에서는 한의 온톨로지 데이터를 지속적으로 구축하고 있다. 최근 방약합편 처방들이 추가가 되었으며 다른 서적들도 추가하여 향후에는 좀 더 풍부한 정보를 제공할 수 있도록 할 계획이다.

또한 감별시스템에서 감별하는 항목과 감별 시나리오는 처방, 약재, 경혈과 효능, 증상 및 주치가 연관된 처방, 약재, 경혈로 한정되어 있다. 병은 한의사의 변증이 필요한 것이기 때문에 감별에 큰 의미가 없어서 제외하였다. 한의 온톨로지에는 이외에 다른 항목들이 존재하는데 현재 정보가 부족하지만 향후에 정보가 추가되면 감별시스템에서도 이 추가된 지식을 감별할 수 있도록 할 계획이다.

 

결 론

한의감별시스템은 한의 온톨로지에 존재하는 두 객체가 어떤 부분이 동일하고 어떤 부분이 다른지 지능적으로 비교할 수 있는 방법을 제공함으로써 두 객체의 공통점과 차이점을 쉽게 감별할 수 있도록 한다. 기존 한의 정보 시스템들은 정보를 검색하고 검색된 결과를 효율적으로 제공하는 기능들을 제공하는데 반해 감별 시스템은 정보들을 식별하고 정보들 간에 어떤 공통점과 차이점이 있는지를 알 수 있도록 정보를 제공한다.

References

  1. 김정훈, 이병욱. DB를 활용한 方劑의 類方分析방법 설계. 대한한의학원전학회지 21(1):143-151, 2008.
  2. 이병욱, 심범상, 엄동명. 한의학 용어관리 시스템을 결합한 고전원문 제공 서비스에 관한 연구. 대한한의학원전학회지 22(4):167-176, 2009.
  3. 김현호, 홍효신, 유제혁, 권오민, 차웅석. 객체지향형 처방 데이터베이스의 구축과 처방 검색 프로그램의 설계 및 개발. 한국한의학연구원논문집 17(2):73-84, 2011.
  4. Jang, H.C., Kim, J.H., Kim, S.K., Kim, C., Bae, S.H., Kim, AN., Eom, D.M., Song, M.Y. Ontology for medicinal materials based on traditional Korean medicine. Bioinformatics. 26(18):2359-2360, 2010. https://doi.org/10.1093/bioinformatics/btq424
  5. 신민교 편저. 방약합편. 서울. 영림사. 2003.
  6. 윤용갑. (도해증보)동의방제와 처방해설. 서울. 의성당. 2007.
  7. 한국한의학연구원. 온톨로지 기반 한의학 지능형 정보체계 연구. 2012년 연차보고서, 2012.
  8. 감별 시스템. http://cis.kiom.re.kr/distinction
  9. 시맨틱 검색 시스템. http://cis.kiom.re.kr/semantic
  10. 김상균, 박동훈, 김안나, 오용택, 김지영, 예상준, 김철, 장현철. 한의 온톨로지 기반 시맨틱 검색 시스템. 한국콘텐츠학회논문지 12(12):533-543, 2012.
  11. 김안나, 오용택, 김상균, 서진순, 장현철. 용어분해 지원도구를 활용한 (약재처방) 주치분해 연구. 대한동의생리병리학회지 27(4):362-366, 2013.
  12. 오용택, 김안나, 김상균, 서진순, 장현철. 한의 기초 이론을 이용한 치법-증상 조합 분류, 체계화 연구. 대한동의생리병리학회지 27(4):383-390, 2013.