Sistemas de RI na
Web
Adriano Melo
Amora Albuquerque
Anália Lima
Eduardo Pires
Ivan França
Roteiro
 Introdução
 Objetivos
 Entendendo a Web
 Arquiteturas
 Técnicas
 Estratégia de Busca
 Crawlers
 Browsing
 Metabuscas
 Conclusão
A Web
Pode ser vista como uma grande base de dados não
estruturada e ubíqua
Surge a necessidade de ferramentas para gerenciar,
buscar e filtrar informações
Formas de busca na Web
Engenhos de busca
Diretórios de sites
Exploração de hyperlinks
+1.000.000.000 de buscas
são realizadas por dia
Google data, September 2010
+1.000.000.000 de pessoas
usam o google a cada semana
Google data, September 2010
20% das buscas
feitas nos últimos 90 dias nunca tinham sido feitas
antes
Google Internal Data, April 2010
10 bilhões de imagens
estão indexadas no Google Images*
(eram 250 milhões em 2001)
* TechCrunch, July 2010
115.000 filmes
é a equivalência do total de uploads de vídeos feitos no
YouTube por mês
700 bilhões
de execuções de vídeos foram realizadas no YouTube
em 2010
2.9 bilhões de horas
são gastas por mês vendo os vídeos do YouTube
quem tem acesso a esse conteúdo?
todo mundo! (exceto os vídeos do YouTube)
600 milhões de pessoas
estão cadastradas no facebook*
(250 milhões entraram em 2010)
* Fim de 2010
9.3 bilhões de horas
são gastas por mês nas páginas do site
30 bilhões de documentos
como links e notícias são compartilhados a cada mês no
facebook
Quem tem acesso a esse conteúdo?
bind e os usuários do facebook
Desafios
Grande quantidade de dados
Dados voláteis (mudam muito rápido)
Acesso ao conteúdo produzido em redes sociais
Conteúdo heterogêneo (multimídia, linguagem)
Informações redundantes e não estruturadas
Entendendo a Web
Caracterização da WEB
 Mensurando a WEB
 Organização atual da WEB
• Arquiteturas
Mensurando a WEB
Qual o número de
computadores conectados a
internet?
500 milhões de hosts, em
mais de 200 países.
Mensurando a WEB
Mensurando a WEB
Mensurando a WEB
Qual o número de websites na internet?
• O Netcraft roda desde agosto de 1995
• Em maio de 2011 foram recebidas respostas de
mais de 324 milhões websites.
Organização atual da WEB
 WEB é uma coleção não controlada de documentos.
• Inserção de documentos
• Formato dos documentos
 Engenhos de busca
• Recuperar informações na WEB
• Permitir a consulta por usuários
Engenhos de Busca
 Arquitetura
• Centralizada
• Usa crawlers(rastreadores)
• Distribuída
• A busca é realizada utilizando um esforço de coordenação
entre vários gatherers e brokers
Arquitetura Centralizada
Arquitetura Centralizada
 Crawlers (robots, spiders, wanderers)
• Buscam páginas na WEB
• Enviam para um servidor principal
• Roda em um sistema local
• Envia requisições servidores web remotos
Arquitetura Centralizada
 Indexer
• Cada página baixada é processada localmente
• A informação indexada é salva e a página é
descartada
• Exceção: alguns sites de busca mantêm um cachê
local algumas cópias das páginas mais populares
Arquitetura Centralizada
 Principais dificuldades
• Recolha dos dados
• Natureza dinâmica da WEB
• Volume de dados
• Sobrecarga nos servidores web
• Requisições de diferentes crawlers
• Tráfego na WEB
• Objetos recolhidos pelos crawlers
• Informações recolhidas independentemente
• Sem coordenação
Arquitetura Distribuída
 Novos elementos
• Gatheres (recolhedores)
• Brokers
Arquitetura Distribuída
 Gatherers (recolhedores)
• Coletar e extrair informações de um ou mais
servidores WEB
• Tempos de coletas são periódicos
• definidos pelo sistema
Arquitetura Distribuída
 Brokers
• Obtém informações extraídas pelo Gatherer
• Recuperam informações de Brokers
• Mecanismo de indexação
• Atualizando índices
• Interface de consulta
Arquitetura Distribuída
 Vantagens
• Redução na carga dos servidores web
• Gatherers podem rodar em um servidor web sem gerar tráfego
externo
• Redução no tráfego da rede
• Arquitetura centralizada retém todo os documentos, enquanto que a
arquitetura distribuída move apenas o que é extraído pelos
Gatherers
• Evita trabalho redundante
• Um gatherer envia informações para vários brokers, reduzindo
repetição do trabalho
Ranking na Web
Base dos algoritmos mais utilizados
Considerar a relevância de web pages por meio dos links
 Incomming links
 Outgoing Links
