• Nenhum resultado encontrado

Aplicação de Técnicas de Mineração de Dados em Logs de Servidores Web

N/A
N/A
Protected

Academic year: 2021

Share "Aplicação de Técnicas de Mineração de Dados em Logs de Servidores Web"

Copied!
12
0
0

Texto

(1)

Aplicac¸˜ao de T´ecnicas de Minerac¸˜ao de Dados em Logs de

Servidores Web

Ramon Chiara1 , Maria Carolina Monard1 1Laborat´orio de Inteligˆencia Computacional Instituto de Ciˆencias Matem´aticas e de Computac¸˜ao da

Universidade de S˜ao Paulo

Av. do Trabalhador S˜ao-Carlense, 400 - Centro - Cx. Postal 668 13560-970 - S˜ao Carlos - S˜ao Paulo - Brasil

{ramon,mcmonard}@icmc.usp.br

Abstract. There is a continuous growth in the size and use of the World Wide

Web. Understanding users navigation preferences plays an important role in the process of customizing and adapting the site’s interface for the users. In this work we focus on techniques to study the user behaviour when navigating within a web site using the information stored in web server logs, and propose the use of Inductive Logic Programming (ILP) to extract relational knowledge from the set of user navigation sessions which characterize the interaction with the web pages visited. We also describe an implementation of this proposal and report initial experiments conducted using the ILP system Progol on a real log file.

Resumo. H´a um crescimento cont´ınuo no tamanho e no uso da World Wide Web.

Entender as preferˆencias de cada usu´ario ´e vital no processo de personalizac¸˜ao e adaptac¸˜ao da interface dos sites. Neste trabalho, s˜ao discutidas e analisadas algumas t´ecnicas utilizadas para estudar o comportamento do usu´ario durante a navegac¸˜ao em um site, usando as informac¸˜oes armazenadas nos logs de servi-dores Web, e ´e proposta a utilizac¸˜ao de Programac¸˜ao L´ogica Indutiva (PLI) para extrair conhecimento relacional das sess˜oes de navegac¸˜ao que caracte-rizam a interac¸˜ao de usu´arios com as p´aginas visitadas no site. Tamb´em s˜ao descritas uma implementac¸˜ao desta proposta e os resultados de experiˆencias iniciais na utilizac¸˜ao do sistema de PLI Progol em um arquivo de log real.

1. Introduc¸˜ao

A Internet, desde a sua criac¸˜ao, tem crescido constantemente. Uma vasta quanti-dade de servic¸os apareceu contribuindo para sua expans˜ao. Servic¸os de correio eletrˆonico, listas de discuss˜ao, troca de arquivos e a World Wide Web (WWW) s˜ao alguns exemplos. Al´em do tamanho, o seu conte´udo tamb´em tem acompanhado esse crescimento. Com essa massa crescente de dados dispon´ıvel ao p´ublico, surgiram alguns problemas, tais como: a necessidade das pessoas recorrem aos sites de busca quando precisam encontrar alguma informac¸˜ao espec´ıfica na Web, moldar o conte´udo e a forma do site de maneira a agradar os usu´arios, descobrir quem s˜ao as pessoas que visitam um site, entre outros.

As t´ecnicas de Web Mining e de Recuperac¸˜ao de Informac¸˜ao podem ser uti-lizadas para resolver parte desses problemas. Web Mining pode ser considerada como uma instanciac¸˜ao de Minerac¸˜ao de Dados (MD) sendo que, em Web Mining, os dados prov´em da Web. Uma das sub-´areas de Web Mining ´e a Web Usage Mining, na qual s˜ao estudados, entre outros, os arquivos de log de servidores Web. Esses arquivos podem ser

(2)

considerados como um “livro de registros” no qual s˜ao registradas as requisic¸˜oes feitas ao servidor. Assim como no processo geral de MD, ´e prefer´ıvel que arquivo de log encontre-se em um formato adequado para que as t´ecnicas de Web Usage Mining encontre-sejam aplicadas. Semelhante a um Data Warehouse para MD, isso pode ser alcanc¸ado com um Data

Web-house [Kimball and Merz, 2000], como ilustrado na Figura 1.

DB WarehouseData MiningData

Resultados

Log WebhouseData Web

Mining

Resultados

Figura 1: Paralelo entre Data

Ware-house e Data WebWare-house

Ap´os os dados dos arquivos de log estarem no Data Webhouse, eles tˆem o po-tencial de fornecer detalhes valiosos so-bre cada “gesto” efetuado por um usu´ario de um site da Web. Os logs constituem uma imensa fonte de dados comportamen-tais porque indiv´ıduos interagem, por meio de seus navegadores, com os sites da Web. Al´em disso, estando esses dados em um formato apropriado, pode-se analis´a-los e combin´a-los com outras fontes de dados, e adapt´a-los para serem usados por algoritmos de Aprendizado de M´aquina (AM), por exemplo, com o objetivo de se extrair conhecimento desses dados, apoiando, assim, o processo de tomada de decis˜oes.

Neste trabalho ´e descrita a proposta e a implementac¸˜ao de um Data Webhouse simples a partir de um arquivo de log. Tamb´em ´e proposto o uso de algoritmos de apren-dizado relacional, tais como PLI, para extrair conhecimento desses dados. Experimentos iniciais utilizando o sistema de PLI Progol e um arquivo de log real tamb´em s˜ao descritos. Este trabalho est´a organizado da seguinte maneira: na Sec¸˜ao 2 ´e feita uma pequena introduc¸˜ao sobre a ´area de Web Mining; na Sec¸˜ao 3 ´e mostrado o que ´e um Data Webhouse e alguns detalhes de sua implementac¸˜ao; na Sec¸˜ao 4 algumas ferramentas de Web Usage

