목표

이 페이지의 목표는 영화 리뷰가 긍정적인 내용인지 부정적인 내용인지 분류하는 모델을 개발하는 것이다. 최종적으로 영어 및 한글을 둘 다 지원하는 모델을 구현하는 것이 목표이며, 이를 위하여 모델 학습 및 평가, 데이터셋 구축, 그리고 데모 구축을 진행하였다.

목차

  1. 영어 영화 리뷰 분류기 개발
  2. 한글 영화 리뷰 분류기 개발
  3. 데모 구축

영어 영화 리뷰 분류기 개발

데이터셋

Huggingface에서 제공하고 있는 “sst2”(Stanford Sentiment Treebank) 데이터셋을 사용했다. 주로 전체 문장에 대한 이진 분류 실험을 할 때 사용되며 중립적인 문장보다 긍정적 이거나 부정적인 문장들로 구성되어 있다. ( 데이터셋에 대해 더 알고 싶으면 여기서 확인해 보시길 바랍니다. )

방법

실험한 모델은 Transformer 기반의 2-way 분류기인 distilbert-base-uncased, distilbert-base-cased, bert-base-uncased, bert-base-cased 그리고 roberta-base 이다. Huggingface library를 이용하여 사전에 훈련된 모델을 통해 (전이) 학습 및 평가를 진행하였다. 하이퍼파라미터 튜닝 방법으로는 Random Search를 통해 learning rate와 batch size를 다양하게 실험해보았고 Early Stopping과 Linear Schedule with warmup 기법을 통해 효율적으로 학습시켰다. Gradient-based Optimization으로는 Adamw Optimizer를 사용하였고 학습을 할 때는 Google에서 제공하고 있는 Colab Cuda를 이용했다. 최종적으로 성능이 좋은 모델을 결정할 때에는 validation 데이터셋에서 정확도가 가장 높은 것으로 선정하였다.

결과

결과는 다음과 같다.

Model Name Number of Parameters
distilbert-base-uncased 67M
distilbert-base-cased 65M
bert-base-uncased 109M
bert-base-cased 108M
roberta-base 124M

한글 영화 리뷰 분류기 개발

데이터셋