-
프로젝트 정의
각종 검색 시스템에 활용될 범용 NER 모델 개발 및 헬스케어 산업에서의 NER 모델 활용 가능성 확인을 위한 bio NER 모델 개발
-
팀 구성
구분 상세 인원 개발 엔진 1명 (본인) 기획/디자인 1명 -
담당 업무
1) 기존의 범용 NER 모델 class 감축
2) 범용/의료 개체명 인식 모델 개발
-
사용 기술
1) NLP-classifiacation model 개발 기술(최종 모델: Koelectra_bilstm_CRF (3 bilstm layer))
-
개발 언어
python (framework: pytorch)
- 수행 업무 요약
-
class 감축
범용 NER의 경우, class의 과도한 세분화가 모델 성능에 부정적인 영향을 미치고 있다고 판단되어 약 100개 가량 되는 ner class에 대해 합일 및 제거를 통한 class 감축 작업 수행
의료 NER은 NCBI에서 정의한 개체 class 그대로 사용
(class 정보는 하단 개발 로그에서 확인 가능)
-
범용 및 의료 NER 모델 개발
- 기존 사내 NER 모델의 경우 모델 변경이 어려운 구조로 개발되어 있어 다양한 모델들이 공개되는 가운데 여러 비교 실험이 용이하지 않아 모델 전체 최신화 진행
- 범용 NER 모델은 각종 검색 시스템에 활용하기 위해 개발
- bio NER 모델은 헬스케어 산업에서의 NER 모델 활용 가능성 확인을 위해 개발
- CRF layer 추가 → BERT 계열의 모델의 경우, sequence tag 추론 시 token간의 관계를 독립적으로 예측하는 경향이 있어 label간의 종속성을 명시적으로 모델링하기 위해 CRF layer 추가. 즉, label 간의 의존성을 고려한 결과를 반환 받기 위해 CRF layer를 추가.
- BiLSTM layer 추가 → BERT 계열의 모델이 문맥 파악에 강점을 가지고 있지만 BiLSTM layer를 추가함으로써 문장 길이가 길어지거나 문장 구조의 복잡도가 증가했을 때 문맥 정보 파악 능력을 강화할 수 있다.
-
결과:
bio NER(5 class) general NER(42class) f1-score 0.83 0.94
-
- + 해당 모델은 현재 각종 정부 과제 검색 시스템 내부에 내장되어 있다.