일/Data Mining

TFIDF ( Term Frequency Inverse Document Frequency)

LEEHK 2009. 5. 28. 17:36

 

1. DF(Document Frequency) : 전체 문서(global dacument) 세트 중에서 '특정단어(term)'를 포함하는 문서의 빈도.

2. TF(Term Frequency) : '특정단어(term)'가 하나의 문서(document) 내에 나타난 빈도'

 

* TFIDF = TF / DF

 

 예를 들어, 전체 100만 개의 문서가 있다고 가정하자. 그중 '이화경' 이라는 특정단어가 오직 7개의 문서에만 나타났다면, '이화경' 의 DF는 7이 된다. 반면에 '한다'와 같은 특정단어가 50만 개의 문서에서 나타났다고 하면 '한다' 의 DF는 50만이 된다. DF가 TFIDF의 분모이기 때문에 '이화경' 의 TFIDF는 '한다'의 TFIDF보다 훨씬 크게 된다.

 즉, 특정문서에는 많이 등장하나 일반적인 문서에서는 적게 등장하는 키워드일수록 TFIDF가 크기 때문에 TFIDF 방식을 사용하는 것은 문서에서 핵심이 되는 키워드를 추출하는데 유용하다.

 

 또, '이화경' 이 등장한 문서 A와 B가 있는데, A에는 '이화경'이라는 단어가 1번 등장하고, B에는 '이화경' 이라는 단어가 5번 등장한다면, 문서 A의 이화경' 에 대한 TFIDF는 TF/DF=1/7=0.14 가 되고, 문서 B의 '이화경' 에 대한 TFIDF는 TF/DF=5/7=0.71 이 된다.

 즉, 하나의 단어가 적게 등장하는 문서보다, 많이 등장하는 문서의 TFIDF가 크기 때문에 TFIDF 방식을 이용하는 것은 해당 단어가 많이 나오는 문서를 찾는데 유용하다.

 

 

 또, 문서 C에 '이화경' 이라는 단어도 3번 나오고, '한다' 라는 단어도 3번 나온다면, 두 단어 모두 TF 값은 3이 된다. 하지만 '이화경'의 DF 값은 7이기 때문에 '이화경'과 문서 C의 TFIDF는 TF/DF=3/7=0.43 이고, '한다' 의 DF값은 50만이기 때문에 TFIDF는 TF/DF=3/50만=0.000006 이 된다.

 즉, 하나의 문서에 두 개의 단어가 같은 빈도수로 출현했다고 하더라도, TFIDF값이 클수록 해당 단어에 대한 전문성(여러 문서에 일반적으로 등장하는 것이 아니라 소수의 문서에만 등장하는지 여부)이 크다고 볼 수 있다.