Mining existentes s˜ao analisadas; na Sec¸˜ao 5 ´e descrita a proposta e a implementac¸˜ao de

um Data Webhouse e sua utilizac¸˜ao por algoritmos de Aprendizado de M´aquina proposi-cional e relaproposi-cional; na Sec¸˜ao 6 s˜ao descritos alguns dos resultados obtidos com a fer-ramenta proposta e na Sec¸˜ao 7 s˜ao apresentadas as conclus˜oes e algumas propostas de trabalhos futuros.

2. Web Mining

Segundo [Kosala and Blockeel, 2000], “Web Mining ´e o uso de t´ecnicas de

Mine-rac¸˜ao de Dados para descobrir e extrair automaticamente informac¸˜oes a partir de docu-mentos e servic¸os da Web.”. Ou seja, refere-se ao processo de se descobrir informac¸˜ao

ou conhecimento ´util, previamente desconhecido, a partir de dados da Web. Web Mining pode ser dividido em trˆes sub-´areas: Web Content Mining, Web Structure Mining e Web

Usage Mining, descritas brevemente a seguir.

2.1. Web Content Mining

Muito do conhecimento na Web est´a dentro dos documentos, ou seja, no seu conte´udo. O processo de descoberta de informac¸˜oes ´uteis a partir desse conte´udo ´e chamado de Web Content Mining. Os principais usos de Web Content Mining s˜ao:

Sumarizac¸˜ao: utilizando a pouca estruturac¸˜ao que o HTML1 oferece, ´e poss´ıvel

suma-rizar o conte´udo das p´aginas da Web.

1HyperText Markup Language— linguagem de marcac¸˜ao de textos utilizada para definir as

(3)

Categorizac¸˜ao: algoritmos de AM podem ser aplicados ao conte´udo das p´aginas de maneira a permitir que o computador classifique essas p´aginas de acordo com uma ontologia.

Descoberta de conhecimento: a enorme colec¸˜ao de textos dispon´ıveis na Web mostra-se uma valiosa massa de dados para a descoberta de novos conhecimentos.

2.2. Web Structure Mining

Grac¸as a interconex˜ao entre documentos, a WWW pode revelar mais informac¸˜oes do que simplesmente as relacionadas ao conte´udo dos documentos. Por exemplo, muitos

links2 apontando para um documento indicam sua popularidade, enquanto muitos links saindo de um documento indicam uma riqueza de t´opicos cobertos pelo mesmo. O pro-cesso que tenta descobrir o modelo que est´a por tr´as dessa estrutura de links ´e chamado de Web Structure Mining. A id´eia ´e que os links codificam uma consider´avel quantidade do julgamento humano. Mais especificamente, a criac¸˜ao de um link numa p´agina indica que seu autor conferiu autoridade para a p´agina sendo referenciada por esse link. P´aginas em que chegam muitos links s˜ao chamadas de autoridades. Hubs, ao contr´ario, s˜ao as p´aginas que centralizam essas autoridades. Em [Slattery and Mitchell, 2000] s˜ao descri-tos algoritmos que encontram hubs e autoridades. Percebe-se que hubs e autoridades mant´em uma relac¸˜ao de reforc¸o m´utuo: bons hubs apontam para boas autoridades, e uma boa autoridade ´e aquela que ´e apontada por um bom hub. Na Figura 2 ´e ilustrada essa relac¸˜ao. Hub Autoridade Autoridade Autoridade Autoridade

Figura 2: Hubs e Autoridades

Os poss´ıveis usos para Web

Struc-ture Mining s˜ao:

Colocac¸˜ao (ranking): Quando um docu-mento ´e uma autoridade, ele pode ser favorecido na colocac¸˜ao no processo de recuperac¸˜ao de informac¸˜ao.

Fluxo de informac¸˜ao: descobrindo a es-trutura que os links formam, pode-se estudar como o fluxo de informac¸˜oes afeta o projeto de um

site, fornecendo id´eias de como

melhor´a-lo. 2.3. Web Usage Mining

Cada servidor Web guarda, localmente, uma colec¸˜ao de registros sobre a interac¸˜ao dos usu´arios: os logs de acesso. Web Usage Mining utiliza-se desses dados para descobrir informac¸˜oes sobre os usu´arios da Web, tais como seus comportamentos e seus interesses. Como a informac¸˜ao dos logs ´e bem estruturada, pode-se aplicar t´ecnicas de Minerac¸˜ao de Dados sobre esses dados. Al´em disso, pode-se fazer uso do conhecimento do dom´ınio, que pode ser o assunto que o site trata, e/ou a sua topologia. Os poss´ıveis usos para Web

Usage Mining s˜ao:

Personalizac¸˜ao: a descoberta do perfil do usu´ario pode ser ´util na personalizac¸˜ao da interface ou do conte´udo de um site, de maneira a ajud´a-lo a atingir seus objetivos.

Marketing: saber quem freq¨uenta um determinado site pode ser de grande valia para

marketing. Com esse conhecimento, pode-se sugerir rearranjos autom´aticos no site, de maneira que o cliente seja guiado para p´aginas com produtos que ele

po-tencialmente compraria.

