busca | avançada
24543 visitas hoje
60 mil no mês
Digestivo Cultural
O que é?
Quem faz?

Audiência e Anúncios
Quem acessa?
Como anunciar?

Colaboração e Divulgação
Como publicar?
Como divulgar?

Newsletter
* Feeds & Twitter
Últimas Notas
>>> Centenário de Noel Rosa, por Francisco Bosco, na Rádio Batuta
>>> Caminhos de um Brasil Solidário, de Luis Eduardo e Ana Elisa Salvatore
>>> WikiLeaks, uma arma contra o abuso de poder
>>> O Kindle 3 e as respostas da Amazon ao iPad
>>> O Google em crise de meia-idade
>>> Os primeiros volumes da Penguin Companhia
>>> Não contem com o fim do livro, uma conversa com Umberto Eco
>>> Coleção MPBaby, pela MCD
Temas
Mais Recentes
>>> A quem interessa uma sociedade alienada?
>>> Meus álbuns: '00 - '09 ― Pt. 5
>>> A ilusão da alma, de Eduardo Giannetti
>>> Introdução ao filosofar, de Gerd Bornheim
>>> Sobre o preço dos livros 2/2
>>> Nasce um imortal: José Saramago
>>> Nas redes do sexo
>>> Instantes: a história do poema que não é de Borges
>>> O elogio da narrativa
>>> Sobre o preço dos livros 1/2
Colunistas
Mais Recentes
>>> Eleições 2010
>>> Copa 2010
>>> iPad
>>> Futuro do Cinema
>>> Livro Eletrônico
>>> Melhores de 2000-2009
Últimos Posts
>>> Ping: a rede social da Apple
>>> A nova Apple TV
>>> Fred Wilson e a 'morte' da Web
>>> Christian Barbosa no MitA
>>> Nosso Lar
>>> João Moreira Salles e o fim
>>> Tim Ferriss e a autopublicação
>>> O sertão do tamanho do mundo
>>> 3 perguntas: Bumblefoot
>>> Economist matando os blogs
Mais Recentes
>>> Um kadish para Tony Judt
>>> Bill Gates e o Internet Explorer
>>> Jim Clark e a Nestcape
>>> Marc Andreessen e o Mosaic
>>> O dia em que Paulo Coelho chorou
>>> Ponto de ruptura no jornalismo
>>> O entusiasmo de Lobato
>>> O senhor embaixador
Mais Recentes
>>> Ryoki Inoue
>>> Harry Crowl
>>> Ron Bumblefoot Thal
>>> Noga Sklar
>>> Paula Dip
>>> Luis Eduardo Matta
Mais Recentes
>>> Newsletter: 50 mil Assinantes
>>> Editoras como Parceiras
>>> Feeds dos Autores
>>> Comentários Liberados
>>> 10 mil seguidores no Twitter
>>> Newsletters à sua escolha
Mais Recentes
>>> Vendi meus livros, mas doeu (Walter Luiz Cid do N)
>>> Nossa esquecida finitude (Gabriel Marques)
>>> O mercado do jabá (carlos roberto rocha)
>>> O interesse na alienação (Débora Carvalho )
>>> Já não estamos vacinados? (wellvis)
>>> Vigiar os políticos (Carla Ceres)
>>> Meu novo ídolo! (Alberto de C Freitas)
>>> Necessidade de pensar (Manoel Messias Perei)
>>> Nossos livros de bolso (Rafael Rodrigues)
>>> E se fosse psicografado? (José Frid)
Mais Recentes
>>> Quem tem medo do Besteirol?
>>> Receita para se esquecer um grande amor
>>> Dos amores possíveis
>>> Receita para se esquecer um grande amor
>>> Receita para se esquecer um grande amor
>>> Receita para se esquecer um grande amor
>>> Receita para se esquecer um grande amor
>>> Receita para se esquecer um grande amor
>>> Ponto de ruptura no jornalismo
>>> Quanto custa rechear seu Currículo Lattes
COLUNAS >>> Especial Google

