TF-IDF(Term Frequency – Inverse Document Frequency)

agnusdei·2025년 7월 28일
0

ICT

목록 보기
34/143

📚 TF-IDF(Term Frequency – Inverse Document Frequency) 정리


1. 개요 및 목적

TF-IDF는 정보 검색(Information Retrieval, IR) 및 자연어 처리(Natural Language Processing, NLP) 분야에서 문서 내 단어의 중요도를 정량적으로 평가하기 위해 사용되는 통계적 가중치 기법이다.

이는 단순히 많이 등장한 단어를 중요한 것으로 간주하는 **빈도 기반 접근(TF)**과, 전체 코퍼스에서 흔히 등장하는 일반적인 단어에는 낮은 가중치를 부여하는 **역문서빈도(IDF)**를 결합하여, 특정 문서에서 상대적으로 중요한 단어를 효과적으로 추출하는 데 활용된다.


2. 수식 정의

(1) TF(Term Frequency)

TF(t,d)=ft,dkfk,dTF(t, d) = \frac{f_{t,d}}{\sum_{k} f_{k,d}}
  • ft,df_{t,d}: 문서 dd에서 단어 tt의 등장 횟수
  • 분모는 문서 dd에 등장한 전체 단어 수
  • 문서 내부에서의 상대적 중요도를 나타냄

(2) IDF(Inverse Document Frequency)

IDF(t)=log(NDF(t))IDF(t) = \log\left(\frac{N}{DF(t)}\right)
  • NN: 전체 문서 수
  • DF(t)DF(t): 단어 tt가 등장한 문서 수 (Document Frequency)
  • 흔한 단어에는 낮은 가중치, 드문 단어에는 높은 가중치 부여

(3) TF-IDF

TF-IDF(t,d)=TF(t,d)×IDF(t)TF\text{-}IDF(t, d) = TF(t, d) \times IDF(t)
  • **문서 내 빈도(TF)**와 **전체 코퍼스 내 희소성(IDF)**을 결합한 지표
  • 단어 tt가 문서 dd에서 상대적으로 얼마나 중요한지를 나타냄

3. IDF에서 “역수를 취한다”의 의미

IDF의 핵심은 특정 단어가 전체 문서 집합에서 자주 등장할수록 중요도가 낮다는 직관이다.
단순한 역수 기반 개념은 다음과 같다:

Inverse DF=1DF(t)\text{Inverse DF} = \frac{1}{DF(t)}

이는 빈도가 클수록 가중치가 작아지는 형태이나, 수치 스케일의 급격한 변화를 완화하고 안정적인 가중치를 제공하기 위해 **로그 스케일(logarithmic scale)**로 변환하여 IDF를 정의한다.

즉,

  • 역수를 취한다 = "빈도의 역수를 사용한다" → 흔한 단어는 덜 중요
  • 로그를 취한다 = "스케일 왜곡을 줄이기 위한 수학적 처리"

4. TF-IDF의 활용 분야

분야설명
문서 검색(IR)검색 질의(Query)와 문서 간의 유사도 계산 기반
문서 분류/군집화문서 간 특성 벡터로 사용
텍스트 요약중요 단어 선별 기준
스팸 필터링비정상적으로 높은 빈도의 단어 감지
키워드 추출기사, 논문, 블로그 등에서 핵심 키워드 자동 추출

5. 실무적 해석 예

  • 예를 들어, 단어 "the"는 모든 문서에 등장할 수 있어 DF(t)=NDF(t) = N, 따라서:

    IDF=log(NN)=log(1)=0IDF = \log\left(\frac{N}{N}\right) = \log(1) = 0

    TF-IDF = 0 → 중요하지 않음

  • 반면, 단어 "quantum"이 일부 논문에만 등장한다면 DF(t)NDF(t) \ll N,
    IDF는 높아지고, 해당 문서에서의 TF가 존재하면 TF-IDF도 커진다


6. 장단점

✅ 장점

  • 간결하고 계산 비용이 적다
  • 불필요한 빈도 기반 단어 자동 필터링 가능
  • 텍스트 데이터의 벡터화(vectorization)에 유용

❌ 단점

  • 문맥(context) 정보 미반영 → "동의어", "다의어" 구분 불가
  • 단어 간 순서/관계 정보 손실 (bag-of-words 기반)
  • 희소 행렬(Sparse Matrix) 문제 발생

7. 결론

TF-IDF는 고전적인 텍스트 마이닝 접근법이지만, 현재에도 강력한 기초 피처로 널리 활용되며, BERT, GPT 등 현대 언어 모델의 사전 처리 기반에서도 여전히 참고 요소로 사용된다. 특히 키워드 기반 검색, 문서 분류와 같은 전통적 NLP 분야에서는 간단하면서도 효과적인 벡터화 전략으로 활용 가치가 높다.


profile
DevSecOps ⚙️ + CTF🚩

0개의 댓글