(4)

Proxies: descobrindo-se o padr˜ao de acesso dos usu´arios, pode-se programar um servidor

proxy3para efetuar o download das pr´oximas p´aginas que o usu´ario provavelmente

ir´a visitar, enquanto ele lˆe a primeira p´agina.

Eficiˆencia: descobrir quais p´aginas n˜ao est˜ao sendo acessadas pode sugerir futuros rear-ranjos no site. Mais que isso, pode-se descobrir, por exemplo, qual o padr˜ao de acesso dos usu´arios que compram produtos no site e quais s˜ao apenas visitantes do site.

Recuperac¸˜ao de Informac¸˜ao: uma outra fonte de dados para Web Usage Mining s˜ao os

logs das m´aquinas de busca, ou seja, quais as palavras que foram usadas pelo

usu´ario na busca e quais os sites que o usu´ario achou relevantes para aquelas palavras.

Como pode ser observado, a utilizac¸˜ao de algoritmos de Aprendizado de M´a-quina e t´ecnicas de Minerac¸˜ao de Dados em dados da Web caracterizam o Web Mining. Entretanto, a distinc¸˜ao entre Web Content Mining, Web Structure Mining e Web Usage

Mining ´e tˆenue.

3. Construindo um Data Webhouse

Os servidores Web fornecem uma nova fonte de dados chamada de seq¨uˆencia de cliques. Essa seq¨uˆencia de cliques ´e um registro de cada “gesto” feito por um visitante de um site da Web. A seq¨uˆencia de cliques ´e, potencialmente, um registro muito melhor do comportamento do usu´ario do que outras fontes de dados mais tradicionais. Pode-se analisar como um usu´ario chegou at´e um site, qual seu prop´osito e qual a qualidade de sua experiˆencia. Pode-se saber quanto tempo um usu´ario levou para localizar algo no site e ´e poss´ıvel induzir, analisando o seu comportamento, se teve satisfac¸˜ao ou descontentamento com o site. Por exemplo, em um ambiente de varejo baseado na Web, tem-se a oportu-nidade de seguir o cliente durante toda sua viagem de compras. Pode-se medir o que ele olha, quanto tempo olha, o que seleciona e o que rejeita. ´E como se fosse poss´ıvel olhar por sobre o ombro do cliente enquanto ele faz suas compras. O mais interessante ´e que se pode modificar a loja enquanto o cliente “anda” por ela. Ou seja, pode-se reorganizar as “gˆondolas virtuais” para mostrar ´ıtens que, provavelmente, um cliente compraria.

Como mencionado anteriormente, o Data Webhouse ´e a instanciac¸˜ao Web do Data

Warehouse. Ele armazena dados de seq¨uˆencia de cliques e outros dados comportamentais

da Web que guiam a compreens˜ao do comportamento do cliente. A fonte de dados que alimenta o Data Webhouse consiste, basicamente, dos registros de log produzidos pelo servidor Web toda vez que uma requisic¸˜ao HTTP ´e completada. Por isso, entender as interac¸˜oes entre um navegador e um servidor Web ´e essencial para compreender a fonte e o significado dos dados da seq¨uˆencia de cliques.

A seguir s˜ao descritas algumas das informac¸˜oes dos registros de logs utilizadas neste trabalho:

host enderec¸o do computador do usu´ario. Essa informac¸˜ao vem do protocolo TCP/IP,

que ´e um dos protocolos utilizados na Internet e que possibilita a conex˜ao entre dois computadores.

date tamb´em s˜ao registradas a data e a hora em que foi feita a solicitac¸˜ao de um arquivo. request o nome do arquivo que foi requisitado ´e outra informac¸˜ao que ´e armazenada no

log. Na verdade, orequest ´e mais que isso: ele cont´em a string de requisic¸˜ao que inclui, al´em do nome do arquivo requisitado, o m´etodo que deve ser utilizado na recuperac¸˜ao do mesmo e a vers˜ao do protocolo sendo utilizada.

3Servidor que armazena os documentos freq¨uentemente requisitados a fim de reduzir a carga em

(5)

status o protocolo HTTP retorna para o cliente, al´em do arquivo requisitado, um c´odigo

de status, indicando o sucesso da requisic¸˜ao ou, em outras situac¸˜oes, alguma anomalia.

bytes o n´umero de bytes retornado para o cliente, excluindo os cabec¸alhos do protocolo

HTTP, ou seja, o tamanho do arquivo requisitado.

user-agent nome e vers˜ao do navegador sendo utilizado pelo usu´ario. Esse dado tamb´em

pode trazer a informac¸˜ao sobre qual sistema operacional o navegador est´a sendo executado.

referer quando clica-se num link de uma p´agina que est´a sendo mostrada no

nave-gador, este pode enviar para o servidor Web o enderec¸o da p´agina atualmente sendo mostrada. Assim, pode-se saber em que p´agina havia um link para um arquivo armazenado no servidor que est´a respondendo a requisic¸˜ao. Na Fi-gura 3 ´e ilustrado um navegador mostrando a p´aginahub.html que encontra-se no encontra-servidor www.outrosite.com. Essa p´agina possui um link para o arquivo texto.html que encontra-se no servidor www.nossosite.com. Se o usu´ario clicar no link, uma requisic¸˜ao ser´a feita para o servidor

www.nossosite.com e ele poder´a saber que esse link estava no enderec¸o

http://www.outrosite.com/hub.html.

