[AI Project] 네이버 영화리뷰 감성분석

yenaryu·2022년 1월 28일

DATA

목록 보기
5/14

프로젝트 진행 과정

1. 데이터 준비와 확인
네이버 영화의 댓글을 모아 구성된 한국어 텍스트 감성 분석
Naver sentiment movie corpus

 
2. 데이터로더 구성
전혀 가공되지 않은 nsmc 데이터셋 텍스트 파일을 읽어 data_loader 생성

💡 data_loader 안에서 수행해야할 사항

  • 데이터의 중복 제거
  • NaN 결측치 제거
  • 한국어 토크나이저로 토큰화
  • 불용어(Stopwords) 제거
  • 사전word_to_index 구성
  • 텍스트 스트링을 사전 인덱스 스트링으로 변환
  • X_train, y_train, X_test, y_test, word_to_index 리턴

 
3. 모델 구성을 위한 데이터 분석 및 가공

  • 데이터셋 내 문장 길이 분포
  • 적절한 최대 문장 길이 지정
  • keras.preprocessing.sequence.pad_sequences 을 활용한 패딩 추가

 
4. 모델 구성 및 validation set 구성

  • RNN모델
  • 1-D Convolution Neural Network(1-D CNN)모델
  • GlobalMaxPooling1D() 모델

 
5. 모델 훈련 개시

  • 모델 학습
  • 모델 평가

 
6. Loss, Accuracy 그래프 시각화

  • Training and validation loss
  • Training and validation accuracy

 
7. 학습된 Embedding 레이어 분석

  • 학습한 Embedding 파라미터를 파일에 써서 저장
  • 단어 개수(에서 특수문자 4개는 제외하고)만큼의 워드 벡터를 파일에 기록
  • word_vectors

 
8. 한국어 Word2Vec 임베딩 활용하여 성능 개선
한국어 Word2Vec :Pre-trained word vectors of 30+ languages
gensim 버전을 3.x.x로 낮추기

 

구현한 프로젝트

PROJECT : movie reivew sentiment

 

회고

3가지 모델 구현 결과
RNN 모델 : 0.8449
1-D Convolution Neural Network(1-D CNN)모델 : 0.8165
GlobalMaxPooling1D() : 0.8322

한국어 Word2Vec을 활용한 LSTM 모델
LSTM(128), epochs=20, batch_size=64 = 0.8522
최종 85.2%의 정확도를 보여 가시적인 성능 향상을 달성

 


📆 2022-01-27

0개의 댓글