TF-IDF

TF-IDFとは?

TF-IDF(Term Frequency-Inverse Document Frequency)は、情報検索やテキストマイニングでよく使用される統計的手法で、文書内の単語の重要性を評価するためのものです。TF-IDFは、特定の単語が文書内でどれだけ重要かを示します。

この記事ではPythonでTF-IDFを実践してみます。
環境はGoogle Corabです。

サンプル文章

サンプルの文章として下記の文章を用意します。

  • "The cat in the hat"

  • "The quick brown fox"

  • "The cat is on the mat"

  • "The quick brown fox jumps over the lazy dog"

documents = [
    "The cat in the hat",
    "The quick brown fox",
    "The cat is on the mat",
    "The quick brown fox jumps over the lazy dog"
]

TF-IDFを計算

TfidfVectorizerを利用して、サンプル文章のTF-IDFを計算します。

vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform(documents)
feature_names = vectorizer.get_feature_names_out()

サンプル文章の各単語の重要度を視覚的に確認してみます。

import pandas as pd

df = pd.DataFrame(tfidf_matrix.toarray(), columns=feature_names)

df