Sobes.tech
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())