Terça-feira, 14/3/2006
Como o Google funciona
Ram Rajagopal
+ de 12600 Acessos
+ 1 Comentário(s)

Muitos amigos meus, leigos em ciência da computação, me pediram uma explicação sucinta e sem jargões de como o Google funciona. Qual a receita mágica que determina as páginas que o Google deve responder quando você faz a sua busca? Em primeiro lugar, vale esclarecer que o Google não é dono de nenhum grande mistério tecnológico. Mas, certamente, desenvolveram uma tecnologia interessante, e que vamos entender um pouco melhor a seguir.

O Google é basicamente um banco de dados inteligente. Se você já usou o fichário da biblioteca do seu colégio, então sabe já como um banco de dados funciona. Os dados são agrupados em tabelas (as gavetas do fichário), e ordenados de acordo com palavras-chave, como autor ou título. A vantagem do banco de dados sobre o fichário é que o ordenamento pode ser por um número imensamente maior de características. Já imaginou se sua biblioteca tivesse que ter trinta tipos de fichários, um para ordernar por autor, outra por título de livros, outra por ano de publicação, outra por editora, e assim por diante.

Pois bem, o que o Google faz é acumular cada página da Web num banco de dados. O endereço da página, o nome, e as palavras mais frequentes e suas respectivas frequências são todas incluídas na ficha daquela página (cada página é como um livro a ser catalogado). O mais importante, todas as outras páginas para as quais a página linca também são guardadas. Quando você digita a sua busca na caixinha do Google, o software traz todas as fichas cujo conteúdo casam com sua busca.

Para fazer isto de forma eficiente, um dicionário global é criado (o famoso dicionário reverso ou índice reverso), onde cada palavra que existe na Web aparece uma vez. E na ficha de cada palavra são colocados códigos que se relacionam com as páginas que contém aquela palavra. Uma maneira de entender isso é que cada palavra tem uma lista com os endereços das páginas que a contêm. Quando você digita uma palavra e clica em buscar, tudo que precisa ser feito é imprimir na tela as listas de endereços de todas as palavras que você pediu.

Mas então onde está o segredo do Google? Até aí não há nada demais. Na verdade o que foi citado já é feito há anos por bancos de dados não estruturados. O segredo do Google, e na verdade de qualquer buscador, está em duas coisas: como ele faz para encontrar todas páginas da Grande Rede e como ele decide a ordem em que vai listar os resultados. Os nomes técnicos para estas duas atividades são crawling e scoring. Um bom buscador é bastante abrangente, e ao mesmo tempo lista as respostas na ordem que o maior número de pessoas espera. E responde à busca rápido.

Por exemplo, se você procurar por “Ronaldo” no Google Brasil, você espera que os primeiros linques que apareçam sejam sobre o Ronaldinho Gaúcho ou sobre Ronaldo Fenômeno. Não que a primeira página seja a de Ronaldo, seu vizinho, e a resposta de posição 1,233,233 seja a primeira com Ronaldo, o jogador de futebol. Ao mesmo tempo, se você coloca “World Champion 2002”, quer que algo relacionado ao assunto apareça e provavelmente ficará decepcionado se não aparecer. E além disso tudo, sua paciência não aguenta esperar duas horas para uma busca ser respondida.

Todo buscador, do Google ao MSN Search, passando pelo Yahoo, pelo Ask Jeeves e até o Cadê, procura atender a esses três requisitos. Mas como falei do Google, vamos entender melhor como ele funciona. O crawling do Google, assim como o da maioria dos buscadores é feito através de programas de computador que vão seguindo todos os linques de uma página, e acumulando as informações das páginas visitadas, a partir de uma página inicial. Uma boa página inicial é a de um índice como o Yahoo (www.yahoo.com) . A coisa toda é feita de forma organizada, de maneira que ao final do processo, um componente desconectado da Web inteira foi explorada. Outra página inicial deve ser fornecida para explorar outros componentes desconectados. Por exemplo, é pouco usual um índice em inglês levar a descobrir páginas em alfabetos não ocidentais. Portanto o crawler, programa que faz o engatinhamento, tem que ser reinciado com uma página em japônes.

