Bonjour à tous ! Nous sommes dans le futur. Oh non ! Skynet, où est ma voiture volante, mes jetpacks, etc.
Tout le monde parle d’IA ces derniers temps, surtout de ChatGPT et des chatbots de recherche basés sur ChatGPT. Il s’agit d’une application du traitement du langage naturel (PNL). La PNL (ou programmation neurolinguistique) est une branche de l’intelligence artificielle (IA) qui se concentre sur la compréhension, la manipulation et la génération du langage humain.
Mais saviez-vous qu’il n’est pas nécessaire d’utiliser des transformateurs génératifs pré-entraînés (GPT) pour utiliser la PNL dans le cadre du SEO ? Et que la PNL est en quelque sorte au cœur du SEO ?
Cet article va aborder la PNL, en expliquant les aspects les plus complexes. Ensuite, nous allons voir comment vous pouvez utiliser Python, Colab et la PNL pour automatiser les tâches de SEO et trouver des informations. Nous aborderons ensuite quelques théories basées sur ce que nous avons pratiqué. Enfin, nous parlerons des pièges, des problèmes et des possibilités d’utilisation de la PNL dans ce secteur d’activité.
C’est parti !
Qu’est-ce que le traitement du langage naturel (PNL) ?
La PNL est à l’intersection des statistiques, de la linguistique, de la ML/IA et de l’informatique. Il peut couvrir des tâches génératives telles que répondre à des questions, à la manière de GPT, ou des tâches telles que l’analyse des sentiments et la compréhension du langage naturel.
Quel est le rapport avec le SEO ?
Petite question : comment Google utilise-t-il la PNL ? En fait, d’après ce que nous savons, c’est tout ce qui précède.
Les SEOs connaissent généralement le cycle de crawl de Google : le crawl, le rendu, l’indexation et le positionnement. La PNL fait souvent partie de la dernière étape : les positionnements. Google utilise la PNL pour traiter le contenu d’une page et le faire correspondre à la requête d’un utilisateur.
En tant que SEO, nous pouvons étudier la manière dont Google utilise la PNL et l’appliquer à notre propre travail.
Par exemple, nous savons que BERT, le modèle de langage publié en 2018, permet à Google de mieux comprendre les entrées en langage naturel. L’appariement neuronal permet à Google de faire de meilleures déductions sur les synonymes. Et le modèle MUM (Multi-tasking Unified Model) permet à Google de mieux comprendre la signification contextuelle des mots.
Alors comment appliquer cela à notre SEO ?
Des trucs techniques pour les geeks
Je voudrais prendre une petite minute pour parler de certains éléments plus techniques des algorithmes ML, mais vous pouvez zapper cette partie si des termes comme « analyse vectorielle » vous font perdre les pédales.
Vous vous souvenez de y=mx +b, en algèbre 1 ? Eh bien, c’est ce que font les versions les plus basiques de la ML, qui utilisent la régression linéaire pour prédire les résultats. Mais des algorithmes de ML plus complexes, comme Word2Vec et Glove, utilisent l’analyse vectorielle pour mieux comprendre le sens des mots.
Les algorithmes de ML les plus élémentaires pour la PNL sont basés sur l’idée de « word embeddings » (enchâssement de mots). Cela signifie que chaque mot est représenté sous la forme d’un vecteur, ou d’un ensemble de nombres qui décrivent sa relation avec d’autres mots et son contexte dans une phrase. Cela nous permet de mieux identifier les sujets connexes et les sentiments dans le langage naturel. Essentiellement, ils mesurent les relations entre les mots pour créer une représentation numérique d’un mot. Cela permet à Google de mieux comprendre le contexte d’une requête de recherche, au lieu de rechercher uniquement un mot-clé spécifique.
Les vecteurs ressemblent un peu à ceci : [1.2, -0.3, 0.8, 0.2].
Vous pouvez également utiliser l’analyse vectorielle pour comparer deux documents ou deux termes et déterminer leur degré de similitude. Par exemple, cela peut être utile pour comprendre l’intention sémantique d’une requête et pour identifier des sujets liés.
Un autre terme que vous rencontrerez probablement souvent avec des algos PNL plus avancés est celui de « transformateur ». Un transformateur est un modèle d’apprentissage poussé qui utilise l’auto-attention, en pondérant différemment l’importance de chaque partie des données d’entrée. Qu’est-ce que cela signifie ? Je vais utiliser une métaphore pour l’expliquer :
Imaginez que vous êtes un vendeur de sandwichs en solo un soir de grande affluence. Vous avez beaucoup de commandes à honorer et elles doivent toutes être exécutées rapidement. Vous devez donc déterminer quels ingrédients sont prioritaires. Pour ce faire, vous évaluez différemment l’importance de chaque ingrédient. Tous les sandwichs utilisent du beurre, mais pratiquement aucun n’utilise de salade de jambon. En fait, vous utilisez votre auto-attention, comme le fait un transformateur.
Comme on dit : l’attention, c’est tout ce qu’il faut !
Pour simplifier, les algorithmes de ML transforment les mots en nombres et ces nombres sont utilisés pour créer un modèle des relations entre les mots. Les transformateurs aident les machines à mieux comprendre le langage naturel en pondérant différemment l’importance de chaque entrée. Cool ? Oui, c’est cool !
Maintenant que nous avons fait le tour des aspects techniques, parlons de la façon d’utiliser la PNL dans le cadre du SEO.
[Étude de cas] Affinez votre stratégie SEO selon des données pertinentes et une segmentation fine
Les utilisations courantes de la PNL pour le SEO
Au fil des années, la PNL s’est développée et est devenue la référence en matière de SEO pour un certain nombre d’utilisations courantes. Jetons un coup d’œil sur les plus populaires d’entre elles.
L’analyse du sentiment et des changements de sentiment
L’une des tâches les plus basiques de la PNL – pas basique comme dans le sens de « facile » mais comme dans le sens de « l’une des premières avec lesquelles les nouveaux développeurs s’amusent » – est l’analyse des sentiments. L’analyse des sentiments consiste essentiellement à déterminer comment un texte reflète les sentiments d’une personne. Dans certains cas, le texte peut être très facile à analyser.
Meanie2004 : « JE VOUS DÉTESTE ! ÇA CRAINT ET C’EST MAUVAIS ! »
nicegirl : « Wow, c’est fantastique ! <3 »
Dans d’autres cas, c’est plus difficile.
Meanie2004: « Ce n’est pas génial, mais ça pourrait être pire. »
C’est là que la PNL entre en jeu. À l’aide des algorithmes, nous pouvons analyser le sentiment d’un texte en examinant les mots utilisés, la syntaxe (grammaire, etc.) et le contexte.
Une façon pratique dans laquelle vous pouvez utiliser cela pour le SEO est de se préparer si vous obtenez une ruée soudaine de mauvaises critiques. Vous pouvez utiliser le code python ci-dessous pour vérifier le sentiment d’un texte :
``` from textblob import TextBlob text = 'This is an amazing experience!' # create a TextBlob object text_blob = TextBlob(text) # returns sentiment polarity print(text_blob.sentiment.polarity) ```
Si vous insérez ces données dans Seaborn, ou dans un autre outil de visualisation, vous pouvez voir comment vos avis évoluent dans le temps.
Résultat ! Le vôtre sera probablement un peu moins simple que celui-ci (espérons-le). À moins que vous n’ayez que trois commentaires…
Si vous disposez d’un grand nombre de dates et de commentaires, vous pouvez voir comment les gens réagissent au fil du temps. S’il y a des baisses, vous pouvez examiner ce que vous avez fait à ce moment-là et qui a pu frustrer les gens. Vous pouvez même utiliser cette méthode pour les commentaires sur les blogs : quels sont les blogs qui ont suscité l’enthousiasme et/ou la joie des internautes ?
Topic Modeling
L’une des choses que Google et les gens font est le topic modeling. Le topic modeling est un moyen d’identifier des groupes de mots similaires au sein d’un corpus. Elle permet de découvrir les thèmes et les sujets les plus courants auxquels les gens s’intéressent.
Si vous travaillez sur le SEO, vous pourriez l’utiliser pour analyser les conversations sur des sujets, pour mieux adapter votre contenu, ou regarder ce sur quoi les concurrents se concentrent dans leurs positionnements élevés. Il peut vous aider à identifier les mots et expressions clés qui pourraient manquer dans votre contenu.
L’extraction de mots-clés
Parfois, vous avez besoin d’une liste de mots-clés et vos outils habituels ne vous permettent pas d’obtenir ce que vous cherchez. Dans ce cas pratique, vous pouvez utiliser les bibliothèques pour obtenir une longue liste de mots-clés, soit à partir de votre contenu (comparez avec les positionnements !), soit à partir de concurrents très bien positionnés.
Une synthèse de texte
La synthèse de texte comporte deux méthodes populaires : l’abstraction et l’extraction. Il a également de nombreuses utilisations, qu’il s’agisse de résumer de grandes quantités de texte lorsque vous faites des recherches, de voir quels sont les sujets les plus saillants ou les plus importants dans votre texte, de créer des méta descriptions ou de récapituler des paragraphes TL;DR. En fait, si vous n’avez pas le temps de lire un document ou un article en entier, le résumé peut vous aider à gagner du temps.
La classification des intentions
La classification de l’intention est une tâche super utile en SEO ; être capable de tagger l’intention à grande échelle peut vraiment aider à comprendre ce que les gens veulent atteindre ou retirer de votre site web.
L’intention sémantique est l’objectif qui se cache derrière une requête – ce qu’un utilisateur essaie réellement de faire lorsqu’il saisit une requête de recherche.
Supposons, par exemple, que quelqu’un cherche « acheter iPhone 11 pro », il est probablement très proche de la phase d’action de l’entonnoir d’achat.
En revanche, si quelqu’un cherche « iPhone 11 pro review », il n’est peut-être pas prêt à acheter et cherche plutôt à savoir ce que d’autres personnes pensent du produit, ce qui le rapproche de la phase d’intérêt de l’entonnoir.
En utilisant des algorithmes PNL et ML, vous pouvez mieux identifier l’intention derrière une requête et ajuster votre contenu en conséquence. Vous pouvez utiliser un code similaire à celui présenté ci-dessus, ou nous pouvons être plus audacieux et utiliser un ensemble de données kaggle pour former et labelliser nos propres données !
J’adore l’exemple de ce code ici : Intent identification with BERT | Kaggle. En utilisant distilibert et mes propres données, j’ai essayé de faire mon propre classificateur d’intention ( attention : cela risque d’utiliser beaucoup de RAM.)
``` # load the data - get from your SEO data source of choice
Ou utilisez :
https://app.surgehq.ai/datasets/search-queries-and-intents
Vous pouvez également utiliser le Google sheet que j’ai créée. Faites-en un cadre de données (voir colab).
Une fois que vous êtes arrivé au bout, vous pouvez utiliser un classificateur pour savoir pourquoi les gens viennent sur certaines pages de votre site. Vous pouvez alors développer votre contenu pour mieux comprendre l’entonnoir de vente et la façon dont votre contenu guide les gens dans cet entonnoir .
Il existe de nombreuses façons d’utiliser les classificateurs pour classer du texte.
Les utilisations moins courantes de la PNL pour le SEO
Jusqu’à présent, nous sommes restés dans le cadre des pratiques SEO les plus courantes. Maintenant, nous allons faire des choses inhabituelles – des choses qui pourraient être utiles d’une manière originale.
L’extraction de texte dans une image
Il ne s’agit pas nécessairement ou strictement d’une tâche PNL, mais elle peut être incorporée dans de nombreux projets PNL. Si vous avez des images qui contiennent du texte, ce texte devrait également se trouver dans le texte alternatif – et il devrait également être saillant pour la page sur laquelle il se trouve ! Bien que le code de mon projet collectif concerne principalement l’extraction de texte à partir d’une image, vous pouvez utiliser des bibliothèques de traitement d’images comme openCV pour faire de la reconnaissance d’images, puis vous pouvez utiliser d’autres techniques PNL pour vous assurer que vos images sont pertinentes.
En outre, vous pouvez effectuer des recherches sur les concurrents de cette manière ; si chaque concurrent a une image pertinente qui implique x, et que vous n’avez que des images qui impliquent y, vous pouvez peut-être essayer quelque chose de différent.
Python dispose de quelques moyens d’extraire des données d’images – comme évoqué précédemment, OpenCV – mais vous pouvez également entraîner votre propre moteur de reconnaissance d’images avec TensorFlow, ou utiliser une API d’Amazon ou de Google. Le monde vous appartient !
La recherche de mots-clés
La recherche de mots-clés : Je n’aime pas le faire, alors demandons à des robots de le faire pour nous !
Utilisons à nouveau LDA et extrayons les sujets des sites web de nos concurrents. Une fois que vous disposez de ces données, vous pouvez voir ce qu’ils couvrent et que vous ne couvrez pas, et vice versa.
Pour ce faire, on utilise souvent ce que l’on appelle TF:IDF, ou Term Frequency/Inverse Document Frequency (fréquence des termes/fréquence inverse des documents). Il s’agit à nouveau de statistiques, mais cette fois d’une méthode permettant de refléter l’importance d’un mot dans un document ou une collection de documents. Une chose que vous pouvez faire avec TF:IDF et LDA est de voir quels sujets sont importants dans un document classé par rapport à des documents moins bien classés : les documents mieux classés couvrent-ils des sujets que les documents moins bien classés ne couvrent pas ?
Heureusement, pour les développeurs paresseux parmi nous (je ne cite aucun nom [c’est moi]), scikit-learn dispose d’un vecteur TF-IDF que vous pouvez utiliser très facilement. Cela vous permet d’extraire le contenu et les mots-clés du texte d’un concurrent sur lesquels vous pourriez vouloir vous concentrer.
Autres analyses de contenu automatisées
D’autres analyses automatisées de contenu peuvent être effectuées : il ne s’agit pas seulement du nombre de mots, mais aussi des entités nommées (ce qui semble intéresser Google !), du niveau de lecture, des parties du langage et de beaucoup d’autres informations. Encore une fois, cela peut être utile pour l’étude de la concurrence, mais aussi pour faire le lien avec les données de vos clients.
Si vos pages qui contiennent beaucoup de verbes et d’autres éléments de langage orientés vers l’action obtiennent de meilleurs résultats que les pages qui n’en contiennent pas, cela vous indique quelque chose. Vos clients sont-ils demandeurs d’appels à l’action, de descriptions, ou veulent-ils plutôt un langage simple ? Préfèrent-ils un langage de niveau scolaire ou universitaire ? La PNL nous permet d’obtenir ces informations en masse, ce qui nous permet de réaliser des tests A/B en masse et de voir comment nos clients interagissent avec le texte.
La transcription vidéo et audio
Si vous travaillez avec de la vidéo et de l’audio, vous devez avoir des transcriptions. Si vous êtes un petit studio ou une machine à créer des médias composée d’une seule personne, les transcriptions vidéo et audio peuvent s’avérer fastidieuses. Je vous déconseille de vous fier entièrement à la reconnaissance vocale pour réaliser des transcriptions, mais elle peut vous fournir l’essentiel de votre transcription. Vous pouvez ensuite procéder aux corrections nécessaires, ce qui vous permet de gagner beaucoup de temps et de vous assurer que votre public peut accéder à votre contenu, même s’il déteste votre voix.
Quelques conseils pour l’audio/vidéo : ne transcrivez pas les langues étrangères avec une expression générale telle que « [langue étrangère] » ; si quelqu’un qui parle espagnol et anglais comprend ce texte sur un support audio, il devrait être capable de le lire également.
Ne censurez pas non plus vos sous-titres ! Cela peut être tentant pour plaire à l’omniprésent GOOG, mais les transcriptions et les sous-titres sont censés refléter fidèlement le contenu concerné. Procéder autrement est contraire à l’intérêt de votre public !
Les opportunités du schéma
J’ai rassemblé ces informations parce que j’ai vu un tweet de Lidia Infante :
Cela m’a amené à réfléchir à la manière dont on pourrait faire cela. Le colab a une implémentation approximative, utilisant Spacy.
Jess, vous pourriez dire, s’il vous plaît, ne me montrez pas de code comme ça, ça me fait peur.
C’est très simple, mon ami. J’utilise le « PhraseMatcher » de spaCy, une solution industrielle qui permet de comparer efficacement de grandes listes terminologiques. Ici, j’utilise la PNL pour créer une liste d’entités et de schémas, puis je recherche dans le texte les entités susceptibles de correspondre à ces schémas. Il est tout à fait possible d’améliorer cette solution ; l’ajout de quelques règles PhraseMatcher supplémentaires permettrait de créer une machine à schémas totalement rationalisée.
Calendrier de contenu
Une chose que je pense est une manière fun d’utiliser la PNL, c’est de créer votre calendrier de contenu.
Pour ce faire, j’ai extrait les données relatives à une tendance au fil du temps, puis je les ai désambiguïsées pour obtenir d’autres tendances. L’API Trends de Google est très pointilleuse. Pour nous éviter des maux de tête, j’ai sauvegardé ces tendances hebdomadaires dans une Google Sheet.
Vous pouvez ensuite utiliser cette feuille pour suivre les tendances dans le temps et la décomposition saisonnière. Cela vous permet de voir quand les différentes tendances atteignent un pic ; si certaines d’entre elles semblent toujours atteindre un pic au printemps, c’est peut-être le bon moment pour publier votre propre contenu sur ce sujet.
Quel est l’apport à la PNL ?
Si vous utilisez le code thématique que j’ai suggéré plus haut, vous pouvez examiner les tendances de recherche pour votre propre site ou même pour les sites de vos concurrents : vous pouvez extraire des données des réseaux sociaux et établir un graphique des sujets qui ont tendance à se multiplier au fil des saisons. Si vous obtenez le contenu populaire à certaines périodes de l’année et que vous en extrayez les informations PNL, vous pouvez créer un calendrier de contenu basé sur des données et qui pourrait inclure des sujets auxquels vous n’aviez pas pensé auparavant !
Mapping de mots-clés
Le mapping de mots-clés est une technique utilisée pour identifier les mots-clés les plus importants d’un document et les associer à un sujet spécifique. Les bibliothèques de correspondance de mots-clés utilisent généralement des techniques PNL, notamment la reconnaissance des entités nommées, la classification des parties du discours et le TF-IDF/LDA, pour extraire ce contenu. Il s’agit d’un moyen d’identifier le contenu le plus précieux en se basant sur le contenu lui-même, plutôt que sur des données externes.
Le mapping de mots-clés peut être assez précis pour identifier les mots-clés importants, mais il est important de se rappeler qu’il ne s’agit pas d’une science parfaite.
Théorie pour les intellos
Une chose que j’ai trouvée extrêmement utile lorsque j’ai étudié la ML est de comprendre certaines des théories. En particulier pour les personnes qui sont moins proches des STEM, comprendre au moins une partie du comment et du pourquoi des choses peut s’avérer utile. Souvent, les gens se demandent « pourquoi GPT a fait ça ? Pourquoi Midjourney ne peut-il pas faire cela ? » Comprendre une partie de la théorie peut aider à répondre à ces questions. La section suivante traitera du machine learning d’une manière qui, je l’espère, sera suffisamment intéressante !
Machine learning et réseaux neuronaux
À ce stade, nous avons fait du machine learning. Mais qu’est-ce que c’est ? Et pourquoi les gens ne veulent-ils pas se taire à ce sujet ?
Traditionnellement, pour faire faire quelque chose à un ordinateur, il faut lui dire de le faire. Le machine learning est un moyen de faire faire des choses à un ordinateur sans lui dire explicitement « Fais cette chose ».
Il existe deux méthodes de machine learning : l’apprentissage supervisé et l’apprentissage non supervisé.
[Étude de cas] Comment convaincre de l’importance des projets SEO
L’apprentissage supervisé revient à avoir un micro-manager – ou plutôt à ÊTRE un micro-manager. Vous fournissez à l’ordinateur un ensemble de données étiquetées et il apprend à partir de ces exemples à prédire les étiquettes des nouvelles données. C’est comme l’apprentissage pavlovien : si vous sonnez une cloche, la machine s’attendra à manger.
Imaginez que vous souhaitiez apprendre à un ordinateur à reconnaître différents types de cris. Vous lui fournirez un ensemble de données étiquetées de cris, chaque cri étant étiqueté par type de cri. L’ordinateur apprendrait à partir de ces exemples étiquetés et utiliserait ces connaissances pour prédire le type de cri dans de nouveaux clips audio non étiquetés. Mais si vous lui présentez un chien qui hurle, il ne saura probablement pas quoi en faire.
En tant que superviseur micro-manager, vous avez alors le choix : étendez-vous votre application pour qu’elle comprenne les hurlements des chiens ? Cela impliquerait d’étiqueter et de télécharger un vaste ensemble de données sur les bruits de chiens. Ou décidez-vous que les bruits de chiens sont hors de portée ?
L’apprentissage non supervisé, quant à lui, revient à essayer d’apprendre à nager pour la première fois après avoir été lâché au milieu de l’océan. Un océan digital. Vous fournissez à l’ordinateur un ensemble de données non étiquetées et vous espérez qu’il trouvera des modèles et des indices dans ces données.
Pensez-y de la manière suivante : vous analysez le dialogue des personnages d’une émission de télévision pour trouver des modèles dans leur discours. Vous fournissez à l’ordinateur un ensemble de données non étiquetées de transcriptions de l’émission et vous le laissez trouver des similitudes et des différences entre les modèles de discours des personnages. L’ordinateur pourrait découvrir qu’un personnage dit « bazinga » plus souvent que les autres, etc.
Il existe différents types d’algorithmes de machine learning, tels que les algorithmes de classification et les algorithmes de régression.
Classification algorithms are used to sort data into different categories or classes, while regression algorithms are used to predict continuous numerical values.
Par exemple, supposons que vous disposiez d’un ensemble de données de réclamations de clients, chaque réclamation étant étiquetée comme un défaut de produit, un problème de service à la clientèle ou un problème de livraison. Un algorithme de classification examine les caractéristiques d’entrée de chaque réclamation (telles que des mots-clés ou des phrases) et utilise ces informations pour prédire la catégorie à laquelle appartient chaque réclamation.
Les algorithmes de classification les plus courants sont les algorithmes Naive Bayes et les machines à vecteurs de support. Les algorithmes Naive Bayes utilisent les statistiques bayésiennes pour déterminer la probabilité que chaque classe soit la bonne, tandis que les machines à vecteurs de support tracent des lignes (hyperplans) pour séparer autant que possible les différentes classes.
Les algorithmes de régression, tels que la régression linéaire et la régression logistique, sont couramment utilisés pour prédire l’avenir. Par exemple, ils peuvent être utilisés pour prédire le cours des actions ou le coût d’une maison. Lors de l’élaboration d’un modèle de régression, il est important de sélectionner les caractéristiques d’entrée adéquates pour prédire avec précision la valeur de sortie. Les techniques de sélection des caractéristiques telles que l’analyse de corrélation, l’analyse en composantes principales (ACP) et la régularisation peuvent y contribuer.
Pour évaluer la précision d’un modèle de régression, des mesures telles que l’erreur quadratique moyenne (MSE), l’erreur absolue moyenne (MAE) et le R au carré sont couramment utilisées. Ces mesures permettent d’évaluer la précision du modèle et de déterminer s’il fonctionne bien sur les données de test.
Les réseaux neuronaux sont un autre type d’algorithme de machine learning qui s’inspire de la structure et de la fonction du cerveau humain. Ils sont souvent utilisés pour des tâches telles que la reconnaissance d’images, la reconnaissance vocale et le traitement du langage naturel. Il existe différents types de réseaux neuronaux, tels que les réseaux neuronaux d’anticipation, les réseaux neuronaux convolutifs et les réseaux neuronaux récurrents. Chaque type est utilisé à des fins spécifiques, telles que la reconnaissance d’images ou l’analyse de données séquentielles.
Enchâssements de mots et vectorisation
Dans le domaine du NLP, l’un des plus grands défis consiste à représenter les mots de manière à ce qu’un ordinateur puisse les comprendre. C’est là qu’interviennent les enchâssements de mots et la vectorisation.
Le modèle du ‘sac de mots’ est une façon de représenter les données textuelles dans un format vectorisé. Ce modèle compte l’occurrence des mots dans un document et crée un vecteur qui représente la fréquence de chaque mot. Cependant, ce modèle ne capture pas les relations entre les mots, ce qui peut limiter son utilité dans certaines tâches de NLP.
Supposons que nous ayons une phrase : « Le renard brun et rapide saute par-dessus le chien paresseux ». Le modèle du sac de mots représenterait cette phrase comme un ensemble de mots, comme ceci :
{« le », « rapide », « brun », « renard », « saute », « par-dessus », « paresseux », « chien »}
Nous pouvons également représenter la fréquence de chaque mot dans la phrase à l’aide d’un vecteur :
[1, 1, 1, 1, 1, 1, 1, 1]
Ce vecteur indique que chaque mot apparaît une fois dans la phrase.
Les algorithmes Word2Vec et GloVe sont deux approches populaires pour créer des ancrages de mots, qui sont des représentations vectorielles de mots qui capturent les relations entre eux. Word2Vec crée des ancrages en prédisant le contexte d’un mot, tandis que GloVe crée des ancrages en tenant compte des statistiques de co-occurrence des mots dans un corpus.
Voici un exemple d’intégration de Word2Vec pour le mot « roi » :
[0.2, 0.1, -0.3, 0.5, 0.8, -0.2, -0.1, 0.4, 0.6, 0.2]
Ce vecteur nous indique que « roi » est similaire à des mots comme « reine », « prince » et « monarque » en termes de sens et de contexte.
Voici un exemple d’intégration GloVe pour le mot « roi » :
[0.2, 0.1, -0.3, 0.5, 0.8, -0.2, -0.1, 0.4, 0.6, 0.2]
Ce vecteur représente les statistiques de cooccurrence de « roi » avec d’autres mots dans un corpus, indiquant que « roi » est susceptible de cooccurrence fréquente avec des mots tels que « reine », « prince » et « monarque ».
L’algorithme GloVe utilise la factorisation matricielle pour trouver des enchâssements qui capturent ces statistiques de cooccurrence, résultant en une représentation vectorielle qui capture à la fois les relations sémantiques et syntaxiques entre les mots.
La pondération de la fréquence des termes et de la fréquence inverse des documents (tf-idf) est une autre technique utilisée dans la vectorisation. Cette méthode pondère l’importance de chaque mot dans un document en fonction de sa fréquence dans ce document et de sa rareté dans l’ensemble du corpus.
Voici un exemple de poids tf-idf pour un ensemble de documents :
Document | Mot | Poids tf-idf |
---|---|---|
1 | chien | 0.2 |
1 | chat | 0.1 |
2 | chien | 0.3 |
2 | chat | 0.3 |
3 | chien | 0.1 |
3 | chat | 0.4 |
Ce tableau nous indique que le mot « chat » est plus important dans le document 3, tandis que le mot « chien » est plus important dans le document 2.
Des techniques de réduction de la dimensionnalité telles que l’analyse en composantes principales (ACP) peuvent être utilisées pour réduire la dimensionnalité des données vectorisées. Cela peut être utile pour visualiser les données et améliorer les performances des modèles d’apprentissage automatique formés sur les données. En réduisant le nombre de dimensions, les données deviennent plus faciles à gérer tout en préservant les informations les plus importantes.
Analyse sémantique et modélisation thématique
Entrons maintenant dans des détails plus techniques et parlons de l’analyse sémantique et de la modélisation des sujets ! C’est ainsi que l’on peut savoir de quoi les gens parlent réellement avec tous ces trucs de NLP.
Tout d’abord, nous avons l’analyse sémantique latente (LSA). Il s’agit d’une sorte de détective linguistique capable de découvrir le sens caché des mots.
L’analyse sémantique latente utilise une technique mathématique appelée décomposition en valeurs singulières pour identifier des modèles et des relations entre les mots d’un vaste corpus de textes.
Imaginez que vous lisiez une série de critiques de livres. Certaines personnes peuvent utiliser le mot « incroyable » pour décrire un livre, tandis que d’autres peuvent dire « incroyable ».
LSA recherche des modèles dans ces critiques et tente de regrouper les mots similaires utilisés pour décrire la même chose. Ainsi, elle regroupera les mots « incroyable » et « stupéfiant » parce qu’ils signifient tous deux que quelque chose est vraiment bien.
La « décomposition en valeur singulière » décompose les relations entre les mots d’un texte en éléments plus petits, comme des blocs de construction. Ces éléments sont ensuite analysés pour identifier les plus importants qui définissent un sujet ou un concept particulier. La LSA réorganise ces éléments importants pour créer un résumé ou une représentation du texte qui en saisit le sens sous-jacent.
Ensuite, nous avons l’allocation de dirichlet latent (LDA). Il s’agit d’une sorte d’organisateur de fêtes qui peut nous aider à déterminer les sujets les plus susceptibles d’être populaires au sein d’un groupe ou d’un « texte ». LDA part du principe que chaque document (ou morceau de texte) est constitué d’une combinaison de différents sujets et tente ensuite de déterminer quels sont ces sujets.
Dans une collection d’articles d’actualité, par exemple, LDA pourrait nous aider à identifier qu’un article porte principalement sur la politique, un autre sur le sport et un autre encore sur les potins des célébrités. Cela peut nous aider à trier et à catégoriser rapidement de grands volumes de données textuelles.
Troisièmement, nous avons la factorisation matricielle non négative (NMF). C’est comme un DJ qui peut remixer des mots et des phrases pour créer de nouvelles combinaisons plus significatives. La NMF prend une matrice de mots et leurs fréquences dans un corpus, puis la décompose en deux matrices plus petites qui représentent différents « sujets ». Ces thèmes peuvent ensuite être combinés pour créer de nouvelles représentations plus informatives du texte.
Supposons, par exemple, que nous disposions d’un ensemble de données sur les commentaires des clients d’un restaurant. La NMF pourrait nous aider à identifier qu’un sujet est lié à la nourriture, un autre au service et un troisième à l’ambiance. Nous pourrions ensuite combiner ces sujets de différentes manières pour créer des résumés plus informatifs des commentaires.
Enfin, nous avons la désambiguïsation du sens des mots. Il s’agit d’une sorte d’arbitre linguistique qui s’assure que tout le monde est sur la même longueur d’onde et utilise les mots correctement. La désambiguïsation du sens des mots nous aide à déterminer le sens d’un mot utilisé dans un contexte donné. Par exemple, le mot « banque » peut désigner une institution financière ou le bord d’une rivière. En analysant les mots environnants et le contexte, nous pouvons déterminer quel sens est utilisé.
Voici quelques exemples de mots qui changent de sens en fonction du contexte :
- Batte (baseball, animal)
- Ours (mammifère, argot, endurer quelque chose)
- Limace (mollusque, boxe)
- Rock (minéral, musique, Dwayne)
Algorithmes de traitement du langage naturel
Le NLP tend à se concentrer sur un ensemble spécifique d’algorithmes, présentés ci-dessous.
L’étiquetage des parties du discours consiste à attribuer à chaque mot d’une phrase une partie du discours, comme un nom, un verbe, un adjectif, etc. Cela nous aide à comprendre la structure grammaticale du texte et à lui donner plus de sens. Par exemple, si nous savons qu’un mot est un verbe, nous savons qu’il exprime une action ou un état.
La reconnaissance des entités nommées consiste à analyser un texte pour trouver et classer des entités nommées telles que des personnes, des organisations et des lieux. Cela nous aide à mieux comprendre le contexte et le sens du texte. Par exemple, si nous savons qu’un mot particulier fait référence à une personne, nous pouvons émettre des hypothèses sur son rôle dans le récit.
L’analyse des sentiments est un indicateur d’humeur pour les textes. Nous analysons le sentiment général ou le ton émotionnel d’un texte, qu’il soit positif, négatif ou neutre. Cela nous aide à comprendre ce que les gens pensent d’un sujet, d’un produit ou d’un service particulier. (Cette méthode est parfois aussi précise que l’analyse des sentiments).
L’analyse des dépendances consiste à identifier les relations entre les mots d’une phrase et à essayer de comprendre comment ils s’assemblent pour créer du sens. En identifiant les dépendances entre les mots, nous pouvons construire des modèles plus précis et effectuer des tâches NLP plus avancées telles que l’analyse sémantique et la modélisation de sujets. Par exemple, si nous savons qu’un mot est le sujet d’une phrase et qu’un autre en est l’objet, nous pouvons en déduire que le premier mot effectue une action sur le second.
Pièges et problèmes courants
Tout processus technique – ou tout autre processus en fait – comporte un risque d’erreur. Cela arrive aux meilleurs d’entre nous. Certaines des erreurs les plus courantes sont détaillées ci-dessous.
Sur-optimisation des mots-clés
L’optimisation des mots-clés est une pratique courante dans le domaine du référencement, mais elle l’est aussi dans celui de la PNL. L’un des pièges communs aux deux domaines est la sur-optimisation des mots-clés. Bien que cela puisse être utile, cela peut créer des résultats trompeurs et inexacts. Si vous vous concentrez sur certains domaines spécifiques, vous risquez d’en oublier d’autres. Par exemple, si vous filtrez uniquement les avis sur l’alimentation, vous risquez de passer à côté de questions ou de concepts qui sont tout aussi importants ailleurs.
Vous pouvez également obtenir des résultats biaisés : si vous vous concentrez sur un domaine, vous n’en repérez pas un autre et vous ne savez pas ce que vous pourriez manquer. Je sais que mon client fait x et y, mais la PNL pourrait m’aider à voir le z qui me manque.
Modèles d’IA mal formés/utilisation du mauvais modèle
Un autre problème que vous pourriez rencontrer est l’utilisation de modèles mal formés ou l’utilisation d’un modèle erroné. Dans mon exemple de données d’entraînement pour l’analyse d’intention, je me suis concentré sur les mots-clés d’intention d’achat. Mais si je cherchais des mots-clés d’intention pour des avis de patients, ces données et ce modèle ne seraient pas recommandés.
L’utilisation d’un modèle qui n’est pas adapté à un objectif spécifique peut vraiment faire déraper les choses. Par exemple, l’utilisation d’un modèle linguistique comme modèle de recherche d’informations, et ce genre de choses.
Manque de diversité des données
Votre modèle est biaisé. Certains de ces biais peuvent être intentionnels (biais en faveur d’un résultat, biais en faveur d’un domaine), mais il est probable qu’une partie de ces biais soit involontaire. Certains de ces biais peuvent même ne pas avoir d’importance, mais ils sont toujours présents. Si les données d’entraînement sont biaisées, elles auront des effets bizarres sur les résultats des données. Probablement, même si vous n’avez pas…
Un contenu mal écrit
Si vous écrivez quelque chose en utilisant des outils PNL, vous risquez de ne pas obtenir de bons résultats. Si l’entrée est mal écrite, il peut être difficile pour la PNL de l’analyser avec précision. De plus, les résultats ne doivent pas seulement être compréhensibles pour les machines, ils doivent aussi l’être pour les personnes.
Conclusion
Fondamentalement, l’un des avantages de l’utilisation de la PNL pour le SEO est que Google utilise également la PNL (également pour le référencement, mais en sens inverse).
Le web, en général, c’est ça :
Un chercheur (une personne) utilise Google (un ensemble d’algorithmes) pour trouver des sites (du code machine) écrits par des spécialistes du marketing (des personnes, probablement). La PNL permet de faire fonctionner tous ces éléments ensemble, et de comprendre comment les moteurs de recherche considèrent votre site.
De plus, nous sommes collectivement entrés dans une nouvelle ère, celle de la discussion sur les mots et les ordinateurs. Nous espérons que ce guide vous a donné de nouveaux outils pour comprendre le quoi, le comment et le pourquoi du fonctionnement de ces algorithmes.