Cra wling e inte lig ê - alvarofpinheiro.webnode.com · No v 1 8 , 20 1 7 · 9 m i n read Esse te...

9
Crawling e inteligência articial: o novo jogo da imitação. Rodrigo Arrigoni Nov 18, 2017 · 9 min read Esse texto apresenta conceitos, temas e circunstâncias vividos ao longo de, quase, 15 anos desenvolvendo sistemas de crawling. Há um bom tempo os robôs navegam a Web com significativas porções de inteligência artificial aplicada. O encontro de projetos de crawling com sistemas de inteligência artificial é, potencialmente, um catalisador de conhecimento e mineração informacional. A capacidade robótica de conhecer e interpretar os conteúdos e relações em quantidades e qualidades cresce diariamente e aquece a importância do diálogo sobre uma Web descentralizada. Web crawling pode ser considerado um gêmeo tardio da Web. Assim que os primeiros protagonistas e pensadores do ecossistema virtual vislumbram a quantidade informacional crescendo, os primeiros conceitos de web crawling são implantados. A partir da impossibilidade humana de absorver e, principalmente, priorizar a ingestão da quantidade informacional já disponível em 1993, assistimos os primeiros robôs

Transcript of Cra wling e inte lig ê - alvarofpinheiro.webnode.com · No v 1 8 , 20 1 7 · 9 m i n read Esse te...

Page 1: Cra wling e inte lig ê - alvarofpinheiro.webnode.com · No v 1 8 , 20 1 7 · 9 m i n read Esse te xto ap r e se nta co nce ito s, te mas e cir cunstâncias v iv ido s ao lo ngo de

Crawling e inteligência arti�cial: o novo jogo daimitação.

Rodrigo ArrigoniNov 18, 2017 · 9 min read

Esse texto apresenta conceitos, temas e circunstâncias vividos ao longo de, quase, 15

anos desenvolvendo sistemas de crawling. Há um bom tempo os robôs navegam a Web

com significativas porções de inteligência artificial aplicada. O encontro de projetos de

crawling com sistemas de inteligência artificial é, potencialmente, um catalisador de

conhecimento e mineração informacional. A capacidade robótica de conhecer e

interpretar os conteúdos e relações em quantidades e qualidades cresce diariamente e

aquece a importância do diálogo sobre uma Web descentralizada.

Web crawling pode ser considerado um gêmeo tardio da Web. Assim que os primeiros

protagonistas e pensadores do ecossistema virtual vislumbram a quantidade

informacional crescendo, os primeiros conceitos de web crawling são implantados. A

partir da impossibilidade humana de absorver e, principalmente, priorizar a ingestão

da quantidade informacional já disponível em 1993, assistimos os primeiros robôs

Page 2: Cra wling e inte lig ê - alvarofpinheiro.webnode.com · No v 1 8 , 20 1 7 · 9 m i n read Esse te xto ap r e se nta co nce ito s, te mas e cir cunstâncias v iv ido s ao lo ngo de

navegando por endereços e ou territórios habitados por conteúdos ainda estáticos.

Quatro sistemas de crawling nasceram em 93, World_Wide_Web Wanderer, Jump

Station, World_Wide_Web Worm e RBSE spider. Os sistemas basicamente indexavam

urls.

Um ano depois, nasce o primeiro web crawler distribuído, chamado WebCrawler, com

capacidade de processar 15 urls simultaneamente. Um salto quântico para o período.

Nessa época um crawler precisava apenas saber realizar uma chamada HTTP GET e

seguir os hiperlinks de uma página. Armazenar conteúdo ainda era custoso e a febre da

informação ainda não havia contaminado o mercado.

O primeiros crawlers são considerados os Crawlers Tradicionais que, apesar da

limitação interpretativa do conteúdo disposto em websites, podem ser um modelo

extremamente eficiente em casos específicos. Os 2 primeiros objetivos arquitetônicos

de um crawler nasce nesses primeiros anos de vida do setor, completeness and

freshness. Nessa mesma época o campo da inteligência artificial deixava seu segundo

inverno que durava mais de 5 anos. Já em 1997 o Deep Blue da IBM ganha a famosa