texto.html http://www.outrosite.com/hub.html

Navegador Servidor: www.nossosite.com Páginas HTML

hub.html hub.html hub.html hub.html http://nossosite.com.br/texto.html hub.html hub.html hub.html hub.html hub.html hub.html hub.html hub.html hub.html hub.html hub.html hub.html

Referer: www.outrosite.com.br/hub.html GET texto.html

Figura 3: O protocolo HTTP tamb ´em carrega outras informac¸ ˜oes, como o

referer

´

E importante notar que o processamento da seq¨uˆencia de cliques tem como ob-jetivo final preparar os dados para que sejam carregados em um Data Webhouse. Esse processamento pode ser resumido em:

Filtrar registros n˜ao necess´arios: mesclar dados associados e excluir registros que n˜ao ser˜ao carregados no Data Webhouse. ´E necess´arios reduzir o volume de dados sem comprometer a integridade dos mesmo.

Identificar sess˜oes: marcar registros associados a uma ´unica sess˜ao4 e verificar se os tempos dos eventos s˜ao coerentes.

Identificar usu´arios: se poss´ıvel, fazer a correspondˆencia entre um usu´ario e um iden-tificador de sess˜ao. A diferenc¸a entre a sess˜ao e o usu´ario ´e que a sess˜ao sempre pertence a um ´unico usu´ario, enquanto que o usu´ario pode “criar” v´arias sess˜oes visitando o site em dias diferentes, por exemplo.

Identificar hosts: Converter os enderec¸os de IPs dos usu´arios e dosrefererspara o seu equivalente em texto. Assim, pode-se obter, por exemplo, o pa´ıs de origem. Colocar os dados em um formato ´unico: transformar os dados das seq¨uˆencias de

cli-ques para um formato bem definido e que seja utiliz´avel pelas ferramentas de Minerac¸˜ao de Dados.

(6)

4. Ferramentas para An´alise de Logs

S˜ao v´arias as ferramentas freeware dispon´ıveis para realizar e/ou auxiliar no pro-cesso de Web Usage Mining que podem ser encontradas na Web. Foram escolhidas, para an´alise, duas ferramentas com caracter´ısticas diferentes mas que possuem facilidades se-melhantes `as encontradas na maioria das ferramentas freeware pesquisadas: Apache2Dot e Webalizer. As an´alises foram realizadas utilizando logs do servidor Web do ICMC. 4.1. Apache2Dot

A ferramenta Apache2Dot consiste de um programa desenvolvido em Perl [Wall and Schwartz, 1991] que transforma um arquivo de log no formato ECLF

(Ex-tended Common Log Format) em um arquivo com informac¸˜oes que permitem gerar um

grafo direcionado. Esse arquivo pode ser usado como entrada para dois outros programas chamadosdoteneato, os quais fazem parte de uma ferramenta chamada GraphViz5. O

dotcria disposic¸˜oes hier´arquicas de grafos dirigidos, enquanto oneatocria disposic¸˜oes do tipo “mola” de grafos n˜ao direcionados. A combinac¸˜ao dessas duas ferramentas per-mite a visualizac¸˜ao dos links das p´aginas do site em estudo, conforme eles foram sendo clicados. Cada arquivo do site ´e representado por um n´o do grafo e uma aresta orientada ´e desenhada partindo de cadarefererpara os arquivos que tenham sido clicados. A cor dessas arestas ´e proporcional `a quantas vezes o link foi usado.

Na execuc¸˜ao da ferramenta no log do ICMC, notou-se que era impratic´avel a visualiazac¸˜ao do grafo gerado devido ao enorme n´umero de n´os e arestas criadas. Foi ent˜ao realizado uma limpeza no log excluindo-se os registros menos relevantes mas, mesmo assim, mal podia-se ter a noc¸˜ao do todo. Para contornar o problema, decidiu-se alterar o c´odigo da ferramenta de forma que esta apredecidiu-sentasdecidiu-se partes decidiu-selecionadas do grafo gerado. A Figura 4 mostra o resultado para p´aginas relacionadas ao PosComp (Prova realizada como requisito para o ingresso em alguns dos cursos de P´os-Graduac¸˜ao no Brasil). /~poscomp/biblio.html /~poscomp/exames.html 50.80 /~poscomp/proposta.html 29.46 50.80 12.79 /~poscomp/datas.html 11.77 /~poscomp/enderecos.html 30.93 /~poscomp/inscr_cand.html 8.48 /~poscomp/inscricoes.html 14.36 /~poscomp/oque.html 9.05 29.46 12.79 12.85 /~poscomp/historico.html 23.28 /~poscomp/computacao/index.html /~poscomp/matematica/index.html 26.48 26.48 11.77 8.25 16.76 33.06 /~poscomp/inscr_inst.html 9.50 /~poscomp 23.27 30.93 8.25 27.77 8.48 16.76 17.13 12.40 9.37 14.36 33.06 27.77 17.13 9.50 12.40 27.13 30.19 12.17 66.23 28.20 23.27 8.73 40.90 67.46 49.14 /~poscomp/insts.html 39.26 9.05 12.85 9.37 24.30 23.28 24.30 /~posgrad/comp/proc_sel.htm 19.99 /~posgrad/comp/proc_sel_mest.htm 26.23 /~posgrad/comp/proc_sel_vagas.htm 7.63 12.02 26.23