Para cada página visitada, o Google cria uma ficha de biblioteca. As palavras da página que estão no dicionário global tem suas frequências contadas, o endereço da página é anotado na ficha, e o endereço de todas as páginas para as quais a página linca são anotados. Finalmente, o próprio dicionário global é emendado caso alguma palavra nova seja encontrada.

Ao fim do processo de crawling – que há uns dez anos atrás demorava cerca de uma semana para visitar a Web inteira, e hoje demora bem mais que um mês – o Google tem um gigantesco banco de dados com informações concisas da página. Uma enxugada no dicionário global é feita, para remover palavras frequentes demais, como por exemplo preposições, e para remover palavras infreqüentes demais, como um erro de tipografia exdrúxulo. Por isso, se seu nome for muito incomum (muito mesmo), você não será indexado pelo Google. Se seu nome for muito incomum, mas você cometer um ato que te põe nas capas de vários jornais, a frequência do seu nome aumenta, e o Google vai te indexar.

O próximo passo é então como o scoring do Google é feito. Uma maneira natural de ordenar as páginas, quando uma busca é feita, é simplesmente pela frequência com que a palavra buscada aparece na página. Por exemplo, se você busca por “mágica”, uma página que contenha a palavra mil vezes, é provavelmente mais importante do que uma que contem a palavra somente dez vezes. Infelizmente, um esquema simplista como este pode ser facilmente burlado, com indivíduos criando páginas que tenham milhões de vezes a palavra “mágica”, mesmo sem ser relacionado ao assunto ou para vender um livro específico de mágica.

Cada buscador tem então a sua receita mágica para contrabalançar este tipo de problema. O Google usa uma idéia de pontos por autoridade (relevance scoring). Talvez tenha sido a grande sacada da dupla Brin & Page ao projetar seu buscador. A pontuação do Google soma aos pontos tradicionais (como frequência da palavra, importância da palavra num contexto dado por alguma fórmula simples pré-programada, etc.), uma pontuação dada por reputação.

Como medir reputação? A idéia é simples: se páginas com muita reputação apontam para você, então você tem muita reputação. É uma propriedade hereditária. Matematicamente isto é feito usando teoria dos grafos, a mesma que você usa para colorir mapas-múndi com o mínimo de cores possíveis. Mas como medir a reputação de uma página na Web, se você não sabe a reputação de ninguém a priori?

Um jeito simples, solução de engenheiro, é montar um usuário aleatório (um random browser ou monkey browser). A maneira como este usuário funciona é a seguinte: ele começa de uma página inicial e escolhe aleatoriamente um linque a ser clicado. Ele segue para a página clicada e repete o processo. O processo é feito indefinidamente. Após muito longo tempo (provavelmente após centenas de bilhões de cliques) você pode calcular a reputação de cada página com uma fórmula simples: conte o número de vezes que a página foi visitada pelo monkey browser. Para normalizar a pontuação, o melhor é calcular a fração do total de páginas visitadas que cada página aparece. Só para deixar a coisa mais simples, suponha que a Web tem só 3 páginas, A, B e C. Suponha que o monkey browser viajou por cem páginas usando o método aleatório e visitou A trinta vezes. Então a reputação de A é simplesmente 30/100 (ou seja, 0.3 de 1.0).

Uma interpretação bacana do seu score de relevância normalizado desta forma é que ele é simplesmente a chance de um monkey browser ir parar na sua página. Se a probabilidade é alta, então sua página é importante. Tudo isto já era conhecido em teoria dos grafos, e o que os dois jovens de Stanford fizeram com a ajuda de seus professores foi incorporar isto a busca na Web.

