"Loading..."

Comment les moteurs de recherche comprennent le language ?

Gertrude Stein disait : "La rose est une rose, la rose est une rose." Voici un bel exemple qui montre à quel point le langage humain peut être compliqué. La phrase est ambiguë et permet de multiples interprétations. Stein a expliqué la signification comme suit : "le poète pouvait utiliser le nom de la chose et la chose était vraiment là."

Ce que nous nous demandons aujourd'hui, c'est s'il est vraiment possible de créer un algorithme intelligent capable de comprendre le sens du langage humain.

Dans cet article, nous allons essayer de faire la lumière sur la façon dont les moteurs de recherche trouvent des documents en rapport avec la question d'un utilisateur à eux. Nous montrerons également quelques approches qui peuvent être utilisées pour extraire le sens sémantique d'une proposition.

Mais allons dans l'ordre, en retraçant en partie l'histoire de Google. Avant l'introduction du moteur de recherche le plus puissant du monde RankBrain, la recherche sémantique et l'apprentissage automatique de toutes choses, y compris la vie des référencement, était certainement plus facile.

Pour compliquer les choses, il y a des porte-parole de Google qui partagent des informations souvent obscures sur les signaux de qualité, répétant le mantra le plus célèbre " Content is king ".

Il existe deux domaines de l'informatique qui sont le traitement du langage naturel et la recherche d'information, qui abordent un large éventail de questions SEO. Il existe des algorithmes bien documentés pour classer le texte et récupérer les documents pertinents à la réponse à la question individuelle de l'utilisateur.

Si vous êtes intéressé à apprendre un peu plus de concepts académiques derrière "recherche sémantique", "recherche par mots-clés", "optimisation de contenu" et d'autres mots-clés SEO, lisez la suite! Cependant, sachez que cet article ne vous donnera pas de recette magique pour SEO on-page, mais plutôt essayer de répondre à certaines des questions sur certains des nombreux "pourquoi" vous avez probablement.

Index des contenu

Qu'est-ce qu'un mot

Le mot est le plus petit élément constitutif du sens et un point de départ logique pour notre voyage. Essayons de découvrir comment les mots sont représentés dans le monde de l'informatique.

Dans le cas le plus simple, un programme informatique voit le texte comme une séquence de caractères alphanumériques et de ponctuation. Il s'agit d'une représentation dite grossière.

Si nous prenons par exemple la phrase "Les programmes du programmeur ont été programmés", les mots séparés peuvent être délimités par des espaces ou des signes de ponctuation. En conséquence, nous obtenons une liste de jetons. Notez que nous considérons maintenant les caractères de ponctuation comme des jetons distincts.

Le premier jeton de la liste pose un dilemme. Comment devrions-nous traiter les caractères majuscules? Devrions-nous changer tous les caractères en minuscules? Il semble raisonnable d'opter pour ce choix. Après tout, "I" et "i" sont évidemment le même mot, c'est-à-dire l'article déterminant.

En anglais, certains aspects grammaticaux et non grammaticaux sont compliqués. Qu'en est-il de "Smith" et "smith", par exemple? Il peut s'agir d'un nom propre, d'un nom avec le sens de "quelqu'un qui fait et répare des choses en fer", ou du même nom au début d'une phrase.

Reprenons la phrase ci-dessus : "Les programmes du programmeur ont été programmés". Les mots peuvent avoir différentes formes. Par exemple, le symbole "programmes" de notre exemple est en fait une forme plurielle du nom "programme". "Programmé" est le passage suivant du verbe "programmation".

Les formes initiales des mots ou les formes représentant les mots d'un dictionnaire sont appelées mots-clés. Et une autre étape logique consiste à représenter les mots avec leurs mots-clés respectifs.

Vous avez probablement entendu dire que les moteurs de recherche utilisent des listes de mots vides pour prétraiter les textes d'entrée. Une liste de mots d'arrêt est un ensemble de jetons qui sont supprimés d'un texte. Les mots vides peuvent inclure des mots fonctionnels et des signes de ponctuation. Les mots fonctionnels sont des mots qui n'ont pas de signification indépendante, par exemple, les verbes ou pronoms auxiliaires.