Figura 4: Parte do grafo correspondente `as p ´aginas do PosComp

Ap´os realizar essa alterac¸˜ao, pode-se observar que a ferramenta ´e muito ´util para a an´alise da navegac¸˜ao entre as p´aginas.

4.2. Webalizer

O Webalizer produz estat´ısticas de uso em formato HTML para visualizac¸˜ao em navegadores. Os resultados s˜ao apresentados tanto numericamente, por meio de tabelas, como graficamente, o que facilita a interpretac¸˜ao dos dados. Estat´ısticas de uso anual,

5

(7)

mensal, di´ario e por hora s˜ao apresentados, assim como a possibilidade de mostrar o uso categorizado por site, URL,referer, tipo de navegador, palavras pesquisadas, p´agina de entrada e de sa´ıda, usu´ario e pa´ıs. Algumas dessas informac¸˜oes est˜ao dispon´ıveis somente se forem suportadas e estiverem presentes no arquivo log sendo processado.

Foi observado que a ferramenta oferece alguns resultados interessantes, por exem-plo, as palavras que foram utilizadas pelos usu´arios em sites de busca. Um outro resul-tado importante ´e a tabela de referers. Com as informac¸˜oes dessa tabela, pode-se, por exemplo, verificar se um banner de propaganda est´a sendo bem sucedido, uma vez que pode-se verificar a quantidade de acessos que est´a sendo feito ao site por meio desse

banner. A an´alise de outros resultados pode ser encontrada em [Chiara, 2003].

Da mesma maneira que com a ferramenta Apache2Dot, o Webalizer foi executado no arquivo de log do ICMC e algumas alterac¸˜oes foram feitas em seu c´odigo. Deve-se ressaltar que um ponto positivo de ambas ferramentas ´e que, pelo fato de serem

free-wares e open source, pˆode-se alterar o c´odigo de forma que sua funcionalidade atendesse

necessidades espec´ıficas.

5. A Ferramenta Proposta

Como mencionado, o objetivo deste trabalho consiste do projeto e implementac¸˜ao de um Data Webhouse e do uso de algoritmos de aprendizado relacional para extrair conhecimento desses dados. O Data Webhouse foi constru´ıdo utilizando v´arias das fer-ramentas suportados pelo Sistema DISCOVER, descritas a seguir, que est´a sendo

imple-mentada no LABIC6— Laborat´orio de Inteligˆencia Computacional — com o objetivo de auxiliar nas diversas etapas do processo de Minerac¸˜ao de Dados.

Ao se aplicar as t´ecnicas de MD utilizando-se algoritmos de Aprendizado de M´aquina enfrenta-se um problema: a maioria dos algoritmos de AM utilizam um formato diferente para os arquivos de entrada. De forma a contornar esta dificul-dade, foi desenvolvida uma sintaxe padr˜ao para a representac¸˜ao desses arquivos de en-trada [Batista, 2001], os quais consistem num arquivo de dados (exemplos) propriamente dito, no formato atributo-valor (arquivo.data), e num arquivo que descreve os atributos desses dados (arquivo.names). Esses arquivos, na sintaxe padr˜ao, s˜ao utilizados pelo Sistema DISCOVER [Prati, 2003]. Ele consiste, basicamente, de um conjunto de scripts Perl e de uma biblioteca de rotinas que s˜ao utilizadas pelos scripts. Esses scripts est˜ao sendo integrados atrav´es de uma interface gr´afica [Geromini, 2002] e alguns deles s˜ao filtros que transformam arquivos de dados na sintaxe padr˜ao para a sintaxe dos arquivos de entrada dos diversos algoritmos de AM proposicional suportados atualmente pelo Sis-tema DISCOVER. A Figura 5 mostra um exemplo de utilizac¸˜ao de filtros no Sistema

DISCOVER. .names .data Sintaxe CN2 Sistema Discover Filtros CN2 C4.5 C5.0 Algoritmos de AM .names .data Sintaxe C5.0 .names .data Sintaxe Padrão

Figura 5: Exemplo de utilizac¸ ˜ao de fil-tros no Sistema DISCOVER

Assim, para que arquivos de

logs de servidores Web possam ser

uti-lizados no Sistema DISCOVER com o objetivo de extrair conhecimento desses logs, foi desenvolvido um fil-tro que transforma esses logs em ar-quivos de dados na sintaxe padr˜ao do

DISCOVER. Com relac¸˜ao ao arquivo

de log, deve ser observado que os

webmasters podem instrumentar o site

6

(8)

de maneira a incluir informac¸˜oes adi-cionais nesse arquivo. Neste trabalho consideramos o arquivo de log padr˜ao no formato ECLF pois ele ´e o utilizado pela maioria dos webmasters.

Al´em da transformac¸˜ao do arquivo de log para a sintaxe padr˜ao do DISCOVER, as etapas de filtrar registros, bem como identificar sess˜oes e hosts, conforme descrito na Sec¸˜ao 3, tamb´em foram implementadas (log2discover.pl na Figura 6), constru-indo assim o Data Webhouse no formato padr˜ao do DISCOVER. Deve ser observado que, como os dados no Data Webhouse n˜ao contˆem nenhuma outra informac¸˜ao adicional, n˜ao existe uma forma eficaz de se identificar o usu´ario, mas sim uma sess˜ao. Ap´os a construc¸˜ao desse Data Webhouse, ´e poss´ıvel utilizar as facilidades implementadas no am-biente computacional Discover Learning Environment (DLE) [Batista and Monard, 2003, Batista and Monard, 2004] do DISCOVERpara criar filtros que transformam os dados no

Data Webhouse para o formato do algoritmo escolhido para a experiˆencia.

Assim, foram implementados os filtros para o algoritmo de AM proposicional C5.0 [Quinlan, 1987] denominadodiscover2c5.ple para o algoritmo de AM rela-cional Progol [Muggleton, 1995] denominado discover2progol.pl. O processo proposto para a utilizac¸˜ao desses filtros ´e ilustrado na Figura 6.

log.data log.names log2discover log resultado resultado progol C5 discover2c5 discover2progol filtragem identificar hosts formato único filtragem cálculo da sessão cálculo da sessão filtragem Data Webhouse

Figura 6: O processo proposto para se analisar os arquivos de log

No caso do Progol, cada um dos registros do arquivo de log foi transformado em uma relac¸˜ao:

registro(’1417’, ’200.145.183.72’, ’unesp.br’, ’2002-8-5’, ’12:30:4’, ’GET’, ’/˜poscomp/inscricoes.html’, ’200’, ’5009’, ’/˜poscomp’, ’Mozilla/4.0 (compatible;

MSIE 5.5; Windows NT 5.0)’).

registro(’1417’, ’200.145.183.72’, ’unesp.br’, ’2002-8-5’, ’12:30:5’, ’GET’, ’/’, ’200’, ’20307’, ’?’,

’Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)’).

O primeiro argumento da relac¸˜ao registro ´e o identificador da sess˜ao, o se-gundo argumento ´e o IP do cliente, o terceiro ´e o dom´ınio do cliente (quando pode ser identificado), e assim por diante. Nota-se que, apesar dos registros serem implementados como relac¸˜oes que mapeam os atributos dos registros do arquivo de log, o que realmente ´e utilizado pelo Progol para induzir as regras s˜ao as relac¸˜oes que ligam cada atributo de um registro com sua sess˜ao. Como o Progol permite a representac¸˜ao de conhecimento na forma intencional, tem-se as seguintes relac¸˜oes:

domain(S, X) :- registro(S, _, X, _, _, _, _, _, _, _, _).

url(S, X) :- registro(S, _, _, _, _, _, X, _, _, _, _).

status(S, X) :- registro(S, _, _, _, _, _, _, X, _, _, _).

referer(S, X) :- registro(S, _, _, _, _, _, _, _, _, X, _).

(9)

Uma outra relac¸˜ao utilizada (como conhecimento de fundo) foi a que informa ao Progol como ´e feita a transic¸˜ao entre as p´aginas:

link(S, U1, U2)

:-registro(S, _, _, _, _, _, U2, _, _, U1, _), U1 \= ’?’

Ou seja, a relac¸˜aolinkdiz que existe um link da p´agina U1 para a p´agina U2 se existir uma transic¸˜ao indicada no registro, desde que esses links estejam em uma mesma sess˜ao S.

Para que o Progol use os conhecimentos citados, ´e necess´ario inform´a-lo qual o nome da cabec¸a das regras a serem geradas, por meio do comando modeh, e quais as relac¸˜oes que podem aparecer no corpo das regras geradas, por meio do comandomodeb. Para cada experiˆencia a ser executada precisa-se de ummodehe de ummodeb adequa-dos. Como exemplo, tem-se:

freq(’high’). freq(’medium’). freq(’low’).

:- modeh(1, visits(+session, #freq))? :- modeb(1, domain(+session, #domain))? :- modeb(*, url(+session, #url))?

:- modeb(1, status(+session, #status))? :- modeb(*, referer(+session, #referer))? :- modeb(1, agent(+session, #agent))? :- modeb(*, link(+session, #url, #url))?

Nesse caso, as regras geradas ser˜ao denominadas visits e determinar˜ao a frequˆencia de acesso de uma sess˜ao arbitr´aria. As regras geradas poder˜ao usar as relac¸˜oes

domain,url,status,referer,agentelink, definidas anteriormente.

6. Experiˆencias com a Ferramenta Proposta

Com o Data Webhouse constru´ıdo, algumas experiˆencias com ambos os algorit-mos foram realizadas. Para isso foram escolhidos registros de um dia como exemplos de treinamento e registros do dia seguinte como exemplos de teste, os quais foram rotulados com as respectivas classes com o aux´ılio da informac¸˜ao fornecida pelas duas ferramentas descritas na Sec¸˜ao 5. Na Tabela 1 ´e mostrado um resumo dos dados utilizados em trˆes experimentos (E), onde Tr refere-se aos exemplos de treinamento e Te aos de teste. Foram tamb´em escolhidos os seguintes atributos que consideramos mais relevantes para realizar as experiˆencias: session, domain, url, referer, agent e link.

Como esperado, os resultados obtidos com o algoritmo de AM proposicional C5.0 n˜ao foram bons. Isto deve-se ao fato desses algoritmos proposicionais enxergar cada exemplo isoladamente, o que n˜ao ´e o caso com exemplos provenientes de arquivos de log, para os quais o interesse ´e encontrar algum relacionamento entre os os regis-tros de uma mesma sess˜ao. Algoritmos de PLI, como Progol, tem a capacidade de descobrir esses relacionamentos. A PLI, definida como a intersecc¸˜ao de Aprendizado de M´aquina e Programac¸˜ao L´ogica, busca contornar algumas limitac¸˜oes dos algorit-mos proposicionais de AM por meio do uso de teoria de dom´ınio (ou conhecimento de fundo) e uma linguagem de descric¸˜ao de conceitos baseada em l´ogica de primeira or-dem. Embora a adoc¸˜ao dessa linguagem viabiliza o aprendizado de um conjunto muito maior de conceitos, traz tamb´em uma s´erie de problemas relacionados `a busca no espac¸o

