TFIDF (ang. TF – term frequency, IDF – inverse document frequency; częstość słów–odwrotność częstości w dokumentach) – jedna z metod obliczania wagi słów (terminów) na podstawie liczby ich wystąpień w dokumentach. Metoda ta należy do grupy algorytmów budujących wektorową reprezentację tekstów(inne języki). Każdy dokument reprezentowany jest przez wektor, składający się z wag słów występujących w tym dokumencie. TFIDF informuje o częstości wystąpienia słów uwzględniając jednocześnie odpowiednie wyważenie znaczenia lokalnego słowa i jego znaczenia w kontekście pełnej kolekcji dokumentów.
Algorytm stosowany jako metoda oceny relewantności dokumentu w wyszukiwaniu informacji, w szczególności stosowany w wyszukiwarkach internetowych, kolejnym zastosowaniem jest ocena podobieństwa dokumentów w systemach grupowania wyników oraz systemach typu antyplagiat. TF-IDF jest wykorzystywane jako podstawa do tworzenia reprezentacji numerycznych tekstów w algorytmach uczenia maszynowego, umożliwiając przekształcenie danych tekstowych w wektory liczbowe. Algorytmy uczenia maszynowego operują na danych numerycznych, dlatego dane tekstowe muszą być najpierw przekształcone w wektory numeryczne w procesie zwanym wektoryzacją. Wektoryzacja TF-IDF polega na obliczeniu wartości TF-IDF dla każdego słowa w korpusie względem danego dokumentu, a następnie umieszczeniu tych informacji w wektorze. Każdy dokument w korpusie posiada własny wektor zawierający wartości TF-IDF dla wszystkich słów występujących w całej kolekcji dokumentów.
Motywacja
W 1972 roku Karen Spärck Jones opracowała statystyczną interpretację specyficzności terminów, nazwaną odwrotną częstością dokumentową (ang.Inverse Document Frequency, IDF), która stanowiła podwaliny wag terminów:
Specyficzność danego terminu można wyrazić ilościowo jako odwrotność do liczby dokumentów, w których on występuje.
(orig: The specificity of a term can be quantified as an inverse function of the number of documents in which it occurs.)
Przykładowe wartości df (częstotliwość dokumentowa) i idf dla niektórych słów w 37 sztukach Szekspira mogłaby być przedstawiona następująco:
Słowo
df
idf
Romeo
1
1.57
sałata
2
1.27
Falstaff
4
0.966
las
12
0.489
bitwa
21
0.246
dowcip
34
0.037
głupiec
36
0.012
dobry
37
0
słodki
37
0
Widzimy, że „Romeo”, „Falstaff” i „sałata” występują w bardzo niewielu sztukach, więc napotkanie tych słów pozwala z dużym prawdopodobieństwem określić, o którą sztukę chodzi. Natomiast słowa „dobry” i „słodki” pojawiają się we wszystkich sztukach i nie niosą żadnej informacji o tym, z której sztuki mogą pochodzić.
Definicja
Wartość TF-IDF oblicza się ze wzoru:
gdzie to tzw. „term frequency”, wyrażane wzorem:
gdzie jest liczbą wystąpień słów w dokumencie a mianownik jest sumą liczby wystąpień wszystkich słów w dokumencie
Wielkość to „inverse document frequency” wyrażana wzorem:
– liczba dokumentów zawierających przynajmniej jedno wystąpienie danego termu.
Przykład tf–idf
Załóżmy, że mamy tabele zliczeń terminów dla korpusu składającego się tylko z dwóch dokumentów:
Dokument 1: "To jest mały człowiek Mały."
Dokument 2: "Przykład: To jest inny przykład InnyPrzykład."
Dokument 1
Termin
Liczba wystąpień
to
1
jest
1
mały
2
człowiek
1
Dokument 2
Termin
Liczba wystąpień
to
1
jest
1
inny
2
przykład
3
Obliczenie tf–idf dla terminu „to” przebiega następująco:
W surowej postaci tf to po prostu częstość występowania słowa „to” w każdym dokumencie. W obu dokumentach słowo „to” pojawia się raz, jednak ponieważ dokument 2 zawiera więcej słów, jego względna częstość jest mniejsza.
Wartość idf jest stała dla całego korpusu i odzwierciedla stosunek liczby dokumentów zawierających słowo „to”. W tym przypadku korpus ma dwa dokumenty i oba zawierają to słowo.
Zatem tf–idf dla słowa „to” wynosi zero, co oznacza, że słowo to nie jest zbyt informatywne, ponieważ występuje we wszystkich dokumentach.
Słowo „przykład” jest bardziej interesujące – pojawia się trzy razy, ale tylko w drugim dokumencie: