日本語でTfidfVectorizerを使うと1文字ずつしか出力しない問題
解決方法
以下のようにpreprocess_text関数を用意する:
def tokenize_japanese(text):
# 何かしらの処理
return " ".join(tokens)
def preprocess_text(text):
return tokenize_japanese(text)
vectorizerを以下のように定義する:
vectorizer = TfidfVectorizer(
preprocessor=preprocess_text,
analyzer="word",
stop_words=None,
ngram_range=(1,1)
)
永久に「か」とかしか出さなかったので覚え書きとして.TF-IDFの実行で同じワナ(?)にはまった人がいたら参考になれば幸いです.
環境
OS: Ubuntu 20.04
VSCode: 1.97
sklearn: 1.6.1
Python: 3.10.15