(10)

Conjunto de Treinamento (Tr) e Teste (Te)

E N´umero de Sess˜oes Exemplos Total de

Sess˜oes Classes por Classe por Classe % Exemplos

Tr Te Tr Te Tr Te Tr Te Tr Te alto 10 10 1358 2285 73.1 81.5 1 30 30 m´edio 10 10 360 377 19.4 13.4 1858 2802 baixo 10 10 140 140 7.5 5.0 2 94 114 alto 34 54 2570 4688 76.1 85.2 3377 5500 n˜ao alto 60 60 807 812 23.9 14.8 3 140 140 robˆo 70 70 1539 1858 29.4 26.1 5228 7136 n˜ao robˆo 70 70 3689 5278 70.6 73.9

Tabela 1: Caracter´ısticas dos conjuntos de dados utilizados

de hip´oteses, uma vez que o espac¸o de hip´oteses ´e muito maior que no caso proposi-cional [Lavraˇc and Dˇzeroski, 1994]

A seguir s˜ao comentados algumas das regras induzidas por Progol:

• Na experiˆencia 1, duas das regras induzidas classificam as visitas de um usu´ario como “m´edia” e “baixa”, dependendo da p´agina na qual iniciou a busca. En-tretanto, essas duas p´aginas, ainda que diferentes, tem conte´udo semelhante que consiste em explicar como fazer a inscric¸˜ao no PosComp. Assim, essas regras indicam que a primeira p´agina ´e mais visitada que a segunda.