partida de xadrez com Garry Kasparov considerado por muitos o maior enxadrista de

todos os tempos.

De 1993 a 2001 tivemos uma mão cheia de crawlers e empresas nascendo ao redor do

tema da indexação e extração informacional da Web. Em 1998 nasce o Google

atacando grandes temas operacionais de um crawler como escalabilidade e

interpretação informacional. Se um dos objetivos arquitetônicos era/é completeness,

a totalidade dos sites da Web indexados, a demanda, certamente, seria escalabilidade.

Em 2001, a IBM lança o WebFountain um sistema de crawling completamente

distribuído que além de indexar, armazenava uma cópia das páginas visitadas.

Teoricamente era uma sistema que deveria crescer com a Web — a simulação da época

começou com 500 milhões páginas que dobravam a cada 400 dias.

Page 3: Cra wling e inte lig ê - alvarofpinheiro.webnode.com · No v 1 8 , 20 1 7 · 9 m i n read Esse te xto ap r e se nta co nce ito s, te mas e cir cunstâncias v iv ido s ao lo ngo de

Apesar dos esforços e investimentos, uma pesquisa acadêmica de 1998 intitulada

“Searching the world wide Web” afirmou que 80% do conteúdo da web estava um nível

abaixo da capacitação de mineração dos crawlers, ou seja, 80% do conteúdo já estava

na Deep Web. Em 2000, uma empresa especializada chamada BrightPlanet sugere que

esse conteúdo não indexado já passava em 500 vezes a web visível ao motores de

busca.

A grande diferença entre o escondido e o revelado deu-se porque até então os motores

de buscas e outros diferentes crawlers ainda não consideravam o conteúdo dinâmico

dos sites, ou seja, apenas indexavam as url verus os documentos entregues e não

interessavam-se por preencher forms para solicitar informações adicionais. Então,

nasceram os Deep Web Crawlers e a conversa entre os sistemas robóticos cliente-

servidor, crawler- Aplicação_Web, ganhou complexidade gramatical e de lógica. Agora

os crawlers perguntavam por objetos e/ou informações para um banco de dados

dinâmico.

Em 1997 outro grande desafio é apresentado aos sistemas de crawling. Assistimos o

nascimento da CAPTCHA (Completely Automated Public Turing test to tell Computers

and Humans Apart). Em 1996, um cientista chamado Moni Naor escreve um rápido

artigo (Verification of a human in the loop, or Identification via the Turing Test) sobre

como identificar robôs na Web. De tudo, o fato mais curioso é que ele pensou sobre

charadas que ainda não eram facilmente resolvíveis pelos sistemas de inteligência

artificial da época. O limite de navegação, descobrimento e acesso informacional foi

diretamente relacionado à capacidade de aprendizagem de máquina: aqui, o novo jogo

da imitação foi inaugurado entre 2 sistemas computacionais, um que simula um usuário

humano e outro que foca em descobrir se o usuário em comunicação é humano ou

máquina.

Os crawlers que desejavam consumir conteúdo Web sem restrições de alcance também

precisam resolver as charadas das modernas esfinges digitais. Então, o crawler também

precisa “enxergar” para resolver as famosas CAPTCHAS. Um fato interessante é que a

Page 4: Cra wling e inte lig ê - alvarofpinheiro.webnode.com · No v 1 8 , 20 1 7 · 9 m i n read Esse te xto ap r e se nta co nce ito s, te mas e cir cunstâncias v iv ido s ao lo ngo de

equipe de cientistas produtora do primeiro (ou um dos primeiros) sistema dessas

barreiras de Turing utilizou o manual de um scanner para desenhar pontos de ruído

para uma OCR automatizada. No encontro do crawling com as CAPTCHAS ressalta-se

como as demandas para uma sistema navegar de forma automatizada pelas aplicações

Web forçaram o casamento do web crawling com a inteligência artificial — nesse caso,

o Machine Learning.

Para um crawler resolver uma tradicional CAPTCHA — da época em questão — era

necessário capturar a imagem, identificar os limites do conjunto de caracteres, recortar

e finalmente identificar os caracteres. Hoje não seria muito diferente, talvez a mudança

