1. 코퍼스에서 카운트하지 못하는 경우의 감소
SLM의 한계: 훈련 코퍼스에 확률을 계산하고 싶은 문장이나 단어가 없음
ㄴ 해결 방법: P(is|An adorable little boy) -> P(is|little boy)로 변경
ㄴ 갖고 있는 코퍼스에서 해당 단어의 시퀀스를 카운트할 확률이 높아짐
2. N-gram
n-gram: n개의 연속적인 단어 나열
ㄴ 갖고 있는 코퍼스에서 n개의 단어 뭉치 단위로 끊어서 이를 하나의 토큰으로 간주
n이 1일 때는 유니그램(unigram), 2일 때는 바이그램(bigram), 3일 때는 트라이그램(trigram)이라고 명명하고 n이 4 이상일 때는 gram 앞에 그대로 숫자를 붙여서 명명
다음에 나올 단어의 예측: 오직 n-1개의 단어에만 의존
ex. spreading 다음에 올 단어 예측
An adorable little boy is spreading ?
3. N-gram Language Model의 한계
의도하고 싶은 대로 문장을 끝맺음하지 못하는 경우가 생김
전체 문장을 고려한 언어 모델보다는 정확도가 떨어질 수밖에 없음
(1) 희소 문제(Sparsity Problem)
(2) n을 선택하는 것은 trade-off 문제
n을 크게 선택하면
장점) 언어 모델의 성능을 높일 수 있음
단점) 희소 문제 심각, 모델 사이즈가 커짐
n을 작게 선택하면
장점) 훈련 코퍼스에서 카운트가 잘 됨
단점) 근사의 정확도는 현실의 확률분포와 멀어짐
정확도를 높이려면 n은 최대 5를 넘게 잡아서는 안 된다고 권장
4. 적용 분야(Domain)에 맞는 코퍼스의 수집
훈련에 사용된 도메인 코퍼스가 무엇이냐에 따라서 성능이 비약적으로 달라짐
5. 인공 신경망을 이용한 언어 모델(Neural Network Based Language Model)