NLP - Language Model
언어모델Permalink
- 다음 문장 다음에 이어질 단어는?
- Please turn your homework
in
orthe
?
- Please turn your homework
- 다음 두 문장 중 나타날 확률이 더 높은 것은?
- all of a sudden I notice three guys standing on the sidewalk.
- on guys all I of notice sidewalk three a sudden standing the.
- 목표: 문장이 일어날 확률을 구하는 것
- 왜 필요한가?
- 기계번역 (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)
- The office is about fifteen minuets from my house
- 음성인식 (speech recognition)
- P(I saw a van) » P(eyes awe of an)
- 기계번역 (machine translation)
- 언어모델: 연속적인 단어들 (sequence of words)에 확률을 부여하는 모델
- 관련된 일: 연속적인 단어들이 주어졌을 떄 그 다음 단어의 확률을 구하는 것
P(W) 구하기Permalink
- 결합확률 구하기
- chain rule 을 사용해보자
Chain rulePermalink
- 조건부 확률
-
- 두 개 이상의 확률변수들의 경우
-
- 풀이
-
-
- 일반적인 경우
-
-
-
- 조건부 확률
-
- 문제는?
- 가능한 문장의 개수가 너무 많음
- 이것을 계산할 수 있는 충분한 양의 데이터를 가지지 못할 것임.
-
- Markov Assumption
- “한 단어의 확률은 그 단어 앞에 나타나는 몇 개의 단어들에만 의존한다”라는 가정
-
-
- 바로 직전
개의 단어에만 의존하는 조건부확률로 근사하겠다.
- 바로 직전
-
- 단순화 시키면 곱의 형태로 나타나게 됨.
- “한 단어의 확률은 그 단어 앞에 나타나는 몇 개의 단어들에만 의존한다”라는 가정
- Unigram 모델
-
- 이 모델로 생성된 문장 예제들
- fifth, an, of, futures, the, an incorporated, a, a, the, inflation, most, dollars, quarter, in, is, mass
-
- Bigram 모델
-
- 바로 직전의 단어에 대해서 조건부확률
-
- N-gram 모델
- 이것을 trigrams, 4-grams, 5-grams로 확장할 수 있음
- 멀리 떨어진 단어들간의 관계를 완벽하게 모델링하진 못한다.
- 하지만 많은 경우 n-gram 만으로도 좋은 결과를 얻을 수 있음
Bigram 확률 계산Permalink
Maximum likelihood estimationPermalink
왜 이것이 MLE 인가Permalink
문장이 여러개가 주어진 Data: D
parameter:
parameter 가 주어졌을 때 data가 나타날 확률:
MLE 유도Permalink
우선,
두 개의 단어, a와 b가 주어졌을 때.
문장일 경우 대문자, 단어일 경우 소문자로 사용할 것임.
여기서
두 문장을 예로 들면,
로그를 적용해보면,
확률로 만드는 제약조건,
b 는 고정이고 a 값만을 Vocabulary에 속해있는 모든 단어들에 대해서 더하는 것.
따라서 이러한 제약조건이 Parameter(
이 조건 하에서
라그랑주 방법을 사용하면 쉽게 해결됨.
- 이 식이 최대화되는
를 구하면 됨. : “b a” 가 나오는 빈도
0으로 놓고 풀면
이렇게 되고,
모든 a 에 관해서 양변에 추가를 하면
여기서
이 값을 다시 위의 식(
이 식은 앞에서 MLE 처음에 언급한
예제Permalink
<s> I am Sam</s>
<s> Sam I am </s>
<s> I do not like green eggs and ham </s>
- Bigram 빈도수
- Bigram 확률
모델평가Permalink
- 외재적 평가 (extrinsic evaluation)
- 언어모델은 일반적으로 그 자체가 목표이기보다 특정 과제르 ㄹ위한 부분으로서 쓰여지게 됨
- 따라서 언어모델이 좋은지 판단하기 위해선 그 과제의 평가지표를 사용하는 경우가 많음
- 예를 들어, 맞춤법 검사를 위해서 두 개의 언어모델 A, B를 사용한다고 할 때
- 각 모델을 사용해서 얼마나 정확하게 맞춤법 오류를 수정할 수 있는 지 계산
- 정확도가 높은 언어모델을 최종적으로 사용
- 내재적 평가 (intrinsic evaluation)
- 외재적 평가는 시간이 많이 걸리는 단점
- 언어모델이 학습하는 확률자체를 평가 못함: perplexity(3.2.1 Perplexity in SLP book)
- 이 기준으로 최적의 언어모델이 최종 과제를 위해서는 최적이 아닐 수도 있음
- 하지만 언어모델의 학습과정에 버그가 있었는지 빨리 확인하는 용도로 사용 가능.
PerplexityPermalink
- 좋은 언어모델이란?
- 테스트 데이터를 높은 확률로 예측하는 모델
- perplexity: 확률의 역수를 단어의 개수로 정규화한 값
- perplexity를 최소화하는 것이 확률을 최대화 하는 것
-
- use chain rule
-
- bigram perplexity
-
AppendixPermalink
ReferencePermalink
Speech and Language Processing : https://web.stanford.edu/~jurafsky/slp3/ed3book_dec302020.pdf
Leave a comment