NLP/AI/Statistics

Smoothing 기법: Laplace(add-one) smoothing, Back-off smoothing 본문

NLP

Smoothing 기법: Laplace(add-one) smoothing, Back-off smoothing

Danbi Cho 2020. 10. 6. 19:49

통계적 언어 모델 과 N-gram 언어모델 은 희소 문제가 발생하며,

 

이러한 문제를 해결하기 위한 generalization기법으로 smoothing 기법이 있다.

 

Smoothing기법 중 대표적인 laplace smoothing과 back-off smoothing 기법에 대하여 소개하고자 한다.

 

우선, smoothing 이란 확률값이 0이 되지 않도록 하여 문장 생성 확률이 정의되지 않는 문제를 해결하기 위한 방법이다.

 

1) Laplace(add-one) smoothing

 

Laplace smoothing 기법은 단어의 출현 빈도에 1을 더하여 빈도가 0이되는 경우가 없도록 한다.

 

n-gram 언어 모델의 식에서 분모에 단어집합의 수를 더하고, 분자에 1을 더하여 표현하며,

 

각 n-gram에 따른 식은 아래와 같다.

 

기존의 unigram 식: $P(w_{i}) = \frac{count(w_{i})}{N}$

변형된 unigram 식: $P_{LP}(w_{i}) = \frac{count(w_{i})+1}{N+V}$

 

기존의 bigram 식: $P(w_{n}|w_{n-1}) = \frac{count(w_{n}|w_{n-1})}{count(w_{n-1})}$

변형된 bigram 식: $P_{LP}(w_{n}|w_{n-1}) = \frac{count(w_{n}|w_{n-1})+1}{count(w_{n-1})+V}$

 

이 때, $N$은 단어 집합의 모든 unigram 토큰 빈도 수의 합을 의미하며 $V$는 단어 집합의 전체 토큰 수를 의미한다.

 

2) Back-off smoothing

 

Back-off smoothing기법은 학습 데이터에 출현하지 않는 n-gram의 확률을 (n-1)-gram의 확률로부터 추정하는 방법이다.

 

n-gram으로 일반화된 back-off smoothing 기법의 식은 아래와 같다.

 

$$P_{BO}(w_{n}|w_{n-N+1}, ..., w_{n-1}) = \cases{P(w_{n}|w_{n-N+1}, ..., w_{n-1}), \ \ if \ count(w_{n-1}), ..., count(w_{n}) > 0\\ P_{BO}(w_{n}|w_{n-N+2}, ..., w_{n-1})}$$

 

이 때, 여러 n에 대한 n-gram 단어 집합을 함께 사용할 경우 전체 확률의 합이 1이 넘는 문제가 발생할 수 있다.

 

그렇기 때문에 위의 식에 discount라는 개념을 추가해야한다.

 

discount는 각 n-gram에 대하여 적절한 값을 곱하여 보정하는 역할로, 

 

만약 Back-off를 적용할 때 $w_n$에 대한 빈도가 0이 아닌 경우, 해당 확률값을 그대로 사용하고,

 

만약 $w_n$에 대한 빈도가 0이어서 한단계 낮은 n-gram에 대한 값을 사용해야할 떄, distribution function인 $\alpha$를 곱해준다.

 

이러한 방식으로 distribution function을 적용한 개념을 Katz back-off라고 하며,

 

이에 대한 식은 아래와 같이 정의된다.

 

$$P_{BO}(w_{n}|w_{n-N+1}, ..., w_{n-1}) = \cases{P(w_{n}|w_{n-N+1}, ..., w_{n-1}), \ \ if \ count(w_{n-1}), ..., count(w_{n}) > 0 \\ \alpha(w_{n-N+1}, ..., w_{n-1})P_{BO}(w_n|w_{n-N+2}, ..., w_{n-1})}$$

 

이 때, $\alpha$는 확률의 총합이 1이 되도록 하기 위한 정규화 계수이다.

$$\alpha = (1-\sum_{N(w_{i-2}^{i}) > 0} P(w_{i}|w_{i-1}))^{-1}$$

 

위와 같이 재귀적 특성으로 이전 n-gram 정보를 사용한다.

 

Comments