• Nenhum resultado encontrado

Escalonamento de Atualizações de Páginas Web Usando Programação

N/A
N/A
Protected

Academic year: 2021

Share "Escalonamento de Atualizações de Páginas Web Usando Programação"

Copied!
51
0
0

Texto

(1)

Escalonamento de Atualizac¸ ˜oes de

P ´aginas Web Usando Programac¸ ˜ao

Gen ´etica

A ´ecio Solano Rodrigues Santos

Orientador: Nivio Ziviani

Departamento de Ci ˆencia da Computac¸ ˜ao Universidade Federal de Minas Gerais

(2)

Problema

I Web consiste em +30 trilh ˜oes de p ´aginas

Fonte: https://www.google.com/insidesearch/howsearchworks/thestory/

I M ´aquinas de busca armazenam c ´opias da Web I C ´opias locais devem ser atualizadas

I Recursos s ˜ao limitados

I Coletar p ´aginas que n ˜ao mudaram ´e desperd´ıcio Atualizar p ´aginas com maior probabilidade de

(3)

Soluc¸ ˜ao Proposta

I Arcabouc¸o baseado em aprendizado de m ´aquina I Uso de Programac¸ ˜ao Gen ´etica:

I Gerar func¸ ˜oes que atribuem scores para p ´aginas I Score de acordo com probabilidade de mudanc¸a

I Aprendizado de m ´aquina j ´a foi usado antes

I Classificac¸ ˜ao em frequ ˆencia de mudanc¸a I Agrupamento por comportamento de mudanc¸a

I Nenhum trabalho usou aprendizado para definir a

(4)
(5)
(6)

Objetivos e Desafios da Coleta

I Coverage – coletar uma grande parte das

p ´aginas dispon´ıveis na Web

I Freshness – manter c ´opias locais atualizadas I Quality – p ´aginas mais importantes devem ser

coletadas mais cedo

I User Experience – evitar mostrar p ´aginas que

n ˜ao existem mais ou s ˜ao irrelevantes

I Discoverability – descobrir rapidamente p ´aginas

(7)

Conceitos B ´asicos

&

(8)
(9)
(10)

Formas de Coleta

1. Batch Crawling

I Cada p ´agina ´e coletada somente uma vez I N ˜ao s ˜ao necess ´arias p ´aginas atualizadas

2. Incremental Crawling

I P ´aginas s ˜ao coletadas v ´arias vezes I E um processo cont´ınuo´

I Necessidade de p ´aginas atualizadas

(11)

Batch Crawling

I O objetivo ´e coletar p ´aginas mais importantes I Weighted Coverage (W C):

W C(t) = X

p∈C(t)

w(p)

I t ´e o tempo desde in´ıcio da coleta

I C(t) ´e o conjunto de p ´aginas coletado at ´et I w(p) ´e a import ˆancia da p ´aginap

(12)

Incremental Crawling

A cada ciclo, deve balancear duas ac¸ ˜oes:

1. Coletar p ´agina nova:

1.1 Aumenta cobertura (Coverage)

1.2 Prov ˆe links novos

I Melhora estimativa de import ˆancia I Melhora detecc¸ ˜ao de spam

2. Atualizar p ´agina velha:

2.1 Aumenta freshness

2.2 Detecta remoc¸ ˜ao de p ´aginas

2.3 Prov ˆe links novos

(13)

Weighted Freshness

I Objetivo ´e maximizar p ´aginas atualizadas I Weighted Freshness (WF ):

WF (t) = X

p∈C(t)

w(p) · f (p, t)

I WF (t) – freshness do reposit ´orio no momentot I C(t) – conjunto de p ´aginas coletado at ´et

I w(p)– import ˆancia da p ´aginap

(14)

Modelos de Freshness

Modelo Bin ´ario:

