Sitemap

Indholdsgenereringsteknologien og -teknikkerne, jeg vil demonstrere i denne klumme, ser ud til at være ude af en science fiction-roman, men de er virkelige og frit tilgængelige nu.

Efter at jeg havde afsluttet kodningseksperimenterne og begyndte at skrive dette stykke, overvejede jeg de positive og negative konsekvenser af at dele denne information offentligt.

Som du vil se, er det relativt nemt nu at producere maskingenereret indhold, og kvaliteten af ​​generationerne forbedres hurtigt.

Dette førte mig til den triste konklusion, at vi ville se langt flere spam-resultater end før.

Heldigvis har Google for nylig udgivet sin spamrapport for 2019, der fik mig til at slappe af.

Har du nogensinde kigget på din e-mail-spammappe?Sådan kan søgeresultater se ud uden de trin, vi tager for at bekæmpe søgespam.Vores indlæg i dag ser på, hvordan vi arbejder for at holde spam ude af Googles søgeresultater https://t.co/RA4lUoDXEF

— Google SearchLiaison (@searchliaison) 9. juni 2020

"Sidste år observerede vi, at mere end 25 milliarder af de sider, vi finder hver dag, er spam. (Hvis hver af disse sider var en side i en bog, ville det være mere end 20 millioner eksemplarer af "War & Peace" hver dag!)

Vores indsats har været med til at sikre, at mere end 99 % af besøgene fra vores resultater fører til spam-fri oplevelser.

I de sidste par år har vi observeret en stigning i spamwebsteder med autogenereret og skrabet indhold med adfærd, der irriterer eller skader søgere, såsom falske knapper, overvældende annoncer, mistænkelige omdirigeringer og malware.Disse websteder er ofte vildledende og giver ingen reel værdi for folk.I 2019 var vi i stand til at reducere indvirkningen på søgebrugere fra denne type spam med mere end 60 % sammenlignet med 2018."

Mens Google rapporterer et svimlende antal spamsider om dagen, rapporterer de en imponerende succesrate på 99 % i at undertrykke spam overalt.

Endnu vigtigere, de har gjort utrolige fremskridt med at undertrykke maskingenereret spamindhold.

I denne kolonne vil jeg forklare med kode, hvordan en computer er i stand til at generere indhold ved hjælp af de seneste fremskridt i NLG.

Jeg vil gennemgå teorien og nogle retningslinjer for at holde dit indhold nyttigt.

Dette vil hjælpe dig med at undgå at blive fanget med al den webspam Google og Bing arbejder døgnet rundt for at slippe af med.

Tynde indholdssider

I min artikel om generering af titel og metabeskrivelse delte jeg en effektiv teknik, der er afhængig af at opsummere sideindhold for at producere metatags.

Når du følger trinene, kan du se, at det fungerer rigtig godt og endda kan producere nye tekster af høj kvalitet.

Men hvad nu hvis siderne ikke indeholder noget indhold at opsummere?Teknikken fejler.

Lad mig fortælle dig et meget smart trick til at løse dette.

Hvis sådanne sider har kvalitetsbacklinks, kan du bruge ankerteksten og teksten omkring backlinket som teksten til at opsummere.

Vente!

Men hvorfor?

Lad mig tage helt tilbage til 1998, til grundlæggelsen af ​​Google-søgemaskinen.

I papiret, der beskriver deres nye søgemaskine, delte Page og Brin en meget interessant indsigt i afsnit 2.2.

"De fleste søgemaskiner forbinder teksten i et link med den side, som linket er på. Derudover forbinder vi det med den side, linket peger på. Dette har flere fordele. For det første giver ankre ofte mere præcise beskrivelser af websider end selve siderne. For det andet kan der eksistere ankre for dokumenter, som ikke kan indekseres af en tekstbaseret søgemaskine, såsom billeder, programmer og databaser. Dette gør det muligt at returnere websider, som faktisk ikke er blevet crawlet."

Her er den tekniske plan:

  1. Vi vil få backlinks og tilsvarende ankertekster ved hjælp af de nye Bing Webmaster Tools.
  2. Vi vil skrabe den omgivende tekst fra backlinks af højeste kvalitet.
  3. Vi vil skabe resuméer og indhold i lang form ved hjælp af den skrabet tekst.

En funktion, jeg kan lide i det nye backlinks-værktøj i BWT, er, at det kan give links, der ikke kun peger på dit eget websted, men også nogle andre websteder.

Jeg forventer, at dette bliver et populært gratis alternativ til de betalte værktøjer.

Jeg eksporterede CSV-filen med den store liste over links og ankre, men da jeg prøvede at indlæse den ved hjælp af Python-pandaer og fandt en række formateringsproblemer.

Tilfældige ankertekster kan indeholde kommaer og forårsage problemer med en kommasepareret fil.

Jeg løste dem ved at åbne filen i Excel og gemme den i Excel-format.

Skrabning af omgivende tekst med Python

