Team Fusion@ SU@ BC8 SympTEMIST track: transformer-based approach for symptom recognition and linking
이 논문은 증강된 학습 데이터로 RoBERTa 기반의 BiLSTM-CRF 모델을 미세 조정하여 증상 인식 (NER) 을 수행하고, SapBERT 를 활용한 후보 생성 및 지식 기반과의 코사인 유사도 계산을 통해 엔티티 링크 (EL) 를 해결하는 트랜스포머 기반의 SympTEMIST 접근법을 제시합니다.
원저자:Georgi Grazhdanski, Sylvia Vassileva, Ivan Koychev, Svetla Boytcheva
이 논문은 스페인어 의료 기록에서 **'증상'**을 찾아내고, 그 증상이 어떤 표준적인 의학 용어에 해당하는지 연결하는 인공지능 시스템을 개발한 이야기입니다. 'Team Fusion@SU'라는 팀이 'SympTEMIST'라는 대회에 참가하여 만든 결과물인데, 복잡한 기술 용어 대신 일상적인 비유로 쉽게 설명해 드릴게요.
🏥 배경: 혼란스러운 의료 기록 정리하기
스페인어 병원 기록에는 "머리가 아프다", "어지럽다", "발진이 있다" 같은 증상들이 다양한 표현으로 쓰여 있습니다. 하지만 의학 시스템은 이를 통일된 표준 코드 (SNOMED CT) 로 정리해야 합니다. 이 작업은 크게 두 단계로 나뉩니다:
증상 찾기 (NER): 문장 속에서 "어지럽다"라는 단어를 찾아내는 것.
증상 연결 (EL): 찾아낸 "어지럽다"가 의학 표준에서 정확히 어떤 코드인지 매칭하는 것.
🕵️♂️ 1 단계: 증상 찾기 (증상 탐정)
이 단계는 마치 문장 속에서 숨어 있는 증상을 찾아내는 탐정과 같습니다.
주인공 (모델): 팀은 'RoBERTa'라는 거대 언어 모델을 사용했습니다. 이는 스페인어 의료 전문 서적을 수백 권이나 읽은 숙련된 의료 번역가와 같습니다.
비유: 번역가가 "어지럽다"를 보고 "아, 이건 증상이다!"라고 외치면, 보조견이 문맥을 다시 한번 확인하고 ("그전에 '약'을 먹었다"는 문장이 있었으니 맞나?), 검증관이 최종적으로 "네, 맞습니다"라고 도장을 찍어주는 방식입니다.
훈련 방법 (데이터 증강): 학습 데이터를 더 풍부하게 만들기 위해, "어지럽다"를 "현기증이 난다" 같은 동의어로 바꿔주는 변신 게임을 시켰습니다.
결과: 의료 전문 번역가 (RoBERTa) 가 가장 잘 작동했고, 보조견과 검증관을 붙인 덕분에 정확도가 더 올라갔습니다. 하지만, 이 번역가를 추가로 더 공부시키는 것 (사전 학습) 은 오히려 효과가 없었습니다.
🔗 2 단계: 증상 연결 (증상 매칭)
이 단계는 찾아낸 증상을 **의학 사전 (지식 베이스)**에 있는 정확한 코드와 연결하는 도서관 사서의 역할입니다.
주인공 (SapBERT): 이 사서는 두 언어를 동시에 잘 아는 사서입니다. 스페인어 증상과 영어/국제 표준 코드를 연결해 줍니다.
작동 원리:
후보군 찾기: 증상을 사전에서 찾아볼 만한 후보들을 나열합니다.
유사도 계산: 찾아낸 증상과 사전의 내용을 비교하여 "얼마나 비슷한가?"를 계산합니다. (코사인 유사도)
핵심 발견 (가장 중요한 점): 이 단계에서 어떤 사전을 쓰느냐가 성패를 가릅니다.
비유: 작은 동네 도서관 (기존 사전) 만 쓰면 50% 정도만 맞췄지만, 거대한 국립 도서관 (UMLS 등 다양한 자료를 합친 사전) 을 쓰면 59% 로 정확도가 크게 올랐습니다. 자료가 풍부할수록 사서가 더 똑똑해집니다.
긴 문장 처리: 증상이 매우 긴 문장으로 표현될 때, 문장 전체를 다 읽는 것보다 **문장의 앞부분 (75%)**에 집중하는 것이 더 정확하다는 것을 발견했습니다. 마치 긴 설명을 들을 때, 결론이 나오는 앞부분이 가장 중요하다는 것과 같습니다.
🏆 결론: 무엇이 가장 중요했나?
이 팀의 성공 비결은 다음과 같습니다:
전문가는 전문가가: 일반적인 모델보다 의료 전문으로 훈련된 모델이 증상을 찾는 데 훨씬 뛰어났습니다.
데이터의 양과 질: 증상을 찾을 때는 데이터를 다양하게 변형해서 훈련시키는 것이 도움이 되었고, 증상을 연결할 때는 **방대한 의학 사전 (지식 베이스)**을 사용하는 것이 가장 결정적이었습니다.
실수 교정: 마지막 실험에서 코딩 실수로 인해 사전이 망가져서 결과가 1% 로 뚝 떨어졌는데, 이는 "데이터가 망가지면 AI 도 무용지물"임을 보여줍니다.
한 줄 요약:
"의료 기록에서 증상을 찾아내는 일은 **숙련된 의료 번역가 (모델)**가 **보조견 (추가 레이어)**과 함께 하는 것이며, 그 증상을 표준으로 연결하는 일은 **가장 방대한 도서관 (지식 베이스)**을 가진 사서가 하는 일입니다. 데이터가 풍부하고 정확할수록 AI 는 더 똑똑해집니다."
이 연구는 인공지능이 의료 분야에서 의사를 도와 환자를 더 정확하게 진단할 수 있는 기반을 마련했다는 점에서 의미가 큽니다.
논문 요약: SympTEMIST 태스크를 위한 트랜스포머 기반 증상 인식 및 링크링 접근법
이 논문은 스페인어 임상 텍스트에서 증상 (symptoms), 징후 (signs), 소견 (findings) 을 탐지하고 SNOMED CT 코드로 정규화하는 SympTEMIST 공유 태스크에 참여하여 제안한 모델을 소개합니다. 팀 Fusion@SU 는 **이름 개체 인식 (NER, Subtask 1)**과 개체 링크링 (EL, Subtask 2) 두 가지 하위 태스크에 참여했습니다.
1. 문제 정의 (Problem)
목표: 스페인어 임상 기록에서 증상 관련 개체를 식별 (NER) 하고, 이를 SNOMED CT 표준 코드에 연결 (EL) 하는 것.
데이터: SympTEMIST 코퍼스는 1,000 개의 임상 사례 보고서로 구성되며, 750 개 문서 (학습용) 와 250 개 문서 (테스트용) 로 나뉩니다. 데이터는 SNOMED CT 코드와 다양한 별칭 (aliases) 이 포함된 사전 (gazetteer) 과 연결되어 있습니다.
도전 과제:
긴 텍스트의 토큰 제한 (512) 으로 인한 문장 분할 필요.
개체 링크링 시 SNOMED CT 코드가 할당되지 않은 경우 (NO_CODE) 처리.
희귀 개념 (rare concepts) 에 대한 지식 베이스의 부재 문제.
2. 방법론 (Methodology)
A. 이름 개체 인식 (Subtask 1 - NER)
전처리: SPACCC Sentence Splitter 를 사용하여 문장을 분할 (약 33% 의 텍스트가 512 토큰 제한을 초과함).
모델 아키텍처:
Base Model: 스페인어 의료/임상 도메인에 특화된 PlanTL-GOB-ES/roberta-base-biomedical-clinical-es (Spanish RoBERTa) 와 크로스-링구얼 모델인 CLIN-X-ES (XLM-RoBERTa 기반) 를 사용.
구조: Transformer 의 마지막 레이어 위에 **선형 레이어 (Linear Layer)**와 **조건부 무작위 필드 (CRF)**를 추가하여 토큰 분류 수행.
실험: 선형 레이어 앞에 2 층 BiLSTM을 추가하여 장기 의존성 (long-term dependencies) 을 포착하는지 실험.
데이터 증강 (Data Augmentation): 학습 데이터의 개체 언급을 스페인어 UMLS 동의어로 무작위 치환하여 1,672 개의 추가 문장을 생성.
사전 학습 (Pre-training): Spanish RoBERTa 모델을 UMLS 동의어 데이터셋으로 4 에포크 동안 추가 사전 학습 (Masked Language Modeling) 시도.
B. 개체 링크링 (Subtask 2 - Entity Linking)
접근 방식: 2 단계 프로세스.
후보 생성: 지식 베이스 (KB) 의 별칭과 언급 (mention) 매칭.
순위 매기기:SapBERT XLMR-Large 임베딩을 사용하여 KB 내 가장 가까운 별칭과 코사인 유사도 (Cosine Similarity) 계산.
지식 베이스 (KB) 구성: SympTEMIST gazetteer, 학습 세트, UMLS 스페인어 SNOMED-CT 별칭을 결합. 희귀 개념 (5 건 미만) 에 대해 임의의 문자를 추가/제거하여 증강된 데이터 생성.
긴 개체 언급 처리: 긴 텍스트의 경우, 전체 언급, 언급의 앞 75%, 뒤 75% 토큰에 대한 코사인 유사도를 가중치 (0.75, 0.17, 0.08) 를 두어 선형 결합한 점수로 최적 코드 선정 (Sliding Window 방식).
3. 주요 결과 (Results)
Subtask 1 (NER) 결과:
최고 성능 모델:Augmented Spanish RoBERTa + CRF 모델이 테스트 세트에서 F1 점수 0.725를 기록하여 가장 좋은 성능을 보임.
스페인어 의료 도메인에 특화된 RoBERTa 기반 모델이 크로스-링구얼 모델 (CLIN-X-ES) 보다 우세함.
BiLSTM 추가는 정밀도 (Precision) 와 재현율 (Recall) 을 모두 향상시켰으나, RoBERTa+CRF 단독 모델보다는 약간 낮은 성능을 보임.
데이터 증강은 정밀도와 F1 점수를 크게 향상시켰으나 재현율은 약간 감소시킴.
추가 사전 학습은 성능 향상에 유의미한 기여를 하지 못함.
Subtask 2 (Entity Linking) 결과:
최고 성능 모델:SapBERT XLMR-Large + (Gazetteer + Train + UMLS) KB 조합이 테스트 세트에서 **정확도 58.9%**를 기록.
지식 베이스의 중요성: 사용된 지식 베이스의 구성이 모델 정확도에 가장 큰 영향을 미침. UMLS 데이터를 추가한 KB 가 가장 좋은 결과를 냄.
Sliding Window: 긴 개체 언급 처리를 위한 슬라이딩 윈도우 방식은 기본 SapBERT 모델보다 약 2% 높은 성능을 보임.
예외: KB 생성 코드 버그로 인해 UMLS 를 포함한 일부 실험에서 정확도가 1% 대로 급락하는 오류 발생.
4. 주요 기여 및 결론 (Key Contributions & Significance)
도메인 특화 모델의 우위: 스페인어 임상 텍스트 처리에는 크로스-링구얼 모델보다 해당 언어와 도메인 (의료) 에 특화된 단일 언어 모델 (Spanish RoBERTa) 이 더 효과적임을 입증.
지식 베이스의 결정적 역할: 개체 링크링 성능은 모델 아키텍처 (SapBERT) 보다 사용된 지식 베이스의 풍부함에 의해 결정됨을 강조. UMLS 와 같은 외부 의료 용어 사전을 통합하는 것이 핵심 성공 요인.
데이터 증강의 효과: NER 태스크에서 동의어 기반 데이터 증강이 모델의 일반화 성능 (특히 정밀도) 을 향상시킴.
긴 텍스트 처리 전략: 긴 개체 언급에 대해 부분적 토큰 (앞/뒤 75%) 을 고려한 가중치 부여 방식이 유효함을 시사.
의의: 이 연구는 스페인어 임상 텍스트 분석을 위한 강력한 파운데이션 모델을 제시하며, 특히 의료 NLP 작업에서 도메인 특화 사전 학습과 고품질 지식 베이스 구축의 중요성을 재확인했습니다. 향후 희귀 개념 처리를 위한 지식 베이스 증강 기법과 긴 엔티티 처리를 위한 슬라이딩 윈도우 전략의 추가 연구가 필요함을 제안합니다.