日本語で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

いいなと思ったら応援しよう!