ICD10 기반 퍼지 시간 논리 의료 전문가 시스템
초록
본 논문은 ICD‑10 코드를 활용한 의료 전문가 시스템을 설계·구현한다. 퍼지 시간 논리를 적용해 증상의 심각도와 가중치를 시간에 따라 동적으로 조정하고, 수정된 유클리드 거리와 Elders 알고리즘을 이용해 증상 군집을 형성한다. 최소 유사도 값을 질병 판정 기준으로 사용해 의사가 빠르고 정확하게 가능한 질환 리스트를 얻을 수 있다.
상세 분석
이 연구는 기존 의료 진단 과정이 시간·비용 면에서 비효율적이라는 문제점을 인식하고, 컴퓨터 기반 전문가 시스템을 통해 1차 진단을 지원하고자 한다. 핵심은 ICD‑10이라는 국제 표준 진단 코드를 지식 베이스의 골격으로 삼아, 증상‑질환 관계를 구조화한 점이다. 시스템은 두 가지 주요 차원을 도입한다. 첫째, 퍼지 논리를 이용해 각 증상의 심각도(severity)와 가중치(weight)를 0~1 사이의 연속값으로 표현한다. 이는 환자마다 증상의 강도가 다르고, 동일 증상이라도 질병에 따라 중요도가 달라지는 현실을 반영한다. 둘째, 시간적 변화를 고려한 퍼지 시간 논리를 적용해, 증상의 심각도와 가중치가 진단 시점에 따라 동적으로 변하도록 설계하였다. 예를 들어, 급성 발열은 초기에는 높은 가중치를 갖지만, 시간이 지나 회복 조짐이 보이면 가중치가 감소한다.
지식 베이스는 ‘사실(fact)’과 ‘규칙(rule)’ 두 층으로 구성된다. 사실은 증상 코드와 그에 대응하는 퍼지 값, 규칙은 “IF 증상 A(심각도 ≥ α) AND 증상 B(가중치 ≥ β) THEN 질환 X” 형태로 기술된다. 규칙 엔진은 전통적인 전방 추론(forward chaining) 방식을 사용하지만, 퍼지 값이 포함되므로 결과는 확률적·가능성 기반의 질환 리스트가 된다.
클러스터링 단계에서는 수정된 유클리드 거리(metric)를 사용한다. 여기서 거리 계산은 각 증상의 퍼지 심각도와 가중치를 차원으로 하여, 시간 가중치(time‑weight)를 곱해 시간적 중요성을 반영한다. Elders 알고리즘—전통적인 K‑means와 유사하지만, 클러스터 중심을 업데이트할 때 퍼지 멤버십을 고려하는 변형—을 적용해 증상 군집을 형성한다. 각 군집은 하나의 잠재적 질환에 매핑되며, 군집 내 평균 거리(유사도) 중 최소값을 해당 질환의 판정 점수로 채택한다. 최소 유사도 값이 사전에 정의된 임계값 이하이면 시스템은 해당 질환을 후보로 제시한다.
시스템 구현은 Java 기반 GUI와 MySQL 데이터베이스를 활용했으며, 사용자 인터페이스는 환자에게 증상 질문을 순차적으로 제시하고, 입력된 답변을 퍼지 변환 모듈에 전달한다. 실험에서는 200명 이상의 가상 환자 데이터를 이용해 15개의 일반 질환에 대해 테스트했으며, 평균 진단 정확도는 87%에 달했다. 특히 시간 가중치를 적용한 경우, 급성·만성 질환 구분에서 기존 정적 퍼지 시스템 대비 12% 향상이 관찰되었다.
한계점으로는 지식 베이스 구축에 상당한 도메인 전문가의 참여가 필요하고, ICD‑10 코드와 실제 임상 용어 사이의 매핑 오류 가능성이 있다. 또한, 퍼지 멤버십 함수와 시간 가중치 파라미터를 어떻게 최적화할지에 대한 체계적인 방법론이 부족하다. 향후 연구에서는 머신러닝 기반 파라미터 튜닝과 실시간 환자 데이터 스트리밍을 통한 적응형 학습을 도입해 시스템의 확장성과 정확성을 높일 계획이다.
댓글 및 학술 토론
Loading comments...
의견 남기기