Pythonで学ぶNLPの特徴量エンジニアリング
Rounak Banik
Data Scientist
"Dog".isalpha()
True
"3dogs".isalpha()
False
"12347".isalpha()
False
"!".isalpha()
False
"❤".isalpha()
False
U.S.A、U.K などword2vec、xto10xstring = """ OMG!!!! This is like the best thing ever \t\n. Wow, such an amazing song! I'm hooked. Top 5 definitely. ❤ """import spacy # トークンのリストを生成 nlp = spacy.load('en_core_web_sm') doc = nlp(string) lemmas = [token.lemma_ for token in doc]
... ... # アルファベット以外のトークンを除去 a_lemmas = [lemma for lemma in lemmas if lemma.isalpha() or lemma == '-PRON-']# クリーニング後の文字列を出力 print(' '.join(a_lemmas))
'omg this be like the good thing ever wow such an amazing song -PRON- be hooked top definitely'
# ストップワードの取得 stopwords = spacy.lang.en.stop_words.STOP_WORDSstring = """ OMG!!!! This is like the best thing ever \t\n. Wow, such an amazing song! I'm hooked. Top 5 definitely. ❤ """
...
...
# ストップワードと非アルファベットを除去
a_lemmas = [lemma for lemma in lemmas
if lemma.isalpha() and lemma not in stopwords]
# クリーニング後の文字列を出力
print(' '.join(a_lemmas))
'omg like good thing wow amazing song hooked definitely'
アプリケーションに必要な前処理だけを実施してください。
Pythonで学ぶNLPの特徴量エンジニアリング