# Tf–idf

Informazioaren berreskurapenean, tf–idf edo TFIDF, terminoen maiztasuna–alderantzizko dokumentu maiztasuna (ingelesez term frequency–inverse document frequency), zenbakizko estatistika bat da eta hitz bat zein garrantzitsua den adieraztea du helburu, dokumentu bilduma batean edo corpus batean. Sarri erabili oi da ponderazio-faktore modura, informazioaren berreskurapeneko bilaketetan, testu-meatzaritzan, eta erabiltzaile modelaketa. Tf-idf balioa proportzionalki hazten da hitz bat dokumentuan agertzen den kopuruarekiko, eta hitzaren corpuseko maiztasunekin orekatzen da, zeinak hitz batzuk, oro har sarriago agertzen direla erakusten duen. Gaur egun, tf-idf da termino-ponderazio-eskema ezagunenetako bat; liburutegi digitaletan, testuetan oinarritutako gomendio-sistemen % 83k erabiltzen du tf-idf.
Tf–idf ponderazio-eskemaren aldaerak askotan erabiltzen dituzte bilaketa-motoreek, erabiltzailearen kontsulta batetarako, dokumentu baten garrantzia puntuatu eta ranking bat osatzeko tresna gisa. Tf–idf arrakastaz erabili daiteke hainbat eremutan hitz-hutsen (stopwords) iragazketarako, testu laburpena eta sailkapena barne.
Ranking funtzio sinpleenetariko bat kontsultako termino bakoitzeko TF-IDFak batuz kalkulatzen da; sofistikatuagoak diren sailkapen funtzioetariko ugari eredu sinple honen aldaerak besterik ez dira.

## Motibazioak
### Terminoen maiztasuna

Suposa dezagun Euskerazko testu dokumentu batzuk ditugula eta "behi marroia" kontsultarako, dokumentu adierazgarriena zein den jakin nahi dugula. Abiapuntu gisa "behi" eta "marroi", hitz biak ez dituzten dokumentuak baztertu ditzakegu, baina, hala ere, dokumentu asko geratzen zaizkigu. Bilaketan aurrera jo nahi izanez gero, termino bakoitza dokumentu bakoitzean zenbatetan agertzen den kontatu genezake; termino jakin bat dokumentu batean zenbat aldiz ageri den, terminoen maiztasuna deritzo. Hala eta guztiz ere, dokumentuen luzera asko aldatzen den kasuetan, doikuntzak egin behar izaten dira (ikusi definizioa behean). Terminoen ponderazioaren lehen forma, Hans Peter Luhnri (1957) zor zaio, honela laburbilduz:
* Dokumentu batean ageri den termino baten pisua terminoen maiztasunarekiko proportzionala da.

### Alderantzizko dokumentu maiztasuna

"Behia eta astoa" kontsultarako, "eta" terminoa oso arrunta izanik, hau sarri ageri den testuak azpimarratzeko joera okerra izango du, "behia" eta "astoa" termino esanguratsuei dagokien pisua eman gabe. "Eta" terminoa ez da hitz-gako egokia dokumentu esanguratsuak bereizteko, "behia" eta "astoa" hitz ez horren arruntak egokiakoak diren bitartean. Hori dela eta, alderantzizko-dokumentu-maiztasuna faktorea gehitzen zaio eta horrela dokumentuetan zehar maiz azaltzen den termino horri pisua murrizten zaio, termino ezohikoagoen pisua handitu bitartean.
Karen Spärck Jones (1972) asmatutako interpretazio estatistiko batek, Alderantzizko Dokumentu Maiztasuna (IDF) deiturikoak, terminoen espezifikotasuna neurtzeko balio zuen, eta hau giltzarri bilakatu zen terminoen ponderazioan:
* Termino baten espezifikotasuna dokumentu horrentako agerpen kopuruaren alderantzizko funtzio gisa kuantifikatua izan daiteke.

## Definizioa

Tf–idf bi estatistikoren biderketaren emaitza da, terminoen maiztasuna eta alderantzizkoa dokumentu maiztasunarena. Hainbat modu daude estatistiko bakoitzaren balio zehatzak zehazteko.
Terminoen maiztasunaren (TF) ponderazioaren aldaerak :
| ponderazio-eskema | TF pisua |
| boolearra | ${0,1}$ |
| kontaketa gordina | $f_{t,d}$ |
| terminoen maiztasuna | $f_{t,d}{\Bigg /}{\sum _{t'\in d}{f_{t',d}}}$ |
| log normalizazioa | $1+\log(f_{t,d})$ |
| 0.5normalizazio bikoitza | $0.5+0.5\cdot {\frac {f_{t,d}}{\max _{\{t'\in d\}}{f_{t',d}}}}$ |
| K normalizazio bikoitza | $K+(1-K){\frac {f_{t,d}}{\max _{\{t'\in d\}}{f_{t',d}}}}$ |

