Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Tf-Idf | Modèles de Texte de Base
Introduction au NLP
course content

Contenu du cours

Introduction au NLP

Introduction au NLP

1. Fondamentaux du Prétraitement de Texte
2. Racine et Lemmatisation
3. Modèles de Texte de Base
4. Incorporations de Mots

book
Tf-Idf

Comprendre TF-IDF

Le modèle de sac de mots en raison de sa simplicité présente des inconvénients, car les termes qui apparaissent fréquemment dans tous les documents peuvent éclipser ceux moins fréquents mais plus informatifs, qui peuvent être plus efficaces en tant que caractéristiques pour identifier des catégories spécifiques ou distinguer les documents. Pour y remédier, le modèle TF-IDF est souvent utilisé à la place.

Contrairement à l'accent mis par BoW sur les fréquences absolues des termes, 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 aide à réduire le poids des termes trop courants, amplifiant la signification de ceux qui sont plus rares mais potentiellement plus informatifs.

Comment fonctionne TF-IDF

Essentiellement, le score TF-IDF pour un terme dans un document est calculé comme suit :

tf-idf(t, d) = tf(t, d) × idf(t)

t est un terme particulier (mot ou n-gramme) et d est un document particulier.

Analysons maintenant les formules pour tf et idf :

  • Fréquence du terme (TF) : Calculée comme le nombre d'occurrences d'un terme dans un document, count(t, d). Elle mesure l'importance d'un terme dans un document spécifique.

  • Fréquence inverse de document (IDF) : Calculée comme le logarithme naturel (vous pouvez en lire plus ici) du nombre total de documents plus un, 1 + N_documents, divisé par la fréquence du document du terme plus un, 1 + df(t), puis incrémenté de 1. Cet ajustement empêche la division par zéro pour les termes absents et assure des valeurs IDF non nulles pour les termes présents dans tous les documents, maintenant ainsi leur influence dans le score TF-IDF. Globalement, l'IDF réduit le poids des termes communs à travers le corpus.

Comme vous pouvez le voir, si nous utilisions uniquement TF sans IDF, nous obtiendrions simplement un sac de mots basé sur la fréquence.

Calcul du TF-IDF

Examinons maintenant un exemple :

Ici, nous avons seulement deux documents et utilisons exclusivement des unigrammes (mots), donc les calculs devraient être simples. Tout d'abord, nous calculons les fréquences des termes pour chaque terme dans chaque document. Ensuite, nous calculons les valeurs IDF pour les termes 'a' et 'is'.

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 de documents TF-IDF résultants, en particulier dans de grands corpus de texte, peuvent varier considérablement en magnitude en raison des différences de longueur des documents, c'est pourquoi la normalisation L2 est essentielle pour mettre à l'échelle ces vecteurs à une longueur uniforme, permettant des comparaisons précises de similarité textuelle qui ne sont pas biaisées par la taille des documents.

La normalisation L2 est effectuée en divisant chaque terme du vecteur par la norme euclidienne du vecteur. La norme euclidienne (ou norme L2) d'un vecteur est la racine carrée de la somme des carrés de ses composants.

Voici comment fonctionne la normalisation L2 pour un vecteur à 2 dimensions (un document avec 2 termes) :

Appliquons maintenant la normalisation L2 à notre matrice TF-IDF, que nous avons calculée ci-dessus :

La matrice résultante est exactement ce que nous avions comme exemple dans l'un des chapitres précédents.

Quel est l'avantage clé du modèle TF-IDF par rapport au modèle BoW?

Quel est l'avantage clé du modèle TF-IDF par rapport au modèle BoW?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 6
We're sorry to hear that something went wrong. What happened?
some-alt