f (p, t) =  1 se p ´e igual `a c ´opia da Web

0 caso contr ´ario.

Modelos Cont´ınuos:

1. Idade

I Tempo que as c ´opias divergiram

2. Longevidade de Conte ´udo

I Quantidade de fragmentos atualizados

3. Centrado no usu ´ario

(15)

Pol´ıticas de Atualizac¸ ˜ao

I Modelo de Poison para mudanc¸a de p ´aginas

(Coffman et al., 1998)

I Estimadores de frequ ˆencia de mudanc¸a

(Cho e Garcia-Molina, 2003)

I Caso de web crawler: informac¸ ˜ao incompleta

I Clustering-based (Tan e Mitra, 2010)

I Amostras em n´ıvel clusters

I Caracter´ısticas est ´aticas e din ˆamicas I Probabilidades de mudanc¸a adaptativas

(16)

Pol´ıticas de Atualizac¸ ˜ao

I Sampling-based : amostras em n´ıvel de web site

(Cho e Ntoulas, 2002)

I Embarrassment-level: minimiza embarac¸amento

(Wolf et al., 2002)

I Classification-based : primeiros a usar conte ´udo

(Barbosa et al., 2005)

I User-centric: considera impacto nas buscas

(Pandey e Olston, 2005)

I Content longevity : minimiza conte ´udo incorreto

(17)

Programac¸ ˜ao Gen ´etica (GP)

I T ´ecnica para soluc¸ ˜ao de problemas baseada na

teoria da evoluc¸ ˜ao das esp ´ecies (Koza, 1992)

I Heranc¸a biol ´ogica

I Evoluc¸ ˜ao gen ´etica de indiv´ıduos I Mutac¸ ˜ao

I Cross-over

I Populac¸ ˜ao ´e composta de indiv´ıduos I Indiv´ıduos s ˜ao representados em ´arvores I Busca por soluc¸ ˜oes aproximadas em grandes

(18)

GP2C – Programac¸ ˜ao Gen ´etica

para Coleta Incremental

(19)
(20)

Indiv´ıduos

I Combina informac¸ ˜oes ´uteis para estimar de

probabilidade de uma p ´agina ter mudado

I Cada indiv´ıduo representa uma func¸ ˜ao que d ´a

score para cada p ´agina

(21)

Terminais e Func¸ ˜oes

I Terminais:

n N ´umero de vezes que a p ´agina foi visitada X N ´umero de mudanc¸as nas n visitas

t N ´umero de ciclos desde a ´ultima visita

I Terminais extraidos dos baselines I Outros terminais podem ser utilizados I Func¸ ˜oes: +,−, /, ∗,log,pow, exp

(22)

Operac¸ ˜oes Gen ´eticas: Crossover

(23)

Operac¸ ˜oes Gen ´eticas: Mutac¸ ˜ao

(24)

Operac¸ ˜oes Gen ´eticas: Mutac¸ ˜ao

(25)
(26)
(27)

Func¸ ˜ao de Fitness

I Func¸ ˜ao de fitness avalia a qualidade da func¸ ˜ao

de escalonamento

I Adotamos a m ´etrica Change Ratio:

Ci =

Dci Di

I Di– # p ´aginas coletadas no ciclo i I Dc

i – # de p ´aginas coletadas que mudaram

(28)

Simulac¸ ˜ao de Coleta

I Utiliza dados coletados previamente para

determinar quando cada p ´agina mudou

I Coleta p ´aginas Nw vezes para obter informac¸ ˜oes

b ´asicas

I Para cada ciclo dispon´ıvel:

1. Computa score de cada p ´agina usando indiv´ıduo

2. Seleciona p ´aginas de maior score

3. Usa dados para verificar se p ´agina mudou no ciclo

4. Computa Change Ratio do ciclo

(29)
(30)

Selec¸ ˜ao de Melhores Indiv´ıduos

I GP2CBest – melhor indiv´ıduo conjunto treino I GP2CAvg – considera m ´edia entre treino e

validac¸ ˜ao, menos desvio padr ˜ao

I GP2CSum – considera soma entre treino e

validac¸ ˜ao, menos desvio padr ˜ao

I Executado com v ´arias sementes aleat ´orias para

(31)
(32)

Baselines

I Consideradas melhores func¸ ˜oes que exploram

mudanc¸a de p ´aginas

I Estimador de frequ ˆencia de mudanc¸a

(Cho e Garcia-Molina, 2003) CG = − log  n − X + 0.5 n + 0.5 

I n – quantidade de visitas `a p ´agina

(33)

Baselines

