본문 바로가기

책 정리/구글 Bert의 정석

BioBERT

BioBERT는 2019년 Bioinformatics라는 저널에 올라온 한국인이 작성한 논문이다.

 

Abstract

- BioBERT가 등장하기 이전 biomedical domain에서의 NLP를 활용한 textmining 연구는 좋은 성과를 거두지 못했다.

 

생명과학 분야에서의 텍스트 마이닝

더보기

생명 과학 분야에서의 텍스트 마이닝은 대체로 바이오데이터에서 유용한 정보를 추출하거나, 생물학 연구를 위한 가설을 검증하기 위해 자연어 처리 기술을 적용합니다. 다양한 응용 분야가 있는데, 대표적인 예로는 아래와 같습니다.

  • 바이오마커 발견: 생물학 연구에서 중요한 역할을 하는 바이오마커생체 내에서 발생하는 생리적, 화학적 또는 분자적 변화를 나타내는데, 텍스트 마이닝 기술을 적용하면 바이오마커 후보군을 발견하거나 새로운 바이오마커를 발굴하는 것이 가능합니다.
  • 유전체 분석: 유전체 분석은 대량의 유전자 서열 데이터를 처리하는 작업으로, 텍스트 마이닝 기술을 활용하면 유전체 정보에서 의미 있는 데이터를 추출하고, 분석 및 해석하는 데 도움을 줄 수 있습니다.
  • 약물 상호작용 분석: 특정 환자 집단에서 특정 약물을 사용할 때 발생할 수 있는 부작용이나 상호작용 등을 분석하기 위해서는, 대량의 바이오데이터를 수집하고 처리해야 합니다. 텍스트 마이닝 기술을 활용하면, 바이오데이터에서 특정 약물과 상호작용이 있는 키워드들을 추출해내어 이를 분석하는 데 사용할 수 있습니다.
  • 진단 분류: 바이오데이터에서 텍스트 마이닝 기술을 적용하면, 특정 질환 또는 질병의 증상과 진단 방법 등의 정보를 추출할 수 있으며, 이를 기반으로 질환 분류를 수행할 수 있습니다.

위와 같은 분야에서, 자연어 처리와 텍스트 마이닝 기술을 적용하여 데이터를 분석하고 정보를 추출하는 것이 중요한 과제입니다. 최근에는 이를 위해 딥 러닝 모델과 전이 학습을 활용한 성능 개선 연구들이 활발히 이루어지고 있습니다.

 

- ClinicalBERT에서 소개했던 것 같이 word distribution이 일반적인 NLP에 사용되는 것과 biomedical domain에서 사용되는 것이 많이 다르기 때문이다. 

 

word distribution

더보기

NLP에서 word distribution은 문서나 코퍼스에서 단어들이 어떻게 분포되어 있는지를 나타내는 것입니다. 이것은 통계적으로 흥미로운 특성을 나타낼 수 있으며, 이를 통해 자연어 처리 모델을 구축하고 최적화할 수 있습니다. 예를 들어, word distribution을 이용하여 단어의 빈도를 파악하거나, 단어 간의 유사성을 측정하거나, 단어 간의 관계를 파악하는 등의 다양한 자연어 처리 작업에 활용됩니다. 또한, word distribution을 이용하여 문서 간 유사성을 측정하거나, 문서 분류를 수행하는 등의 작업에도 활용됩니다.

- 따라서 BioBERT는 생물 도메인 의학 도메인 텍스트를 이용해 사전학습 되었다. BioBERT는 다음 두 데이터셋을 이용하여 사전학습했다.

1. PubMed : 생물 의학 분야에서 가장 널리 사용되는 DB중 하나. PubMed에서는 수백만 건의 논문이 제공되며, 생명 과학 저널, 온라인 서적 및 MEDLINE의 생물 의학 문헌에 대한 인용을 포함.
2. PubMed Central(PMC) : 생의학 및 생명 과학 저널에 기재된 기사를 포함한 무료 온라인 저장소.

 

Approach

- BioBERT는 biomedical domain으로 사전학습된 Language Representation 모델이다.

- BioBERT는 일반 도메인 corpra인 영문 위키피디아, BooksCorpus로부터 사전학습된 BERT의 사중치로 BioBERT를 초기화 하고, PMC, PubMed 데이터셋을 통해서 pre-trained 된다.

- 이렇게 사전 학습된 BioBERT는 3가지 유명한 biomedical text mining 문제인 NER,RE,QA에 대해서 fine-tuned되고 평가된다.

NER,RE,QA

더보기
  1. Named Entity Recognition (NER): Named Entity Recognition (NER)은 텍스트에서 중요한 개체를 인식하고 분류하는 기술입니다. 이 중 생물 의학 분야에서는 텍스트 내에서 생물 의학적인 개체들을 인식하고 분류하는 것이 주요한 목표입니다. 이러한 개체들은 대개 생물 의학 분야의 전문 용어들로 이루어져 있습니다. NER은 정보 추출 (Information Extraction) 분야에서 매우 중요한 기술로 활용됩니다.
  2. Relation Extraction (RE): Relation Extraction (RE)는 주어진 텍스트에서 두 가지 개체 간의 관계를 인식하고 분류하는 기술입니다. 생물 의학 분야에서는 예를 들어, 특정 단백질이 어떤 작용을 하는지, 어떤 약물이 어떤 질병을 치료하는지 등의 관계를 추출하고자 하는 문제에 적용됩니다.
  3. Question Answering (QA): Question Answering (QA)는 자연어 질문에 대해 정확한 답변을 찾는 기술입니다. 이 기술은 일반적인 검색 엔진과 차이가 있으며, 특정한 질문에 대한 정확한 답변을 제공하는 것이 목표입니다. 생물 의학 분야에서는 예를 들어, 특정 유전자에 대한 질문에 대한 정확한 답변을 찾거나, 어떤 약물을 특정 질병에 사용하는 방법에 대한 질문에 대한 답변을 찾는 것이 가능합니다.

