O que é um robô de Internet?
Dependendo do quanto e como você usa a Internet, é certo que você já interagiu com um, beneficiou-se de suas ações ou até mesmo foi afetado negativamente, ainda que tenha sido apenas pela perda do seu tempo. Os robôs de Internet estão aí e em alguns casos sua atuação é transparente e sabida, mas há casos em que eles são facilmente confundidos com gente como você. Você sabe que é um robô de Internet? O que eles fazem? Como eles podem afetar nossas vidas e até mesmo os destinos de um país? Chegou a hora de saber mais!
O que são robôs de Internet?
Hoje eles são "famosos" e é até improvável que alguém nunca tenha ao menos ouvido falar neles, mesmo que não se saiba exatamente o que são e quais seus propósitos. Mas eles existem há muito tempo e parte significativa do que temos hoje, é resultado da sua atuação, significando importante contribuição à Internet em todas as suas áreas.
Desde que as primeiras ferramentas de busca foram criadas, eles passaram a existir. Na época recebiam muitas diferentes denominações, como apenas spiders, spiderbots, spider crawlers, apenas crawlers ou apenas robots. Diferentes nomes para designar a mesma coisa: um programa de computador que tem por função varrer / acessar diferentes sites e suas respectivas páginas, criando um índice (indexação) do conteúdo existente nestes sites.
É por meio desse procedimento – que evoluiu, sofisticou-se, mas em essência é o mesmo – que os mecanismos de busca do passado e até hoje com o Google e o Bing, você pesquisa alguma coisa e eles lhe devolvem uma série de correspondências que foram encontradas por seus robôs nos diversos sites que eles "visitaram" e indexaram.
Os robôs – ou simplesmente bots como popularmente também são conhecidos – evoluíram e hoje são capazes de muito mais coisas do que simplesmente alimentar os gigantescos banco de dados dos buscadores.
Graças ao aprimoramento e disponibilidade de várias tecnologias, como Inteligência Artificial, Machine Learning, Cloud Computing e Big Data, os bots de Internet hoje são capazes de atuar de modo quase humano, ou pelo menos, com resultados que tornam difícil identificar quando estamos interagindo com uma pessoa ou um programa de computador.
Em termos práticos, tem sido comum encontrar em alguns sites, especialmente aqueles em que há algum tipo de venda, os chatbots e que nada mais são do que bots que atuam em uma ferramenta de chat, prestando um atendimento preliminar e ativo, caracterizado pela abertura de uma interface ou janela de chat, como se um atendente da empresa estivesse se colocando a disposição para esclarecer possíveis dúvidas, exatamente como o vendedor que lhe aborda ao entrar em uma loja física.
Os chatbots também estão presentes nas redes sociais, como é o caso do Facebook, onde é utilizado o Messenger. Em alguns casos, o nível de sofisticação é elevado e fica mesmo difícil desconfiar que você não está conversando com uma pessoa e sim uma máquina.
Nos casos extremos, em que há uma elevada convergência de tecnologias, os bots acabam sendo "promovidos" a uma designação mais ampla e podem assumir o papel de assistentes virtuais inteligentes.
Geralmente são sistemas grandes baseados em um data center, usando servidores altamente potentes e especializados, capazes de oferecer uma experiência de atendimento aos clientes, quase humana, como é o caso da BIA (Bradesco Inteligência Artificial), que pode-se dizer, é um super robô.
Mas os bots não exigem montanhas de dinheiro de investimento, como o caso acima. A popularização da tecnologia Cloud, possibilita hoje ter processamento para colocar em funcionamento bots que realizam ações bastante simples, mas úteis, até um atendimento completo, de forma escalável conforme a empresa e suas demandas crescem.
O funcionamento pode variar em função do investimento e consequentemente da infraestrutura por trás da aplicação. Pode ser algo simples e acessível financeiramente, como muitos chatbots presentes nos mais diversos sites que visitamos diariamente e que as vezes têm como papel apenas iniciar um atendimento com um cliente em potencial, o qual é posteriormente assumido por uma pessoal real, até soluções complexas e caras como a já citada BIA.
O que a maioria tem em comum, é um banco de dados e uma programação, que visa identificar padrões e palavras-chave e que desencadeia ações de acordo com a ocorrência e identificação destes padrões e palavras.
Assim, o programa associado ao bot, é constantemente alimentado com informações e se por exemplo, o visitante de um site chega até a página de produtos da empresa e clica sobre um item específico, o bot pode ser programado para apresentar detalhes do produto, formas de parcelamento e pagamento ou qualquer outro tipo de ação que o Marketing da empresa ache conveniente.
Um bot do "bem", é capaz de "enxergar" um bom, extensivo e permanente trabalho de SEO que você faz para dar visibilidade ao seu site, ao seu blog ou loja virtual e premiá-lo com um bom posicionamento nos resultados orgânicos do Google e consequentemente, alavancando o seu negócio.
Nas redes sociais, os bots podem reagir de acordo com eventos, de acordo com hashtags ou palavras-chaves, também desencadeando ações como postagens, ou mesmo criando tuítes ou retuítes, que é o caso do Twitter e dessa forma podem interferir decisivamente nas tendências que um assunto pode ter.
Em muitas situações um bot não parece um bot. Está associado a uma conta – ou muitas – falsa ou perfil fake, que pode ter até mesmo uma foto "roubada" da Internet, com dados tais como tem qualquer pessoa e até mesmo ser programado realizar publicações como as que fazemos, "dizendo" que vai à academia, ou ao trabalho, segue outras pessoas e é seguido por algumas, sendo que podem ser outros bots, mas tudo é construído para simular uma pessoa real.
E isso recai em uma discussão e preocupações que vêm ganhando importância e espaço, quanto às consequências e desdobramentos sociais, econômicos e até mesmo éticos.
Os bots do "bem"
Alguns dos casos mais comuns, já foram apresentados e tem como representantes, os bots que são programados para fornecer qualquer tipo de ajuda, como por exemplo, os chatbots dos sites de comércio eletrônico. Os maiores sites do setor, têm bots capazes de realizar atendimentos completos e responder às dúvidas mais frequentes que a maioria dos clientes apresentam.
Quando eventualmente algum atendimento não pode ser 100% conduzido pelo sistema, um atendente humano assume, mas geralmente a situação inédita ou que o sistema não foi capaz de lidar, é "ensinada" usando Machine Learning, de forma que na eventualidade da situação se repetir, o sistema já seja capaz de atuar de modo autonômo.
Os bots do "bem", não são representados apenas pelos chatbots. Se por exemplo, você recorre a uma ferramenta na Internet para pesquisar preços de produtos, passagens, hotéis e praticamente qualquer coisa que queira comprar, muitos usam bots que varrem a Internet em busca de tais informações e lhe apresentam sob a forma de um comparativo para que você possa realizar sua escolha baseada em vários aspectos.
As redes sociais usam os bots extensivamente para apresentar conteúdos semelhantes aos que você se interessa por meio de curtidas e outras interações que você realiza. Novos contatos, sugestões de amizades e todo tipo de relações que são apresentadas nas redes sociais, só são possíveis porque existem bots avaliando suas características e interesses e cruzando com dados relevantes e outros perfis similares aos seus.
Atualmente a publicidade na Internet, é baseada nos bots, que nada mais são do que algoritmos que podem ter maior ou menor participação de rotinas de Inteligência Artificial, para apresentar produtos e serviços alinhados com suas preferências e de acordo com sua navegação.
Resumindo, boa parte das rotinas de automação de ações baseadas nas informações que você deixa enquanto navega na Internet, é usada pelos bots para lhe mostrar novos caminhos, no que clicar, no que ver.
Os bots do "mal"
Assim como é no mundo real, na Internet há também o outro lado da mesma moeda. A mesma tecnologia que permite reunir informação para fornecer serviços que beneficiam os usuários, podem utilizá-la para fins não tão nobres. Ou seja, da mesma forma que há uma série de utilizações benéficas, há utilizações maliciosas e que são exploradas há tanto tempo, quanto existem os bots.
Atualmente há empresas que atuam fornecendo ferramentas para, se não erradicar, pelo menos diminuir os impactos que os bots maliciosos podem infringir às pessoas e às corporações. Dados de uma dessas empresas – a Imperva – mostram que bots maliciosos atuam em diferentes frentes, em busca de roubo de dados de identidade, quando você realiza um cadastro, por exemplo, dados de acessos a diferentes serviços, endereços de e-mail para envios de SPAM, roubo / sequestro de contas em redes sociais, entre uma série de outras ações.
Algumas das ações mais conhecidas, podem afetar drasticamente um grande número de usuários, como por exemplo, os ataques distribuídos de negação de serviço, conhecidos como ataques DDoS e que usam uma rede de máquinas zumbis e que são computadores e servidores infectados com malwares, que permitem ao seu criador controlar e disparar ataques a um site ou servidor ou algum outro alvo na Internet e sobrecarregá-lo devido ao elevado número de requisições.
Outro tipo de ação que vem ganhando espaço nos últimos anos e que tem mostrado o seu poder, são os bots associados às redes sociais, com objetivo de interferir no discurso público e político. Nas últimas eleições nos Estados Unidos, ficou evidente sua utilização, onde estima-se que mais da metade dos seguidores de Donald Trump, eram bots!
Até aí, nenhum problema. O problema reside no fato do "comportamento" que os bots assumem de acordo com certos acontecimentos, como por exemplo, ataques aos opositores de Trump, quando de alguma manifestação contrária a ele. Devido ao imenso volume de hashtags produzidas, por vezes o assunto principal era ofuscado pela ofensiva feita pelos bots. Ainda é assim, mesmo depois de eleito.
No Brasil não tem sido diferente e há um estudo conduzido pela Fundação Getúlio Vargas, que mostra uma massiva participação de bots nas redes sociais, atuando de forma a contaminar o discurso público e político e que vem tendo participação intensa desde as eleições de 2014.
Ainda não é possível afirmar o quanto isso representa na determinação dos resultados de uma eleição, no entanto, é claro que há interferência e se vale do que se chama de "comportamento de manada" e que consiste de provocar uma reação motivada pelo que a maioria faz. Sendo assim, aqueles que não tem convicções a respeito de determinados temas, estão suscetíveis ou inclinados a agir conforme os passos da maioria, que muitas vezes é constituída de um número elevado de bots. Ou seja, não é um comportamento orgânico ou natural, mas manipulado.
O professor Philip Howard, do Instituto Oxford de Internet, considera que a manipulação da opinião pública, usando as redes sociais, chega a representar um sério risco à democracia. Os dados de um relatório que constam no site da Universidade de Oxford, são preocupantes, na medida de que mostram o crescimento e a influência que tais práticas têm sobre o eleitorado, podendo mesmo ser decisivos em prol daqueles que melhor se utilizarem de tais "ferramentas".
Sendo assim, é nítido que os interesses financeiros, políticos e de poder e, porque não dizer da confluência dos três, tem se utilizado do conjunto de tecnologias que envolvem os robôs de Internet, para assegurar seu status quo e seus interesses.
As próprias redes sociais, que é o ambiente onde tem se constatado uma atuação maciça dos bots maliciosos, têm adotado medidas no sentido de tentar coibir práticas que ofereçam risco à segurança, como por exemplo, bloqueio das contas que são identificadas como falsas e/ou relacionadas a bots. Todavia, a capacidade dos sistemas que usam em proveito próprio os bots, tem se revelado superior às ações de Facebook e Twitter e tão logo alguns milhões de contas são bloqueadas, novas surgem e tomam lugar das anteriores.
` }) Vue.component('component-criar-comentario', { props: ['value'], name: 'component-criar-comentario', data: function () { return { nome: { valor: null, erro: false }, email:{ valor: null, erro: false, erroMensagem: 'Preenchimento necessário.' }, comentario: {valor: '', erro: false }, url: 'robo-de-internet', //enviadoSucesso: null, carregando: false, store: store.state } }, computed: { comentarioChars: function() { if(this.comentario.valor.length > 3500) this.comentario.valor = this.comentario.valor.substring(0, 3500); return this.comentario.valor.length; }, pai: { get: function() { return this.value }, set: function(novoValor) { this.$emit('input', novoValor) } }, enviadoSucesso: { get: function() { return this.store.enviadoSucesso }, set: function(novoValor) { store.setEnviadoSucesso(novoValor) } }, comentarios: { get: function() { return this.store.comentarios }, set: function(novoValor) { store.setComentarios(novoValor) } } }, methods: { addComentario: function () { //Se já há um envio em andamento if(this.carregando) return; // Zerar os erros this.nome.erro = false this.email.erro = false this.comentario.erro = false if(!this.nome.valor) { this.nome.erro = true console.log('nome vazio') } if(!this.email.valor) { this.email.erro = true this.email.erroMensagem = 'Preenchimento necessário.' console.log('email vazio') } if(!this.comentario.valor) { this.comentario.erro = true console.log('comentario vazio') } if(!this.comentarioChars > 500) { this.comentario.erro = true console.log('comentario maior que 500') } if(this.nome.erro || this.email.erro || this.comentario.erro) { console.log('erro') return; } this.carregando = true // Obtem os dados // analisa se os dados estão corretos // Envia os dados para o servidor e aguarda o retorno var bodyFormData = new FormData() var that = this bodyFormData.set('pai', this.pai) bodyFormData.set('nome', this.nome.valor) bodyFormData.set('email', this.email.valor) bodyFormData.set('comentario', this.limparComentario(this.comentario.valor)) axios.post(`https://www.hostmidia.com.br/blog/comentario-adicionar/${this.url}/`, bodyFormData) .then(function (response) { if(response.data.success) { // Se retornar com sucesso adiciona o nome e o email ao cookie that.enviadoSucesso = that.pai // Cria um timeout para desaparece a mensagem de sucesso setTimeout(() => that.enviadoSucesso = null, 5000); localStorage.setItem('nome', that.nome.valor) localStorage.setItem('email', that.email.valor) var novoComentario = { pai: that.pai, url: that.url, data: new Date(), comentario: that.limparComentario(that.comentario.valor), filhos: [], id: response.data.success, nome: that.nome.valor } //Zera comentario that.comentario.valor = '' // Adiciona o comentario a lista, para ser visualizado // Se o pai é 0 então não tem pai, caso contrário localiza o pai e adiciona como filho if(that.pai == 0) { that.comentarios.push(novoComentario) } else { that.comentarios.forEach(comentario => that.adicionarFilho(comentario, that.pai, novoComentario) ) } that.pai = 0 //Salva localmente o comentario var comentarios = JSON.parse(localStorage.getItem('novoComentarios')) if(!comentarios) { localStorage.setItem( 'novoComentarios', JSON.stringify([novoComentario]) ) } else { comentarios.push(novoComentario) localStorage.setItem( 'novoComentarios', JSON.stringify(comentarios) ) } } else { console.log('erro') if(response.data.field == 'email') { that.email.erro = true that.email.erroMensagem = 'Endereço de e-mail inválido.' } that.enviadoSucesso = null } that.carregando = false }) .catch(function (error) { // handle error console.log(error); that.enviadoSucesso = false that.carregando = false }) }, limparComentario: function(comentario) { var d = document.createElement('div'); d.innerHTML = comentario; return d.textContent; }, // Adiciona um comentario à lista como filho do respectivo pai adicionarFilho: function(comentario, id, object) { if(comentario.id == id) { comentario.filhos.push(object) return } var that = this comentario.filhos.forEach( filho => that.adicionarFilho(filho, id, object) ) } }, created: function() { //Ver se tem um cookie com os dados do email e nome se já enviou um comentario com sucesso this.nome.valor = localStorage.getItem('nome') this.email.valor = localStorage.getItem('email') }, template: `
` }) // -- Principal -- var app = new Vue({ el: '#app', data: { loading: false, comentarResposta: 0, url: 'robo-de-internet', store: store.state }, computed: { comentarios: { get: function() { return this.store.comentarios }, set: function(novoValor) { store.setComentarios(novoValor) } }, totalComentarios: { get: function() { return this.store.comentarios.reduce(this.somarComentarios, this.store.comentarios.length) } } }, methods: { somarComentarios: function(acc, item) { if(item.filhos.length === 0) { return acc; } else { return item.filhos.reduce(this.somarComentarios, acc+item.filhos.length) } }, // Se há um comentário salvo localmente adicionar como filho do respectivo pai adicionarFilho: function(comentario, id, object) { if(comentario.id == id) { // Verifica se o comentario já existe, ou seja foi aprovado if(comentario.filhos.find((c) => c.id == object.id) === undefined) { comentario.filhos.push(object) } return } var that = this comentario.filhos.forEach( filho => that.adicionarFilho(filho, id, object) ) } }, created: function() { //Limpar os comentários mais antigos que três dias window.requestIdleCallback(() => { var comentarios = JSON.parse(localStorage.getItem('novoComentarios')) var dataReferencia = new Date() dataReferencia.setDate(dataReferencia.getDate() - 3) // Se a data do comentario for maior que três dias atrás então mantem if(comentarios) { comentarios = comentarios.filter( (c) => new Date(c.data) > dataReferencia ) localStorage.setItem( 'novoComentarios', JSON.stringify(comentarios) ) } } ) var that = this; axios.get('https://www.hostmidia.com.br/blog/comentario-listar/robo-de-internet') .then(function (response) { if(response.data) { that.comentarios = response.data var novoComentarios = JSON.parse(localStorage.getItem('novoComentarios')) if(novoComentarios) { novoComentarios = novoComentarios.filter((c) => c.url == that.url) novoComentarios.forEach(novoComentario => { // Se o pai é 0 então não tem pai, caso contrário localiza o pai e adiciona como filho if(novoComentario.pai == 0) { // Verifica se o comentario já existe, ou seja foi aprovado if(that.comentarios.find((c) => c.id == novoComentario.id) === undefined) { that.comentarios.push(novoComentario) } } else { that.comentarios.forEach(comentario => that.adicionarFilho(comentario, novoComentario.pai, novoComentario) ) } }) } } else { console.log('erro') } }) .catch(function (error) { // handle error that.loading = false; console.log(error); }) } })