SPAM SPAM SPAM SPAM SPAM SPAM
Avant de continuer plus en avant dans la description (et mes pensées profondes) des techniques de lutte contre le spam sur le web, Il est peut-être bon de rappeler ce que les chercheurs dans le domaine considèrent comme la définition du spam de site web. La seule présentation claire et simple que je connaisse d’une taxonomie du spam sur le web est celle de Gyöngyi et Garcia-Molina (voir l’article [1]). C’est du contenu de cet article que nous allons principalement parler aujourd’hui.
Il ne faut jamais oublier l’objectif du référenceur : référencer, c’est à dire faire apparaître dans le top des SERPs une page bien choisie : la page cible. Bon, déjà je ne crois pas que ce soit vraiment l’objectif, sauf dans certains cas particulier, mais faisons comme si. Donc, l’idée est d’obtenir le meilleur résultat pour une requête, sachant que le résultats (=le rang dans les SERPs) dépend de la pertinence de la page (c’est à dire son adéquation aux termes de la requête) mais aussi de son importance (indépendante de la requête, dépendant de la structure des liens depuis et vers la page cible). Le spam sur le web est donc l’ensemble des techniques dont le but est d’altérer l’importance ou la pertinence de la page cible. Je ne parlerais dans ce billet que de l’augmentation de la pertinence, l’augmentation de l’importance étant un très gros sujet (rien que sur les fermes de liens on peut en faire des pages et des pages).
Augmenter la pertinence
Il existe une métrique très en vogue pour donner un score de pertinence à un page par rapport à un terme donnée (i.e. une requête). Cette métrique s’appelle la métrique TFIDF. TF(t) est la term frequency du terme t, c’est à dire le nombre d’occurrences de t dans le document considéré. IDF(t) est l’inverse document frequency, grosso modo c’est la division du nombre total de document par le nombre de documents qui contiennent le terme t. Au final, la métrique TFIDF est définie par :
On remarque donc que cette métrique est une mesure de la similarité entre deux pages (ici p1 et p2) par rapport à l’ensemble des termes communs aux deux pages.
Plus la mesure TFIDF de p1 et p2 est haute, plus la page p1 est dans les mêmes domaines (au sens syntaxico-sémantique) que la page p2. Pour augmenter la pertinence on peut donc vouloir augmenter cette mesure, ce que l’on fait en augmentant TF (car modifier IDF nécessite la capacité à modifier toutes les pages de l’index).
L’idée est ensuite très simple, on va augmenter artificiellement la pertinence en répétant à l’envie un (ou quelques) terme bien choisi, dans le but de créer une page particulièrement pertinente pour un terme donné. On pourra aussi mettre un grand nombre de termes différents dans la page dans le but d’obtenir une page raisonnablement pertinente pour un grand nombre de requêtes.
Où et comment faire ce spam de termes sur une page ? Le schéma suivant résume les endroits de la page et les techniques qu’on peut utiliser, que j’explique rapidement ensuite.
En revanche, les techniques de weaving (tissage) et stitching (brodage) sont intéressantes à bien des égards. Le tissage consiste à utiliser des phrases existantes au sein desquelles on remplace certains mots par les mots-clés qui nous intéressent. Si on est prudent sur la quantité de mots-clés introduite, alors on a peu de chances qu’un procédé de détection automatique découvre le pot aux roses. Le stitching est une autre technique qui consiste à mixer des phrases préexistantes entre elles dans le but d’obtenir des textes nouveaux plus long. Là encore, la méthode est raisonnablement indétectable de manière purement algorithmique.
[1] Zoltán Gyöngyi, Hector Garcia-Molina. Web Spam Taxonomy. First International Workshop on Adversarial Information Retrieval on the Web (at the 14th International World Wide Web Conference), Chiba, Japan, 2005.