Bag-of-Words per la classificazione del testo: perché non usare solo le frequenze delle parole invece del TFIDF?


24

Un approccio comune alla classificazione del testo è quello di formare un classificatore fuori da un "bag-of-word". L'utente prende il testo per essere classificato e conta le frequenze delle parole in ciascun oggetto, seguito da una sorta di taglio per mantenere la matrice risultante di dimensioni gestibili.

Vedo spesso che gli utenti costruiscono il loro vettore di funzioni usando TFIDF. In altre parole, le frequenze del testo annotate sopra sono appesantite dalla frequenza delle parole in corpus. Vedo perché TFIDF sarebbe utile per selezionare le parole "più distintive" di un determinato documento per, per esempio, mostrarle a un analista umano. Ma nel caso della categorizzazione del testo usando tecniche ML supervisionate standard, perché preoccuparsi del downweight per la frequenza dei documenti nel corpus? Lo studente stesso non deciderà l'importanza da assegnare a ciascuna parola / combinazione di parole? Le sarei grato per i tuoi pensieri su quale valore aggiunge l'IDF, se presente.

Risposte:


29

La risposta è molto semplice: TF-IDF può ottenere risultati migliori rispetto alle frequenze a termine semplice se combinato con alcuni metodi supervisionati.

L'esempio canonico sta usando la somiglianza del coseno come misura della somiglianza tra i documenti. Prendere il coseno dell'angolo tra la rappresentazione vettoriale di documenti TF-IDF dei documenti può recuperare con successo documenti simili simili con una precisione maggiore rispetto al solo TF.

Questo perché IDF riduce il peso dato alle parole comuni ed evidenzia le parole non comuni in un documento. La maggior parte degli articoli di notizie non riguarda gli struzzi, quindi un articolo di notizie contenente "struzzo" è insolito e vorremmo saperlo quando proviamo a trovare documenti simili.

Ma nel caso della categorizzazione del testo usando tecniche ML supervisionate standard, perché preoccuparsi del downweight per la frequenza dei documenti nel corpus? Lo studente stesso non deciderà l'importanza da assegnare a ciascuna parola / combinazione di parole?

XyXyy), quindi abbiamo reso il compito molto più semplice per noi stessi e per i nostri computer poveri e sovraccarichi di lavoro! Penso che questo sia un componente poco apprezzato del settore: le persone trascorrono molto tempo a studiare e considerare gli algoritmi perché sono indipendenti dal dominio, ma conoscere meglio i tuoi dati e il problema che stai cercando di risolvere può suggerire percorsi a miglioramento della raccolta o della rappresentazione dei dati che rendono l'attività molto più semplice e così semplice che non è necessario un modello di sofisticata raffinatezza.

Un certo numero di risorse può essere trovato qui , che riproduco per comodità.

  • K. Sparck Jones. "Un'interpretazione statistica della specificità del termine e la sua applicazione nel recupero". Journal of Documentation, 28 (1). 1972.

  • G. Salton ed Edward Fox e Wu Harry Wu. "Recupero informazioni booleane estese". Comunicazioni dell'ACM, 26 (11). 1983.

  • G. Salton e MJ McGill. "Introduzione al moderno recupero di informazioni". 1983

  • G. Salton e C. Buckley. "Approcci di ponderazione dei termini nel recupero automatico del testo". Elaborazione e gestione delle informazioni, 24 (5). 1988.

  • H. Wu e R. Luk e K. Wong e K. Kwok. "L'interpretazione dei pesi del termine TF-IDF come decisioni di pertinenza". ACM Transactions on Information Systems, 26 (3). Del 2008.


Grazie per la nota @ user777! Apprezzalo. Sto dando un'occhiata a quegli articoli. Ci sono classi generali di algoritmi che ci aspettiamo possano beneficiare preferibilmente del TFIDF rispetto al solo TF?
shf8888,

@ shf8888 Non sono sicuro se ci sono classi generali in cui una è migliore. È possibile! Per quanto ne so, il primo riflesso di qualcuno che lavora su un'attività NLP è provare TF e poi TF-IDF come metodi di base prima di passare a un modello più complicato. In questo modo, è possibile quantificare quanto sono aumentate le prestazioni acquistate per lo sforzo maggiore impiegato utilizzando modelli sempre più complicati.
Sycorax dice di reintegrare Monica

Grazie mille! Bene, la risposta che "empiricamente TFIDF può fornire prestazioni migliorate rispetto a TF con alcuni algoritmi" (se non ti opponi al mio sommario di una frase) è sicuramente buona dal mio punto di vista. Grazie per i riferimenti.
shf8888,

2

Nel caso tipico, potresti avere molti più documenti nel tuo corpus rispetto ai documenti etichettati. Ciò significa che l'IDF può essere calcolato in modo molto più accurato e completo quando si utilizza l'intero corpus.

Quindi prendi in considerazione il caso in cui il corpus su cui puoi mettere le mani finora sia tutto etichettato o il sottoinsieme etichettato sia "abbastanza grande". In questo caso, il numero di iterazioni necessarie per la formazione potrebbe essere inferiore quando si utilizza TfIDF perché l'algoritmo di apprendimento non avrebbe bisogno di imparare tanto.

Infine, in questo stesso caso, potresti anche fornire solo tf o tf e idf separatamente (o anche includere anche tfidf). Penso che questo potrebbe potenzialmente generare risultati migliori, ad esempio, quando si utilizza una sofisticata funzione del kernel.

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.