Anda di halaman 1dari 39

e-business para PME

WEB USAGE MINING

Manuel Jos Ferreira Monteiro

Dezembro de 2006

WEB USAGE MINING

Abstract: Algoritmos de Market Basket Analysis tm-se difundido amplamente nos ltimos tempos na anlise de padres de compra dos consumidores, nomeadamente na deteco de produtos que so adquiridos em conjunto. Estas tcnicas so igualmente utilizadas noutras situaes, como em bibliotecas, sites de comrcio electrnico e na anlise do comportamento de navegao em sites. Neste documento so analisadas algumas dessas tcnicas aplicadas situao do Web Usage, onde se analisa o perfil de utilizao num site de servios na Internet.

Palavras-Chave: Internet, Web Mining, Web Usage Mining, Regras de Classificao, SQL, Log Files, IIS, Market Basket Analysis, Apriori, Caren, Weka

NDICE 1. Objectivos......................................................................................................................1 2. Introduo ao Web Mining............................................................................................2 3. Os dados ........................................................................................................................5 3.1 Origem dos dados ................................................................................................... 5 3.2 Tratamento dos dados............................................................................................. 8 3.2.1 Criao da base de dados................................................................................. 8 3.2.2 Limpeza e Tratamento dos dados .................................................................. 10 3.2.3 Anlise preliminar aos dados......................................................................... 13 4. Anlise de um conjunto de dados usando regras de associao..................................16 4.1 Conceitos base ...................................................................................................... 16 4.2 Descobrir Regras de Associao .......................................................................... 18 4.1.1 WEKA ........................................................................................................... 19 4.1.2 Magnum Opus ............................................................................................... 21 4.1.3 Caren.............................................................................................................. 27 4.1.4 Outras ferramentas......................................................................................... 29 5. Anlise e seleco das regras e dos conjuntos frequentes ...........................................31 6. Concluses...................................................................................................................33 7. Referncias e contedos consultados ..........................................................................34

Rede de agentes de suporte em e-business para PME

IAPMEI

1. Objectivos
Este trabalho, no mbito da formao de agentes de suporte em e-business para PME, promovido pelo IAPMEI, tem como objectivo a familiarizao com os conceitos de Web Usage Mining.

Analisa-se um caso prtico, onde se incluem todos os passos necessrios para a obteno de informao til. Utilizaram-se as seguintes ferramentas: SQLServer 2005 Express* O SQLServer um dos sistemas de Gesto de Bases de Dados mais sofisticados do mundo. Utilizou-se neste trabalho a verso 2005 na edio Express. Download em: http://www.microsoft.com/downloads/details.aspx?FamilyID=220 549B5-0B07-4448-8848-DCC397514B41&displaylang=pt-br SQL Server Management Studio Express* O SQLServer Management Studio Express permite de forma simples e visual gerir bases de dados Microsoft SQL Server 2005. Download em: http://www.microsoft.com/downloads/details.aspx?displaylang= en&FamilyID=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796 WEKA Ferramenta em JAVA que contm algoritmos para tarefas de data mining. Download em: http://www.cs.waikato.ac.nz/ml/weka/index_downloading.html

* Ambas as aplicaes disponveis para download http://msdn.microsoft.com/vstudio/express/sql/download/.

igualmente

em

Rede de agentes de suporte em e-business para PME

IAPMEI

2. Introduo ao Web Mining


O web mining e o web usage mining resultam da aplicao de tcnicas de data mining para descobrir de forma automtica padres de utilizao recolhidos na Web, com o objectivo de compreender melhor os padres de navegao nos sites, caracterizar e servir melhor os utilizadores/clientes e optimizar as solues web-based.

A presena das organizaes na Web gera normalmente grandes quantidades de dados, geradas normalmente pelos servidores Web e guardadas em ficheiros designados por logs. A anlise desses logs pode ajudar as organizaes a determinar o perfil dos seus utilizadores e com essa informao adaptar os contedos s necessidades destes, apresentar estratgias de marketing mais focalizadas e individualizadas, potenciando melhores retornos financeiros (ou outros).

As primeiras ferramentas de anlise da Web simplesmente reportavam a actividade gerada no site, nomeadamente o nmero de visitantes, pginas mais vistas, origem dos visitantes, sites de referncia, entre outros.

Figura 1 Exemplo de Sistema de estatsticas online (SmarterStats)

Rede de agentes de suporte em e-business para PME

IAPMEI

