TF-IDF (från engelska TF - term frequency, IDF - inverse document frequency ) är ett statistiskt mått som används för att utvärdera betydelsen av ett ord i sammanhanget av ett dokument som ingår i en dokumentsamling eller korpus . Vikten av ett ord är proportionell mot frekvensen av förekomsten av detta ord i dokumentet och omvänt proportionell mot frekvensen av förekomsten av ordet i alla dokument i samlingen.
TF-IDF-måttet används ofta i textanalys och informationssökningsuppgifter , till exempel som ett av kriterierna för relevansen av ett dokument för en sökfråga, vid beräkning av närhetsmåttet för dokument under klustring .
TF ( term frekvens - ordfrekvens) - förhållandet mellan antalet förekomster av ett visst ord och det totala antalet ord i dokumentet. Således utvärderas betydelsen av ett ord i ett enda dokument.
,där är antalet förekomster av ordet i dokumentet, och nämnaren är det totala antalet ord i dokumentet.
IDF ( invers dokumentfrekvens - omvänd dokumentfrekvens) - inverteringen av den frekvens med vilken ett visst ord förekommer i samlingens dokument. Grundaren av detta koncept är Karen Spark Jones [1] . Redovisning för IDF minskar vikten av vanliga ord. Det finns bara ett IDF-värde för varje unikt ord inom en given samling dokument.
, [2]var
Valet av basen för logaritmen i formeln spelar ingen roll, eftersom att ändra basen ändrar vikten av varje ord med en konstant faktor, vilket inte påverkar viktförhållandet.
Således är TF-IDF-måttet produkten av två faktorer:
Hög vikt i TF-IDF kommer att ges till ord med hög frekvens inom ett visst dokument och låg frekvens i andra dokument.
Det finns olika formler baserade på TF-IDF-metoden. De skiljer sig i koefficienter, normaliseringar, användning av logaritmiska skalor. I synnerhet använde Yandex-sökmotorn normalisering för den vanligaste termen i dokumentet under lång tid. .
En av de mer populära formlerna är BM25- formeln .
Om ett dokument innehåller 100 ord, och ordet [3] "hare" förekommer 3 gånger i det, så blir ordfrekvensen (TF) för ordet "hare" i dokumentet 0,03 (3/100). Låt oss beräkna IDF som en decimallogaritm av förhållandet mellan antalet av alla dokument och antalet dokument som innehåller ordet "hare". Således, om "haren" finns i 1000 dokument av 10.000.000 dokument, kommer IDF att vara lika med: log(10.000.000/1000) = 4. För att beräkna det slutliga ordet viktvärde måste TF multipliceras med IDF. I det här exemplet skulle TF-IDF-vikten för ordet "hare" i det valda dokumentet vara: 0,03 × 4 = 0,12.
TF-IDF-måttet används ofta för att representera dokument i en samling som numeriska vektorer som återspeglar vikten av att använda varje ord från någon uppsättning ord (antalet ord i uppsättningen bestämmer dimensionen på vektorn) i varje dokument. En sådan modell kallas en vektormodell och gör det möjligt att jämföra texter genom att jämföra vektorerna som representerar dem i någon metrik ( Euklidiskt avstånd , cosinusmått , Manhattan-avstånd , Chebyshev- avstånd, etc.), det vill säga att utföra klusteranalys .