- 이 논문에서는 일반적인 도메인 corpus와 biomedical corpus를 다양한 조합과 크키로 테스트하고 각 corpus가 pre-training에 미치는 영향을 분석한다.

Materials and Methods

- BioBERT는 기본적으로 BERT와 같은 구조를 가진다.

3.1 BERT

- BERT는 대표적인  contextualized word representation모델이다. 

- BERT는 bidirectional representation을 사용하는데, 이는 biomedical term(생의학 분야에서 사용되는 전문 용어) 사이의 복잡한 관계가 종종 biomedical corpus에 존재하는 biomedical domain에서 중요할 것이라고 한다.

 

biomedical term

더보기

생물 의학 분야에서 사용되는 전문 용어를 의미합니다. 생물 의학 분야는 매우 전문적이고 복잡한 분야이기 때문에 전문 용어는 다른 분야에 비해 매우 중요합니다. 예를 들어, "간"이라는 단어는 일반적인 대화에서는 "내장 기관 중 하나"를 의미할 수 있지만, 의학에서는 "신체 내에서 주요한 기능을 담당하는 대사 기관 중 하나"를 의미합니다. 따라서, 생물 의학 분야에서는 이러한 전문 용어들을 정확하게 이해하고 사용하는 것이 매우 중요합니다.

3.2 Pre-training BioBERT

- BioBERT는 BERT와 달리 Biomedical 도메인에서의 단어 표현이 잘 되기를 원한다.

- Biomedical 도메인에서는 일반 도메인과는 다르게 다양한 고유명사 및 용어가 포함되어 있다.

- 따라서 범용 언어 이해를 목적으로 하는 NLP 모델들은 Biomedical 도메인에서 좋지못한 결과를 낸다.

 

범용 언어

더보기

범용 언어(General-purpose language)란, 여러 종류의 문제를 해결하기 위해 고안된, 일반적으로 널리 사용되는 언어를 말합니다. 이러한 언어는 다양한 분야에서 사용될 수 있으며, 컴퓨터 프로그래밍 언어에서는 일반 목적 프로그래밍 언어를 의미합니다. 대표적인 범용 프로그래밍 언어로는 C, Java, Python, JavaScript 등이 있습니다. 이러한 언어는 각 분야의 특정 요구 사항을 해결하기 위한 특수한 언어와 대조됩니다. 예를 들어 SQL은 데이터베이스에서 사용되는 특수 목적 언어입니다.

 

- 그래서 본 논문에서는 BioBERT를 PubMed 초록과 PMC에 대해 사전학습시킨다.

- 다음 테이블은 사전 학습 시 사용하는 text corpora는 다음과 같다.

- text corpora의 조합에 대한 테스트 정보는 다음과 같다.

       1) NER 

          - 텍스트에서 중요한 개체를 인식하고 분류하는 태스크로써 수많은 biomedical corpus에서 질병, 약물, 화학물질, 감염등과 같은              정의된 범주로 분류한다. 

          - 이 태스크를 수행하기 위해 BERT의 마지막 레이어에서 나온 각 단어들의 표현 벡터들을 분류기(Softmax+FFNN)에 입력하여 각            정의된 범주에 대한 확률을 계산한다.

NER 태스크를 파인튜닝하기 위해 사용되는 데이터셋으로는 다음과 같다.

1. 질병과 관련된 개체명 인식
- NCBI
- 2010 i2b2/VA
- BC5CDR
2. 약물 및 화학과 관련된 개체명 인식
-BC5CDR
-BC4CHEHD
3. 유전자와 관련된 개체명 인식
-BC2GM
-JNLPBA

          2) RE  

             - 주어진 텍스트에서 두 가지 개체 간의 관계를 인식하고 분류하는 기술이다.

             - 관계를 분류하기 위해 [CLS]토큰의 표현 벡터를 이용해 분류기에 적용하여 예측한다

RE 태스크를 파인튜닝하기 위해 본 논문에서는 BioRelEx라는 데이터 셋을 사용한다.
이 데이터 셋은 총 3가지 유형의 관계(Chemical-Disease, Protein-Protein, Gene-Disease)를 탐지하는 것이 목표이다.

             3) QA

                - QA는 자연어 질문에 대해 정확한 답변을 찾는 기술이다.

                - BioBERT에서는 QA 태스크를 수행하기 위해 SQuAD 데이터셋과 유사한  BioMedical 분야에서의 QA 데이터셋인 BioASQ                  데이터셋을 사용해 파인튜닝한다.

 

 

'책 정리 > 구글 Bert의 정석' 카테고리의 다른 글

8-2 장. domain-BERT(ClinicalBERT)  (0) 2023.02.15
8-1 장. sentence-BERT  (0) 2023.02.14
5장. 지식 증류 기반 BERT 파생 모델  (0) 2023.02.08
4.4장-Span BERT  (0) 2023.02.01
4-3장. ELECTRA  (1) 2023.02.01