TIL_모각코

N-gram

ID_DI 2022. 7. 25. 21:55

N-gram

**Count-based representation**(횟수 기반의 벡터 표현방식을 사용한 언어 모델)

  • sequence 를 N 개의 단어로 구성하여 토큰화
    • 한개의 단어를 count 하여, 단어의 순서를 무시하게 되어 문맥이 무시되는 BoW(Bag of Word) 의 단점 보완
    • ex) N = 2
      • I love you : [I love] [love you]

한계점

  • Long-term dependency(장기 의존성)
    • 일부 단어의 sequence와 count 만을 가지고 판단하기 때문에 앞쪽 토큰은 무시 될 수 있음
    • 해결방안으로 N = 1~5 까지 여러 N-gram 을 다양하게 혼합하여 사용하지만 역시 완전하게 해소되지 못함
  • N 을 너무 크게 하면, BoW 의 Sparsity (희소성) 의 문제가 부활하게 됨.

N-gram 의 Sparsity 를 해결하는 기법

Smoothing

  • frequency 값이 0이 되지 않도록 보정하는 기법
    • 아주 작은 값을 모든 단어의 frequency 에 더함

Backoff

  • 확률이 0 일 때, N 을 더 작게 하여 분할하는 기법

<br>

<br>

참고) https://yngie-c.github.io/nlp/2020/05/22/nlp_ngram/