수즐 커뮤니티

TF-IDF(Term Frequency-Inverse Document Frequency)

개요

DTM의 경우, 단순하게 단어의 빈도수를 측정하기 때문에 각 단어의 중요도 자체를 신경 쓰지 않는다는 단점이 존재한다.

서로 다른 문서에는 분명히 해당 문서의 토픽에 높게 기여하는 단어도 있을 것이며, 단어의 등장 수 자체는 많지만 토픽에 크게 기여하지 않는 단어도 있을 수 있기 때문이다.

이는 DTM 내에 있는 각 단어에 대한 중요도를 계산할 수 있는 TF-IDF 가중치를 사용함으로써 보다 정확하게 문서를 분석할 수 있게 된다.

단어 빈도 - 역 문서 빈도(TF-IDF)

TF-IDF는 단어의 빈도역 문서 빈도를 사용하여 DTM 내의 각 단어들마다 중요한 정도를 가중치로 주는 기법이다.

TF-IDF는 주로 문서의 유사도를 구하는 작업, 검색 시스템에서 검색 결과의 중요도를 정하는 작업, 문서 내에서 특정 단어의 중요도를 구하는 작업 등에 사용되면 본 프로젝트에서 적합한 용도라고 판단하였다.

TF-IDF TF(단어의 빈도)IDF(역 문서 빈도)를 곱한 값을 의미하는데, 문서를 d, 단어를 t, 문서의 총 개수를 n이라고 표현할 때 TF, IDF는 각각 다음과 같이 정의할 수 있다.

TF(d,t) : 특정 문서 d에서의 특정 단어 t의 등장 횟수

TF는 DTM과 같은 원리이며, 각 단어들이 가진 빈도수 정보를 뜻한다.

DF(t) : 특정 단어 t가 등장한 문서의 수

해당 단어가 등장했던 문서의 수이다. 유의할 점은 딱히 해당 문서에서 특정 단어 t가 많이 포함되어 있다는 것이 중요한 게 아닌 포함되어 있다는 정보 자체가 중요하다.

IDF(d, t) : df(t)에 반비례하는 수

IDF는 위의 DF의 역수를 취한 값을 뜻한다. 이를 통해 모든 단어에 공통적으로 등장하는 단어의 경우, 역 문서 빈도로 판단하여 가중치를 낮추는 방식이다.

TF 행렬

IDF 행렬

이를 통해 위와 같은 TF 값에 기반하여 각 단어의 역 문서 빈도를 아래와 같이 도출할 수 있다.

TF-IDF 행렬

위의 2가지 행렬에 기반하여 각 벡터의 가중치를 기반한 TF-IDF 값을 계산하면 다음과 같이 나열된다.

Last updated