Normalmente existe associado a qualquer alojamento na Web um sistema de estatsticas que permite obter uma infinidade de informaes estatsticas sobre determinado site. So exemplo desses sistemas o WhosOn (http://www.whoson.co.uk), SmarterStats (http://www.smartertools.com/Products/SmarterStats) ou o LiveStats (http://www.deepmetrix.com).

Figura 2 Alerta de erros e deteco de Hackers (WhosOn)

No caso do SmarterStats existe j um pequeno espao dedicado ao Web Mining. No WhosOn existe um mdulo que detecta erros e Hackers (Figura 2). Estes melhoramentos demonstram que o mercado est a optimizar as solues de forma a oferecer cada vez mais informao til, no apenas informao estatstica.

Tm aparecido novas tcnicas, mais sofisticadas, para descoberta e anlise de padres. Essas tcnicas esto orientadas para duas categorias principais: Ferramentas de Descoberta de padres e Ferramentas de Anlise de Padres.

Em resumo estas tcnicas visam:

Obter sistemas capazes de gerar aces que adaptam a informao e/ou servios disponibilizados por um site s necessidades e perfis dos utilizadores, tirando vantagem do conhecimento obtido do comportamento destes [1]

Rede de agentes de suporte em e-business para PME

IAPMEI

Um exemplo conhecido de utilizao destas tcnicas a AMAZON [5]. Ao visualizar um item a amazon.com sugere outros itens, que potencialmente o utilizador ter interesse. Estas sugestes esto ligadas a Regras de Associao baseadas na anlise do histrico de vendas. O Web Usage Mining utilizado como Sistema de Apoio Deciso e Personalizao dos Web Sites. Podemos dividir o Web Mining em trs reas [1]:

Figura 3 reas de aplicao do Web Mining

Este trabalho dedica-se com maior nfase componente Utilizao do Web Mining, designada vulgarmente por Web Usage Mining, baseada na anlise dos ficheiros log gerados pelos pedidos ao servidor.

A anlise dos logs pode ser realizada atravs de diferentes tcnicas [1], nomeadamente, Estatstica, Filtragem de contedos, Data Mining, Probabilidades e Anlise de Links.

Rede de agentes de suporte em e-business para PME

IAPMEI

3. Os dados
3.1 Origem dos dados Os dados utilizados neste estudo foram retirados dos logs de acesso ao site forevernet.net dos dias 17 de Maro de 2006 a 3 de Abril de 2006 (18 dias).

Figura 4 Lista de ficheiros com logs do servidor

O servidor gera um ficheiro por cada dia de actividade do site (figura 4).

O Internet Information Server (IIS) fornece diferentes formatos de ficheiros de log que armazenam todos os pedidos (requests) no servidor Web.

Estes so os formatos de ficheiros de log fornecidos pelo IIS [7]:

W3C Extended Log File Format

NCSA Log File Format

Microsoft Log File Format

O formato utilizado por defeito no IIS o W3C Extended Log File Format [1], este o formato utilizado como fonte de dados neste trabalho. 5

Rede de agentes de suporte em e-business para PME

IAPMEI

Os ficheiros log so do tipo texto delimitado, neste caso por espao, segunda a especificao RFC 2616, "Hypertext Transfer Protocol -- HTTP/1.1" 1 [8].

Os ficheiros log constitudo por registos, cada registo referente a um pedido de um ficheiro do site em determinada sesso. Estes incluem todos os ficheiros, inclusive imagens e outros documentos que no constituem pginas propriamente ditas mas que esto includos em pginas. O que interessa monitorizar so todos os ficheiros que constituem a estrutura de uma pgina, nomeadamente os .htm, .asp, .php, aspx, .pdf, entre outros. Os ficheiros de imagem no interessam monitorizar uma vez que constituem ficheiros complementares e no ficheiros principais. Os registos referentes s imagens tero que ser filtrados do dataset original, nomeadamente os .gif, .jpg, .png e afins.

No caso particular do site em estudo a maioria dos ficheiros relevantes para o estudo esto desenvolvidos em Active Server Pages, com extenso .asp.

No formato W3C Extended Log File Format cada registo constitudo pelos seguintes campos:

Nome do Campo Date Time c-ip

Descrio Data da sesso Hora da sesso IP do utilizador. Este campo pode indiciar em erro pois poder ser um IP comum a muitas ligaes e no representar apenas uma ligao (ou utilizador) mas sim muitas ligaes distintas. Utilizador (em branco). Ter valores se for um utilizador autenticado. Referncia do Servidor Nome do Servidor IP do Servidor

cs-username s-sitename s-computername s-ip

http://www.rfc-editor.org/rfc/rfc2616.txt

Rede de agentes de suporte em e-business para PME

IAPMEI

s-port cs-method cs-uri-stem cs-uri-query sc-status sc-win32-status sc-bytes cs-bytes time-taken cs-version cs-host

Porta do Servidor Instruo http requisitada Ficheiro requisitado Query associada ao ficheiro requisitado Status da operao retornado pelo servidor Status da operao retornado pelo cliente Nmero de bytes enviados para o utilizador Nmero de bytes enviados para o servidor Tempo em milissegundos que demorou a processar o pedido Verso do protocolo HTTP Domnio do registo. Este pode variar dentro de um site. O caso em estudo tem situaes onde isso acontece. A utilizao de Domain Alias, domnios alternativos que apontam para o mesmo site, origina a existncia de diferentes domnios num s site. Informao adicional Cookie associado ao pedido, caso exista URL previamente visitado pelo cliente. Este campo importantssimo quando se pretende elaborar estudos sobre sequencias tipo (padres) de visitas.

cs(User-Agent) cs(Cookie) cs(Referer)

Os campos [c-ip] e [cs-uri-stem], referentes ao IP do visitante do site e ao nome do ficheiro visitado, constituem os elementos mais relevantes para se realizar este estudo. Os restantes campos so de elevado interesse para outros estudos.

Figura 5 - Exemplo de um registo 7

Rede de agentes de suporte em e-business para PME

IAPMEI

3.2 Tratamento dos dados

3.2.1 Criao da base de dados


Estando os dados origem repartidos por diferentes ficheiros essencial criar um sistema que permita recolher numa estrutura nica todos os dados e que permita trabalhar com estes de forma clere e eficaz. Optou-se por converter os ficheiros de log para uma base de dados SQL. No caso especfico deste trabalho utilizou-se o SQL Server 2005.

Utilizou-se o Microsoft SQL Server Management Studio Express para gerir e aceder aos dados.

A estrutura da base de dados pode ser criada com o seguinte comando SQL (inclui todos os campos existentes nos logs) [7][8]:

CREATE TABLE logs ( [date] [datetime] NULL, [time] [datetime] NULL , [c-ip] [varchar] (50) NULL , [cs-username] [varchar] (50) NULL , [s-sitename] [varchar] (50) NULL , [s-computername] [varchar] (50) NULL , [s-ip] [varchar] (50) NULL , [s-port] [varchar] (50) NULL , [cs-method] [varchar] (50) NULL , [cs-uri-stem] [varchar] (255) NULL , [cs-uri-query] [varchar] (2048) NULL , [sc-status] [int] NULL , [sc-win32-status] [varchar] (50) NULL , [sc-bytes] [int] NULL , [cs-bytes] [int] NULL , [time-taken] [int] NULL , [cs-version] [varchar] (50) NULL , [cs-host] [varchar] (255) NULL , [cs(User-Agent)] [varchar] (255) NULL , [cs(Cookie)] [varchar] (2048) NULL , [cs(Referer)] [varchar] (2048) NULL )

Estando a tabela criada poderemos importar os dados de cada um dos ficheiros log. Se se tiverem privilgios alargados no servidor SQLServer poder utilizar a seguinte instruo para alimentar a tabela criada:

BULK INSERT logs FROM 'c:\logs\ex060317.log'

Rede de agentes de suporte em e-business para PME

IAPMEI

WITH ( FIELDTERMINATOR = ' ', ROWTERMINATOR = '\n' )

Esta instruo ter que ser executada para cada ficheiro de log existente. No necessrio retirar os cabealhos dos ficheiros de log, pois o prprio BULK INSERT d erro ao interpretar mas passa para a linha seguinte.

Estando a tabela dos logs alimentada podero ser realizadas uma srie de interrogaes que podero ser base de um sistema de anlise permanente ao desempenho do site.

Rede de agentes de suporte em e-business para PME

IAPMEI

3.2.2 Limpeza e Tratamento dos dados


Procedeu-se eliminao dos registos suprfluos ao estudo a realizar e tratamento dos dados relevantes, nomeadamente:

Eliminao dos pedidos ao servidor de ficheiros secundrios.

Englobam-se nestes as imagens (.gif, .jpg e outros).

Utilizou-se a seguinte instruo SQL para eliminar esses registos:

DELETE FROM [webmining].[dbo].[logs] WHERE [cs-uri-stem] like '%.gif'

Apenas este comando eliminou 71096 registos. Procedeu-se de igual forma para outras extenses de ficheiros, nomeadamente .jpg, .css, .js

Eliminao de reas de acesso privadas

Eliminaram-se igualmente reas do domnio privadas que no interessavam para o estudo, pois referiam-se a zonas de administrao do site reservadas aos funcionrios da empresa e sem acesso ao pblico em geral.

DELETE FROM [webmining].[dbo].[logs] WHERE [cs-uri-stem] like '%/backoffice/%'

Eliminao de registos duplicados

Outro elemento a considerar so a existncia de registos duplicados. Atravs do seguinte comando SQL eliminaram-se os registos duplicados. Para o executar necessrio criar previamente um campo de identificao nico de cada linha ([id]). Esta necessidade pode ser contornada com outras instrues SQL mais elaboradas.

10

Rede de agentes de suporte em e-business para PME

IAPMEI

DELETE FROM logs WHERE id NOT IN (SELECT max(id) FROM logs GROUP BY visitante,[cs-uri-stem] HAVING count(*)>=1)

Capitalizao

Verificou-se que para a mesma pgina apareciam verses com maisculas e outras com minsculas. Qualquer um dos mtodos a aplicar poderiam interpretar esses registos como diferentes erradamente. Assim procedemos capitalizao de todos os registos para evitar esse problema. Realizou-se a seguinte instruo SQL:

UPDATE [webmining].[dbo].[logs] SET [cs-uri-stem] = upper([cs-uri-stem])

Visitantes nicos

Para o trabalho em causa existe uma particularidade relevante para o estudo. Sendo os dados recolhidos relativos a visitas a um site onde no h validao do utilizador existe o problema de diferentes utilizadores serem identificados pelo mesmo IP. Isso acontece devido aos ISPs afectarem conjuntos de IPs a determinadas reas que so partilhados por todos os utilizadores dessa rea. Assim nada nos garante que determinado IP nica e exclusivamente utilizado por um dado visitante. Por este motivo teremos que tentar minimizar essa possibilidade.

A forma mais obvia que ocorre ser unificar o campo [c-ip], relativo ao IP do cliente, ao campo [cs(user-agent)], relativo a caractersticas do sistema utilizado pelo cliente. teoricamente possvel que um grupo de pessoas que utilizam o mesmo IP possam de alguma forma ter as caractersticas do sistema utilizado exactamente iguais, mas essa probabilidade diminuta.

11

Rede de agentes de suporte em e-business para PME

IAPMEI

Adicionou-se tabela SQL mais um campo com a designao [visitante]. Com a seguinte instruo SQL alimentou-se este novo campo com a juno dos dois campos j referidos.

UPDATE [webmining].[dbo].[logs] SET [visitante] = [c-ip] + ' - ' + [cs(User-Agent)]

Na recolha de dados para obteno das regras de associao ir ter-se em conta este novo campo.

Nesta fase verificamos a existncia de 107 endereos nicos (itens), obtidos com a instruo SQL:

select distinct [cs-uri-stem] from logs order by [cs-uri-stem]

Figura 6 Interrogao SQL no MS SQL Server Management Studio Express

12

Rede de agentes de suporte em e-business para PME

IAPMEI

3.2.3 Anlise preliminar aos dados


Apresentam-se a seguir algumas das instrues SQL que se podem fazer base de dados criada para se obter alguma informao til [6]:
Interrogao SQL 1: Top 10 dos itens requisitados

SELECT TOP 10 [cs-uri-stem] as Url, COUNT([cs-uri-stem]) AS Hits FROM logs GROUP BY [cs-uri-stem] ORDER BY Hits DESC

Top 10
6000 5000 Pedidos 4000 3000 2000 1000 0
/D ef au lt . ru as m p /v ie w to pi c. ph /e p u/ De fa /fo ul ru t.a m sp /v ie w fo ru m /c .p om hp pa ra t iv o. /e as nc p om en da .a sp /w ho /w ho is. as is_ p re su lt a /e do u/ do .a sp m in io s_ eu .a sp /c on ta 1. as p /fo

Pginas

Figura 6 Resultado da Interrogao 1 tratada no Excel

Interrogao SQL 2: Top 10 dos itens mais lentos

SELECT TOP 10 cs-uri-stem AS Url, MIN(time-taken) as [Min], AVG(time-taken) AS [Avg], max(time-taken) AS [Max], count(time-taken) AS Hits FROM logs WHERE time-taken < 120000 GROUP BY Url ORDER BY [Avg] DESC

13

Rede de agentes de suporte em e-business para PME

IAPMEI

Interrogao SQL 3: Endereos requisitados apenas uma vez

SELECT DISTINCT TO_LOWERCASE(cs-uri-stem) AS Url, Count(*) AS Hits FROM logs WHERE sc-status=200 GROUP BY Url ORDER BY Url

Interrogao SQL 4: Erros HTTP por hora:

SELECT date, QUANTIZE(time, 3600) AS Hour, sc-status AS Status, COUNT(*) AS Errors FROM logs WHERE (sc-status >= 400) GROUP BY date, hour, sc-status HAVING (Errors > 25) ORDER BY Errors DESC

Interrogao SQL 5: Erros HTTP ordenados por Url e Status:

SELECT cs-uri-stem AS Url, sc-status AS Status, COUNT(*) AS Errors FROM logs WHERE (sc-status >= 400) GROUP BY Url, Status ORDER BY Errors DESC

Interrogao SQL 6: Cdifos dos erros Win32 por total e pagina:

SELECT cs-uri-stem AS Url, WIN32_ERROR_DESCRIPTION(sc-win32-status) AS Error, Count(*) AS Total FROM logs WHERE (sc-win32-status > 0) GROUP BY Url, Error ORDER BY Total DESC

Interrogao SQL 7: Mtodos HTTP (GET, POST) usados por URL:

SELECT cs-uri-stem AS Url, cs-method AS Method, Count(*) AS Total FROM logs WHERE (sc-status < 400 or sc-status >= 500) GROUP BY Url, Method ORDER BY Url, Method

Interrogao SQL 8: Bytes enviados do servidor:

SELECT cs-uri-stem AS Url, Count(*) AS Hits, AVG(sc-bytes) AS Avg, Max(sc-bytes) AS Max, Min(sc-bytes) AS Min, Sum(sc-bytes) AS TotalBytes FROM logs GROUP BY cs-uri-stem

14

Rede de agentes de suporte em e-business para PME

IAPMEI

HAVING (Hits > 100) ORDER BY [Avg] DESC

Interrogao SQL 9: Bytes enviados pelo cliente:

SELECT cs-uri-stem AS Url, Count(*) AS Hits, AVG(cs-bytes) AS Avg, Max(cs-bytes) AS Max, Min(cs-bytes) AS Min, Sum(cs-bytes) AS TotalBytes FROM logs GROUP BY Url HAVING (Hits > 100) ORDER BY [Avg] DESC

Interrogao SQL 10: Pginas que demoraram mais de 20 segundos a processar entre determinado perodo de tempo:

SELECT [cs-uri-stem], [time-taken] FROM logs WHERE [time-taken] >= 20000 and time between '1899-12-30 16:30:00.000' and '1899-12-30 17:30:00.000'

Interrogao SQL 11:

Verifica quais as pginas que demoram mais tempo a abrir tendo como referencia o valor mdio de tempo de abertura.

Select distinct [cs-uri-stem], [time-taken] From tablename Where [time-taken] > (select avg([time-taken]) From tablename) order by [timetaken] desc)

