특정 도메인 임베딩 학습에 도움이 되는 Domain BERT 중에서, 의학 분야에 관련된 ClinicalBERT, BioBERT, BlueBERT를 간단하게 정리해보았다.
✅ ClinicalBERT
📍개요
임상 기록과 같은 의료 도메인에서의 자연어 처리(NLP) 성능을 높이기 위해 개발된 모델이다. BERT의 기본 구조를 유지하되, 의료 데이터셋에 특화된 전처리와 추가 학습을 통해 의료 도메인에 맞춤화되었다.
📍특징
전자 건강 기록(Electronic Health Records, EHR) 데이터를 포함한 임상 텍스트로 추가 학습된 모델으로, 임상 기록의 독특한 구조와 문맥을 이해할 수 있도록 설계되어 의료 용어와 문맥을 효과적으로 처리할 수 있는 능력을 제공한다.
- BERT와 동일한 트랜스포머 기반의 구조를 가지며, 상위 계층에서 의료 용어 및 구체적 상황을 이해할 수 있다.
- MedNLI (Medical Natural Language Inference) 데이터셋을 포함한 임상 데이터에 최적화되어 있으며, 의학적 추론을 필요로 하는 작업에 적합하다.
- 임상 메모의 콘텍스트 표현을 이해하는 것은 자체 문법 구조, 약어 및 전문 용어와 관련되어 난이도가 높은데, ClinicalBERT에서는 임상 통찰력, 임상 기록 요약, 질병 치료 간의 관계 등을 이해하는데 도움이 된다.
📍사전 학습: 마스킹된 단어 및 다음 문장 예측 등

MLM과 NSP 태스크를 이용해 사전학습 되는데, 다음과 같은 두 가지 주요 작업을 수행한다.
- MLM (Masked Language Modeling): 입력된 문장에서 몇몇 단어를 마스킹 처리한 후, 이 마스크된 단어가 무엇인지를 모델이 예측하도록 학습한다. 예를 들어, "환자는 [MASK] 증상을 보였다"라는 문장이 주어졌을 때, 모델은 '발열'과 같은 적절한 단어를 예측하려고 한다. 이렇게 함으로써 문장의 문맥적 의미를 파악할 수 있게 된다.
- NSP (Next Sentence Prediction): 두 개의 문장이 주어졌을 때, 두 번째 문장이 첫 번째 문장의 다음에 올지 여부를 예측하는 작업이다. 이를 통해 문장 간 관계를 이해하는 능력을 모델에 학습시킨다.
📍Fine-tuning

사전 학습이 완료된 후, ClinicalBERT는 특정 다운스트림 작업에 맞춰 fine-tuning 과정을 거친다. 대표적인 예로는 "환자의 재입원 확률을 예측하는 작업을 하기위한, 모델의 추가학습"이다. 내용은 아래와 같다. (나는 이 fine-tuning을 medical coding으로 진행하는 것이다.)
- 임상 메모 입력: 파인 튜닝된 ClinicalBERT는 환자의 임상 기록(노트)을 입력받는다. 이 기록은 문맥적 정보와 함께 모델의 내부 표현으로 변환된다.
- CLS 토큰 활용: BERT 기반 모델에서는 문장의 시작에 [CLS]라는 특별한 토큰이 있는데 이 토큰은 문장의 전체 의미를 대표하는 역할을 하며, 파인 튜닝 작업에서는 이 토큰의 표현을 사용한다.
- 분류기 적용: [CLS] 토큰의 표현은 추가적인 분류기 (feed forward 네트워크와 sigmoid 함수)로 입력되어, 환자가 30일 이내에 병원에 재입원할 확률을 예측하는 확률값을 반환한다.
✅ BioBERT
📍개요
BERT 모델을 생명 의학 및 생명 과학 도메인에 맞게 확장한 모델으로 BERT의 구조를 그대로 사용하되 대규모 바이오메디컬 문헌을 이용해 사전 학습되어 생명과학 관련 작업에서 높은 성능을 보인다.
📍특징
BioBERT는 PubMed 및 PMC(PubMed Central) 논문 데이터베이스에서 대규모로 사전 학습된 모델이다. BERT의 초기 학습을 기반으로 바이오메디컬 도메인에 맞춰 추가 학습되었으며, 특히 바이오메디컬 Entity 인식(NER), 관계 추출, 질문 응답 시스템 등의 작업에서 우수한 성능을 발휘한다.
- PubMed 및 PMC 논문 데이터베이스의 문서를 학습하여, 일반 언어와 달리 바이오메디컬 도메인에서 흔히 등장하는 용어와 표현을 잘 이해한다.
- 도메인 특화된 데이터로 인해 생물의학 문헌을 처리하는 과제에서 우수한 성과를 낸다.
- 주로 Named Entity Recognition (NER), Relation Extraction (RE), Question Answering (QA) 작업에서 사용된다.
📍사전학습
- 사전 학습 과정: BioBERT는 기존 BERT 모델을 Wikipedia와 BooksCorpus 같은 일반 도메인 데이터로 학습한 후, PubMed와 PMC 논문 데이터로 추가 학습되었다. 그래서 Bio-Medical 도메인의 용어와 관계를 더 잘 이해할 수 있도록 도와준다.

