n-그램 (N-gram)

언어학
한 줄 정의: 텍스트에서 연속으로 나타나는 n개의 단어(또는 문자) 연쇄. n의 값에 따라 유니그램, 바이그램, 트라이그램 등으로 불린다.

쉽게 풀면

텍스트를 연속된 n개의 단어(또는 글자) 단위로 잘라서 만든 조각을 가리켜요. 'the cat sat'을 2개씩 묶으면 'the cat', 'cat sat'처럼 되는데, 이런 단위를 바이그램(2-gram)이라고 불러요.

왜 중요한가

n-그램은 다음에 올 단어를 확률적으로 예측하는 언어모델의 근간 단위로, 통계적 자연어처리에서 구문 빈도 분석, 저자 판별, 기계번역 평가 등 폭넓은 전산언어학 응용 연구에서 핵심적으로 활용됩니다.

핵심 정리

예시로 보기

가상의 계산. “the cat sat on the mat the cat ate”(9개 단어)에서 바이그램은 9 − 2 + 1 = 8개입니다(코드로 계산).

바이그램빈도
the cat2
cat sat1
sat on1
on the1
the mat1
mat the1
cat ate1

단어 the는 3번 나타나고 그중 2번 뒤에 cat이 왔으므로 P(cat | the) = 2/3, 1번 뒤에 mat이 왔으므로 P(mat | the) = 1/3입니다. 이렇게 모은 빈도가 최대우도 추정의 바탕입니다. 표본이 이처럼 작으면 한 번도 보지 못한 연쇄(예: “the sat”)의 확률이 0이 되어 문제가 되며, 이것이 스무딩이 필요한 이유입니다.

자주 하는 오해

오해바로잡기
n이 클수록 좋은 모형이다.자료가 충분하지 않으면 희소성 때문에 성능이 떨어집니다. n은 자료 크기와 목적에 맞춰 정합니다.
빈번한 n-그램은 의미 있는 단위다.자주 나타난다는 것이 문법적·의미적으로 하나의 단위라는 뜻은 아닙니다. 별도의 검토가 필요합니다.
n-그램 모형은 문장 전체의 의미를 이해한다.직전 몇 개 항목만 보므로 멀리 떨어진 의존 관계는 잡지 못합니다. 이 한계가 순환신경망·트랜스포머 계열 모형의 동기가 되었습니다.
논문 속 “N-gram 분석”은 늘 같은 방법이다.연구에 따라 인접 연쇄의 빈도를 센 것일 수도, 도구가 제공하는 연관어(동시 출현) 분석을 그렇게 부른 것일 수도 있습니다. 방법 절의 정의를 확인해야 합니다.

논문에서는 이렇게 쓰입니다

실제 논문에서

국내 학술지 논문에서 이 용어가 쓰인 문장을 그대로 옮겼습니다. 제목·학술지·연도와 원문 링크를 함께 적었습니다.

예시 문장

아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.

"엔그램 빈도 분석은 자연어처리에서 언어모델을 구축하거나 코퍼스언어학에서 습관적 연쇄를 탐지하는 데 널리 활용된다."

엔그램 개념이 자연어처리와 코퍼스언어학 양쪽에서 활용되는 범용적 분석 단위임을 설명하고 있다.

"본 연구는 대규모 말뭉치에서 추출한 삼중어(trigram) 빈도를 바탕으로 학습자 작문의 어색한 연어 표현을 자동으로 탐지하는 방법을 제안한다."

연속된 세 단어의 결합 빈도(n-그램)를 통계적으로 분석함으로써, 문법적으로는 맞지만 실제로는 잘 쓰이지 않는 부자연스러운 표현을 자동으로 찾아내는 응용 사례를 보여주는 예문이에요.

조금 더 깊게 보면

n이 커질수록 문맥 정보는 늘지만 자료 희소성 문제가 심해지므로 백오프나 스무딩 기법이 함께 필요하며, 신경망 기반 언어모델이 등장한 뒤에도 코퍼스 탐색이나 자질 추출 단계에서는 여전히 널리 쓰이는 보완적 도구입니다.

n-그램 모델은 마르코프 가정(직전 n-1개의 단어만 다음 단어 예측에 영향을 준다는 가정)에 기반하므로 장거리 의존 관계를 포착하지 못한다는 근본적 한계가 있으며, 이 한계가 순환신경망과 트랜스포머 기반 언어모델 개발의 주요 동기가 되었다.

문자 단위 n-그램은 단어 경계에 의존하지 않아 오탈자 교정이나 언어 판별처럼 형태적 잡음에 강건해야 하는 응용에서 단어 단위 n-그램보다 선호되는 경우가 많다.

주의할 점

n-그램을 단순한 단어 조각으로만 이해해서는 안 되며, 그 등장 빈도를 통계적으로 활용해 다음 요소를 예측하거나 텍스트의 특징을 계량화하는 확률적 분석 단위라는 점에 유의해야 한다.

엔그램은 통계적으로 자주 나타나는 연쇄를 포착할 뿐, 그 연쇄가 문법적으로나 의미적으로 반드시 하나의 단위를 이루는지는 별도로 검토해야 한다. 희소한 고차 n-그램에는 확률을 그대로 부여할 수 없어 저차 n-그램의 확률로 대체하거나 보간하는 스무딩 기법이 함께 적용되어야 실용적인 언어모델을 만들 수 있다.

헷갈리기 쉬운 용어

텍스트 분석 용어는 서로 다른 질문에 답합니다.

용어무엇을 세나n-그램과의 차이
n-그램연속한 n개 항목의 연쇄순서와 인접성을 보존
단어 빈도(유니그램)개별 단어의 출현 횟수n = 1인 경우
TF-IDF문서 안 단어 빈도와 전체 문서에서의 희귀도연쇄가 아닌 개별 단어의 중요도 가중치
토픽 모델링문서에 숨은 주제 분포순서를 무시하는 단어 묶음(bag of words)을 쓰는 경우가 많음

참고 문헌

  1. Shannon, C. E. (1948). A mathematical theory of communication. Bell System Technical Journal, 27(3), 379–423.
  2. Brown, P. F., Della Pietra, V. J., deSouza, P. V., Lai, J. C., & Mercer, R. L. (1992). Class-based n-gram models of natural language. Computational Linguistics, 18(4), 467–479.
  3. Manning, C. D., & Schütze, H. (1999). Foundations of Statistical Natural Language Processing. MIT Press.
  4. Jurafsky, D., & Martin, J. H. (2009). Speech and Language Processing (2nd ed.). Prentice Hall.

표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.