Sobes.tech
Middle

Ako funguje TF-IDF?

sobes.tech AI

Odpoveď od AI

TF-IDF (Term Frequency-Inverse Document Frequency) je štatistická miera, ktorá odráža dôležitosť slova v dokumente vzhľadom na celý súbor dokumentov.

  • TF (Frekvencia výskytu termínu) — frekvencia výskytu termínu v konkrétnom dokumente. Zvyčajne sa počíta ako počet výskytov slova delený celkovým počtom slov v dokumente.
  • IDF (Inverzná frekvencia dokumentu) — inverzná frekvencia dokumentu, ktorá ukazuje, ako zriedkavo sa slovo vyskytuje v celom súbore dokumentov. Vypočíta sa ako logaritmus pomeru celkového počtu dokumentov k počtu dokumentov obsahujúcich dané slovo.

Konečná váha slova v dokumente je súčin TF a IDF:

[ \text{TF-IDF}(t,d) = \text{TF}(t,d) \times \log\frac{N}{1 + \text{DF}(t)} ]

kde:

  • (t) — term,
  • (d) — dokument,
  • (N) — celkový počet dokumentov,
  • (\text{DF}(t)) — počet dokumentov obsahujúcich termín (t).

Toto pomáha zvýrazniť slová, ktoré sa často vyskytujú v konkrétnom dokumente, ale sú zriedkavé v iných, čo je užitočné pre vektorizáciu textu a ďalšiu analýzu.

Príklad v Pythone s použitím sklearn:

from sklearn.feature_extraction.text import TfidfVectorizer

docs = ["strojové učenie je zaujímavé", "spracovanie prirodzeného jazyka je dôležité"]
vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform(docs)
print(vectorizer.get_feature_names_out())
print(tfidf_matrix.toarray())