Download ppt - Web Usage Mining

Transcript
Page 1: Web Usage Mining

Web Usage MiningWeb Usage Mining

Fábio Ávila Rêgo PessoaMariano Cravo Teixeira Neto

CIn-UFPE

Page 2: Web Usage Mining

Web: repositório de informaçãoWeb: repositório de informação

Sem padronização Enorme

• Documentos de todo tipo• Informação de links• Informação de uso e acesso

Amplamente distribuído Muito heterogêneo Não estruturado / semi-estruturado Inter-conectado Em evolução De hipertextos e hipermídia

Page 3: Web Usage Mining

WWW: FatosWWW: Fatos

Crescendo e mudando muito rapidamente• Um servidor WWW a cada 2 horas• 5 milhões de documentos em 1995• 320 milhões de documentos em 1998• Mais de 1 bilhão em 2000

Índices se tornam inadequados muito rapidamente• Necessidade para uma melhor descoberta de recursos

e extração de conhecimento

Page 4: Web Usage Mining

Web: CaracterísticasWeb: Características

Problemas:• O problema da "abundância"

99% da informação não é do interesse de 99% das pessoas

• Cobertura limitada da web Recursos da web escondidos Maioria dos dados em SGBD's

• Interface de consulta limitada, baseada em buscas por palavra-chave

• Customização limitada para usuários individuais

Page 5: Web Usage Mining

Web Mining: TaxonomiaWeb Mining: Taxonomia

Web Mining

Web Content Mining

Web Structure Mining

Web Usage Mining

Web Page Content Mining

Search Results Mining

General Access Pattern Mining

Customized Usage

Tracking

Page 6: Web Usage Mining

Tarefas de Mineração de ConteúdoTarefas de Mineração de Conteúdo

Heterogêneo Envolve técnicas e outras áreas de computação não

tradicionalemente incluídas em mineração de dados• Information Retrieval

Page 7: Web Usage Mining

Engenho de busca especializados em Engenho de busca especializados em tipos de páginas específicostipos de páginas específicos

Ahoy! (1996-2000) – "achador de homepages"• Motivação: Altavista muito impreciso. Directories pouco dinâmicos• Entrada: nome de uma pessoa e instituição• Analisa resultados de vários motores de busca• Resultados analisados sintaticamente usando heurísticas• "Adivinhar" a URL usando heurísticas• Massa de teste

Execução: 9s. 74% sucesso com top reference / 9% guess URL. Altavista: 58% sucesso (dos quais 23% top reference)

Shopbot• Agente de compras• Identifica listas de preço e ofertas especiais.• Aprende a reconhecer estruturas de documentos de catálogos on-

line e sites e e-commerce.• Tem que se ajustar às mudanças de conteúdo das páginas.

Page 8: Web Usage Mining

Linguagem de consulta para Web Linguagem de consulta para Web RestructuringRestructuring

WebOQL (1998)• Linguagem de consulta declarativa• Funcional e select-from-where• Retorna informações dentro de documentos Web.• Estrutura básica: hyperlink

Árvores ordenadas com arcos nomeados Arco interno: objetos estruturados Arco externo: referências (links)