Mais si nous prenons la phrase "Le programme des programmes a été programmé" et enlevons les mots fonctionnels de la phrase, par conséquent, l'énoncé initial inclut seulement les mots de contenu (mots qui ont une signification sémantique). Cependant, il n'y a aucun moyen de dire que le programme en question est en quelque sorte lié au programmeur.

Un autre pas en avant est quand un mot peut être représenté par sa tige. Une tige est une partie d'un mot auquel nous nous connectons normalement. Et encore une fois, l'Anglais vient à notre rencontre. Réfléchissons à la façon dont vous dites programmeur en anglais. En attachant le suffixe "-er" on obtient le mot programmeur (avec la signification de quelqu'un faisant une action) au "programme" de la tige.

Nous avons donc identifié ici 3 façons typiques de représenter les mots :

  • Jeton
  • Lemmes
  • Tiges

En supprimant des mots fonctionnels ou en convertissant des mots en minuscules, ces représentations et leurs combinaisons sont utilisées en fonction de la tâche de traitement linguistique réelle. Par exemple, il n'est pas raisonnable de supprimer des mots fonctionnels s'il faut faire une distinction entre les textes anglais et français. Si nous avons besoin de localiser les noms propres dans un texte, il est raisonnable de conserver la police originale et ainsi de suite.

Une dernière note utile à savoir est qu'il y a des unités plus grandes qu'un mot mais plus petites qu'une phrase.

Les unités linguistiques dont il a été question ci-dessus sont les éléments constitutifs de structures plus vastes, comme les documents dont nous parlerons plus loin.

Billets SEO à emporter

Il est important de comprendre comment et pourquoi une phrase est divisée en unités parce que ces unités font partie d'une métrique que tous les référencement utilisent ou connaissent, c'est-à-dire la " densité de mots clés ".

De nombreux référencement respectables s'opposent à ce concept en disant que "la densité de mots-clés n'est pas utilisée", proposant TF-IDF comme la meilleure alternative car elle est liée à la recherche sémantique.

Dans cet article, nous montrerons en outre que le nombre de mots bruts et le nombre de mots pondérés (TF-IDF) peuvent être utilisés à la fois pour la recherche lexicale et sémantique.

La densité de mots-clés est une mesure simple et gérable qui a tous les droits d'exister. Ne sois pas obsédé par ça.

Il convient également de garder à l'esprit que les formes grammaticales des mots sont très probablement traitées par les moteurs de recherche comme le même type de mot, de sorte qu'il peut être peu utile d'essayer d'"optimiser" une page Web, par exemple, pour les formes singulière et plurielle du même mot clé.

Qu'est-ce qu'un sac de mots?

Bag-of-words est un modèle utilisé dans le traitement du langage naturel pour représenter le texte. Bien que le concept remonte aux années 1950, il est toujours utilisé pour la classification des textes et la recherche d'information (c.-à-d. les moteurs de recherche).

Nous utiliserons un sac de mots pour montrer comment les moteurs de recherche peuvent trouver un document pertinent à partir d'un ensemble en réponse à une recherche.

Si l'on veut représenter un texte comme un bagage de mots, on ne compte que le nombre de fois que chaque mot apparaît dans le texte et on énumère ces nombres (en termes mathématiques, c'est un vecteur). Avant le comptage, les techniques de prétraitement décrites dans la partie précédente de l'article peuvent être appliquées.

Par conséquent, vous perdez toutes les informations sur la structure, la syntaxe et la grammaire du texte.

Les programmes du programmeur avaient été programmés

Les : 1, programmateur : 1, s : 1, programmes : 1, étaient : 1, états : 1, programmé : 1, 1 } ou

1, 1, 1, 1, 1, 1, 1, 1, 1] Programmeur programmeur programmé