15

Rede de agentes de suporte em e-business para PME

IAPMEI

4. Anlise de um conjunto de dados usando regras de associao.


4.1 Conceitos base As regras de associao so relaes entre itens presentes num conjunto de grupos. Uma regra de associao tpica disponibiliza a seguinte informao:

- Se o item x e y esto presentes num grupo, o item z est igualmente presente em m% dos casos;

- A combinao x & y & z ocorre em n% de todos os grupos considerados.

Exemplo:

A seguinte regra de associao encontrada numa transao de supermercado:

[Tomates & Cenouras] => [Sumo de Laranja]

Com:

Suporte = 0.5 Confiana = 0.8 Lift = 12.4

Onde:

SUPORTE: O valor do Suporte indica que o conjunto Tomates, Cenouras e Sumo de Laranja est presente em 50% dos transaes consideradas no estudo.

CONFIANA: O valor da Confiana indica que nas transaes onde so encontrados em conjunto os itens Tomates e Cenouras, o item Sumo de laranja est igualmente presente em 80% dos casos.

16

Rede de agentes de suporte em e-business para PME

IAPMEI

LIFT: Mede a informatividade de A relativamente a B. O valor do Lift indica que a combinao Tomates, Cenouras e Sumo de Laranja encontrada cerca de 12 vezes a mais do que esperado. O nmero esperado de ocorrncias determinado na presuno que a existencia de Tomates e Cenouras num grupo no influncia a probabilidade de encontrar Sumo de Laranja no mesmo grupo e vice-versa.

