深度学習を利用した自然言語処理入門1.テキストプリプロセッシング(4)


0.非用語(Stopword)

  • cleaning. データに意味のないタグを削除します.
  • (分析に不利で複雑性のみ増加)
  • konlpy example
  • import nltk
    nltk.download('punkt')
    from nltk.corpus import stopwords 
    from nltk.tokenize import word_tokenize 
    
    example = '1980년대, 약 10년 전 한국을 떠나 미국에 정착한 한인 이민자인 제이콥(스티븐 연)과 모니카(한예리) 부부는 아칸소 주의 농장이 딸린 트레일러 집으로 첫째 딸 앤과 심장병이 있는 둘째 아들 데이빗을 데리고 이사를 한다. 제이콥은 자식들에게 농장을 소개하며 이제 농사를 짓고 살 거라고 말하지만, 모니카는 한인들이 많이 사는 도시인 캘리포니아 로스앤젤레스를 떠나 낯설고 아무 것도 없는 시골 땅에 정착하는 이 상황이 막막하고 짜증만 난다.'
    stop_words = "아 휴 어 나 \
    우리 \
    저희 \
    따라 \
    의해 \
    을 \
    를 \
    에 \
    의 \
    가 \
    으로 \
    로 \
    ...
    "#csv/json등 불용어 사전형식으로 저장/불러다 사용
    
    stop_words=stop_words.split(' ')
    word_tokens = word_tokenize(example)
    
    result = [] 
    for w in word_tokens: 
        if w not in stop_words: 
            result.append(w) 
    # 위의 4줄은 아래의 한 줄로 대체 가능
    # result=[word for word in word_tokens if not word in stop_words]
    
    print(word_tokens) 
    print(result)
    ----------------------------------------------------
    ['1980년대', ',', '약', '10년', '전', '한국을', '떠나', '미국에', '정착한', '한인', '이민자인', '제이콥', '(', '스티븐', '연', ')', '과', '모니카', '(', '한예리', ')', '부부는', '아칸소', '주의', '농장이', '딸린', '트레일러', '집으로', '첫째', '딸', '앤과', '심장병이', '있는', '둘째', '아들', '데이빗을', '데리고', '이사를', '한다', '.', '제이콥은', '자식들에게', '농장을', '소개하며', '이제', '농사를', '짓고', '살', '거라고', '말하지만', ',', '모니카는', '한인들이', '많이', '사는', '도시인', '캘리포니아', '로스앤젤레스를', '떠나', '낯설고', '아무', '것도', '없는', '시골', '땅에', '정착하는', '이', '상황이', '막막하고', '짜증만', '난다', '.']
    ['1980년대', '10년', '전', '한국을', '떠나', '미국에', '정착한', '한인', '이민자인', '제이콥', '스티븐', '연', '모니카', '한예리', '부부는', '아칸소', '주의', '농장이', '딸린', '트레일러', '집으로', '첫째', '딸', '앤과', '심장병이', '둘째', '아들', '데이빗을', '데리고', '이사를', '.', '제이콥은', '자식들에게', '농장을', '소개하며', '농사를', '짓고', '살', '거라고', '말하지만', '모니카는', '한인들이', '많이', '사는', '도시인', '캘리포니아', '로스앤젤레스를', '떠나', '낯설고', '아무', '것도', '없는', '시골', '땅에', '정착하는', '상황이', '막막하고', '짜증만', '난다', '.']
    
    stopword辞書:https://www.ranks.nl/stopwords/koreanを参照