Data Mining Basics (TF.IDF)

2019. 4. 10. 10:12Big Data/DataMining

Data Mining 을 시작하기 전에 필요한 기본 지식들을 정의하고 나서 본격적인 Data Mining Algorthm들을 살펴보려고 한다.

Data Mining Chapter에서는 쥬어 레스코벡의 "빅데이터 마이닝" 교재를 참고하였으며, 서울대학교 컴퓨터공학부 강유 교수님의 "데이터마이닝 개론" 수업을 참고하였다.

 

포스팅에 참고한, 그리고 참고하게 될 교재

 

이번 포스팅에서는 데이터 마이닝을 이해하기 위한 기본 툴 중의 몇 가지에 대한 간단한 설명을 하게 될 것이다.

 

Importance of Words in Documents

우리가 구글과 같은 검색 엔진에서 검색 쿼리를 보낼 때, (쿼리는 데이터베이스나 서버 등에 정보를 요청하는 것) 주로 키워드나 키워드의 조합을 통해 쿼리를 보낸다. 이때, 하나의 키워드와 관련된 문서들이나 블로그들이 무수히 많지만 대부분의 검색엔진(특히 구글)은 내가 요청한 키워드와 관련있는 문서들이나 블로그들을 선별해서 보여준다. 

 

이때 어떤 문서들을 우선적으로 보여줄 지 결정하기 위해서는 내가 검색을 요청한 키워드가 그 문서에서 얼마나 큰 중요도를 차지하고 있는지를 알아야 할 것이다. 예를 들어 "축구" 라고 검색했을 때, 검색 엔진은 1000페이지의 글 중에 '축구'라는 단어가 단 1번 들어간 논문보다, 짧지만 한 문단에도 '축구'라는 단어가 5~6번씩 들어가는 축구 기사를 더 중요하게 생각하고 우선적으로 보여줄 것이다.

 

따라서 검색의 효율성과, 사용자의 만족도를 높이기 위해, 글에서 단어의 중요도(Importance of Words in Documents)를 분석하는 일은 굉장히 중요하다. 이를 측정하는 데는 여러 가지 방법이 있지만 가장 유명한 방법이 바로 "TF.IDF"방법이다.

 

설명을 덧붙이자면, TF는 한 문서에서 특정단어 i가 얼마나 많이 등장하는지를 따지는 것으로, 그 문서에서 찾고 싶은 단어의 개수를 그 문서에서 가장 많이 나온 단어의 개수로 나누어서 0~1 사이의 값으로 나타낸다. 이 TF값이 높을수록 그 문서에서 찾고 싶은 단어의 비중이 많다는 것으로 해석할 수 있다. 

 

IDF는 찾고자 하는 단어가 얼마나 고유한(Unique)한 단어인지를 나타내는 지표이다. N개의 문서들 중에서 찾고자 하는 단어를 포함하고 있는 문서들이 적을 수록 이 값이 커진다. 따라서 'a', 'the' 같이 문서에 무조건 포함이 되지만, 고유성을 갖지 않는 단어들에 대해서는 IDF의 값이 0에 가깝게 나올 것으로 예측할 수 있다. 

 

IDF의 값에 로그를 취한 이유는 스케일 때문이다. TF지표의 값이 0~1사이의 값이기 때문에 IDF값도 비슷한 범위로 맞추어 주기 위해서 로그를 취한 것이다. 또한 모든 문서에 빈번하게 등장하는 단어들의 지표값을 현저하게 낮추는 효과도 있다.

 

 

 

반응형

'Big Data > DataMining' 카테고리의 다른 글

Estimating Moments - AMS method  (0) 2019.04.11
Flajolet-Martin Algorithm  (2) 2019.04.11
Bloom Filter  (0) 2019.04.11
DGIM Algorithm  (0) 2019.04.10
Mining Data Streams  (0) 2019.04.10