Quando se corre um algortmo, pode potencialmente gerar muitas ou poucas regras. Por exemplo, no habitual calcular todas as regras para grandes datasets, seriam muitos. O inverso pode igualmente acontecer.

17

Rede de agentes de suporte em e-business para PME

IAPMEI

4.2 Descobrir Regras de Associao Utilizam-se diversos mtodos/ferramentas para obter as Regras de Associao. Destes destacam-se o algoritmo APRIORI e diversas ferramentas de DataMining como o WEKA, Magnum Opus, Caren, SPSS (Clementine) ou Analisys Services (Microsoft/SQL Server). Para a preparao dos dados para os formatos de cada aplicao testada utilizou-se fundamentalmente o SQL e o Excel.

Com a base de dados tratada poderemos preparar o cesto (basket) utilizando o campo [visitante], referente s sesses, e o [cs-uri-stem], referente s pginas visitadas, ou seja, os artigos do cesto. Os dados, no duplicados, contm, no caso em estudo, 5289 registos.

Figura 7 Interrogao SQL para obteno dos dados a tratar

18

Rede de agentes de suporte em e-business para PME

IAPMEI

4.1.1 WEKA
O Weka uma coleco de algoritmos para Machine Learning para resolver diversos tipos de problemas de Data Mining. Est escrito em JAVA e corre em praticamente todas as plataformas. Os algoritmos podem ser aplicados directamente aos datasets ou ser chamados de outras aplicaes JAVA feitas medida. Inclui diversos mtodos para classificao, regras de associao, descoberta de regras de associao, clustering, previso, etc.

