Qu'est-ce que le calculateur TF-IDF ?
Le TF-IDF (Term Frequency–Inverse Document Frequency, soit « fréquence du terme – fréquence inverse de document ») est une mesure statistique utilisée en recherche d'information, dans les moteurs de recherche et en fouille de textes. Il évalue l'importance d'un mot au sein d'un document donné, par rapport à un ensemble plus vaste de documents (appelé corpus). Ce calculateur vous permet de saisir un document, un terme cible, le nombre total de documents de votre corpus, ainsi que le nombre de documents qui contiennent ce terme. Il calcule ensuite la fréquence du terme (TF), la fréquence inverse de document (IDF) et le score TF-IDF combiné.
Comment l'utiliser
- Document : collez le texte du document que vous souhaitez analyser.
- Terme : indiquez le mot ou l'expression dont vous voulez calculer le score.
- Taille du corpus : le nombre total de documents de votre collection (\(N\)).
- Documents contenant le terme : le nombre de documents où le terme apparaît au moins une fois.
Le calculateur compte le nombre d'occurrences du terme dans votre document, le divise par le nombre total de mots, puis combine ce résultat avec la rareté du terme à l'échelle du corpus.
La formule expliquée
La formule standard du TF-IDF est la suivante :
$$\begin{gathered} \text{TF-IDF} = \text{TF} \times \text{IDF} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{TF} &= \dfrac{\text{count of }\text{Term}\text{ in }\text{Document}}{\text{total words in }\text{Document}} \\[0.6em] \text{IDF} &= \ln\!\left(1 + \dfrac{\text{Corpus Size}}{\text{Docs with Term} + 1}\right) \end{aligned} \right. \end{gathered}$$- TF = (nombre d'occurrences du terme dans le document) ÷ (nombre total de mots du document)
- IDF = log(\(N\) ÷ nombre de documents contenant le terme)
- TF-IDF = \(\text{TF} \times \text{IDF}\)
Un score TF-IDF élevé signifie que le terme apparaît fréquemment dans votre document mais rarement dans l'ensemble du corpus : c'est un signal fort indiquant que ce mot est distinctif et porteur de sens pour ce document.
Exemple concret
Supposons que votre document compte 100 mots et que le terme « marketing » y apparaisse 5 fois. Votre corpus contient 1 000 documents, dont 100 mentionnent « marketing ».
- TF = \(5 \div 100 = 0{,}05\)
- IDF = \(\log(1000 \div 100) = \log(10) = 1\) (en base 10)
- TF-IDF = \(0{,}05 \times 1 = 0{,}05\)
Si « marketing » n'apparaissait que dans 10 documents, l'IDF passerait à \(\log(100) = 2\), ce qui doublerait le score pour atteindre 0,10 : les termes plus rares et plus distinctifs sont ainsi valorisés.
Questions fréquentes
Pourquoi utiliser un logarithme dans l'IDF ? Le logarithme atténue l'effet des termes extrêmement rares, afin qu'une seule occurrence ne domine pas le score et que les résultats restent équilibrés.
Quelle base de logarithme choisir ? La base 10 et le logarithme népérien (\(\ln\)) sont tous deux courants. La base ne fait qu'appliquer une échelle uniforme aux résultats : les comparaisons au sein d'un même corpus restent donc valables.
Que signifie un score nul ? Si un terme apparaît dans tous les documents (\(N\) = nombre de documents contenant le terme), l'IDF vaut \(\log(1) = 0\), ce qui rend le score TF-IDF nul : le mot n'apporte alors aucune valeur distinctive.