comparision_preprocessing

데이터

  • NSMC(Naver Sentiment Movie Corpus) 사용
  • 한국어 영화 리뷰 데이터
  • 말뭉치 크기 : 20만 문장(Train : 15만 // Test : 5만)

비교 방법

  • 모델(LSTM / CNN / LSTM + CNN) 성능차이 비교
  • 토큰단위에 따른 모델 성능차 비교
  • 모델의 전처리 방법에 따른 성능 비교

토큰 단위(Tokenizing)

  • 토큰화 정의 : 문장 처리의 최소 단위를 정의 하는 것
  • 토큰화 기준
    • 어절
    • 형태소(Twitter 형태소 분석기 사용)
    • 음절
    • 음소

전처리 방법

  • 전처리 : 문장 데이터를 사용에 적합하도록 모델의 입력전 수행하는 모든 행위
  • 전처리 방법 기준
    • 블로그정의 불용어
    • 조사 제거
    • 특수문자 및 한자 제거
    • 명사만 추출
    • NSMC 말뭉치 가운데 최다 빈도 형태소 제거

결과

  1. 토큰단위에 따른 성능 비교

    모델 - 성능 어절 형태소 음절 음소
    LSTM - Loss 0.13 0.335 0.301 0.36
    LSTM - Acc 0.778 0.852 0.84 0.802
    LSTM - F1_score 0.783 0.854 0.838 0.809
    CNN - Loss 0.158 0.241 0.278 0.411
    CNN - Acc 0.785 0.855 0.846 0.794
    CNN - F1_score 0.79 0.856 0.846 0.785
    LSTM + CNN - Loss 0.143 0.383 0.403 0.29
    LSTM + CNN - Acc 0.772 0.856 0.843 0.838
    LSTM + CNN - F1_score 0.766 0.856 0.842 0.838
  2. 불용어 기준에 따른 성능 비교

    블로그
    불용어
    조사 제거 특수문자 및 한자 명사 추출 NSMC불용어
    LSTM - Loss 0.242 0.24 0.242 0.415 0.242
    LSTM - Acc 0.85 0.85 0.849 0.766 0.849
    LSTM - F1_score 0.851 0.853 0.85 0.77 0.85
    CNN - Loss 0.245 0.239 0.224 0.405 0.224
    CNN - Acc 0.852 0.854 0.853 0.769 0.853
    CNN - F1_score 0.853 0.854 0.853 0.773 0.853
    LSTM + CNN - Loss 0.231 0.239 0.234 0.389 0.234
    LSTM + CNN - Acc 0.852 0.852 0.851 0.765 0.851
    LSTM + CNN - F1_score 0.852 0.852 0.851 0.775 0.851
    • 모든 실험은 5회 진행 후 평균을 냄

결론

모델이나 불용어 처리의 방법보다 토큰의 단위가 모델의 성능에 큰 영향을 끼침

논문 자료