Convertire testi in forma numerica con TfidfVectorizer Una guida passo-passo

Transformare il testo in forma numerica con TfidfVectorizer Una guida passo-passo

Foto di Mohamed Nohassi su Unsplash

Come calcolare i valori di Tfidf manualmente ed usando sklearn

Tfidf è un metodo per convertire i testi in forma numerica per i modelli di apprendimento automatico o AI. In altre parole, Tfidf è un metodo per estrarre le caratteristiche dai testi. Questo è un metodo più sofisticato rispetto al metodo CountVectorizer() che ho discusso nel mio ultimo articolo.

Il metodo Tfidf fornisce un punteggio per ogni parola che rappresenta l’utilità di quella parola o la rilevanza della parola. Misura l’uso della parola rispetto alle altre parole presenti nel documento.

In questo articolo calcoleremo manualmente i punteggi Tfidf in modo che si comprenda chiaramente il concetto di Tfidf. Verso la fine, vedremo anche come utilizzare il vettorializzatore Tfidf dalla libreria sklearn.

Ci sono due parti: TF e IDF. Vediamole singolarmente.

TF

TF è elaborato come ‘Frequenza del termine’. TF può essere calcolato come:

TF = numero di occorrenze di una parola in un documento

OPPURE

TF = (numero di occorrenze in un documento) / (numero di parole in un documento)

Lavoriamo su un esempio. Troveremo il TF per ogni parola di questo documento:

Il mio nome è Lilly

Vediamo un esempio per ciascuna delle formule.

TF = numero di occorrenze di una parola in un documento

Se prendiamo la prima formula qui, che è semplicemente il numero di ocurrenze di una parola in un documento, il TF per la parola ‘IL MIO’ è 1 poiché è apparsa solo una volta.

Allo stesso modo, il TF per la parola

‘nome’ = 1, ‘è’ = 1, ‘Lilly’ = 1

Ora, utilizziamo la seconda formula.

TF = (numero di occorrenze in un documento) / (numero di parole in un documento)

Se prendiamo la seconda formula, la prima parte della formula (numero di occorrenze in un documento) è 1, e la seconda parte (numero di parole in un documento) è 4.

Quindi, il TF per la parola ‘IL MIO’ è 1/4 o 0.25.

Allo stesso modo, il TF per le parole