본문 바로가기
Machine Learning

TF-IDF란?

by rubyda 2021. 1. 21.
728x90

TF-IDF 알아보기 전에 TF-IDF를 왜 사용하는지에 대해 정리해보도록 합니다. 먼저 TF-IDF는 특징을 추출하는 방법 중 하나입니다. 많이 사용되는 방법으로 CountVectorizer이 있습니다. 이름처럼 말 그대로 count기반으로 특징을 추출하는 방법입니다. 하지만 단순 카운트로 특징을 추출했을때의 문제점은 무엇일까요??

 

영어나 한국에서 많이 사용되는 단어들을 생각해 봅시다. 예를들면 The, 조사 등이 있습니다. 하지만 이러한 단어들을 실제로 큰 의미가 없는 단어들입니다. 이러한 상황을 보완하여 나온것이 바로 TF-IDF입니다.

 


TF-IDF(Term Frequency - Inverse Document Frequency)는 정보 검색과 텍스트 마이닝에서 이용하는 가중치로, 여러 문서로 이루어진 문서군이 있을 때 어떤 단어가 특정 문서 내에서 얼마나 중요한 것인지를 나타내는 통계적 수치이다. 문서의 핵심어를 추출하거나, 검색 엔진에서 검색 결과의 순위를 결정하거나, 문서들 사이의 비슷한 정도를 구하는 등의 용도로 사용할 수 있다.

출처: 위키백과


 

TF(Term Frequency)란?

TF는 Term Frequency의 약자로 어떤 단어가 특정 문서에 얼마나 많이 쓰였는지 빈도를 나타내 줍니다. 즉 많이 쓰인 단어가 중요하다는 가정을 전체로 한 수치입니다.

DF(Document Frequency)란?

DF는 Document Frequency의 약자로 특정 단어의 나타나는 문서 수를 의미합니다. 예시로 A라는 단어가 말뭉치 전체에서 문서1, 문서3에만 등장했다고 한다면 DF는 2가 됩니다. DF가 클수록 다수의 문장에서 쓰이는 단어라고 할 수 있습니다. 

 

정리하자면 TF는 단어의 빈도를, DF는 문서의 빈도를 의미합니다.

IDF(Inverse Document Frequency)란?

IDF는 전체 문서수를 해당 단어의 DF로 나눈 뒤 로그를 취해준 값입니다. 그 값이 클수록 특이한 단어임을 의미합니다.

 

IDF는 DF에 Inverse를 해주는 의미로 DF의 역수를 의미합니다. 역수를 취하게 되면  원래의 큰 값들을 작은 값으로 줄이는 효과를 낼 수 있습니다. 이렇게 IDF는 많이 등자하는 단어를 약간의 패널티를 줄 수 있기 때문에 IDF라고 부르게 됩니다.

 

정리를 하자면 TF-IDF는 각각의 문서에서 자주 등장하는 단어에 높은 가중치를 주고, 모든 문서에서 자주 등장하는 단어에 대해서는 페널티를 주는 방식으로 값을 부여하게 되는 것입니다.  이러한 방식으로 정말 해당 단어가 실제로 중요한지를 체크할 수 있습니다.

 

 

chan-lab.tistory.com/24

[Python/Jupyter] 본격 TF-IDF 개념 해부

안녕하세요! 은공지능 공작소 운영자 파이찬입니다. 오늘은 TF-IDF 벡터화에 대한 내용을 다루겠습니다. 자연어처리를 하다 보면 많이 등장하는 Feature extraction 기법입니다. 1. TF-IDF의 개념 TF-IDF의

chan-lab.tistory.com