Mecab 과 ALBERT를 이용한 NER 개발

Mecab과 ALBERT를 이용한 NER 개발에 과정 설명

Model

Data set

Vocab

  • sentencepiece 사용
  • 32,000 vocab 사용
  • 한국어 위키를 mecab 형태소 분석기를 이용하여 우선 형태소 단위로 쪼개어 vocab 만들 text 생성
  • sentencepiece bpe를 이용해 vocab 생성

Pretrain

입력
  • Text token: 일반 버트의 입력 토큰
  • Morp token: Mecab 통한 형태소 토큰
MASK
  • 입력 토큰의 15%를 'Text Token', 'Morp Token' 동시에 적용
예측
  • SOP(Sentence Order Prediction): 입력한 두 문장의 순서가 맞는지 예측
  • MLM(Masked Language Model): Mask된 'Text Token'을 예측
  • Morp Prediction: Mask된 'Morp Token'을 예측
Paramter
  • config: bert base configuration
  • epoch: 20
  • batch_size: 20

Train

  • epoch: 20
  • batch_size: 24

Valid

Pretrain이 진행 될수로 스코어가 좋아지긴 하지만 90점을 넘지는 못함

  • pretrain 01: epoch=19, loss=0.062, socre=88.351
  • pretrain 02: epoch=32, loss=0.013, socre=88.730
  • pretrain 03: epoch=20, loss=0.049, socre=88.520
  • pretrain 04: epoch=19, loss=0.058, socre=88.516
  • pretrain 05: epoch=19, loss=0.055, socre=88.671
  • pretrain 06: epoch=19, loss=0.058, socre=88.754
  • pretrain 08: epoch=19, loss=0.058, socre=88.789
  • pretrain 10: epoch=19, loss=0.060, socre=88.769
  • pretrain 12: epoch=19, loss=0.062, socre=88.820
  • pretrain 14: epoch=19, loss=0.065, socre=88.910
  • pretrain 15: epoch=19, loss=0.066, socre=88.927

댓글 남기기