5

Ho dubbi nel calcolo dell'IDF (Inverse Document Frequency) nella categorizzazione del documento. Ho più di una categoria con più documenti per la formazione. Sto calcolando IDF per ogni termine in un documento utilizzando seguente formula:IDF (Frequenza documento inversa) calibrabile per classificazione documento

IDF(t,D)=log(Total Number documents/Number of Document matching term); 

Le mie domande sono:

  1. Che cosa significa "documenti Numero totale a Corpus" significa? Se il numero di documenti di una categoria corrente o di tutte le categorie disponibili?
  2. Che cosa significa "Numero di corrispondenza documento"? Se il termine corrisponde al conteggio dei documenti di una categoria corrente o di tutte le categorie disponibili?

risposta

9

Total Number documents in Corpus è semplicemente la quantità di documenti che hai nel tuo corpus. Quindi se hai 20 documenti, questo valore è 20.

Number of Document matching term è il numero di in quanti documenti viene visualizzato il termine t. Quindi, se si dispone di 20 documenti in totale e il termine t si verifica in 15 dei documenti poi il valore per Number of Documents matching term è 15.

Il valore per questo esempio sarebbe quindi IDF(t,D)=log(20/15) = 0.1249

Ora, se non sbaglio, hai più categorie per documento e vuoi poter categorizzare nuovi documenti con una o più di queste categorie. Un metodo per farlo sarebbe creare un documento per ogni categoria. Ogni documento di categoria dovrebbe contenere tutti i testi etichettati con questa categoria. È quindi possibile eseguire tf*idf su questi documenti.

Un modo semplice di classificare un nuovo documento potrebbe quindi essere ottenuto sommando i valori del termine della query utilizzando i diversi valori di termine calcolati per ciascuna categoria. La categoria i cui valori di termine, utilizzati per calcolare il prodotto, determinano il risultato più alto saranno quindi classificati al primo posto.

Un'altra possibilità è creare un vettore per la query utilizzando lo idf di ciascun termine nella query. A tutti i termini che non si verificano nella query viene assegnato il valore di 0. Il vettore di query può quindi essere confrontato per somiglianza con ciascun vettore di categoria utilizzando, ad esempio, cosine similarity.

Smoothing è anche una tecnica utile per gestire le parole in una query che non si verificano nel corpus.

Suggerisco di leggere sections 6.2 and 6.3 di "Introduzione al recupero delle informazioni" di Christopher D. Manning, Prabhakar Raghavan e Hinrich Schütze.

+0

Grazie .. Ho una risposta. Ma puoi spiegare la categorizzazione di un nuovo documento poco elaborato? Ecco come ottenere la categoria corrispondente per il nuovo documento ?. Quindi come si forma il vettore di frequenza per il nuovo documento per fare la corrispondenza? .. –

+0

Ho aggiunto le informazioni alla mia risposta. – Sicco

+0

Grazie per l'aiuto .. –

-1

ho scritto un piccolo messaggio che descrive la frequenza documento frequenza-inversa termine qui: http://bigdata.devcodenote.com/2015/04/tf-idf-term-frequency-inverse-document.html

Ecco un frammento da posta:

TF-IDF è la metrica più fondamentale ampiamente utilizzata nella classificazione dei documenti . Proviamo a definire questi termini:

La frequenza di termine è fondamentalmente significativa della frequenza di occorrenza di una determinata parola in un documento rispetto ad altre parole nel documento.

La frequenza del documento inverso è invece significativa del verificarsi della parola in tutti i documenti per una determinata raccolta (di documenti che vogliamo classificare in diverse categorie).