Conceitos Básicos
Uma página da web valiosa e informativa é geralmente apontado por um grande
número de hiperlinks, ou seja, ele tem um grande indegree (“grau de entrada”) .
Essa página é chamada um “authority”
Uma página da Web que aponta
para muitas páginas “authority”
é um recurso útil e é chamado de “hub”.
Um “hub” tem geralmente uma grande outdegree
(“grau de saída”).
LINK ANALYSIS: HUBS AND AUTHORITIES ON THE WORLD WIDE WEB
[CHRIS H.Q. DING, HONGYUAN ZHA , XIAOFENG HE , PARRY HUSBANDS , ANDHORST D. SIMON]
Hypertext Induced Topic Selection (HITS)
O algoritmo foi criado por Jon Kleinberg
Precursor do Page Rank, utilizado pelo Google.
 O algoritmo atribui pontuações de importância para os hubs e
authorities seguindo este conceito:
Uma boa authority deve ser apontada por vários bons hubs e um bom
hub deve apontar para várias boas authorities.
Hypertext Induced Topic Selection (HITS)
 Determinar subgrafo (S) composto pelo conjunto de páginas retornadas em
uma busca e páginas que apontam e são apontadas por páginas deste conjunto.
 Realizar várias iterações para determinar um “valor hub” e um “valor authority”
para cada página do subgrafo. Esses valores são normalizados.
 O algoritmo aplica iterações até que pesos de hub e authority cheguem a
convergir, isto é, até que estes pesos não variem acima de um valor prédeterminado.
Hypertext Induced Topic Selection (HITS)
Todo este processamento, que leva cerca
de alguns minutos, é realizado no momento
da consulta. Por esta razão o HITS não atende
ao requisito de tempo imposto pelos engenhos
de busca comerciais, que é de poucos segundos.
 Algumas extensões do algoritmo HITS que adicionaram análise de conteúdo à
análise puramente estrutural foram desenvolvidas pelo projeto CLEVER da IBM.
Combinando Informações Textuais e Estruturais na Recuperação de Documentos Web.
[Roberta de Souza Coelho, Marcelo Nery dos Santos,Silvio Romero Lemos Meira]
PageRank
PageRank™ é uma família de algoritmos de análise de rede que dá pesos
numéricos a cada elemento de uma coleção de documentos hiperligados,
como as páginas da Internet, com o propósito de medir a sua importância
nesse grupo por meio de um motor de busca.
O processo do PageRank™
foi patenteado pela
Universidade de Stanford.
Somente o nome PageRank™ é uma marca registrada do Google.
PageRank e Google
 O sistema PageRank é usado pelo motor de busca Google para ajudar a determinar
a relevância ou importância de uma página.
 O Google mantém uma lista de bilhões de páginas em ordem de importância, isto
é, cada página tem sua importância na Internet como um todo.
 A importância se dá pelo número de votos que uma página recebe. Um voto é um
link em qualquer lugar da Internet para aquela página.
 Os votos de páginas de alta popularidade na Web contam mais do que os votos de
sites de baixa popularidade.
 Quanto mais links uma página de Web oferece, mais diluído seu poder de votação.
 Uma boa unidade de medida para definir o PageRank™ de uma página pode ser a
percentagem (%) de páginas que ela é mais importante.
PageRank e Google
O PageRank faz uma avaliação objetiva da importância de páginas da web,
resolvendo uma equação de mais de 500 milhões de variáveis e 2 bilhões
de termos.
O mecanismo de pesquisa do Google
também analisa o conteúdo completo
de uma página e os fatores em fontes,
subdivisões e a localização exata de
cada palavra.
Quais os sites com maior PageRank?
O website Search
Engine Genie
atualizou sua lista
dos websites com
maior PageRank e
tornou a informação
pública no dia 20 de
janeiro de 2011.
Google Caffeine
 Exibe taxa maior de resultados mais recentes devido sua atualização mais
constante.
 Ocupa cerca de 100 milhões de
gigabytes de armazenamento
em um banco de dados e
adiciona novas informações
auma taxa de centenas de
milhares de gigabytes
por dia.
Google
 Vídeo – Como Google funciona
http://www.google.com/howgoogleworks/
 É possível manipular o PageRank™ atribuindo links descontextualizados com o objetivo da
página, modificando a ordenação de resultados na pesquisa pelo Google e induzindo a
resultados pouco relevantes ou tendenciosos.

Googlebombing
failure ou miserable failure: retornava biografia oficial da Casa Branca para o presidente dos
EUA, George W. Bush e em sequência a página de Michael Moore, inimigo declarado do
presidente dos EUA.
Crawlers
SPIDERS, BOTS, etc.
Crawlers
 Coleta automática e sistemática de documentos da