Informao adicional sobre o Weka pode ser obtida no URL http://www.cs.waikato.ac.nz/ml/weka/. Neste endereo encontram-se alguns datasets, do repositrio da UCI, convertidos no formato ARFF (usado pelo Weka). O formato do ficheiro de dados ARFF compatvel com o Weka tem a seguinte configurao:

@relation artigos

@attribute @attribute @attribute @attribute (.)

visitante REAL A1 {0,1} A2 {0,1} A3 {0,1}

@attribute A43 {0,1} @attribute A44 {0,1}

@data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0 () 1280,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0 1281,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0 1282,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,1,1,1,0

Os resultados obtidos no WEKA com o ficheiro ARFF criado, com 100 instncias e 9 itens, mantendo os parmetros por defeito da aplicao, foram os seguintes: 19

Rede de agentes de suporte em e-business para PME

IAPMEI

=== Run information === Scheme: weka.associations.Apriori -N 10 -T 0 -C 0.9 -D 0.05 -U 1.0 -M 0.1 -S -1.0 Relation: artigos-weka.filters.unsupervised.attribute.Remove-R19,11,18,20-43,45 Instances: 100 Attributes: 9 A9 A11 A12 A13 A14 A15 A16 A18 A43 === Associator model (full training set) === Apriori ======= Minimum support: 0.95 Minimum metric <confidence>: 0.9 Number of cycles performed: 1 Generated sets of large itemsets: Size of set of large itemsets L(1): 6 Size of set of large itemsets L(2): 11 Size of set of large itemsets L(3): 9 Size of set of large itemsets L(4): 3 Best rules found: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. A16=0 A15=0 A13=0 A12=0 A15=0 A13=0 A12=0 A12=0 A13=0 A13=0 97 ==> A14=0 97 97 ==> A14=0 97 97 ==> A14=0 97 97 ==> A14=0 97 A16=0 96 ==> A14=0 A15=0 96 ==> A14=0 A16=0 96 ==> A14=0 A15=0 96 ==> A14=0 A16=0 95 ==> A14=0 A14=0 A16=0 95 ==> conf:(1) conf:(1) conf:(1) conf:(1) 96 conf:(1) 96 conf:(1) 96 conf:(1) 96 conf:(1) A15=0 95 conf:(1) A15=0 95 conf:(1)

20

Rede de agentes de suporte em e-business para PME

IAPMEI

4.1.2 Magnum Opus


O Magnum Opus uma ferramenta para encontrar regras de associao. Usa o eficiente e rpido algoritmo de procura OPUS [9].

Mais informao sobre esta ferramenta e download de verso de testes poder ser obtida no endereo http://www.rulequest.com/MagnumOpus-info.html.

A verso de testes est limitada a 1000 casos (transaces).

O ficheiro tem o formato basket como se exemplifica a seguir:

1,/DEFAULT.ASP 2,/DEFAULT.ASP 2,/PT/ENCOMENDA_DOM_PT.ASP 2,/EU/DOMINIOS_EU_FORMULARIO.ASP 2,/ENVIAR_CONTACTO.ASP 2,/EU/POLTICA_REGISTO.PDF 3,/DEFAULT.ASP 4,/DEFAULT.ASP 4,/WHOIS_RESULTADO.ASP 4,/CONTACTOS.ASP 4,/BANNER4.ASP 4,/BANNER3.ASP 4,/FAQS.ASP 5,/BANNER3.ASP 5,/DEFAULT.ASP 5,/WHOIS_RESULTADO.ASP 5,/CONTACTOS.ASP 5,/FAQS.ASP 6,/FAQS.ASP 6,/BANNER2.ASP 6,/BANNER6.ASP 6,/SUPORTE.ASP 6,/WHOIS_RESULTADO.ASP 6,/BANNER4.ASP 6,/BANNER3.ASP 6,/CONTACTOS.ASP 6,/EU/DEFAULT.ASP 6,/CONTA2.ASP 6,/DEFAULT.ASP 6,/MOODLE/DEFAULT.ASP 6,/WHOIS.ASP 6,/CONTA1.ASP 6,/CONTA3.ASP 6,/CONTA5.ASP 6,/BANNER5.ASP 6,/BLOGS/DEFAULT.ASP 6,/POLITICA.ASP

21

Rede de agentes de suporte em e-business para PME

IAPMEI

O campo do dataset referente ao visitante foi convertido para uma sequncia numrica por questes de simplificao e leitura. O ficheiro de texto criado foi gravado com extenso .idi.

A primeira coluna representa o visitante e a segunda (depois da virgula) representa a pgina visitada.

Para abrir o ficheiro utilizou-se o boto . Depois de selecconar o ficheiro dever seleccionar a opo Identifier item file e premir em Import Now

Figura 8 Abertura do ficheiro

Utilizaram-se os seguintes parmetros:

Suporte Mnimo: 0.02 Confiana Mnima: 0.01 Lift Mnimo: 1

22

