Sitemap

A tecnologia e as técnicas de geração de conteúdo que vou demonstrar nesta coluna parecem ter saído de um romance de ficção científica, mas agora são reais e acessíveis gratuitamente.

Depois de concluir os experimentos de codificação e começar a escrever este artigo, ponderei as implicações positivas e negativas de compartilhar essas informações publicamente.

Como você verá, é relativamente fácil agora produzir conteúdo gerado por máquina e a qualidade das gerações está melhorando rapidamente.

Isso me levou à triste conclusão de que veríamos muito mais resultados de spam do que antes.

Felizmente, o Google lançou recentemente seu relatório de spam de 2019 que me deixou à vontade.

Já olhou para sua pasta de spam de e-mail?É assim que os resultados de pesquisa podem parecer sem as etapas que tomamos para combater o spam de pesquisa.Nossa postagem de hoje analisa como trabalhamos para manter o spam fora dos resultados de pesquisa do Google https://t.co/RA4lUoDXEF

— Google SearchLiaison (@searchliaison) 9 de junho de 2020

“No ano passado, observamos que mais de 25 bilhões das páginas que encontramos todos os dias são spam. (Se cada uma dessas páginas fosse uma página de um livro, seriam mais de 20 milhões de cópias de “Guerra e Paz” por dia!)

Nossos esforços ajudaram a garantir que mais de 99% das visitas de nossos resultados levassem a experiências sem spam.

Nos últimos anos, observamos um aumento de sites com spam com conteúdo gerado automaticamente e raspado com comportamentos que incomodam ou prejudicam os pesquisadores, como botões falsos, anúncios sobrecarregados, redirecionamentos suspeitos e malware.Esses sites geralmente são enganosos e não oferecem valor real para as pessoas.Em 2019, conseguimos reduzir o impacto desse tipo de spam nos usuários da Pesquisa em mais de 60% em relação a 2018.”

Embora o Google relate um número impressionante de páginas de spam por dia, eles relatam uma impressionante taxa de sucesso de 99% na supressão de spam em geral.

Mais importante, eles têm feito um progresso incrível na supressão de conteúdo de spam gerado por máquina.

Nesta coluna, vou explicar com código como um computador é capaz de gerar conteúdo usando os últimos avanços em NLG.

Vou repassar a teoria e algumas diretrizes para manter seu conteúdo útil.

Isso ajudará você a evitar ser pego com todo o spam da web que o Google e o Bing estão trabalhando dia e noite para se livrar.

Páginas de conteúdo fino

Em meu artigo sobre geração de títulos e meta descrição, compartilhei uma técnica eficaz que se baseia em resumir o conteúdo da página para produzir meta tags.

Depois de seguir os passos, você pode ver que funciona muito bem e pode até produzir textos novos e de alta qualidade.

Mas, e se as páginas não incluírem nenhum conteúdo para resumir?A técnica falha.

Deixe-me dizer-lhe um truque muito inteligente para resolver isso.

Se essas páginas tiverem backlinks de qualidade, você poderá usar o texto âncora e o texto ao redor do backlink como texto para resumir.

Esperar!

Mas por que?

Deixe-me voltar até 1998, até a fundação do mecanismo de busca do Google.

No artigo que descreve seu novo mecanismo de busca, Page e Brin compartilharam uma visão muito interessante na seção 2.2.

“A maioria dos mecanismos de pesquisa associa o texto de um link à página em que o link está. Além disso, o associamos à página para a qual o link aponta. Isso tem várias vantagens. Primeiro, as âncoras geralmente fornecem descrições mais precisas das páginas da Web do que as próprias páginas. Em segundo lugar, podem existir âncoras para documentos que não podem ser indexados por um mecanismo de pesquisa baseado em texto, como imagens, programas e bancos de dados. Isso torna possível retornar páginas da web que não foram realmente rastreadas.”

Segue o plano técnico:

  1. Receberemos backlinks e textos âncora correspondentes usando as novas Ferramentas do Bing para webmasters.
  2. Vamos raspar o texto ao redor dos backlinks da mais alta qualidade.
  3. Criaremos resumos e conteúdo de formato longo usando o texto raspado.

Um recurso que gosto na nova ferramenta de backlinks do BWT é que ela pode fornecer links não apenas apontando para seu próprio site, mas também para outros sites.

Espero que isso se torne uma alternativa gratuita popular para as ferramentas pagas.

Exportei o arquivo CSV com a grande lista de links e âncoras, mas quando tentei carregá-lo usando o Python pandas e encontrei vários problemas de formatação.

Textos âncora aleatórios podem incluir vírgulas e causar problemas com um arquivo delimitado por vírgulas.

Eu os resolvi abrindo o arquivo no Excel e salvando-o no formato Excel.

Raspagem de texto ao redor com Python

Como você pode ver na minha captura de tela acima, muitos dos textos âncora são bem curtos.

