Sitemap

Tehnologia și tehnicile de generare de conținut pe care le voi demonstra în această rubrică ar părea dintr-un roman științifico-fantastic, dar sunt reale și liber accesibile acum.

După ce am finalizat experimentele de codificare și am început să scriu această piesă, m-am gândit la implicațiile pozitive și negative ale împărtășirii publice a acestor informații.

După cum veți vedea, acum este relativ ușor să produceți conținut generat de mașini, iar calitatea generațiilor se îmbunătățește rapid.

Acest lucru m-a condus la concluzia tristă că vom vedea mult mai multe rezultate de tip spam decât înainte.

Din fericire, Google a lansat recent raportul de spam din 2019 care m-a liniștit.

Te-ai uitat vreodată la dosarul tău de spam de e-mail?Așa ar putea arăta rezultatele căutării fără pașii pe care îi luăm pentru a combate spamul de căutare.Postarea noastră de astăzi analizează modul în care lucrăm pentru a împiedica spamul în rezultatele căutării Google https://t.co/RA4lUoDXEF

— Google SearchLiaison (@searchliaison) 9 iunie 2020

„Anul trecut, am observat că peste 25 de miliarde de pagini pe care le găsim în fiecare zi sunt spam. (Dacă fiecare dintre acele pagini ar fi o pagină dintr-o carte, ar fi peste 20 de milioane de exemplare din „Război și pace” în fiecare zi!)

Eforturile noastre ne-au ajutat să ne asigurăm că peste 99% din vizitele din rezultatele noastre duc la experiențe fără spam.

În ultimii câțiva ani, am observat o creștere a site-urilor spam cu conținut generat automat și răzuit cu comportamente care deranjează sau dăunează utilizatorilor, cum ar fi butoane false, anunțuri copleșitoare, redirecționări suspecte și programe malware.Aceste site-uri web sunt adesea înșelătoare și nu oferă o valoare reală oamenilor.În 2019, am reușit să reducem cu peste 60% impactul asupra utilizatorilor de căutare al acestui tip de spam, comparativ cu 2018.”

În timp ce Google raportează un număr uluitor de pagini de spam pe zi, ei raportează o rată de succes impresionantă de 99% în suprimarea spamului în general.

Mai important, au făcut progrese incredibile în suprimarea conținutului spam generat de mașini.

În această coloană, voi explica cu cod modul în care un computer este capabil să genereze conținut folosind cele mai recente progrese în NLG.

Voi trece peste teorie și câteva linii directoare pentru a vă păstra conținutul util.

Acest lucru vă va ajuta să evitați să fiți prins cu tot spamul web de care Google și Bing lucrează non-stop pentru a scăpa.

Pagini subțiri de conținut

În articolul meu despre generarea de titluri și meta descrieri, am împărtășit o tehnică eficientă care se bazează pe rezumarea conținutului paginii pentru a produce metaetichete.

Odată ce urmați pașii, puteți vedea că funcționează foarte bine și poate chiar produce texte noi de înaltă calitate.

Dar, ce se întâmplă dacă paginile nu includ niciun conținut de rezumat?Tehnica eșuează.

Permiteți-mi să vă spun un truc foarte inteligent pentru a rezolva asta.

Dacă astfel de pagini au backlink de calitate, puteți utiliza textul ancora și textul din jurul backlink-ului ca text pentru a rezuma.

Aștepta!

Dar de ce?

Permiteți-mi să mă întorc până în 1998, până la înființarea motorului de căutare Google.

În lucrarea care descrie noul lor motor de căutare, Page și Brin au împărtășit o perspectivă foarte interesantă în secțiunea 2.2.

„Majoritatea motoarelor de căutare asociază textul unui link cu pagina pe care se află linkul. În plus, îl asociem cu pagina către care indică linkul. Acest lucru are mai multe avantaje. În primul rând, ancorele oferă adesea descrieri mai precise ale paginilor web decât paginile în sine. În al doilea rând, pot exista ancore pentru documente care nu pot fi indexate de un motor de căutare bazat pe text, cum ar fi imagini, programe și baze de date. Acest lucru face posibilă returnarea paginilor web care nu au fost de fapt accesate cu crawlere.”

