[기업은행 혁신리그] 쇼핑몰 리뷰 평점 분류 경진대회

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

마감

 

private 6, Klue/RoBERTa-large 모델 , 5fold cross validation 활용

2022.11.15 22:19 1,943 조회 language

1. 데이터 전처리 
  - train 데이터 중 reviews는 중복되나, target 값이 다른 데이터가 1개있어 학습에 혼란을 줄 것 같아 중복 제거 하였습니다.
  - 정규식으로 특수문자들을 제외하였으나, 성능이 낮게 나오는것 을 확인하여 전처리는 따로 하지 않았습니다.
     ^^ , ! 등 특수문자들이 학습에 포함되어 예측에 도움이 된 것으로 추측
  - train 데이터를 늘리기 위해 Back Translation* 을 활용 해보았으나 성능이 오히려 떨어져 적용시키지 않았습니다.
     * 번역기(Pororo)를 이용하여 한국어->영어->한국어로 다시 번역하여 뉘앙스가 다른 train 데이터를 만드는 것

2. 모델
  - TF-IDF 모델, BERT, RoBERTa 모델을 수행하여 비교해본 결과 pretrained 모델, 그중에서도 학습량이 많은 RoBERTa 모델이 성능이 좋았습니다
   그중, 한국어 모델인 Klue/RoBERTa-large 모델을 사용하였습니다.
  - target 값이 1,2,4,5 인데 모델 수행 중 4분류로 학습을 시킬 때 target 값이 순차적이지 않아 오류가 발생하였기에, 
    0,1,2,3 으로 변환하여 모델 학습을 수행하고 예측값을 다시 1,2,4,5 로 변환하여 제출하였습니다.

3. 그외 
  - 5 fold Cross validation 을 활용하여 조금 더 일반화된 성능을 얻고자 했습니다.
  - target 값의 value count 가 불균형 하였기 때문에 target 값의 비율을 맞춰 train과 test data를 나누는 StratifiedKFold를 사용했습니다.

코드