- 학습된 데이터: PubMed에는 450만 개의 논문 초록이 포함되어 있으며, PMC는 무료로 공개된 생의학 및 생명 과학 연구 논문이 포함된 데이터베이스이다.
📍적용 TASK
- Named Entity Recognition (NER): NER은 텍스트에서 중요한 개체(예: 질병, 약물, 유전자 등)를 인식하고 분류하는 작업으로, BioBERT는 이 작업에서 높은 성능을 보여준다. NER 태스크에 사용되는 데이터셋으로는 NCBI 질병 데이터, BC5CDR 약물 및 화학 데이터셋 등이 있다.
- 질병과 관련된 Entity 인식: NCBI, 2010 i2b2/VA, BC5CDR
- 약물 및 화학과 관련된 Entity 인식: BC5CDR, BC4CHEHD
- 유전자와 관련된 Entity 인식: BC2GM, JNLPBA

- Relation Extraction (RE): RE는 텍스트 내에서 두 개체 간의 관계를 추출하는 작업이다. 예를 들어, 특정 약물이 어떤 질병을 치료하는지를 연관짓거나, 단백질 간의 상호작용을 추출하는 데 사용되며 BioBERT는 [CLS] 토큰의 표현을 사용해 관계를 분류한다.
- 이를 파인튜닝하기 위해, 논문에서는 BioRelEx라는 데이터 셋을 사용해서 Chemical-Disease, Protein-Protein, Gene-Disease의 관계를 탐지했다.
- Question Answering (QA): BioASQ 같은 데이터셋을 통해 훈련되어, 질문에 대한 정확한 답변을 찾는 데 활용된다.
✅ BlueBERT
📍개요
의료 및 생명과학 도메인에 특화된 BERT 모델으로, ClinicalBERT와 유사하게 전자 건강 기록(EHR)과 PubMed 데이터셋을 활용하여 사전 학습되었다. 그러나 BlueBERT의 사전 학습은 PubMed 초록과 MIMIC-III 데이터 세트의 임상 노트라는 두 가지 유형의 텍스트 데이터에서의 학습이 포함되어 있다.
📍특징
BlueBERT는 EHR 데이터 및 PubMed 논문을 학습 데이터로 사용하여 의료 및 임상 데이터에서의 성능을 최적화하였다. 이를 통해 의료 전문가가 사용하는 특정 용어와 문맥을 이해하는 데 뛰어난 성능을 발휘한다.
- BioBERT와의 차이점은 BlueBERT는 EHR 데이터와 PubMed 데이터를 결합해 학습한다는 점이다. 이를 통해 임상 텍스트와 연구 문헌을 모두 다룰 수 있는 능력을 가진다.
- 임상 언어와 연구 논문 모두에서 사용되는 문맥적 지식을 학습했기 때문에 임상 문서 처리에 최적화되어 있다.
- 임상 노트에 대해서만 사전 학습된 ClinicalBERT와 달리 BlueBERT는 PubMed 초록과 MIMIC-III 데이터 세트의 임상 노트를 조합하여 사전 학습된다. 이 접근 방식을 통해 BlueBERT는 더 광범위한 생물의학 및 임상 지식을 포착하여 더 다양한 작업에서 우수한 성능을 발휘할 수 있다.
나는 세 모델 중에 ClinicalBERT 모델이 가장 성능이 좋았다. 당연히 BlueBERT가 좋을 것 같았는데...?왜 그런지..잘 납득이 안가서...이유도 분석해봐야 할 것 같다.
'Project > Medical coding' 카테고리의 다른 글
1. 아무도 하지 않아 내가 해보는 Medical Coding 프로젝트 (0) | 2024.09.24 |
---|
특정 도메인 임베딩 학습에 도움이 되는 Domain BERT 중에서, 의학 분야에 관련된 ClinicalBERT, BioBERT, BlueBERT를 간단하게 정리해보았다.
✅ ClinicalBERT
📍개요
임상 기록과 같은 의료 도메인에서의 자연어 처리(NLP) 성능을 높이기 위해 개발된 모델이다. BERT의 기본 구조를 유지하되, 의료 데이터셋에 특화된 전처리와 추가 학습을 통해 의료 도메인에 맞춤화되었다.
📍특징
전자 건강 기록(Electronic Health Records, EHR) 데이터를 포함한 임상 텍스트로 추가 학습된 모델으로, 임상 기록의 독특한 구조와 문맥을 이해할 수 있도록 설계되어 의료 용어와 문맥을 효과적으로 처리할 수 있는 능력을 제공한다.
- BERT와 동일한 트랜스포머 기반의 구조를 가지며, 상위 계층에서 의료 용어 및 구체적 상황을 이해할 수 있다.
- MedNLI (Medical Natural Language Inference) 데이터셋을 포함한 임상 데이터에 최적화되어 있으며, 의학적 추론을 필요로 하는 작업에 적합하다.
- 임상 메모의 콘텍스트 표현을 이해하는 것은 자체 문법 구조, 약어 및 전문 용어와 관련되어 난이도가 높은데, ClinicalBERT에서는 임상 통찰력, 임상 기록 요약, 질병 치료 간의 관계 등을 이해하는데 도움이 된다.
📍사전 학습: 마스킹된 단어 및 다음 문장 예측 등

