You are on page 1of 20

Aplicao de Regras de Associao para Minerao de Dados na Web

L. M. R. de Vasconcelos C. L. de Carvalho

Technical Report - RT-INF_004-04 - Relatrio Tcnico November - 2004 - Novembro

The contents of this document are the sole responsibility of the authors. O contedo do presente documento de nica responsabilidade dos autores.

Instituto de Informtica Universidade Federal de Gois


www.inf.ufg.br

Aplicao de Regras de Associao para Minerao de Dados na Web


Lvia Maria Rocha de Vasconcelos
lrocha@inf.ufg.br

Cedric Luiz de Carvalho


cedric@inf.ufg.br

Abstract. This paper discuss the use of Association Rules to get knowledge from Web. It gives an overview of the Knowledge Discovery in DataBases, specially the data mining step. It is also discussed, supercially, the introduction of semantic in the existing Web and its consequences to the data mining processes. Keywords: Data Mining, Association Rules, Apriori Algorithm, Web. Resumo. Este texto trata do uso de Regras de Associao para a obteno de conhecimento na Web. dada uma viso geral do processo de Descoberta de Conhecimento, especialmente a fase de Minerao de Dados. Tambm se discute, supercialmente, a introduo de semntica na Web atual e seus reexos no processo de minerao de dados. Palavras-Chave: Minerao de dados, Regras de Associao, Algoritmo Apriori,Web

1 Introduo
A Web a maior fonte de informao disponvel nos dias atuais. Entretanto, grande parte desta informao se encontra escondida no meio da gigantesca massa de dados que disponibilizada. Neste ambiente, muito importante que o usurio possa contar com ferramentas que busquem estes dados, de forma inteligente e automtica, e os transformem em conhecimento til. Neste contexto, surge a necessidade de se descobrir correlaes, padres e tendncias entre as informaes da Web: minerao de dados. A anlise sobre essa grande quantidade de dados armazenados pode ser feita usando-se tcnicas estatsticas, matemticas ou de reconhecimento de padres sobre os dados. A busca por informaes relevantes na Web ainda um problema, principalmente devido forma em que os dados encontram-se disponibilizados. Como a estruturao do seu contedo est voltada preferencialmente para o nvel de apresentao, isto , para a visualizao por seres humanos, a extrao de conhecimento por mquina complicada.

Bolsista de Iniciao Cientca - CNPQ / GEApIS/INF/UFG Orientador - GEApIS/INF/UFG

Aplicao de Regras de Associao para Minerao de Dados na Web

A estruturao semntica da Web uma possvel soluo para este problema. Este o propsito da Web Semntica. Alm da introduo de semntica, ferramentas de Inteligncia Articial, notadamente os agentes inteligentes de software, podem ser utilizadas de forma a tornar mais ecientes os processos de busca por informaes na Web. No decorrer deste texto, Web Semntica, Minerao de Dados e Minerao de Dados na Web sero tratados em detalhe. O restante deste texto se organiza da seguinte forma: a Seo 2 introduz os conceitos associados Web Semntica; a Seo 3 d uma viso geral a respeito de Minerao de Dados; a Seo 4 trata uma das principais tarefas de minerao de dados: associao; a Seo 5 traz explicaes sobre conceitos importantes para a implementao de Minerao de Dados no contexto da Web; nalmente, a Seo 6 apresenta a concluso, evidenciando a importncia do assunto e solues encontradas para solucionar os problemas existentes na Web atual.

2 Web Semntica
O acesso informao na Web, atravs de mecanismos automatizados, ainda bastante precrio, devido principalmente forma com que os dados encontram-se estruturados, j que estes esto orientados, em sua maioria, para o nvel de apresentao. A Web Semntica [9] uma evoluo da Web atual. Esta evoluo se d pela atribuio de semntica (signicado) aos recursos nela disponveis. Sua implementao permitir a construo de mecanismos muito mais ecientes do que os atualmente disponveis para a recuperao de informao. Na proposta de desenvolvimento da Web Semntica, sugerida uma arquitetura de 3 camadas de tecnologias e padres: Camada de Estrutura, Camada de Esquema (Ontologia) e Camada Lgica.

2.1 Camada de Estrutura


A camada de estrutura responsvel pela representao dos dados e de seus signicados. Nesta camada importante a conceitualizao de metadados. Estes podem ser considerados dados que descrevem o contedo, a estrutura, a representao e o contexto de um conjunto de dados. 2.1.1 Metadados Conforme j descrito anteriormente, os metadados podem ser caracterizados como informaes estruturadas sobre recursos de informao (artefatos ou servios) ou mais brevemente como dados sobre dados. Os metadados so utilizados para colaborar na identicao, descrio, localizao e gerenciamento de recursos na Web. Os metadados tm importante papel na representao e troca explcita de informaes na Web. Eles se dividem em Metadados Estruturais e Metadados Semnticos. Metadados Estruturais: Os metadados estruturais representam a informao que descrevem a organizao e estrutura dos dados gravados, que podem ser, por exemplo, informao do formato, dos tipos de dados gravados e relacionamentos sintticos entre os dados. Metadados Semnticos: Os metadados semnticos representam a informao sobre a semntica dos dados, ou seja, sobre seus signicados, alm do relacionamento entre seus

Aplicao de Regras de Associao para Minerao de Dados na Web

Tabela 1: Descritores do Padro Dublin Core [20] Campos Descrio Title Ttulo do recurso Author Pessoa ou organizao responsvel pela criao do contedo intelectual do recurso. Contributor Pessoa ou organizao que contribui intelectualmente na criao do recurso. (Ex.:editor, ilustrador, tradutor, etc). Publisher Identica a entidade responsvel por tornar o recurso disponvel. Date Data da criao ou publicao do recurso. Source Informao sobre os recursos que contriburam para a elaborao do recurso corrente. Relation Recursos que possuem relacionamentos com o recurso corrente. Description Descrio do contedo. Subject Tema do recurso. Type Forma como o contedo expresso (relatrio tcnico, dissertao, etc). Format Formato em que o recurso materializado (postScript, HTML, DOC, PDF, etc). Identier Possui o identicador nico do recurso. Language Idioma. Coverage Caractersticas espaciais ou temporais. Rights Informaes sobre os direitos autorais do recurso. signicados. Um exemplo de metadado semntico poderia ser o contedo semntico do valor de um dado, como unidades de medida e escala. Muitos padres para metadados tm sido denidos nos ltimos anos [15], de acordo com reas especcas para sua aplicao. Um exemplo o o padro Dublin Core [20], apresentado em uma reunio em Dublin no ano de 1995, com o objetivo de denir uma representao padronizada de metadados para a descrio de recursos eletrnicos. Este padro constitudo de um conjunto de 15 elementos de meta-informao (Tabela 1). Para que os dados sejam referenciados corretamente, necessria sua vinculao a contextos, de forma que seus signicados possam ser identicados sem ambigidades semnticas. As ontologias so um importante componente na diminuio destas ambigidades.

