BigData

Gram이란 N-gram과 skip-gram

IT오이시이 2025. 3. 26. 08:02
728x90

 

 

N-gram과 skip-gram은 자연어 처리(NLP)에서 텍스트 데이터를 분석하거나 학습할 때 사용하는 대표적인 방법입니다. 


N-gram

  • 정의: N-gram은 텍스트를 연속된 N개의 단위로 분할하여 분석하는 기법입니다. 여기서 N은 1, 2, 3 등 원하는 크기를 나타냅니다.
    • Unigram: 단일 단어로 분할 (N=1)
    • Bigram: 두 단어씩 묶음 (N=2)
    • Trigram: 세 단어씩 묶음 (N=3)
  • 작동 방식:
    1. 주어진 텍스트를 입력받습니다.
    2. 텍스트를 N개의 연속된 단어, 글자 등의 단위로 나눕니다.
    3. 각 N-gram의 빈도나 확률 분포를 계산하여 분석에 활용합니다.
  • 주요 활용:
    • 문장 유사도 비교
    • 언어 모델링
    • 텍스트 분류 및 감정 분석
  • 예시:
    "I love AI"라는 문장이 있을 때:
    • Unigram: ["I", "love", "AI"]
    • Bigram: ["I love", "love AI"]
    • Trigram: ["I love AI"]

 

Google의 Ngram Viewer는 특정 단어의 사용이 시간이 지남에 따라 어떻게 증가하거나 감소했는지 볼 수 있는 도구

(참고) https://techcrunch.com/2012/10/18/google-books-ngram-viewer-20/

 


Skip-gram

  • 정의: Skip-gram은 단어 간의 관계를 학습하는 언어 모델로, 주어진 중심 단어와 주변 단어 간의 상관성을 예측합니다. N-gram과는 달리, 연속된 단어뿐만 아니라 일정 간격을 건너뛴 단어쌍도 학습합니다.
  • 작동 방식:
    1. 중심 단어(center word)를 선택합니다.
    2. 중심 단어 주변의 윈도우(window) 크기만큼 단어를 선택합니다. 이때 건너뛰기(skip)를 허용합니다.
    3. 중심 단어와 주변 단어 간의 관계를 학습하여 단어 벡터(Word Embedding)를 생성합니다.
  • 주요 기술 요소:
    • Word2Vec 모델의 학습 방식: Skip-gram은 Word2Vec 알고리즘의 핵심 구성 요소 중 하나로 사용됩니다.
    • 목표: 주변 단어의 확률을 최대화하도록 중심 단어를 기반으로 관계를 학습합니다.
  • 예시:
    • 문장: "I love AI and machine learning"
    • 중심 단어: "AI"
    • 주변 단어(윈도우 크기 2, skip 허용): "I", "love", "and", "machine"

 

             중심단어 이용하여 단어를 예측하는 Skip-Gram


이 두 기법은 자연어 처리와 언어 모델링에서 매우 중요한 역할을 하며, 특히 N-gram은 전통적 기법으로, skip-gram은 현대적인 딥러닝 모델에서 자주 사용됩니다. 

728x90
반응형