TF-IDF (z angličtiny TF - termín frekvence, IDF - inverse document frequency ) je statistická míra používaná k hodnocení důležitosti slova v kontextu dokumentu , který je součástí kolekce dokumentů nebo korpusu . Váha slova je úměrná četnosti výskytu tohoto slova v dokumentu a nepřímo úměrná četnosti výskytu slova ve všech dokumentech sbírky.
Měření TF-IDF se často používá v úlohách analýzy textu a vyhledávání informací , například jako jedno z kritérií pro relevanci dokumentu pro vyhledávací dotaz při výpočtu míry blízkosti dokumentů během shlukování .
TF ( term frequency - word frequency) - poměr počtu výskytů určitého slova k celkovému počtu slov v dokumentu. Hodnotí se tedy důležitost slova v rámci jednoho dokumentu.
,kde je počet výskytů slova v dokumentu a jmenovatel je celkový počet slov v dokumentu.
IDF ( inverse document frequency - inverse document frequency) - převrácení frekvence, s jakou se určité slovo vyskytuje v dokumentech sbírky. Zakladatelkou tohoto konceptu je Karen Spark Jones [1] . Účtování IDF snižuje váhu běžně používaných slov. V rámci dané kolekce dokumentů existuje pouze jedna hodnota IDF pro každé jedinečné slovo.
, [2]kde
Na volbě základu logaritmu ve vzorci nezáleží, protože změna základu mění váhu každého slova konstantním faktorem, který neovlivňuje váhový poměr.
Měření TF-IDF je tedy výsledkem dvou faktorů:
Vysoká váha v TF-IDF bude dána slovům s vysokou frekvencí v konkrétním dokumentu a nízkou frekvencí v jiných dokumentech.
Existují různé vzorce založené na metodě TF-IDF. Liší se koeficienty, normalizacemi, použitím logaritmických škál. Zejména vyhledávač Yandex používal normalizaci pro nejčastější výraz v dokumentu po dlouhou dobu. .
Jednou z nejpopulárnějších receptur je receptura BM25 .
Pokud dokument obsahuje 100 slov a slovo [3] "zajíc" se v něm vyskytuje 3x, pak frekvence slov (TF) pro slovo "zajíc" v dokumentu bude 0,03 (3/100). Spočítejme IDF jako dekadický logaritmus poměru počtu všech dokumentů k počtu dokumentů obsahujících slovo „zajíc“. Pokud je tedy „zajíc“ obsažen v 1000 dokumentech z 10 000 000 dokumentů, pak se IDF bude rovnat: log(10 000 000/1000) = 4. Pro výpočet konečné hodnoty váhy slova je třeba TF vynásobit IDF. V tomto příkladu by váha TF-IDF pro slovo „zajíc“ ve vybraném dokumentu byla: 0,03 × 4 = 0,12.
Míra TF-IDF se často používá k reprezentaci dokumentů v kolekci jako číselných vektorů, které odrážejí důležitost použití každého slova z nějaké sady slov (počet slov v sadě určuje rozměr vektoru) v každém dokumentu. Takový model se nazývá vektorový model a umožňuje porovnávat texty porovnáváním vektorů, které je reprezentují v nějaké metrice ( Euklidovská vzdálenost , kosinusová míra , Manhattanská vzdálenost , Čebyševova vzdálenost atd.), tedy provádění shlukové analýzy .