MLM과 NSP 태스크를 이용해 사전학습 되는데, 다음과 같은 두 가지 주요 작업을 수행한다.
- MLM (Masked Language Modeling): 입력된 문장에서 몇몇 단어를 마스킹 처리한 후, 이 마스크된 단어가 무엇인지를 모델이 예측하도록 학습한다. 예를 들어, "환자는 [MASK] 증상을 보였다"라는 문장이 주어졌을 때, 모델은 '발열'과 같은 적절한 단어를 예측하려고 한다. 이렇게 함으로써 문장의 문맥적 의미를 파악할 수 있게 된다.
- NSP (Next Sentence Prediction): 두 개의 문장이 주어졌을 때, 두 번째 문장이 첫 번째 문장의 다음에 올지 여부를 예측하는 작업이다. 이를 통해 문장 간 관계를 이해하는 능력을 모델에 학습시킨다.
📍Fine-tuning

사전 학습이 완료된 후, ClinicalBERT는 특정 다운스트림 작업에 맞춰 fine-tuning 과정을 거친다. 대표적인 예로는 "환자의 재입원 확률을 예측하는 작업을 하기위한, 모델의 추가학습"이다. 내용은 아래와 같다. (나는 이 fine-tuning을 medical coding으로 진행하는 것이다.)
- 임상 메모 입력: 파인 튜닝된 ClinicalBERT는 환자의 임상 기록(노트)을 입력받는다. 이 기록은 문맥적 정보와 함께 모델의 내부 표현으로 변환된다.
- CLS 토큰 활용: BERT 기반 모델에서는 문장의 시작에 [CLS]라는 특별한 토큰이 있는데 이 토큰은 문장의 전체 의미를 대표하는 역할을 하며, 파인 튜닝 작업에서는 이 토큰의 표현을 사용한다.
- 분류기 적용: [CLS] 토큰의 표현은 추가적인 분류기 (feed forward 네트워크와 sigmoid 함수)로 입력되어, 환자가 30일 이내에 병원에 재입원할 확률을 예측하는 확률값을 반환한다.
✅ BioBERT
📍개요
BERT 모델을 생명 의학 및 생명 과학 도메인에 맞게 확장한 모델으로 BERT의 구조를 그대로 사용하되 대규모 바이오메디컬 문헌을 이용해 사전 학습되어 생명과학 관련 작업에서 높은 성능을 보인다.
📍특징
BioBERT는 PubMed 및 PMC(PubMed Central) 논문 데이터베이스에서 대규모로 사전 학습된 모델이다. BERT의 초기 학습을 기반으로 바이오메디컬 도메인에 맞춰 추가 학습되었으며, 특히 바이오메디컬 Entity 인식(NER), 관계 추출, 질문 응답 시스템 등의 작업에서 우수한 성능을 발휘한다.
- PubMed 및 PMC 논문 데이터베이스의 문서를 학습하여, 일반 언어와 달리 바이오메디컬 도메인에서 흔히 등장하는 용어와 표현을 잘 이해한다.
- 도메인 특화된 데이터로 인해 생물의학 문헌을 처리하는 과제에서 우수한 성과를 낸다.
- 주로 Named Entity Recognition (NER), Relation Extraction (RE), Question Answering (QA) 작업에서 사용된다.
📍사전학습
- 사전 학습 과정: BioBERT는 기존 BERT 모델을 Wikipedia와 BooksCorpus 같은 일반 도메인 데이터로 학습한 후, PubMed와 PMC 논문 데이터로 추가 학습되었다. 그래서 Bio-Medical 도메인의 용어와 관계를 더 잘 이해할 수 있도록 도와준다.

