본문 바로가기
자연어 처리

[딥러닝을 이용한 자연어 처리 입문] 언어모델

by 나연하야 2023. 3. 4.

언어모델이란 단어 시퀀스(문장)에 확률을 할당하는 모델을 말하며, 오늘은 통계에 기반한 전통적인 언어 모델에 대해서 학습하였음

 

  • 언어모델이란?

- 언어모델은 단어 시퀀스에 확률을 할당하는 일을 하는 모델로, 이전 단어들이 주어졌을 때 다음 단어를 예측하는 방식으로 가장 많이 활용됨

 

  • 통계적 언어모델에서 확률 - 카운트 기반의 접근

- 문장의 확률을 구할 때 카운트에 기반하여 계산이 가능함

- 예를 들어, An adorable little boy가 나왔을 때, is가 나올 확률은 아래와 같이 계산이 가능함

P(isㅣAn adorable little boy) = count(An adorable little boy is)/count(An adorable little boy)

기계가 학습한 코퍼스 데이터에서 An adorable little boy가 100번 등장했는데 그 다음에 is가 등장한 경우가 30번이라면 P(isㅣAn adorable little boy)는 30%임

- 이와 같이 카운트에 기반하여 확률을 구할 떄 충분한 데이터를 관측하지 못하여 언어를 정확히 모델링하지 못하는 희소 문제(sparsity problem)가 발생할 수 있으며, 이 문제를 완화하는 방법으로 n-gram 언어 모델을 활용할 수 있음

 

  • N-gram 언어모델

- n-gram 언어 모델의 경우 이전에 등장한 모든 단어를 고려하는 것이 아니라 일부 단어만 고려하는 접근 방법임

- 이때, 고려하는 단어 수가 n-gram의 n을 의미함

- 위의 예에서 P(isㅣAn adorable little boy)을 구하려고 할 때 An adorable little boy is가 코퍼스에 나타난 횟수가 많지 않을 수 있어 대신하여  P(isㅣboy) , P(isㅣlittle boy) 등을 구하는 것을 고려해 볼 수 있음

 

  • 한국어에서의 언어모델

- 한국어는 영어와 같은 다른 언어에 비해 언어 모델로 다음 단어를 예측하는 것이 쉽지 않음

- 그 이유는 한국어는 교착어(조사가 있으며, '그녀'라는 단어 하나만 해도 그녀가, 그녀를, 그녀의, 그녀와, 그녀로, 그녀께서, 그녀처럼 등과 같이 다양한 경우가 존재함)이며, 어순이 중요하지 않고 띄어쓰기가 제대로 지켜지지 않기 때문임

 

  • 언어모델의 평가방법 - Perplexity

- perplexity(PPL)는 언어모델을 평가하는 지표로 '헷갈리는 정도'를 의미하고, 그 값이 작을수록 언어모델의 성능이 좋다는 것을 의미함

- PPL은 선택할 수 있는 가능한 경우의 수를 의미하는 분기 계수(branching factor)임

- PPL이 10이라는 것은 언어 모델이 다음 단어를 예측하는 모든 시점마다 평균 10개의 단어를 가지고 어떤 것이 정답인지 고민하고 있다고 볼 수 있음

 

출처: 유원준/안상준, 딥러닝을 이용한 자연어 처리 입문-1권, p121-p139.