자주 등장하지만, 문장 분석에 있어서 큰 도움이 안되는 단어들은 불용어 처리를 통해서 제거할 수 있다.

 

ex) I, my, me....조사, 접미사 등

NLTK에서는 약 100개 정도의 영단어들을 불용어로 사전에 정의했다고 한다.

 

먼저 NLTK를 호출하고 불용어를 확인해보자.

위에서 말했다시피 100개가 넘기 때문에 10개만 확인.

 

 

2. NLTK 이용해서 불용어 제거

위 코드는 "Family is not an important thing. It's everything."라는 임의의 문장에서, NLTK의 word_tokenize를 통해서 단어 토큰화를 수행한 것이다.

그리고 단어 토큰화 결과로부터 NLTK가 정의하고 있는 불용어를 제외한 결과를 출력하고 있다.

결과적으로 'is', 'not', 'an'가 문장에서 제거된 것 확인가능.

 

3. 한국어에서의 불용어 제거

 

한국어에서 불용어를 제거하는 방법으로는 간단하게는 토큰화 후에 조사, 접속사 등을 제거하는 방법이 있다.

하지만 불용어를 제거하려고 하다보면 조사나 접속사와 같은 단어들뿐만 아니라 명사, 형용사와 같은 단어들 중에서 불용어로서 제거하고 싶은 단어들이 생기기도 한다.

 

결국에는 사용자가 직접 불용어 사전을 만들게 되는 경우가 많다.

이번에는 직접 불용어를 정의해보고, 주어진 문장으로부터 사용자가 정의한 불용어 사전으로부터 불용어를 제거해보겠습니다.

아래의 불용어는 임의 선정한 것으로 실제 의미있는 선정 기준이 아니다.

 

+ Recent posts