7. Language Model

Eunji·2025년 12월 11일

1. Language Model

Distributional Hypothesis

  • 비슷한 분포를 가진 단어들은 비슷한 의미를 가진다.
  • Word Embedding은 기본적으로 해당 가정에 기반하여 학습

비슷한 분포 \rightarrow 비슷한 문맥

  • Feed-Forward Neural Net Language Model (NNLM)
    • Neural Network를 이용한 학습방법들 중 가장 먼저 등장

1.1 Language Model

  • 언어를 이루는 구성 요소(글자, 형태소, 단어, 단어열, 문장, 문단)를 문맥으로 다음 구성 요소를 예측하거나 생성하는 모델

언어 모델에는 크게 2가지 종류의 모델이 존재한다.

  • Statistical Language Model SLM
  • Deep Neural Network Language Model DNN LM

1.2 Statistical Language Model

  • 주어진 문서(corpus) 내 단어열(or 문장)의 등장 확률을 기반으로 각 단어의 조합을 예측하는 전통적인 언어 모델
  • 실제로 많이 사용하는 단어열(문장)의 확률 분포를 정확하게 근사하는 것이 모델의 목표

Conditional probabilities

  • 조건부 확률 P(B|A): 사건 A가 일어났을 때 사건 B가 일어날 확률
  • 언어 모델: 단어 A가 등장했을 때 바로 다음에 단어 B가 등장할 확률

Chain Rule

  • 언어 모델을 적용하면
  • n개의 단어(w)의 결합 확률을 적용하면

  • corpus 내에서 각 단어들의 조합이 나오는 횟수를 count한 후 확률을 계산하는 방법
    • 모든 단어 조합의 경우의 수를 다 세어야 함.
    • 계산 복잡도가 높아질 뿐만 아니라 무한한 크기의 corpus 필요 \rightarrow 비현실적

Markov Assumption

  • 기존 연쇄 법칙의 복잡성 해결, 간소화
  • 미래 사건에 대한 조건부가 과거에 대해서 독립
  • 현재의 사건에만 영향을 받는다는 가정을 전제로 연쇄 법칙 설명
  • 단어 wnw_n이 나타날 확률은 그 앞이 단어 wn1w_{n-1}이 나타날 확률하고만 연관 존재
  • 1차 Markov Assumption의 한계
  • 어떤 단어의 등장 확률이 바로 앞의 단어하고만 연관이 있다는 1차 Markov Assumption 가정
    • 언어 현상에 적용하기에는 지나친 단순화
    • 언어의 장기 의존성 간과 \rightarrow 예측 정확도가 낮아질 수 있음

2- gram

  • "다음 단어 확률은 바로 앞 1개의 단어에만 의존한다"는 1차 마르코프 가정 사용
  • 확률은 corpus에서 2단어(bigram) 출현 횟수

1.3 N-gram

  • 문장 내 단어는 주변의 여러 단어와 연관된다고 가정
  • N: 주변 몇 개의 단어를 볼 것인지 정하는 임의의 숫자
  • N-gram: N개의 단어열

E.g., "The fat cat sat on the mat"

  1. 1-gram(unigram)
    • The, fat, cat, ...
  2. 2-gram(bigram)
    • The fat, fat cat, ...
  3. 3-gram(trigram)
    • The fat cat, fat cat sat, ...
  4. 4-gram
    • The fat cat sat, fat cat sat on, ...

N-1차 Markov Assumption

  • 특정 단어가 등장하는 확률을 계산할 때에 이전 N-1개의 단어가 등장하는 확률만을 고려한다는 가정

E.g.,

  • P(I|<s>): 문장이 시작(<s>)된 후 "I"가 나올 확률
    • 분모: <s>가 corpus에 등장한 총 횟수
    • 분자: "<s> I"라는 2-gram이 등장한 횟수

E.g.,

  • 셰익스피어 작품 기반 N-gram 문장 생성
  1. Unigram
    • To him swallowed confess hear both. Which. Of save on trail for are ay device and rote life have
    • Hill he late speaks; or! A more to leg less first you enter

단어의 sequence가 고려되지 않아 모든 단어가 독립적이라고 본다.

  1. Bigram
    • Why dost stand forth thy canopy, forsooth; he is this palpable hit the King Henry. Live king. Follow.
    • What means, sir. I confess she? Then all sorts, he is trim, captain.

1-gram보다 자연스럽지만 전체적으로 여전히 부자연스럽다.

  1. Trigram
    • King Henry. What! I will go seek the traitor Gloucester. Exeunt some of the watch. A great banquet serv'd in;
    • It cannot be but so.

1-gram, 2-gram 모델의 문장보다 자연스럽다. corpus에 존재하는 텍스트에 가깝게 생성되어 새로운 문장이라고 보기 어렵다.

N-gram 모델의 한계

  • 생성된 문장이 지나치게 부자연스럽거나 기존 corpus와 지나치게 유사
  • 단어열의 확률값이 corpus에 따라 크게 달라짐
  • 방대한 양의 corpus 필요
  • Sparsity 문제
    • Corpus에 등장하지 않는 단어열의 확률값은 모두 0
    • 예측의 정확도를 떨어뜨리는 요인