Rede de agentes de suporte em e-business para PME

IAPMEI

Figura 9 Ecr do Magnum Opus (Definio de valores)

Os resultados obtidos foram:

Magnum Opus - The leader in discovery technology. Version 3.0 Copyright (c) 1999-2005 G. I. Webb & Associates Pty Ltd. Demonstration Version. 1000 case or basket limit. Data file: cesto.idi 536 cases / 0 holdout cases / 67 items Thu Apr 27 13:03:34 2006 Search for rules Search by support Filter out rules that are insignificant, critical value=0.01 Maximum Maximum Minimum Minimum number of attributes on LHS = 4 number of rules = 100 leverage = -1.0 leverage count = -2147483647

23

Rede de agentes de suporte em e-business para PME

IAPMEI

Minimum Minimum Minimum Minimum Minimum Minimum

coverage = 0.01 coverage count = 1 support = 0.02 support count = 0 lift = 1 strength = 0.0

All values allowed on LHS All values allowed on RHS

Only 16 rules satisfy the specified constraints. /DEFAULT.ASP is associated with /COMPARATIVO.ASP with strength = 0.080 coverage = 0.655: 351 cases satisfy the LHS support = 0.052: 28 cases satisfy both the LHS and the RHS lift 1.43: the strength is 1.43 times greater than the strength if there were no association leverage = 0.0156: the support is 0.0156 (8.4 cases) greater than if there were no association /COMPARATIVO.ASP is associated with /DEFAULT.ASP with strength = 0.933 coverage = 0.056: 30 cases satisfy the LHS support = 0.052: 28 cases satisfy both the LHS and the RHS lift 1.43: the strength is 1.43 times greater than the strength if there were no association leverage = 0.0156: the support is 0.0156 (8.4 cases) greater than if there were no association /DEFAULT.ASP is associated with /WHOIS.ASP with strength = 0.068 coverage = 0.655: 351 cases satisfy the LHS support = 0.045: 24 cases satisfy both the LHS and the RHS lift 1.36: the strength is 1.36 times greater than the strength if there were no association leverage = 0.0118: the support is 0.0118 (6.3 cases) greater than if there were no association /WHOIS.ASP is associated with /DEFAULT.ASP with strength = 0.889 coverage = 0.050: 27 cases satisfy the LHS support = 0.045: 24 cases satisfy both the LHS and the RHS lift 1.36: the strength is 1.36 times greater than the strength if there were no association leverage = 0.0118: the support is 0.0118 (6.3 cases) greater than if there were no association /DEFAULT.ASP is associated with /WHOIS_RESULTADO.ASP with strength = 0.054 coverage = 0.655: 351 cases satisfy the LHS support = 0.035: 19 cases satisfy both the LHS and the RHS lift 1.45: the strength is 1.45 times greater than the strength if there were no association leverage = 0.0110: the support is 0.0110 (5.9 cases) greater than if there were no association /WHOIS_RESULTADO.ASP

24

Rede de agentes de suporte em e-business para PME

IAPMEI

is associated with /DEFAULT.ASP with strength = 0.950 coverage = 0.037: 20 cases satisfy the LHS support = 0.035: 19 cases satisfy both the LHS and the RHS lift 1.45: the strength is 1.45 times greater than the strength if there were no association leverage = 0.0110: the support is 0.0110 (5.9 cases) greater than if there were no association /FORUM/VIEWTOPIC.PHP is associated with /FORUM/VIEWFORUM.PHP with strength = 0.189 coverage = 0.177: 95 cases satisfy the LHS support = 0.034: 18 cases satisfy both the LHS and the RHS lift 2.54: the strength is 2.54 times greater than the strength if there were no association leverage = 0.0204: the support is 0.0204 (10.9 cases) greater than if there were no association /FORUM/VIEWFORUM.PHP is associated with /FORUM/VIEWTOPIC.PHP with strength = 0.450 coverage = 0.075: 40 cases satisfy the LHS support = 0.034: 18 cases satisfy both the LHS and the RHS lift 2.54: the strength is 2.54 times greater than the strength if there were no association leverage = 0.0204: the support is 0.0204 (10.9 cases) greater than if there were no association /DEFAULT.ASP is associated with /CONTA1.ASP with strength = 0.046 coverage = 0.655: 351 cases satisfy the LHS support = 0.030: 16 cases satisfy both the LHS and the RHS lift 1.44: the strength is 1.44 times greater than the strength if there were no association leverage = 0.0091: the support is 0.0091 (4.9 cases) greater than if there were no association /CONTA1.ASP is associated with /DEFAULT.ASP with strength = 0.941 coverage = 0.032: 17 cases satisfy the LHS support = 0.030: 16 cases satisfy both the LHS and the RHS lift 1.44: the strength is 1.44 times greater than the strength if there were no association leverage = 0.0091: the support is 0.0091 (4.9 cases) greater than if there were no association /EU/DEFAULT.ASP is associated with /WHOIS.ASP with strength = 0.171 coverage = 0.142: 76 cases satisfy the LHS support = 0.024: 13 cases satisfy both the LHS and the RHS lift 3.40: the strength is 3.40 times greater than the strength if there were no association leverage = 0.0171: the support is 0.0171 (9.2 cases) greater than if there were no association /WHOIS.ASP is associated with /EU/DEFAULT.ASP with strength = 0.481 coverage = 0.050: 27 cases satisfy the LHS support = 0.024: 13 cases satisfy both the LHS and the RHS

25

Rede de agentes de suporte em e-business para PME

IAPMEI

