# Tf-idf

Tf-idf (de l'anglès Term frequency – inverse document frequency) és un terme utilitzat en anàlisi de text quantitativa, i és la freqüència d'ocurrència del terme en un document concret en relació a la presència que el terme té en el conjunt de documents analitzats. És una mesura numèrica que expressa com és de rellevant una paraula en un document d'una col·lecció, i que per tant, defineix les paraules més característiques d'un document. Aquesta mesura s'utilitza sovint com un factor de ponderació en la recuperació d'informació. El valor tf-idf augmenta segons el nombre de vegades que una paraula apareix en un document i no en altres, el que permet esbrinar quines paraules són més comuns en aquest text respecte els altres.
De vegades s'utilitzen variacions de tf-idf en els motors de cerca, com a eina per mesurar la rellevància d'un document en relació a una consulta d'un usuari, establint així un orde entre els documents cercats. Tf-idf també es pot utilitzar amb èxit en el filtrat de les anomenades paraules buides (paraules comuns sense sentit semàntic que s'utilitzen en tots els documents, com articles, determinants...), en diferents camps com la classificació i el resum de text.

## Càlcul

Tf-idf és el producte de dos càlculs: freqüència dels termes (tf) i la freqüència inversa dels documents (idf). Hi ha diverses maneres per determinar els seus valors.
En el cas de la freqüència dels termes tf (t, d) la forma més senzilla és calcular el nombre de vegades que apareix aquest terme “t” en el document “d”. Si denotem la freqüència de “t” per f (t, d), llavors l'esquema tf simple és tf (t, d) = f (t, d). Una manera més eficient de calcular la tf dividint la freqüència del terme que busquem per freqüència augmentada (freqüència del terme que apareix més vegades en el text). Això es fa per evitar que baixi la freqüència de terme en documents més llargs. Això ho mostrem a la següent fórmula matemàtica:
    $\mathrm {tf} (t,d)=0.5+{\frac {0.5\times \mathrm {f} (t,d)}{\max\{\mathrm {f} (w,d):w\in d\}}}$
La freqüència inversa de document idf és una mesura per veure si el terme és comú o rar en tots els documents. S'obté dividint el nombre total de documents pel nombre de documents que contenen el terme, i després prendre el logaritme d'aquest quocient.
    $\mathrm {idf} (t,D)=\log {\frac {|D|}{|\{d\in D:t\in d\}|}}$
* $|D|$: Nombre total de documents en el corpus
* $|\{d\in D:t\in d\}|$ : nombre de documents en els quals apareix el terme $t$(exemple:, $\mathrm {tf} (t,d)\neq 0$). Si el terme no apareix en cap document, això donarà lloc a una divisió per zero. Per tant, s'acostuma a sumar 1 en el denominador. $1+|\{d\in D:t\in d\}|$.
Matemàticament, la base del logaritme no és important i constitueix un factor constant en el resultat final.
Finalment, tf-idf es calcula com:
    $\mathrm {tfidf} (t,d,D)=\mathrm {tf} (t,d)\times \mathrm {idf} (t,D)$
Obtenen un pes elevat en tf - idf els casos on hi ha una alta freqüència del terme (en el document donat) i una baixa freqüència del terme en el conjunt dels documents. Si un terme apareix en diversos documents, la relació dins del logaritme s'aproxima a 1, de manera que la idf i tf - idf estan més a prop de 0. Si un terme gairebé no apareix en els documents, la relació dins del logaritme és un nombre força gran, de manera que la idf i tf - idf s'allunya del 0, donant més pes al terme en qüestió. Com a efecte lateral això té que es filtren les paraules comuns a tots els arxius.

## Exemple TF-IDF

Un document conté 100 paraules i la paraula “gat” apareix 3 vegades. Per tant, la paraula “gat” té una freqüència de 3/100=0.03.
La paraula que apareix més al document és l'article “el”. (25 vegades).Per tant, la paraula amb més repeticions, té una freqüència de 25/100= 0,25
Primer apliquem la fórmula del TF:
TF= 0,5+ (0,5*0,03)/0,25= 0.56
Ara, suposem que tenim 10 milions de documents i la paraula gat apareix en 1000 d'ells. Llavors, la freqüència inversa de document es calcula com a:
IDF = log (10000000/(1+1000) = 4
Per tant, el pes de Tf-idf és el producte d'aquestes quantitats: 0.56 * 4 = 2.24.

## Concepte

Dins l'àrea de la cerca d'informació, l'algorisme més senzill de cerca és la cerca binaria. Consisteix a trobar aquells arxius que contenen la paraula que estem buscant.
Això té un problema: Aquesta cerca mostrarà els arxius ordenats tal com se'ls troba a la base de dades. D'aquesta manera, no vigilem si estem donant més pes a un arxiu que conte, per exemple, una repetició de la paraula que estem buscant o a un document que contingui 100 repeticions.
Evidentment, voldrem donar més pes a l'arxiu que conté 100 vegades la paraula en qüestió i això ho resoldrem donant pes a les paraules.
El mètode TF-IDF és una tècnica senzilla i eficaç per a ordenar els arxius depenent de la paraula de la nostra cerca.

## Motivació

Suposem que tenim una col·lecció de documents i volem determinar el document més rellevant a una determinada consulta. Aquesta consulta pot ser, per exemple: " el processament digital d'àudio".
Una manera senzilla de començar és eliminar aquells documents que no continguin les tres paraules: "el" / "processament"/"digital" / " àudio ", però encara seguim tenint molts documents que no s'han eliminat.Per diferenciar encara més els documents, hem de mirar el nombre de vegades que apareix cada terme al text i sumar-los. El nombre de vegades que apareix un terme dins un document es denomina Freqüència de terme.
No obstant això, com que el terme "el" és tan comú, provocarà que destaquin documents que utilitzin molt el terme "el" i no tindran en compte les altres paraules més rellevants com "processament", "digital" o "àudio".
El terme "el" no és una bona paraula clau per a distingir documents rellevants/no rellevants. Em canvi, les paraules menys comuns si que ho són.
Per tant, s'incorpora un analitzador de freqüència inversa del document, atenuant el pes dels termes que tenen una freqüència més elevada a tots els documents, i es dona més pes a les paraules clau que apareixen amb menys freqüència.
Posem un exemple:
Un cercador web té 70000 resultats a la cerca “ el processament digital de so ”. Malgrat tot, aquest cercador només ens mostrarà 1000 d'aquests resultats. A més a més, l'usuari no es mirarà els 1000 resultats, en consultarà un centenar en el millor dels casos.
Si aquest cercador web utilitza la cerca binaria, és molt probable que els arxius que consulti l'usuari no siguin els més rellevants.
En canvi, si donem pes a les paraules assegurem que els primers documents que apareixen, són els més rellevants, així l'usuari troba l'arxiu que estava cercant molt ràpidament.

## Referències

Medina González, Manuel. «TF-IDF: pesando las palabras» (en castellà). [Consulta: 21 novembre 2013].
«Tf-Idf :: Information Retrieval» (en anglès). [Consulta: 21 novembre 2013].
«Document and query weighting schemes» (en anglès). [Consulta: 21 novembre 2013].