Programmateur : 1, programme : 1 programmé : 1} ou

[1, 2]

Il n'y a guère d'utilité pratique à représenter un texte séparé sous la forme d'une liste de figures. Cependant, si nous disposons d'une collection de documents (par exemple, toutes les pages Web indexées par un certain moteur de recherche), nous pouvons construire un modèle vectoriel spatial dit à partir des textes disponibles.

Le terme peut sembler effrayant, mais l'idée est en fait assez simple. Imaginez une feuille de calcul dans laquelle chaque colonne représente le sac de mots dans un texte (vecteur texte) et chaque ligne représente un mot de la collection de ces textes (vecteur mot). Le nombre de colonnes est égal au nombre de documents de la collection. Le nombre de lignes correspond au nombre de mots uniques trouvés dans la collection de documents.

La valeur à l'intersection de chaque ligne et colonne est le nombre de fois que le mot correspondant apparaît dans le texte correspondant. La feuille de calcul ci-dessous représente l'espace vectoriel de certaines pièces de Shakespeare. Par souci de simplicité, nous n'utilisons que quatre mots.

Une chose intéressante à propos des vecteurs est que nous pouvons mesurer la distance ou l'angle entre eux. Plus la distance ou l'angle est petit, plus les vecteurs et les documents qu'ils représentent sont "similaires". La valeur résultante varie de 0 à 1 : plus la valeur est élevée, plus les documents sont similaires.

Comment trouver un document pertinent

Maintenant que nous avons suffisamment d'informations pour expliquer comment vous pouvez trouver dans un groupe un document pertinent pour une recherche, nous pouvons prendre comme exemple la question posée par un utilisateur cherche "Bataille d'Agincourt". Il s'agit d'un document court qui peut être intégré dans l'espace vectoriel de l'exemple précédent. Nous pouvons alors calculer la similitude de la requête de recherche avec chaque document du groupe. Les résultats sont présentés dans le tableau ci-dessous. Vous pouvez voir qu'Henry V est le meilleur candidat pour la recherche. Ce n'est pas étonnant car le mot "bataille" apparaît plus souvent dans ce texte et le document peut donc être considéré comme plus pertinent pour la requête. Notez également qu'il n'est pas nécessaire que tous les mots d'une recherche soient présents dans le texte.

Il y a des inconvénients évidents à une approche aussi simpliste, car elle est tout d'abord vulnérable au bourrage de mots-clés. Vous pouvez augmenter considérablement la pertinence d'un document pour une recherche en répétant simplement le mot requis autant de fois que nécessaire pour battre les documents concurrents.

Pensez à la représentation du "sac de mots" pour le document suivant :

J'ai été impressionné, c'était pas mal!

Je n'étais pas impressionné, c'était mauvais!

Le sac de mots sera absolument identique, même s'ils ont des significations différentes. Rappelez-vous que le modèle du sac de mots supprime toute la structure des documents sous-jacents.

Le modèle du sac de mots avec la fréquence des mots n'est pas la meilleure mesure. Elle est orientée vers des mots très fréquents et n'est pas discriminatoire.

TF-IDF et la loi Zipf

La loi de Zipf stipule que, étant donné le grand nombre de mots utilisés, la fréquence de chaque mot est inversement proportionnelle à son rang dans la table des fréquences. Ainsi, le nombre de mots N a une fréquence proportionnelle à 1/N. Par conséquent, il existe un modèle intéressant dans les langues naturelles. Environ 18 % des mots les plus fréquemment utilisés représentent plus de 80 % des occurrences de mots. Cela signifie que certains mots sont utilisés souvent et beaucoup de mots sont rarement utilisés.

Des mots fréquents apparaissent dans de nombreux textes et, par conséquent, ces mots rendent plus difficile la différenciation entre les textes représentés comme "sac de mots". De plus, les mots les plus fréquents sont souvent des mots fonctionnels sans signification sémantique. Ils ne peuvent pas décrire le sujet d'un texte.

