언어모델
문장 다음에 이어질 단어는?
문장들 중 나타날 확률이 더 높은 것은?
목표 : 문장이 일어날 확률을 구하는 것
언어모델은 왜 필요한가?
언어모델은 연속적인 단어들에 확률을 부여하는 모델
P(W) = P(w1,w2,w3,...,wn)
결합 확률
관련된 일 연속적인 단어들이 주어졌을 때 그 다음 단어의 확률을 구하는것
P(wn|w1,w2,..,wn-1)
문제는?
- 가능한 문장의 개수가 너무 많음
- 이것을 계산할 수 있는 충분한 양의 데이터를 가지지 못할 것임
이를 해결하기 위한 가정
Markov Assumption
"한 단어의 확률은 그 단어 앞에 나타나는 몇 개의 단어들에만 의존한다"라는 가정(Markov assumption)
P(the∣its water is so transparent that)≈P(the∣that)
P(the∣its water is so transparent that)≈P(the∣transparent that)
P(wi∣w1w2...wi−1)≈P(wi∣wi−k...wi−1)
P(w1w2...wn)≈∏iP(wi∣wi−k...wi−1)
Markov 가정(바로 직전의 단어에만 영향을 받는다는 가정)을 극단적으로 생각하면 한 단어의 출현은 이전에 단어의 영향을 받지 않는다는 것이 되고 그런 모델이 Unigram.
P(w1w2...wn)≈∏iP(wi)
각각의 단어가 나타날 확률을 단순히 곱한 것
Bigram 모델
한 단어는 그 직전의 단어에 의존한다는 것
P(wi∣w1w2...wi−1)≈∏iP(wi∣wi−1)
N-gram 모델
이것을 trigram, 4-gram,5-gram으로 확장할 수 있다.
멀리 떨어진 단어들간의 관계를 완벽하게 모델링하진 못한다.
하지만 많은 경우 n-gram만으로도 좋은 결과를 얻을 수 있다.
모델평가
내재적 평가
- 언어모델 자체를 평가
외재적 평가
- 과제의 평가지표로 평가(맞춤법 검사 등)