2.2 Camada de Esquema (Ontologia)


A camada esquema a responsvel por controlar os dados nos documentos, de forma que estes quem estruturados e bem denidos quanto ao seu signicado. nesta camada que ocorre a implementao, atravs do uso de linguagens como XML, RDF e OWL, da denio de relaes entre os dados (ontologias). 2.2.1 XML (eXtensible Markup Language) A linguagem XML surgiu como uma alternativa para a falta de estruturao dos documentos, sendo uma tecnologia fundamental para a expanso da Web Semntica. Uma linguagem de marcao, em geral, um mecanismo para identicar estruturas em um documento. A especicao de XML dene um padro para adicionar marcaes no texto [19].

Aplicao de Regras de Associao para Minerao de Dados na Web

A linguagem HTML, a mais amplamente utilizada na Web atual, no eciente para o propsito de estruturao dos dados, pois tm um nmero xo de tags, alm de no promover uma separao completa de dados e suas formataes. Esta caracterstica de HTML diculta a extrao dos dados contidos em pginas escritas nesta linguagem, j que os mesmos esto misturados com informaes de formatao. 2.2.2 RDF (Resource Description Framework) O RDF uma recomendao do W3C (World Wide Web Consortium) para a denio e o uso de metadados. O RDF a base para o processamento de metadados e providencia a interoperabilidade entre aplicaes, que trocam informaes compreensveis na Web. O uso de metadados na Web, expressos em RDF, pode facilitar muito a recuperao e o processamento de dados por mquina. Para melhor compreender RDF, necessrio familiaridade com os conceitos a seguir: Resource (Recurso): Recurso tudo que descrito atravs de expresses RDF. Um recurso pode ser um documento eletrnico, uma coleo, uma pgina Web, entre outros. Os recursos so sempre nomeados atravs de URIs (Uniform Resource Identier) que permitem a introduo de identicadores para qualquer entidade. Property (Propriedade): um atributo ou caracterstica que descreve o recurso. Uma propriedade representa tambm o relacionamento entre recursos. Statement (Expresso/Armao): Corresponde associao de um recurso especco, uma propriedade e um valor desta propriedade para este recurso. Uma declarao dividida em sujeito, predicado e objeto. O objeto desta declarao pode ser um recurso ou um literal. 2.2.3 Ontologia Uma ontologia fornece uma conceitualizao de um domnio especco de problema, fornece um acordo comum de vocabulrios para que os dados sejam referenciados. Assim, serve como uma base comum para a representao de dados e metadados. Uma ontologia agrega uma larga parte de domnio de conhecimento para cada rea em particular e uma das principais motivaes para sua construo a possibilidade de compartilhar e reutilizar conhecimentos, denidos de uma forma genrica, entre comunidades e aplicaes. Para que as ontologias possam desempenhar seu papel de integrar semntica Web, faz-se necessrio que cada documento disponibilizado na rede possua metadados descritos sob a padronizao de alguma ontologia (uma ontologia pode ser representada como uma hierarquia de conceitos[4]). Os domnios de conhecimento especicados numa ontologia, quando aplicados recuperao de informao, tm a nalidade bsica de servir como esquemas conceituais que daro suporte semntico s consultas. Uma grande vantagem desse contexto que a ontologia prov uma interpretao semntica unicada para diferentes representaes de dados semi-estruturados referentes a um mesmo domnio [14].

2.3 Camada Lgica:


A camada lgica composta por um conjunto de mecanismos que permitem a realizao de inferncias. Agentes inteligentes podem atuar nesta camada, utilizando regras de inferncia,

Aplicao de Regras de Associao para Minerao de Dados na Web

para localizar, relacionar e processar informaes. As regras de inferncia so mecanismos que possibilitam inferir, a partir de asseres vlidas, expresses vlidas, isto , consistentes com todas as interpretaes possveis. Um exemplo de regra de inferncia (Modus Ponens) pode ser visto a seguir. Dadas as asseres, consideradas verdadeiras: Todo homem mortal, Scrates homem Ento, pode-se concluir que: Scrates mortal.

2.4 Agentes Inteligentes


Agentes inteligentes [16] so programas de computador desenvolvidos para auxiliar o usurio na realizao de alguma tarefa ou atividade. Dentre as propriedade que estes podem apresentar, destacam-se autonomia, personalizao, reatividade e comunicabilidade. Hoje, a aplicao dos agentes inteligentes pode ser observada na Educao a Distncia (EAD), no comrcio eletrnico, na medicina, na rea de entretenimento (jogos virtuais), entre outras. A maioria das contribuies do paradigma de desenvolvimento de agentes vem da rea de Inteligncia Articial. A Web, por seu carater distribudo e heterogneo, constitui-se em um ambiente particularmente adequado aplicao da tecnologia de Agentes Inteligentes, especialmente na recuperao de Informaes. Estes agentes podem ser utilizados especialmente em tarefas de Minerao de Dados, conforme discutido nas prximas sees.

3 Minerao de Dados
A minerao de dados ou data mining considerada o ncleo de processo de descoberta de conhecimento em banco de dados (Knowledge Discovery in Databases - KDD). Ela consiste no processo de analisar grandes volumes de dados sob diferentes perspectivas, a m de descobrir informaes teis que normalmente no esto visveis ou que dicilmente so encontradas. Segundo Fayyad [10], pioneiro em KDD, Minerao de Dados um passo no processo de KDD que consiste na aplicao de anlise de dados e algoritmos de descobrimento que produzem uma enumerao de padres (ou modelos) particular sobre os dados. A Tabela 2 mostra a origem e evoluo da minerao de dados, evidenciando o progresso na questo comercial, as tecnologias disponveis para a realizao das tarefas, os principais fornecedores e as caractersticas que marcaram cada fase dessa evoluo.

