TF-IDF는 DTM(Document-Term Matrix, 문서 단어 행렬)내에 있는 각 단어에 대한 중요도를 계산할 수 있다. TF-IDF를 사용하면, 기존의 DTM을 사용하는 것보다 더 많은 정보를 고려하여 문서들을 비교할 수 있다.
1. TF-IDF(단어 빈도- 역 문서 빈도, Term Frequency-Inverse Document Frequency)
TF-IDF(Term Frequency-Inverse Document Frequency)는 단어의 빈도와 역문서 빈도(문서의 빈도에 특정 식을 취하는 것)를 사용하여 DTM 내의 각 단어들마다 중요한 정도를 가중치로 주는 방법이다. 사용법은 DTM을 만든후, TF-IDF 가중치를 부여한다.
TF-IDF는 주로 문서의 유사도를 구하는 작업, 검색 시스템에서 검색 결과의 중요도를 정하는 작업, 문서 내에서 특정 단어의 중요도를 구하는 작업 등에 쓰일 수 있다.
TF-IDF는 TF와 IDF를 곱한 값을 의미한다. 문서를 d, 단어를 t, 문서의 총 개수를 n이라고 표현한다면 TF, DF, IDF는 다음과 같다.
tf(d,t) : 특정 문서에서의 특정 단어 t의 등장 횟수. TF는 DTM에서 각 단어들이 가진 값이다. DTM이 각 문서에서 각 단어의 등장 빈도를 나타내는 값이기 때문이다.
df(t) : 특정 단어 t가 등장한 문서의 수. 특정 단어가 각 문서, 또는 문서들에서 몇번 등장했는지는 중요하지 않다. 특정 단어 t가 등장한 문서의 수만 고려한다.
idf(d,t) : df(t)에 반비례하는 수. IDF는 DF의 역수를 취하고 싶은 것은 맞지만 log를 사용하지 않을 경우 총 문서의 수(n)이 증가할 수록 IDF의 값이 기하급수적으로 커지기 때문에 log를 사용한다.
1을 더해주는 이유는 특정단어가 전체 문서에서 등장하지 않을 경우에 분모가 0이되는 상황을 방지하기 위함이다.