【 Python で 自然言語処理 】オライリー本『実践 機械学習システム』p.57 の TfidfVectorizer を 英語トークン 語幹形変換 前工程 を組み込むようにオーバーライドした StemmedTfidfVectorizer を使ってみる


sklearnモジュール組み込み の TfidfVectorizer クラス の build_analyzerメソッドをオーバーライドしているだけなので、その他のメソッドの操作性は、Tfidfクラスと同じ

【 TfidfVectorizerクラス の 使い方 】

CHAZINE.COM SCIKIT-LEARN (2014/12/23)SKLEARNのVECTORIZER
オライリー本『実践 機械学習システム』p.55

python3
import nltk.stem # p.55
english_stemmer = nltk.stem.SnowballStemmer(‘english’)
from sklearn.feature_extraction.text import TfidfVectorizer
class StemmedTfidfVectorizer(TfidfVectorizer): # p.57
def build_analyzer(self):
analyzer = super(TfidfVectorizer, self).build_analyzer()
return lambda doc: (english_stemmer.stem(w) for w in analyzer(doc))

( NLTKモジュール の stemmer については、以下 を 参考 )

GitHub pika-shi/sphinx_information_retrieval 正規表現と自然言語処理

ステミング処理には、nltkモジュールのnltk.PorterStemmerやnltk.LancasterStemmerなどを使います。:

haya14busa Python,NLTKで自然言語処理

Stemming and Lemmatisation
Tokenization

インスタンスを生成

python3
vectorizer = StemmedTfidfVectorizer(min_df=1, stop_words=’english’, charset_error=’ignore’)

——————————————————–…この記事の続きを読む

サイト名: Qiita - Python

無料メールマガジン登録

週1回、注目のAIニュースやイベント情報を
編集部がピックアップしてお届けしています。

こちらの規約にご同意のうえチェックしてください。

規約に同意する


Leave a Reply

Your email address will not be published.