3.1 Descrio do Processo de Descoberta de Conhecimento em Bancos de Dados


Segundo Han e Kamber [13], o processo de descoberta de conhecimento em bancos de dados (KDD) dividido em sete grandes etapas: limpeza dos dados, integrao dos dados, seleo dos dados, transformao dos dados, minerao dos dados, avaliao dos modelos encontrados e apresentao do conhecimento adquirido.

Aplicao de Regras de Associao para Minerao de Dados na Web

Etapa Evolucionria Coleo de dados (1960s) Acesso a dados (1980s)

Data Warehousing e Suporte Deciso (1990s) Minerao de Dados

Tabela 2: Quadro de evoluo da Minerao de Dados [3] Questo Comercial Tecnologias Dis- Fornecedores Caractersticas ponveis de Produtos Qual foi minha re- Computadores, IBM, CDC Retrospectiva, ceita total nos lti- tas e discos distribuio de mos cinco anos? dados esttica Quais foram as Bancos de da- Oracle, Sy- Retrospectiva, vendas unitrias dos relacionais base, Infor- distribuio de de So Paulo em (RDBMS), Struc- mix, IBM, dados dinmica a maro? tured Query Microsoft nvel de registros Language (SQL), ODBC Quais foram as On-Line Analy- Pilot, Retrospectiva, vendas unitrias tical Processing Comshare, Ar- distribuio dide So Paulo em (OLAP) bor, Cognos, nmica de dados maro? Avalie Microstrategy mltiplos nveis tambm Campinas. . . Qual a previso Algoritmos Pilot, Prospectiva, dispara as vendas avanados, Lockheed, tribuio de inde Campinas no computadores IBM,SGI, e formao ativa. prximo ms? Por multiprocessaoutras (novas qu? dos, banco de empresas) dados massivos.

A seqncia de passos do KDD se inicia com a seleo de um conjunto de dados ou amostra dos dados com os quais o processo de descoberta ser realizado. Estes dados podero passar por uma etapa de pr-processamento onde sero tratados problemas como rudos e dados incompletos. O passo seguinte consiste na tarefa de transformao dos dados, onde podero ser empregadas operaes de projeo e reduo. Nesta etapa pode-se reduzir o nmero de variveis sob considerao ou encontrar representaes dos dados que no variam. Aps as etapas descritas, os dados esto prontos para serem processados pela principal tarefa dentro de todo o processo: a minerao. So aplicados algoritmos, muitas vezes de forma repetitiva, que procuram por padres e regras escondidos nos dados. Por m, as informaes descobertas so interpretadas e avaliadas, muitas vezes na forma de grcos ou relatrios, selecionando os conhecimentos teis de todo este processo [11]. Uma seqncia natural neste processo de busca da informao poderia ser:

Dados Informao Conhecimento Deciso.

A Figura 1 demonstra esse processo. Atualmente, a capacidade do ser humano de coletar dados e armazen-los muito maior do que a sua capacidade de entend-los, e atravs deles, obter conhecimento til. O processamento das informaes tornou-se cada vez mais difcil de ser realizado, devido ao grande volume de dados existente. As ltimas dcadas vm mostrando a necessidade de um processo

Aplicao de Regras de Associao para Minerao de Dados na Web

Figura 1: Etapas do processo de descoberta de conhecimento em Bancos de Dados [10]. automatizado para a descoberta de padres interessantes e desconhecidos em bancos de dados reais. A seguir, sero conceituadas as tarefas mais relevantes no processo de minerao de dados para a descoberta de informaes. 3.1.1 Tarefas Com o notvel crescimento da quantidade de dados armazenados em meios magnticos, a anlise individual dos dados torna-se invivel e pouco proveitosa. Neste sentido, surge a necessidade de se extrair informaes de conjuntos de dados a partir do uso de tarefas da minerao de dados. As tarefas principais de busca de informao implcita so: Agrupamento, Classicao e Associao. Agrupamento Agrupamento uma tarefa que procura segmentar populaes heterogneas em subgrupos ou segmentos homogneos. O processo de formao de grupos de objetos dentro de classes de objetos similares chamado agrupamento. Um grupo uma coleo de objetos de dados que so similares a um outro dentro do mesmo grupo [13]. Classicao A tarefa de classicao consiste em examinar as caractersticas de um objeto e enquadrlas em conjuntos pr-denidos. Consiste na generalizao e especializao de dados que servem para distinguir as classes de modo a predizer dados ou classes de registros no classicados automaticamente [17]. Alguns algoritmos que utilizam os conceitos da tarefa de classicao so: as regras de induo, as rvores de deciso e as redes neurais. Associao A tarefa de associao tem o intuito de identicar associaes entre registros de dados que, de alguma maneira, esto ou devem estar relacionados. Sua premissa bsica encontrar elementos que implicam na presena de outros em uma mesma transao [17]. Alguns algoritmos que utilizam os conceitos desta tarefa so as regras de associao e os padres seqenciais.

Aplicao de Regras de Associao para Minerao de Dados na Web

4 Minerao de Dados e Regras de Associao


Diferentes tipos de dados podem ser minerados [5, 7, 13, 21]. Dentre os diversos algoritmos que podem ser utilizados neste processo, como as regras de classicao, padres seqenciais e os segmentos de dados (clusters), destacam-se, por sua aplicabilidade, as regras de associao. Segundo Brusso [6], as regras de associao so padres descritivos que representam a probabilidade de que um conjunto de itens aparea em uma transao visto que outro conjunto est presente.

4.1 Regras de Associao


