YZ ZONE

[자연어처리] 9. 언어모델 Language Model, LM 본문

IT/자연어처리

[자연어처리] 9. 언어모델 Language Model, LM

러블리YZ 2023. 2. 3. 12:23

언어를 이루는 구성요소에 확률값을 부여해 이를 바탕으로 다음 구성요소를 예측, 생성.

언어 모델은 통계적 언어모델SLM, 딥러닝 언어 모델DNN LM이 있음.

 

통계적 언어 모델(Statical Language Model, SLM)

단어열이 가지는 확률 분포를 기반으로 각 단어의 조합을 예측하는 전통적인 언어모델.

즉 주어진 글자,단어를 바탕으로 다음에 나올 확률이 가장 높은 글자나 단어를 예측.

조건부 확률(A가일어났을때 B가일어날 확률)을 언어 현상에 적용하는 데에서 출발.

 

Ex) 스마트폰의 자동완성 기능

모델은 훈련시 주어지는 데이터(코퍼스 corpus) 내에서 각 단어들의 조합이 나오는 횟수를 카운트한 후 이에 기반하여 확률을 계산.

 

마르코프과정?

단어들의 조합이 무한하며, 모든 단어 조합의 경우의 수를 세어서 확률로 나타내는 것이 불가능. → 과거에 대해서는 독립이며 현재의 사건에만 영향을 받는다는 가정을 전제로한 연쇄법칙.

 

N-garm 언어모델 (N-1차 마르코프 가정)

확률이 바로 앞의 한 단어하고만 연관이 있다고 가정하면 멀리 떨어진 단어와도 의존관계를 가진다는 언어의 특성이 간과되어 지나치게 단순화되어 예측의 정확도가 떨어질수있음.

N: 주변 몇 개의 단어를 볼 것인지 전하는 임의의 숫자

 

EX) ‘The boy is looking at a pretty girl’의 2-gram으로 구하면

The boy, boy is, is looking …

N의 수를 늘리면 단어 등장 확률을 예측하는 정확도가 올라가고 문장이 자연스러워지지만 훈련에 사용된 코퍼스와 지나치게 유사하고 카운트를 기반으로한 모델이기에 희소성 문제가 있음.

 

 

 

 

일반화

통계적 언어 모델은 코퍼스 내의 단어 출현 빈도(카운트)에 기반하여 언어를 예측해 희소성 문제가 발생. 희소성 문제는 예측 정확도를 낮추는 요인. 테스트 데이터셋이 훈련 데이터셋과 유사해야 예측 성능이 좋다는 한계. 새로운 데이터셋에 대해서는 제대로된 예측을 하지 못함.

한전된 코퍼스 내에서 모델의 일반화 능력을 향상시키기 위한 다양한 일반화 기법들.

-스무딩 smoothing

코퍼스 내에 존재하지 않는 단어 조합, 즉 모델이 한번도 본적없는 단어 조합에 대해 특정 값을 부여해 확률 분포에 약간의 변화를 주는 방법. 특정 단어, 단어열이 하나라도 없으면 모든 확률이 0이 되는 희소성문제 존재.

라플라스 스무딩: 제로데이터(코퍼스에 없는 단어열)가 적은 경우 쉽고 유용.제로데이터에 특정 값을 더하는 기법. 일반화 달성은 어려움.

-보간법(Interpolation), 백오프(Back off)

보간법은 특정 N-gram의 확률을 이전 N-gram확률과 섞어 일반화를 꾀함.

라플라스 스무딩은 모든 제로 데이터에 같은 빈도수를 부여해 문제가 발생하는데

보간법은 제로 데이터들의 N-gram정보에 따라 서로 다른 빈도 부여 가능.

보간법 및 백오프기법을 사용하면 특정 N-gram보다 작은 N-gram의 단어열을 고려할 수 있어 보다 나은 스무딩과 일반화 가능.

 

 

 

퍼플렉서티(PPL, Perplexity) _헷갈리는 정도

주어진 확률 모델이 샘플을 얼마나 잘 예측하는가에 대한 측정지표. 모델 내에서 성능을 자체적으로 평가하는 내부평가방법으로 짧은 시간 안에 평가 가능. PPL 점수가 낮을수록 좋음.