2.3 Etapas do processo
2.3.2 Descobrimento de padrões
Uma vez que os logs foram pré-processados, as técnicas estatísticas e de Data Mining podem ser aplicadas.
A análise estatística de log é o método mais simples dentro deste contexto. Atualmente, já existem várias ferramentas comerciais para este tipo de análise (STOUT, 1997, MENA, 1999). Estas ferramentas, também chamadas de ferramentas de análise de tráfego, processam o log e extraem os seguintes tipos de informações:
x Estatísticas de atividade do site: por exemplo, número total de visitas, número médio de hits e tamanho médio de navegação;
x Estatísticas de diagnóstico: erros de servidor e páginas não encontradas;
x Estatísticas do servidor: páginas mais visitadas, páginas de entrada e saída, e páginas de acesso único;
x Estatísticas do referidor: sites mais referidores, mecanismos de buscas e palavras-chaves;
x Estatísticas do cliente: browser do visitante, sistema operacional e cookies;
x Dados demográficos: localização geográfica e países, cidades, organizações mais ativas.
Estas estatísticas, geralmente apresentadas em relatórios e gráficos, são utilizadas pelos administradores para melhorar o desempenho do sistema, para facilitar as tarefas de modificação do site e para auxiliar em decisões de marketing (SRIVASTAVA et al., 2000).
Comparado com a análise estatística de log, as técnicas de Data Mining são mais eficientes pois conseguem extrair observações mais complexas. As técnicas mais utilizadas são: a mineração de regras de associação, a mineração de padrões seqüenciais e a clusterização.
2.3.2.1 Mineração de regras de associação
Os algoritmos de mineração de regras de associação foram inicialmente desenvolvidos para a análise de cesto de compra (marketbasket analysis). O algoritmo Apriori (AGRAWAL & SRIKANT, 1994), apesar de ter sido o primeiro a ser desenvolvido, continua a ser um dos mais utilizados nesta tarefa.
A mineração de regras de associação é utilizada para encontrar padrões freqüentes, isto é, associações e correlações entre conjuntos de itens. No ambiente web, as regras de associação são normalmente usadas para verificar as correlações entre páginas acessadas durante uma sessão. Estas regras indicam a possibilidade de relação entre páginas, mesmo se elas não estiverem diretamente conectadas.
Esta noção de padrão freqüente depende de duas medidas: o suporte e a confiança. A medida de suporte expressa o número mínimo de sessões para formar uma regra de associação, que são do tipo “Se-Então”. Como a forma geral de uma regra é X => Y (“se X então Y”), onde X e Y são conjuntos de páginas web, um suporte de s% para esta regra de associação significa que X e Y estão contidos em s% das sessões. A confiança é calculada como a razão entre o suporte da regra X => Y e o número de sessões que contém X. Esta medida expressa a probabilidade que o conjunto de páginas Y seja visitado quando o conjunto X for visitado. Por exemplo, considere as seguintes navegações contidas na Tabela 2.2.
Sessão Páginas visitadas
1 A, B, C
2 A, C
3 A, D
4 B, E, F
Tabela 2.2 – Exemplo de navegações
Estabelecendo o suporte mínimo e a confiança mínima em 50%, obtêm-se duas regras:
x A => C (suporte = 50%, confiança = 66,6%) x C => A (suporte = 50%, confiança = 100%)
A grande desvantagem da mineração de regras de associação é que a ordem das páginas numa sessão não é considerada. Assim, uma sessão onde uma página A é visitada antes da página B será considerada da mesma forma que uma sessão onde a página A é visitada após a página B.
Como esta ordem de visitação é essencial tanto para a previsão de próxima requisição quanto para buscar usuários com navegações similares, a mineração de padrões seqüenciais aparece como uma das soluções para estes problemas.
2.3.2.2 Mineração de padrões seqüenciais
O problema de mineração de padrões seqüenciais foi introduzido por AGRAWAL &
SRIKANT (1995), juntamente com o algoritmo AprioriAll. No trabalho seguinte (SRIKANT & AGRAWAL, 1996), os mesmos autores propuseram o algoritmo GSP, que é vinte vezes mais rápido que o AprioriAll.
A mineração de padrões seqüenciais, que é uma extensão da mineração de regras de associação, permite buscar por co-ocorrências incorporando a noção de tempo (ordem dos eventos, isto é, cliques. Desta forma podem-se descobrir quais páginas foram acessadas após um determinado conjunto de páginas. Por exemplo: 23% dos usuários do site visitam a página A, depois a página B e então a página C.
Neste caso, o suporte deste padrão seqüencial é constituído apenas por sessões que contêm as páginas A, B e C, precisamente nesta ordem, mas não necessariamente consecutivos. Geralmente a medida de confiança não é usada para padrões seqüenciais, embora possa ser calculada considerando como sendo um caso especial de regra de associação (de forma geral X => Y). Os primeiros n-1 itens seriam o conjunto X e o último item seria o conjunto Y.
Devido a esta restrição de ordem, esta medida de suporte geralmente é menor que o suporte das regras de associação correspondentes (com as mesmas páginas). Em Web Usage Mining, dependendo da quantidade de páginas do web site e do número de visitantes, os valores de suporte dos padrões seqüenciais podem chegar a 0,1%
(TANASA, 2005).
2.3.2.3 Clusterização
A clusterização agrupa itens que possuem características similares. No contexto de Web Usage Mining, utiliza-se esta técnica para identificar grupos de usuários ou grupos de páginas dos arquivos de log, onde cada cluster representa um conjunto de objetos com interesses ou características comuns:
x A clusterização de usuários encontra grupos com interesses comuns baseados em seus comportamentos durante a navegação no site (FU et al., 1999);
x A clusterização de página gera grupos de páginas de acordo com o acesso dos usuários. Estes conhecimentos são importantes, por exemplo, para inferir sobre aspectos demográficos dos usuários. Com isso pode-se fazer uma segmentação de mercado ou uma personalização de conteúdo.
Esta similaridade é obtida utilizando-se uma medida de distância definida para o conjunto (ou seqüência) de page views. Para preparar os dados de navegação para a clusterização, a solução mais comum é transformar cada sessão num vetor de n elementos, onde n corresponde ao número de páginas do web site.
WANG & ZAIÄNE (2002), além de proporem um novo algoritmo para clusterização baseado em alinhamento seqüencial, fazem um bom resumo das técnicas existentes de clusterização.
2.3.2.4 Classificação
Uma tarefa de classificação mapeia um dado em uma das classes pré-definidas (SRIVASTAVA et al., 2002). No ambiente web, é interessante que os usuários que navegam num site possam pertencer a uma determinada classe ou categoria. Num site de comércio eletrônico, por exemplo, um usuário poderia ser classificado como “não cliente”, “cliente novo” ou “cliente regular” de acordo com a sua navegação. As regras descobertas permitiriam que fossem feitas ofertas especiais para cada tipo de cliente (BÜCHNER & MULVENNA, 1998).
A classificação pode ser feita utilizando algoritmos de aprendizado supervisionado, como árvore de decisão, k-nearest neighbor (kNN), Support Vector Machine (SVM), etc. (HAN & KAMBER, 2001, CORTES & VAPNIK, 1995, SUN et al., 2002).