본문 바로가기

NLP/도서

[Chapter 4 ] N-gram 공부 정리

  2022.05.15 (일)

 

  N-gram 장에서는 단어 예측과 예측에 대한 신뢰성을 다루고 있다.

 

  단어 예측의 경우 전체 문장에서 예측 단어가 나올 확률을 구하는 방식을 사용한다. 이것을 매번 계산하는건 자원의 소모가 크다. 예측 단어 앞 N-1개의 단어를 통해 근사치의 확률을 구한다. 이를 통해 생성할 수 있는 모델이 N-gram이다.

 

$P(w_{n}|w_{n-1}^{1})\approx P(w_{n}|w_{n-1}^{n-N+1})$

 

  N-gram은 N의 개수에 따라 Unigram(1), Bigram(2), Trigram(3)등으로 분류가 된다. N의 개수에 따라 모델의 정확도는 올라가지만 계산 속도는 느려진다. 이처럼 정확도와 계산속도가 Trade-Off 관계이기에, 일반적으로 N을 5이하의 값으로 설정하여 N-gram 모델을 구현에 사용한다.

 

전체 문장 : Walden Pond's water is so transparent that the
예측 단어 : the

  전체 문장을 통한 확률
    P(the | Walden Pond's water is so transparent that)
    
  N-gram을 통한 확률
    Unigram : P(the)
    Bigram  : P(the | that)
    Trigram : P(the | transparent that)

 

  N-gram의 확률 추정은 0~1의 값으로 정규화한 값 MLE(Maximum Likelihood Estimation)을 사용한다. Unsmoothed N-gram은 MLE중 하나인 Relative Frequency을 사용하며, 특정 순서(예측 단어부터 앞 N-1개의 단어)의 개수를 접두(예측 단어 앞 N-1개의 단어)의 개수로 나눠 확률을 계산한다.

 

$P(w_{n}|w_{n-N+1}^{n-1}) = \frac{C(w_{n-N+1}^{n-1}w_{n})}{C(w_{n-N+1}^{n-1})}$

'NLP > 도서' 카테고리의 다른 글

[Chapter 6] Hidden Markov Model  (0) 2022.08.14
[Chapter 6] Markov Chains  (0) 2022.08.07
[Chapter 5] Part Of Speech Tagging (2)  (0) 2022.07.17
[Chapter4] N-gram 평가 방법  (0) 2022.06.19
[Chapter 5] Part Of Speech Tagging (1)  (0) 2022.06.11