Iată planul tehnic:

  1. Vom obține backlink-uri și textele de ancorare corespunzătoare folosind noile Instrumente pentru webmasteri Bing.
  2. Vom răzui textul din jur din backlink-uri de cea mai înaltă calitate.
  3. Vom crea rezumate și conținut lung folosind textul răzuit.

Raport privind backlinkurile Bing Webmaster Tools

O caracteristică care îmi place în noul instrument de backlink din BWT este că poate oferi link-uri nu doar către propriul site, ci și către alte site-uri.

Mă aștept ca aceasta să devină o alternativă populară gratuită la instrumentele plătite.

Am exportat fișierul CSV cu lista mare de link-uri și ancore, dar când am încercat să-l încarc folosind Python panda și am găsit o serie de probleme de formatare.

Textele de ancorare aleatorii pot include virgule și pot cauza probleme cu un fișier delimitat prin virgulă.

Le-am rezolvat deschizând fișierul în Excel și salvându-l în format Excel.

Razuirea textului din jur cu Python

După cum puteți vedea în captura de ecran de mai sus, multe dintre textele de ancorare sunt destul de scurte.

Putem răzui paginile pentru a obține paragraful care le conține.

Mai întâi, să încărcăm raportul pe care l-am exportat din BWT.

import pandas as pddf = pd.read_excel("www.domain.com_ReferringPages_6_7_2020.xlsx")df.head()

Am examinat URL-ul țintă după numărul de link-uri de intrare utilizate.

df.groupby("Target Url").count().tail()

Am extras backlink-urile de pe una dintre pagini pentru a evalua ideea folosind acest cod.

backlinks = set(df[df["Target Url"] == "https://domain.com/example-page"]["Source Url"])

Acum, să vedem cum putem folosi o adresă URL țintă și un backlink pentru a trage textul de ancorare relevant care include ancora.

Mai întâi, să instalăm requests-html.

!pip install requests-htmlfrom requests_html import HTMLSessionsession = HTMLSession()

Pentru a păstra codul simplu, voi produce manual un selector CSS pentru a prelua textul din jurul linkului.

Nu este dificil de calculat acest lucru având în vedere linkul și ancorarea pe pagină folosind codul JavaScript sau Python.

Poate că este o idee bună să încerci ca temă pentru acasă.

Deschideți un exemplu de pagină de backlink și, folosind Instrumentele pentru dezvoltatori Chrome, puteți face clic dreapta pe paragraful de interes și puteți copia un selector CSS.

Acesta este selectorul pe care l-am folosit.

with session.get(url) as r:    selector="#entry-78782 > div.asset-content.entry-content > div > p:nth-child(5)"    paragraph = r.html.find(selector, first=True)    text = paragraph.text

Acesta este textul care a revenit.Am îngroșat textul exemplului nostru de ancorare.

Știm că reținerea profesorilor îmbunătățește rezultatele pentru elevi și, dimpotrivă, că fluctuația profesorilor poate dăuna rezultatelor elevilor.Aproximativ 16 la sută dintre educatori părăsesc domeniul în fiecare an și știm că mulți profesori, ca mine, pleacă în primii cinci ani.Profesorii raportează că cele mai mari motive pentru care pleacă sunt lipsa de autonomie și de voce, alături de problemele de cultură și, în special, de disciplină.În plus, cifra de afaceri este costisitoare - scurtând districtele cu peste 2,2 miliarde de dolari pe an.

Acum, să trecem la partea distractivă!

Generarea textului neuronal

Vom folosi același cod de rezumat pe care l-am folosit pentru a genera titluri și meta descrieri în articolul meu anterior, dar cu o întorsătură.

În loc să specificăm o lungime de rezumat de dorit mai mică decât paragraful inițial, vom specifica o lungime mai mare.Va funcționa asta?Să vedem!

