Google a dernièrement fait plusieurs annonces-choc en termes d'intégration d'algorithmes d'intelligence artificielle et de machine learning dans son moteur de recherche. Des nouveautés certainement en rapport avec l'arrivée de Prabhakar Raghavan à la tête du département qui traite de la recherche d'information au sein de la firme de Mountain View. Voici notre analyse au sujet de ces annonces et sur la façon dont Google évolue au fil des ans. Un peu de prospective ne fait jamais de mal...
Vous aviez peut-être vu l’information sur Abondance (voir référence [1]) : avant l’été 2020 Google avait nommé Prabhakar Raghavan à la tête de beaucoup de départements, dont la recherche d'information. Le nom de Raghavan ne vous parle peut être pas, mais il faut savoir que pour les chercheurs en algorithmes d’approximation (dont je fais partie, c’était déjà le sujet de ma thèse il y a 20 ans) c’est une référence absolue, avec de nombreux articles sur le sujet et le livre de référence ([2], pour les experts du domaine).
Pourquoi est-ce que je vous raconte cela ? Tout d’abord parce qu’il existe une relation très forte entre algorithmes d’approximation et machine learning, et donc ce que l’on appelle de manière abusive l’intelligence artificielle (IA), mais aussi parce que c’est bien Prabhakar Raghavan qui a pris la plume pour nous annoncer : "AI is powering a more helpful Google" dans l’article du blog Google publié mi-octobre (référence [3]).
Ce mois-ci, je vais vous résumer rapidement ce que cet article présente en matière de compréhension des contenus, et vous faire part de mes remarques sur le sujet pour ensuite parler un peu du traitement de la langue au niveau des moteurs et de l’optimisation sémantique pour le SEO.
Mieux comprendre les contenus ?
L’objectif de Google a toujours été de proposer des résultats les plus pertinents possible, en privilégiant la paresse de l’utilisateur (c’est-à-dire lui fournir un résultat suffisant sans avoir d’interaction avec lui hors la première demande, dans une optique "moteur de réponses").
Depuis plusieurs mois Google a déployé une mise à jour appelée BERT, d’après l'algorithme éponyme créée par Jacob Devlin (voir la référence [4]). J’ai déjà évoqué dans ces mêmes pages comment fonctionnait BERT et je ne vais pas revenir sur le sujet sauf sur certains points spécifiques un peu plus loin. Le fait d’utiliser le même nom est une source de confusion assez importante, et il est heureux que Google ait décidé de mieux communiquer récemment, notamment en abordant ce qu’ils ont appelé le Deeprank (voir [6] et [7]).
Dans l’annonce récente, Google nous dit que :
- Ils ont mis en place un nouvel algorithme de correction orthographique basé sur des réseaux de neurones et qui corrigent mieux que ceux des 5 dernières années grâce à la compréhension du contexte. L’idée derrière ce type d'algorithme est en fait assez simple et je vais faire un exemple un peu grossier pour comprendre. Imaginez la requête "comment retaper les tables", impossible de corriger une éventuelle faute ici car "les tables" n’est pas une faute dans l’absolu. Mais si le contexte de la recherche est à propos des vaches et de la ferme, on peut assez facilement deviner qu’on parle de "retaper l’étable". Un algorithme qui utilise le contexte peut "faire" le même raisonnement.
- Ils s'attaquent à la création de sous-thématiques pour les recherches, pour fournir une plus grande diversité de résultats. Transformer une liste de mots en une thématique est une chose connue depuis toujours. L’étape la plus complexe pour extraire des sous-thématiques est donc d’extraire le contexte d’un sujet plus large et ensuite d’utiliser les éléments de contexte pour trouver les thématiques associées. Je vais donner un exemple là aussi grossier en utilisant un de nos outils (référence [8]). Sur la recherche "Google", le contexte à 10 mots est {"prediction":["page","recherche","internet","application","donnees","moteur","chrome","maps","web","ecran"]}, on voit donc bien apparaitre des sous-thématiques, comme par exemple le navigateur web, la cartographie, le search, etc.
- Ils mettent en place la notion de "passages". C’est la grosse annonce, principalement car on a l’illusion que c’est une rupture majeure. L’idée est de renvoyer dans ce cas la phrase ou le paragraphe qui correspond à la recherche de l’utilisateur directement. En effet, une page peut être sémantiquement très large et contenir un seul petit morceau très pertinent, dans un énorme bloc de bruits parasites par rapport à l'intention de recherche initiale. Avec le nouvel algorithme, les blocs signifiants sont indexés directement, et peuvent donc être renvoyés indépendamment des pages qui les contiennent. D’un point de vue utilisateur, c’est en effet une grosse nouveauté qui va sans doute nettement améliorer les résultats, mais si on se souvient que BERT n’est efficace calculatoirement que pour calculer le contexte à faible distance (disons une ou deux dizaines de mots autour du mot analysé), alors on comprend que Google transforme une faiblesse en force, au prix d’un dispositif d’indexation sans doute complexe et coûteux.
En tant que commentateur, cette liste contient bien évidemment des informations "fonctionnelles" assez utiles pour le SEO, mais c’est aussi une annonce de "milieu du gué" selon moi. Je m’explique : depuis maintenant 3 ou 4 ans, Google a vraiment engagé la mise en place d’algorithmes en rupture avec ce qui se faisait auparavant en termes de recherche d’information. La mise en place de ces algorithmes est très complexe, et interfère d’ailleurs avec l’existant (pensons aux nombreux rollbacks et aux problèmes d’indexation par exemple). Les annonces d’octobre dernier montrent que ça y est, certains problèmes sont résolus, et que maintenant les grosses mises en production vont débuter. C’est donc plutôt dans 1 ou 2 ans que nous verrons vraiment de très gros changements.
Où va t-on ? (enfin disons plutôt : où va Google) ?
Tout d’abord, Dawn Anderson a écrit un article assez complet sur ces sujets et vous pouvez lire avec bénéfice toute la partie sur DeepCT de l’article [9] pour avoir plus de détails sur ce que je vais aborder maintenant.
Le premier constat que je veux partager avec les SEOs est qu’il ne faut pas confondre une petite brique algorithmique, quel que soit son niveau d’innovation, avec la chaîne de traitement totale. Le moteur, ce n’est pas juste BERT ou DeepRank, ou juste tel ou tel nom de techno ou algo. Un moteur efficace fait un nombre de traitements absolument incroyable, et c’est le dispositif d’agrégation des traitements qui est le plus important.
BERT, comme tant d’autres méthodes d’encodage des relations entre les mots, construit des vecteurs dans un espace distributionnel, cela veut dire que BERT construit des vecteurs qui encodent les statistiques des mots. Certains SEO pensent que Google n’est plus sur une approche fréquentielle, c’est totalement faux, bien au contraire, simplement les statistiques deviennent plus complexes, plus riches, plus spécifiques.
Pour revenir sur le futur de Google, ce qui se profile est une redéfinition plus profonde de la chaîne de traitement concernant la pertinence des contenus. Historiquement, la recherche d’information utilise les pondérations à l’ancienne comme la TF.IDF des années 60-70. Déjà à l’époque, on pondérait la fréquence usuelle d’un mot par un facteur exogène au document, lié au corpus (le facteur IDF). Mais bien entendu, tout a progressé pour converger assez rapidement vers des fonctions comme BM25 (Best Matching version 25) mise au point par Stephen Robertson et Karen Sparck-Jones (référence [10]).
Une fonction comme BM25 est plus précise que ses précurseurs, mais reste une méthode qui va donner un score en ne tenant pas compte des relations qui peuvent exister entre les termes ou le fait que les termes apparaissent dans les mêmes contextes (notion de cooccurrence). Elle va cependant assez souvent être utilisée pour construire une première liste de documents potentiellement pertinents pour une requête, avant de céder sa place pour un deuxième tri à des approches plus complexes. BM25 est plus évoluée, mais contient encore des variables qui sont explicitement des fréquences usuelles et de l’IDF.
Les approches modernes prennent en compte le contexte d’apparition des termes. C’est la force de BERT que de construire des meilleurs contextes que ses compétiteurs. On peut discuter ensuite de la création de modèle plus gros, avec plus de paramètres comme vous pourrez le lire un peu partout, mais finalement on parle du même principe, avec juste plus de puissance, plus de coûts calculatoires et une amélioration des résultats à grands coups de dollars supplémentaires.
C’est à ce stade de l’article que je peux enfin introduire DeepCT (référence [11] et [12]). DeepCT est une approche algorithmique qui permet de déterminer qu’un terme, même peu fréquent, va être central dans un document ou dans un passage d’un document. D’un point de vue intuitif, l’approche est simple : DeepCT utilise BERT (et le fait que BERT utilise un contexte bi-directionnel) pour identifier le sens et le contexte de chaque terme qui appartient à un contexte, ce contexte (= ce passage) sera - comme par hasard - de taille maximale la taille adressable par BERT.
D’un point de vue purement technique, DeepCT peut traiter des passages et y trouver les termes les plus importants et les pondérer en conséquence. Il peut aussi traiter une requête et déterminer quels sont les mots importants de cette requête. Enfin les créateurs de la méthode annoncent qu’ils travaillent à une approche pour traiter des documents longs également (car de base DeepCT va avoir le même défaut que BERT : il traite bien des phrases ou des paragraphes assez courts).
Il ne faut pas s’y tromper : même si l’approche est techniquement de plus en plus impressionnante, le principe est donc toujours le même, avec une rupture réelle il y a quelques années, et qui est exploitée maintenant. Est-ce qu’elle aura un impact sur le SEO ? Bien entendu, car elle aura un impact sur les résultats de recherche et sur la manière de présenter les résultats.
Un critère important va devenir celui de l’intention (mais c’est déjà en partie le cas) et de la densité d’information : plus question de délayer un contenu pour meubler en tournant autour du pot. Il faudra être synthétique et répondre dans un paragraphe à une intention spécifique. MAIS, MAIS, mais en fait c’est déjà la bonne pratique qui permet actuellement de se positionner plus facilement !
Et le SEO dans tout ça ? les outils d’optimisation sont-ils has been ?
On lit sur les réseaux quelques messages qui disent que l’optimisation de contenu c’est maintenant un vestige du passé. C’est largement faux, parce que si il y a un algorithme pour donner des scores et des poids, il y a forcément un algorithme pour comprendre ces scores et poids et donner les consignes permettant de les atteindre et les dépasser.
La question est donc plutôt de savoir si les outils actuels sont au niveau. Bien entendu la réponse est que cela dépend des outils, ce qui était déjà vrai avant. Pour faire comprendre cela, je vais faire une image qui est fausse à strictement parler, mais qui donne la bonne intuition :
Imaginez une pièce avec 4 murs. 3 murs sont peints de belle manière avec des couleurs bien choisies. Le quatrième mur est fraîchement enduit, vous devez le peindre. Vous avez peut-être compris mon idée : vous avez un site web, toutes les pages sont rédigées, et bien rédigées, mais vous allez en rajouter une sur un nouveau sujet. La peinture, c’est le sujet. Et les instruments de peinture sont les outils d’optimisation sémantique.
Si vous avez un outil qui utilise les algorithmes des années 70, vous avez dans les mains un pistolet à peinture qui tient plus du brumisateur qu’autre chose : vous allez peindre rapidement une grosse partie de la surface, mais ça va goutter un peu, vous allez déborder sur les autres murs, sur les bords vous n’aurez pas vraiment peint au plus près, mais vu de loin ça fait le job.
Si vous avez un outil un poil plus moderne, vous avez des rouleaux de plusieurs tailles, le résultat ne sera pas toujours au top, mais ce sera vraiment mieux.
Maintenant, si vous avez un outil qui fait des vecteurs de contexte (ou équivalent), vous avez rouleaux et pinceaux de toutes les tailles. Votre peinture sera bien meilleure. Les outils qui font ça sont ceux qui aujourd’hui donnent les meilleurs résultats en termes de positionnement. L'outil YourTextGuru (que nous developpons) est basé sur un algorithme que j'ai conçu et qui créée un analogue aux vecteurs de contextes. L'outil de Christian Méline est basé sur des notions de son cru (les métamots), avec aussi un niveau conceptuel de type vecteur de contexte.
Les outils qui font du machine learning a base de modèles standards permettent d’écrire à la manière des livres qui ont servi à fabriquer le modèle, mais pas comme le moteur l’attend. C’est un peu comme le fait d’avoir des rouleaux et pinceaux courbes. Si le mur l’est aussi c’est fantastique, mais sinon c’est la galère !
Enfin, les outils qui proposent des entités existent également dans mon allégorie : ils sont les pots de peintures. En effet, ils donnent des sujets intéressants pour une thématique, mais ne sont pas là pour l’optimisation. Ils seront donc utiles dans les mains d’un bon rédacteur, ou en conjonction avec un outil d’optimisation.
Une conclusion ?
Il est difficile de conclure car les annonces faites récemment sont vraiment une forme d’entre-deux et ne sont pas d'une précision absolue. Le meilleur est à venir pour l’intégration des nouveaux types de modèles de NLP (Natural Language Processing). Et nul doute qu’au moment où sortiront réellement les grosses nouveautés, les SEOs seront capables de s’adapter, comme ils l’ont toujours faits depuis plus de 20 ans maintenant.
Références
[2] Motwani, Rajeev, and Prabhakar Raghavan. Randomized algorithms. Cambridge university press, 1995.
[3] https://blog.google/products/search/search-on/
[4] https://nlp.stanford.edu/seminar/details/jdevlin.pdf
[6] https://arxiv.org/abs/1710.05649
[7] https://www.abondance.com/20201104-44061-deeprank-lalgorithme-google-a-base-de-bert.html
[9] Anderson, Dawn. Could Google passage indexing be leveraging BERT? https://searchengineland.com/could-google-passage-indexing-be-leveraging-bert-342975
[10] Robertson, Stephen E., and K. Sparck Jones. "Relevance weighting of search terms." Journal of the American Society for Information science 27.3 (1976): 129-146.
[11] Dai, Zhuyun, and Jamie Callan. "Context-Aware Document Term Weighting for Ad-Hoc Search." Proceedings of The Web Conference 2020. 2020. http://www.cs.cmu.edu/afs/cs.cmu.edu/Web/People/callan/Papers/TheWebConf20-Zhuyun-Dai.pdf
[12] https://github.com/AdeDZY/DeepCT
Sylvain Peyronnet, concepteur de l'outil d'analyse de backlinks Babbar.