-
[13주차 - Day3] NLP: 언어모델교육/프로그래머스 인공지능 데브코스 2021. 8. 10. 09:33728x90
언어모델
연속적인 단어들(sequence of words)에 확률을 부여 P(W)=P(w1,w2,w3,...,wn)->결합확률
연속적인 단어들이 주어졌을 때 그 다음 단어의 확률을 구하는 것 P(wn|w1,w2,...,wn-1)->조건부확률
기계번역, 맞춤법 검사, 음성인식에 필요
결합확률(P(W), joint probability)구하기
chain rule이용
더보기조건부확률 : P(B|A)=P(A,B)/P(A) P(A,B)=P(A)P(B|A)
두 개 이상의 확률변수들의 경우 : P(A,B,C,D)=P(A)P(B|A)P(C|A,B)P(D|A,B,C)
일반적인 경우로 확장하면 : P(X1,X2, X3,...,Xn)=P(X1)P(X2|X1)P(X3|X1,X2)...P(Xn|X1,...,Xn-1)
일반적인 경우 ->W1~Wn까지의 sequence가 주어져있을때 각각의 Wi와 이전의 모든 조건부확률을 곱해서 구함
ex)P(its, water, is, so, transparent, that)
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)
조건부 확률(P(w|h),conditional probability)구하기
P(w|h) : w이전의 모든 단어들(=h, history)이 주어져있을때 w(현재단어)의 확률 ->이걸 계산할 수 있으면 문장의 확률을 계산할 수 있을 것
ex)P(the|its water is so transparent that)=Count(its water is so transparent that the)/Count(its water is so transparent that)
->대부분의 경우 계산할 수 있는 충분한 양의 데이터를 가지기 힘들기 때문에 0에 가까운 값이 되어버림
->Markov Assumption로 해결
Markov Assumption
한 단어의 확률은 그 단어 앞에 나타나는 몇 개의 단어들에만 의존한다
ex)P(the|its water is so transparent that)≒P(the|that)
ex)P(the|its water is so transparent that)≒P(the|transparent that)
markov assumption Markov Assumption을 사용한 모델 ->N-gram모델이라고함
많은 경우 이걸로도 좋은 결과를 낼 수 있지만 멀리 떨어진 단어들간의 관계(long-distance dependencies)를 완벽하게 모델링하지는 못함
Bigram 확률 계산 예제1
예제 : 3개의 문장 Bigram 확률 계산 예제2
Bigram 확률 계산 예제3
모델 평가
- 외재적 평가(extrinsic evaluation)
- 언어모델은 일반적으로 그 자체가 목표이기보다 특정 과제를 위한 부분으로서 사용하게되므로 언어모델이 좋은지 판단하기 위해선 과제의 평가지표를 사용하는 경우가 많음
- 시간이 많이 걸리는 단점
- 내재적 평가(intrinsic evalution)
- 언어모델이 학습하는 확률자체를 평가(Perplexity)
- 이 기준으로 나온 최적의 언어모델이 최종 과제를 위해서는 최적이 아닐 수도 있음
- 언어모델의 학습과정에 버그가 있는지 빨리 확인하는 용도로 사용
더보기좋은 모델이란 테스트 데이터를 높은 확률로 예측하는 모델
Perplexity란 확률의 역수를 단어의 개수로 정규화한 값으로 이것을 최소화하는 것이 확률을 최대화하는 것
'교육 > 프로그래머스 인공지능 데브코스' 카테고리의 다른 글
[13주차 - Day5] NLP: 단어 임베딩 (0) 2021.08.10 [13주차 - Day4] NLP: 문서분류 (0) 2021.08.10 [13주차 - Day2] NLP: 텍스트 전처리 (0) 2021.08.10 [13주차 - Day1] Spark IV (0) 2021.08.10 [12주차 - Day5] Spark 실습 (0) 2021.08.10 - 외재적 평가(extrinsic evaluation)