ALL About NLP & LLM

N-gram

bbakyun 2025. 3. 4. 22:49

Introduction


  • count에 기반한 통계적 접근을 사용한 SLM의 일종
  • 앞서 다룬 SLM 모델과 달리 이전에 등장한 모든 단어를 고려하는 것이 아니라 일부 단어만 고려하는 접근 방식
    • 이전에 등장한 모든 단어를 고려한다면 무엇이 문제일까? 생각하고 넘어가보도록 하자!
  • 일부 단어를 몇 개 보느냐를 결정하는 것이 n-gram에서 n!

Corpus에서 카운트하지 못하는 경우의 감소


  • SLM의 한계는 훈련 코퍼스에 확률을 계산하고 싶은 문장이나 단어가 없을 수 있다는 점
  • 또한, 확률을 계산하고 싶은 문장이 길어질수록 갖고 있는 코퍼스에서 그 문장이 존재하지 않을 가능성이 높다. 즉, 카운트할 수 없을 가능성이 높다
  • 따라서 참고하는 단어들을 줄이면 카운트를 할 수 있을 가능성을 높일 수 있다. 

$$ P(is|An\;Adorable\;little\;boy)\approx P(is|Little\;boy) $$

 

  • 훈련 코퍼스에 좌변의 시퀀스가 나올 확률보다 우변의 little boy is 라는 더 짧은 시퀀스가 존재할 가능성이 더 높다.
  • 즉, 단어의 확률을 구하고자 기준 단어의 앞 단어를 전부 포함해서 카운트하는 것이 아니라, 앞 단어 중 임의의 개수만 포함해서 카운트하여 근사하는 원리

N-gram


  • n = 1 : unigram
  • n = 2 : bigram
  • n = 3 : trigram
  • n-gram을 통한 언어 모델에서는 다음에 나올 단어의 예측은 오직 n-1개의 단어에만 의존한다.

  • 만약 훈련 코퍼스에서 boy is spreading이 1000번 등장했다고 하자. 그리고 boy is spreading insults가 500번, boy is spreading smiles가 200번 등장했다면 insults가 등장할 확률을 50%, smilies가 등장할 확률은 20%이다. 확률적 선택에 따라 우리는 insults가 더 맞다고 판단하게 된다.

N-gram Language Model의 한계


  • 위 예시를 보면 boy is spreading만 고려했을 뿐 An adorable boy를 고려하지 못했다.
  • ‘작고 사랑스러운’ 수식어를 모두 고려하여 다음 말을 예측하였다면 insults(모욕을 퍼트리다) 보다는 smiles가 자연스럽다.
  • 즉, 전체 문장 시퀀스를 고려한 언어 모델보다는 정확도가 떨어질 수 밖에 없다.

Sparsity Problem(희소 문제)

  • 문장에 존재하는 앞에 나온 단어를 모두 보는 것보다 일부 단어를 보는 것으로 현실적으로 코퍼스에서 카운트 할 수 있는 확률을 높일 수 있었지만, n-gram도 여전히 희소 문제가 존재한다.

N을 선택하는 것은 Trade-off 문제

  • n을 1보다는 2를 선택하는 것이 대부분의 경우에서 언어 모델의 성능을 높일 수 있다. 가령 spreading만 보는 것보다는 is spreading을 보고 다음 단어를 예측하는 것이 더 정확하다.
  • 단, N을 너무 크게 선택하면 실제 훈련 코퍼스에서 해당 n-gram을 카운트할 수 있는 확률은 적어지므로 희소 문제는 점점 심각해진다.
  • n을 작게하면 훈련 코퍼스에서 카운트는 잘 되겠지만 근사의 정확도는 현실의 확률분포와 멀어집니다.
  • 즉, N을 선택하는 것은 정확도와 희소 문제 사이의 trade-off관계에서 잘 선택해야 하는 것이 중요하다.
  • 단, n은 최대 5를 넘게 잡아서는 안 됨. (권장사항)

Domain에 맞는 코퍼스의 수집


  • 우리는 딥러닝에서 데이터 수집이 어렵다는 것을 익히 잘 알고 있을 것이다.
  • n-gram을 이용한 Language Model에서도 마찬가지이다.
  • 어떤 분야인지, 어떤 어플리케이션인지에 따라서 특정 단어들의 확률 분포른 당연히 다르다.
  • 훈련에 사용된 도메인 코퍼스가 무엇이냐에 따라서 성능이 비약적으로 달라진다.
  • 이 점을 잘 고려하여 코퍼스를 잘 수집하자!

한계 극복


  • N-gram LM의 한계를 극복한 인공 신경망을 이용한 언어 모델을 이후에 다뤄보도록 하겠다.
  • NNLM으로 불리는 Feed forward Neural Network LM.

'ALL About NLP & LLM' 카테고리의 다른 글

Neural Network Language Model  (0) 2025.03.04