빅데이터

언어모델, N-gram, TF-IDF, 워드 임베딩, 벡터 공간 모델

달보드레91 2026. 4. 5. 18:08
반응형
언어모델 완벽 정리 | N-gram, TF-IDF, 워드임베딩, NLP 기초

🤖 언어모델 완벽 정리 (NLP 핵심 개념 총정리)

언어모델은 "다음에 어떤 단어가 나올지 예측하는 모델"이다.

📌 언어모델이란?

  • 주어진 단어 또는 문장의 시퀀스를 기반으로 다음 단어나 문장의 확률을 예측하는 통계 모델 또는 신경망 모델
  • 모델의 목표는 실제로 많이 사용하는 단어열의 분포를 정확하게 근사하는 데 있음

📌 통계적 언어모델링 예시

  • 이전 단어들이 주어졌을 때 다음 단어를 예측
  • 주어진 양쪽 단어들로부터 가운데 비어있는 단어를 예측
👉 예: "나는 밥을 ___" → "먹는다" 확률이 높음

📌 문장이 발생할 확률

  • 각 단어는 문맥이라는 관계로 인해 이전 단어의 영향을 받음
  • 이렇게 모인 단어들로 하나의 문장이 완성됨

📌 조건부 확률

  • 조건부 확률은 두 확률 간의 관계를 나타냄
  • 조건부 확률의 연쇄 법칙 존재
  • 문장 확률 계산에 적용 가능
  • 문장의 확률은 각 단어가 이전 단어가 주어졌을 때 등장할 확률의 곱으로 구성됨
📌 핵심
P(문장) = P(w1) × P(w2|w1) × P(w3|w1,w2) ...

📌 다음 단어의 발생 확률 계산

  • 학습 데이터(말뭉치) 기반 카운트로 확률 계산
  • 가장 높은 확률을 가진 단어 선택

📌 카운트 기반 확률 계산의 가정

  • 말뭉치는 자연어의 확률 분포를 잘 반영한다고 가정
  • 예: "An adorable little boy" 다음에 "is" 등장 확률 계산
  • 충분한 데이터가 없으면 정확한 모델링 어려움
  • 데이터에 해당 문장이 없으면 확률 계산 불가 (분모 0 문제)
  • 문장이 길수록 등장 확률 감소
👉 이것을 희소성 문제(Sparsity Problem)라고 한다.

📌 개선 방법

  • 참고하는 이전 단어 수를 줄임

📌 N-gram 언어모델

  • 모든 이전 단어가 아니라 일부 단어만 고려
  • 통계 기반 언어 모델

📌 N-gram 고려사항

  • n이 클수록 희소 문제 증가
  • 모델 크기 증가
  • perplexity가 낮을수록 성능 좋음

📌 사람이 글을 이해하는 방식

  • 문장을 앞에서부터 순서대로 읽으며 의미 파악

📌 컴퓨터가 글을 이해하는 방식

  • 기본적으로 사람과 동일하게 순차적 처리

📌 더 단순한 방식

  • 단어의 통계를 이용하여 의미 파악
  • 딥러닝 이전에 주로 사용
  • 단순하지만 전체 내용 파악에는 유용

📌 벡터 표현

  • 단어의 벡터 표현
  • 문장의 벡터 표현
  • 문서의 벡터 표현
  • 문서의 특성은 단어
  • 값은 단어 등장 횟수

📌 벡터 공간 모델

  • 텍스트를 벡터로 표현하는 모델
  • 각 차원은 하나의 단어
  • 단어 등장 시 해당 값은 0이 아님

📌 Bag of Words

  • 단어 순서 무시
  • 출현 빈도만 사용
👉 간단하지만 문맥 정보를 잃는 단점 존재

📌 문서-단어 행렬 (DTM)

  • 문서와 단어 빈도를 행렬로 표현

📌 DTM의 한계

  • 단어 수 많으면 비효율적
  • 대부분 값이 0 (희소 행렬)
  • 메모리 사용량 증가
  • 문맥 정보 반영 어려움
  • 문서 간 의미 관계 표현 한계

📌 Zipf's 법칙

  • 단어 빈도는 순위에 반비례
  • 1위 단어는 2위보다 약 2배 많음
  • 모든 자연어에서 나타나는 현상

📌 단어 가중치 기법

  • 단순 빈도의 한계 보완
  • 중요한 단어를 더 강조

📌 TF-IDF

  • 단어 가중치 대표 기법
  • 문서 내 빈도 ↑, 전체 문서 빈도 ↓ → 중요도 ↑
  • 공통 단어는 중요도 낮춤

📌 One-hot Encoding vs 워드 임베딩

  • One-hot → 단순 벡터
  • 워드 임베딩 → 의미를 담은 벡터

📌 저차원 워드 임베딩

  • 단어를 저차원 공간에 표현
  • 거리로 의미 유사성 표현
  • 벡터 연산으로 의미 추론 가능

📌 고차원 워드 임베딩

  • 대규모 차원 사용
  • 행렬 변환 필요
  • 모델 구조에 따라 달라짐

📌 뉴럴 네트워크 언어 모델

  • 이전 단어로 다음 단어 예측
  • 딥러닝 기반 모델

📌 유사성 척도

  • 두 객체 간 유사도를 수치로 표현

📌 코사인 유사도

  • 두 벡터 간 각도를 이용
  • 값이 1에 가까울수록 유사
🚀 결론
언어모델은 확률 + 통계 + 벡터 표현을 기반으로 자연어를 이해하는 핵심 기술이다.
반응형