1. Language Model
Distributional Hypothesis
- 비슷한 분포를 가진 단어들은 비슷한 의미를 가진다.
- Word Embedding은 기본적으로 해당 가정에 기반하여 학습
비슷한 분포 → 비슷한 문맥
- 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 필요 → 비현실적
Markov Assumption
- 기존 연쇄 법칙의 복잡성 해결, 간소화
- 미래 사건에 대한 조건부가 과거에 대해서 독립
- 현재의 사건에만 영향을 받는다는 가정을 전제로 연쇄 법칙 설명
- 단어 wn이 나타날 확률은 그 앞이 단어 wn−1이 나타날 확률하고만 연관 존재
- 1차 Markov Assumption의 한계
- 어떤 단어의 등장 확률이 바로 앞의 단어하고만 연관이 있다는 1차 Markov Assumption 가정
- 언어 현상에 적용하기에는 지나친 단순화
- 언어의 장기 의존성 간과 → 예측 정확도가 낮아질 수 있음
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-gram(unigram)
- 2-gram(bigram)
- 3-gram(trigram)
- The fat cat, fat cat sat, ...
- 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.,
- 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가 고려되지 않아 모든 단어가 독립적이라고 본다.
- 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보다 자연스럽지만 전체적으로 여전히 부자연스럽다.
- 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
- 일반적인 언어 모델의 평가
- 모델 간 비교 → 상당한 시간 소요
Perplexity(PPL)
- 언어 모델의 성능을 자체적으로 평가하는 내부 평가 척도
- 짧은 시간 안에 모델을 평가하거나 여러 모델을 비교할 때 주로 사용
- 주어진 확률 모델이 샘플을 얼마나 잘 예측하는지를 측정하는 지표
- 모델의 혼란도를 수치화한 것으로 값이 낮을수록 다음 단어를 더 확실하게 예측했음을 의미
Perplexity 계산
- Perplexity는 모델이 선택할 수 있는 경우의 수를 의미하는 분기계수
- 모델이 샘플의 확률을 예측하는 시점에서 얼마나 많은 후보군을 두고 고민하는가를 나타냄
- PPL이 높을수록 모델이 더 많은 후보군에서 고민 → 예측에 대한 확실성이 낮음
- 10개의 MNIST data에 대한 분기계수이므로 PPL이 10이다.
PPL 계산식
- N개의 단어 wN으로 이루어진 문장 W에 대하여 다음 단어를 예측하는 언어 모델의 PPL 계산식
2- gram PPL 계산식
- N-gram 모델에서는 N-1차 마르코프 가정에 대한 연쇄 법칙 적용
- 독립 가정 하에서 각 위치에서 10개 중 무작위 선택
- 모델이 평균적으로 10개의 선택지 중에서 헷갈림
1.5 Log Probabilities
- 언어 모델의 확률 계산 시, 원래 확률값에 log를 취하는 것이 보편적
- Underflow를 피하기 위함
- Underflow: 부동 소수점 연산에서 컴퓨터가 표현할 수 있는 것보다 작은 값이 발생하여 계산 결과를 표시할 수 없는 상태
- 곱셈 연산은 덧셈 연산보다 계산 자원이 크고, 결과값이 0에 가까운 작은 값으로 계산된 가능성 존재
- log로 곱셈 → 덧셈
- 계산이 간단해지고 원래 확률 계산보다 underflow를 피할 수 있다.
N-gram
- log space에서 n개의 단어로 이루어진 단어열의 확률을 계산하는 N-gram 모델식
1.6 Generalization
- 통계적 언어 모델의 한계
- 제한된 양의 corpus로 인해 corpus에 등장하지 않은 단어열에 대해서는 제대로 예측하지 못하고 정확도가 떨어짐
이와 같은 sparsity 문제를 해결하고 모델의 일반화 능력을 향상시키기 위해 다양한 일반화 기법들 제시
- Laplace smoothing, Good-Turing smoothing, etc.,
1. Smoothing
- 모델이 한 번도 본 적 없는 단어 조합에 특정 값(α)을 부여하여 확률 분포에 약간의 변화를 주는 방법($0< \alpha \le 1)
- Corpus에 없는 단어열로 인해 전체 문장의 확률이 0이 되는 sparsity 문제 방지
2. Laplace Smoothing
- α = 1.
- 한 번도 등장하지 않은 단어열이 최소 한 번은 등장했다고 가정
- 한계
- 제로 데이터(corpus에 등장하지 않는 단어열)가 적은 경우 유용
- 계산을 거듭할수록 원래 단어의 빈도수에서 크게 벗어나는 문제 야기
- 또한, 제로 데이터에 특정 값을 부여하여도 N-gram 모델의 일반화 문제는 완전히 해소되지 않음
3. Interpolation
- 특정 N-gram의 확률을 이전 N-gram의 확률과 섞는 방법
- E.g., 3-gram
- 2-gram, 1-gram 모델의 확률까지 모두 구한 후 일정 비율 (λ)의 가중치를 각각 곱한 후 모두 합하는 방식
- Laplace smoothing은 모든 제로 데이터에 똑같은 빈도수를 부여하기 때문에 문제
- 보간법 사용 시, 제로 데이터들의 N-gram 정보에 따라 서로 다른 빈도 부여 가능
- 가중치(λ)는 검증 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