Web a serem indexados e consultados pela máquina
de busca
Crawlers
 Como funcionam?
Crawlers
 Estratégias de busca:
• Em Profundidade - Resulta em uma coleta
“focada”, pois o crawler caminha por todo um
determinado site antes de ir para o próximo. Podese limitar o número de níveis.
Crawlers
 Estratégias de busca:
• Em Largura com sufixo de URL - Exemplo:
*.terra.com.br. Garante cobertura balanceada entre
sites. Técnica bastante utilizada.
Crawlers
 Estratégias baseadas em conectividade
• Referências (Backlink count) - Quanto mais links
apontando para uma página maior a "importância"
dela.
• Variações recursivas - Links vindos de páginas com
maior "importância" tem maior peso. Esta é a
técnica usada pelo algoritmo PageRank™.
Crawlers
Arquitetura
Crawlers
Componentes
Crawlers
 Coletores
• Responsáveis pela requisição de páginas aos servidores
HTTP
• Extraem os links das páginas recebidas e enviam ao
escalonador
• Requisitam do escalonador uma ou mais URLs a serem
coletadas
• Podem realizar um escalonamento local (short term
scheduling)
Crawlers
 Servidor de Nomes
• Atendem requisições DNS dos coletores
• Mantêm um cache de identificadores DNS (nomes)
resolvidos
• Crucial para evitar que cada coletor faça requisições
DNS remotas
Crawlers
 Servidor de Armazenamento
• Recebem as páginas ou outros objetos coletados e
armazenam em uma base local
• Fazem a extração (parsing) de texto
• Podem tratar vários formatos: Postscript, PDF,
Word, Powerpoint, etc.
Crawlers
 Escalonador
• Responsável por decidir qual a próxima URL a ser coletada
• Coordena as ações dos coletores
• Estratégias de busca (LIFO, FIFO, PageRank)
• Deve garantir:
• Protocolo de exclusão
 Robots.txt
 Retardo mínimo entre requisições a um mesmo servidor HTTP.
• Não haverão coletas repetidas
Crawlers
 Qual a melhor estratégia de escalonamento?
• Coletar k páginas com vários tipos de escalonamento
(Randômico, FIFO, backlink e PageRank)
• Critérios de avaliação: Freqüência de termos, Backlink,
PageRank, tipo de URLs
• Resultado:
• 179.000 páginas do domínio stanford.edu
• Estratégia baseada em PageRank é a melhor
• Estratégia baseada em FIFO é boa
Crawlers
 Qual a melhor estratégia de escalonamento?
• Usando somente PageRank como métrica
• Resultado
• Estratégia FIFO descobre páginas com alto PageRank
primeiro
• Conclusão
• Máquinas com ranking baseado em conectividade
devem coletar em FIFO
Restrições
Crawlers
 Protocolo de exclusão
• Recomendação informal
• Restrições de acesso
• Delay mínimo entre requisições a um mesmo
servidor
Crawlers
 Robots.txt
• Regras de restrição para navegação automática
• Está sempre na URL raiz e deve ser consultado antes
• Obediência não é obrigatória
Robots.txt
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /junk/
• http://www.robotstxt.org/db.html
Recomendações
Crawlers
 Respeitar retardo mínimo entre requisições em um
mesmo servidor HTTP
 Usar header “User-Agent”
• Nome do robô, e-mail, responsável, instituição, etc
 Evitar horários de tráfego intenso
 Limitar o número de páginas coletadas em sites
grandes
Crawlers
 Não coletar tipos de dados não-indexáveis
• JPG, EXE, …
 Cuidado com links relativos
• <a href=“../../../material/”>Clique aqui</a>
 Cuidado com Buracos Negros (Spider Traps)
