• 검색 결과가 없습니다.

27

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

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

9

(13)

<표 9> 네이버 영화 리뷰 데이터의 RNN 및 Naïve Bayes 모델의 정확도(%) Naïve

Bayes LSTM BLSTM

Attention + LSTM

Attention + BLSTM

자모 61.85 85.21 85.34 86 85.8 글자 76.98 84.78 85.16 86 86.1 단어 80.42 77.99 77.78 76.4 76.7 형태소 83.5 85.88 85.89 85.7 86.2

<표 10> Rotten Tomato Movie Review 의 RNN 및 Naïve Bayes 모델의 정확도(%) Naïve

Bayes LSTM BLSTM

Attention + LSTM

Attention + BLSTM

글자 54.50 60.32 63.88 71.1 73.7

단어 76.26 78.05 78.4 76.8 78.5

형태소 71.47 73.82 73.35 74.7 75.1

Naïve Bayes 의 경우 네이버 리뷰 데이터와 Rotten Tomato Movie Review 모두에서 자모나 글자 단위로 문서를 표현한 경우 성능이 저하되는 것을 확인할 수 있는데 이는 Naïve Bayes 이 모든 입력 원소 간에 독립을 가정하는 베이즈 정리의 한계라고 볼 수 있다. 글자나 자모는 각각에 대해서는

29

어떠한 의미를 갖지 않기 때문에 시퀀스를 인식하지 못하고 독립이 되는 순간 문서를 올바르게 분류하지 못 하게 된다.

네이버 영화 리뷰 데이터에서 단어 단위로 한국어를 표현할 때 성능이 저하된 이유는 위에서 언급한 단어의 활용(conjugation)으로 인해 같은 의미를 갖는 단어들이 모두 다른 의미로 해석이 되어 입력 데이터의 특징 정보가 파편화되었기 때문으로 보인다. <표 11>는네이버 영화 리뷰 데이터의 미등록어 비율을 나타낸 표이다. 검증 데이터에서 훈련 데이터에 나타나지 않은 단어 또는 글자로 OOV(Out-Of-Vocabulary)라고도 불린다. 다른 문서 표현 방식은 모두 1% 아래로 미등록어가 나타나는데 비해 단어 단위로 문서를 표현한 경우 검증 데이터의 문서 전체에서 25.21%의 단어가 올바로 인식되지 못한다는 것을 뜻한다. Rotten Tomato Movie Review 의 경우 단어 표현에 대해 5.3% 정도의 손실이 발생하고 있고 단어를 형태소로 변환할 경우 오히려 0.9% 증가하는 것을 확인할 수 있다. 네이버 영화 리뷰 데이터와 달리 Rotten Tomato Movie Review 에서 단어 표현에 비해 형태소 표현에 대해 성능이 낮아지는 것은 미등록어 비율의 증가가 원인으로 보인다. 미등록어의 비율이 높다는 것은 모델을 훈련 데이터로부터 학습한 모델을 검증 데이터에 올바르게 적용하지 못한다는 것을 뜻하고 이는 곧 성능 저하로 이어지게 된다.

<표 11> 네이버 영화 리뷰 데이터의 미등록어 비율

훈련 데이터 단위 수

검증 데이터 단위 수

검증 데이터의

미등록어 단위 수 미등록어 비율

자모 528 336 73 0.00002

글자 5285609 1767847 258 0.00163 단어 1137741 380475 95932 0.25213 형태소 2194536 734551 7842 0.01067

<표 12> Rotten Tomato Movie Review 의 미등록어 비율 훈련

데이터 단위 수

검증 데이터 단위 수

검증 데이터의

미등록어 단위 수 미등록어 비율

글자 1103586 124210 0 0

단어 201410 22615 1207 0.053

형태소 206241 23100 1496 0.064

문서를 임베딩할 때 글자나 자모 단위로 쪼개는 경우 미등록어의 비율은 줄어들지만 시퀀스 길이가 3배 이상 증가하게 된다. 이는 곧 훈련이 어려워지는 현상을 초래하는데 (Graves, 2013)[24]에서는 Character-level RNN 으로 언어 모델(language model)을 구성하였을 때 Penn Treebank Experiments 와 같은 예측 모델에서 Word-level RNN 에 비해 성능이 저하되는 현상을 보여준다.

