**Termfrekvens–invers dokumentfrekvens** (engelsk: *term frequency-inverse document frequency*, forkortet **tf–idf**, **TF\*IDF**, **TFIDF**, **TF–IDF**, eller **Tf–idf**) er et numerisk mål for hvor viktig en term er i et dokument. TF-IDF er beregnet på bakgrunn av *termfrekvens* (Term frequency) og *invers dokumentfrekvens* (Inverse Document Frequency). TF-IDF brukes ofte i informasjonsinnhenting, og søk. TF-IDF verdiene brukes ofte til å sammenlikne dokumenter i en samling mot en spørring, for å finne det mest relevante resultatet, for eksempel ved bruk av vektormodellen

Definisjoner
------------

Termfrekvens er en målestokk på hvor ofte en term oppstår i et dokument, med andre ord hvor mange ganger eksisterer term *t* i dokument *d*.
Dokumentfrekvens er en målestokk som viser hvor mange av dokumentene i den gjeldende samlingen som inneholder termen. Dette kan for eksempel være antall dokumenter i samlingen som inneholder termen *t*.

I TF-IDF bruker vi[*hvem?*] inversen av dokumentfrekvens. 

IDF er definert som:
IDF = {\displaystyle Log{\frac {N}{df\_{t}}}}

Dermed kan vi definere TF-IDF som:

TF-IDF{\displaystyle \_{t,d}} = tf{\displaystyle \_{t,d}\times }idf{\displaystyle \_{t}}

Fordeler med TF-IDF
-------------------

Fordeler med TF-IDF er at det alltid blir gitt en vekt til term *t* i et dokument *d* som er:

* Høyest når *t* oppstår mange ganger i få dokumenter
* Lavere når termen *t* oppstår få ganger i et dokument, eller oppstår i mange dokumenter
* Lavest når en term oppstår i tilnærmet alle dokumentene

Varianter av TF-IDF
-------------------

### Sublineær TF

Dersom et ord oppstår tretti ganger i et dokument, er ikke ordet nødvendigvis tredve ganger så viktig som dersom ordet oppstår kun en gang i et dokument. For å forhindre at en term blir ansett som tredve ganger så viktig som et ord som kun oppstår en gang, kan vi bruke *sublineær* (Sublinear) tf-skalering. Istedenfor å øke tf verdien med en hver gang ordet oppstår kan vi bruke logaritmen av termfrekvensen. 

*w f*{\displaystyle \_{t,d}} = {\displaystyle {\begin{cases}1+logtf\_{t,d},&{\mbox{hvis }}tf{\mbox{større enn 0}}\\0,&{\mbox{ ellers}}\end{cases}}}

### Maksimum tf-normalisering

Maksimum tf normalisering er en teknikk der vi normaliserer alle tf-vektene i et dokument, på bakgrunn av den høyeste tf verdien i det gjeldende dokumentet.
For hvert dokument la tfmax(d) = maxτ{\displaystyle \in } d tfτ, d, der τ dekker alle termene i dokument *d*. Så regner vi ut normalisert term frekvens for alle termer *t* i dokument *d*. Dermed kan vi definere maksimum tf-normalisering som:

ntft,d = {\displaystyle a+(1-A){\frac {tf\_{t,d}}{tf\_{max}d'}}}

Der A er en verdi mellom 0 og 1, og er vanligvis satt til 0,4. A er en verdi som brukes til å dempe påvirkningen fra andre termer. Denne metoden normaliserer alle termer avhengig av den største termen i dokumentet. Den største fordelen med denne metoden er at den reduserer påvirkingen av at lengre dokumenter får høyere treffgrad fordi dokumentene inneholder flere ord.

Bruk av TF-IDF
--------------

TF-IDF brukes som rangeringsfunksjon i flere implementasjoner av søk. TF-IDF verdiene er verdiene som oftest blir brukt i vektormodellen, en modell som sammenlikner dokumenter for å finne det dokumentet som er mest relevant. I tillegg er det flere forbedrede søkealgoritmer som BM25 som bruker TF-IDF til å finne de mest relevante artiklene.

Referanser
----------

1. 1 2   Manning Christopher D, "Introduction to Information Retrieval" Cambrigde, 2009