• Páginas que “prendem” o crawler num loop infinito
• Links como: http://foo.com/bar/foo/bar/foo/bar/foo/bar/....
• Páginas dinâmicas que geram número infinito de páginas
(Ex: calendários)
Browsing
Recapitulando...
Termos de Busca
Estratégia de Busca
Termos do
sistema
Browsing
“A arte de não saber o que se quer até
que se encontre”
Contraste da busca direta
Browsing
Atividade não orientada, não programada, não
sistemática, informal e casual
Níveis de atenção:
- Ao acaso
- Quase ao acaso
- Semideterminado
Browsing
Atividade não orientada, não programada, não
sistemática, informal e casual
Essencialmente visual
Acesso direto, sem mediador
Browsing
Browsing
Navegação
Contexto físico
Ponto de destino
Mas no contexto virtual, significam a mesma coisa
Diretórios Web
Ferramentas baseadas em browsing
Classifica o conhecimento humano
Pesquisas retornadas são relevantes
Cobertura relativamente pequena
Meta Buscadores
Nem todas as páginas da web estão em todos
os engenhos de busca
Meta Buscadores
Combinação de resultados de diversas fontes
Ordenação por diferentes atributos
Navegação mais simples
Diminuição da precisão
Busca usando hyperlinks
Inclui: Linguagens de consulta web
Busca dinâmica
Diminui a performance
Linguagens de consulta web:
•A pesquisa pode incluir link entre as páginas
•O modelo de grafos é o mais utilizado para essa
representação
Busca usando hyperlinks
Linguagens de consulta web:
• Nós: Páginas web
• Arestas: Hyperlink
• Modelo de semi-estrutura: Conteúdo
Por que usar esse tipo de busca?
• Combinação de estrutura com conteúdo;
• É possível extrair e integrar o conteúdo das páginas;
• Construir e restruturar sites.
Busca usando hyperlink
Busca dinâmica:
Busca online para descobrir informações relevantes dentre os links
que foram retornados na busca.
Abordagem lenta pra toda web, mas prática pra um subconjunto
específico
Heurística:
Documentos relevantes geralmente têm vizinhos que também
são relevantes
Busca usando hyperlinks
Busca dinâmica:
Algoritmo
Dada uma query, para cada passo:
•Analisar a página com mais alta prioridade;
•Se a página for relevante, a heurística decide seguir ou não
os links dessa página;
•Se decidir que sim, novas páginas serão adicionadas à lista.
Tendências e Questões de Pesquisa
Modelagem:
Adaptação às necessidades da Web;
Melhores paradigmas e melhores filtros de informação
Consulta:
Melhorar a combinação entre estrutura e conteúdo;
Processamento de linguagem natural
Arquiteturas Distribuídas:
Lidar com o crescimento da quantidade de informação
na web;
Qual será o gargalo no futuro? Capacidade dos
servidores ou largura de banda?
Tendências e Questões de Pesquisa
Ranking:
Melhores esquemas de ranking;
Exploração tanto no conteúdo como na estrutura;
The search engine persuasion problem
Indexação:
Qual a melhor visão lógica para um texto?
O que deve ser indexado?
Desafios
 Mapear e indexar toda a Web
 SEO: Search Engine Optimization
 Rastrear e indexar aplicações Web 2.0
• Making AJAX Applications Crawlable
• http://code.google.com/intl/ptBR/web/ajaxcrawling/index.html
SEO - Search Engine Optimization
 Hoje em dia cerca de 85% do tráfego na Internet inicia-se com uma
pesquisa num motor de busca como o Google, o Yahoo ou o Bing
 Conjunto de técnicas que otimizam os web sites, tornando-os mais aptos a
estarem bem colocados nas pesquisas efetuadas pelos potenciais
visitantes.
 São baseados naquilo que os buscadores levam em conta no momento da
busca.
SEO – Exemplos de fatores considerados
 Tempo de registro do domínio (Idade do domínio)
 Freqüência do conteúdo: regularidade com a qual novo conteúdo é adicionado
 Originalidade do conteúdo
 Quantidade de links externos
 Relevância do site que linka para o seu website
 Citações e fontes de pesquisa (indica que o conteúdo
é de qualidade para pesquisa)
 Links "quebrados“
 Conteúdo inseguro ou ilegal
 Qualidade da codificação HTML, presença de erros no código
Dúvidas
Referências
 http://www.apcwebconcept.com/Servicos?_Locale=pt&ID=f7dd7229-c6e1-4a3a-86ac-f3f21f1054de
 http://googleblog.blogspot.com/2010/06/our-new-search-index-caffeine.html
 http://ranger.uta.edu/~chqding/papers/hits5.pdf
 http://www.dimap.ufrn.br/~roberta/publicacoes/rita_magazine.pdf
 http://www.mestreseo.com.br/pagerank/o-que-e-pagerank
 http://www.google.com/corporate/tech.html
 http://informatica.hsw.uol.com.br/algoritmo-google1.htm
 [1]http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBYQFjAA&url=http%3A%2F%2Fww
w.di.ufpe.br%2F~sfd%2Funiverso%2Finternet%2Frec_web.doc&ei=HqrKTaf7Gcuftgeso7T6Bw&usg=
AFQjCNG14humR3V6o6-TJ4GaO2DrOpdWyw&sig2=QCfp65iffOmVmj-nHH6tRg
 [2] http://www.cetic.br/hosts/2011/index.htm
 [3]http://news.netcraft.com/archives/category/web-server-survey/
 http://www.google.co.uk/intl/en/landing/internetstats/
Download

Sistemas de RI na Web