Middle
Kā darbojas TF-IDF?
sobes.tech AI
Atbilde no AI
TF-IDF (Term Frequency-Inverse Document Frequency) ir statistiska mēra, kas atspoguļo vārda nozīmīgumu dokumentā, salīdzinot ar visu dokumentu kopumu.
- TF (Term Frequency) — termins konkrētā dokumentā. Parasti tas tiek aprēķināts kā vārda atkārtojumu skaits, dalīts ar kopējo vārdu skaitu dokumentā.
- IDF (Inverse Document Frequency) — atpakaļejošā dokumentu biežums, kas rāda, cik reti vārds ir visā dokumentu kopumā. Aprēķina kā logaritmu no kopējā dokumentu skaita dalīta ar to dokumentu skaitu, kas satur šo vārdu.
Galīgā vārda svars dokumentā ir TF un IDF reizinājums:
[ \text{TF-IDF}(t,d) = \text{TF}(t,d) \times \log\frac{N}{1 + \text{DF}(t)} ]
kur:
- (t) — termins,
- (d) — dokuments,
- (N) — kopējais dokumentu skaits,
- (\text{DF}(t)) — to dokumentu skaits, kas satur šo terminu.
Tas palīdz izcelt vārdus, kas bieži sastopami konkrētā dokumentā, bet ir reti citos, kas ir noderīgi teksta vektorizācijai un turpmākai analīzei.
Piemērs Python ar sklearn:
from sklearn.feature_extraction.text import TfidfVectorizer
docs = ["mašīnmācība ir interesanta", "dabiskais valodas apstrāde ir svarīga"]
vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform(docs)
print(vectorizer.get_feature_names_out())
print(tfidf_matrix.toarray())