Term-Frequency Inverse-Document-Frequency [TF-IDF] est un modèle statistique pouvant être utilisé dans toutes les situations où Bag-of-words peut utilisé, la différence étant dans la manière dont il est calculé: on donne moins de poids aux mots les plus fréquents.
TF-IDF s’appuie sur deux mesures pour calculer le score d’un mot:
term frequency:
Mesure la fréquence d’apparition des mots dans un document. Même chose qu’un dictionnaire BoW.
inverse document frequency:
Mesure la fréquence d’apparition des mots dans le corpus de documents et inverse leur impact: en pénalisant le score des mots qui apparaissent souvent dans divers documents (ex “le”, “la”), on augmente le score des termes qui apparaissent moins souvent et qui ont une réelle importance pour un document.
Il existante une variante “lissée” de cette formule: comme on ne peut pas diviser par 0, on ajoute 1 au numérateur et au dénominateur, comme si on voyait un document supplémentaire contenant chaque terme de la collection exactement 1 fois.
\[\begin{aligned} \text{smooth_df(t)} &= \frac{1 + \text{nombre docs}}{1 + \text{compte t dans docs}} \\[15pt] \text{smooth_idf(t)} &= log(\text{smooth_df(t)}) + 1 \end{aligned}\]term-frequency inverse-document-frequency:
C’est la fréquence du terme dans le document (tf) fois l’inverse de la fréquence du terme dans les documents (idf).
Un algorithme très simple de recherche pourrait