TF-IDF

Un article de Wikipédia, l'encyclopédie libre.

Le tf-idf ou TF-IDF (de l'anglais term frequency-inverse document frequency) est une méthode de pondération souvent utilisée dans la fouille de textes. Cette mesure statistique permet d'évaluer l'importance d'un mot par rapport à un document extrait d'une collection ou d'un corpus. Le poids augmente proportionnellement en fonction du nombre d'occurrences du mot dans le document. Il varie également en fonction de la fréquence du mot dans le corpus. Des variantes de la formule originale sont souvent utilisées dans des moteurs de recherche pour apprécier la pertinence d'un document en fonction des critères de recherche de l'utilisateur.

Sommaire

[modifier] Définition formelle

[modifier] Fréquence du terme

La fréquence du terme (term frequency) est simplement le nombre d'occurrences de ce terme dans le document considéré. Cette somme est en général normalisée pour éviter les biais liés à la longueur du document (le nombre d'occurrences serait potentiellement plus élevé dans une page que dans un paragraphe).

Soit le document dj et le terme ti, alors la fréquence du terme dans le document est :

 \mathrm{tf_{i,j}} = \frac{n_{i,j}}{\sum_k n_{k,j}}

ni,j est le nombre d'occurrences du terme dans dj. Le dénominateur est le nombre d'occurrences de tous les termes dans le document dj.

[modifier] Fréquence inverse de document

La fréquence inverse de document (inverse document frequency) est une mesure de l'importance du terme dans l'ensemble du corpus. Elle consiste à calculer le logarithme de l'inverse de la proportion de documents du corpus qui contiennent le terme :

 \mathrm{idf_i} =  \log \frac{|D|}{|\{d_{j}: t_{i} \in d_{j}\}|}

  • |D|~ : nombre total de documents dans le corpus
  • |\{d_{j} : t_{i} \in d_{j}\}| : nombre de documents où le terme ti apparaît (c'est à dire  n_{i,j} \neq 0).

[modifier] Calcul de tf-idf

Finalement, le poids s'obtient en multipliant les deux mesures :

 \mathrm{tfidf_{i,j}} = \mathrm{tf_{i,j}} \cdot  \mathrm{idf_{i}}

[modifier] Exemple

Corpus (tiré d'œuvres de Friedrich Gottlieb Klopstock) [1]
Document 1 Document 2 Document 3
Son nom est célébré par le bocage qui frémit, et par le ruisseau qui murmure, les vents l’emportent jusqu’à l’arc céleste, l’arc de grâce et de consolation que sa main tendit dans les nuages. À peine distinguait-on deux buts à l’extrémité de la carrière : des chênes ombrageaient l’un, autour de l’autre des palmiers se dessinaient dans l’éclat du soir. Ah ! le beau temps de mes travaux poétiques ! les beaux jours que j’ai passés près de toi ! Les premiers, inépuisables de joie, de paix et de liberté ; les derniers, empreints d’une mélancolie qui eut bien aussi ses charmes.

L'exemple porte sur le document 1 (soit d1) et le terme analysé est « qui » (soit t1 = qui). La ponctuation et l'apostrophe sont ignorées.

[modifier] Calcul de tf

 \mathrm{tf_{1,1}} = \frac{n_{1,1}}{\sum_k n_{k,1}} = \frac{2}{38}

Détails du calcul : la plupart des termes apparaissent une fois (21 termes), l apparaît 3 fois et arc, de, et, le, les, par et qui (2 fois). Le dénominateur est donc 3 + 7*2 + 21. Cette somme est le nombre de mots dans le document.

[modifier] Calcul de idf

Le terme « qui » n'apparaît pas dans le deuxième document. Ainsi :

 \mathrm{idf_1} =  \log \frac{|D|}{|\{d_{j}: t_{1} \in d_{j}\}|} = \log \frac{3}{2}

[modifier] Poids final

On obtient :

\mathrm{tfidf_{1,1}} = \frac{2}{38} \cdot \log{\frac{3}{2}} \approx 0.0092

Pour les autres documents :

\mathrm{tfidf_{1,2}} = 0 \cdot \log{\frac{3}{2}} = 0
\mathrm{tfidf_{1,3}} = \frac{1}{40} \cdot \log{\frac{3}{2}} \approx 0.0044

Le premier document apparaît ainsi comme « le plus pertinent ».

[modifier] Références

  1. Textes tirés de Friedrich Gottlieb Klopstock sur Wikisource (Les Constellations, Les Deux Muses et À Schmied, ode écrite pendant une maladie dangereuse)

[modifier] Bibliographie

  • (en) Gerard Salton, M.J. McGill, Introduction to modern information retrieval, 1983 [détail des éditions]