Som du kan se i mit skærmbillede ovenfor, er mange af ankerteksterne ret korte.

Vi kan skrabe siderne for at få det afsnit, der indeholder dem.

Lad os først indlæse rapporten, vi eksporterede fra BWT.

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

Jeg har gennemgået mål-URL'en efter antallet af indgående links, der bruger.

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

Jeg trak backlinkene fra en af ​​siderne for at evaluere ideen ved hjælp af denne kode.

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

Lad os nu se, hvordan vi kan bruge en mål-URL og et backlink til at trække den relevante ankertekst, der inkluderer ankeret.

Lad os først installere requests-html.

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

For at holde koden enkel, vil jeg manuelt producere en CSS-vælger for at få fat i teksten omkring linket.

Det er ikke svært at beregne dette givet linket og ankeret på siden ved hjælp af JavaScript eller Python-kode.

Måske er det en god idé for dig at prøve som hjemmearbejde.

Åbn et eksempel på en backlink-side, og ved hjælp af Chrome Developer Tools kan du højreklikke på afsnittet af interesse og kopiere en CSS-vælger.

Det er den vælger jeg brugte.

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

Dette er teksten, der kom tilbage.Jeg har fed teksten i vores eksempelankertekst.

Vi ved, at fastholdelse af lærere forbedrer resultaterne for eleverne, og omvendt, at lærerudskiftning kan skade elevernes præstationer.Omkring 16 procent af pædagogerne forlader feltet hvert år, og vi ved, at mange lærere, ligesom jeg, går inden for de første fem år.Lærere rapporterer, at de største årsager til, at de forlader dem, er mangel på autonomi og stemme, sammen med spørgsmål om kultur og især disciplin.Hvad mere er, er omsætningen dyr - kortslutning distrikter op mod 2,2 milliarder dollars om året.

Lad os nu komme til den sjove del!

Generering af neural tekst

Vi kommer til at bruge den samme opsummeringskode, som vi brugte til at generere titler og metabeskrivelser i min tidligere artikel, men med et twist.

I stedet for at angive en ønskelig opsummeringslængde, der er kortere end det oprindelige afsnit, vil vi angive en længere længde.Vil det virke?Lad os se!

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

Jeg får denne interessante advarsel.

Din max_length er indstillet til 250, men din input_length er kun 99.Du kan overveje at reducere max_length manuelt, f.eks. summarizer('...', max_length=50)

Lad os se den genererede tekst.

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

Den originale tekst havde 492 tegn og den genererede tekst 835.

Men se på kvaliteten og de nye sætninger, der dukker op i den genererede tekst.Absolut, åndssvagt!

Kan denne teknik generere endnu længere tekst?Ja!

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."}]

Denne genererede tekst har 1.420 tegn og opretholder det logiske flow!

Dyret, der driver denne teknik, er en model fra Facebook kaldet BART.

Forfatterne af papiret beskriver det som en generaliseret form for BERT.

Lad os se, hvordan dette virker.

Hvordan neural tekstgenerering fungerer

Har du taget egnetheds- eller IQ-test, hvor du bliver præsenteret for en række tal, og du skal gætte den næste?

I bund og grund er det, hvad vores model gjorde ovenfor, da vi leverede en indledende tekst og bad vores modeller om at forudsige, hvad der sker derefter.

Den forvandlede vores indledende tekst til en sekvens af tal, gættede det næste tal og tog den nye sekvens, der inkluderer det gættede tal, og gentog den samme proces igen.

Dette fortsætter, indtil det når den længdegrænse, vi har angivet.

Nu er disse ikke bare regulære tal, men vektor og mere specifikt (i tilfælde af BERT og BART) tovejs ordindlejringer.

Jeg forklarede vektorer og tovejs-ordindlejring ved hjælp af en GPS-analogi i mine deep learning-artikler del 1 og del 2.Sørg for at tjekke dem ud.

Sammenfattende koder indlejringer rig information om de ord, de repræsenterer, hvilket dramatisk øger kvaliteten af ​​forudsigelserne.

Så her er et eksempel på, hvordan dette fungerer.

I lyset af teksten: "Det bedste programmeringssprog for SEO'er, der laver gentagne opgaver, er ____ og for SEO'er, der laver front-end audits, er ____", beder vi modellen om at fuldføre sætningen.

Det første skridt er at konvertere ordene til tal/indlejringer, hvor hver indlejring identificerer ordet i kontekst.

Gør derefter dette til et puslespil, som computeren kan løse for at finde ud af de tal/indlejringer, der kan udfylde de tomme felter givet konteksten.

Algoritmen, der kan løse disse typer gåder, kaldes en sprogmodel.

En sprogmodel ligner de grammatiske regler på engelsk eller et hvilket som helst andet sprog.

Hvis teksten for eksempel er et spørgsmål, skal den slutte med et spørgsmålstegn.

Forskellen er, at alle ord og symboler er repræsenteret af tal/indlejringer.

