TF-IDF améliorez votre positionnement sur Google

6
TF-IDF améliorez votre  positionnement sur Google

J’ai repris ces derniers jours un vieux moteur de recherche que j’ai développé pour me faire les dents et mieux comprendre le fonctionnement de Google. En lisant le code source, j’ai fait un “back to basics” en considérant ce qu’il y’a de plus caractéristique d’un moteur de recherche: le score de pertinence d’un document par rapport à une expression donnée.

Ahhhh! diriez vous ! C’est ce que j’ai pensé également. De nos jours, on est concentré sur plein d’autres leviers techniques ou linking au point ou l’on a oublié de prendre le temps d’analyser les contenus et de les apprécier en fonction de ce qu’ils apportent vraiment à votre site. J’ai décidé donc, de vous exposer la manière dont fonctionne la fameuse formule du TF-IDF et la manière dont vous pourriez l’utiliser pour calculer vos scores de pertinence intrinsèque.

Remarque 1:

Il y’a bien évidement d’autres méthodes de calcul de proximité sémantique. J’ai par exemple, également détaillé le fonctionnement du calcul de similarité selon le principe du cosinus de Salton. Je vous invite également à lire cet article qui est complémentaire à celui que vous êtes en train de parcourir :).

Remarque 2:

Avant qu’on me tombe dessus en me disant que j’ai un metro de retard, je précise quand même qu’à l’heure actuelle les moteurs de recherche utilisent plusieurs centaines de critères pour classer leurs résultats. Considérer que ce critère seul suffit à expliquer les algorithmes de ranking est purement utopique. Cela étant dit, je trouve ça très intéressant de comprendre les bases. Ca sera pour vous au mieux une découverte au pire une piqûre de rappel. Dans les 2 cas, c’est bon à prendre ;)

TF pour “terme frequency”  et IDF pour “inverse document frequency”

Ces metrics representent les ancetre de la recherche sémantique. Elles servent de base de travail pour tout moteur de recherche. Elles permettent de classer les documents selon leur pertinence par rapport à un mot clé donné ou groupe de mots clés.

Le score de TF-IDF = TF * IDF

 

tf-idf-seo-frequences-mots-cles-autoveille

TF: terme frequency

Comme sont nom l’indique, cet indicateur permet de calculer la fréquence d’un mot ou expression dans un document. Concrètement, il mesure le nombre de fois qu’un mot ou une expression est présente sur une page web. Plus le chiffre est important, plus le document est pertinent.

Comment calculer le TF (terme frequency) ?

La formule est simple:

TF = Nombre de fois que le mot apparaît dans un document / nombre de mots dans le document

Vous avez vu? rien de plus facile :)

IDF: inverse terme frequecy

l’idf quant à lui introduit une notion de qualité du mot. calcule quand à lui l’importance d’un mot au sein d’un document. Le concept de l’idf est le suivant: un mot ou une expression qui apparaît rarement dans une collection d’autres documents similaires ayant un maximum de mots/expressions en commun, obtient (donc notre mot de départ)une grande valeur !

wtf

OK, OK! si votre réaction est cette de notre ami Jacky, relax, je vais l’expliquer différemment :)

En d’autres termes, l’idf calcule le score de rareté ou le scoop. si le mot “toto”, est fortement présent dans un document, mais si on prend 50 autres documents similaires, ce mot là est rare, alors,le mot toto devient important au sein du (ou des) document(s) en question (le contenant). C’est plus clair à présent? :)

Comment calculer l’IDF

Vous allez voir, là encore, la formule est très simple et se traduit par:

idf = LOG(nombre de documents / nombre de documents contenant le terme)

C’est plus clair hein? bon pour en être sûr, je vous donne un exercice ! oui oui, comme à l’école !

Exemple concret de calcul du score TF-IDF

Suposons que vous souhaitiez ecrire un post sur la calligraphie. Vous savez que si vous y placez les mots importants, ca vous aidra à mieux vous positionner sur les moteurs de recherche. Vous écrivez donc un post de 1000 mots, contenant 20 fois le mot “ecriture” et 15 fois le mot “lettre”. Nous allons prédire le poids de votre page sur les mots “ecriture” et “lettre” en nous basant sur le score TF-IDF. Cela permettra de savoir si vous devez l’inclure plus de fois ou pas sur la page. Supposons donc que nous avons 150 pages sur 200 qui incluent le mot “écriture” et seulement 20 sur 100 incluant tle mot “lettre”.
Calcul du TF-IDF pour le mot “écriture”
Tf = 20/1000 = 0.002
Idf = log (250/150) = 0.22
Tf-idf score = 0.002*0.22 = 0.044
Calcul du TF-IDF pour le mot “lettre”
Tf = 15/1000 = 0.015
Idf = log (100/20) = 0.69
Tf-idf score = 0.015*0.69 = 0.01
alors, on dit quoi? :)
4757-omg-so-amazing
On peut clairement en déduire que le mot “écriture” a une plus grande valeur de TF-IDF comparé au mot “lettre” dans notre exemple. En comprenant l’importance relative des expressions au sein d’un dcoument ou d’un corpus de document, vous pourrez adapter le contenu de vos post afin d’améliorer la pertinence d’un point de vue purement sémantique.
Voila, bon. J’imagine que cela ne changera pas votre vie, mais j’espère que ça aidera quelqu’un. Si vous ne connaissiez pas, n’hésitez pas à partager…

6 Responses for this post

  1. Aysun Akarsu
    Aysun Akarsu
    | |

    Merci pour cette article Hafid!

    La semantique est un vaste sujet mais comme comme tu as dit “back to basics” est une bonne methodologie pour commencer.

    Btw Erratum: Goolge

    Reply
  2. Nicolas
    Nicolas
    | |

    Allo Hafid et merci pour l’article. Je pense avoir vu une petite erreur cependant :

    Supposons donc que nous avons 150 pages sur 200 qui incluent le mot “écriture”

    La formule pour le calcul du Idf de “écriture” ne serait pas plutôt : Idf = log (200/150).

    Autre point : que représente log? car je ne comprends pas comment tu trouves ce résultat : 0.22 pour le Idf de “écriture”

    Merci pour tes réponses;-)

    Reply
  3. Ghiscool
    Ghiscool
    | |

    C’est une joke l’erreur dans le titre, engendrant un mauvais référencement “Goolge” ?

    Reply
  4. Question
    Question
    | |

    Que je ne dise pas de bêtise… Google ne peut pas calculer l’idf à cause du flux constant d’informations. Il se calcul sur la base de la collection complète, soit le Web.

    L’objectif de l’idf étant de fournir le poids d’un terme par rapport à l’ensemble du corpus. C’est à dire que plus un terme est utilisé sur toutes les pages, moins il est important. Ce calcul est gourmand et je ne vois pas quel matos permet de le faire sur un ensemble aussi conséquent que le Web. Et c’est sans compter sur les problématiques d’évolution du vocabulaire, du flux rapide et constant d’ajout de contenu (rien que les forum c’est gâteau…)

    En soit ton article est intéressant mais il est hors sujet pour les moteurs de recherche sur le Web. Regarde plutôt la sémantique (qui n’a rien à voir mais peut utiliser TF-IDF (et autres)) et les critère côté social.

    Reply

Leave a Reply

Name
Name*
Email
Email *
Website
Website