A tarefa associao tem como premissa bsica encontrar elementos que implicam na presena de outros elementos em uma mesma transao, ou seja, encontrar relacionamentos ou padres freqentes entre conjuntos de dados. O termo transao indica quais itens foram consultados em uma determinada operao de consulta. Tipicamente, regras de associao representam padres existentes em transaes armazenadas. Por exemplo, a partir de uma base de dados, na qual registram-se os itens adquiridos por clientes, uma estratgia de minerao, com o uso de regras de associao, poderia gerar a seguinte regra: {cinto, bolsa} {sapato}, a qual indica que o cliente que compra cinto e bolsa, com um determinado grau de certeza, compra tambm sapato. Este grau de certeza de uma regra denido por dois ndices: o fator de suporte e o fator de conana. A tecnologia de cdigo de barras permitiu s organizaes de varejo coletar e armazenar grande quantidade de dados referentes s compras realizadas por seus clientes, conhecidas como dados da cesta. Atravs do conhecimento desses dados, as organizaes dirigem seus processos de marketing e promovem estratgias de layout e catlogos que possam trazer vantagens a partir dos dados coletados. As bases de dados envolvidas nestes processos so muito grandes. Assim, necessrio que sejam utilizados algoritmos rpidos e ecientes. O problema pode ser formalizado como se segue [1]. Seja I = {I1 , I2 , I3 , ..., Im } um conjunto de atributos binrios chamados itens e seja T uma base de dados de transaes, onde cada t representada por um vetor binrio, com t[k] = 1 se t indica a compra do item Ik e t[k] = 0, caso contrrio. Existe uma tupla na base de dados para cada transao. Seja X um conjunto de itens em I. dito que a transao t satisfaz X se, para todos os itens Ik em X, T [k] = 1. Uma regra de associao [2] uma implicao da forma X = Y , onde X I, Y I, e X Y = . A regra X = Y vlida no conjunto de transaes T , com o grau de conana c, se c% das transaes em T que contm X tambm contm Y . A regra X = Y tem suporte s em T , se s% das transaes em T contm X Y . Se as condies forem satisfeitas, c% representar o fator de conabilidade e s% o fator de suporte.

4.2 Decomposio da Tarefa


O problema de se descobrir todas as regras de associao pode ser decomposto em duas partes: Encontrar todos os conjuntos de itens que possuam um suporte de transaes acima de um limite mnimo informado. O suporte para um conjunto de itens o nmero das transaes que contm este conjunto. So chamados de conjuntos de itens freqentes aqueles que tm suporte igual ou superior ao mnimo estabelecido.

Aplicao de Regras de Associao para Minerao de Dados na Web

Gerar as regras de associao a partir dos conjuntos de itens freqentes. Deve-se selecionar apenas as regras que possuam o grau de conana mnimo, correspondente conana_mnima. Assim, dado um conjunto de transaes, o problema de minerao por regras de associao est em gerar todas as regras que contenham o suporte e conana iguais ou maiores do que os valores mnimos determinados pelo usurio, referenciados como suporte_mnimo e conana_mnima, respectivamente. O suporte de uma regra X = Y , onde X e Y so conjuntos de itens, dado pela seguinte frmula: F reqencia de X e Y u (1) T otal de T O numerador se refere ao nmero de transaes em que X e Y ocorrem simultaneamente e o denominador ao total de transaes. A sua conana dada pela seguinte frmula: Suporte = Conana = F reqencia de X e Y u , F reqencia de X u (2)

O numerador se refere ao nmero de transaes em que X e Y ocorrem simultaneamente. O denominador se refere quantidade de transaes em que o item X ocorre. O suporte (Equao 1) pode ser descrito como a probabilidade de que uma transao qualquer satisfaa tanto X quanto Y, ao passo que a conana (Equao 2) a probabilidade de que uma transao satisfaa Y, dado que ela satisfaz X. A seguir ser dado um exemplo concreto de como as regras de associao funcionam na descoberta de padres de acesso aos endereos de um servidor Web, atravs da anlise de arquivos de log. Arquivos de log so responsveis por armazenar informaes importantes a respeito dos interesses dos usurios e so obtidos atravs do registro dessas informaes, relativas buscas realizadas ao longo de uma conexo. A Tabela 3 representa um exemplo de um arquivo de log referente a uma busca na base de dados de em um supermercado [11]. As linhas correspondem s transaes e as colunas aos itens. E assim, a ausncia de um item representada pelo valor 0 enquanto que sua presena representada pelo valor 1. Para o exemplo em questo, o suporte_mnimo especicado de 0.3 (30%) e a conana_mnima 0.8 (80%). Tabela 3: Entrada de dados para a descoberta de regras de associao. Leite Caf Cerveja Po Manteiga Arroz Feijo Transao 1 0 1 0 1 1 0 0 Transao 2 1 0 1 1 1 0 0 Transao 3 0 1 0 1 1 0 0 Transao 4 1 1 0 1 1 0 0 Transao 5 0 0 1 0 0 0 0 Transao 6 0 0 0 0 1 0 0 Transao 7 0 0 0 1 0 0 0 Transao 8 0 0 0 0 0 0 1 Transao 9 0 0 0 0 0 1 1 Transao 10 0 0 0 0 0 1 0

Aplicao de Regras de Associao para Minerao de Dados na Web

10

Considerando-se que X = {CAF} e Y = {PO}, pode-se calcular o suporte e a conana para o conjunto {CAF, PO}. Ao ser feita uma anlise da Tabela 4, verica-se que apenas nas transaes 1, 3 e 4, estes itens aparecem com valor 1 simultaneamente. Desta forma, o numerador da Equao 1 assume o valor 3, que o nmero correspondente quantidade de transaes nas quais estes itens tm valor igual a 1 simultaneamente. O denominador ser 10, pois este o nmero total de transaes ocorridas. Logo, Suporte = 3/10 = 0.3. O clculo da conana para este conjunto de itens feito da seguinte forma: o numerador da Equao 2 obtido de maneira semelhante ao numerador da Equao 1, logo seu valor 3. O denominador equivale quantidade de transaes em que os elementos de X tm valor 1. Assim, o denominador assume o valor 3. Portanto, Conana = 3 / 3 = 1. Desta maneira, pode-se obter a regra {CAF} = {PO}, com suporte e conana iguais ou superiores ao mnimo especicado. O processo para a obteno de regras como esta discutino da subseo a seguir. Um dos algoritmos mais utilizados para a construo do conjunto de itens frenqentes, o algoritmo Apriori, discutido a seguir. 4.2.1 Algoritmo Apriori O algoritmo Apriori [1] (Algoritmo 1) um dos algoritmos mais conhecidos para minerao por regras de associao. O algoritmo emprega busca em profundidade e gera conjuntos de itens candidatos (padres) de k elementos a partir de conjuntos de itens de k 1 elementos. Os padres no freqentes so eliminados. Toda a base de dados rastreada e os conjuntos de itens freqentes so obtidos a partir dos conjuntos de itens candidatos. Algoritmo 1: Algoritmo Apriori F1 {Conjuntos de itens freqentes de tamanho 1} /* Na primeira passagem k = 1 */ para k = 2; Fk1 != vazio; k++ faa /* Na segunda passagem k = 2 */ Ck apriori-gen (Fk1 ) /* Novos candidatos */ para todo transao t T faa Ct subconjunto (Ck , t) /* Candidatos contidos em t */ para todo candidato c Ct faa c.contagem++ m Fk {c Ck |c.contagem M inSup} m m Resposta F Reunio de todos os Fk

