Sentiment Analysis 3

[4] 포털 댓글 감성 분석_1. 순환신경망_3. Word2Vec 임베딩층

Keras Embedding 레이어가 아닌, 팀 데이터셋에 맞는 Word2Vec 임베딩 층을 사용해 임베딩 층으로 주입한다. 이전의 LSTM 모델에서 임베딩 층만 달라지기 때문에, 해당 부분만 기록한다. # Word2Vec Embedding 모든 데이터셋(커뮤니티, 포털 게시글 및 댓글)을 mecab 형태소 분석기를 사용해 형태소 단위로 분석하고, Word2Vec 임베딩을 진행했다. Gensim라이브러리의 Word2Vec 모델을 사용했고, skip-gram 방식을 적용했다. 최소 등장 빈도는 5, 윈도우 사이즈는 10으로 설정하였으며, 100차원으로 임베딩하였다. 임베딩 품질을 확인하기 위해 다음의 작업을 진행했다. 첫째, 몇 가지 키워드를 선정하여 코사인 유사도가 높은 단어들을 추출했다. 어느 정도 유..

[4] 포털 댓글 감성 분석_1. 순환신경망_2. 모델링 및 예측

앞 단에 이어 모델링을 진행한다. 긍정, 중립, 부정의 3 class로 각각의 텍스트를 분류하는 작업을 수행한다. RNN과 LSTM의 성능 차이를 보기 위해 초기에 RNN, LSTM 모델을 설계했으며, 시행착오를 통해 여러 층으로 구성된 LSTM, GRU 모델을 구성했다. 본격적으로 파라미터, 층을 조정한 것은 여러 층으로 구성된 LSTM, GRU 모델에 한정하였다. 그리고 20200418 현재, 가장 좋은 정확도를 보인 모델은 양방향 LSTM 층을 적용한 모델이다. 테스트 셋에 대한 정확도는 0.9056이다. 이 모델을 통해 포털 댓글에 대한 감성 분석 분류 작업을 수행한다. # 공통 사항 임베딩 : Keras의 Embedding 레이어 사용. 100차원 임베딩. 옵티마이저 : adam. loss 측정..

[4] 포털 댓글 감성 분석_1. 순환신경망_1. 사전 작업

앞 단에서 감성어 사전(0417 현재 기준 ver3), 긍/부정 라벨링된 커뮤니티 게시글 및 댓글 데이터셋을 구축했다. 감성분석 모델링을 수행할 준비를 마쳤다. 이제 네이버, 다음, 유튜브 등 포털에서 수집한 180만 건의 댓글 데이터를 대상으로 감성분석을 수행한다. 우선 자연어 처리에 많이 활용되는 딥러닝의 순환신경망 알고리즘을 사용한다. 그 중에서도 RNN 알고리즘을 개선/변형한 LSTM, GRU 알고리즘을 적용한다. (각 모델에 대한 공부는 StudyLog에서...) 본격적으로 모델을 설계하고 적용하기에 앞서, 문장 토큰화, 불용어 처리 등의 작업을 진행한다. 참고 : 「케라스 창시자에게 배우는 딥러닝」, 「딥러닝을 이용한 자연어 처리 입문」 # 사전 작업 # install KoNLPy ! pip3..