TFIDF

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[1]. Metoda ta należy do grupy algorytmów budujących wektorową reprezentację tekstów. 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[2].

Algorytm stosowany jako metoda oceny relewantności dokumentu w wyszukiwaniu informacji[3], w szczególności stosowany w wyszukiwarkach internetowych[4], 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[5]. 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[5]. 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[5].

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:[6][7]

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[3][4]:

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:

gdzie:

– liczba dokumentów w korpusie,
– 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 przykład Mały."[a]
Dokument 2: "Przykład: To jest inny przykład Inny Przykład."[b]
Dokument 1
Termin Liczba wystąpień
to1
jest1
mały2
przykład1
Dokument 2
Termin Liczba wystąpień
to1
jest1
inny2
przykład3

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:

Ostatecznie:

(obliczane przy użyciu logarytmu o podstawie 10).

Uwagi

  1. ↑ dokument ma 5 słów ogólnie, 4 słowa unikalne
  2. ↑ dokument ma 7 słów ogólnie, 4 słowa unikalne

Przypisy

  1. ↑ Anand Rajaraman, Jeffrey David Ullman (red.), Data Mining, Cambridge: Cambridge University Press, 2011, s. 1–17, DOI: 10.1017/cbo9781139058452.002, ISBN 978-1-107-73741-9 [dostęp 2024-08-29].
  2. ↑ Junzheng Wu, Information Retrieval 1: TF-IDF based search engine with python code [online], Medium, 11 sierpnia 2023 [dostęp 2024-08-29] (ang.).
  3. 1 2 Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze, Introduction to Information Retrieval, wyd. 1, Cambridge University Press, 7 lipca 2008, DOI: 10.1017/cbo9780511809071.007., ISBN 978-0-521-86571-5 [dostęp 2024-08-29].
  4. 1 2 Implementing the TF-IDF Search Engine
  5. 1 2 3 Understanding TF-IDF for Machine Learning [online], Capital One [dostęp 2024-12-13] (ang.).
  6. ↑ Karen Sparck Jones, A STATISTICAL INTERPRETATION OF TERM SPECIFICITY AND ITS APPLICATION IN RETRIEVAL, „Journal of Documentation”, 28 (1), 1972, s. 11–21, DOI: 10.1108/eb026526, ISSN 0022-0418 [dostęp 2025-12-15] (ang.).
  7. ↑ Agnieszka Indyka-Piasecka, Model użytkownika w internetowych systemach wyszukiwania informacji [online], 2006, s. 15 [dostęp 2025-12-16] (pol.).

Bibliografia

Zobacz też