2 3 4

5 6 7 8 9 10 11

1) Fk - conjunto de itens freqentes de tamanho k (conjunto com k elementos) que atende o suporte mnimo estabelecido. Cada membro deste conjunto tem dois campos. O primeiro conjunto de itens e o segundo um contador para o suporte. 2) Ck - Conjunto de itens candidatos de tamanho k. Cada membro deste conjunto tem dois campos. O primeiro conjunto de itens e o segundo um contador para o suporte. A seguir o algoritmo Apriori tratado mais detalhadamente.

Aplicao de Regras de Associao para Minerao de Dados na Web

11

4.2.2 Explicao do Algoritmo O algoritmo principal (Apriori) faz uso de duas subrotinas: apriori-gen, para gerar o conjunto de itens candidatos (conjunto composto pelos valores correspondentes ao suporte de cada item). Neste conjunto so considerados todos os itens, independente deles atenderem o suporte_mnimo especicado) e eliminar aqueles que no so freqentes, e a subrotina subconjunto, utilizada para extrair as regras de associao. De forma geral, a sua meta procurar por relaes entre os dados enquanto eles so separados. Simultaneamente, o algoritmo calcula o valor correspondente conana e ao suporte. O algoritmo trabalha sobre uma base de transaes em busca de itens freqentes, ou seja, aqueles que possuem suporte maior ou igual ao suporte mnimo. Desta forma, como entrada, necessrio fornecer um valor correspondente ao suporte_mnimo e outro correspondente conana_mnima, alm de um arquivo de itens e transaes. O algoritmo executado da seguinte forma: Na primeira passagem, o suporte para cada item individual (conjuntos-de-1-item) contado e todos aqueles que satisfazem o suporte_mnimo so selecionados, constituindo-se os conjuntos-de-1-item freqentes (F1 ). Na segunda iterao, conjuntos-de-2-itens candidatos so gerados pela juno dos conjuntos-de-1-item (a juno feita atravs da funo apriori-gen) e seus suportes so determinados pela pesquisa no banco de dados, sendo, assim, encontrados os conjuntosde-2-itens freqentes. O algoritmo Apriori prossegue iterativamente, at que o conjunto-de-k-itens encontrado seja um conjunto vazio. A funo apriori-gen toma como argumento Fk1 (conjuntos-de-(k-1)-itens) e retorna o conjunto dos conjuntos de todos os conjuntos-de-k-itens. Primeiramente, no passo de juno, os elementos de Fk1 so combinados, de acordo com o Algoritmo 2. Algoritmo 2: Funo Apriori-gen: passo de juno inserirEm Ck selecione p.item1 , p.item2 , ..., p.itemk1 , q.itemk1 de Fk1 p, Fk1 q onde p.item1 = q.item1 , ..., p.itemk2 = q.itemk2 , p.itemk1 < q.itemk1 A seguir, ocorre o passo de poda, todos os conjuntos de itens c Ck , tal que algum conjunto-de-(k-1)-itens de c no est em Fk1 , so eliminados, de acordo com o Algoritmo 3. Algoritmo 3: Funo Apriori-gen: passo de poda para todo conjuntos de itens c Ck faa para todo subconjuntos-de-(k-1)-itens s de c faa se s Fk1 ento / remova c de Ck m m m

Aplicao de Regras de Associao para Minerao de Dados na Web

12

A seguir, ser dado um exemplo prtico da execuo do algoritmo tendo como base de dados as transaes presentes na Tabela 4, onde ocorrem 5 itens. O valor 1 corresponde presena do item em determinada transao e o valor 0" corresponde ausncia do mesmo. Para o exemplo em questo, o suporte_mnimo considerado de 0.2 (20%). Tabela 4: Transaes efetuadas na Base de Dados. Item 1 Item 2 Item 3 Item 4 Item 5 Transao 1 1 1 0 0 1 Transao 2 0 1 0 1 0 Transao 3 0 1 1 0 0 Transao 4 1 1 0 1 0 Transao 5 1 0 1 0 0 Transao 6 0 1 1 0 0 Transao 7 1 0 1 0 0 Transao 8 1 1 1 0 1 Transao 9 1 1 1 0 0 Transao 10 0 0 0 0 0 A Tabela 5 formada pelo conjunto de itens candidatos, em que k = 1, ou seja, cada conjunto possui apenas 1 elemento. A segunda coluna desta tabela contm os valores dos suporte correspondentes a cada item. Como exemplo, para o Conjunto {1}, o suporte calculado por 6/10, onde 6 o nmero de transaes em que o Item 1 est presente, e 10 o total de transaes. Tabela 6: Conjunto de itens de tamanho 1 que atendem o suporte mnimo Conjunto Suporte 1 0.6 2 0.7 3 0.6 4 0.2 5 0.2

Tabela 5: Conjunto de itens de tamanho 1 Conjunto Suporte 1 0.6 2 0.7 3 0.6 4 0.2 5 0.2