1.4 Perplexity

  • 일반적인 언어 모델의 평가
    • 모델 간 비교 \rightarrow 상당한 시간 소요

Perplexity(PPL)

  • 언어 모델의 성능을 자체적으로 평가하는 내부 평가 척도
  • 짧은 시간 안에 모델을 평가하거나 여러 모델을 비교할 때 주로 사용
  • 주어진 확률 모델이 샘플을 얼마나 잘 예측하는지를 측정하는 지표
  • 모델의 혼란도를 수치화한 것으로 값이 낮을수록 다음 단어를 더 확실하게 예측했음을 의미

Perplexity 계산

  • Perplexity는 모델이 선택할 수 있는 경우의 수를 의미하는 분기계수
    • 모델이 샘플의 확률을 예측하는 시점에서 얼마나 많은 후보군을 두고 고민하는가를 나타냄
    • PPL이 높을수록 모델이 더 많은 후보군에서 고민 \rightarrow 예측에 대한 확실성이 낮음
  • 10개의 MNIST data에 대한 분기계수이므로 PPL이 10이다.
    • PPL = 후보의 개수

PPL 계산식

  • N개의 단어 wNw_N으로 이루어진 문장 WW에 대하여 다음 단어를 예측하는 언어 모델의 PPL 계산식
  • E.g.. MNIST

2- gram PPL 계산식

  • N-gram 모델에서는 N-1차 마르코프 가정에 대한 연쇄 법칙 적용
    • 독립 가정 하에서 각 위치에서 10개 중 무작위 선택
    • 모델이 평균적으로 10개의 선택지 중에서 헷갈림

1.5 Log Probabilities

  • 언어 모델의 확률 계산 시, 원래 확률값에 log를 취하는 것이 보편적
  • Underflow를 피하기 위함
    • Underflow: 부동 소수점 연산에서 컴퓨터가 표현할 수 있는 것보다 작은 값이 발생하여 계산 결과를 표시할 수 없는 상태
  • 곱셈 연산은 덧셈 연산보다 계산 자원이 크고, 결과값이 0에 가까운 작은 값으로 계산된 가능성 존재
  • log로 곱셈 \rightarrow 덧셈
    • 계산이 간단해지고 원래 확률 계산보다 underflow를 피할 수 있다.

N-gram

  • log space에서 n개의 단어로 이루어진 단어열의 확률을 계산하는 N-gram 모델식

1.6 Generalization

  • 통계적 언어 모델의 한계
    • 제한된 양의 corpus로 인해 corpus에 등장하지 않은 단어열에 대해서는 제대로 예측하지 못하고 정확도가 떨어짐

이와 같은 sparsity 문제를 해결하고 모델의 일반화 능력을 향상시키기 위해 다양한 일반화 기법들 제시

  • Laplace smoothing, Good-Turing smoothing, etc.,

1. Smoothing

  • 모델이 한 번도 본 적 없는 단어 조합에 특정 값(α\alpha)을 부여하여 확률 분포에 약간의 변화를 주는 방법($0< \alpha \le 1)
  • Corpus에 없는 단어열로 인해 전체 문장의 확률이 0이 되는 sparsity 문제 방지

2. Laplace Smoothing

  • α\alpha = 1.
  • 한 번도 등장하지 않은 단어열이 최소 한 번은 등장했다고 가정
  • E.g.,
  • 한계
    • 제로 데이터(corpus에 등장하지 않는 단어열)가 적은 경우 유용
    • 계산을 거듭할수록 원래 단어의 빈도수에서 크게 벗어나는 문제 야기
    • 또한, 제로 데이터에 특정 값을 부여하여도 N-gram 모델의 일반화 문제는 완전히 해소되지 않음

3. Interpolation

  • 특정 N-gram의 확률을 이전 N-gram의 확률과 섞는 방법
  • E.g., 3-gram
    • 2-gram, 1-gram 모델의 확률까지 모두 구한 후 일정 비율 (λ\lambda)의 가중치를 각각 곱한 후 모두 합하는 방식
  • Laplace smoothing은 모든 제로 데이터에 똑같은 빈도수를 부여하기 때문에 문제
  • 보간법 사용 시, 제로 데이터들의 N-gram 정보에 따라 서로 다른 빈도 부여 가능
  • 가중치(λ\lambda)는 검증 corpus에서 각 N-gram의 확률을 최대화하는 0보다 크고 1보다 작거나 같은 값으로 설정

4. Back-off

  • 보간법과 유사, 여러 N-gram을 함께 고려
  • 모든 N-gram의 확률을 합하지 않는다는 점이 보간법과의 차이
  • E.g., 3-gram
    • 3-gram, 2-gram, 1-gram 확률 중 빈도수가 0 이상이며 N의 차수가 높은 N-gram
profile
갓생호소인

0개의 댓글