 Tf-Idf
Tf-Idf
Comprendre le TF-IDF
Bien que le modèle du sac de mots soit simple et efficace, il a tendance à surévaluer les termes courants, ce qui complique l'identification des mots moins fréquents mais plus informatifs. Pour remédier à cela, le modèle TF-IDF est souvent utilisé à la place.
TF-IDF (term frequency-inverse document frequency) est une mesure statistique qui reflète l'importance d'un mot dans un document spécifique par rapport à un corpus plus large.
Contrairement au BoW, qui se base sur le comptage brut des termes, le TF-IDF prend en compte à la fois la fréquence d'un terme dans un document et sa fréquence inverse dans l'ensemble du corpus. Cela réduit l'influence des termes courants et met en avant ceux qui sont plus rares et informatifs.
Fonctionnement du TF-IDF
Le score TF-IDF pour un terme dans un document est calculé comme suit :
tf-idf(t,d)=tf(t,d)×idf(t)où :
- t est le terme (un mot ou un n-gramme) ;
- d est le document.
Il existe de nombreuses variantes pour le calcul des valeurs tf et idf. Examinons une option courante pour chacune :
Fréquence du terme (TF)
Indique la fréquence d'apparition d'un terme dans un document, reflétant ainsi son importance relative dans ce document. Similaire au modèle sac de mots, un simple comptage est souvent utilisé :
tf(t,d)=count(t,d)Fréquence inverse du document (IDF)
Mesure la rareté d'un terme dans l'ensemble du corpus. Elle peut être calculée comme le logarithme naturel du rapport entre le nombre total de documents et le nombre de documents contenant le terme :
idf(t)=log(1+df(t)1+Ndocuments)+1Cette formule utilise un lissage (ajout de 1) pour éviter la division par zéro et garantit que même les termes courants reçoivent un score IDF non nul. En pratique, l'IDF réduit le poids des termes fréquents et met en avant les termes plus rares et informatifs.
Sans la composante IDF, le TF-IDF se réduirait à un simple comptage des termes — revenant essentiellement au modèle sac de mots.
Calcul du TF-IDF
Exemple simple :
Dans ce cas, nous avons seulement deux documents et utilisons uniquement des unigrammes (mots individuels), donc les calculs sont simples. Nous commençons par calculer les fréquences des termes pour chaque mot dans les deux documents, puis les valeurs IDF pour les termes "a" et "is".
Comme il n'y a que deux documents dans notre corpus, chaque terme apparaissant dans les deux documents aura une valeur IDF de 1, tandis que les autres termes auront une valeur IDF de ~1.406465.
Enfin, nous pouvons calculer les valeurs TF-IDF pour chaque terme dans chaque document en multipliant TF par IDF, ce qui donne la matrice suivante :
Normalisation L2
Les vecteurs TF-IDF obtenus peuvent varier considérablement en magnitude, en particulier dans de grands corpus, en raison des différences de longueur des documents. C'est pourquoi la normalisation L2 est couramment appliquée — afin de ramener tous les vecteurs à une longueur uniforme, permettant ainsi des comparaisons équitables et impartiales entre des documents de différentes longueurs.
La normalisation L2, également appelée normalisation euclidienne, est un procédé appliqué à des vecteurs individuels qui ajuste leurs valeurs afin de garantir que la longueur du vecteur soit égale à 1.
La normalisation L2 s'effectue en divisant chaque terme du vecteur par la norme euclidienne du vecteur.
Si le vecteur du document est le suivant :
d=(w1,w2,w3,...,wN)où wi est le poids du terme i,
alors la norme euclidienne s'écrit :
∥d∥2=w12+w22+w32+...+wN2et le vecteur normalisé s'écrit :
dnorm=(∥d∥2w1,∥d∥2w2,∥d∥2w3,...,∥d∥2wN)Voici comment fonctionne la normalisation L2 pour un vecteur à deux dimensions (un document avec 2 termes) :
Ne vous inquiétez pas si les formules semblent complexes. Il s'agit simplement de diviser chaque valeur TF-IDF d'un document par la longueur (ou magnitude) du vecteur TF-IDF de ce document. Cela met à l'échelle le vecteur afin que sa longueur devienne 1, garantissant ainsi des comparaisons cohérentes entre les vecteurs.
Appliquons maintenant la normalisation L2 à notre matrice TF-IDF, que nous avons calculée ci-dessus :
La matrice obtenue correspond exactement à l'exemple présenté dans l'un des chapitres précédents.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 3.45 Tf-Idf
Tf-Idf
Glissez pour afficher le menu
Comprendre le TF-IDF
Bien que le modèle du sac de mots soit simple et efficace, il a tendance à surévaluer les termes courants, ce qui complique l'identification des mots moins fréquents mais plus informatifs. Pour remédier à cela, le modèle TF-IDF est souvent utilisé à la place.
TF-IDF (term frequency-inverse document frequency) est une mesure statistique qui reflète l'importance d'un mot dans un document spécifique par rapport à un corpus plus large.
Contrairement au BoW, qui se base sur le comptage brut des termes, le TF-IDF prend en compte à la fois la fréquence d'un terme dans un document et sa fréquence inverse dans l'ensemble du corpus. Cela réduit l'influence des termes courants et met en avant ceux qui sont plus rares et informatifs.
Fonctionnement du TF-IDF
Le score TF-IDF pour un terme dans un document est calculé comme suit :
tf-idf(t,d)=tf(t,d)×idf(t)où :
- t est le terme (un mot ou un n-gramme) ;
- d est le document.
Il existe de nombreuses variantes pour le calcul des valeurs tf et idf. Examinons une option courante pour chacune :
Fréquence du terme (TF)
Indique la fréquence d'apparition d'un terme dans un document, reflétant ainsi son importance relative dans ce document. Similaire au modèle sac de mots, un simple comptage est souvent utilisé :
tf(t,d)=count(t,d)Fréquence inverse du document (IDF)
Mesure la rareté d'un terme dans l'ensemble du corpus. Elle peut être calculée comme le logarithme naturel du rapport entre le nombre total de documents et le nombre de documents contenant le terme :
idf(t)=log(1+df(t)1+Ndocuments)+1Cette formule utilise un lissage (ajout de 1) pour éviter la division par zéro et garantit que même les termes courants reçoivent un score IDF non nul. En pratique, l'IDF réduit le poids des termes fréquents et met en avant les termes plus rares et informatifs.
Sans la composante IDF, le TF-IDF se réduirait à un simple comptage des termes — revenant essentiellement au modèle sac de mots.
Calcul du TF-IDF
Exemple simple :
Dans ce cas, nous avons seulement deux documents et utilisons uniquement des unigrammes (mots individuels), donc les calculs sont simples. Nous commençons par calculer les fréquences des termes pour chaque mot dans les deux documents, puis les valeurs IDF pour les termes "a" et "is".
Comme il n'y a que deux documents dans notre corpus, chaque terme apparaissant dans les deux documents aura une valeur IDF de 1, tandis que les autres termes auront une valeur IDF de ~1.406465.
Enfin, nous pouvons calculer les valeurs TF-IDF pour chaque terme dans chaque document en multipliant TF par IDF, ce qui donne la matrice suivante :
Normalisation L2
Les vecteurs TF-IDF obtenus peuvent varier considérablement en magnitude, en particulier dans de grands corpus, en raison des différences de longueur des documents. C'est pourquoi la normalisation L2 est couramment appliquée — afin de ramener tous les vecteurs à une longueur uniforme, permettant ainsi des comparaisons équitables et impartiales entre des documents de différentes longueurs.
La normalisation L2, également appelée normalisation euclidienne, est un procédé appliqué à des vecteurs individuels qui ajuste leurs valeurs afin de garantir que la longueur du vecteur soit égale à 1.
La normalisation L2 s'effectue en divisant chaque terme du vecteur par la norme euclidienne du vecteur.
Si le vecteur du document est le suivant :
d=(w1,w2,w3,...,wN)où wi est le poids du terme i,
alors la norme euclidienne s'écrit :
∥d∥2=w12+w22+w32+...+wN2et le vecteur normalisé s'écrit :
dnorm=(∥d∥2w1,∥d∥2w2,∥d∥2w3,...,∥d∥2wN)Voici comment fonctionne la normalisation L2 pour un vecteur à deux dimensions (un document avec 2 termes) :
Ne vous inquiétez pas si les formules semblent complexes. Il s'agit simplement de diviser chaque valeur TF-IDF d'un document par la longueur (ou magnitude) du vecteur TF-IDF de ce document. Cela met à l'échelle le vecteur afin que sa longueur devienne 1, garantissant ainsi des comparaisons cohérentes entre les vecteurs.
Appliquons maintenant la normalisation L2 à notre matrice TF-IDF, que nous avons calculée ci-dessus :
La matrice obtenue correspond exactement à l'exemple présenté dans l'un des chapitres précédents.
Merci pour vos commentaires !