다만 실험 결과에서 확인할 수 있듯 RNN 모델에 Attention Mechanism 을 적용할 경우 글자나 자모 단위에서도 충분히 좋은 성능을 얻어내는 것을 알 수

31

있는데 (Luong, 2015)[25] 에서는 Attention mechanism 을 적용한 경우 그렇지 않은 모델에 비해 문장의 길이가 길어져도 성능이 크게 저하되지 않고 기계 번역 분야에서 좋은 성능을 보이는 것을 보여준다. 글자 표현에서 Rotten Tomato Movie Review 에 비해 네이버 영화 리뷰 데이터가 크게 성능이 떨어지지 않는 것은 26개의 알파벳으로 표현되는 영어에 비해 11,172개의 조합을 갖는 한글 각각의 글자가 특징(feature)으로서 기능한다는 것을 보여준다.

<표 13>은 검증 데이터에서 형태소 단위로 문서를 나눈 뒤 정량적 평가에서 가장 좋은 성능을 보였던 Bi-directional LSTM 에 Attention Mechanism 을 적용한 모델을 이용하여 Attention 이 입력 데이터에 대해 작용하는 정도를 나타낸 것이다. 각 입력 데이터에 해당하는 Attention vector 를 구한 뒤 문서 단위로 normalize 하여 형태소 별로 attention 의 합을 구하였다. <표 13>에서 확인할 수 있듯 입력 문서로부터 ‘발연기’, ‘싫어지다’, ‘따뜻하다’ 와 같은 형태소가 활성화 되는 것을 확인할 수 있었다.

<표 13> 입력 문서에 대한 Attention 벡터의 활성화에 대한 시각화 원문 발연기 도저히 못보겠다 진짜 이렇게 연기를 못할거라곤 상상도

못했네

원문 평점1점도 주기싫어지는 영화 배우나 감독이라는 사람이나 영화판에서 안봐으면 한다

원문 지금까지 본 영화중 마음이 가장 따뜻해지는 영화.

모델이 긍정적으로 판단한 데이터와 부정적으로 판단한 데이터를 나누어 각각을 Attention 값에 대해 정렬한 결과이다. 하지만 <표 13> 위와 같이 ‘영화’

라는 형태소는 긍정적으로 판단한 글과 부정적으로 판단한 글 모두에게 나타나는 것을 확인할 수 있었다. 이렇게 모든 판단에 관여하는 형태소를 배제하기 위해 긍정적으로 판단한 데이터의 Attention 은 더하고, 부정적으로 판단한 데이터의 Attention 은 뺄셈을 적용하였다. <표 14>과 <표 15>은 Attention 의 순서대로 상위 10개의 형태소와 하위 10개의 형태소를 추출한 것이다. ‘재밌다’, ‘좋다’,

‘ 쓰 레 기 ’ , ‘ 최 악 ’ 과 같은 직관적으로 영화에 대한 판단을 내리는데 주요한 형태소가 나타나는 것을 확인하였다.

<표 14> 상위 10개의 Attention 을 갖는 형태소

형태소 품사 Attention value

재밌다 Adjective 2315.697379

좋다 Adjective 1644.521349

최고 Noun 1389.613749

! Punctuation 946.5683639

재미있다 Adjective 817.3605112

보다 Verb 761.4358254

감동 Noun 672.1387658

Josa 658.8594882

!! Punctuation 498.2644915

명작 Noun 434.2194712

ㅋㅋ KoreanParticle 332.9959449

33

<표 15> 하위 10개의 Attention 을 갖는 형태소

형태소 품사 Attention 합

Josa -295.5007837

쓰레기 Noun -302.4656007

? Punctuation -375.3926609

최악 Noun -525.9152848

재미없다 Adjective -546.104634

... Punctuation -702.9990884

없다 Adjective -838.8802801

.. Punctuation -929.0254972

아깝다 Adjective -940.3619517

. Punctuation -1606.767147

관련 문서