Ce sont les 10 mots les plus courants en anglais.

  • le
  • exister
  • a
  • à côté de
  • e
  • a
  • en
  • qui
  • avoir

Nous pouvons appliquer la pondération TF-IDF (term frequency - inverse document frequency) pour réduire le poids des mots qui sont fréquemment utilisés dans la collecte de texte. Le score TF-IDF est calculé à l'aide de la formule suivante :

Où la première composante est le terme fréquence - la fréquence du mot dans le document. Et la deuxième composante est la fréquence inverse du document. C'est le nombre de documents dans un groupe divisé par la fréquence d'un mot, qui est le nombre total de documents dans lesquels le mot apparaît. La deuxième composante est utilisée pour donner plus de poids aux mots qui n'apparaissent que dans quelques documents du groupe.

Le tableau ci-dessous montre quelques valeurs IDF pour certains mots dans les pièces de Shakespeare, allant des mots extrêmement informatifs qui se produisent dans un seul personnage comme Roméo, à ceux qui sont si communs qu'ils sont complètement non discriminatoires comme ils se produisent dans les 37 rôles, tels que "bon" ou "doux".

Billets SEO à emporter

  • Nous doutons que le modèle du "sac de mots" soit maintenant utilisé dans les moteurs de recherche commerciaux. Il existe des modèles qui saisissent mieux la structure du texte et tiennent davantage compte des caractéristiques linguistiques, mais l'idée de base reste la même. Les documents et les requêtes de recherche deviennent des vecteurs et la similarité ou la distance entre les vecteurs est utilisée comme mesure de pertinence.
  • Ce modèle vous permet de comprendre le fonctionnement de la recherche lexicale par rapport à la recherche sémantique. Pour la recherche lexicale, il est essentiel qu'un document contienne les mots mentionnés dans une recherche. Bien que cela ne soit pas nécessaire pour la recherche sémantique.
  • La loi de Zipf montre qu'il y a des proportions prévisibles dans un texte écrit en langage naturel. Les écarts par rapport aux proportions typiques sont faciles à repérer. Il n'est donc pas difficile de signaler un texte sur-optimisé qui n'est pas "naturel".
  • La pondération TF-IDF n'est pas une clé dans le monde magique de la recherche sémantique. Avec TF-IDF appliqué à un modèle, les caractéristiques du document étiqueté par les mots du contenu ont un plus grand poids dans le support de document. Et il est intéressant d'interpréter le phénomène comme quelque chose de "sémantique".

Qu'est-ce que la recherche sémantique?

La recherche sémantique est l'un des mots d'ordre de la communauté SEO depuis 2013. La recherche sémantique désigne la recherche avec un sens, par opposition à la recherche lexicale où le moteur de recherche recherche recherche des correspondances littérales de mots de recherche ou de leurs variantes, sans comprendre le sens global de la recherche.

Mais comment un moteur de recherche peut-il apprendre le sens d'un mot? Il y a un problème de haut niveau encore plus difficile. Comment pouvons-nous représenter le sens pour qu'un programme informatique puisse le comprendre et l'utiliser concrètement?

Le concept clé qui aide à répondre à ces questions est l'hypothèse de distribution qui a été formulée pour la première fois dans les années 1950. Les linguistes ont remarqué que les mots ayant une signification similaire ont tendance à se trouver dans le même environnement (c.-à-d. près des mêmes mots) et que la différence de signification entre deux mots correspond approximativement à la différence dans leur environnement.

Voici un exemple simple. Essayons de lire les phrases suivantes sans avoir la moindre idée de ce qu'est une issue :

Les crevettes sont considérées comme un mets délicat.

Les langoustines ont de la viande blanche charnue dans la queue et le corps est juteux, légèrement sucré et maigre.

Lors du choix des langoustines, nous faisons attention à la couleur orange clair.

Nous associons maintenant les éléments suivants en supposant que la plupart des lecteurs savent ce qu'est une crevette :

Les crevettes sont un mets délicat qui se marie bien avec une sauce au vin blanc et au beurre.

