Perché aggiungerne uno nella frequenza inversa del documento?


9

Il mio libro di testo elenca l'idf come dovelog(1+Nnt)

  • N : numero di documenti
  • nt : numero di documenti contenenti il ​​terminet

Wikipedia elenca questa formula come una versione liscia del effettivo . Quello che ho capito: varia da a che sembra intuitivo. Ma passa da a \ infty, il che sembra così strano ... So un po 'di smussamento dalla modellazione del linguaggio ma lì aggiungeresti qualcosa al numeratore così come nel denominatore perché sei preoccupato per la massa di probabilità. Ma aggiungere 1 non ha senso per me. Cosa stiamo cercando di realizzare qui?log(Nlog(Nnt)log(1+Nlog(NN)=0
log(1+1)1log(1+Nnt)log(1+1)
1



Il corretto livellamento sarà
log(N(1+nt))
ashishpatel.co.in

Risposte:


7

Come vedrete sottolineato altrove, che TF-IDF è discusso, non v'è universalmente accettato un'unica formula per il calcolo TF-IDF o addirittura (come nel tuo questione) IDF . Lo scopo di è quello di raggiungere uno dei due obiettivi: a) evitare la divisione per zero , come quando un termine non appare in nessun documento, anche se ciò non accadrebbe in un approccio strettamente "bag of words", oppure b) per impostare un limite inferiore per evitare che a un termine venga assegnato un peso zero solo perché è apparso in tutti i documenti.+1

In realtà non ho mai visto il formulazioni , sebbene tu menzioni un libro di testo. Ma lo scopo sarebbe quello di impostare un limite inferiore di anziché zero, come interpretato correttamente. Ho visto 1 + , che imposta un limite inferiore di 1. Il calcolo più comunemente usato sembra essere , come in Manning, Christopher D, Prabhakar Raghavan e Hinrich Schütze (2008) Introduzione al recupero delle informazioni , Cambridge University Press, p118 o Wikipedia (basato su fonti simili).log(2)llog(1+Nnt)log(2)log(Nnt)log(Nnt)

Non direttamente pertinente alla tua query, ma il limite superiore non è , ma piuttosto dove seconda della tua formulazione di smoothing. Questo accade per i termini che compaiono in 0 o 1 documenti (di nuovo, dipende dal fatto che tu li liscia con per renderlo definito per i termini con frequenza del documento pari a zero, altrimenti il ​​valore massimo si verifica per i termini che compaiono in un solo documento). IDF quando e .k + l o g ( N / s ) k , s 0 , 1 s 1 + n t = 1 N k+log(N/s)k,s0,1s1+nt=1N

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.