• 검색 결과가 없습니다.

[그림 9]는 본 연구에서 실험에 사용할 감성 분석 모델의 처리 과정을 나타낸다. 먼저 네이버 영화 리뷰 데이터의 document 를 입력으로 받는다. 이후 벡터화 과정에서는 자모, 글자, 단어, 그리고 형태소의 단위로 자연어로 된 문서를 벡터화 한 뒤에 임베딩 과정을 수행하여 RNN 모델의 입력 데이터로 사용한다.

RNN 모델로는 [그림 4]와 같이 LSTM 을 시퀀스 길이만큼 연결한 모델, [그림 5]와 같이 반대 방향으로 흐르는 두 LSTM 을 수직으로 연결한 Bi-directional LSTM 모델, 그리고 LSTM 과 Bi-directional LSTM 에 각각 Attention Layer 를 추가한 Attention Mechanism 모델, 그리고 대조군으로 순환신경망 모델이 아닌 분류기 모델인 Naïve Bayes Classifier[23] 모델을 사용한다.

25

[그림 9] 감성 분석 프로세스

실험은 크게 훈련(train)과 검증(test)으로 나눌 수 있다. 훈련 과정에서는 과적합(Over-fitting)을 방지하기 위해 LSTM 셀과 Attention Layer 의 출력에 0.5의 drop-out 을 적용하였다. 각 모델에 연결된 Feed-forward Neural Network 의 출력값은 훈련 데이터의 라벨 값과 차이를 이용하여 sigmoid 를 취한 뒤 Cross-Entropy 를 이용하여 loss function 으로 사용하였다. FFNN 의 출력을 𝑥, 라벨을 𝑦라고 할 때 loss function 을 구하는 식은 다음과 같다.

𝐿(𝑥, 𝑦) = −log(𝜎(𝑥)) + (1 − 𝑦) ∗ (−log(1 − 𝜎(𝑥))) (11)

여기서 𝜎는 sigmoid 함수, 즉 𝜎(𝑥) = 1 (1 + exp(−𝑥))를 가리킨다. 가중치의 갱신은 loss function 의 값을 최소화하는 방향으로 시간에 따른 오류역전파(BPTT) 알고리즘을 통해 이루어진다. 여기서 파라미터가 local minima 에 빠지는 것을 방지하고 학습을 빠르게 하기 위해 Adam(Adaptive Moment Estimation) optimization 기법을 사용하였다. 추론은 모델의 출력에 sigmoid 함수를 통과시켜 0.5 이상이면 긍정(Positive), 0.5 이하이면 부정(Negative)로 판단한다. 추론을 통해 정확도(Accuracy)를 계산하고 이를 감정 분류기의 성능의 지표로 사용한다. <표 8>는 머신 러닝의 성능을 평가하는 지표로 자주 사용되는 혼동 행렬(Confusion matrix)을 나타낸 표이다. [21] 만약 어떤 문서가 1로 라벨링 되어 있고, 이 문서에 대한 추론의 결과가 긍정일 경우

True Positive, 1로 라벨링된 문서에 대해 부정으로 판단한 경우 False Negative, 0으로 라벨링 된 데이터에 대해 긍정으로 판단한 경우 False Positive, 0으로 라벨링 된 데이터를 부정으로 판단한 경우 True Negative 로 분류한다. 모든 검증 데이터에 대해 True Positive, False Positive, True Negative, False Negative 의 갯수를 각각 센 뒤 (12)의 식을 이용하여 정확도(Accuracy)를 계산한다.

<표 8> 이진 분류에서 사용하는 혼동 행렬

긍정적인 리뷰 부정적인 리뷰

긍정적으로 판단 TP(True Positive) FP(False Positive) 부정적으로 판단 FN(False Negative) TN(True Negative)

𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑇𝑃 + 𝑇𝑁

𝑇𝑃 + 𝐹𝑃 + 𝐹𝑁 + 𝑇𝑁 (12)

훈련은 한 epoch 에서 훈련 과정과 검증 과정을 반복하며 검증 과정에서의 정확도가 더이상 높아지지 않을 때까지 반복한다. epoch 이 완료된 이후 훈련이 완료된 모델을 이용하여 임의의 텍스트 입력에 대해 attention 을 얻어 시각화와 정성적 분석에 사용한다.

27

Naïve Bayes Classifier 는 텍스트 분류에 오랫동안 이용된 방법으로 특성들 사이의 독립을 가정하는 베이즈 정리를 이용한 분류 모델이다. (13) 식은 Naïve Bayes 확률 모델과 결정 규칙을 조합한 것으로 클래스 𝐶G 에 대해 최대 확률을 갖는 클래스 k 를 찾는 식을 나타낸다.

𝑦 = argmax^𝑝 𝐶G 𝑝(𝑥9|𝐶G)

9

(13)

관련 문서