Notice
Recent Comments
- 제가 추천 시스템과 관련된 논문을 작성하고⋯
- 오타 발견해주셔서 고맙습니다. 수정했습니다 :)
- 안녕하세요. 좋은 글 감사합니다 :) 글 중에⋯
- 옙!
- 네~ ^^ 출처만 적어주시면 감사드리겠습니다!
- 안녕하세요 블로그 게시물 잘 보고있습니다.⋯
- 고맙습니다 ^^
- 덕분에 쉽게 이해가 되었습니다. 친절한 설명⋯
- keypoint.pt[0], keypoint.pt[1]이 각각 x, y⋯
- 안녕하세요, ORB알고리즘을 처음 공부하는⋯
- 읽어주셔서 고맙습니다 ~
- 정말 쉽고 흥미로운 이야기들입니다! 잘 읽고⋯
- 아하 그렇군요! ㅎㅎ 포스팅 정말 잘 읽고 갑⋯
- 본 자료는 Udacity에서 참고한 자료라서, 후⋯
- 안녕하세요. 포스팅 너무 잘 봤습니다! 제가⋯
귀퉁이 서재
NLP - 3. 불용어(Stop word) 제거 본문

텍스트 전처리 두 번째 주제는 불용어(Stop word) 제거입니다.
불용어(Stop word)는 분석에 큰 의미가 없는 단어를 지칭합니다. 예를 들어 the, a, an, is, I, my 등과 같이 문장을 구성하는 필수 요소지만 문맥적으로 큰 의미가 없는 단어가 이에 속합니다. 이런 불용어는 텍스트에 빈번하게 나타나기 때문에 중요한 단어로 인지될 수 있습니다. 하지만 실질적으로는 중요한 단어가 아니므로 사전에 제거해줘야 합니다.
이전과 마찬가지로 파이썬 머신러닝 완벽 가이드 (권철민 저), 딥 러닝을 이용한 자연어 처리 입문 (유원주 저)을 요약정리했습니다.
불용어 확인하기
import nltk
nltk.download('stopwords')
print('영어 불용어 갯수:',len(nltk.corpus.stopwords.words('english')))
print(nltk.corpus.stopwords.words('english')[:40])
영어 불용어 갯수: 179
['i', 'me', 'my', 'myself', 'we', 'our', 'ours', 'ourselves', 'you', "you're", "you've", "you'll", "you'd", 'your', 'yours', 'yourself', 'yourselves', 'he', 'him', 'his', 'himself', 'she', "she's", 'her', 'hers', 'herself', 'it', "it's", 'its', 'itself', 'they', 'them', 'their', 'theirs', 'themselves', 'what', 'which', 'who', 'whom', 'this']
불용어 제거하기
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 token in word_tokens:
if token not in stop_words:
result.append(token)
print(word_tokens)
print(result)
['Family', 'is', 'not', 'an', 'important', 'thing', '.', 'It', "'s", 'everything', '.']
['Family', 'important', 'thing', '.', 'It', "'s", 'everything', '.']
is, not, an과 같은 불용어가 제외된 것을 볼 수 있습니다.
한국어 불용어
nltk의 stopwords에서는 한국어 불용어를 지원하지 않기 때문에 별도로 처리해줘야 합니다.
(Reference3) 링크에서 일반적으로 사용되는 한국어 불용어 리스트를 볼 수 있습니다. 한국어 불용어를 처리하는 가장 좋은 방법은 txt나 csv 파일에 불용어를 직접 정리해놓고, 이를 불러와서 사용하는 것입니다.
References
Reference1: 파이썬 머신러닝 완벽 가이드 (권철민 저)
Reference2: 딥 러닝을 활용한 자연어 처리 입문 (불용어)
Reference3: RANKS NL Korean Stopwords
'자연어 처리 (NLP)' 카테고리의 다른 글
NLP - 6. 카운트 기반 벡터화(CountVectorizer)와 TF-IDF 벡터화 (2) | 2020.02.15 |
---|---|
NLP - 5. Bag of Words (BOW) (0) | 2020.02.13 |
NLP - 4. 어간 추출(Stemming)과 표제어 추출(Lemmatization) (0) | 2020.02.12 |
NLP - 3. 불용어(Stop word) 제거 (0) | 2020.02.11 |
NLP - 2. 텍스트 토큰화(Text Tokenization) (0) | 2020.02.10 |
NLP - 1. 자연어 처리(Natural Language Processing)란 무엇인가? (0) | 2020.02.09 |
0 Comments