seja que em alguns casos no lugar de capturar a imagem seja necessário tirar um

screenshot e daí recortar a imagem da CAPTCHA.

Com o aprendizado de máquina nasce a demanda por preconceitos. Imaginem que

após recortar os caracteres de mais de 100 CAPTCHAS reparamos quais são as áreas

máximas e mínimas de cada caractere (isso considerando que existe o padrão) e não

mais gastamos computação em encontrar os limites de cada caractere mas apenas

recortamos as respectivas áreas. Com isso economizamos computação e tempo de

crawling graças a um preconceito. Considerando as diferentes proporções e

circunstâncias, podemos apontar para esse mesmo tipo procedimento (criação de

preconceitos), inevitável para a criação da inteligência, como um grandes

preocupações dos pensadores do campo de estudo de Machine Learning. Hoje temos

Page 5: Cra wling e inte lig ê - alvarofpinheiro.webnode.com · No v 1 8 , 20 1 7 · 9 m i n read Esse te xto ap r e se nta co nce ito s, te mas e cir cunstâncias v iv ido s ao lo ngo de

inúmeros casos em que um algoritmo torna-se socialmente preconceituoso ou que um

sistema cognitivo torna-se, por exemplo, machista e/ou racista.

Passado o desafio interpretativo das CAPTCHAS, chegamos em 2005 e no último fato

histórico que apresento: a publicação de Jesse James Garrett que propõe o AJAX e faz o

Javascript acordar de um período dormente. Enfim, entramos na era dos crawlers de

RIA (Rich Internet Application) que precisam considerar o behavior de interação do

usuário e, certamente, renderizar Javascript (código) client-side. Em um possível

exemplo prático, somos encarregados pelo pipeline de dados de um site de jornalismo

investigativo. E, a redação acaba de avisar que deseja minerar todos os discursos dos

presidentes que lideraram o país democraticamente até hoje. Portanto, vamos ao site

do governo e estudamos a seção de discursos. Precisamos estar atentos a paginação,

morfologia do texto, estilo de load da página e outros.

Logo montamos um crawler que realiza uma chamada GET simples e apenas recebe o

documento entregue sem renderizar qualquer código client-side e já encontramos

problemas em simplesmente retornar a página pois as chamadas de background da

página não são realizadas impedindo o load e a entrega do documento fica em “hang”.

Então, utilizamos um browser headless com renderização de javascript e recebemos o

conteúdo que um usuário comum receberia.

Page 6: Cra wling e inte lig ê - alvarofpinheiro.webnode.com · No v 1 8 , 20 1 7 · 9 m i n read Esse te xto ap r e se nta co nce ito s, te mas e cir cunstâncias v iv ido s ao lo ngo de

Dependendo do objetivo analítico do captação informacional você precisará ou não da

renderização de Javascript. Na verdade isso já não é uma realidade para muitos casos

porque não só as CAPTCHAS evoluíram como também surgiram inúmeros serviços

anti-crawling como alguns produtos da CloudFlare e de projetos como Are you Human.

Mas antes de seguir para essa questão que é base do fechamento da apresentação

apresento aqui alguns tipos de crawlers e suas características.

Terminamos o itinerário de uma irresponsável apresentação sobre a história do ganho

de complexidade de Web crawling e iniciamos a parte mais conceitual do diálogo.

Voltamos as CAPTCHAs, mas não exatamente, pois gostaria de utilizar a reCAPTCHA do

Page 7: Cra wling e inte lig ê - alvarofpinheiro.webnode.com · No v 1 8 , 20 1 7 · 9 m i n read Esse te xto ap r e se nta co nce ito s, te mas e cir cunstâncias v iv ido s ao lo ngo de

Google para elucidar a atual evolução em demanda para um sistema de crawling. A

slogan ou conceito do Google, “no CAPTCHA reCAPTCHA” é a grande diferença da

proposta inicial de Mori com 9 possíveis perguntas ou charadas, O Google já considera

o invisível em sua decisão sobre humano ou robótico, a decisão é antes de qualquer

coisa behaviorista. Lembrem-se que grande parte dos websites sentados sobre nossa

querida Web utilizam o Google Analytics ou que muitos usuários utilizam o Gmail,