A Tabela 6 representa o conjunto F1 , o qual formado selecionando-se, dentre os conjuntos candidatos em C1 , aqueles que atendem o suporte_mnimo especicado. O conjunto C2 (Tabela 7) ser formado a partir da juno (combinao) dos itens de F1 . No algoritmo, a combinao entre os itens feita pela funo apriori_gen. Esta juno se d gerando-se combinaes dos elementos de F1 , dois a dois, onde o primeiro deles sempre menor que o segundo. O suporte para os novos conjuntos formados so obtidos pela aplicao da Equao 1 aos dados da Tabela 4. Para o caso do conjunto {1,2}, o valor do suporte 4 (nmero de transaes que contm os Itens 1 e 2 simultaneamente), dividido por 10 (nmero total de transaes). Portanto, o suporte para este conjunto 0.4. Os elementos de C2 que no obtiverem suporte mnimo no sero considerados freqentes e, portanto, no faro parte do conjunto F2 (Tabela 8). A partir de F2 ser formado o conjunto C3 (Tabela 9), pela aplicao da funo apriori_gen que produzir conjuntos de tamanho 3. Deve ser observado que esta funo gera novos

Aplicao de Regras de Associao para Minerao de Dados na Web

13

Tabela 7: Conjunto de itens de tamanho 2 Conjunto Suporte 1, 2 0.4 1, 3 0.4 1, 4 0.1 1, 5 0.2 2, 3 0.4 2, 4 0.2 2, 5 0.2 3, 4 0 3, 5 0.1 4, 5 0

Tabela 8: Conjunto de itens de tamanho 2 que atendem o suporte mnimo Conjunto Suporte 1, 2 0.4 1, 3 0.4 1, 5 0.2 2, 3 0.4 2, 4 0.2 2, 5 0.2

conjuntos a partir de dois conjuntos de dois elementos nos quais os primeiros elementos so iguais e o segundo elemento do segundo par maior que o segundo elemento do primeiro par. Por exemplo, os pares {1,2} e {1,3} geram a tripla {1,2,3} e os pares {1,2} e {1,5} geram a tripla {1,2,5}. Os conjuntos {2,3,4} e {2,3,5} so eliminados no passo de poda, uma vez que os conjuntos {3,4} e {3,5} no fazem parte de F2 . Tabela 9: Conjunto de itens de tamanho 3 Conjunto Suporte 1, 2, 3 0.2 1, 2, 5 0.2 2, 3, 4 0 2, 4, 5 0

Tabela 10: Conjunto de itens de tamanho 3 que atendem o suporte mnimo Conjunto Suporte 1, 2, 3 0.2 1, 2, 5 0.2

Em seguida gera-se C4 (Tabela 11), os valores dos suportes so vericados e forma-se o conjuntoF4 que, no caso, um conjunto vazio, pois o conjunto C4 {1,2,3,5} no possui o suporte mnimo exigido. Tabela 11: Conjunto de itens de tamanho 4 Conjunto Suporte 1, 2, 3, 5 0.1

4.2.3 Obteno das Regras de Associao Aps a determinao dos conjuntos de itens freqentes F , pode-se obter as regras de associao. Deve-se observar que cada item freqente um conjunto de k itens. Para cada item freqente Y = {I1 I2 ...Ik } de F , com k 2, pode-se gerar todas as regras (no mximo k regras) que usam itens do conjunto I1 , I2 , ..., Ik . O antecedente de cada uma das regras ser o subconjunto X de Y tal que X tem k 1 itens, e o conseqente ser o item Y X. Considerando-se novamente o exemplo apresentado anteriormente, pode-se gerar as regras de associao referentes aos conjuntos obtidos. Para isto, necessrio encontrar quais conjuntos de itens atendem a conana mnima. Para o exemplo em questo, ser considerada uma conana mnima de 50% ou 0,5.

Aplicao de Regras de Associao para Minerao de Dados na Web

14

Realizando-se o clculo da conana para os conjuntos de itens freqentes, tem-se que todos os valores do conjunto F1 possuem conana igual a 1 (a frmula para o clculo da conana foi descrita na Subeo 4.2), logo atendem a conana mnima estabelecida. As regras referentes so triviais, da forma A A. Para o conjunto F2 e para o conjunto F3 , tem-se regras de associao da Tabela 12, que atendem ao grau de conana mnima. Tabela 12: Regras de Associao referentes aos conjuntos que atendem a conana mnima L Regras Conana 1, 2 1 2 0,67 1, 3 1 3 0,67 2, 3 2 3 0,57 A prxima seo apresentar, detalhadamente, o tema Minerao de Dados na Web.

5 Minerao de Dados na Web


A Web , atualmente, a maior fonte de informao eletrnica disponvel. A abundncia de informaes e recursos que ela oferece, estimulou o desenvolvimento de ferramentas automticas para a obteno de informaes, principalmente baseadas em tcnicas de minerao de dados. A minerao de dados na Web vem sendo estudada desde meados de 1996, mas tem realmente ganhado importncia nestes ltimos anos. Ela pode ser conceituada como a descoberta e anlise inteligente de informaes teis da Web. Os principais fatores que contriburam para o crescimento e importncia da minerao da Web foram os seguintes: O aumento das transaes comerciais na Web, que motivaram o desenvolvimento de tcnicas para a minerao de uso (Seo 5.1), pois atravs delas os stios de venda puderam identicar pers dos compradores para montarem melhores estratgias de venda e marketing; O desenvolvimento da Web Semntica (Seo 2) e da tecnologia dos agentes da informao, onde as tcnicas de minerao na Web so utilizadas. Desta forma, os servios da Web podero tornar-se entidades dotadas de comportamento autnomo e comunicar-se atravs de uma linguagem comum. A minerao de dados na Web ser uma ferramenta crucial a ser utilizada pelos agentes e servios nessa viso da Web, pois ela os ajudar em vrias tarefas, dentre as quais esto busca por informaes, personalizao e talvez at como mecanismo de aprendizado.

5.1 Ferramentas de descoberta de conhecimento na Web


Para promover a pesquisa e busca de informaes na Web e o atendimento dos interesses, tanto para os usurios quanto para os criadores e mantenedores da Web, vem surgindo, cada vez mais, a necessidade de criao e utilizao de ferramentas inteligentes e mais capacitadas para o retorno de conhecimento valioso a quem o procura. Desta forma, estas ferramentas de descoberta de conhecimento na Web foram classicadas por Cooley [8], como ferramentas de minerao do contedo, de minerao do uso da Web ou de minerao da estrutura da Web. O conceito especco de cada um destes tipos de ferramenta fornecido a seguir.

Aplicao de Regras de Associao para Minerao de Dados na Web

15