lift 3.40: the strength is 3.40 times greater than the strength if there were no association leverage = 0.0171: the support is 0.0171 (9.2 cases) greater than if there were no association /DEFAULT.ASP & /EU/DEFAULT.ASP are associated with /WHOIS.ASP with strength = 0.333 coverage = 0.067: 36 cases satisfy the LHS support = 0.022: 12 cases satisfy both the LHS and the RHS lift 6.62: the strength is 6.62 times greater than the strength if there were no association leverage = 0.0190: the support is 0.0190 (10.2 cases) greater than if there were no association /COMPARATIVO.ASP is associated with /WHOIS.ASP with strength = 0.367 coverage = 0.056: 30 cases satisfy the LHS support = 0.021: 11 cases satisfy both the LHS and the RHS lift 7.28: the strength is 7.28 times greater than the strength if there were no association leverage = 0.0177: the support is 0.0177 (9.5 cases) greater than if there were no association /WHOIS.ASP is associated with /COMPARATIVO.ASP with strength = 0.407 coverage = 0.050: 27 cases satisfy the LHS support = 0.021: 11 cases satisfy both the LHS and the RHS lift 7.28: the strength is 7.28 times greater than the strength if there were no association leverage = 0.0177: the support is 0.0177 (9.5 cases) greater than if there were no association /DEFAULT.ASP & /FORUM/VIEWTOPIC.PHP are associated with /FORUM/VIEWFORUM.PHP with strength = 0.407 coverage = 0.050: 27 cases satisfy the LHS support = 0.021: 11 cases satisfy both the LHS and the RHS lift 5.46: the strength is 5.46 times greater than the strength if there were no association leverage = 0.0168: the support is 0.0168 (9.0 cases) greater than if there were no association

Analizando a ltima regra gerada:

/DEFAULT.ASP & /FORUM/VIEWTOPIC.PHP

/FORUM/VIEWFORUM.PHP

verificamos que tem uma Confiana (Strength) de 40,7% e um Suporte de 2.1 % o que representa 11 casos nos 536 avaliados.

26

Rede de agentes de suporte em e-business para PME

IAPMEI

4.1.3 Caren
Poderemos obter regras de associao utilizando a rotina em Java Caren. O Caren alimentado por um ficheiro no formato basket. O ficheiro tem um formato basket muito similar ao utilizado no Magnum Opus, como se exemplifica a seguir:

1 2 2 2 2 2 3 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6

/DEFAULT.ASP /DEFAULT.ASP /PT/ENCOMENDA_DOM_PT.ASP /EU/DOMINIOS_EU_FORMULARIO.ASP /ENVIAR_CONTACTO.ASP /EU/POLTICA_REGISTO.PDF /DEFAULT.ASP /DEFAULT.ASP /WHOIS_RESULTADO.ASP /CONTACTOS.ASP /BANNER4.ASP /BANNER3.ASP /FAQS.ASP /BANNER3.ASP /DEFAULT.ASP /WHOIS_RESULTADO.ASP /CONTACTOS.ASP /FAQS.ASP /FAQS.ASP /BANNER2.ASP /BANNER6.ASP /SUPORTE.ASP /WHOIS_RESULTADO.ASP /BANNER4.ASP /BANNER3.ASP /CONTACTOS.ASP /EU/DEFAULT.ASP /CONTA2.ASP /DEFAULT.ASP /MOODLE/DEFAULT.ASP /WHOIS.ASP /CONTA1.ASP /CONTA3.ASP

Para executar o Caren utiza-se a seguinte sintaxe:

java caren <dataset> <minconf> <minsup> -d Bas

Por exemplo:

java classpath . caren basket1 0.05 0.1 d -Bas

27

Rede de agentes de suporte em e-business para PME

IAPMEI

onde basket1 o nome do ficheiro basket no formato exemplificado anteriormente.

Nesta linha de exemplo utilizou-se o comando classpath . para especificar o local de execuo da class Java. Sem esse comando o Java retorna um erro.

Figura 10 Execuo do CAREN no ambiente DOS De realar nestes resultados a regra de associao /whois_resultado.asp -> /default.asp com uma confiana de 0.9058.

28

Rede de agentes de suporte em e-business para PME

IAPMEI

4.1.4 Outras ferramentas


Seguem exemplos e referncias de outras ferramentas ou dados na rea dos temas abordados neste documento.

Nome Descrio Web

Azmy SuperQuery Inclui procura de regras de associao www.azmy.com

Nome Descrio Web

Clementine Suite para o SPSS, inclui market basket analysis. www.spss.com/clementine

Nome Descrio Web

DB2 Intelligent Miner Ferramentas de Data Mining da IBM www-306.ibm.com/software/data/iminer/

Nome Descrio Web

The LPA Data Mining Toolkit supports the discovery of association rules within relational database www.lpa.co.uk/dtm.htm

29

Rede de agentes de suporte em e-business para PME

IAPMEI

Nome Descrio Web

WebAnalyst Inclui market basket analysis www.megaputer.com/products/wa/index.php3

Nome Descrio Web

Purple Insight MineSet Suite Visualde data mining suite, inclui viasualizao de regras de associao www.purpleinsight.com/products/product6.shtml

Nome Descrio Web

Wizsoft WizRule Procura regras de associao www.wizsoft.com

Nome Descrio Web

APRIORI Programa com o Algoritmo Apriori fuzzy.cs.uni-magdeburg.de/~borgelt/apriori.html

Nome Descrio Web

FIMI, Frequent Itemset Mining Implementations Inclui software e datasets http://fimi.cs.helsinki.fi/src/

30

Rede de agentes de suporte em e-business para PME

IAPMEI

5. Anlise e seleco das regras e dos conjuntos frequentes


Os diferentes sistemas disponveis para obteno de regras de associao, produzem um nmero muito grande de regras que tero que ser analisadas e reduzidas atravs de um ps-processamento. Coloca-se a questo: Das regras obtidas, quais as mais importantes?

A reduo das regras obtidas pode ser realizada no seu processamento impondo alguns limites, como por exemplo o suporte mnimo, a cobertura mnima, etc.

