Cosinus de Salton: calcul de proximité sémantique entre les documents

1
Cosinus de Salton: calcul de proximité sémantique entre les documents

J’avais déja parlé la dernière fois du fonctionnement des moteurs de recherche et surtout détaillé la méthode de calcul de pertinence sémantique TF*IDF. Aujourd’hui, j’ai voulu aller encore plus loin en vous parlant du cosinus de Salton qui permet de classer les documents dans un espace vectoriel défini et puis de les comparer entre eux afin d’identifier ceux qui sont proches sémantiquement.

D’abord, laissez moi faire les présentations. Qui est Gerry Salton?

gerry-salton

Gerard Salton, né Gerhard Anton Sahlmann, aussi connu comme Gerry Salton, ( 8 mars 1927 – 28 août 1995), est un scientifique, chercheur en informatique, professeur à l’Université Cornell.

Salton est l’un des pionniers dans le domaine de la Recherche d’information en informatique. Une de ses contributions les plus importantes est le développement du modèle vectoriel pour la recherche d’information, et le développement du SMART Information Retrieval System qu’il initia à l’Université Harvard.

voir la bio de Gerry Salton sur Wikipedia

 

 

Maintenant que les présentations sont faites, nous pouvons avancer dans la recherche sémantique :)

En 1968, Mr Salton présente pour la première fois le modèle vectoriel. Il part du principe que l’analyse de la fréquence des termes au sein d’un document permet d’avoir une idée assez précise du contenu du document.

Je ne vais pas revenir sur le modèle vectoriel en soit puisque nous en avons parlé en détail dans l’article sur le calcul du score TF*IDF. Pour la faire courte, l’objectif est de modéliser chaque document dans un vecteur contenant chaque mot “significatif” (c-a-d débarrassé du bruit), puis d’effectuer une représentation numérique du terme, des documents qui le contiennent, son emplacement exacte (position du terme), ainsi que le nombre de fois que le terme apparait dans un document. Si vous voulez voir un exemple concret, je vous invite à lire ceci: classement des résultats avec TF*IDF

Principe de fonctionnement du cosinus de Salton

  • Tout document peut être situé dans l’espace vectoriel de Salton, par un vecteur de coordonnées sur les axes correspondant à chaque terme de l’indexdoc-salton
  • —Une requête est un document composé de quelques termes uniquement. Elle a donc aussi des coordonnées dans l’espace de Salton
  • Un calcul de distance (cosinus) entre la requête et les documents permet de classer les pages en fonction de leur proximité sémantique avec la requête
    requete-doc-salton

Vous l’aurez compris, l’idée est de classer les vecteurs de chaque document sur un espace à N dimensions (N = nombre de termes dans l’index de documents). Comme le montre la figure ci-dessous, plus les documents sont proches physiquement dans l’espace, plus ils sont proches sémantiquement.

cosinus-salton-3dimensions

 

Le calcul du cosinus de Salton:

calcul-cosinus-de-salton

 

Q représente la requête de l’internaute, D1 et D2, deux documents (2 pages web). La pertinence est calculée en choisissant le texte qui correspond au vecteur avec le cosinus le plus elevé. Autrement dit, on choisi le document qui a l’angle le plus fermé. Plus l’angle est fermé, plus le document est proche de la requête.

Il faut savoir que le cosinus en général (donc celui de Salton aussi) est une valeur comprise entre 0 et 1. C’est un concept mathématique basique puisque un cosinus est calculé en faisant le rapport (au sein d’un triangle) du coté adjacent / l’hypoténuse.

Ca ne vous rappelle rien? OK, voici venir la petite pause “math & géométrie”:

                   et le cosinus de l’angle ABC =>   

Comme l’hypoténuse est toujours supérieur au coté adjacent, le cosinus sera toujours <= 1. Ca coule sous le sens non? ;)

L’alignement sémantique selon Salton

—L’alignement sémantique consiste à changer le contenu textuel des pages pour les « orienter » comme la requête.

L’idée est de créer un article, de l’optimiser sur une expression donnée puis de calculer son score de pertinence. Tant que le document est éloigné du vecteur de la requête, il faudra encore l’optimiser puis re-comparer les vecteur sur leur espace.
alignement semantique
Nous pouvons également comparer le corpus d’un document avec l’ensemble des documents positionnés par google en page 1 par exemple. Cela nous permettra de calculer le cosinus de chaque document par rapport à la requête ciblée et de cette manière de voir si vous avez des efforts à faire sur les optimisations de contenu ON PAGE, ou s’il faut s’intéresser à des critères OFF PAGE.

C’est assez intéressant de faire ce genre de test. Ca permet de voir ce qui permet de gagner des positions sur les moteurs de recherche et d’orienter ses efforts et sa stratégie SEO en conséquence. Si vous savez par exemple que sur une requête donnée votre cosinus est plus grand que ceux des 10 premiers documents classés par google, alors vous saurez qu’optimiser le contenu ne vous apportera rien de plus. Si vous n’êtes pas premier dans ce classement, il faut aller chercher du lien, des citations dans les réseaux sociaux, …etc.

DISCLAMER:

Bien entendu, ce n’est qu’une méthode de calcul de similarité parmi tant d’autres. La méthode de Salton comme d’autres méthodes de calcul basées uniquement sur les occurrences n’ont plus aucun sens aujourd’hui. Plusieurs autres facteurs entrent en jeu dans la construction d’un classement de documents. Rien ne nous dit que les moteurs utilisent cette méthode et pas autre chose. Ce post est juste là à titre de documentation pour mieux appréhender le fonctionnement des moteurs.

 

 

 

 

 

One Response for this post

  1. Affiliation-rencontre.fr
    Affiliation-rencontre.fr
    | |

    En voilà un article à la fois :
    – Original ;
    – Et qui repose sur une méthodologie bien précise !
    Merci et bravo pour ce partage !

    Reply

Leave a Reply

Name
Name*
Email
Email *
Website
Website