enrico1987
14-11-2011, 20:32
Salve, ho un problema.
Ho scritto un programma che lavora su dei file di testo, fra le varie cose ho anche scritto una funzione per calcolare il tf-idf (term frequency–inverse document frequency) e proprio in questa funzione ho un problema:
in pratica per calcolare il valore TF va fatta questa operazione occorrenze termine / numero parole documento
Dato che il numero di occorrenze di una determinata parola è molto piccolo rispetto al numero di parole del documento mi approssima sempre il risultato a zero nonostante abbia usato il tipo double per TF.
Giusto per completezza vi posto anche la linea di codice e la dichiarazione di TF.
tf[i][j]=occ[i][j]/terms_of_document[i]
double** tf;
con i e j indici dei documenti e delle parole, e tf dichiarato come puntatore a puntatore per avere un array dinamico.
Su queste 2 linee di codice non dovrebbero esserci errori perchè ho altri array (quello delle occorrenze per esempio) dichiarati allo stesso modo ;)
Spero che qualcuno possa aiutarmi! Grazie mille!
Ho scritto un programma che lavora su dei file di testo, fra le varie cose ho anche scritto una funzione per calcolare il tf-idf (term frequency–inverse document frequency) e proprio in questa funzione ho un problema:
in pratica per calcolare il valore TF va fatta questa operazione occorrenze termine / numero parole documento
Dato che il numero di occorrenze di una determinata parola è molto piccolo rispetto al numero di parole del documento mi approssima sempre il risultato a zero nonostante abbia usato il tipo double per TF.
Giusto per completezza vi posto anche la linea di codice e la dichiarazione di TF.
tf[i][j]=occ[i][j]/terms_of_document[i]
double** tf;
con i e j indici dei documenti e delle parole, e tf dichiarato come puntatore a puntatore per avere un array dinamico.
Su queste 2 linee di codice non dovrebbero esserci errori perchè ho altri array (quello delle occorrenze per esempio) dichiarati allo stesso modo ;)
Spero che qualcuno possa aiutarmi! Grazie mille!