Nu, hvor det bliver interessant, er, at i deep learning (det vi bruger her), behøver du ikke manuelt at oprette en stor liste over grammatikregler.

Modellen lærer reglerne empirisk gennem effektiv trial and error.

Dette gøres i det, der kaldes en fortræningsfase, hvor modellerne trænes over et massivt korpus af data i flere dage og ved hjælp af meget kraftfuld hardware.

Det bedste for os er, at resultaterne af disse bestræbelser er gjort gratis for enhver at bruge.

Er vi ikke rigtig heldige?

BERT er et eksempel på en sprogmodel og det samme er GPT-2 og BART.

Sådan bruger du dette til gode

Som jeg nævnte ovenfor, er disse ting virkelig kraftfulde og kan bruges til at churne ubrugeligt indhold i skala relativt billigt.

Jeg ville personligt ikke spilde tid på at vade gennem affaldet, mens jeg søger.

Med tiden er jeg kommet til at indse, at for at indhold kan fungere i søgninger, skal det:

  • Vær nyttig.
  • Opfylde et reelt behov.

Hvis det ikke gør det, uanset om det er computer- eller menneskeproduceret, vil det ikke få noget engagement eller validering fra slutbrugerne.

Chancerne for at rangere og præstere er virkelig lave.

Det er derfor, jeg foretrækker teknikker som opsummering og oversættelse eller spørgsmål/svar, hvor du har større kontrol over generationen.

De kan hjælpe dig med at sikre, at du tilføjer ny værdi.

Fællesskabsprojekter og læringsressourcer

Jeg forsøgte at holde denne artikel let i kode og forklaringerne så enkle som muligt for at give flere mennesker i fællesskabet mulighed for at deltage i det sjove.

Men hvis du er mere teknisk tilbøjelig, tror jeg, du vil nyde denne mere detaljerede og matematiske forklaring af emnet.

Sørg også for at følge linkene i afsnittet "Yderligere læsning" i den linkede artikel ovenfor.

Nu til nogle spændende nyheder.

Jeg bad fællesskabet om at dele de Python-projekter, de arbejder på.Jeg ventede måske en håndfuld, og jeg var fuldstændig imponeret over, hvor mange jeg fik tilbage. #VENT ikke 🐍🔥

Den her er Python og JS, men jeg vil lægge den derude alligevel!Chrome-udvidelse til at sprænge spam på Google Maps.Serverkoden er i Python og udfører adressevalidering og klassificering. pic.twitter.com/Rvzfr5ku4N

— zchtodd (@zchtodd) 8. juni 2020

1.RPA i python for at automatisere gentagne skærmbilleder https://t.co/zyaafY0bcd
2.Søg i konsol API + NLP for at se efter sider, hvor ordet i metatitlen ikke matcher de forespørgsler, der bruges af besøgende: https://t.co/KsYGds7w1r

— Michael Van Den Reym (@vdrweb) 8. juni 2020

3.Tjek statuskoden for alle webadresser med søgekonsolvisninger ved hjælp af søgekonsollens API https://t.co/qX0FxSoqgN

— Michael Van Den Reym (@vdrweb) 8. juni 2020

Hej Hamlet!

Jeg arbejder på en omdirigeringskontrol med fuzzy-matching-funktioner.

Der vil være en @GoogleColab notesbog, men ideelt set vil jeg også gerne implementere i @streamlit, så folk kan vurdere kvaliteten af ​​deres omdirigeringer med 1 klik via træk og slip.

Jeg deler snart 🙂

— Charly Wargnier (@DataChaz) 9. juni 2020

@hamletbatista https://t.co/oPt5M393Lu
Arbejdede på dette ved hjælp af @streamlit
Skriv mere overbevisende metatitler.
Forklaringsvideo: https://t.co/YvVoFMQ4FS

— Anubhav Bittoo Narula (@anubhavn22) 9. juni 2020

Scrapear redes sociales y pasarlo por npl o Red neuronal para sabre 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. juni 2020

1.Læsning af logfilerne og udstationering af 5xx/4xx på realtidsbasis for at slappe af!
2.Søgeordshensigt vs URL-matchresultat.

— Venus Kalra (@venuskalra) 9. juni 2020

https://t.co/9we85HXJgJ

— Marat Gaziev (@MaratGaziev) 9. juni 2020

Jeg er ved at bygge en pakke til #SEO'er og online marketingfolk, der blandt andet indeholder:
– Crawler
– robots.txt tester
– SERP-tjek
– Sitemap til DataFrame konverter
– URL til DataFrame-konverter

og mere 🙂 https://t.co/BMVeeQaTxE

— Elias Dabbas (@eliasdabbas) 9. juni 2020

Noget indholdsanalyse med Beautiful Soup + Knowledge Box API + Cloud Entity API!🐍🐍🐍

— Jess men 6 fod væk (@jessthebp) 8. juni 2020

Flere ressourcer:


Billedkreditter

Alle skærmbilleder taget af forfatter, juni 2020

Alle kategorier: Blog