Podemos raspar as páginas para obter o parágrafo que as contém.

Primeiro, vamos carregar o relatório que exportamos do BWT.

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

Eu revisei o URL de destino pelo número de links de entrada usando.

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

Eu puxei os backlinks de uma das páginas para avaliar a ideia usando este código.

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

Agora, vamos ver como podemos usar um URL de destino e um backlink para puxar o texto âncora relevante que inclui a âncora.

Primeiro, vamos instalar requests-html.

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

Para manter o código simples, vou produzir manualmente um seletor CSS para pegar o texto ao redor do link.

Não é difícil calcular isso dado o link e a âncora na página usando código JavaScript ou Python.

Talvez seja uma boa ideia para você tentar como lição de casa.

Abra uma página de backlink de exemplo e, usando as Ferramentas do desenvolvedor do Chrome, clique com o botão direito do mouse no parágrafo de interesse e copie um seletor de CSS.

Este é o seletor que usei.

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

Este é o texto que voltou.Coloquei em negrito o texto do nosso texto âncora de exemplo.

Sabemos que a retenção de professores melhora os resultados dos alunos e, inversamente, que a rotatividade de professores pode prejudicar o desempenho dos alunos.Cerca de 16% dos educadores deixam o campo todos os anos, e sabemos que muitos professores, como eu, saem nos primeiros cinco anos.Os professores relatam que os maiores motivos de saída são a falta de autonomia e voz, além de questões de cultura e, em particular, disciplina.Além disso, a rotatividade é cara – encurtando os distritos em mais de US$ 2,2 bilhões por ano.

Agora, vamos para a parte divertida!

Geração de Texto Neural

Vamos usar o mesmo código de sumarização que usamos para gerar títulos e meta descrições no meu artigo anterior, mas com uma diferença.

Em vez de especificar um comprimento de resumo desejável menor que o parágrafo original, especificaremos um comprimento maior.Isso funcionará?Vamos ver!

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

Recebo este aviso interessante.

Seu max_length está definido como 250, mas seu input_length é apenas 99.Você pode considerar diminuir max_length manualmente, por exemplo resumidor('…', max_length=50)

Vamos ver o texto gerado.

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

O texto original tinha 492 caracteres e o texto gerado 835.

Mas, observe a qualidade e as novas frases que aparecem no texto gerado.Absolutamente, alucinante!

Essa técnica pode gerar um texto ainda mais longo?Sim!

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

Este texto gerado possui 1.420 caracteres e mantém o fluxo lógico!

A fera que impulsiona esta técnica é um modelo do Facebook chamado BART.

Os autores do artigo descrevem-no como uma forma generalizada de BERT.

Vamos ver como isso funciona.

Como funciona a geração de texto neural

Você já fez testes de aptidão ou de QI onde você é apresentado a uma sequência de números e você precisa adivinhar o próximo?

Em essência, foi isso que nosso modelo fez acima quando fornecemos algum texto inicial e pedimos aos nossos modelos para prever o que vem a seguir.

Ele transformou nosso texto inicial em uma sequência de números, adivinhou o próximo número e pegou a nova sequência que inclui o número adivinhado e repetiu o mesmo processo novamente.

Isso continua até atingir o limite de comprimento que especificamos.

Agora, estes não são apenas números regulares, mas vetores e, mais especificamente (no caso de BERT e BART) incorporações de palavras bidirecionais.

Expliquei vetores e incorporação de palavras bidirecional usando uma analogia de GPS em meus artigos de aprendizado profundo parte 1 e parte 2.Por favor, certifique-se de verificá-los.

Em resumo, os embeddings codificam informações ricas sobre as palavras que representam, o que aumenta drasticamente a qualidade das previsões.

Então, aqui está um exemplo de como isso funciona.

Dado o texto: “A melhor linguagem de programação para SEOs que fazem tarefas repetitivas é ____ e para SEOs que fazem auditorias front-end é ____”, pedimos ao modelo que complete a frase.

O primeiro passo é converter as palavras em números/embeddings, onde cada embedding identifica a palavra no contexto.

Em seguida, transforme isso em um quebra-cabeça que o computador pode resolver para descobrir os números/embeddings que podem preencher os espaços em branco, de acordo com o contexto.

O algoritmo que pode resolver esses tipos de quebra-cabeças é chamado de modelo de linguagem.

Um modelo de idioma é semelhante às regras gramaticais em inglês ou em qualquer outro idioma.

Por exemplo, se o texto for uma pergunta, ele deve terminar com um ponto de interrogação.

A diferença é que todas as palavras e símbolos são representados por números/embeddings.

Agora, onde fica interessante é que no aprendizado profundo (o que estamos usando aqui), você não precisa criar manualmente uma grande lista de regras gramaticais.

O modelo aprende as regras empiricamente por meio de tentativa e erro eficientes.

