TF-IDF(단어 빈도-역문서 빈도)는 문서 집합 또는 말뭉치에서 단어가 문서에 얼마나 중요한지를 반영하기 위한 수치적 통계량이다. 이는 두 구성 요소의 곱으로 이루어진다: 문서에서 용어가 얼마나 자주 나타나는지를 측정하는 단어 빈도(TF)와, 여러 문서에 걸쳐 자주 나타나는 용어에 낮은 가중치를 부여하는 역문서 빈도(IDF)이다. 이 기법은 1970년대에 개발되었으며, 머신 러닝 및 신경망 기반 접근법이 부상하기 전까지 정보 검색, 텍스트 분류, 검색 엔진 순위 매기기의 기초적인 방법이 되었다.
TF-IDF의 핵심 직관은 단일 문서에서 자주 나타나지만 말뭉치의 나머지 부분에서는 드물게 나타나는 용어가 해당 문서의 내용을 잘 설명할 가능성이 높다는 것이다. 반대로 "the"나 "and"와 같은 흔한 단어는 거의 모든 문서에 나타나므로 변별력이 거의 없다. 지역 빈도와 전역 희소성을 결합함으로써, TF-IDF는 각 용어-문서 쌍에 가중치를 할당하며, 이를 사용하여 문서를 고차원 공간의 벡터로 표현할 수 있게 되어 유사도 계산과 클러스터링을 가능하게 한다.
역사적 발전
문서 빈도에 따라 용어에 가중치를 부여하는 개념은 1950년대와 1960년대에 뿌리를 두고 있으며, 제록스 PARC의 한스 피터 룬(Hans Peter Luhn)과 다른 연구자들의 초기 작업이 있었다. TF-IDF의 현대적 공식은 종종 1972년에 "용어 특이성의 통계적 해석과 검색에서의 응용"이라는 제목의 획기적인 논문을 발표한 카렌 스파르크 존스(Karen Spärck Jones)의 공로로 여겨진다. 그녀의 연구는 역문서 빈도 구성 요소를 로그 스케일링 인자로 확립했다. 코넬 대학의 제라드 살튼(Gerard Salton)과 그의 동료들에 의한 후속 개선은 TF-IDF를 SMART 정보 검색 시스템에 통합했으며, 이는 표준 연구 플랫폼이 되었다.
수학적 공식
문서 \( d \)의 용어 \( t \)에 대해, 단어 빈도 \( tf(t,d) \)는 일반적으로 발생 횟수의 원시 개수이지만, 로그 스케일링 또는 이진 존재 여부를 사용하는 변형도 있다. 역문서 빈도는 다음과 같이 정의된다:
\[ idf(t) = \log \frac{N}{df(t)} \]
여기서 \( N \)은 말뭉치의 총 문서 수이고 \( df(t) \)는 용어를 포함하는 문서 수이다. TF-IDF 가중치는 다음과 같다:
\[ tfidf(t,d) = tf(t,d) \times idf(t) \]
실제로는 말뭉치에 없는 용어에 대한 0으로 나누기를 피하기 위해 평활화가 추가되는 경우가 많으며, 문서 벡터에는 길이 편향을 완화하기 위해 정규화(예: L2 정규화)가 적용된다.
정보 검색에서의 응용
고전적인 정보 검색 시스템에서 TF-IDF 가중치는 사용자 질의에 대한 문서 순위를 매기는 데 사용된다. 질의는 TF-IDF 가중치의 벡터로 표현되며, 문서는 질의 벡터와 각 문서 벡터 간의 코사인 유사도에 따라 순위가 매겨진다. 살튼이 대중화한 이 벡터 공간 모델은 1980년대와 1990년대 검색 엔진의 지배적인 접근법이었다. TF-IDF는 또한 문서 클러스터링, 키워드 추출, 자동 요약을 포함한 많은 텍스트 마이닝 작업의 기반이 된다.
한계와 현대적 맥락
TF-IDF에는 몇 가지 알려진 한계가 있다. 용어를 독립적으로 취급하여 의미적 관계와 단어 순서를 무시한다. 또한 희소한 용어 중복으로 인해 짧은 문서나 질의에서 성능이 좋지 않다. 대규모 언어 모델과 트랜스포머 기반 아키텍처의 등장으로 밀집 벡터 임베딩이 많은 작업에서 TF-IDF를 대체했으며, 이는 맥락적 의미를 포착하기 때문이다. 그러나 TF-IDF는 여전히 기준선, 전통적인 머신 러닝 모델의 특징, 그리고 계산 자원이 제한된 영역에서 널리 사용된다. 또한 희소 신호와 밀집 신호를 결합하는 하이브리드 검색 시스템의 일반적인 구성 요소이기도 하다.
변형과 확장
TF-IDF에는 여러 변형이 존재하며, 용어 빈도 포화와 문서 길이 정규화를 도입하고 현대 검색 시스템에서 종종 선호되는 BM25(최적 매칭 25)가 포함된다. 다른 확장은 품사 태깅을 통합하거나 아선형 TF 스케일링을 사용한다. 1990년대에 스티븐 로버트슨(Stephen Robertson)과 카렌 스파르크 존스가 개발한 Okapi BM25 순위 함수는 정보 검색의 표준으로 남아 있으며 Elasticsearch와 같은 많은 오픈 소스 검색 엔진에서 사용된다.