Spis treści
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
[edytuj | edytuj kod]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
[edytuj | edytuj kod]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
[edytuj | edytuj kod]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]
| Termin | Liczba wystąpień |
|---|---|
| to | 1 |
| jest | 1 |
| mały | 2 |
| przykład | 1 |
| 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:
Ostatecznie:
(obliczane przy użyciu logarytmu o podstawie 10).
Uwagi
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ 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].
- ↑ Junzheng Wu, Information Retrieval 1: TF-IDF based search engine with python code [online], Medium, 11 sierpnia 2023 [dostęp 2024-08-29] (ang.).
- ↑ a b 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].
- ↑ a b Implementing the TF-IDF Search Engine
- ↑ a b c Understanding TF-IDF for Machine Learning [online], Capital One [dostęp 2024-12-13] (ang.).
- ↑ 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.).
- ↑ Agnieszka Indyka-Piasecka, Model użytkownika w internetowych systemach wyszukiwania informacji [online], 2006, s. 15 [dostęp 2025-12-16] (pol.).