### Terminoen maiztasuna

Terminoen maiztasunaren tf(t,d) kasuan, aukerarik errazena dokumentuan hitzaren kontaketa gordina erabiltzea da, hau da, d dokumentu batean t terminoa zenbatetan ageri den. Kontaketa f$_{t,d}$, bidez adierazten badugu, tf(t,d) = f$_{t,d}$ da tf eskema errazena. Beste aukera batzuk, besteak beste$^{:128}$
* "maiztasun" Boolearrak: tf(t,d) = 1 da, t d-n agertzen bada, eta 0 bestela;
* Terminoen maiztasuna dokumentuaren luzerara egokitua: f$_{t,d}$ ÷ (hitz-kopurua d-n)
* Eskala logaritmikoko maiztasuna: tf(t,d) = log ( 1 + f$_{t,d}$), (edo zero, f$_{t,d}$ zero bada);
* Maiztasun areagotuak, dokumentu luzeetan bias-a ekiditeko, adibidez, maiztasuna zati dokumentuan gehien agertzen den terminoaren maistasuna:
    $\mathrm {tf} (t,d)=0.5+0.5\cdot {\frac {f_{t,d}}{\max\{f_{t',d}:t'\in d\}}}$

### Alderantzizko dokumentu maiztasuna

Alderantzizkoa dokumentu maiztasunaren (FID) ponderazio aldaerak :
| ponderazio-eskema | FID pisua ($n_{t}=|\{d\in D:t\in d\}|$) |
| unitarioak | 1 |
| alderantzizko dokumentu maiztasuna | $\log {\frac {N}{n_{t}}}=-\log {\frac {n_{t}}{N}}$ |
| alderantzizko dokumentu maiztasuna leuna | $\log \left(1+{\frac {N}{n_{t}}}\right)$ |
| alderantzizko dokumentu maiztasun max | $\log \left({\frac {\max _{\{t'\in d\}}n_{t'}}{1+n_{t}}}\right)$ |
| alderantzizko dokumentu maiztasun probabilistikoa | $\log {\frac {N-n_{t}}{n_{t}}}$ |
Alderantzizkoa dokumentu maiztasuna hitz batek zenbat informazio ematen duen adierazteko neurri bat da, hau da, ea terminoa ohikoa edo arraroa den dokumentu guztietan zehar. Hitza barne duten dokumentuen eskala logaritmikoko alderantzizko zatikia da. Dokumentu kopurua zati terminoa barne duten dokumentuen kopurua eginez lortzen dan, ondoren zatiduraren logaritmoa kalkulatuz.
    $\mathrm {idf} (t,D)=\log {\frac {N}{|\{d\in D:t\in d\}|}}$
non
* $N$: dokumentuen kopurua guztira corpusean $N={|D|}$
* $|\{d\in D:t\in d\}|$ : terminoa agertzen den dokumentu kopurua (hau da, $\mathrm {tf} (t,d)\neq 0$). Terminoa corpusean ez bada, zerorekin zatitzera eramango gaitu, . beraz, ohikoa da izendatzailea honela egokitzea $1+|\{d\in D:t\in d\}|$.

### Termino maiztasun–Alderantzizko dokumentu maiztasuna

Ondoren, tf–idf honela kalkulatzen da:
    $\mathrm {tfidf} (t,d,D)=\mathrm {tf} (t,d)\cdot \mathrm {idf} (t,D)$
TFIDF-n pisu altua lortzen da maiztasun handiko (dokumentu batean) termino bat eta dokumentu bilduma osoan, dokumentu maiztasun txikia duen termino bat erabiliz; pisuek, beraz, termino arruntak iragazteko joera dute. IDF-ren log funtzioa beti 1 edo handiagoa izanik, IDF-ren (eta TDIDFren) balioa 0 edo handiagoa izango da. Termino bat dokumentu anitzetan ageri daitekeenez, logaritmo barruko ratioa 1era hurbiltzen da, idf eta tf-idf 0rantz hurbilduz.
Gomendatutako TF-IDF ponderazio eskemak :
| ponderazio eskema | dokumentuko terminoen pisaketa | terminoen kontsulten pisaketa |
| 1 | $f_{t,d}\cdot \log {\frac {N}{n_{t}}}$ | $\left(0.5+0.5{\frac {f_{t,q}}{\max _{t}f_{t,q}}}\right)\cdot \log {\frac {N}{n_{t}}}$ |
| 2 | $1+\log f_{t,d}$ | $\log(1+{\frac {N}{n_{t}}})$ |
| 3 | $(1+\log f_{t,d})\cdot \log {\frac {N}{n_{t}}}$ | $(1+\log f_{t,q})\cdot \log {\frac {N}{n_{t}}}$ |

## TFIDFaren adibidea

Suposa dezagun ingelesezko corpus bat dugula, bi dokumentuz osatua, eta hitzen kontaketa egin dugula, beheko taulan daude ikusgai.
2. dokumentua :
| hitza | agerpen kopurua |
| this | 1 |
| is | 1 |
| another | 2 |
| example | 3 |
1. dokumentua :
| hitza | agerpen kopurua |
| this | 1 |
| is | 1 |
| a | 2 |
| sample | 1 |
"this" terminoaren TFIDFa honela kalkulatzen da:
Bere maiztasun forma gordinean, dokumentu bakoitzerako "this"-en maiztasuna besterik ez da tf. Dokumentu bakoitzean, "this" hitza behin agertzen da; baina 2. dokumentuak hitz gehiago dituenez, bere maiztasun erlatiboa txikiagoa da.
    $\mathrm {tf} ({\mathsf {''this''}},d_{1})={\frac {1}{5}}=0.2$
    $\mathrm {tf} ({\mathsf {''this''}},d_{2})={\frac {1}{7}}\approx 0.14$
Idf bat corpus bakoitzeko konstantea da, eta "this" hitza barne duten dokumentuen ratioa adierazten du. Kasu honetan, bi dokumentuko corpus bat dugu, eta guztiek dute "this" hitza barnean.
    $\mathrm {idf} ({\mathsf {''this''}},D)=\log \left({\frac {2}{2}}\right)=0$
Beraz, TDIDFa zero da "this" hitzarentzat, eta horrek hitza ez dela oso adierazgarria erakusten digu, dokumentu guztietan agertzen delako.
    $\mathrm {tfidf} ({\mathsf {''this''}},d_{1})=0.2\times 0=0$
    $\mathrm {tfidf} ({\mathsf {''this''}},d_{2})=0.14\times 0=0$
Adibide interesgarriago bat izango dugu "example" hitzarekin; hiru alditan agertzen da, nahiz eta bigarren dokumentuan soilik agertzen den:
    $\mathrm {tf} ({\mathsf {''example''}},d_{1})={\frac {0}{5}}=0$
    $\mathrm {tf} ({\mathsf {''example''}},d_{2})={\frac {3}{7}}\approx 0.429$
    $\mathrm {idf} ({\mathsf {''example''}},D)=\log \left({\frac {2}{1}}\right)=0.301$
Azkenik,
    $\mathrm {tfidf} ({\mathsf {''example''}},d_{1})=\mathrm {tf} ({\mathsf {''example''}},d_{1})\times \mathrm {idf} ({\mathsf {''example''}},D)=0\times 0.301=0$
    $\mathrm {tfidf} ({\mathsf {''example''}},d_{2})=\mathrm {tf} ({\mathsf {''example''}},d_{2})\times \mathrm {idf} ({\mathsf {''example''}},D)=0.429\times 0.301\approx 0.13$
(logaritmo hamartarrak erabiliz ).

## Erreferentziak

* ↑ Rajaraman,Ullman, A.,J.D.,. (2011). Mining of Massive Datasets. , 1–17 or..
* ↑ Rajaraman,Ullman,Langer, Corinna,Bela,Stefan. (2015-07-26). Research-paper recommender systems: a literature survey. International Journal on Digital Libraries.
* ↑ Luhn, Hans Peter. (2015). A Statistical Approach to Mechanized Encoding and Searching of Literary Information. IBM.
* ↑ Spärck Jones, Karen. (1972). A Statistical Interpretation of Term Specificity and Its Application in Retrieval. Journal of Documentation.
* ↑ Manning, C.D.. (2008). Introduction to Information Retrieval. .
* ↑ TFIDF statistics. .

## Kanpo estekak

* Datuak: Q796584