I Probabilidade de mudanc¸a (Tan e Mitra, 2010)

ϕ = P r{T ≤ t} = 1 − eλpt λp = n X i=1 wi · Ii(p) I NAD:w1= w2= · · · = wn = 1 n I SAD:w1= w2= · · · = wn−1 = 0, wn = 1 I AAD:wi= Pni i=1i GAD:w = 2i−1

(34)

Dataset

I BRDC’12 – Brazilian Daily Crawl 2012 I Coletada usando InWeb Crawler

I Coleta em largura apartir de 15.000sites mais

populares de acordo com Alexa

I Selec¸ ˜ao de sites usando amostra estratificada I P ´aginas de cada site escolhido aleatoriamente I Recoleta di ´aria de Setembro a Novembro/2012 I An ´alise de dados e remoc¸ ˜ao de anomalias I http://homepages.dcc.ufmg.br/˜aeciosantos/datasets/brdc12

(35)

Dataset

BRDC’12 Dataset

Per´ıodo de monitoramento 57 dias

# de p ´aginas web 417.048

# web sites 7.171

# min p ´aginas web por site 1 # max p ´aginas web por site 2.336 M ´edia de p ´aginas por web site 58,15

(36)

Metodologia

I Validac¸ ˜ao cruzada com 5 folds

I 4 folds: Divididos em 2 para treino e validac¸ ˜ao I 1 fold: Teste

I M ´etrica de avaliac¸ ˜ao: Change Ratio I Simulac¸ ˜ao de coleta

I k igual 5% de p ´aginas do reposit ´orio I Ciclos de “warm-up” Nw = 2

I Teste t pareado com 95% de confianc¸a

(37)

Par ˆametros de GP

I Selec¸ ˜ao de valores por “forc¸a bruta”

Par ˆametro Valor

Indiv´ıduos 300

Gerac¸ ˜oes 50

Selec¸ ˜ao de indiv´ıduos Torneio de tamanho 2

Crossover 90%

Reproduc¸ ˜ao 15%

Mutac¸ ˜oes 5%

Altura m ´axima de ´arvore 10

(38)

GP2C

Best

× GP2C

Avg

× GP2C

Sum

I Empate estat´ıstico na maioria dos dias

I GP 2CBest melhor queGP 2CAvg em 1 dias

(39)

GP2C

Best

Change Ratio das melhores func¸ ˜oes GP 2CBest

Fold Train set Validation set Test set

1 0,7093 0,7080 0,7035

2 0,7049 0,6981 0,7068

3 0,7180 0,7158 0,7118

4 0,7066 0,7088 0,7130

(40)

Exemplo de Func¸ ˜ao Gerada

I GP2C pode ser usado para entender melhor as

features

I Melhores func¸ ˜oes geradas seguem um padr ˜ao:

I Os terminais X etaparecem frequentemente I n n ˜ao impacta muito o resultado

I Exemplo de func¸ ˜ao simples gerada:

X ∗ t

(41)

GP2C

Best

× Baselines

I GP 2CBest ´e superior na maioria dos ciclos

(42)

GP2C

Best

× Baselines

NAD AAD GAD CG Superior 22 27 49 50 Inferior 0 2 1 0

(43)

Change Ratio M ´edio

Pol´ıtica Fold 1 Fold 2 Fold 3 Fold 4 Fold 5 M ´edia

Rand 0.1853 0.1866 0.1855 0.1855 0.1853 0.1856 Age 0.2121 0.2139 0.2127 0.2135 0.2129 0.2130 NAD 0.6837 0.6936 0.6865 0.6941 0.6880 0.6892 SAD 0.5094 0.5189 0.5151 0.5237 0.5156 0.5165 AAD 0.6272 0.6425 0.6280 0.6424 0.6314 0.6343 GAD 0.5974 0.6074 0.5967 0.6057 0.6007 0.6016 CG 0.6399 0.6502 0.6377 0.6481 0.6435 0.6439 GP 2CBest 0.7035 0.7068 0.7118 0.7130 0.6937 0.7058 GP 2CSum 0.7033 0.7052 0.7114 0.7079 0.6760 0.7007

(44)

Uso em Coletor de Larga Escala

