본문 바로가기

Text Mining

[텍스트 전처리] Stopwords Removal (불용어 제거)


Zipf's Law

지프의 법칙


 

Zipf’s law는 어떠한 자연어 말뭉치 표현에 나타나는 단어들을 그 사용 빈도가 높은 순서대로 나열하였을 때, 모든 단어의 사용 빈도는 해당 단어의 순위에 반비례함을 나타낸다. 다시 말해, 가장 사용 빈도가 높은 단어는 두번째 단어보다 빈도가 약 두배 높으며, 세번째 단어보다는 빈도가 약 세배 높다는 것이다. Zipf’s law에 따르면, 문헌집단에 나타나는 단어들의 빈도수를 시각화 하면 long tail distribution이 나타나고, 이때 highly rank된 단어들 즉 고빈도 단어들 중에는 전치사가 대부분이다.

 

이러한 단어의 frequency와 단어의 rank의 곱이 constant 즉 일정하다는 Zipf’s law에 기반하여 Luhn은 단어의 출현 빈도 및 순위와 단어의 문헌 식별력 간의 관계를 밝혀냈다. 이에 따르면, 최고 한계 빈도와 최저 한계 빈도 안에 속하는 중간 빈도의 단어들이 문헌 내용의 식별력이 크므로 이들을 색인어로 선정하는 것이 바람직하다. 고빈도 단어들은 기능적인 역할을 하거나 문헌집단 전반에 걸쳐 나타나기 때문에 특정 문헌의 내용을 대표할 수 없고, 저빈도 단어들은 특정 문헌의 내용을 나타낸다고 보기에 너무 적은 빈도 수를 갖기 때문이다.

 

 


Stopwords Removal

불용어 제거


 

Zipf’s law에서 왼쪽에 존재하는 고빈도 단어들을 stopwords라고 한다. 이러한 stopwords를 모아놓은 것을 stopwords list라고 하고, 이를 활용하여 텍스트 전처리 과정에서 stopwords removal을 하게 된다.

 

영어의 경우 정관사, 전치사 등이 stopwords에 속하고, 한글의 경우 조사 등이 stopwords에 포함된다.

 

불용어 리스트는 정보검색 분야에서 많이 사용된다. 불용어 리스트는 한 라인이 한 단어로 이루어진다. 영어의 경우 450-500개 정도의 불용어 리스트가 있고, 한글도 마찬가지로 불용어 리스트를 사용한다.

 

Stopwords Removal의 목적은 크게 두가지이다. 단어 정제를 통해 보다 제대로 된 분석을 하기 위함이기도 하고, DTM의 dimension reduction을 통해 분석을 가능하게 하기 위함이기도 하다.

불용어 리스트를 사용한다는 것은 DTM의 컬럼 수를 줄여주는 것 즉 dimension을 줄여주는 것을 의미한다. 이를 dimension reduction이라고 한다. 불용어 리스트를 사용하여 feature들 즉 단어들의 수를 줄여주게 되는데, 그러면 matrix size가 줄어들게 된다. 이렇게 불용어 리스트를 사용해서 불용어를 제거하는 것은 dimension reduction에 있어 주요한 역할을 한다.