ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [13주차 - Day3] NLP: 언어모델
    교육/프로그래머스 인공지능 데브코스 2021. 8. 10. 09:33
    728x90

    언어모델

    연속적인 단어들(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

    모델 평가

    1. 외재적 평가(extrinsic evaluation)
      • 언어모델은 일반적으로 그 자체가 목표이기보다 특정 과제를 위한 부분으로서 사용하게되므로 언어모델이 좋은지 판단하기 위해선 과제의 평가지표를 사용하는 경우가 많음
      • 시간이 많이 걸리는 단점
    2. 내재적 평가(intrinsic evalution)
      • 언어모델이 학습하는 확률자체를 평가(Perplexity)
      • 이 기준으로 나온 최적의 언어모델이 최종 과제를 위해서는 최적이 아닐 수도 있음
      • 언어모델의 학습과정에 버그가 있는지 빨리 확인하는 용도로 사용
    더보기

    좋은 모델이란 테스트 데이터를 높은 확률로 예측하는 모델

    Perplexity란 확률의 역수를 단어의 개수로 정규화한 값으로 이것을 최소화하는 것이 확률을 최대화하는 것

     

    댓글

Designed by Tistory.