• Na experiˆencia 2, uma das regras induzidas diz que “uma sess˜ao tem muitas p´aginas acessadas se o usu´ario acessou, em algum momento, a p´agina

/manuals/HTML/dialogos.html. Essa regra indica que os usu´arios que acessam o manual de HTML navegam por muitas p´aginas dele passando pela p´aginadialogos.html.

• Na experiˆencia 3, Progol induziu duas regras que indicam um robˆo de busca quando as p´aginas visitadas referem-se a um determinado usu´ario. O fato dessas p´aginas serem freq¨uentemente acessadas por robˆos de busca deve ser melhor in-vestigado.

A an´alise dessas e outras experiˆencias pode ser encontrada em [Chiara, 2003]. Em geral, os resultados obtidos nessas experiˆencias realizadas com Progol n˜ao atingiram as expectativas. Isso se deve, em parte, pelo fato de que muito da arte da PLI est´a na selec¸˜ao e formulac¸˜ao apropriada do conhecimento de fundo, j´a que conhecimento de fundo irrelevante pode piorar os resultados. Entretanto, selecionar esse conhecimento de fundo n˜ao ´e uma tarefa trivial pois, especialmente no caso de Web Usage Mining, h´a in´umeras formas de ligar as informac¸˜oes das diversas requisic¸˜oes realizadas pelo usu´ario.

7. Conclus˜oes

Neste trabalho ´e proposta uma ferramenta para a construc¸˜ao de um Data

Web-house transformando os arquivos de logs de servidores Web em arquivos no formato da

sintaxe padr˜ao do Sistema DISCOVER. Esse sistema permite contornar o problema de se

ter diferentes formatos para arquivos de entrada dos diversos algoritmos de Aprendizado de M´aquina. Assim, uma vez que os dados do arquivo de log est˜ao no Data Webhouse no formato da sintaxe padr˜ao do Sistema DISCOVER, ´e poss´ıvel utilizar todas as

funcionali-dades j´a implementadas no DISCOVER.

Utilizando a ferramenta implementada, realizaram-se alguns experimentos uti-lizando os dados do log do site do ICMC-USP como entrada para algoritmos de Apren-dizado de M´aquina que induzem conceitos proposicionais e relacionais. Os resultados

(11)

obtidos com o algoritmo de induc¸˜ao de conceitos proposicionais C5.0 n˜ao foram bons, conforme esperado, devido ao fato de que, apesar dos logs de servidores Web terem o formato atributo-valor, existe um relacionamento entre os seus registros. Esse relaciona-mento ´e, justamente, as sess˜oes dos usu´arios do site. Os experirelaciona-mentos realizados com o algoritmo de Aprendizado de M´aquina Progol, que induz conceitos relacionais, tamb´em n˜ao atingiram as expectativas. Consideramos que isso deve-se, em parte, `a representac¸˜ao utilizada para descrever os dados, que estavam no formato atributo-valor, como relac¸˜oes do Progol com somente dois argumentos, conforme citado na Sec¸˜ao 5. A maneira de relacionar diversos atributos de um mesmo registro ´e um aspecto importante que deve ser melhor investigado. Um outro ponto que necessita ser melhor explorado ´e a incorporac¸˜ao de mais conhecimento de fundo. Nas experiˆencias realizadas com Progol, foi utilizado somente o conhecimento de fundo adicional para explicitar a transitividade de visitas en-tre as p´aginas, ou seja, os links. Um conhecimento de fundo mais aprimorado permitiria, tamb´em, diminuir o espac¸o de busca do Progol. Nas experiˆencias realizadas, o tempo uti-lizado pelo Progol foi excessivo. O problema de escalabilidade dos sistemas de PLI para aplicac¸˜oes que envolvem logs de servidores Web foi tamb´em observado em [Tveit, 2000]. Nesse sentido, consideramos que as informac¸˜oes fornecidas por ferramentas freeware e

open source existentes para an´alise de logs, tais como as descritas na Sec¸˜ao 4, podem

auxiliar a enriquecer o conhecimento de fundo utilizado pelo Progol, ou outro sistema de AM relacional, diminuindo, assim, o espac¸o de busca e melhorando a escalabilidade de sistemas de PLI. Assim, um poss´ıvel trabalho futuro seria o de implementar um sis-tema de PLI voltado apenas para o dom´ınio de logs, de forma que o tempo de execuc¸˜ao seja reduzido. Al´em disso, o uso de induc¸˜ao construtiva, isto ´e, a criac¸˜ao de outros atri-butos em func¸˜ao dos originalmente encontrados nos arquivos de log, merece uma maior investigac¸˜ao. Tamb´em, al´em da an´alise de logs de servidores Web, existem outros tipos de logs como os gerados por servidores proxy e por firewalls. Esses logs s˜ao pass´ıveis de an´alises similares `as efetuadas nos logs de servidores Web. Uma outro possibilidade ´e a investigac¸˜ao de outras sub-´areas de Web Mining, como Web Content Mining. Um pro-jeto interessante seria construir um site de busca que utilizasse t´ecnicas de Web Content

