[Language Model] #1 N-gram

Jude's Sound Lab·2022년 11월 8일
0

Note for late 2022

목록 보기
9/11

N-gram

통계적 추정기법

Arpa format

https://medium.com/@canadaduane/understanding-arpa-and-language-models-115d6cbc3893

discounting

https://heiwais25.github.io/nlp/2019/10/06/Language-model-2/

0의 값을 가지는 counting에 대해 작은 값으로 flooring 하는 과정에서 sum-to-one 제한을 만족하지 않게 됨
제한을 만족시키기 위해, 관측된 사건의 수를 discount하여 비관측 사건에 할당. 따라서 언어모델 생성확률은 d(r)을 곱해줌으로 수정됨. 여기서 d(r)을 discount coefficient라 한다.

smoothing

laplace smoothing(add-one smoothing) // add-k smoothing // good turing smoothing

Laplace Smoothing

일반적으로 비관측 이벤트가 관측 가능한 이벤트보다 많음 smoothing은 기본적으로 seen ngram을 깎아먹는 방법이기 때문에 unseen ngram이 너무 많아지면 성능이 떨어진다.

Good Turing Smoothing

nr이 r번 관측된 이벤트의 개수일 때,
기존의 방식이 count = r이라면, countGT = (r+1) x nr+1 / nr로 바꾸어준다.
확률은 항상 n 개수에 따른 조건부니까 P(wi | wi-1)을 구하면 된다.

profile
chords & code // harmony with structure

0개의 댓글