영화 리뷰, 스포츠 댓글, TV연예프로그램 댓글 각각에 대한 긍부정 분류기와, 라벨링 데이터 없이 학습한 분류기까지 총 4개의 모델을 제시합니다.
docker image 다운로드 링크 는 제출한 보고서 마지막 페이지에 있습니다. 실행방법 또한 보고서에 기재하였습니다. 다운로드 후 아래 방법을 따라 테스트 성능과 실시간 테스트를 확인해주시길 바랍니다.
new_model_4 추가. 1차 실험의 model 4에서 learning rate 등 하이퍼파라미터 조정 실험.
테스트 파일 성능 확인 방법
python main.py \
--do_test --new_model_4 \
--test_model_dir ./models/new_model_4 \
--test_data_dir sports_test
KC BERT + 네이버 영화 리뷰 데이터 finetuning 모델
테스트 파일 성능 확인 방법
python main.py \
--do_test --model_1 \
--test_model_dir ./models/movie \
--test_data_dir movie_test
학습 방법
python main.py \
--do_train --model_1 \
--train_data_dir movie_train
KC BERT + LSTM + 네이버 영화 리뷰 데이터 finetuning + 스포츠 댓글 데이터 finetuning 모델
python main.py \
--do_test --model_2 \
--test_model_dir ./models/sports/model_sports.pt \
--test_data_dir sports_test
-
네이버 영화 리뷰로 먼저 finetuning 한다.
python main.py \ --do_train --model_2 \ --train_data_dir movie_train
-
1.의 모델에 스포츠 댓글 데이터로 finetuning 한다.
python main.py \ --do_train --model_2 --second_finetuning \ --test_model_dir ./models/model_sports.pt \ --train_data_dir sports_train \ --num_train_epochs 3 \ --logging_steps 25 --gradient_accumulation_steps 1
KC BERT + 네이버 영화 리뷰 데이터 finetuning + TV프로그램 댓글 finetuning 모델
python main.py \
--do_test --model_3 \
--test_model_dir ./models/tv \
--test_data_dir tv_test
-
네이버 영화 리뷰로 먼저 finetuning 한다.
python main.py \ --do_train --model_3 \ --train_data_dir movie_train
-
1.의 모델에 TV프로그램 댓글 데이터로 finetuning 한다.
python main.py \ --do_train --model_3 \ --test_model_dir ./models \ --train_data_dir tv_train \ --num_train_epochs 3 \ --logging_steps 25 --gradient_accumulation_steps 1
- KC BERT 로 영화, 스포츠 도메인 분류기 학습 (input 데이터가 영화 리뷰인지 스포츠 댓글인지 분류)
-
- 에서 학습한 분류기로 영화 리뷰를 분류하여 스포츠 댓글과 최대한 비슷한 영화 리뷰 찾기 (1의 도메인 분류기가 스포츠 댓글이라고 분류하는 것들만 뽑아내기)
-
- 에서 얻은 <스포츠 데이터와 비슷한 영화 리뷰> 로 스포츠 댓글을 위한 긍부정 분류기 학습. 이때 <진짜 스포츠 댓글> 도 모델에 넣어 BERT를 통해 나오는 벡터간의 Maximum Mean Discrepancy 를 계산. 긍부정 분류기의 loss에 더하여 SGD로 최적화한다.
python main.py \
--do_test --model_4 \
--test_model_dir ./models/no_labeling \
--test_data_dir sports_test
아래 코드로 도메인 분류기 / 스포츠 댓글과 비슷한 영화 리뷰 선별 / 긍부정 분류기 학습이 한번에 수행된다.
python main.py \
--do_train --model_4 \
--train_data_dir movie_train
실행방법
-
Model 1 : 영화 테스트
python main.py \ --do_interactive --model_1 \ --test_model_dir ./models/movie \ --test_data_dir movie_test
-
Model 2 : 스포츠 테스트
python main.py \ --do_interactive --model_2 \ --test_model_dir ./models/sports/model_sports.pt \ --test_data_dir sports_test
-
Model 3 : TV프로그램 테스트
python main.py \ --do_interactive --model_3 \ --test_model_dir ./models/tv \ --test_data_dir tv_test
-
Model 4 : 스포츠 테스트
python main.py \ --do_interactive --model_4 \ --test_model_dir ./models/no_labeling \ --test_data_dir sports_test
Model 1 ~ 3
Model 1 (영화) | Model 2 (스포츠) | Model 3 (TV프로그램) |
---|---|---|
0.901 | 0.823 | 0.872 |
Model 4
Baseline (no finetuning) | Model 1 (영화) | Model 4 (no label/스포츠) | new_model_4 |
---|---|---|---|
0.501 | 0.757 | 0.792 | 0.798 |
모델 용량이 커 github 업로드가 불가하여 구글 드라이브 업로드 후 공유합니다.
도커 환경에 모델을 넣었으므로 도커 컨테이너 작동 시 별도의 모델 다운로드 없이 테스트 해보실 수 있습니다.
https://drive.google.com/drive/folders/1AnQS4XrQa65UjVNAm_swF_y-lyTZ-lDf?usp=sharing