WIPIVERSE

n-그램

n-그램(n‑gram)은 문자열, 단어, 혹은 기타 기호들의 연속된 n개의 원소를 의미하는 개념으로, 자연어 처리 및 정보 검색, 데이터 마이닝 등 여러 분야에서 널리 사용된다.

정의

  • n‑gram은 길이가 n인 연속된 서열(subsequence)이다. 예를 들어, 문자열 "hello"에 대해 2‑gram(바이그램)은 "he", "el", "ll", "lo"가 된다.
  • n은 1 이상 임의의 정수이며, n=1일 경우를 unigram, n=2일 경우를 bigram, n=3일 경우를 trigram이라고 부른다.

역사 및 출처

  • n‑gram이라는 용어는 1950년대 초반 통계 언어학 및 암호분석 분야에서 등장했으며, 특히 Claude Shannon의 정보이론 연구에서 확률 모델을 구성하기 위한 도구로 사용되었다.
  • 이후 1990년대와 2000년대 초에 검색 엔진과 텍스트 마이닝 분야에서 효율적인 특징 추출 방법으로 채택되면서 널리 보급되었다.

주요 활용 분야

  1. 언어 모델링: n‑gram 확률 모델을 이용해 다음에 올 단어를 예측하거나 문장의 확률을 계산한다.
  2. 텍스트 분류: 문서의 n‑gram 빈도 특성을 기반으로 스팸 필터링, 감성 분석 등에 활용한다.
  3. 검색 엔진: 검색어 자동 완성, 오타 교정 등에 n‑gram 기반 유사도 측정이 적용된다.
  4. 바이오인포매틱스: DNA·단백질 서열 분석에서 k‑mer(생물학적 용어와 동일한 개념)로 사용된다.

어원

  • “n‑gram”은 알파벳 문자 “n”(정수형 파라미터)과 “gram”(그리스어 ‘γράμμα’, ‘문자, 기호’를 의미하는 ‘gramma’에서 파생) 의 합성어이다. 즉 “n개의 문자(또는 토큰)로 이루어진 단위”라는 의미를 갖는다.

제한 사항

  • n‑gram 모델은 문맥을 제한된 길이로만 고려하므로 장거리 의존성을 포착하는 데 한계가 있다. 이를 보완하기 위해 최근에는 신경망 기반 언어 모델(예: Transformer)이 활용된다.

이상은 n‑gram에 관한 객관적인 설명이며, 현재까지 공신력 있는 학술 문헌 및 표준 교재에 널리 문서화된 내용이다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기