Para concluir, um último detalhe: se o Google realmente precisasse lançar macacos aleatórios para calcular a pontuação, provavelmente iriam levar anos para se concluir o cálculo, afinal precisariam fazer bilhões de visitas para se ter um número confiável (a Web tem bilhões de páginas). Felizmente, existe uma maneira eficiente de calcular estas probabilidades sem fazer visita alguma. Você só precisa saber a estrutura de linques do conjunto de páginas (que página liga com quem). O algoritmo é bastante antigo, tem mais de 100 anos. E uma das suas aplicações anteriores foi resolver problemas como calcular as frequências de vibração na corda do seu violão ou a chance de se ganhar em pôquer.

O que destacou o Google das outras máquinas de busca existentes foi a idéia de fazer um crawling mais completo que todo mundo, numa época em que ninguém se dispunha a fazer isso, e a receita da reputação entrando como parte da pontuação da página. Portanto agora você já sabe os principais segredos do Google, e pode seguir para descobrir truques para aparecer no topo da lista.


Ram Rajagopal
Berkeley, 14/3/2006

Mais Ram Rajagopal
Mais Acessadas de Ram Rajagopal em 2006
01. Sobre responsabilidade pessoal - 1/5/2006
02. Como o Google funciona - 14/3/2006
03. Como começar uma carreira em qualquer coisa - 24/4/2006
04. Música é coração, computadores, não? - 28/2/2006
05. Você curte o Orkut? - 8/2/2006


Mais Especial Google

* esta seção é livre, não refletindo necessariamente a opinião do site

ENVIAR POR E-MAIL
E-mail:
Observações:
COMENTÁRIO(S) DOS LEITORES
16/3/2006
09h04min
Adorei seu texto, me lembrei de uma tarde inteira que você pacientemente passou me explicando como a Google funciona. Não é porque é meu irmão não, mas o texto está uma maravilha!!! Saudades, Beijos, Lakshmi
[Leia outros Comentários de Lakshmi ]
COMENTE ESTE TEXTO
Nome:
E-mail:
Blog/Twitter:
* o Digestivo Cultural se reserva o direito de ignorar Comentários que se utilizem de linguagem chula, difamatória ou ilegal;

** mensagens com tamanho superior a 1000 toques, sem identificação ou postadas por e-mails inválidos serão igualmente descartadas;

*** tampouco serão admitidos os 10 tipos de Comentador de Forum.

Hedra
Editora Paz e Terra
Editora Globo
Editora Planeta
Campus-Elsevier
AIC
Conrad Editora
Editora Record
Companhia das Letras
Editora Unicamp
Intrínseca
Livraria Cultura
Editora Objetiva
KindleBookBr
Cosac Naify
Submarino
LANÇAMENTOS
Livraria Cultura

A última entrevista de José Saramago
José Rodrigues dos Santos
por R$ 18,00


Não Me Deixes
Rachel de Queiroz
por R$ 27,00


Muchacha
Laerte
por R$ 29,00


História da Televisão no Brasil
Sacramento, Roxo e Ribeiro
por R$ 49,90


Usina
José Lins do Rego
por R$ 39,00


Snoopy Extraordinário
Charles Schulz
por R$ 45,00


A Maldição do Cigano
Stephen King
por R$ 21,90


Mundo Financeiro
Alexandre Povoa
por R$ 64,00


Ficadas e Ficantes
Angelica Lopes
por R$ 25,00


As Armas Secretas
Julio Cortázar
por R$ 29,00


Boas-vindas à Filosofia
Marilena Chauí
por R$ 14,50


As Cobras
Luis Fernando Verissimo
por R$ 49,90


Máximas de Balzac
Honoré de Balzac
por R$ 24,90


O Alienista Caçador de Mutantes
Natalia Klein
por R$ 19,90


Política
João Ubaldo Ribeiro
por R$ 35,90

busca | avançada
24543 visitas hoje
60 mil no mês