La technologie et les techniques de génération de contenu que je vais démontrer dans cette colonne sembleraient sortir d’un roman de science-fiction, mais elles sont réelles et librement accessibles maintenant.
Après avoir terminé les expériences de codage et commencé à écrire cette pièce, j’ai réfléchi aux implications positives et négatives du partage public de ces informations.
Comme vous le verrez, il est maintenant relativement facile de produire du contenu généré par machine et la qualité des générations s’améliore rapidement.
Cela m’a conduit à la triste conclusion que nous pourrions voir des résultats beaucoup plus de spam qu’auparavant.
Heureusement, Google a récemment publié son rapport de spam 2019 qui m’a mis à l’aise.
Avez-vous déjà regardé votre dossier de courrier indésirable? Voilà à quoi pourraient ressembler les résultats de recherche sans les mesures que nous prenons pour lutter contre le spam de recherche. Notre article d’aujourd’hui examine comment nous travaillons pour garder le spam hors des résultats de recherche de Google https://t.co/RA4lUoDXEF
– Google SearchLiaison (@searchliaison) 9 juin 2020
«L’an dernier, nous avons observé que plus de 25 milliards de pages que nous trouvons chaque jour sont du spam. (Si chacune de ces pages était une page d’un livre, cela représenterait plus de 20 millions d’exemplaires de «War & Peace» chaque jour!)
PUBLICITÉ
CONTINUER À LIRE CI-DESSOUS
Nos efforts ont permis de garantir que plus de 99% des visites de nos résultats conduisent à des expériences sans spam.
Au cours des dernières années, nous avons observé une augmentation des sites de spam contenant du contenu généré automatiquement et gratté avec des comportements qui agacent ou nuisent aux chercheurs, tels que les faux boutons, les publicités écrasantes, les redirections suspectes et les logiciels malveillants. Ces sites Web sont souvent trompeurs et n’offrent aucune valeur réelle aux gens. En 2019, nous avons pu réduire l’impact de ce type de spam sur les utilisateurs de la recherche de plus de 60% par rapport à 2018. »
Bien que Google signale un nombre impressionnant de pages de spam par jour, ils signalent un taux de réussite impressionnant de 99% dans la suppression du spam à tous les niveaux.
Plus important encore, ils ont fait des progrès incroyables dans la suppression du contenu indésirable généré par la machine.
Dans cette colonne, je vais expliquer avec du code comment un ordinateur est capable de générer du contenu en utilisant les dernières avancées de NLG.
Je vais passer en revue la théorie et quelques lignes directrices pour garder votre contenu utile.
Cela vous aidera à éviter d’être pris avec tous les spams Web que Google et Bing travaillent sans relâche pour éliminer.
PUBLICITÉ
CONTINUER À LIRE CI-DESSOUS
Pages de contenu minces
Dans mon article sur la génération de titres et de méta-descriptions, j’ai partagé une technique efficace qui repose sur la synthèse du contenu des pages pour produire des méta-balises.
Une fois que vous avez suivi les étapes, vous pouvez voir que cela fonctionne très bien et peut même produire des textes nouveaux de haute qualité.
Mais que se passe-t-il si les pages ne contiennent aucun contenu à résumer? La technique échoue.
Permettez-moi de vous dire une astuce très intelligente pour résoudre ce problème.
Si ces pages ont des backlinks de qualité, vous pouvez utiliser le texte d’ancrage et le texte entourant le backlink comme texte à résumer.
Attendre!
Mais pourquoi?
Permettez-moi de remonter jusqu’en 1998, jusqu’à la fondation du moteur de recherche Google.
Dans l’article décrivant leur nouveau moteur de recherche, Page et Brin ont partagé un aperçu très intéressant dans la section 2.2.
«La plupart des moteurs de recherche associent le texte d’un lien à la page sur laquelle se trouve le lien. De plus, nous l’associons à la page vers laquelle pointe le lien. Cela présente plusieurs avantages. Première, les ancres fournissent souvent des descriptions plus précises des pages Web que les pages elles-mêmes. Deuxièmement, des ancres peuvent exister pour des documents qui ne peuvent pas être indexés par un moteur de recherche textuel, tels que des images, des programmes et des bases de données. Cela permet de renvoyer des pages Web qui n’ont pas été réellement explorées. »
Voici le plan technique:
Nous obtiendrons des backlinks et des textes d’ancrage correspondants en utilisant les nouveaux outils Bing pour les webmasters.Nous allons gratter le texte environnant à partir des backlinks de la plus haute qualité.Nous créerons des résumés et des contenus longs en utilisant le texte gratté.
Rapport sur les backlinks de Bing Webmaster Tools
Une fonctionnalité que j’aime dans le nouvel outil de backlinks de BWT, c’est qu’il peut fournir des liens pointant non seulement vers votre propre site, mais aussi vers d’autres sites.
Je m’attends à ce que cela devienne une alternative gratuite populaire aux outils payants.
J’ai exporté le fichier CSV avec la grande liste de liens et d’ancres, mais quand j’ai essayé de le charger à l’aide de pandas Python et j’ai trouvé un certain nombre de problèmes de formatage.
PUBLICITÉ
CONTINUER À LIRE CI-DESSOUS
Les textes d’ancrage aléatoires peuvent inclure des virgules et provoquer des problèmes avec un fichier délimité par des virgules.
Je les ai résolus en ouvrant le fichier dans Excel et en l’enregistrant au format Excel.
Gratter le texte environnant avec Python
Comme vous pouvez le voir dans ma capture d’écran ci-dessus, de nombreux textes d’ancrage sont assez courts.
Nous pouvons gratter les pages pour obtenir le paragraphe qui les contient.
Commençons par charger le rapport que nous avons exporté depuis BWT.
importer des pandas en tant que pd
df = pd.read_excel (« www.domain.com_ReferringPages_6_7_2020.xlsx »)
df.head ()
J’ai examiné l’URL cible en fonction du nombre de liens entrants utilisant.
df.groupby (« URL cible »). count (). tail ()
J’ai tiré les backlinks d’une des pages pour évaluer l’idée en utilisant ce code.
PUBLICITÉ
CONTINUER À LIRE CI-DESSOUS
backlinks = set (df[df[« Target Url »] == « https://domain.com/example-page »][« Source Url »])
Voyons maintenant comment nous pouvons utiliser une URL cible et un backlink pour extraire le texte d’ancrage approprié qui inclut l’ancre.
Récupération de texte à partir de backlinks
Commençons par installer les requêtes-html.
! pip install requests-html
à partir de requests_html importer HTMLSession
session = HTMLSession ()
Afin de garder le code simple, je vais produire manuellement un sélecteur CSS pour saisir le texte entourant le lien.
Il n’est pas difficile de calculer cela étant donné le lien et l’ancre sur la page en utilisant du code JavaScript ou Python.
C’est peut-être une bonne idée pour vous de faire vos devoirs.
Ouvrez un exemple de page de lien retour et en utilisant les outils de développement Chrome, vous pouvez cliquer avec le bouton droit sur le paragraphe qui vous intéresse et copier un sélecteur CSS.
C’est le sélecteur que j’ai utilisé.
avec session.get (url) comme r:
selector = « # entry-78782> div.asset-content.entry-content> div> p: nth-child (5) »
paragraph = r.html.find (sélecteur, first = True)
text = paragraph.text
C’est le texte qui est revenu. J’ai mis en gras le texte de notre exemple de texte d’ancrage.
PUBLICITÉ
CONTINUER À LIRE CI-DESSOUS
Nous savons que la rétention des enseignants améliore les résultats des élèves et, inversement, que le roulement des enseignants peut nuire au rendement des élèves. Environ 16% des éducateurs partent chaque année, et nous savons que de nombreux enseignants, comme moi, partent dans les cinq premières années. Les enseignants rapportent que les principales raisons pour lesquelles ils quittent sont le manque d’autonomie et de voix, ainsi que les questions de culture et, en particulier, de discipline. De plus, le chiffre d’affaires est coûteux – les districts en court-circuit avec plus de 2,2 milliards de dollars par an.
Maintenant, passons à la partie amusante!
Génération de texte neuronal
Nous allons utiliser le même code de résumé que nous avons utilisé pour générer des titres et des méta descriptions dans mon article précédent, mais avec une touche.
Au lieu de spécifier une longueur de résumé souhaitable plus courte que le paragraphe d’origine, nous allons spécifier une longueur plus longue. Ça marchera? Voyons voir!
! pip installer des transformateurs
du transformateur importation pipeline
résumé = pipeline («résumé»)
Généré_text = résumé (texte, min_length = 150, max_length = 250)
imprimer (généré_texte)
Je reçois cet avertissement intéressant.
Votre longueur_max est définie sur 250, mais votre longueur_entrée n’est que de 99. Vous pouvez envisager de diminuer manuellement la longueur maximale, par exemple résumé (‘…’, max_length = 50)
PUBLICITÉ
CONTINUER À LIRE CI-DESSOUS
Voyons le texte généré.
[{‘summary_text’: « Around 16 percent of educators leave the field every year. Teachers report that the biggest reasons they leave are lack of autonomy and voice, alongside issues of culture and discipline. Turnover is costly, shorting districts upwards of $2.2 billion a year, according to a report by the National Council of Teachers of English, the nation’s largest teacher organization. The report also found that teacher retention improves outcomes for students, and conversely, that teacher turnover can harm student achievement. The study was published in the Journal of Education, published by Simon & Schuster, a division of Penguin Random House, on November 14. For more, visit www.simonandschuster.com. For confidential support, call the National Suicide Prevention Lifeline at 1-800-273-8255 or visit http://www.suicidepreventionlifeline.org/. »}]
Le texte original avait 492 caractères et le texte généré 835.
Mais regardez la qualité et les nouvelles phrases qui apparaissent dans le texte généré. Absolument, époustouflant!
Cette technique peut-elle générer du texte encore plus long? Oui!
Généré_text = résumé (texte, min_length = 300, max_length = 600)
imprimer (généré_texte)
[{‘summary_text’: « Around 16 percent of educators leave the field every year. Teachers report that the biggest reasons they leave are lack of autonomy and voice, alongside issues of culture and discipline. Turnover is costly, shorting districts upwards of $2.2 billion a year, according to a report by the National Council of Teachers of English, the nation’s largest teacher organization. The report also found that teacher retention improves outcomes for students, and conversely, that teacher turnover can harm student achievement. The study was published in the Journal of Education, published by Simon & Schuster, a division of Penguin Random House, on November 14. For more, visit www.simonandschuster.com. For confidential support, call the National Suicide Prevention Lifeline at 1-800-273-8255 or visitxa0http://www.suicidepreventionlifeline.org/. For support in the U.S., call the Samaritans on 08457 90 90 90 or visit a local Samaritans branch, see www.samaritans.org for details. In the UK, contact the National College of Education on 0300 123 90 90, orxa0 visitxa0the Samaritansxa0in the UK. For help in the United States, callxa0thexa0National Suicide Prevention Line on 1xa0800xa0273xa08255,xa0orxa0inxa0the UK on 0800xa0123xa09255. For support on suicide matters in thexa0U.S. call thexa0Nationalxa0Collegexa0of Education,xa0Englandxa0on 08457xa090 90 90. For information on suicide prevention in the UK andxa0Europe, visit the Nationalxa0College of England and Wales. »}]
Ce texte généré a 1 420 caractères et maintient le flux logique!
La bête alimentant cette technique est un modèle de Facebook appelé BART.
Les auteurs de l’article le décrivent comme une forme généralisée de BERT.
Voyons comment cela fonctionne.
Fonctionnement de la génération de texte neuronal
Avez-vous passé des tests d’aptitude ou de QI où l’on vous présente une séquence de nombres et vous devez deviner le suivant?
Essentiellement, c’est ce que notre modèle a fait ci-dessus lorsque nous avons fourni un texte initial et demandé à nos modèles de prédire la suite.
PUBLICITÉ
CONTINUER À LIRE CI-DESSOUS
Il a transformé notre texte initial en une séquence de nombres, a deviné le nombre suivant et a pris la nouvelle séquence qui comprend le nombre deviné et a répété le même processus à nouveau.
Cela continue jusqu’à ce qu’il atteigne la limite de longueur que nous avons spécifiée.
Maintenant, ce ne sont pas seulement des nombres réguliers, mais des incorporations vectorielles et plus spécifiquement (dans le cas de BERT et BART) bidirectionnelles.
J’ai expliqué les vecteurs et l’intégration de mots bidirectionnels en utilisant une analogie GPS dans mes articles d’apprentissage en profondeur, partie 1 et partie 2. Veuillez les vérifier.
En résumé, les plongements codent des informations riches sur les mots qu’ils représentent, ce qui augmente considérablement la qualité des prédictions.
Voici donc un exemple de la façon dont cela fonctionne.
Étant donné le texte: «Le meilleur langage de programmation pour les SEO effectuant des tâches répétitives est ____ et pour les SEO effectuant des audits frontaux est ____», nous demandons au modèle de compléter la phrase.
La première étape consiste à convertir les mots en nombres / incorporations, où chaque incorporation identifie le mot dans son contexte.
PUBLICITÉ
CONTINUER À LIRE CI-DESSOUS
Ensuite, transformez cela en un casse-tête que l’ordinateur peut résoudre pour comprendre les nombres / intégrations qui peuvent remplir les blancs en fonction du contexte.
L’algorithme qui peut résoudre ces types de puzzles est appelé modèle de langage.
Un modèle de langue est similaire aux règles grammaticales en anglais ou dans toute autre langue.
Par exemple, si le texte est une question, il doit se terminer par un point d’interrogation.
La différence est que tous les mots et symboles sont représentés par des nombres / plongements.
Maintenant, là où cela devient intéressant, c’est que dans l’apprentissage en profondeur (ce que nous utilisons ici), vous n’avez pas besoin de créer manuellement une grande liste de règles de grammaire.
Le modèle apprend les règles empiriquement grâce à des essais et erreurs efficaces.
Cela se fait pendant ce qu’on appelle une phase de pré-formation où les modèles sont formés sur un corpus massif de données pendant plusieurs jours et en utilisant un matériel très puissant.
La meilleure partie pour nous est que les résultats de ces efforts sont mis à la disposition de tous.
PUBLICITÉ
CONTINUER À LIRE CI-DESSOUS
N’avons-nous pas vraiment de la chance?
BERT est un exemple de modèle de langage, tout comme GPT-2 et BART.
Comment l’utiliser pour de bon
Comme je l’ai mentionné ci-dessus, ce truc est vraiment puissant et pourrait être utilisé pour produire du contenu inutile à une échelle relativement bon marché.
Personnellement, je ne voudrais pas perdre de temps à patauger dans les ordures pendant que je cherche.
Au fil du temps, je me suis rendu compte que pour que le contenu fonctionne dans la recherche, il doit:
Soyez utile Satisfaire un besoin réel.
Si ce n’est pas le cas, qu’il s’agisse d’un ordinateur ou d’une production humaine, il n’obtiendra aucun engagement ou validation de la part des utilisateurs finaux.
Les chances de classement et de performance sont vraiment faibles.
C’est pourquoi je préfère des techniques comme le résumé et la traduction ou la question / réponse où vous avez un plus grand contrôle sur la génération.
PUBLICITÉ
CONTINUER À LIRE CI-DESSOUS
Ils peuvent vous aider à vous assurer que vous ajoutez une nouvelle valeur.
Projets communautaires et ressources d’apprentissage
J’ai essayé de garder cet article léger dans le code et les explications aussi simples que possible pour permettre à plus de personnes dans la communauté de se joindre au plaisir.
Mais, si vous êtes plus enclin à la technique, je pense que vous apprécierez cette explication plus granulaire et mathématique du sujet.
Assurez-vous de suivre également les liens dans la section « Lectures complémentaires » de l’article lié ci-dessus.
Maintenant, à quelques nouvelles passionnantes.
J’ai demandé à la communauté de partager les projets Python sur lesquels ils travaillent. J’en attendais peut-être une poignée, et j’ai été complètement époustouflé par le nombre de mes retours. #DONTWAIT 🐍🔥
Celui-ci est en Python et JS, mais je le mettrai quand même! Extension Chrome pour éliminer le spam sur Google Maps. Le code du serveur est en Python et traite de la validation et de la classification. pic.twitter.com/Rvzfr5ku4N
– zchtodd (@zchtodd) 8 juin 2020
PUBLICITÉ
CONTINUER À LIRE CI-DESSOUS
1. RPA en python pour automatiser la capture d’écran répétitive https://t.co/zyaafY0bcd
2. API de la console de recherche + NLP pour vérifier les pages où le mot dans le méta-titre ne correspond pas aux requêtes utilisées par les visiteurs: https://t.co/KsYGds7w1r
– Michael Van Den Reym (@vdrweb) 8 juin 2020
3. Vérifiez le code d’état de toutes les URL avec les impressions de la console de recherche à l’aide de l’API de la console de recherche https://t.co/qX0FxSoqgN
– Michael Van Den Reym (@vdrweb) 8 juin 2020
Salut Hamlet!
Je travaille sur un vérificateur de redirection avec des capacités de correspondance floue.
Il y aura un @GoogleColab ordinateur portable, mais idéalement, je voudrais également déployer dans @streamlit afin que les gens puissent évaluer la qualité de leurs redirections en 1 clic, par glisser-déposer.
Je partagerai bientôt 🙂
– Charly Wargnier (@DataChaz) 9 juin 2020
@hamletbatista https://t.co/oPt5M393Lu
A travaillé sur cette utilisation @streamlit
Écrivez des titres Meta plus convaincants.
Vidéo explicative: https://t.co/YvVoFMQ4FS
– Anubhav Bittoo Narula (@ anubhavn22) 9 juin 2020
Scrapear redes sociales y pasarlo por npl o Red neuronal para saber el sentimiento del escrito y de ahí sacar gráficas con datastudio o kibana (perdona que responda en español pero mi inglés es bastante mejorable)
– JaviLázaro (@JaviLazaroSEO) 8 juin 2020
PUBLICITÉ
CONTINUER À LIRE CI-DESSOUS
1. Lire les fichiers journaux et publier 5xx / 4xx en temps réel pour se détendre!
2. Intention du mot clé vs score de correspondance d’URL.
– Vénus Kalra (@venuskalra) 9 juin 2020
https://t.co/9we85HXJgJ
– Marat Gaziev (@MaratGaziev) 9 juin 2020
Je construis un package pour #SEO‘s & marketing en ligne, contenant entre autres:
– Crawler
– Testeur robots.txt
– Vérificateur SERP
– Convertisseur Sitemap en DataFrame
– Convertisseur URL vers DataFrame
et plus 🙂 https://t.co/BMVeeQaTxE
– Elias Dabbas (@eliasdabbas) 9 juin 2020
Une analyse de contenu avec Beautiful Soup + l’API Knowledge box + l’API Cloud Entity! 🐍🐍🐍
– Jess mais à 6 pieds de distance (@jessthebp) 8 juin 2020
Davantage de ressources:
Crédits d’image
Toutes les captures d’écran prises par l’auteur, juin 2020