위키득계정 ↗
기술

TF-IDF

TF-IDF기술
구성
단어 빈도와 역문서 빈도의 곱
TF
한 문서에서의 단어 빈도
DF
해당 단어를 포함한 문서 수
활용
검색과 문서 비교 및 분류
TF-IDF는 문서 안의 단어 빈도에 문서 집합에서의 희소성을 반영한 가중치를 곱하는 표현 방법이다. 여러 문서에 흔히 나타나는 단어와 일부 문서에만 나타나는 단어를 구분하여 검색이나 문서 분류의 특징으로 사용한다.

두 종류의 빈도

단어가 한 문서에서 열 번 나왔더라도 문서 빈도에서는 그 문서 하나만 센다. TF는 반복 출현을 반영하고 IDF는 전체 문서 중 얼마나 널리 나타나는지 반영한다. TF와 IDF의 구체적인 정의에는 여러 관례가 있으므로 이름만 같다고 수치가 항상 같은 것은 아니다.

네 문서의 가중치

네 문서 모두에 나온 단어 A와 한 문서에만 나온 단어 B를 생각하자. 자연로그를 쓰고 IDF=1+log((N+1)/(DF+1))로 정하면 A의 IDF는 1, B는 1+log(5/2), 약 1.916이다. 어떤 문서에서 A가 세 번, B가 한 번 나왔다면 정규화 전 가중치는 각각 3과 약 1.916이다. 드문 단어라고 언제나 최종 가중치가 더 큰 것은 아니다.

문서 길이의 처리

빈도에 로그를 적용해 반복 출현의 영향을 줄이거나 문서 벡터의 길이를 정규화할 수 있다. L2 정규화는 각 좌표를 벡터 길이로 나누므로 절대 크기와는 다른 표현을 만든다. 0이 아닌 L2 정규화 벡터끼리는 내적이 코사인 유사도와 같다.

뜻과 품질의 한계

드물다는 사실이 유용하거나 정확하다는 뜻은 아니다. 오탈자도 희귀할 수 있고 서로 다른 단어가 같은 뜻을 가질 수도 있다. 단어를 나누는 방식과 문서 집합이 가중치를 바꾼다. 예측 성능을 평가할 때에는 평가 자료의 문서 빈도를 학습에 섞지 않고 훈련 자료에서 정한 가중치를 적용해야 한다.

관련 문서

코사인 유사도 / 내적 / 단위벡터 / 자연로그 / 기계 학습 / 비음수 행렬 분해