쇼핑몰 리뷰 평점 분류 AI 해커톤

알고리즘 | NLP | 분류 | 리뷰 | Accuracy

  • moneyIcon Prize : 인증서, 장학금, 스타벅스 기프티콘 등
  • 621명 마감

 

Public 2nd | Private 5th

2022.08.06 16:56 1,327 Views language

Acc를 향상하기 위해 다양한 시각에서 접근해 보았고, 일부를 공유합니다. 

[1] 먼저 EDA를 할 겸, Binary Classification 문제로 바꾸어 보았습니다. Label을 [Pos/Neg]로 바꾸어 보거나, 부정 측면에 해당하는 [1 / 2]만을 추출하는 등 모델이 어떤 데이터를 잘 구분하지 못하는지 확인했습니다. 직접 확인해 보시면 아시겠지만, [1 / 2] 분류가 가장 까다로운 것 같습니다. 
[2] 이를 기반으로 재번역을 통한 데이터 증강(augmentation)과 데이터 정제(refine)를 시도했습니다. PLMs는 다들 활용할 것으로 판단했기에, 증강 및 데이터 정제에 집중했습니다.  재번역(KOR-EN-KOR)을 통해 데이터를 증강했으며, 맞춤법 검사기 API 뿐만 아니라 정규식을 활용한 수동적인 방법을 통해 데이터를 정제했습니다. 특히 train.target = 1,  2의 경우, review와 target 사이의 불일치가 많기 때문에 정제에 더욱 신경을 썼습니다. 
[3] 데이터 증강/전처리 이후 다양한 조합을 통해 데이터셋을 새롭게 구축했습니다. refined_train(정제o 원본.ver) | refined_aug_train(정제o 증강.ver) |  unrefined_train(정제x 원본.ver) | unrefined_aug_train(정제x 증강.ver)을  여러 경우로 concat 하여 fine-tuning을 진행했습니다.
[4] 훈련 데이터 셋을 조합하여 앙상블을 진행했습니다.

감사합니다.

Code