2022.05.15 (일)
N-gram 장에서는 단어 예측과 예측에 대한 신뢰성을 다루고 있다.
단어 예측의 경우 전체 문장에서 예측 단어가 나올 확률을 구하는 방식을 사용한다. 이것을 매번 계산하는건 자원의 소모가 크다. 예측 단어 앞 N-1개의 단어를 통해 근사치의 확률을 구한다. 이를 통해 생성할 수 있는 모델이 N-gram이다.
P(wn|w1n−1)≈P(wn|wn−N+1n−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(wn|wn−1n−N+1)=C(wn−1n−N+1wn)C(wn−1n−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 |