[TIL]Day 79

이재희·2021년 2월 16일
0

TIL

목록 보기
79/312

언어모델

문장 다음에 이어질 단어는?

문장들 중 나타날 확률이 더 높은 것은?

목표 : 문장이 일어날 확률을 구하는 것

언어모델은 왜 필요한가?

  • 기계번역
  • 맞춤법 검사
  • 음성인식

언어모델은 연속적인 단어들에 확률을 부여하는 모델
P(W) = P(w1,w2,w3,...,wn)
결합 확률

관련된 일 연속적인 단어들이 주어졌을 때 그 다음 단어의 확률을 구하는것
P(wn|w1,w2,..,wn-1)

문제는?

  • 가능한 문장의 개수가 너무 많음
  • 이것을 계산할 수 있는 충분한 양의 데이터를 가지지 못할 것임

이를 해결하기 위한 가정
Markov Assumption

"한 단어의 확률은 그 단어 앞에 나타나는 몇 개의 단어들에만 의존한다"라는 가정(Markov assumption)

P(theits water is so transparent that)P(thethat)P(the| its\ water\ is\ so\ transparent\ that) \approx P(the|that)

P(theits water is so transparent that)P(thetransparent that)P(the| its\ water\ is\ so\ transparent\ that) \approx P(the|transparent\ that)

P(wiw1w2...wi1)P(wiwik...wi1)P(w_i|w_1w_2...w_{i-1})\approx P(w_i|w_{i-k}...w_{i-1})

P(w1w2...wn)iP(wiwik...wi1)P(w_1w_2...w_n)\approx \prod_i P(w_i|w_{i-k}...w_{i-1})

Markov 가정(바로 직전의 단어에만 영향을 받는다는 가정)을 극단적으로 생각하면 한 단어의 출현은 이전에 단어의 영향을 받지 않는다는 것이 되고 그런 모델이 Unigram.

P(w1w2...wn)iP(wi)P(w_1w_2...w_n)\approx \prod_i P(w_i)
각각의 단어가 나타날 확률을 단순히 곱한 것

Bigram 모델
한 단어는 그 직전의 단어에 의존한다는 것
P(wiw1w2...wi1)iP(wiwi1)P(w_i|w_1w_2...w_{i-1})\approx \prod_i P(w_i|w_{i-1})

N-gram 모델

이것을 trigram, 4-gram,5-gram으로 확장할 수 있다.

멀리 떨어진 단어들간의 관계를 완벽하게 모델링하진 못한다.

하지만 많은 경우 n-gram만으로도 좋은 결과를 얻을 수 있다.

모델평가
내재적 평가

  • 언어모델 자체를 평가
    외재적 평가
  • 과제의 평가지표로 평가(맞춤법 검사 등)
profile
오늘부터 열심히 산다

0개의 댓글