I O Processo GP2C deve ser executado off-line I A func¸ ˜ao aprendida ´e usada on-line, em conjunto

com uma ordenac¸ ˜ao para pegar as top-k p ´aginas

I N ˜ao ´e vi ´avel realizar acessos aleat ´orios para

atualizar dados das p ´aginas

I Atualizac¸ ˜ao pode ser realizada em batches junto

com verificac¸ ˜ao de unicidade:

I Acumular p ´aginas coletadas em um buffer I Atualizar em uma ´unica passada no reposit ´orio I Quando o crawler percebe que uma p ´agina j ´a

(45)

Custo Computacional

I On-line:

I Custo de computar score: O( |R| ) I Ordenac¸ ˜ao: O( |R| × log |R| )

I Off-line:

I Tarefa mais cara ´e a simulac¸ ˜ao de coleta:

O( No× |R| × log |R| )

I Quantidade de simulac¸ ˜ao de coletas realizadas:

(46)

Desempenho

I Tempo (s) de 5 folds (5 treinos + 5 validac¸ ˜oes) I Coeficiente de variac¸ ˜ao entre seeds ´e 1.5%

Seeds Fase 111 222 333 444 555 Total % T 43213 44321 44452 43095 44236 219316 99.624% V 161 149 196 142 171 819 0.372% T+V 43374 44470 44647 43237 44407 220136 99.996% Total 43375 44472 44649 43239 44409 220144 100.00%

(47)

Conclus ˜oes e Trabalhos Futuros

I Foi proposto um arcabouc¸o baseado em PG para

escalonamento de atualizac¸ ˜ao de p ´aginas

I GP2C foi capaz de gerar func¸ ˜oes t ˜ao boas ou

melhores que baselines

I Caso novas caracter´ısticas sejam fornecidas,

novas func¸ ˜oes podem ser geradas facilmente

I Pode ser adaptado para considerar:

I Probabilidade de p ´agina ser exibida em buscas I Clique de usu ´arios

(48)

Conclus ˜oes e Trabalhos Futuros

I Estudar o uso do arcabouc¸o para gerar func¸ ˜oes

para coletar p ´aginas importantes mais cedo

I Balancear objetivos de coleta:

Coverage× Freshness

(49)

Contribuic¸ ˜oes

I Proposta do GP2C

I Primeiro a usar GP

I Oportunidades de trabalhos futuros I Soluc¸ ˜ao fl ´exivel e vi ´avel

I Aplicac¸ ˜ao do GP2C em atualizac¸ ˜ao de p ´aginas I Avaliac¸ ˜ao experimental do arcabouc¸o

I Integrac¸ ˜ao em um web crawler de larga escala I Artigo submetido:

Learning to Schedule Web Page Updates Using Genetic Programming. SIGIR, 2013.

(50)
(51)

Escalonamento de Atualizac¸ ˜oes de

P ´aginas Web Usando Programac¸ ˜ao

Gen ´etica

A ´ecio Solano Rodrigues Santos

Orientador: Nivio Ziviani

Departamento de Ci ˆencia da Computac¸ ˜ao Universidade Federal de Minas Gerais

Referências

Documentos relacionados

* Esta problemática inicial tem como pressuposto o problema específico do pensamento e/ou filosofia latino-americana que tem sido, em grande medida, ao longo de sua história

Por exemplo, se seleccionou [Audio Source] Fonte de Áudio como tecla no painel de atalho, prima o botão frontal e será apresentado o menu [Audio Source] Fonte de Áudio... Audio

A presente pesquisa faz uma análise do contexto da política educacional que criou a Rede Nacional de Formação Continuada de Professores de Educação Básica

Nos anos iniciais do Ensino Fundamental, as atividades terão mais ou menos 1 (uma) hora e 30 (trinta) minutos, acompanhadas por voluntários, pessoas adultas ou mesmo crianças

Embora os lyric videos e os vídeos de tipografia cinética sejam feitos dentro da mesma língua de partida do áudio original, seguindo a lógica da tradução

Esses autores afirmam que em geral plantas anisohídricas apresentam aumento desse gradiente na estação seca, principalmente devido ao aumento da demanda evaporativa da