Paper

Applying BioBERT to Extract Germline Gene-Disease Associations for Building a Knowledge Graph from the Biomedical Literature

한거루 2025. 6. 4. 20:05

https://arxiv.org/html/2309.13061v3

 

Applying BioBERT to Extract Germline Gene-Disease Associations for Building a Knowledge Graph from the Biomedical Literature

Certain genes that a person is born with protect us from developing cancer. Cancer susceptibility have mutations (i.e., have a DNA change that prevents their normal function), creating a higher risk of developing cancer. Looking for which mutated genes inc

arxiv.org

논문을 번역 및 요약합니다.

LLM으로 얻은 임베딩 값이 생물학적 의미가 있는지 어떻게 확인하고 검증했는지 확인하기 위해 살펴본 논문입니다.

본 게시물은 논문 본문 외에도 개인적으로 공부한 내용 + 🔹 gpt로 요약한 내용이 있으므로 주의가 필요합니다.

 


 

🔹 요약: 

  • BioBERT를 이용해 자동으로 지식 그래프(Knowledge Graph, KG) 를 구축을 목표
  • BioBERT 모델을 사용해 PubMed 초록에서 유전자와 질병 명칭을 추출하고, 이를 표준화한 다음
    해당 논문 ID(PubMed ID)와 연결하여 지식 그래프(SimpleGermKG)를 구축
  • 46,747개의 triple로 구성되어 있으며, 297개의 유전자, 130개의 질병, 8,987개의 PubMed ID가 포함

 

🔹 방법론(SimpleGermKG 시스템 구성)

4단계 파이프라인:

1️⃣ NER (Entity Recognition) BioBERT 모델 사용. 유전자: BC2GM corpus / 질병: NCBI disease corpus
2️⃣ NEN (Entity Normalization) 수작업으로 만든 gene/disease 사전과 string-matching으로 정규화
3️⃣ Semantic Relation PubMed ID 기준으로 gene-disease 쌍 연결 (GENES_IN, DISEASES_IN)
4️⃣ Knowledge Graph 구축 Neo4j를 이용해 저장 및 시각화

3. 주요 기술 요소

  • BioBERT: PubMed 기반 사전학습된 언어모델
  • PunktSentenceTokenizer: 문장 단위 토큰화를 위한 도구
    • 초록 전체 텍스트 900자가 있다고 하자, BERT모델은 최대 입력 길이가 512자이기 때문에, 쪼개는 것이 필요.
    • PunktSentenceTokenizer 을 이용해 문장 단위로 쪼갬
    • 문장을 bioBERT NER모델에 입력 -> 엔티티 추출
    • 문장마다 나온 유전자, 질병 등의 엔티티를 수집하여 이후 단계(NEN, relation linking 등)로 넘김
  • Neo4j: 그래프 DB 플랫폼
  • PART-WHOLE Relation: gene, disease와 PubMed ID 간의 관계를 시각적으로 명확히 표현하기 위한 방식

🔹 결과 요약

  • 데이터: 11,261개의 germline 관련 PubMed 초록, 114,311 문장
  • NER 결과: 약 2만 건 이상의 gene/disease 엔티티 추출
  • 최종 KG: 46,747 triples, PubMed ID 중심의 entity 연결

 

관계 추출 전략 (Semantic Relation 방식)

논문에서는 3가지 수준의 관계 추정 방식을 제안합니다:

1. 문서 수준 (Article-level co-occurrence)

  • 유전자와 질병이 **같은 문서(PubMed abstract)**에 등장하면 관계가 있다고 간주.
  • 이 경우, GENES_IN, DISEASES_IN이라는 관계로 PubMed ID와 연결함.
  • 예:
  •  
    PUBMED_12345 --GENES_IN--> BRCA1 PUBMED_12345 --DISEASES_IN--> Breast Cancer

2. 문장 수준 (Sentence-level co-occurrence)

  • 더 정밀한 기준. 동일한 문장 안에 등장할 경우 관계 가능성이 높다고 판단.
  • 이 방식은 나중에 직접적인 관계 추정(예: "BRCA1 mutations increase the risk of breast cancer")로 이어질 수 있음.

🔹 의의 및 향후 연구 방향

  • germline mutation 관련 문헌 기반 지식그래프 구축 사례가 드물다는 점에서 새로운 시도
  • 전자의무기록(EHR) 및 유전체 데이터와의 통합 가능성
  • NER/NEN 성능 향상을 위한 추가 pretraining 시도 예정
  • 향후 gene-disease 관계를 더 정교하게 분류하기 위한 BERT-based 관계 추론(Relation Classification) 접근도 고려 중

🔗 코드