Google Drive e por aí vai. E, sabemos que todos esses serviços utilizam cookies e

anotam padrões. Portanto, agora, chegamos ao contemporâneo jogo da imitação, o

jogo behaviorista, o jogo em que crawler também precisa ser um pseudo-sujeito

histórico para não ter problemas em acessar conteúdos. Não é mais apenas sobre

perguntas e respostas. Os atores do experimento de Turing em nosso grande big

brother digital agora também são filmados, medidos e pesados de segundo a segundo.

Portanto, hoje, os sistemas de crawling também são hábitos que imitam um sujeito sem

qualquer noção de identidade. Do mesmo jeito que do outro lado não é um juiz de

direito ou um médico atestando sua real existência humana.

Desse diálogo específico podemos estender a interessante circunstância da conversa

interpretativa dos robôs da Web e vislumbrar a criação de uma potencial camada

robótica entre o humano e a Web, como se o Modelo OSI ganhasse uma camada nova.

É um reflexão que exige um grande esforço imaginal se considerarmos apenas o tema

das CAPTCHAS, mas a robotização da Web não para aí. Sistemas de inteligência

artifical que geram conteúdo são apresentados diariamente com interessantes graus de

maturidade. Temos sistemas que criam o design de websites, temos robôs para escrever

os textos e, claro, temos sistemas que navegam e afirmam decidir o que usuário vai

consumir da Web considerando apenas o usuário em si (a personalização pelo hábito).

O perigo dessa imagem é que em uma web centralizadora como a que temos hoje é de

interesse capital aplicar diferentes tipos de automatização para alimentar de forma

personalizada, em broadcast, a grande massa de usuários. Uma Web com esse tipo de

camada intermediária significava planetas de informação e direcionamento de

navegação que podem estar a mercê de poucos atores da rede.

É o que precisamos para abandonarmos definitivamente nossa responsabilidade crítica

já posta no colo dos grandes emissores informacionais. Não à toa o fake news é

realidade e preocupação. As associações informacionais e conceituais em um sistema

de AI ainda carecem de espírito crítico e, principalmente, quando funcionam dentro da

Web são impactadas por hábitos, quantidades e qualidade muitas vezes nocivos ao

social. Um exemplo, é a pesquisa de Latanya Sweeney, realizada em 2013, sobre o

Page 8: Cra wling e inte lig ê - alvarofpinheiro.webnode.com · No v 1 8 , 20 1 7 · 9 m i n read Esse te xto ap r e se nta co nce ito s, te mas e cir cunstâncias v iv ido s ao lo ngo de

sistema de Ads do Google ter uma escolha de entrega de anúncios preconceituosa. A

pesquisadora de Harvard provou que entre 81% a 95% das buscas por nomes

tipicamente utilizados por Afro descendentes disparava anúncios relacionados a prisão

(i.e. anúncios de plataformas de pesquisa do histórico criminal).

Finalmente, a imagem dos diálogos robóticos também pode ser significada de maneira

diferente e podemos ter uma Web mais democrática. As possibilidades tecnológicas de

grande escala, hoje, são acessíveis ao grande público de desenvolvedores.

Armazenamento, deploy e construção de sistemas complexos em times bem pequenos

pode talvez revolucionar e transcender a Web para além dos grandes núcleos de

produção informacional. Precisamos valorizar e investir como usuários e produtores

em empresas que signifiquem a democratização produtiva e a diversidade

interpretativa. A sociedade deixou de acreditar no valor da informação enquanto o

capital está localizado na mineração de dados em toda e qualquer indústria. Enfim,

termino com uma matéria publicada no MIT Technology Review em Abril de 2017 em

que o jornalista, em visita a um grande player do mercado de chips, narra certa aflição

em ser conduzido por veículo autônomo em que os engenheiros não tinham a menor

idéia de como input era transformado em decisão, ou seja, o carro sabia o que fazer por

causa de matemática mágica realizada por camadas e camadas de neurônios artificiais.

E talvez nosso grande problema seja que conseguimos rapidamente ser simpáticos a

aflição de ser transportado por uma carro que sabe e ninguém sabe como, mas não