Isso é feito durante o que é chamado de fase de pré-treinamento, onde os modelos são treinados em um enorme corpus de dados por vários dias e usando hardware muito poderoso.

A melhor parte para nós é que os resultados desses esforços são disponibilizados gratuitamente para qualquer um usar.

Não somos realmente afortunados?

BERT é um exemplo de modelo de linguagem, assim como GPT-2 e BART.

Como usar isso para o bem

Como mencionei acima, esse material é realmente poderoso e pode ser usado para produzir conteúdo inútil em escala relativamente barato.

Eu pessoalmente não gostaria de perder tempo vasculhando o lixo enquanto procuro.

Com o tempo, percebi que, para que o conteúdo tenha desempenho na pesquisa, ele precisa:

  • Seja útil.
  • Satisfazer uma necessidade real.

Caso contrário, não importa se é produzido por computador ou humano, não terá nenhum envolvimento ou validação dos usuários finais.

As chances de classificação e desempenho são muito baixas.

É por isso que prefiro técnicas como sumarização e tradução ou pergunta/resposta onde você tem maior controle sobre a geração.

Eles podem ajudá-lo a garantir que você esteja agregando novo valor.

Projetos comunitários e recursos de aprendizagem

Tentei manter este artigo leve no código e as explicações o mais simples possível para permitir que mais pessoas na comunidade se juntassem à diversão.

Mas, se você é mais tecnicamente inclinado, acho que vai gostar desta explicação mais granular e matemática do tópico.

Certifique-se de seguir também os links na seção “Leitura adicional” no artigo vinculado acima.

Agora, para algumas notícias emocionantes.

Pedi à comunidade para compartilhar os projetos Python em que estão trabalhando.Eu estava esperando talvez um punhado, e fiquei completamente impressionado com quantos eu recebi de volta. #AGUARDE 🐍🔥

Este é Python e JS, mas vou colocá-lo lá de qualquer maneira!Extensão do Chrome para eliminar spam no Google Maps.O código do servidor está em Python e trata da validação e classificação. pic.twitter.com/Rvzfr5ku4N

— zchtodd (@zchtodd) 8 de junho de 2020

1.RPA em python para automatizar capturas de tela repetitivas https://t.co/zyaafY0bcd
2.API do console de pesquisa + NLP para verificar páginas em que a palavra no meta título não corresponde às consultas usadas pelos visitantes: https://t.co/KsYGds7w1r

— Michael Van Den Reym (@vdrweb) 8 de junho de 2020

3.Verifique o código de status de todos os URLs com impressões do console de pesquisa usando a API do console de pesquisa https://t.co/qX0FxSoqgN

— Michael Van Den Reym (@vdrweb) 8 de junho de 2020

Olá Hamlet!

Estou trabalhando em um verificador de redirecionamento com recursos de correspondência difusa.

Haverá um notebook @GoogleColab, mas idealmente eu também gostaria de implantar no @streamlit para que as pessoas possam avaliar a qualidade de seus redirecionamentos em 1 clique, arrastando e soltando.

Em breve compartilho 🙂

— Charly Wargnier (@DataChaz) 9 de junho de 2020

@hamletbatista https://t.co/oPt5M393Lu
Trabalhei nisso usando @streamlit
Escreva Meta Titles mais atraentes.
Vídeo explicativo: https://t.co/YvVoFMQ4FS

— Anubhav Bittoo Narula (@anubhavn22) 9 de junho de 2020

Raspe redes sociais e passe por npl o Red neuronal para saber o sentimento do escrito e de ahí sacar gráficas com datastudio o kibana (perdona que responda em espanhol pero mi inglés é bastante mejorable)

— JaviLázaro (@JaviLazaroSEO) 8 de junho de 2020

1.Lendo os arquivos de log e postando 5xx/4xx em tempo real para slack!
2.Intenção de palavra-chave x pontuação de correspondência de URL.

— Venus Kalra (@venuskalra) 9 de junho de 2020

https://t.co/9we85HXJgJ

— Marat Gaziev (@MaratGaziev) 9 de junho de 2020

Estou construindo um pacote para #SEO's e profissionais de marketing online, contendo entre outras coisas:
- Rastejante
– testador robots.txt
– Verificador SERP
– Sitemap para conversor de DataFrame
– Conversor de URL para DataFrame

e muito mais 🙂 https://t.co/BMVEeQaTxE

— Elias Dabbas (@eliasdabbas) 9 de junho de 2020

Algumas análises de conteúdo com Beautiful Soup + a API Knowledge box + API Cloud Entity!🐍🐍🐍

— Jess, mas a 6 pés de distância (@jessthebp) 8 de junho de 2020

Mais recursos:


Créditos da imagem

Todas as capturas de tela tiradas pelo autor, junho de 2020

Todas as categorias: Blog