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())