Mining para indexar o conte´udo dos sites.

Referˆencias

Batista, G. E. A. P. A. (2001). Sintaxe padr˜ao do arquivo de exemplos do pro-jeto DISCOVER. http://www.icmc.sc.usp.br/˜gbatista/Discover/ SintaxePadraoFinal.htm.

Batista, G. E. A. P. A. and Monard, M. C. (2003). Descric¸˜ao da Arquitetura e do Projeto do Ambiente Computacional DISCOVERLEARNINGENVIRONMENT— DLE. Technical

Report 187, ICMC-USP. ftp://ftp.icmc.sc.usp.br/pub/BIBLIOTECA/ rel_tec/RT_187.pdf.

Batista, G. E. A. P. A. and Monard, M. C. (2004). The Discover Object Library (DOL) User’s Manual. Technical report, ICMC-USP.

Chiara, R. (2003). Aplicac¸˜ao de data mining em logs de servidores web. Dissertac¸˜ao de Mestrado, ICMC-USP.

Geromini, M. R. (2002). Projeto e desenvolvimento de uma interface gr´afica para o ambiente de descoberta de conhecimento DISCOVER. Monografia para o Exame de

Qualificac¸˜ao de Mestrado, ICMC-USP.

(12)

Kosala, R. and Blockeel, H. (2000). Web mining reseach: A survey. In SIGKDD

Explo-rations, volume 2, pages 1–15.

Lavraˇc, N. and Dˇzeroski, S. (1994). Inductive Logic Programming: Techniques and

Ap-plications. Ellis Horwood.

Muggleton, S. (1995). Inverse Entailment and Progol. New Generation Computing,

Spe-cial issue on Inductive Logic Programming, 13(3-4):245–286.

Prati, R. C. (2003). Projeto e implementac¸˜ao do framework de integrac¸˜ao do Sistema DIS

-COVER. Dissertac¸˜ao de Mestrado, ICMC-USP, http://www.teses.usp.br/

teses/disponiveis/55/55134/tde-20082003-152116/%.

Quinlan, J. R. (1987). Generating Production Rules from Decision Trees. In Proceedings

of the Tenth International Joint Conference on Artificial Intelligence, pages 304–307,

Italy.

Slattery, S. and Mitchell, T. (2000). Discovering test set regularities in relational domains. In Proceedings of the 17th International Conf. on Machine Learning, pages 895–902. Morgan Kaufmann, San Francisco, CA.

Tveit, A. (2000). Web mining with inductive logic programming.

http://www.abiody.com/jfipa/amund/publications/2000/ WebMiningWithILP.pd%f.

Referências

Documentos relacionados

Pode haver alguns acordos prévios, como visto na classificação proposta em trabalho anterior (GUERRERO, 2006), mas estes são propostos sempre mantendo elevado

Membro_Faculdade (Matrícula: Inteiro, Nome: string[50], Carga: Inteiro, IniContrato: data, Curso: string[30], professor: booleano, aluno: booleano). Membro

como enfoque o processo da reforma educativa em curso em Angola. Para isso, será realizada a análise à percepção dos professores e directores de escola face à

A presente investigação teve como objetivo geral o estudo dos fatores de risco e de proteção internos e externos utilizados perante a violência social, nomeadamente o bullying

O Documento Orientador da CGEB de 2014 ressalta a importância do Professor Coordenador e sua atuação como forma- dor dos professores e que, para isso, o tempo e

F REQUÊNCIAS PRÓPRIAS E MODOS DE VIBRAÇÃO ( MÉTODO ANALÍTICO ) ... O RIENTAÇÃO PELAS EQUAÇÕES DE PROPAGAÇÃO DE VIBRAÇÕES ... P REVISÃO DOS VALORES MÁXIMOS DE PPV ...

Tal como em Cirurgia Geral, a duração do estágio de Medicina Interna é também ajustada, na medida em que me permitiu adquirir gradualmente mais confiança no

Para casos específicos, os contadores são procurados, como por exemplo a declaração do imposto de renda no qual muitos alegaram se tornar o período de maior contato, pois os