TF-IDF
Jak działa
TF(t,d) = liczba wystąpień terminu t w dokumencie d / całkowita liczba słów w d. IDF(t) = log(N / df(t)), gdzie N = liczba dokumentów, df(t) = liczba dokumentów zawierających t. TF-IDF(t,d) = TF(t,d) × IDF(t). Wynikowe wektory dokumentów są rzadkie i mogą być używane w wyszukiwaniu i klasyfikacji.
Rozwiązany problem
Bag-of-Words traktuje wszystkie słowa jednakowo — słowa takie jak "i", "w", "jest" mają wysoką częstość, ale niską wartość informacyjną. TF-IDF nadaje niższe wagi popularnym słowom i wyższe rzadkim, specyficznym dla danego dokumentu.
Implementacja
TF-IDF nie może być obliczane inkrementalnie — każdy nowy dokument zmienia IDF wszystkich terminów. Dynamiczne korpusy wymagają periodycznego re-buildowania indeksu lub przybliżonych metod.
TF-IDF traktuje "samochód" i "auto" jako niezależne terminy. Dla zadań wymagających semantycznego dopasowania (question answering, RAG) embeddingi gęste są lepszym wyborem.