!pip install transformersfrom transformers import pipelinesummarizer = pipeline('summarization')generated_text = summarizer(text, min_length=150, max_length=250)print(generated_text)

Primesc acest avertisment interesant.

Max_length-ul dvs. este setat la 250, dar dvs. input_length este doar 99.Ați putea lua în considerare scăderea max_length manual, de ex. rezumator(‘…’, lungime_max.=50)

Să vedem textul generat.

[{'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/."}]

Textul original avea 492 de caractere, iar textul generat 835.

Dar, uită-te la calitatea și propozițiile inedite care apar în textul generat.Absolut, uimitor!

Poate această tehnică să genereze text și mai lung?Da!

generated_text = summarizer(text, min_length=300, max_length=600)print(generated_text)[{'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."}]

Acest text generat are 1.420 de caractere și menține fluxul logic!

Bestia care alimentează această tehnică este un model de la Facebook numit BART.

Autorii lucrării o descriu ca pe o formă generalizată a BERT.

Să vedem cum funcționează.

Cum funcționează Neural Text Generation

Ați susținut teste de aptitudini sau IQ în care vi se prezintă o succesiune de numere și trebuie să ghiciți pe următoarea?

În esență, asta a făcut modelul nostru de mai sus când am furnizat un text inițial și am cerut modelelor noastre să prezică ce urmează.

A transformat textul nostru inițial într-o succesiune de numere, a ghicit următorul număr și a luat noua secvență care include numărul ghicit și a repetat același proces din nou.

Aceasta continuă până când atinge limita de lungime specificată de noi.

Acum, acestea nu sunt doar numere obișnuite, ci sunt vectori și mai precis (în cazul BERT și BART) înglobări de cuvinte bidirecționale.

Am explicat vectorii și încorporarea de cuvinte bidirecționale folosind o analogie GPS în articolele mele de deep learning partea 1 și partea 2.Asigurați-vă că le verificați.

În rezumat, înglobările codifică informații bogate despre cuvintele pe care le reprezintă, ceea ce crește dramatic calitatea predicțiilor.

Deci, iată un exemplu despre cum funcționează acest lucru.

Având în vedere textul: „Cel mai bun limbaj de programare pentru SEO care fac sarcini repetitive este ____ iar pentru SEO care efectuează audituri front-end este ____”, îi cerem modelului să completeze propoziția.

Primul pas este de a converti cuvintele în numere/înglobare, unde fiecare încorporare identifică cuvântul în context.

Apoi, transformați-l într-un puzzle pe care computerul îl poate rezolva pentru a afla numerele/înglobarile care pot completa spațiile libere, având în vedere contextul.

Algoritmul care poate rezolva aceste tipuri de puzzle-uri se numește model de limbaj.

Un model de limbă este similar cu regulile gramaticale din engleză sau din orice altă limbă.

De exemplu, dacă textul este o întrebare, trebuie să se încheie cu un semn de întrebare.

Diferența este că toate cuvintele și simbolurile sunt reprezentate prin numere/înglobări.

Acum, unde devine interesant este că în învățarea profundă (ceea ce folosim aici), nu trebuie să creați manual o listă mare de reguli gramaticale.

Modelul învață regulile în mod empiric prin încercări și erori eficiente.

Acest lucru se face în timpul a ceea ce se numește o etapă de pre-instruire în care modelele sunt antrenate pe un corp masiv de date timp de câteva zile și folosind hardware foarte puternic.

Cea mai bună parte pentru noi este că rezultatele acestor eforturi sunt oferite gratuit de oricine.

Nu suntem cu adevărat norocoși?

BERT este un exemplu de model de limbaj, la fel și GPT-2 și BART.

Cum să folosiți asta pentru bine

După cum am menționat mai sus, aceste lucruri sunt cu adevărat puternice și ar putea fi folosite pentru a produce conținut inutil la scară relativ ieftin.

Eu personal nu aș vrea să pierd timpul trecând prin gunoi în timp ce caut.

De-a lungul timpului, mi-am dat seama că, pentru ca conținutul să funcționeze în căutare, trebuie să:

  • Fii util.
  • Satisface o nevoie reală.

Dacă nu, indiferent dacă este produs de computer sau de om, nu va primi nicio implicare sau validare din partea utilizatorilor finali.

Șansele de clasare și performanță sunt foarte mici.

Acesta este motivul pentru care prefer tehnici precum rezumarea și traducerea sau întrebarea/răspunsul în care aveți un control mai mare asupra generației.

Ele vă pot ajuta să vă asigurați că adăugați valoare nouă.

Proiecte comunitare și resurse de învățare

Am încercat să păstrez acest articol ușor în cod și explicațiile cât mai simple posibil pentru a permite mai multor oameni din comunitate să se alăture distracției.

Dar, dacă ești mai înclinat din punct de vedere tehnic, cred că te vei bucura de această explicație mai granulară și mai matematică a subiectului.

Asigurați-vă că urmați, de asemenea, linkurile din „Secțiunea de citire suplimentară” din articolul legat de mai sus.

Acum, la câteva vești interesante.

Am cerut comunității să împărtășească proiectele Python la care lucrează.Mă așteptam la o mână și am fost complet uimit de câți am primit înapoi. #NU ASTEPT 🐍🔥

Acesta este Python și JS, dar îl voi pune acolo oricum!Extensie Chrome pentru eliminarea spam-ului pe Google Maps.Codul serverului este în Python și face validarea și clasificarea adreselor. pic.twitter.com/Rvzfr5ku4N

— zchtodd (@zchtodd) 8 iunie 2020

1.RPA în python pentru a automatiza capturile de ecran repetitive https://t.co/zyaafY0bcd
2.Căutare API + NLP în consola pentru a verifica paginile în care cuvântul din meta titlu nu se potrivește cu interogările folosite de vizitatori: https://t.co/KsYGds7w1r

– Michael Van Den Reym (@vdrweb) 8 iunie 2020

3.Verificați codul de stare al tuturor adreselor URL cu afișări în consola de căutare folosind API-ul pentru consola de căutare https://t.co/qX0FxSoqgN

– Michael Van Den Reym (@vdrweb) 8 iunie 2020

Bună Hamlet!

Lucrez la un verificator de redirecționare cu capabilități de potrivire neclară.

Va exista un blocnotes @GoogleColab, dar în mod ideal aș vrea să îl implementez și în @streamlit, astfel încât oamenii să poată evalua calitatea redirecționărilor lor cu un singur clic, prin glisare și plasare.

Voi împărtăși în curând 🙂

– Charly Wargnier (@DataChaz) 9 iunie 2020

@hamletbatista https://t.co/oPt5M393Lu
Am lucrat la asta folosind @streamlit
Scrieți meta-titluri mai convingătoare.
Video explicativ: https://t.co/YvVoFMQ4FS

– Anubhav Bittoo Narula (@anubhavn22) 9 iunie 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 is bastante mejorable)

— JaviLázaro (@JaviLazaroSEO) 8 iunie 2020

1.Citirea fișierelor jurnal și postarea 5xx/4xx în timp real pentru a pierde!
2.Intenția cuvintelor cheie vs Scorul de potrivire a adresei URL.

— Venus Kalra (@venuskalra) 9 iunie 2020

https://t.co/9we85HXJgJ

— Marat Gaziev (@MaratGaziev) 9 iunie 2020

Construiesc un pachet pentru #SEO și marketeri online, care conține printre altele:
– Crawler
– tester robots.txt
– Verificator SERP
– Convertor Sitemap în DataFrame
– Convertor URL în DataFrame

și multe altele 🙂 https://t.co/BMVeeQaTxE

– Elias Dabbas (@eliasdabbas) 9 iunie 2020

Câteva analize de conținut cu Beautiful Soup + API-ul Knowledge box + API-ul Cloud Entity!🐍🐍🐍

— Jess, dar la 6 metri distanță (@jessthebp) 8 iunie 2020

Mai multe resurse:


Credite de imagine

Toate capturile de ecran realizate de autor, iunie 2020

Toate categoriile: Blog