• Exemplo: select [y.Title, y'.Url] from x in csPapers , y in x' where y.Authors ~"Smith"

Page 9: Web Usage Mining

Minerar o que o Motor de Busca achaMinerar o que o Motor de Busca acha

Motores de Busca atuais: preprocessadores convenientes para mineração• Baseado em palavra-chave, retorna respostas demais,

respostas de baixa qualidade, ainda falta muito, não customizado, etc.

Data Mining irá ajudar:• Cobertura: "Aumente e depois encolha", usando

sinônimos e hierarquias conceituais• Filtragem colaborativa: preferências de usuário/dicas.• Análise de links: páginas confiáveis e clusters• Linguagens baseadas na web: XML+WebSQL_WebML

Page 10: Web Usage Mining

Refinando e Agrupando Resultados do Refinando e Agrupando Resultados do Motor de BuscaMotor de Busca

WebSQL (Mendelzon et.al., 1996): linguagem estilo SQL para extrair documentos pertinentes• Estrutura básica:

Documents Anchors

• Select-from-where Exemplo:

• SELECT d.url, e.url, a.label• FROM Document d SUCH THAT "www.mysite.start" ->* d,• Document e SUCH THAT d => e• Anchor a SUCH THAT a.base = d.url• WHERE a.href = e.url

Algoritmo cria hierarquia conceitual (caso usar clustering hierarquico)

Page 11: Web Usage Mining

Ontologia de Resultados de BuscaOntologia de Resultados de Busca

Ainda há resultados demais em respostas típicas de motores de busca

Reorganizar os resultados usando uma hierarquia semântica (Zaiane et.al., 2001)

Mapeia resultados em hierarquias conceituais pré-existentes (manualmente desenvolvidas, ex, WordNet, Mikrocosmos)

Page 12: Web Usage Mining

Web Web StructureStructure Mining Mining

Web Structure Mining é extrair conhecimento das interconexões dos documentos.

Enorme quantidade de anotações humanas escondidas• Podem ajudar a inferir noções de "autoridade" em um tópico.

Descoberta de páginas influentes e dominantes na WWW.

HyPursuit (Weiss et.al., 1996)• Agrupamento hierárquico• Usa relações baseadas no conteúdo e nos links• Grau de similaridade proporcional ao:

Número de termos, ancestrais e descendentes em comum Número de links entre documentos

Page 13: Web Usage Mining

Busca por Páginas InfluentesBusca por Páginas Influentes

Método em procedência de jornalismo / biblioteconomia:• O fator de impacto de Garfield (1972): provê uma

avaliação numérica na citação de jornais.• Kwok (1975): uso de títulos de citações leva a uma boa

separação de cluster

Page 14: Web Usage Mining

Hyperlink Induced Topic Search (HITS)Hyperlink Induced Topic Search (HITS)

Algoritmo de Jon Kleinberg, 1998, Cornell University Boa autoridade: página apontada por bons hubs Bom hub: página que aponta para boas autoridades Duas etapas principais:

• Amostra: constrói coleção de páginas candidatas• Propagação de pesos: determina estimativas numéricas de pesos

de hub e autoridades. Saída: Lista de páginas

• Com pesos mais altos de hub• Com os pesos de autoridade mais altos.

Page 15: Web Usage Mining

Etapas do algoritmo HITSEtapas do algoritmo HITS

Começando de uma consulta convencional, HITS monta um conjunto inicial S de páginas• O conjunto S é o conjunto raiz.• As páginas são expandidas para um conjunto raiz T adicionando

páginas que estão ligadas de ou para qualquer página no conjunto inicial S.

S

T

Page 16: Web Usage Mining

Etapas do algoritmo HITSEtapas do algoritmo HITS

HITS então associa com cada página p um peso de hub h(p) e um peso de autoridade a(p), tudo inicializado para um.

Conjunto T Conjunto S

Page 17: Web Usage Mining

Etapas do algoritmo HITSEtapas do algoritmo HITS

Mesma idéia do que o EM: dados atualizam pesos que atualizam dados etc...

HITS então iterativamente atualiza os pesos de hub e autoridade de cada página

Faça pq denotar "a página p tem um link para a página q". HITS atualiza os hubs e autoridades da seguinte forma:

pq

qp

qaph

qhpa

)()(

)()(

Page 18: Web Usage Mining

Melhorias para o HITSMelhorias para o HITS

Deficiências do HITS• Computação puramente baseada em links na primeira etapa

Depois, nenhuma relação aos termos da consulta.

• Links de uma página hub propagam o mesmo peso Não resolve bem hubs com múltiplos tópicos.

Sistema CLEVER (Chakrabarti, et.al.,1998-1999)• Extensão 1: mini-hub pagelets

Previne "topic drifting" Conjuntos contíguos de links ao invés de páginas inteiras

• Extensão 2: texto âncora Usar texto dos href's Aumento os pesos dos links que ocorrem perto de instâncias

de termos de consulta

Page 19: Web Usage Mining

Connectivity ServerConnectivity Server

Connectivity Server (Bharat et.al., 1998) também extrai informação de links

Conjunto Base do HITS e CLEVER• 200 páginas resultantes da busca do Altavista

Conjunto Base do Connectivity Server• Todas as páginas retornadas pelo AltaVista

Operação• Servidor aceita consulta que leva a um conjunto L de um ou mais

URL's• Servidor retorna lista de predecessores e sucessores das páginas

de L• Usando essa informação, Connectivity Server inclui informação

sobre todos os links que existem entre as páginas da vizinhança.

Page 20: Web Usage Mining

b1

b2

bk

...

s1

s2

sk

...

f1

f2

fk

...

Back Set Start Set Forward Set

Page 21: Web Usage Mining

Connectivity ServerConnectivity Server

O grafo da vizinhança é o conjunto de:• Páginas iniciais L• Predecedores de L• Sucessores de L• Arestas entre eles.

Método de Kleinberg (HITS) é usado para computar ranking.

Filtragem de outlier (Bharat & Henzinger 1998-1999)• Integra conteúdo textual• Nós no grafo da vizinhança são vetores de termo.• Durante a expansão do grafo, podam nós distantes do vetor de

termos da consulta.• Evita contaminação de links irrelevantes.

Page 22: Web Usage Mining

Ranking de páginas baseado na Ranking de páginas baseado na popularidadepopularidade

O método de rank de páginas (Brin e Page, 1998)• Fazer o rank da "importância" das páginas Web, baseada em um

modelo de um "browser aleatório"• Inicialmente usada pra selecionar páginas para revisitar pelo crawler• Fazer o ranking das páginas em resultados de busca do Google.

Em um web crawl simulado, seguindo um link randômico de cada página visitada pode levar à revisita de páginas populares (páginas frequentemente citadas).

Brin e Page vêm pesquisas na Web como caminhadas aleatórias para atribuir "rank" independente de tópico a cada página na WWW, que pode ser usada para reordenar a saída de um motor de busca.

O número de visitas a cada página é seu PageRank. PageRank estima a taxa de visitação => nota de popularidade.

Page 23: Web Usage Mining

Ranking de páginas baseado na popularidadeRanking de páginas baseado na popularidade

Cada página p tem um número de links saindo dele C(p) (C para citação), e número de páginas apontando para a página p1,p2,...pn.

PageRank de P é obtido por

n

kk

k

pC

pPRdpPR

1 )(

)()1()(

Page 24: Web Usage Mining

ComparaçãoComparação

Google atribui rankings iniciais e os guarda independentemente de quaisquer consultas. Isso torna ele mais rápido.

CLEVER e Connectivity Server monta conjuntos raiz diferentes para cada termo de procura e prioriza aquelas páginas no contexto da consulta particular.

Google trabalha na direção para frente de link em link. CLEVER e Connectivity Server olha tanto na direção para frente

quanto para trás. Tanto as metodologias de páginas de rank de páginas e

hub/autoridades têm mostrado prover qualitativamente bons resultados de procura para tópicos de consulta muito amplos na WWW.

Page 25: Web Usage Mining

Links de NepotismoLinks de Nepotismo

Links de nepotismo são links entre páginas que estão presentes por razões outras que mérito

Spamming é usado para enganar motores de busca para dar rank alto para alguns documentos

Alguns motores de busca usam links para dar o rank de documentos (ex. Google)• Necessário para identificar e descartar links nepotistas

Reconhecer links de nepotismo na Web (Davidson 2000)• Davidson usa o algoritmo de classificação C4.5 em um grande número

de atributos de página, treinados em páginas manualmente rotuladas

Page 26: Web Usage Mining

IntroduçãoIntrodução

Web Mining: Descoberta e análise de informações úteis a partir da WWW.• Web Content Mining (WCM)

Busca automática de fontes informaç₧o online.

• Web Usage Mining (WUM) Descoberta de padrões de acesso de usuários em Servidores

Web (e.g. Apache)

Page 27: Web Usage Mining

Logs de Servidores WebLogs de Servidores Web

Servidores Web registram todas as ações dos usuarios em um web site.

Ferramentas comerciais fornecem:• Relatório de hits e bytes transferidos• URLs mais acessadas• Lista de browsers mais usados pelos usuários• Hits por hora/dia/semana/mês.• Lista de erros.• Árvore de diretórios acessados

Page 28: Web Usage Mining

Necessidade de minerar Web logsNecessidade de minerar Web logs

Logs de acesso registram várias informações para cada acesso.

A quantidade de acessos registrados, dependendo do site, pode ser enorme.

É a descoberta automática de padrões de acessos de usuários através da análise de logs de Servidores Web.

Page 29: Web Usage Mining

Aplicações de Web Usage MiningAplicações de Web Usage Mining

Proporciona:• Ganho de performance do servidor• Melhora a navega₤₧o dentro do site• Melhora o design da aplica₤₧o web.• Direcionam os clientes no comércio eletrônico• Identificam locais privilegiados para propaganda

Page 30: Web Usage Mining

Web LogWeb Log

Informações normalmente contidas em logs de Servidores Web:• IP• User Id• Timestamp• Método

GET, POST

• Path (URL)

• Status Códigos:

404,505,303...

• Tamanho• Referência

Página de origem do link

• Agente Browser + SO

• Cookie

Page 31: Web Usage Mining

Análise do WeblogAnálise do Weblog

Weblog pode:• Minerado e ser analisado multidimensionalmente • para marketing eletrônico• de forma análoga • a dados de um banco de vendas tradicional

Diferenças essenciais:• Dados semi-estruturados• Imprecisão

Page 32: Web Usage Mining

Informações faltando em WebLogInformações faltando em WebLog

Utiliza₤₧o de funções dos browsers (ex.: voltar a página anterior, scrolling up/down...)• Requisição de páginas que estavam em cache• Requisição de páginas que estavam em um servidor proxy

Page 33: Web Usage Mining

Problemas quanto a páginas dinâmicasProblemas quanto a páginas dinâmicas

• CGI: dispara executável que esconde a interação real do usuário com o site

• Diferentes ações de usuários levando ao mesmo CGI• Mesma ação do usuário, em horas diferentes, levando a CGIs

diferentes• Um usuário usando mais de um browser por vez.• Etc...

Page 34: Web Usage Mining

Ferramentas comerciais de análise de Ferramentas comerciais de análise de WebLogWebLog

Fornecem• Freqüência de erros• Agrupar ações em atividades

Ex.: Ler mensagens, etc...

• Obter freqüência de ações individuais por usuário, domínio e sessão.

• Quais componentes do site são mais/menos acessados?• Quais s₧o os eventos mais freqüentes?• Há diferença de perfis de usuários de domínios diferentes no

Website?

Page 35: Web Usage Mining

Análise Mais Aprofundada Do Que Análise Mais Aprofundada Do Que Ferramentas ComerciaisFerramentas Comerciais

Análise aprofundada:• Análise de padrões (entre

usuários, etc...).• Análise de tendências:

comportamento X tempo tráfego de rede X tempo etc...

Questões que podem ser respondidas pela análise em profundidade:• Em que contexto os

componentes do Website são utilizados?

• Seqüências de eventos mais comuns?

• Diferenças de uso do site entre os usuários?

• Diferenças de uso do site no decorrer do tempo?

• Mudanças de comportamento dos usuários no decorrer do tempo?

• Distribuição do tráfego de rede com o tempo?

Page 36: Web Usage Mining

Preparação de DadosPreparação de Dados

Pré-processamento dos dados Problemas:

• Identificar os tipos das páginas: páginas de conteúdo ou páginas de navegação.

• Identificar visitantes.• Identificar sessão, transação, seqüências, etc...• Inferir páginas de cache

Page 37: Web Usage Mining

ProblemasProblemas

Identificando visitantes:• Login, cookies, combinações de endereço IP, agente, caminho

percorrido... Identificação de sessão:

• N₧o se sabe quando um usuário sai do site. Usa-se o tempo de inatividade como heurística (20 ou 30 minutos sem uso).

Identificando ações de usuários:• Análise de caminhos e parâmetros.

Page 38: Web Usage Mining

Uso do Conteúdo e da Estrutura Uso do Conteúdo e da Estrutura durante limpeza de Dadosdurante limpeza de Dados

Estrutura: • É necessário conhecer estrutura do web site a minerar

para analisar a sessão e as transações do usuário. Ex.: Grafo de links entre as páginas.

Conteúdo: • O conteúdo das páginas visitadas pode dar idéias de

como realizar a limpeza e seleção dos dados. Ex: Agrupar páginas de transação por conteúdo

• O conteúdo de páginas dá pistas sobre o tipo da página:

Ex.: Página de navegação ou de conteúdo.

Page 39: Web Usage Mining

ClusteringClustering

Agrupando objetos que possuem características similares:• Agrupamento de transações:

Agrupar comportamentos sem se importar com conteúdo da transação ou com a identidade do usuário.

• Agrupamento de páginas e caminhos Agrupar páginas visitadas baseadas no conteúdo e usuários

• Agrupar visitantes Agrupar usuários de mesmo comportamento.

Page 40: Web Usage Mining

Classificação e associaçãoClassificação e associação

Regras de classificação de visitantes• Categorizar visitantes através da seleção de características

do site que melhor descrevem seus comportamentos.• Ex.: 40% dos visitantes que compram livros técnicos em

Recife têm entre 19 e 25 anos, e compram depois das 19:00. Regras de associação

• entre sessões e dentro das sessões

Page 41: Web Usage Mining

Sistemas de Web Usage MiningSistemas de Web Usage Mining

Gerais:• WebLogMiner (Zaïane et al, 1998)• WUM (Spiliopoulou et al, 1998)• WebSIFT (Cooley et al, 1999)

Sites Adaptativos (Perkowitz et al, 1998) Personalização e recomendação:

• WebWatcher (Joachims et al, 1998)

Page 42: Web Usage Mining

Exemplo de processo de mineração de Exemplo de processo de mineração de web log web log

O Web log deve ser filtrado para gerar dados para um banco de dados convencional (relacional, OR, OO)

Gerar um datacube a partir do banco de dados Usar ferramentas OLAP para realizar ações de drill-

down e roll-up no cubo Extração de conhecimento (OLAM)

Page 43: Web Usage Mining

Limpeza dos Dados e TransformaçãoLimpeza dos Dados e Transformação

IP, Usuário, Timestamp, M₫todo, Arquivo+parâmentros, Status, Tamanho

Máquina, Domínio da Internet, Usuário, dia, mês, ano, hora, minuto, segundo, método, arquivo, parâmetro, status, tamanho

Transformação e limpesa dos dados

Máquina, Domínio da Internet, Usuário, Field Site, dia, mês, ano, hora, minuto, segundo, Resource, Módulo/Ação, status, tamanho, Duração

Banco de Dados

Estrutura do Site

Page 44: Web Usage Mining

ConclusãoConclusão

Usar o log gerado pelo servidor Web pode ajudar a entender o comportamento do usuário e assim melhorar o funcionamento do site (design, aplicação, etc)

Nem sempre o log tem informações suficientes OLAP proporciona a visualização em diferentes

perspectivas e em diferentes níveis. Web Usage Mining oferece relatórios mais detalhados

sobre o uso do site.

Page 45: Web Usage Mining

Web Content MiningWeb Content Mining

Web Page Content Mining• Web Page Summarization• WebLog (Lakshmanan et.al., 1996)• WebOQL (Mendelzon et.al., 1998)

Pode identificar informações dentro de determinadas páginas• Ahoy! (Etzion et.al., 1997)

Usa heurísticas para distinguir páginas pessoais de outras páginas da web

• ShopBot (Etzion et.al., 1997) Procura por preços de produtos dentro de páginas da web.

Search Result Mining• Resumo de resultados de motores de busca• "Clustering Search Result (Leouski and Croft, 1996, Zamir e

Etzioni, 1997) Categoriza documentos usando frases em títulos e fragmentos