- 학습된 데이터: PubMed에는 450만 개의 논문 초록이 포함되어 있으며, PMC는 무료로 공개된 생의학 및 생명 과학 연구 논문이 포함된 데이터베이스이다.
📍적용 TASK
- Named Entity Recognition (NER): NER은 텍스트에서 중요한 개체(예: 질병, 약물, 유전자 등)를 인식하고 분류하는 작업으로, BioBERT는 이 작업에서 높은 성능을 보여준다. NER 태스크에 사용되는 데이터셋으로는 NCBI 질병 데이터, BC5CDR 약물 및 화학 데이터셋 등이 있다.
- 질병과 관련된 Entity 인식: NCBI, 2010 i2b2/VA, BC5CDR
- 약물 및 화학과 관련된 Entity 인식: BC5CDR, BC4CHEHD
- 유전자와 관련된 Entity 인식: BC2GM, JNLPBA

- Relation Extraction (RE): RE는 텍스트 내에서 두 개체 간의 관계를 추출하는 작업이다. 예를 들어, 특정 약물이 어떤 질병을 치료하는지를 연관짓거나, 단백질 간의 상호작용을 추출하는 데 사용되며 BioBERT는 [CLS] 토큰의 표현을 사용해 관계를 분류한다.
- 이를 파인튜닝하기 위해, 논문에서는 BioRelEx라는 데이터 셋을 사용해서 Chemical-Disease, Protein-Protein, Gene-Disease의 관계를 탐지했다.
- Question Answering (QA): BioASQ 같은 데이터셋을 통해 훈련되어, 질문에 대한 정확한 답변을 찾는 데 활용된다.
✅ BlueBERT
📍개요
의료 및 생명과학 도메인에 특화된 BERT 모델으로, ClinicalBERT와 유사하게 전자 건강 기록(EHR)과 PubMed 데이터셋을 활용하여 사전 학습되었다. 그러나 BlueBERT의 사전 학습은 PubMed 초록과 MIMIC-III 데이터 세트의 임상 노트라는 두 가지 유형의 텍스트 데이터에서의 학습이 포함되어 있다.
📍특징
BlueBERT는 EHR 데이터 및 PubMed 논문을 학습 데이터로 사용하여 의료 및 임상 데이터에서의 성능을 최적화하였다. 이를 통해 의료 전문가가 사용하는 특정 용어와 문맥을 이해하는 데 뛰어난 성능을 발휘한다.
- BioBERT와의 차이점은 BlueBERT는 EHR 데이터와 PubMed 데이터를 결합해 학습한다는 점이다. 이를 통해 임상 텍스트와 연구 문헌을 모두 다룰 수 있는 능력을 가진다.
- 임상 언어와 연구 논문 모두에서 사용되는 문맥적 지식을 학습했기 때문에 임상 문서 처리에 최적화되어 있다.
- 임상 노트에 대해서만 사전 학습된 ClinicalBERT와 달리 BlueBERT는 PubMed 초록과 MIMIC-III 데이터 세트의 임상 노트를 조합하여 사전 학습된다. 이 접근 방식을 통해 BlueBERT는 더 광범위한 생물의학 및 임상 지식을 포착하여 더 다양한 작업에서 우수한 성능을 발휘할 수 있다.
나는 세 모델 중에 ClinicalBERT 모델이 가장 성능이 좋았다. 당연히 BlueBERT가 좋을 것 같았는데...?왜 그런지..잘 납득이 안가서...이유도 분석해봐야 할 것 같다.
'Project > Medical coding' 카테고리의 다른 글
1. 아무도 하지 않아 내가 해보는 Medical Coding 프로젝트 (0) | 2024.09.24 |
---|