월간 데이콘 뉴스 토픽 분류 AI 경진대회

알고리즘 | NLP | 분류 | 자연어 | Accuracy

  • moneyIcon 상금 : 500,000 D-point
  • 1,717명 마감

 

[private 27위]TwoKimBrothers팀 코드공유

2021.08.11 00:57 4,508 조회 language

(Public에서는 score가 낮았지만 Private score가 더 좋았던 모델로 게시물을 재 업로드 하였습니다.)
안녕하세요 TwoKimBrothers 팀입니다. 
저희는 8개의 Pretrained 모델을 train셋으로 fine tuning 하여 앙상블(hard voting)하였습니다.
Pretrained Model 중에 한문 또는 특수문자가 학습된 모델이 없어 뉴스 데이터 특성상 한문이나, 특수문자를 어떻게 처리할 지 고민이 많았는데요. 빈도가 높은 것들을 찾아 하드코딩으로 이 것들을 한글로 바꾸어 주는 방식으로 전처리 했을 때 정확도가 소폭 상승하였습니다.  한글+한문을 구글 번역 api로 영문으로 바꾼 뒤 google-bert(영어모델)도 사용해보았는데 번역 품질이 그다지 좋지않아 정보 유실이 많아 포기했습니다. 한문 데이터를 전처리하는 좋은 방법을 알고계시다면 조언 부탁드립니다.
  
Label 갯수가 불균형해서 Random Oversampling 하여 Train Set의 Label 데이터의 갯수를 맞춰주었습니다. 모델마다 전처리를 했을 때 보다 하지 않았을 때 성능이 더 좋은 모델도 있었습니다. 

8개의 모델마다 파일을 하나씩 만들었는데, 이를 하나로 합치는 과정에서 노트북 파일이 길어졌습니다. 양해 부탁드립니다. 코드나 접근방법에 대해 질문 혹은 피드백이 있으시다면 댓글 남겨주세요. 감사합니다.


1. albert-kor-base 
2. bert-kor-base  
3. electra_kor_base
4. KcBert
5. KoBERT 
6. KoELECTRA  
7. KoELECTRA _v1
8. KoELECTRA _v2

코드