Page 46: Web Usage Mining

Web Structure MiningWeb Structure Mining

Usando Links• Hypursuit (Weist et.al., 1996)• PageRank (Brin et.al., 1998)• CLEVER (Chakrabarti et.al., 1998)

Usa interconexões entre páginas web para dar peso às páginas Usando Generalização

• MLDB (1994), VWV (1998) Usa uma representação multi-nível em banco de dados da web.

Contadores (popularidade) e listas de link são usados para capturar a estrutura.

Page 47: Web Usage Mining

Web Usage MiningWeb Usage Mining

General Access Pattern Tracking• Conhecimento a partir da navegação da página web (Shahabi

et.al., 1997)• WebLogMining (Zaiane, Xian e Han, 1998)• SpeedTracer (Wu, Yu, Ballman, 1998)• Wum (Spiliopiolou, Faulstich, 1998)• WebSIFT (Cooley, Tan, Srivastave, 1999)

Usa técnicas de KDD para entender padrões gerais de acesso e tendências. Pode dar luz a melhores estruturas e agrupamento de provedores de recursos assim como melhorias de rede e cacheamento.

Customized Usage Tracking• Sites Adaptativos (Perkowitz & Etzioni, 1997)

Analisa padrões de acesso de um usuário por vez. O site da web se re-estrutura automaticamente aprendendo de padrões de acesso do usuário.

• Personalização (SiteHelper: Ngu & Wu, 1997. WebWatcher: Joachims et.al., 1997, Mobasher et.al., 1999)

Provê recomendações aos usuários web


Recommended