Alguns limites foram impostos no Magnum Opus, do qual obtivemos as trs seguintes regras (entre outras).

REGRA 1

/DEFAULT.ASP & /EU/DEFAULT.ASP are associated with /WHOIS.ASP with strength = 0.333 coverage = 0.067: 36 cases satisfy the LHS support = 0.022: 12 cases satisfy both the LHS and the RHS lift 6.62: the strength is 6.62 times greater than the strength if there were no association leverage = 0.0190: the support is 0.0190 (10.2 cases) greater than if there were no association

REGRA 2

/WHOIS.ASP is associated with /EU/DEFAULT.ASP with strength = 0.481 coverage = 0.050: 27 cases satisfy the LHS support = 0.024: 13 cases satisfy both the LHS and the RHS lift 3.40: the strength is 3.40 times greater than the strength if there were no association leverage = 0.0171: the support is 0.0171 (9.2 cases) greater than if there were no association

31

Rede de agentes de suporte em e-business para PME

IAPMEI

REGRA 3

/DEFAULT.ASP & /FORUM/VIEWTOPIC.PHP are associated with /FORUM/VIEWFORUM.PHP with strength = 0.407 coverage = 0.050: 27 cases satisfy the LHS support = 0.021: 11 cases satisfy both the LHS and the RHS lift 5.46: the strength is 5.46 times greater than the strength if there were no association leverage = 0.0168: the support is 0.0168 (9.0 cases) greater than if there were no association

As regras 1 e 2, relacionadas, mostram associaes que partida no seriam muito bvias. Neste caso em particular indiciam que um utilizador que procura domnio .EU acaba por visitar as pginas relacionadas com as outras extenses (.COM, .NET, etc). O processo inverso tambm se verifica.

A confiana (strength) elevada em ambas as regras.

Nas trs regras o Lift elevado. O Lift mede a informatividade de A relativamente a B. Se Lift=1 significa que A e B so independentes. Esta medida de interesse permite eliminar regras com confiana elevada mas com pouco interesse. Nesta perspectiva interessa ter valores de Lift superiores a 1.

32

Rede de agentes de suporte em e-business para PME

IAPMEI

6. Concluses
A concluso mais bvia neste trabalho que o processamento de grandes volumes de informao poder revelar-se complicada, exigindo recursos computacionais especiais. A hiptese de utilizao/implementao de um sistema Market Basket Analysis em tempo real poder ser extremamente complicada, exigindo recursos computacionais com elevado processamento. Aparte desta exigncia, os mtodos utilizados revelam-se extremamente teis na obteno de informaes sobre a forma como os visitantes de um site se comportam.

A rea do Web Usage Mining tem ainda um longo caminho a percorrer na optimizao das ferramentas disponveis e no estudo da navegabilidade dos sites.

Sendo a INTERNET uma rea em forte crescimento, onde muitas das empresas j presentes nesta rede comeam a entrar numa fase de maturidade, urge utilizar e implementar estes mtodos na obteno de solues tecnologicamente mais eficazes e lucrativas para as empresas.

Os algoritmos existentes actualmente para descoberta de regras de associao podero encontrar alguns problemas na sua execuo quando utilizados em grandes bases de dados. H j alguns estudos que analisam este problema e propem solues baseadas em amostras das bases de dados.

33

Rede de agentes de suporte em e-business para PME

IAPMEI

7. Referncias e contedos consultados


[1] EIRINAKI, Magdalini; VAZIRGIANNIS, Michalis: Web Mining for Web Personalization, Department of Informatics - Athens University of Economics and Business. Disponvel na Internet: http://www.db-net.aueb.gr/michalis/papers/tutorialpkdd_05.pdf

[2] MANNILA, Heikki; TOIVONEN, Hannu; e VERKAMO, A. Inkeri: Improved Methods for Finding Association Rules. Report C-1993-65, Department of Computer Science, University of Helsinki, February 1994. 20 pages. Disponvel na Internet: http://www.cs.helsinki.fi/TR/C-1993/65

[3] LO, Hing-Po; LU, Linda; CHAN, Miriam: Improving the Webdesign Mining Web Data at cityjob.com, Departmant of Management Sciences City University of Hong Kong, disponvel na Internet: http://fbweb.cityu.edu.hk/saskdc/contents/Announcement/Improving%20Web%20Desig n-talk2.ppt [4] WEBB, Geoffrey I. Efficient Search for Association Rules [online] Abril 2006, Disponvel na Internet: http://www.ir.iit.edu/~dagr/DataMiningCourse/Spring2001/Presentations/HANDOUTS _02.pdf [5] SAYIN, C.Emre: Detecting Potential Customers with Web Usage Mining, Disponvel na Internet: http://students.sabanciuniv.edu/~emres/websi/dataMinProj.doc

[6] The Unofficial Log http://www.logparser.com

Parser

Support

Site.

Disponvel

na

Internet:

[7] IISFAQ. Disponvel na Internet: http://www.iisfaq.com/Default.aspx?tabid=3117

[8] How To Use SQL Server to Analyze Web Logs. Disponvel na Internet: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q296085

34

Rede de agentes de suporte em e-business para PME

IAPMEI

[9] WEBB, Geoffrey I.: OPUS: An efficient admissible algorithm for unordered search, Journal of Artificial Intelligence Research, Deakin University, School of Computing and Mathematics Geelong, Vic, 3217, Australia. Disponvel na Internet:
http://www.citebase.org/cgi-bin/fulltext?format=application/pdf&identifier=oai:arXiv.org:cs/9512101

35

Titulo Autor Contacto Curso Data

WEB USAGE MINING Manuel Jos Ferreira Monteiro manuelmonteiro@manuelmonteiro.eu e-Business para PME Dezembro de 2006

Anda mungkin juga menyukai