Sobes.tech
Middle

Hoe werkt TF-IDF?

sobes.tech AI

Antwoord van AI

TF-IDF (Term Frequency-Inverse Document Frequency) is een statistische maat die de belangrijkheid van een woord in een document weergeeft ten opzichte van de hele corpus van documenten.

  • TF (Term Frequency) — de frequentie van de term in een specifiek document. Wordt meestal berekend als het aantal keer dat het woord voorkomt gedeeld door het totale aantal woorden in het document.
  • IDF (Inverse Document Frequency) — de inverse frequentie van het document, die aangeeft hoe zeldzaam het woord is in de hele verzameling documenten. Wordt berekend als de logaritme van de verhouding tussen het totale aantal documenten en het aantal documenten dat het woord bevat.

Het uiteindelijke gewicht van het woord in het document is het product van TF en IDF:

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

waar:

  • (t) — term,
  • (d) — document,
  • (N) — totaal aantal documenten,
  • (\text{DF}(t)) — aantal documenten dat de term (t) bevat.

Dit helpt om woorden te benadrukken die vaak voorkomen in een specifiek document, maar zeldzaam zijn in andere, wat nuttig is voor tekstvectorisatie en verdere analyse.

Voorbeeld in Python met sklearn:

from sklearn.feature_extraction.text import TfidfVectorizer

docs = ["machine learning is interessant", "verwerking van natuurlijke taal is belangrijk"]
vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform(docs)
print(vectorizer.get_feature_names_out())
print(tfidf_matrix.toarray())