본문 바로가기
AI

자연어처리 : 텍스트 전처리 : 불용어처리 (Stopword)

by 월곡동로봇팔 2020. 3. 4.

정의

우리가 앞에서 길이가 짧은 단어들이나, 등장 빈도가 적은 단어, 대, 소문자 통합, 어간추출 및 표제어 추출을 통해 noise 없애거나 정규화를 진행하였다.

하지만 글 속에서 자주 등장하는 단어지만 관용적인 표현이라 많이 쓴 표현이라면, 이 단어는 실질적인 의미가 없는 단어이다. 이를 제하기 위해 자주 등장하지만 실제 의미분석에 의미 없는 단어를 없애주는 단어를 stopword라고 한다.


1. nltk에서 불용어 확인하기

from nltk.corpus import stopwords  

print(stopwords.words('english'))

stopword


2. nltk를 통해서 불용어 제거하기

from nltk.corpus import stopwords 
from nltk.tokenize import word_tokenize 

example = "Family is not an important thing. It's everything."
stop_words = set(stopwords.words('english')) 

word_tokens = word_tokenize(example)

result = []
for w in word_tokens: 
    if w not in stop_words: 
        result.append(w) 

print(word_tokens) 
print(result)

"""
['Family', 'is', 'not', 'an', 'important', 'thing', '.', 'It', "'s", 'everything', '.']
['Family', 'important', 'thing', '.', 'It', "'s", 'everything', '.']
"""

 

cf) 한국어 불용어 리스트

https://www.ranks.nl/stopwords/korean

 

Korean Stopwords

 

www.ranks.nl

 

댓글