
3.2
前処理:共通する単語の出現回数を類似度として計測する
57
たちはそのような混みいったことを考えなくても良いのです。TF-IDFを行う機能は、既に
Tfidf
Vectorizer
(これは
CountVectorizer
を継承したクラスです)の中に含まれています。そのた
め、これまで使用してきたステミングの機能を一から実装し直す必要はありません。
>>>
from sklearn.feature_extraction.text import TfidfVectorizer
>>>
class StemmedTfidfVectorizer(TfidfVectorizer):
...
def build_analyzer(self):
...
analyzer = super(TfidfVectorizer, self).build_analyzer()
...
return lambda doc: (
english_stemmer.stem(w) for w in analyzer(doc))
>>>
vectorizer = StemmedTfidfVectorizer(min_df=1, stop_words='english', charset_
error='ignore')
これで特徴ベクトルの値は、単語の出現回数ではなく、TF-IDFの値がそれぞれの単語ごとに格納
されます。
3.2.7
ここまでやってきたこと
テキストデータの前処理として、これまでに次のことを行いました。
1. テキ