Dezembro de 2006
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
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
igualmente
em
IAPMEI
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.
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).
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.
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]
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]:
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.
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).
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.
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
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:
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
http://www.rfc-editor.org/rfc/rfc2616.txt
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.
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.
IAPMEI
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:
IAPMEI
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.
IAPMEI
Apenas este comando eliminou 71096 registos. Procedeu-se de igual forma para outras extenses de ficheiros, nomeadamente .jpg, .css, .js
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.
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
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:
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
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.
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:
12
IAPMEI
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
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
IAPMEI
SELECT DISTINCT TO_LOWERCASE(cs-uri-stem) AS Url, Count(*) AS Hits FROM logs WHERE sc-status=200 GROUP BY Url ORDER BY Url
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
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
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
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
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
IAPMEI
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'
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
IAPMEI
- Se o item x e y esto presentes num grupo, o item z est igualmente presente em m% dos casos;
Exemplo:
Com:
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
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
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.
18
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
@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
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
IAPMEI
Mais informao sobre esta ferramenta e download de verso de testes poder ser obtida no endereo http://www.rulequest.com/MagnumOpus-info.html.
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
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
22
IAPMEI
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
IAPMEI
coverage = 0.01 coverage count = 1 support = 0.02 support count = 0 lift = 1 strength = 0.0
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
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
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
/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
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
Por exemplo:
27
IAPMEI
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
IAPMEI
The LPA Data Mining Toolkit supports the discovery of association rules within relational database www.lpa.co.uk/dtm.htm
29
IAPMEI
Purple Insight MineSet Suite Visualde data mining suite, inclui viasualizao de regras de associao www.purpleinsight.com/products/product6.shtml
30
IAPMEI
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
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.
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
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
IAPMEI
[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
Parser
Support
Site.
Disponvel
na
Internet:
[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
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
WEB USAGE MINING Manuel Jos Ferreira Monteiro manuelmonteiro@manuelmonteiro.eu e-Business para PME Dezembro de 2006