Minerao do Uso da Web A minerao do uso da Web pode ser denida como sendo a descoberta automtica de padres de acesso dos usurios aos servidores que disponibilizam informaes na rede. Como as organizaes constroem os seus stios da forma que seus projetistas consideram mais apropriada para os seus visitantes, a coleta e posterior anlise dos dados referentes aos seus acessos podem esclarecer a natureza do trfego, auxiliando na compreenso do comportamento dos usurios de forma a vericar se o stio est ecientemente projetado e organizado. Minerao do Contedo da Web A minerao do contedo da Web abrange as ferramentas que efetuam recuperao inteligente de informaes ou aquelas que abstraem a organizao dos dados semi-estruturados contidos na Web. Algumas dessas ferramentas fazem uso de agentes inteligentes enquanto outras fazem uso de conceitos baseados em bancos de dados. De uma forma ou de outra garantida uma busca mais eciente ou uma estruturao de mais alto-nvel dos dados na Web. Minerao da Estrutura da Web Enquanto na minerao do contedo da Web o interesse se encontra no que h dentro dos documentos, na minerao de estrutura, o interesse est nas informaes que existem de forma implcita entre os documentos. Esta categoria de minerao envolve a minerao da estrutura que h por trs da interligao entre os documentos da Web. Seu principal foco est nos os vnculos de hipertexto que liga os documentos. 5.1.1 Regras de Associao na Web As regras de associao so o mais novo e mais eciente entre os tipos comuns de padres em minerao de dados, possuindo, portanto, muitas aplicaes potenciais a serem exploradas. Uma destas aplicaes est na anlise do registro dos acessos aos servidores que disponibilizam documentos na Web. medida que os usurios interagem com os portais so fornecidos dados sobre estes usurios e sobre como eles respondem ao contedo oferecido [12]. A partir destes dados, podese descobrir de onde eles vm, quais pginas visitaram, quando e quanto tempo dispenderam na visita, etc. Pode-se ainda promover a recuperao de informaes, atravs da minerao de contedo da Web. Assim, estes dados podem ser coletados, seja atravs do arquivo de log convencional do servidor HTTP ou por meio de mecanismos alternativos. Com o passar do tempo, gerado um volume considervel de dados que podem auxiliar na compreenso do comportamento dos usurios e na melhor organizao e estruturao dos recursos oferecidos aos mesmos. Existe disponvel uma grande quantidade de ferramentas, tanto comercialmente como de domnio pblico, para a anlise estatstica do acesso s pginas hospedadas em um servidor [18]. Estas ferramentas oferecem informaes como contagem de acessos por pgina, por dia da semana ou do ms, volume trafegado, entre outros. Devido s caractersticas dos hiperdocumentos que esto disponibilizados na Web, onde cada usurio pode optar por uma srie de alternativas para a navegao e interagir de forma pouco previsvel, estas estatsticas simples no possuem a profundidade necessria para completa percepo da utilizao do servidor [22] e a compreenso do perl dos usurios.

Aplicao de Regras de Associao para Minerao de Dados na Web

16

5.1.2 Exemplo do uso de Regras de Associao Sistemas de comrcio eletrnico, normalmente, usam pginas da Web como vitrines para seus produtos e servios. Clientes podem visit-las e realizar transaes, como comprar produtos e/ou servicos. A minerao dos dados coletados por estes sistemas de comrcio eletrnico pode fornecer grande quantidade de informaes valiosas originadas do comportamento do consumidor e a qualidade das estratgias de negcio pode ser melhorada. Por exemplo, a partir da minerao de um repositrio de dados, pode-se extrair regras de associao como as seguintes: 55% dos usurios que acessaram a pgina www.inf.ufg.br tambm acessaram a pgina www.ufg.br; 30% dos usurios que acessaram a pgina www.lojax.com.br/promoes.html compraram um produto na pgina www.lojax.com.br/pedido.html. Um outro exemplo interessante o uso de regras de associao em sistemas para ensino a distncia. Pode-se, por exemplo, identicar padres comportamentais de alunos em um curso de ensino a distncia tais como: 70% dos alunos que permaneceram um tempo acima de T s em uma mesma pgina X, em seguida, consultaram a pgina Y ; ou alunos que consultaram a pgina do dicionrio de ingls mais que 30 vezes no dia acabaram por desistir do curso. 5.1.3 Minerao de Dados e a Web Semntica Os resultados dos processos de minerao de dados podem ser muito ampliados quando esta aplicada sobre dados qualicados por metadados. Neste caso, o uso de contagens (estatsticas), elemento chave na minerao de dados pode ser muito enriquecido com o acrscimo de ltros semnticos. O uso de ltros semnticos permite a obteno de regras de associao mais direcionadas para contextos especcos. Como se pode ver na Figura 1, a minerao de dados apenas um passo na Descoberta do Conhecimento. A Web Semntica pode ser considerada com um grande armazm de dados (datawarehouse). A semntica aplicada aos dados, por meio de metadados e ontologias, permite que as fases de seleo, pr-processamento e transformao possa ser automaticamente tratada por mecanismos, como agentes inteligentes, de forma a tornar todo o processo muito mais simples e eciente.

6 Concluso
A partir do que foi exposto, pode-se perceber que a Web atual possui uma grande quantidade de problemas, pelo fato de guardar um enorme volume de dados que no se encontram bem estruturados. Por este motivo, a anlise automatizada das informaes que esto contidas nestes dados bastante complicada. Como a capacidade de armazenar dados excede a capacidade de recuperar informaes, surge a necessidade de estruturar os dados de forma que eles no se voltem apenas para o nvel de apresentao, ou seja, importante atribuir signicados a eles. Esta a proposta da Web Semntica, cuja inteno principal associar semntica aos dados contidos na Web. Para que a Web atual se estenda com a implantao da Web Semntica, necessrio promover a estruturao dos seus dados atravs do uso de linguagens como XML, RDF e OWL,

Aplicao de Regras de Associao para Minerao de Dados na Web

17

