언어모델
언어모델의 목표는 주어진 문장이 나타날 확률을 구하는 것이다.
언어모델이 왜 필요한가?
- 기계번역(machine translation)
- P(high winds tonight) > P(large winds tonight)
- 맞춤법 검사(spell correction)
- The office is about fifteen minuets from my house.
- P(about fifteen minutes from) > P(about fifteen minuets from)
- 음성인식(speech recognition)
- P(I saw a van) >> P(eyes awe of an)
즉, 언어모델이란 연속적인 단어들(sequence of words)에 확률을 부여하는 모델로, P(W)=P(W1,W2,W3,W4,...,Wn)을 산출하는 모델이라고 할 수 있다. 이와 관련된 일은 연속된 단어들이 주어졌을 때 그 다음 단어의 확률P(Wn∣W1,W2,...,Wn−1)을 구하는 것이다.
결합확률 구하기
결합확률(joint probability) P(W)=P(its,water,is,so,transparent)를 구해보자.
Chain Rule
-
조건부 확률
P(B∣A)=P(A,B)/P(A)
P(A,B)=P(A)P(B∣A)
-
일반적인 경우
P(x1,x2,x3,...,xn)=P(x1)P(x2∣x1)P(x3∣x1,x2)...P(xn∣x1,...,xn−1)
-
Chain Rule
예문에 chain rule을 적용하면, P(its,water,is,so,transparent)=P(its)∗P(water∣its)∗P(is∣its,water)∗P(so∣its,water,is)∗P(transparent∣its,water,is,so)
예측하고자 하는 다음 단어를 w라고 하면, 그 앞에 나타나는 모든 단어를 h(history)로 간주하고 조건부확률 P(w∣h)를 다음과 같이 계산할 수 있다.
하지만 문제는, 가능한 문장의 개수가 너무 많고, 이것을 계산할 수 있는 충분한 양의 데이터를 갖기가 어렵다.
Markov Assumption
문제를 조금 더 단순화해보자. "한 단어의 확률은 그 단어 앞에 나타나는 몇 개의 단어들에만 의존한다"고 가정(Markov assumption)하자.
즉, 한 단어의 확률을 그 앞의 k개 단어가 주어졌을 때 조건부확률로 구할 수 있다.
이러한 방법을 적용하여 Unigram, Bigram, Trigram 등의 모델을 만들 수 있다. N-gram 모델들은 멀리 떨어진 단어들간의 관계(long-distance dependencies)를 완벽하게 모델링하진 못하지만, 많은 경우 n-gram만으로도 좋은 결과를 얻을 수 있다.
Bigram 확률 계산
Bigram의 조건부확률 P(wi,wi−1)은 count(wi−1,wi)/count(wi−1)로 구할 수 있다.
이것은 Maximum likelihood solution이다. 왜일까?
- 예제
문장의 시작 기호와 문장의 끝 기호를 붙인 후, 다음과 같은 bigram 확률을 계산할 수 있다.
모델 평가
-
외재적 평가(extrinisic evalutation)
- 언어모델은 일반적으로 그 자체가 목표이기보다 특정 과제(맞춤법 검사 등)를 위한 부분으로서 쓰임
- 따라서 언어모델이 좋은지 판단하기 위해선 그 과제의 평가지표를 사용하는 경우가 많음
- 예를 들어, 맞춤법 검사를 위해서 두 개의 언어모델 A, B를 사용한다고 할 때 각 모델을 사용해서 얼마나 정확하게 맞춤법 오류를 수정할 수 있는지 계산하고 정확도가 높은 언어모델을 최종적으로 사용
-
내재적 평가(intrinsic evaluation)
- 외재적 평가는 시간이 많이 걸리는 단점
- 언어모델이 학습하는 확률 자체를 평가: Perplexity
- 이 기준으로 최적의 언어모델이 최종 과제를 위해서는 최적이 아닐 수 있음
- 언어모델의 학습과정에 버그가 있었는지 빠르게 확인하는 용도로 사용할 수 있음
-
좋은 언어모델이란?
- 테스트 데이터를 높은 확률로 예측하는 모델
- Perplexity: 확률의 역수를 단어의 개수로 정규화한 값
- Perplexity를 최소화하는 것이 확률을 최대화하는 것