NLP前処理


非用語(stopword)


ref: https://bkshin.tistory.com/entry/NLP-3-%EB%B6%88%EC%9A%A9%EC%96%B4Stop-word-%EC%A0%9C%EA%B1%B0
分析にあまり意味のない単語.a,an,theなどの冠詞やI,myなどの代名詞.
  • spacyは、nlpオブジェクトのtokenにis stop(boolean)を提供する.
  • nlktは、用語辞書を提供しない.
  • import nltk
    nltk.download('stopwords')
    print('영어 불용어 갯수:',len(nltk.corpus.stopwords.words('english')))

    Lemmatization


    ref: https://wikidocs.net/21707
    単語には語幹と接尾辞がある.
  • 語幹:単語の意味を含む部分
  • 接尾辞(接尾辞):単語に付加的な意味を持つ部分
  • 語幹を抽出する仕事は引理化である.

    Punctuation


    ref: https://www.delftstack.com/ko/howto/python/how-to-strip-punctuation-from-a-string-in-python/#%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%97%90%EC%84%9C-%EB%AC%B8%EC%9E%90%EC%97%B4%EC%97%90%EC%84%9C-%EA%B5%AC%EB%91%90%EC%A0%90%EC%9D%84-%EC%A0%9C%EA%B1%B0%ED%95%98%EA%B8%B0-%EC%9C%84%ED%95%B4-string-%ED%81%B4%EB%9E%98%EC%8A%A4-%EB%A9%94%EC%84%9C%EB%93%9C-%EC%82%AC%EC%9A%A9
    Punctionation(句読点)の削除は、最も一般的なテキスト正規化です.
  • Regexを使用して削除
  • text = re.sub(r"[^a-zA-Z0-9]", "", text)
  • 文字、数字を除いて、すべて空白に変更します.
  • は通常空白に変わり、できるだけ文の構造を維持します.
  • spacyのtokenからis punctを呼び出すと、puncaionであることがわかります.
  • Python building in関数を使用できます.
    文字列、
  • 句読点リスト.句読点を使用します.