que so consideradas as mais ecientes neste contexto. Vale salientar que metadados e ontologias so imprescindveis nesta construo, por se tratarem de conceitos bsicos e de grande relevncia para a Web Semntica. Com a efetiva implantao de uma Web onde os recursos esto semanticamente especicados, a descoberta de conhecimento neste ambiente torna-se- muito mais facilitada, uma vez que mecanismos automatizados podero ser utilizados de forma mais eciente. Desta forma, a Minerao de Dados, um processo interativo que utiliza tcnicas de anlise de dados para descobrir padres e relacionamentos entre esses dados poder produzir resultados muito mais precisos. As Regras de Associao, com a aplicao do algoritmo Apriori so ferramentas muito teis, que tm sido amplamente aplicadas no contexto de dados estruturados, podem tambm ser aplicadas sobre dados armazenados em formatos no homogneos (estruturados, semiestruturados, ou no estruturados) como ocorre na Web, de forma a produzir relaes entre os diversos recursos disponveis nesse ambiente. Com a especicao semntica destes recursos os processos de preparao dos dados para a minerao tornam-se simplicados, uma vez que esta especicao, de certa forma, uniformiza a descrio destes recursos.

7 Agradecimento
Profa. Dra. Ana Paula Laboissire Ambrsio pela avaliao do presente texto e pelas sugestes feitas, as quais muito contribuiram para a melhoria do texto original.

Referncias
[1] AGRAWAL, R; IMIELINSKI, T; SWAMI, A. Mining Association Rules between Sets of Items in Large Databases. In: ACM SIGMOD CONFERENCE ON MANEGEMENT OF DATA, p. 207 216, Washington, DC, USA, 1993. ACM Press - New York, NY, USA. [2] AGRAWAL, R; SRIKANT, R. Fast Algorithms for Mining Association Rules. In: Bocca, J. B; Jarke, M; Zaniolo, C, editors, PROC. 20TH INT. CONF. VERY LARGE DATA BASES, VLDB, p. 487499, Washington, DC, USA, 1215 1994. Morgan Kaufmann. [3] AYROSA, P. P. D. S. Fundamentos de Inteligncia Articial. http://www.dc. uel.br/~vhmanfredini/ia/DMining/Data\_mining.htm, acessado em Janeiro de 2003, 2003. [4] BENJAMINS, V; FENSEL, D; DECKER, S; PEREZ, A. G. (KA)2: Builiding Ontologies for the Internet. Journal of Human-Computer Studies (IJHCS), 51(1):687712, 1999. [5] BERRY, M. J; LINOFF, G. Data Mining Techniques: For Marketing, Sales, and Customer Support. John Wiley & Sons, Inc., New York, NY, USA, 1997. [6] BRUSSO, M. J. Access Miner: Uma proposta para a Extrao de Regras de Associao Aplicada Minerao do Uso da Web. Masters thesis, PPGC da UFRGS, Porto Alegre - RS, 2000. [7] CABENA, P; HADJINIAN, P.AND STADLER, R; VERHEES, J; ZANASI, A. Discovering Data Mining: From Concept to Implementation. Prentice Hall, 1997.

Aplicao de Regras de Associao para Minerao de Dados na Web

18

[8] COOLEY, R; MOBASHER, B; SRIVASTAVA, J. Web Mining: information and pattern Discovery on the World Wide Web. In: 9TH IEEE INTERNATIONAL CONFERENCE ON TOOLS WITH ARTIFICIAL INTELLIGENCE (ICTAI 97)., p. 558567, Newport Beach, CA, USA, 1997. [9] DE LIMA, J. C; DE CARVALHO, C. L. Uma Viso da Web Semntica. Technical Report INF_001/94, Instituto de Informtica - Universidade Federal de Gois, Maro 2004. Disponvel em http://www.inf.ufg.br/virtualbib/RT-INF_ 001-04.pdf. [10] FAYYAD, U; PIATETSKY-SHAPIRO, G; SMYTH, P. The KDD Process for Extracting Useful Knowledge from Volumes of Data. Communications of the ACM, 39(11):2734, November 1996. [11] FREITAS, A. A; LAVINGTON, S. H. Mining Very Large Databases with Parallel Processing. The Kluwer international series on advances in database systems. Kluwer Academic Publishers, Boston, 1998. [12] GREENING, D. R. Data Mining on the Web. Web Techniques, 5:4146, Janeiro 2000. [13] HAN, J; KAMBER, M. Data Mining: Concepts and Techniques. The Morgan Kaufmann series in data management systems. Morgan Kaufmann Publishers, San Francisco, USA, August 2001. [14] MELLO, R. D. S; DORNELES, C. F; KADE, A; BRAGANHOLO, V. D. P; HEUSER, C. A. Dados Semi-Estruturados. In: XV SIMPSIO BRASILEIRO DE BANCO DE DADOS / XIV SIMPSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE., p. 475 513, 2000. [15] MORI, A; DE CARVALHO, C. L. Metadados no Contexto da Web Semntica. Technical Report INF_002/94, Instituto de Informtica - Universidade Federal de Gois, Maro 2004. Disponvel em http://www.inf.ufg.br/virtualbib/RT-INF_ 002-04.pdf. [16] RUSSELL, P; STUART, N. Articial Intelligence. A Modern Approach. Prentice-Hall, 15th edition, 2004. [17] SCHUNEIDER, L. F. Minerao de Dados - Conceitos. Universidade Federal do Rio Grande do Sul, UFRS, 2002. [18] UNIVERSITY, U. Access Log Analysers. http://www.uu.se/Software/ Analyzers/Access-analyzers.html, acessado em Outubro de 2003, 2003. [19] WALSH, N. What is XML? http://www.xml.com, acessado em Novembro de 2003, 1998. [20] WEIBEL, S.AND GODBY, J; MILLER, E; DANIEL, R. Dublin Core Metadata Initiative. http://dublincore.org/, acessado em Janeiro de 2004, 1995. [21] WITTEN, I. H; FRANK, E. Discovering Data Mining: From Concept to Implementation. Morgan Kaufmann Publishers, San Francisco, Calif., USA, 2000.

Aplicao de Regras de Associao para Minerao de Dados na Web

19

[22] ZAIANE, O. R; XIN, M; HAN, J. Discovering Web Access Patterns and Trends by Applying OLAP and Data Mining Technology on Web Logs. In: ADVANCES IN DIGITAL LIBRARIES CONFERENCE (ADL 98), p. 19, Washington, DC, USA, 1998. IEEE Computer Society.

You might also like