On peut ajouter de la chair de crevette tendre aux pâtes.

Lorsque vous faites bouillir les crevettes, elles prennent une couleur rouge.

Le fait que la langoustine soit faite de mots tels que délicatesse, viande et pâtes pourrait suggérer que la langoustine est une sorte de crustacé comestible semblable d'une certaine façon à une crevette. Ainsi, on peut définir un mot en fonction de l'environnement dans lequel il se trouve dans l'utilisation du langage, ainsi que de l'ensemble des contextes dans lesquels il se trouve, les mots voisins.

Comment pouvons-nous transformer ces observations en quelque chose de significatif pour un programme informatique?

On peut construire un modèle de sac de mots. Mais au lieu de documents, nous étiquetons les colonnes avec des mots. Généralement, nous pouvons utiliser de petits contextes d'environ quatre mots autour d'un mot cible. Dans ce cas, chaque cellule de modèle représente le nombre de fois que le mot de colonne apparaît dans une fenêtre de contexte (par exemple, plus quatre mots) autour du mot de ligne. Considérons ces fenêtres de quatre mots (l'exemple est tiré du livre Jurafsky & Martin, Speech and Language Processing) :

Pour chaque mot, nous recueillons les comptages (à partir des fenêtres autour de chaque occurrence) des occurrences des mots du contexte. Et nous obtenons la matrice des mots de cooccurrence - un mot semblable à celui que nous avons déjà vu auparavant. On constate que "numérique" et "information" sont plus proches l'un de l'autre que "abricot". Notez que le comptage de mots peut être remplacé par d'autres mesures comme l'information mutuelle en temps opportun.

Chaque mot et sa sémantique sont représentés par un vecteur. Les propriétés sémantiques de chaque mot sont déterminées par ses voisins, c'est-à-dire par les contextes typiques dans lesquels le mot apparaît. Un tel modèle peut facilement saisir la synonymie et la relation entre les mots. Les vecteurs de deux mots similaires apparaîtront proches l'un de l'autre. Et les vecteurs de mots qui apparaissent dans le même champ thématique formeront des clusters dans l'espace.

Comme vous l'aurez deviné, il n'y a pas de magie derrière la recherche sémantique. La différence conceptuelle réside dans le fait que les mots sont représentés en tant qu'éléments vectoriels mais pas en tant qu'éléments lexicaux (chaînes de caractères).

Billets SEO à emporter

Les modèles sémantiques sont bons pour capturer les synonymes, les mots associés et les cadres sémantiques. Un cadre sémantique est un ensemble de mots qui dénotent les perspectives ou les participants à un type particulier d'événement. Par exemple, le cadre sémantique "5h est l'heure du thé" peut inclure la tradition, le thé, la tasse, la bouilloire, la cuillère, le sucre, la boisson, la bière, etc.

Lors de la création d'un nouveau contenu, il peut être utile de penser à la taille des cadres sémantiques. C'est-à-dire, gardez à l'esprit le cadre sémantique pour lequel vous voulez que votre page soit classée, pas un mot-clé particulier.

Le contenu filé n'a probablement que peu ou pas d'effet. Des mots synonymes comme "appartement" et "appartement" auront des porteurs très similaires. La rotation des synonymes produira un texte avec une empreinte très proche de la variante initiale.

Les moteurs de recherche sont devenus meilleurs pour extraire l'information des pages Web, mais c'est toujours une bonne idée de leur donner des suggestions en utilisant des balises de données structurées.

La linguistique informatique est une science passionnante et en évolution rapide. Les concepts présentés dans cet article ne sont ni nouveaux ni révolutionnaires. Mais ils sont assez simples et permettent d'avoir une vision de base de haut niveau sur le domaine problématique. Si vous voulez en savoir plus sur le fonctionnement des moteurs de recherche, nous vous recommandons de lire le livre "Introduction to Information Retrieval" de Manning, Raghavan, & Schütze, également disponible en ligne.